21/06/2007 at 23h38
Today, at seven months and nineteen days of age, Sophia spontaneously performed her first song. It went like this:
Ba ba baa ba baa, ba ba baa ba baa.
(The bas are short, the baas are long). The piece was performed
at a constant pitch. I’m still working on the correct rhythmic
notation; it’s pretty complex.
Years from now, we will say: We were there at her first performance.
21/06/2007 at 12h58
You have built a home server slash PVR that you want to hook up to your
twenty-year-old television. You have gone to several shops to buy
a graphics card that actually has open-source drivers for
its TV output functionality (i.e., the ATI Radeon A9250). You have dodged
salesmen trying to sell you something else (“No, but here is its successor
the NVidia so-and-so.” “Uhm, no thanks.”). You finally succeeded by ordering
it over the Interweb (and probably should have done that in the first
place). Now you want to patch the driver shipped by Ubuntu to actually get
TV output working.
18/06/2007 at 14h50
I’ve been using svk for a while now, but I keep bumping into problems with the whole concept of tags being just copies.
The problem is this: In my mind, a tag should be a symbolic name for a particular revision on a particular branch. In subversion (and hence, svk), it’s not. To use a tag in place of a revision, you first have to do
svn info to find the corresponding revision number, and then use that in your
svn diff or
svn merge or whatever.
Subversion should have had a smarter client from the start, one that emulates tags and branches and hides the implementation detail that they are ‘really the same thing’ from the user.
As it stands, subversion has no tagging.
It’s all very annoying.
18/06/2007 at 13h13
Last week, I did some work on my website, upgrading to the latest Typo trunk and Rails 1.2, and changing from
mod_fcgid to a Mongrel cluster.
Last Friday or so, I rebooted my server. Unfortunately, I had neglected to make the Mongrel cluster start at boot. So for the past weekend, all you have seen here is a Service Temporarily Unavailable message.
14/04/2007 at 14h42
Setting the stage
Some time ago, I came across SQLDSL, a DSL for building SQL queries. The benefit of using a DSL over plain old string concatenation is that syntax is checked before the database server is hit. Unfortunately, SQLDSL does not deliver. It will happily accept
q = Insert.into[“frot”][“zop”][“blob”].values(“kng”).values[“kgn”]
- => “insert into ‘frot’ (zop) (blob) values (‘kng’) values () (kgn)”
which is hardly acceptable SQL.
10/04/2007 at 22h22
Say you’re an online book store, and you have an affiliate program. Of course, affiliates come and go. So, what do you do when, say, slashdot stops being your affiliate, and someone clicks on an affiliate link left lying around in an old book review? Do you
- Show the book anyway, but not pay the affiliate? Or…
- Tell a potential customer to go elsewhere?
30/03/2007 at 11h44
For work, I’m in Chennai in India. Up to today, I have seen the apartment where we are staying, the office, restaurants, and the streets in between. That is actually already a lot to see: There’s always a lot going on on the streets.
For tomorrow, a trip was planned to Mahabalipuram, but now there’s a big strike planned, and the trip was canceled. The reason is not that there won’t be transport, but that people will be allowed to throw stones at cars without fear of punishment.
25/03/2007 at 13h05
Daring Fireball talks about about an interesting post by Tantek Cilek about Human Interface Design. It’s true that there is some cognitive load in posting a blog entry as opposed to just answering What are you doing?
Partially, that resistance is good. Like forums, or blog comments, the Twitter entries are mostly like noise. A soothing background hum that lets you know other people are alive and going about their business. Unfortunately, that business is often uninteresting in the long run. So how long are we willing to store it, even for ourselves?
On the other hand, it is annoying that I have to come up with a title that covers this little post that wanders all over the place. Or that so many thoughts end up as half-finished posts in my drafts pile.
20/03/2007 at 18h27
I don’t use the
crontab command on my own machines (I just put files in
/etc/cron*), but recent experience on another machine made me wonder why crontab has the following options (this is from
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
Right. E is for edit, L is for list, R is for delete. Makes sense. And as a bonus, it is easier to accidentally delete your crontab when you want to edit it.
13/02/2007 at 09h43
Last night, I had a dream. There was a gathering of people for dinner. It
was probably not my house. I mean, it didn’t look like my actual house, but
in my dream it was also not my house. We sat at a table with a thick rough
wooden top. The light was soft, coming mostly from the simple lamp hanging
over the table. The floor was also wooden, as were the low shelves lining
the walls at the other side of the room.
I was sitting at the head of the table. I’m not that tall, so I was looking
slightly up at the other people at the table. On the second chair to my
left sat a young man who was somehow connected to Microsoft. Probably he
worked there. He was very enthousiastic about Vista.
At some point he said something that really upset me. I think it was about
how something could not be fixed, and users just had to either live with
it, or buy something new. I told him, how can he say that when there are
people how have to get by on very little money, and can’t afford to buy the
shiney new stuff, and that Bill Gates is really out of touch with reality.
I don’t remember the exact words, but I was clearly very angry. The young man decided this animosity was too much for him, and left.
Afterwards, I was standing on the other side of the room, shaking so badly
that I dropped two glasses that I was trying to drink from to calm down on