Wednesday, October 29, 2008

Penguins on parade

I don't always dress in a T-shirt and jeans. Sometimes people give me awards, and I dress like a penguin instead. Here's a shout-out for the computer history museum.

Tuesday, October 28, 2008

Reading

So the merge window is over, and the subsequent "oops-that-needs-fixing" period is calming down, and so I get to read again.

Today's book was Dark Banquet by Bill Schutt.

Most of the time I read random fantasy or sci-fi (ie my previous books were re-reading Robin Hobb's Farseer and Tawny man trilogies), but when I read anything else it tends to be about biology or evolution. Sometimes physics, and essentially never about computers.

So this time it was biology, and if you're interested in blood-sucking bats (the real kind, not the mythical ones), I don't think you can go wrong. It's fairly light reading, with a couple of laugh-out-loud moments. Recommended.

Sunday, October 26, 2008

Candyland

So, I wrote about election season in the US, without getting more than one or two "go back to where you came from" comments.

That clearly means that I need to ratchet up the controversy level, and bring up an issue near and dear to my heart - and given the times, possibly even more relevant than the election.

Yes, Halloween is almost upon us. That most holiest of holidays, when the whole country comes together, and without regards to race, religion or age, people join a common cause. Namely the gluttonous eating of candy.

It's a holiday without the stress of finding presents (or feeling alone if you have nobody to find presents for). And not even the crazies will go on national TV to complain about the "war against Halloween" - they'll be in WalMart, Target, and Costco, buying candy by the metric ton, exactly like the rest of us.

But there is a dark underbelly to even this friendliest of holidays.

No, I'm not talking about the binge eating ("I bought 15 lbs of candy, but I'll sit in the dark the whole evening so that nobody will ring the door bell, so that tomorrow I'll have the excuse to eat it all") and the inevitable diabetic shock and amputated limbs that follow.

Nor even about the pre-teen girls dressing up (or rather, down) as sluts, because it's the one night of the year when it's cute to look like a under-age hooker.

No. I'm talking about the horrible quality of candy in the US.

Because if you eat three times your body weight in candy in one day, shouldn't it be at least good candy?

Oh, I'm not expecting Belgian chocolate truffles (which really are way over-rated anyway, and a sure sign of snobbishness rather than any appreciation of the better side of life). I'm just talking about stuff that has some taste rather than being just colored sugar with corn starch.

In other words, I'm talking about the sad - and almost total - lack of ammonium chloride.

As every dietician worth his (or her) title knows, you need to balance the sugars with some taste. No, it doesn't really have to be ammonium chloride (NH4Cl), but any self-respecting candy should be mostly something that makes your taste-buds go Whee!

Because that's the whole point. Sure, the diabetic shock may a fine way to weed out the weak, and while you could probably see Halloween as some kind of Darwinistic ritual of survival of the fittest (because it really is a holiday that works for all people, regardless of beliefs or lack there-of), I'm sure that in the end we can all agree on the whole taste-buds-go-whee-factor.

But most US candy really does seem to be more about thumbing your nose at diabetics than it is about taste buds. And this needs to change!

I realize that I can drag my sorry ass off to the nearest Finnish store (yeah, there is one in Portland), and I also realize that the Dutch store also is an excellent source of candy that actually tastes like something. And yes, sometimes you can even find Licorice Allsorts (an acceptably tasty treat) even in regular stores. So I can get my fix.

But I'm saddened how the biggest feast of the year seems designed to perpetuate the lack of any real taste in candy.

I've tried to introduce Americans to some real candy. Most of them just spit it out, because they've been indoctrinated in the whole "sugar with some bland taste" religion of candy eating. And I blame Halloween.

We need fun-sized bags of ammonium chloride, or at least licorice!

Thursday, October 9, 2008

On making releases..

So I cut the 2.6.27 release today, and it's always a somewhat anti-climactic thing.

The whole point of a release is that it should be something reasonably stable. Stable enough so that people can take that release and use it as a base for the stable tree, which in turn tends to be a base for most Linux distributions. It doesn't have to be perfect (and obviously no release ever is), but it needs to be in reasonable shape.

Of course, depending on the exact requirements of the distributions (whether it is for specific features they are waiting for or simply due to their timing of releases), any particular kernel release I do will be more or less relevant for most end users. I have little input on that, nor do I actually want to have any. I can only put my mark and say "This is a reasonable base after the craziness that went before".

So in a very real way, a release is just a starting point for further work, but very little of that "further work" is actually things I have anything to do with what-so-ever or much interest in. Yes, I see the patches that are queued up for the stable kernels, but mostly as an observer. And the distributions do their own thing.

So what makes a release anti-climactic is that from a development standpoint - at least as far as I'm concerned - it is inevitably at the end of a gradual slowing down of interest. So to me a release is not so much of a birth of a new kernel version, it's more of a laying-to-rest of an old one. It's also an end to a fairly quiet period.

So I tagged the release five hours ago, and during the few days before that I had barely a score of commits to merge. But now that I have cut the release, my mailbox is starting to come alive with merge requests for the next version - with thousands of commits queuing up for merging in just a few hours, as opposed to the slow trickle in the days that went before.

This is all exactly as it should be, of course, but it still feels bass-ackwards, in that people always talk about the death-march to a release, and how you're supposed to take a well-deserved vacation after the release.

For example, when I worked for Transmeta, the hardware people would basically take a month off after doing a tape-out. That seems somewhat natural just deserts. But when it comes to Linux development the "tape-out" of making a release acts the other way around. The calm was before, now comes the week or two of crazy merging.

Of course, the craziness won't start today. I want to give releases at least one nightly snapshot before I start merging stuff. So tonight, the release is done, and I won't be reading any email at all for a change. I'll need to finish the book I'm reading, since for a couple of weeks I'll not have much time for it.

Teddy


"Faster than a speeding bullet, dumber than a potted plant".

Tuesday, October 7, 2008

Stranger in a strange land

So I'm not the kind of alien that Heinlein wrote about in the book that gives this post its name, but I'm the "resident" kind, still a green card holder.

Yeah, yeah, we should probably have done the citizenship thing a long time ago, since we've been here long enough (and two of the kids are US citizens by virtue of being born here), but anybody who has had dealings with the INS will likely want to avoid any more of them, and maybe things have gotten better with a new name and changes, but nothing has really made me feel like I really need that paperwork headache again.

So I'm a stranger in a strange land, and seldom more so than when voting season is upon us.

Most of the rest of the time I can kind of ignore it. We've been in the US for over a decade, and it's definitely "home", and we like living here. But being an alien means that you can't vote, and seeing all the news being about the presidential election (and all the streets here locally littered with signs about the local school bond) tends to remind you about that issue.

But being reminded about not being able to vote is actually the much smaller thing: much more than that, election season reminds you about what an odd place the US is.

Most of the rest of the time, you can forget that you live in the US of A, and you really tend to live much more locally. We've been in Portland, OR, for the last 4+ years, and before that in the Bay Area, and part of being here - as opposed to other parts of the US - is that it's certainly much more like Finland than many other parts of the US.

But then voting season comes and reminds you that all those Americans that are individually sane and normal tend to be collectively crazy and very odd. And that's when you really notice that you're not in Finland any more.

That's when you also notice that the whole US voting system is apparently expressly designed to be polarizing (winner-take-all electoral system etc). To somebody from Finland, that looks like a rather obvious and fundamental design flaw. In Finland, government is quite commonly a quilt-work of different parties, and the "rainbow coalition" of many many parties working together was the norm for a long time. And it seems to result in much more civilized political behaviour.

Of course, in the US there are also much wider social, educational, religious and economic differences between people, and issues range all over the map. Which then means that it's hard to bring up any nuances in politics, since either people won't care about them (not relevant for that group), or they simply won't understand them (what does "foreign policy" matter to somebody who has likely never been outside the US unless you count things like day-trips to Tijuana?).

So you couple a polarizing voting system with a campaign that has to make simplified black-and-white statements, and what do you get?

Ugly, is what you get.

Most of the time I really like living in the US. But voting season sometimes makes you wonder.

Thursday, October 2, 2008

Tracking the time kids spend online

I've got several machines downstairs in my basement office, of course, but in our family the others have computers too. Tove has hers in her office, and the kids share one upstairs (and we're getting to the point where I guess I'll set up a second machine for them one of these days: three kids and one computer works fine most of the time, but sometimes they have homework that requires it, and then sharing doesn't always work so well).

