So Tove is off learning how to judge Tae-Kwon-Do competitions, and the kids are roaming the neighborhood like jackals (or maybe they're upstairs reading a book. Who knows? I take a "hands off" approach to parenting).
So I'm stalking the kitchen looking for food, my trusted canine companion by my side. My prey hides quietly on a remote shelf, but I outsmart the cardboard packaging easily (along with the NASA-designed internal metallic pouch), and am soon ready to feast on the guts of some random Indian lentil stew.
And that's when it hits me.
A quiet rattling emanates ominously from inside the nutritionally uninteresting outer shell as I'm about to discard it. I go on high alert, and ancient instincts immediately raise my adrenaline levels. What's going on?
So I look inside, and in addition to the metallic pouch with the actual food, my meal has come with a CD full of (and I quote) "Authentic Indian Cuisine". No, wait! Underneath that it says "Indian Classical Duets".
Which brings me to today's title: "WTF?" Have I been leading an unusually sheltered life, and this is actually normal? What's next? Happy Meals that come with Beyonce CD's?
Now I'm intrigued, and considering going through our other indian ready-made meals. Was this a one-off? Or had I not just noticed before, and do all those $2.99 pre-made indian meal pouches come with these odd musical accompaniments?
Saturday, October 3, 2009
Sunday, August 9, 2009
Programming
I've actually written code lately, although for some reason it's been all these stupid projects. First I needed to fix the kernel tty refcounting, then I got all OCD on the git SHA1 routines.
I don't quite know why I wasted that much time on something as trivial as SHA1 hashing, but it was kind of fun in a "let's use the compiler as a glorified assembler" kind of way. Some people seem to think that C is a real programming language, but they are sadly mistaken. It really is about writing almost-portable assembly language, and it turns out that getting good results from SHA1 really is mostly about trying to fight the compilers tendency to try to be clever.
So here is the current result of me trying to get gcc (well, arguably of it is mostly the C pre-processor, rather than the compiler proper ) to generate good assembly code. On my Nehalem machine (but not Netburst or Atom - poor fragile micro-architectures that they are), it actually seems to outperform the OpenSSL hand-written assembly language implementation.
And once I get rid of libcrypt from openssl, I get rid of two silly runtime loadable libraries that git no longer needs. And that in turn speeds up the test-suite by a couple of seconds.
Did I mention that I seem to have some OCD issues?
I don't quite know why I wasted that much time on something as trivial as SHA1 hashing, but it was kind of fun in a "let's use the compiler as a glorified assembler" kind of way. Some people seem to think that C is a real programming language, but they are sadly mistaken. It really is about writing almost-portable assembly language, and it turns out that getting good results from SHA1 really is mostly about trying to fight the compilers tendency to try to be clever.
So here is the current result of me trying to get gcc (well, arguably of it is mostly the C pre-processor, rather than the compiler proper ) to generate good assembly code. On my Nehalem machine (but not Netburst or Atom - poor fragile micro-architectures that they are), it actually seems to outperform the OpenSSL hand-written assembly language implementation.
And once I get rid of libcrypt from openssl, I get rid of two silly runtime loadable libraries that git no longer needs. And that in turn speeds up the test-suite by a couple of seconds.
Did I mention that I seem to have some OCD issues?
Tuesday, July 14, 2009
Parenting gold star (?)
It's summer.
Which in our family means summer camps.
Oh, the kids are happy playing together, and we usually have one or two of the neighbors kids running around too, so it's not like they tend to get bored. But Tove is a big believer in making doubly sure that they don't go stir crazy around the house, so summer camps it is.
Last week was Tae-Kwon-Do camp (Tove is also a big believer in beating up other people), and apparently it was all fine. But what do I know - I wasn't interested in sports when I was small, I'm not interested in sports now either.
And as part of their camp (presumably when they were taking a breather from trying to kill each other), they had to write a letter home about how they are thankful to their parents. Oh, those wacky Asian self-defense sports and their respect for their elders - another thing I don't seem to recall from my own childhood.
Anyway, very cute. They all seem to be well on their path of writing pleasing prose, and I see a promising career of writing Hallmark cards (and made-for-TV shows) for all of them.
Except possibly Celeste. There's a WTF moment here:
Of course, she has clearly forgotten about the fish. We did flush those.
Which in our family means summer camps.
Oh, the kids are happy playing together, and we usually have one or two of the neighbors kids running around too, so it's not like they tend to get bored. But Tove is a big believer in making doubly sure that they don't go stir crazy around the house, so summer camps it is.
Last week was Tae-Kwon-Do camp (Tove is also a big believer in beating up other people), and apparently it was all fine. But what do I know - I wasn't interested in sports when I was small, I'm not interested in sports now either.
And as part of their camp (presumably when they were taking a breather from trying to kill each other), they had to write a letter home about how they are thankful to their parents. Oh, those wacky Asian self-defense sports and their respect for their elders - another thing I don't seem to recall from my own childhood.
Anyway, very cute. They all seem to be well on their path of writing pleasing prose, and I see a promising career of writing Hallmark cards (and made-for-TV shows) for all of them.
Except possibly Celeste. There's a WTF moment here:
You buy me lunch, breakfast and dinner. You bought me animals to play with so I could have a lot of fun in my life.Ok, fine so far. She's a bit hung up on the "buying" part of this whole parenting gig, but hey, she's just eight. She'll get over it, and if she doesn't, I guess she'll fit right into the culture. But then comes the kicker:
You also let me bury them instead of flushing them down the toilet.Ooh, yeah! That's some premium parenting there. Gold stars all around! It just makes me glow with pride.
Of course, she has clearly forgotten about the fish. We did flush those.
Sunday, July 12, 2009
Not-so-evil empire
I'm usually not enamoured with the customer service of big companies, and you always tend to hear all the horror stories. But I want to give a shout-out to Comcast.
Yeah, that Comcast. That same one that everybody loves to hate.
I switched from DSL to cable a couple of days ago, mainly because I had been hoping for a long time for our phone company (Qwest, who I also have had nothing but good service from) to offer faster DSL speeds. And they never did. So I decided that I should look at the alternatives.
I went for the "professional install" from Comcast, because I was pretty sure that our cable needed upgrading (it did). And since I hate renting any electronics equipment in our house, so I was off to Fry's before-hand, and I got a Comcast-approved Linksys cable modem with built-in firewall ethernet and wireless router.
Everything worked out fine, the installer was a few hours late, but he was friendly and knew what he was doing. He did say that he would have suggested going with a stand-alone modem and separate router box, but I've used Linksys routers before, so I wasn't too worried and liked the all-in-one box. I was left with some temporary cable laid in our back yard, and it's probably going to be that way for a few weeks, but all in all, a good experience.
Until later in the day, when the Linksys box rebooted.
And then it did it again. And again. Roughly once an hour or so. It came up each time, but there was a very annoying 70-second pause in my internet connection each time. I had good statistics on exactly when it happened, and how long the internet was off-line, because I'd done some silly tools to keep track of that earlier when I had had DSL line trouble (due to just bad signal and constant retraining).
In other words, it turns out that the cable installer was not just friendly and knew what he was doing, he really was right on the money. I don't know why, but that Linksys cable router is apparently total crap. And googling for it, I was clearly not the only one with the problem. It looks like you should avoid the WCG200v2 like the plague.
I asked Comcast (email support, just to see how that works) whether they can upgrade the firmware of the thing, or can do anything about it, but they answered that they can't do anything about customer equipment. Hey, fair enough. Not their fault.
So, like any self-respecting geek, I decided that I'll just buy more equipment, because let's face it, you can never have enough toys in your home. So off to Fry's I went again, and got myself a DOCSIS-3.0 motorola box and a separate Netgear router.
Not only did I decide to avoid Linksys this time, but the Netgear one made a big deal about running open-source software, and I assume the "L" at the end of the name means that the open-source in question is Linux. Sure, Linksys had a Linux router too (with a penguin!) but let's face it, they screwed up, so I'm giving the competition a go this time.
So I need to provision it (ie letting Comcast know about the new modem MAC address), so I call up Comcast. It being a Sunday afternoon, I was expecting that I'll just have to wait for Monday to get it sorted out. But no, not only is there a friendly tech who is greeting me with neither silly muzak nor waiting, but she's happy to get my all provisioned and up and running with a new cable modem in minutes (ok, so it took more than a couple of minutes, but a lot of it was literally waiting for the new cable box to boot up a few times).
And so far, the new box isn't rebooting constantly whenever there's more than a few internet connections going on. Which is just as well, since it clearly does take longer to boot than the old one. Knock wood.
So what can I say? Friendly competence all around. Good for Comcast. And a big black eye for Linksys.
Yeah, that Comcast. That same one that everybody loves to hate.
I switched from DSL to cable a couple of days ago, mainly because I had been hoping for a long time for our phone company (Qwest, who I also have had nothing but good service from) to offer faster DSL speeds. And they never did. So I decided that I should look at the alternatives.
I went for the "professional install" from Comcast, because I was pretty sure that our cable needed upgrading (it did). And since I hate renting any electronics equipment in our house, so I was off to Fry's before-hand, and I got a Comcast-approved Linksys cable modem with built-in firewall ethernet and wireless router.
Everything worked out fine, the installer was a few hours late, but he was friendly and knew what he was doing. He did say that he would have suggested going with a stand-alone modem and separate router box, but I've used Linksys routers before, so I wasn't too worried and liked the all-in-one box. I was left with some temporary cable laid in our back yard, and it's probably going to be that way for a few weeks, but all in all, a good experience.
Until later in the day, when the Linksys box rebooted.
And then it did it again. And again. Roughly once an hour or so. It came up each time, but there was a very annoying 70-second pause in my internet connection each time. I had good statistics on exactly when it happened, and how long the internet was off-line, because I'd done some silly tools to keep track of that earlier when I had had DSL line trouble (due to just bad signal and constant retraining).
In other words, it turns out that the cable installer was not just friendly and knew what he was doing, he really was right on the money. I don't know why, but that Linksys cable router is apparently total crap. And googling for it, I was clearly not the only one with the problem. It looks like you should avoid the WCG200v2 like the plague.
I asked Comcast (email support, just to see how that works) whether they can upgrade the firmware of the thing, or can do anything about it, but they answered that they can't do anything about customer equipment. Hey, fair enough. Not their fault.
So, like any self-respecting geek, I decided that I'll just buy more equipment, because let's face it, you can never have enough toys in your home. So off to Fry's I went again, and got myself a DOCSIS-3.0 motorola box and a separate Netgear router.
Not only did I decide to avoid Linksys this time, but the Netgear one made a big deal about running open-source software, and I assume the "L" at the end of the name means that the open-source in question is Linux. Sure, Linksys had a Linux router too (with a penguin!) but let's face it, they screwed up, so I'm giving the competition a go this time.
So I need to provision it (ie letting Comcast know about the new modem MAC address), so I call up Comcast. It being a Sunday afternoon, I was expecting that I'll just have to wait for Monday to get it sorted out. But no, not only is there a friendly tech who is greeting me with neither silly muzak nor waiting, but she's happy to get my all provisioned and up and running with a new cable modem in minutes (ok, so it took more than a couple of minutes, but a lot of it was literally waiting for the new cable box to boot up a few times).
And so far, the new box isn't rebooting constantly whenever there's more than a few internet connections going on. Which is just as well, since it clearly does take longer to boot than the old one. Knock wood.
So what can I say? Friendly competence all around. Good for Comcast. And a big black eye for Linksys.
Saturday, July 4, 2009
Pathetic
It's the 4th of July, the kids are out playing, Tove's at the mall, and I'm following my new toy as it crawls across the map of the US towards me, courtesy of UPS tracking and google maps.
This fall, we'll go for two scuba trips: in addition to our yearly week in Hawaii, Tove is treating me to a week in Belize. Because I only turn 40 once, I'm told. Little does she know that if that trip turns out successful, I'm planning on turning forty the year after too!
Anyway. In preparation of all this, my new toy is a dive computer, and it should arrive in a few days. I always just rent all my gear, and as a result on some dives I then end up following the dive master like a dog on a leash because I don't carry my own computer. The divers who know what they are doing always like feeling like everybody keeps track of their own nitrogen levels.
But I will be leashed no more. Paraphrasing Braveheart: "They may paint my butt blue, but they'll never take our Freedom". Or something like that. I never actually saw the movie.
Of course, the trips are months away, and in the meantime I'll just have to amuse myself by taking long baths with my toy. Once it arrives. I may be turning 40, but that doesn't mean I can't act like a little child. I may not live the dream, but I can dream the life.
Am also considering taking a Nitrox course. Just because. Because that way I'll have more buttons I can press, and modes I can set, on my new toy. Anybody got suggestions on places that do that around Portland?
This fall, we'll go for two scuba trips: in addition to our yearly week in Hawaii, Tove is treating me to a week in Belize. Because I only turn 40 once, I'm told. Little does she know that if that trip turns out successful, I'm planning on turning forty the year after too!
Anyway. In preparation of all this, my new toy is a dive computer, and it should arrive in a few days. I always just rent all my gear, and as a result on some dives I then end up following the dive master like a dog on a leash because I don't carry my own computer. The divers who know what they are doing always like feeling like everybody keeps track of their own nitrogen levels.
But I will be leashed no more. Paraphrasing Braveheart: "They may paint my butt blue, but they'll never take our Freedom". Or something like that. I never actually saw the movie.
Of course, the trips are months away, and in the meantime I'll just have to amuse myself by taking long baths with my toy. Once it arrives. I may be turning 40, but that doesn't mean I can't act like a little child. I may not live the dream, but I can dream the life.
Am also considering taking a Nitrox course. Just because. Because that way I'll have more buttons I can press, and modes I can set, on my new toy. Anybody got suggestions on places that do that around Portland?
Wednesday, June 17, 2009
Outwitting the fashion police
This is a public service announcement for all geeks.
Are you tired of people pointing out that you shouldn't use socks and sandals? I know, it really annoyed me too. It's like they are trying to take away your geek card.
But there's a solution.
For a year now, I've been avoiding the fashion police by instead of "sandals" wearing "shoes with holes in their sides". I've got these Keen's that look enough like shoes that nobody ever bats an eye at you wearing them with socks (Ok, by "nobody", I mean my wife, but that's all that matters, right?).
The problem is that it looks like the fashion police may be starting to figure it out. The model I have seems to be no longer in production, and now all the new ones I find are pretty obviously sandals (toes and/or heel showing).
So when I wear out my current ones, I'm going to be in trouble again. Damn.
Are you tired of people pointing out that you shouldn't use socks and sandals? I know, it really annoyed me too. It's like they are trying to take away your geek card.
But there's a solution.
For a year now, I've been avoiding the fashion police by instead of "sandals" wearing "shoes with holes in their sides". I've got these Keen's that look enough like shoes that nobody ever bats an eye at you wearing them with socks (Ok, by "nobody", I mean my wife, but that's all that matters, right?).
The problem is that it looks like the fashion police may be starting to figure it out. The model I have seems to be no longer in production, and now all the new ones I find are pretty obviously sandals (toes and/or heel showing).
So when I wear out my current ones, I'm going to be in trouble again. Damn.
Thursday, June 11, 2009
Happiness is a warm SCM
I'll have to post this while I'm still happy, because the merge window for Linux 2.6.31 opened a day ago (well, somewhat more, but I don't take patches immediately after doing a release), and so far it's been such a nice thing that I thought I'd better post while in a good mood. Before somebody sends me the merge request from hell.
So why am I in a good mood?
My real "work" is not really writing code any more, and hasn't been for a long time. No, I worry most about the whole "flow of patches", and the way development happens, rather than so much about any individual piece of code I maintain. And the last few release cycles have had a couple of really hard-to-merge issues - not because the code was necessarily bad, but because of how it was then presented to me as a fairly messy history.
And so far, the 2.6.31 merge window is going swimmingly. The x86 tree, which has gone through a yo-yo of different development models with (different) problems, seems to have gotten to that "good place" where it seems to be working.
Part of the problem is that 'git' is such a flexible tool that you can use it in various modes, and mix things up freely. The whole distributed nature means that there's no gatekeeper, you can do whatever you want. And the flexibility and power is good, but it does mean that it's also easy to make a mess of it - the old UNIX philosophy of giving people rope, and letting them hang themselves with it if they want to.
So it takes time for people (me included) to learn the rules that work. And it seems people are learning. And that feels really good.
So why am I in a good mood?
My real "work" is not really writing code any more, and hasn't been for a long time. No, I worry most about the whole "flow of patches", and the way development happens, rather than so much about any individual piece of code I maintain. And the last few release cycles have had a couple of really hard-to-merge issues - not because the code was necessarily bad, but because of how it was then presented to me as a fairly messy history.
And so far, the 2.6.31 merge window is going swimmingly. The x86 tree, which has gone through a yo-yo of different development models with (different) problems, seems to have gotten to that "good place" where it seems to be working.
Part of the problem is that 'git' is such a flexible tool that you can use it in various modes, and mix things up freely. The whole distributed nature means that there's no gatekeeper, you can do whatever you want. And the flexibility and power is good, but it does mean that it's also easy to make a mess of it - the old UNIX philosophy of giving people rope, and letting them hang themselves with it if they want to.
So it takes time for people (me included) to learn the rules that work. And it seems people are learning. And that feels really good.
Subscribe to:
Posts (Atom)