Thursday, June 29, 2006
Wednesday, June 28, 2006
Monday, June 26, 2006
Another funny thing was the subway/metro system. You need to buy a ticket, but it is not checked anywhere. It is entirely possible to ride the subway without a ticket. In all the subways that I've seen, you have to put your ticket into a machine to be able to enter the platform, but not here. The other cool thing is that you can get a 3 or 7 day pass that not only allows unlimited travel on the subway but is also valid on the buses and trams.
The difference between east and west Berlin was also clearly evident. West Berlin was a lot more crowded during the day, but the situation was the opposite at night. The trams are mostly seen on the east Berlin side, and the building architecture is noticibly different. Oh, and of course, the pedestrian lights are different (see this).
The new Berlin station (Hauptbahnof) is really pretty (More about it here).
Another concern that I had was safety. It felt pretty safe even in the metros and the streets around midnight. Maybe the extra security for the world cup helped. Roaming the east Berlin side was nice especially around Friedrichstraße, and Unter den linden, two important roads in this part of Berlin. Kufurstendamm on the west side was also good.
Also notable was the number of cyclists. Cycling around seems to be very popular, and you can find cyclists everywhere. There is a special coach on the subway for cyclists to use. There are even some dressed in suit and tie cycling to work.
Monday, June 19, 2006
"Windows process has gone thermonuclear. Imagine each little email you send asking someone else to fill out a spreadsheet, comment on a report, sign off on a decision -- is a little neutron shooting about in space. Your innocent-seeming little neutron now causes your heretofore mostly-harmless neighbors to release neutrons of their own. Now imagine there are 9000 of you, all jammed into a tight little space called Redmond. It's Windows Gone Thermonuclear, a phenomenon by which process engenders further process, eventually becoming a self-sustaining buzz of fervent destructive activity."
Friday, June 16, 2006
Saturday, June 10, 2006
This famous quote by Abelson and Sussman sums up what software development should be about. Computers will execute anything that you throw at them, but not everything is easy for humans to read and understand. Many bugs are caused by programmers not being able to fully understand the code and design. It is strange how many programs are written to be efficient for the computer to run, but are highly inefficient when it comes to programmer understandability. This is exactly the opposite of what it should be. If there is one principle that drives the design of a software system it is to write programs that others will find easy to read and understand. Only make optimisations where it is absolutely required, and keep these optimisations to a minimum.
Premature optimization is the root of all evil (or at least most of it) in programming. - Tony Hoare, and repeated by Donald Knuth in Computer Programming as an Art, 1974 Turing Award lecture
This post is a part of the selected archive.
Sunday, June 04, 2006
Fast forward to 2006. I was shocked to learn that the binary search program that Bentley proved correct and subsequently tested in Chapter 5 of Programming Pearls contains a bug. Once I tell you what the it is, you will understand why it escaped detection for two decades. Lest you think I'm picking on Bentley, let me tell you how I discovered the bug: The version of binary search that I wrote for the JDK contained the same bug. It was reported to Sun recently when it broke someone's program, after lying in wait for nine years or so.
Saturday, June 03, 2006
Given a choice, I prefer to work in Python, so I went around looking for web frameworks in Python (and there are a LOT of them). I finally decided upon django, having heard a lot of good things about it (the fantastic website also helped).
Having worked a bit with it, I can now say WOW. The basic framework for the site is already done and it only took two full days and two nights to get it here. Further, one of the full days was dedicated to designing the look and style of the site, so only a day and two nights were spent on programming. This includes a complete and customised administration area where you can modify any object in the system. Sure, there is still a lot to do, but to still get this far in such a short time has been amazing.
After this preliminary experiment, I can say with some confidence that a single person working full time on an application can get a first version out within a month. Capital and resources are no longer major problems. All you need is a good idea. In other words, the next few years will be a great time to be an entrepreneur, much like the years in the late 90s.