And obviously I'm happy with the kids being comfy with a computer, but we've set some basic rules for it. Notably, they can't just play all those flash games all the time. And sometimes, if they don't do their homework, we disallow it entirely, or - happily more commonly - we give extra time for good behaviour or for some homework that needs more googling.

But I'm a geek, and I'm not at all interested in trying to do any of this manually.

So I wrote (and recently re-wrote, since a disk crash destroyed my original) a simple internet usage tracker for them, which allows me to set usage limits per kid, and which tracks how much time they use online, and forcibly logs them off if they go over the limits. It's a stupid program, but it works pretty well (if you run Linux, of course ;), and since I had to rewrite it I asked some of the git people for help with the simple graphical UI that shows the kids how much time they have left.

So for any other Linux user with kids and git, and who wants to do the same, here's a pointer to the git summary page: tracker.git, and you can get it with
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/tracker
if you want to play around with it. It's not fancy, it has no docs, no installation instructions etc, but if people are actually interested, I'll be happy to help. Why? Because I've always noticed that my own projects get so much better if others are involved, even if it's just as a user...

.. so I got one of the new Intel SSD's

The kernel summit was two weeks ago, and at the end of that I got one of the new 80GB solid state disks from Intel. Since then, I've been wanting to talk to people about it because I'm so impressed with it, but at the same time I don't much like using the kernel mailing list as some kind of odd public publishing place that isn't really kernel-related, so since I'm testing this whole blogging thing, I might as well vent about it here.

