Skip to main content


Showing posts from February, 2009

Startups in the Age of Web 2.0

The current generation of web startups reminds me a lot of rock bands in the 60ies. Before the transistor radio and the record player, there were many bands who toured the local dance-hall circuit, since life music was the only kind of entertainment possible. It was rather hard to get very rich as a musician. Records and radio changed the game - it became "winner takes it all". Suddenly the whole country could be swooning to the songs of a few long-haired boys from Liverpool for example - who became unimaginably rich and famous, where many unnamed musicians lost their income. Many of them played a mean guitar too - why was it the Beatles who became famous? But no matter who made it - the record companies always made money... Today web technology is pretty well understood. Many people could build a pretty state of the art web application and to get started it takes about as many people as for starting a garage band. The web as a delivery platform has made it very cheap and ea

The Thing we do - or why this Section is called Software Development

I do computer stuff for a living, my current job title is software engineer. I could also be called a programmer. But my favorite term to describe what we do is Software Development . It emphasizes on the evolutionary and incremental nature of the process. Because not unlike a Hollywood screen-play, software is typically not written in one shot, but developed over multiple iterations by various authors, based on feed-back from various sources. Programming is a skill, a craft or - if done exceptionally well - maybe an art. It's the stuff that is thought in schools, that textbooks are about - on algorithms and data structures, programming languages etc. (Some Computer Science purists may argue that CS isn't really about programming, but that is a whole different debate.) In the beginning, there used to be just programming. Computer were new, exciting, largely irrelevant in the grand scheme of things and there was no formal training yet for how to write programs for them. Pe

Android Apps Reviews

After some ego-surfing, here are a few reviews on my Android apps, at least in the languages, I can understand... BistroMath AndroidApp Review Source Android Market Place Rankings Review on (German) Planete Android (French) NetMeter Android Market Place Rankings Review on (German) Der Sicherheitsgurt für Android (Auslands)nutzer (German) NoiseAlert AppVee Android Apps Review Android Apps of the Week: 01 Top 5 Most Clever Android Apps for your T-Mobile G1 Android Market Place Rankings


I have been playing a bit with AppEngine lately. I is a cloud computing service geared towards running Python based web applications on Google's data-center infrastructure. Applications can only run short-lived http request handlers, which will be terminated if they exceed their CPU quota. On the other hand, many parallel instance of the same application can be spawned transparently if the load requires it. AppEngine comes with its own proprietary non-relational data-store, which maps well to Django 's object persistence model for example. And since Django is such a popular framework for web development in Python, it comes pre-packaged in the AppEngine API. I think this is a very compelling solution for many new web applications since it takes a lot of pain out of building and scaling infrastructure. For those who don't believe that this is a significant problem, here is a very interesting presentation from the MySQL 04 conference about how LifeJournal scaled up from a ho

In Support of Code Reviews

Very few people doubt the usefulness of peer code reviews to improve software quality. Intuitively I would put it as one of the factors with the highest impact on quality, right up there with good design and thorough testing/validation. Most projects I have worked on, did at least lip-service to code-reviews, but most failed to actually do it systematically. Not surprisingly since code-reviews done well are very time-consuming and put a huge burden on someone else other than the author of the code. The key to success would seem to minimize the hassle and burden put on the reviewer. Some common ways to do that might be Pair programming : the burden of review and credit for delivering the code are shared equally. While pair programming certainly seems to have many advantages and some very enthusiastic followers, it may be hard to implement in some places. While two pair of eyes certainly see more than one, it might also be helpful to get fresh pair of eyes do the review, who was not part

Cyrket provides web based interface to browse the Android Market. Sadly this is something which the official market site or the developer console still do not provide (and Google wouldn't even have to reverse-engineer their own protocol). Here are the most recent ratings & comments on my apps: BistroMath NoiseAlert NetMeter

Market Featured Application

BistroMath, the tip calculator is by far the most popular of my little Android applications. While introducing paid applications, the web interface has been revamped a bit. BistroMath even made it into the list of featured applications.

Party like its 1234567890

Today is party time for Unix geeks all over the world. Not because it's Friday the 13th or Valentine's day, but because today the Unix clock reaches the memorable state of '1234567890' . That is the number of seconds since 00:00 UTC on January 1st 1970. To see when to celebrate in your timezone, run: python -c 'import time; print time.ctime(1234567890)'