I could not resist – Founders at Work

Ein neues Buch für Martin.

Ich habe es mal wieder nicht geschafft an einem Buchladen vorbeizugehen ohne mir gleich ein Buch zu kaufen. Doch das Buch, dass ich mir gekauft habe, hat mich einfach zu sehr gereizt – es heisst “Founders at Work” und ist von Jessica Livingston.

In dem Buch geht es um die frühen Tage von diversen Startups und so wurden verschiedene Gründer befragt – unter anderem Steve Wozniak (Apple), Caterina Fake (Flickr) oder Joel Spolsky. Ich denke, ich werde nun immer mal ein Interview vor dem Einschlafen lesen und schauen wir mal ob ich danach schlauer bin.

New Readings: Edward Sciore – Database Design and Implementation

Due to my research at the HPI I’m currently working on implementing a database, well maybe not the next MySQL or DB2, but something more special. To get more familiar with this topic I just ordered the new Book of Edward Sciore called Database Design and Implementation. It is basically a learning book designed for students to learn how to implement and design a database, obviously. It arrived yesterday and in a few days / weeks I hope I can give you a review on that.

WhereIsMyCar for iPhone out now

It has been little bit more than two month since I bought the books about Objective-C and Cocoa and now it is tome to speak a little bit more about this. As you might know the basic idea was to develop iPhone applications and to get rich and famous with it, but … I think both wont happen, so I will release at least one of them now into public.

Where is my car is the first application to be seen in the wild and it tackles a typical day-to-day problem of anybody owning a car and living in a bigger city. If you take your car to work and you park it in the evening and you don’t have the luxury of owning a parking space you need to remember where you parked your car.

With Where is my car you can simply store the location of you car with a single touch and the next morning you only click the locate your car, view the map and you are there!

To install where is my car, please add the following source to your Cydia installer: http://www.delivr.at/cydia and search for WhereIsMyCar. Bugs and Feedback welcome

A new objective: Learn Objective-C

There are some rumors that say, you should learn a new programming language a year to stay fit and … Well for me, with the rise of the iPhone and my steady Mac usage it was clear that someday I must learn Objective C.

I tried it once a few month ago, but it was pain, really pain. So I left it until last week when I ordered two books on Objective C.


Programming Objective C

and


Cocoa

The first one is a complete introduction into programming including object oriented programming etc. This is a nice study to get the concepts and takes you about half a day to get through the first half of the book if you are an experienced programmer. The second half of the book is on the foundation framework in objective c which is the core library you normally use. It covers the most important topics and is quite usefull. The latter book is only on programming Cocoa und here mostly on programming graphical user interfaces than a more or less complete reference on the topic. The writing style is ok but not to expressive.

Cool Things

poseAs: allows you to somehow monkey patch a given class by subclassing it, overriding the wished method and posing as the super class. Other languages do open classes objective-c does poseAs:

Objective-C is dynamically typed – somehow. It allows you to pass the generic Id type to methods and functions, but dont expect the compiler to like this. Her will spit out a whole lot of warnings that things can go wrong.

Method missing is called forward and works as expected in Ruby or Python.

A Command Line Twitter

The question is how do you learn a language but without speeking it? Well you cant. So I needed a project that seems suitable to cope with the default API and is still easy enough to finish in a short time frame. The result was, that I started to develop a Twitter command line utility that allows you to post Twitter tweets directly from your favorite place to live.

Over all this worked quite well. Once you get used to XCode you can write code quite fast. But what stays with a wierd taste in your mouth is that it seems that you need your mouse to often and cant access the most actions via keyboard. For me as a heavy keyboard user this is bad.

The documentation is good, again once you get used to it. The way it is written directly reflects the categories defined in the protocols of the implementing classes. More example code is appreciated.

Conclusion

Objective-C is a nice language once you get used to writing lines as

 unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:
                    [NSData dataWithContentsOfFile:  [path stringByExpandingTildeInPath] ]];