That thing absolutely rocks.

I've been impressed by Intel before (Core 2), but they've had their share of total mistakes and idiotic screw-ups too (Itanic), but the things Intel tends to have done well are the things where they do incremental improvements. So it's a nice thing to be able to say that they can do new things very well too. And while I often tend to get early access to technology, seldom have I looked forward to it so much, and seldom have things lived up to my expectations so well.

In fact, I can't recall the last time that a new tech toy I got made such a dramatic difference in performance and just plain usability of a machine of mine.

So what's so special about that Intel SSD, you ask? Sure, it gets up to 250MB/s reads and 70MB/s writes, but fancy disk arrays can certainly do as well or better. Why am I not gushing about soem nice NAS box? I didn't even put the thing into a laptop, after all, it's actually in Tove's Mac Mini (running Linux, in case anybody was confused ;), so a RAID NAS box would certainly have been a lot bigger and probably have more features.

But no, forget about the throughput figures. Others can match - or at last come close - to the throughput, but what that Intel SSD does so well is random reads and writes. You can do small random accesses to it and still get great performance, and quite frankly, that's the whole point of not having some stupid mechanical latencies as far as I'm concerned.

And the sad part is that other SSD's generally absolutely suck when it comes to especially random write performance. And small random writes is what you get when you update various filesystem meta-data on any normal filesystem, so it really does matter. For example, a vendor who shall remain nameless has an SSD disk out there that they were also hawking at the Kernel Summit, and while they get fine throughput (something like 50+MB/s on big contiguous writes), they benchmark a pitiful 10 (yes, that's ten, as in "how many fingers do you have) small random writes per second. That is slower than a rotational disk.

In contrast, the Intel SSD does about 8,500 4kB random writes per second. Yeah, that's over eight thousand IOps on random write accesses with a relevant block size, rather than some silly and unrealistic contiguous write test. That's what I call solid-state media.

The whole thing just rocks. Everything performs well. You can put that disk in a machine, and suddenly you almost don't even need to care whether things were in your page cache or not. Firefox starts up pretty much as snappily in the cold-cache case as it does hot-cache. You can do package installation and big untars, and you don't even notice it, because your desktop doesn't get laggy or anything.

So here's the deal: right now, don't buy any other SSD than the Intel ones, because as far as I can tell, all the other ones are pretty much inferior to the much cheaper traditional disks, unless you never do any writes at all (and turn off 'atime', for that matter).

So people - ignore the manufacturer write throughput numbers. They don't mean squat. The fact that you may be able to push 50MB/s to the SSD is meaningless if that can only happen when you do big, aligned, writes.

If anybody knows of any reasonable SSDs that work as well as Intel's, let me know.

First post

So, having avoided the whole blogging thing so far, yesterday Alan DeClerck sent a pointer to his family blog with pictures of the kids friends, and I decided that maybe it's actually worth having a place for our family too that we can do the same on.

Of course, I'll need to see what Tove wants to do, but in the meantime, here's a trial blog.