Archive for September, 2008

Goodbye Spider

Thursday, September 18th, 2008

Today I sold my car to a guy from France.

He took a plane to Vienna yesterday, this morning we met, he looked at the car, we took the contract to a notary office, we paid in his cash into my bank, then took my number plates to a insurance company who canceled my insurance (even though it was with a different company), and gave us temporary number plates (precondition was the contract had to be notarized).

It’s a sad day, I did like my Renault Spider, I had a lot of fun with it; but I look forward to the furniture etc. I can buy for a new flat with the money.

It was a huge amount of effort to get it registered in Austria (I bought it from Germany). I’m sure the guy who I’ve sold it to will have a lot of effort getting it registered in France as well…

I bought the car in 2003 for € 22,800 and sold it today for € 20,000. That’s a decrease of 12% in total, or 2.6% per year, which I think is not bad going. (Obviously it could still hardly be said that this was a wise investment, given the amount of money I spent on insuring and maintaining it over the years!)

Google Chrome UI niceties

Monday, September 15th, 2008

So everyone in the “blogosphere” is going on about Google Chrome. From one day to the next, a bunch of personal blogs written by random people I don’t know which I for some reason subscribed to all suddenly had 1 new entry - subject “I like Chrome”. A bit like a few days before when Mozilla released some new feature and exactly the same thing happened. And now if I write about Chrome I am one of them as well….

I don’t intend to repeat all that has already been written. But here are a few UI niceties which, as ever, shows Google’s attention to detail.

  • If the Chrome window is maximized, one can throw the mouse with wild abandon to the top of the screen to click the tabs, and move the mouse to the absolute right of the screen to access the scroll bars. The tabs and scroll bars are “mile-high” controls. (”Joel on Software” famously asserted Microsoft “snatched defeat from the jaws of victory” by placing the start menu at the edge of the screen, but then adding a one-pixel border so one has to, after one has moved the mouse to the edge of the screen, slowly move it back again 1 pixel to click the control.)
  • If one downloads a file, an icon representing the downloaded file appears. This icon is draggable (e.g. to Windows Explorer in order to save the file). In Windows one can normally either drag a file from a directory to an app, or from an app to a directory, but not from an app straight to an app. But the icon in Chrome which one drags away actually already references a (temporary) file, one can drag the file directly from the Chrome app into another one e.g. an FTP program showing a remote directory, and the right thing will happen.
  • If there are lots of tabs open, the tabs get smaller. If you close a tab, the tabs get bigger again. This much is standard in all tabbed browsers: but in Chrome the tabs don’t get bigger until you move the mouse out of the tab area. This way, if you want to close multiple tabs, you can look at all the close buttons, then move your mouse over each one and click the buttons. Otherwise (as in other browsers), you have to close one tab, then look at where the tabs have rearranged themselves to, find the close button on the next tab, click it, look at where the tabs have rearranged themselves to, find the next close button—repeat.
  • If you double-click a word in the URL bar (e.g. www.mysite.com) then the portion including the separating dot or slash is selected (e.g. “www.”). This means if you press the delete key, then you are left with the syntactically valid “mysite.com”. If, however, you type, it replaces just the “www” so if you type “ftp” you are left with the syntactically valid “ftp.mysite.com”
  • The “loading site…” status information at the bottom of the screen overlays the content. This saves space in comparison to having a status bar always displayed, taking up screen space. But, if you want to see the content hidden by this overlaid status bar, simply move the mouse to where the content would be, and the status bar automatically moves away to reveal the content.

Not Invented Here Syndrome

Thursday, September 11th, 2008

Sometimes I am accused of suffering from the “Not Invented Here Syndrome”. It has been suggested I would rather program something myself than take an already existing e.g. open source solution to the problem and integrate it with the product being developed.

I mean that’s clearly a blanket statement. The right solution differs from project to project. (But, for sure, when making such a decision, one must not forget about the cost of integrating external software, especially down the line for maintenance, if the number of technologies and languages have increased by the new software’s addition, hindering code reuse.)

Joel on Software has an article about the benefits of developing things yourself.

So to pay respect to others in our industry who have also developed ridiculously complex things to support a quite different initial aim, here are the “Database & Life Not Invented Here Syndrome Awards”, presented in reverse order.

4th Place - The Corel corporation

Corel was a company producing and marketing desktop publishing computers. But what software should it run? When they couldn’t find any, they decided the only logical course of action was to create their own graphics package. Creating a graphics package like Corel Draw is non-trivial! But it was the right action to take, as Corel Draw became much more successful than any Corel workstation.

(I actually can’t find any evidence on the web that the above information is correct—I remember reading it in a computer magazine a long time ago. But neither can I find any evidence that it’s not correct.)

3rd Place - Stephen Wolfram

The Oxford-educated British mathematician Stephen Wolfram was interested in researching Cellular Automata. In order to do this, he needed mathematical software to conduct his research. Finding no software available to suit his needs, he created Mathematica. Creating a mathematical research project with the capabilities of Mathematica is non-trivial! (Stephen Wolfram about himself.)

2nd Place - Linus Torvalds

There are a myriad of source version control systems available. Take a look at the list of version control systems on Wikipedia! (No system is more suited to the creation of lists than Wikipedia!)

Linus Torvalds is well known for creating and managing the open-source operating system Linux. Finding no version control system which had both the features and licensing he desired, he created his own, “git”. Creating a version control system, especially a distributed one, is non-trivial!

For sure he didn’t write all the software himself, but his name does appear on the man pages, and even the conceptual work required in designing a distributed version control system is non-trivial.

1st Place - Donald Knuth

Wanting to write his book(s) “The Art of Computer Programming”, he considered the first layouts produced electronically to be ugly. The only course of action was to create the computer program TeX, capable of laying out such mathematical, and other, documents.

The input to this program is a custom macro language.

A layout program needs to write characters, and these characters need to be in a font, and fonts require description. So to enable the creation of the layout program, he also created the METAFONT program to describe font characters via lines and Bezier curves.

Needless to say, the creation of page layout programs, font specification and rendering algorithms, are definitely non-trivial!