with too much [ and ] on the road. But the way it is integrated in C is pretty neat and leaves you all your memory-optimization-pointer-role-play-games-in-the-dark possibilities. The other thin is the documentation problem. Coming from the Ruby side, you would expect things to work, which it does as well in the core libraries, but when it comes to simple tasks as opening a URL and posting data with Basic HTTP auth, it took me hours to get through the whole thing.

On the other hand the cool thing is that NSURLConnection uses in synchronous mode you current login keychain to see if you already have a basic auth stored and uses this. Unfortunatly this is not docuemented (at least I did not find it).

I will definitley develop further with Objective-C and Cocoa to build my first iPhone app and distribute it through the App store. ;) If I am further on the road I will write a new conclusion on the new things I learned.

DBLP Screencast

In my last post I introduced the dblp gem – a gem that loads dynamically bibtex files with sources from the DBLP server. To show you how easy it is, I created a two minute screencast for you. Enjoy.



DBLP gem Screencast from Martin on Vimeo.

DBLP Bibtex

This is for all you out there writing masters thesis, bachelor thesis, phd thesis or just your next book and you are using Bibtex for managing your bibliography. But like me you now the pain of maintaining the Bibtex file: Find the source you want to cite, than find the correct bibtex entry and than add this to your bibtex file.

Argh, thats not DRY style, hein?

Ok, pals, I have the solution for you: You know DBLP, the cool guys that enter all the conference proceedings in there system, so that you can browse for conference papers and find the correct bibtex. But everything you need to do now is to know the cite key and thats all. The rest is done by the hilarious dblp gem.

sudo gem install dblp

Use Case? You are looking for a paper of let’s say Dean Jacobs you enter this as a search criteria in DBLP and are redirected to the following page http://dblp.uni-trier.de/db/indices/a-tree/j/Jacobs:Dean.html. You click on the small 29 in the front of the first line to get to the bibtex source. But instead of copying the whole bibtex, just take the cite key and go on with your latex documnet like the following

This is a greate paper \cite{DBLP:conf/btw/JacobsA07}

Now as ususal start the build process with running latex and bibtex. Wow, no, not bibtex. You run

latex mydoc.tex
dblp mydoc

now. That’s way easier. What it does? It downloads the required bibtex entries for you and stores them in the file “dblp.bib”.

That is really great!!!

Thanks, I know ;)

For more options just hit dblp on the command line.

Musik again

Es ist Freitag abend und Livekonzert im Knaack. Berlin live! hatte geladen und auf der Gaesteliste standen die folgenden Bands. In der einen Ecke die Kindls und in der anderen Samavayo und was soll ich sagen? Es war super.

Die Kindls, eine aus Neukoelln und Wedding stammende Berliner Kombo machte den Anfang und probierte die Stimmung anzuheitzen. Man muss schon sagen, der Saenger hatt echt gerockt und eine super Stimme. Wenn die Musik so bleibt, dann sollte den Jungs eine gute Zukunft bevorstehen. Aber eine kleine Kritik gibt es dann doch: Jungs, werdet locker. Wenn ihr noch ne ordentliche Buehnenshow macht, rocken die Leute auch mehr mit. Nicht so verkrampft.

In der Zwischenpause wurde ein Ueberraschungsgast auf die Buehne gebracht – Ben Hamilton. Doch die drei Songs, die er gespielt hat reichten aus um die Stimmung noch weiter zu heben und alle auf das kommende vorzubereiten.

Nun war es endlich soweit Samavayo begannen mit ihrer akustischen Demonstration und mir bleibt nichts anderes uebrig als zu sagen – Unglaubglich geil. Die Jungs haben gerockt wie nichts gutes und den ganzen Laden zum Kochen gebracht. Nicht nur klingen Samavayo live genauso wie auf der Platte, sondern sie sind live und digitalisiert eine wahre Pracht. Wer nochmal die Moeglichkeit haben sollte die Jungs live zu sehen, von mir gibt es 100 Punkte.



An dieser Stelle vielen Dank an Tobi von popdis! fuer den Hinweis und den Eintritt :)

ps: Es ist schon lustig wie klein die Welt ist und man aufm Konzert einen Klassenkameraden aus der Schule trifft, der den Saenger von Samavayo von Arbeit kennt … tsss