db(); $openidname = $_SESSION["sess_openid_auth_code"]; ?>

« July 2006 | Main | September 2006 »

August 2006 Archives

Wednesday, 2 August 2006

Blasting Through The Chores

I drove the car down to the Audi garage yesterday to find out how much the repair of the back bumper is going to cost us. It's not cheap, as the entire bumper has to be replaced. Not only that, but the side panels have to be resprayed, too, to ensure the proper matching of the pearl-effect paint.

That was a costly manoeuvre, reversing into that tree like that. I'll have to pay for it out of my own pocket, of course, so as not to adversely affect my no-claims bonus. Since it was entirely my fault, I don't feel too bad about it. After all, any accident whereby all the car's occupants emerge unscathed is a good accident in my book. Anyway, the car is booked in for 14th August.

Speaking of the car, I used the driving opportunity to try out the new FM transmitter and charger that I had Mike, my father-in-law, send over from the US. It's for use in combination with my recently purchased iAudio X5, and I have to say that it's beyond me why Cowon don't sell this product in The Netherlands. Perhaps it has something to do with radio broadcasting regulations.

Anyway, it's great. I now have Rockbox in the car, and a single cord both charges the X5 and powers the FM transmitter. I set the transmitter to broadcast its signal on 107.3 Mhz, tuned to that frequency on the car's radio, and then saved a voice tag in the car's voice control system. Now, all I have to do when I get into the car and want to listen to the jukebox is turn it on, hit the voice control button on the steering wheel and say, "Radio", followed by, "Play iAudio". The wonders of modern technology.

If only the voice control system could be patched into the X5, allowing me to vocally select the artist and album. Now, that would be cool!

The sound quality's not bad, but you can certainly tell that it's FM, not anything close to CD quality. One has to be careful with the X5's volume level, too, as the FM transmitter is optimised for a certain sound level and distortion can be heard if one overdrives it.

Thanks, Mike, for resending that unit. I just wish we'd had it for our two month tour of Central Europe. As it was, we had to make do with a pile of CDs (many of which we never actually loaded into the changer) and local radio stations. Actually, that was absolutely fine, as most of the time, the CD playing was Eloïse 's baby songs by Karin Bloemen. It has an amazing ability to pacify tiny tearaways (ours, anyway).

On a different subject, some furniture arrived yesterday afternoon, namely a new couch, two cushions and a side-table. The sitting-room is looking nicer now. Our old $50 Palo Alto couch has moved up to the guest-room, so that Peter and Chantal will have somewhere to sit (apart from the bed) when they visit us in ten days' time. We're both eagerly anticipating that visit.

Our silver cutlery was delivered after dinner yesterday and it looks beautiful. As with any such item, it's hard to bring oneself to actually start using it and inflict the first scratches upon it. Our first family heirloom is now a reality. Now I have to remember to get the stuff insured. We also have to figure out where to place the chest of drawers that accommodate it.

This morning, the two armchairs for the sitting-room were delivered. The main work is now done in that room, although we still need a sideboard of some kind, plus glass-topped table for the centre of the room. We also need to make it look lived-in by hanging up art and other decorations. At the moment, things still look rather sterile in there. Unfortunately, one of the of the armchairs has some minor damage, which doubtless occurred during transit, so that will have to be replaced.

We had a sun protection shop come around this morning, too. They are going to fit some pull-down and pull-across net blinds on our kitchen and living-room doors, so that we can leave them open all day without fear that Eloïse will wander outside and fall down the steps. We should have those a couple of weeks from now.

After that, a handyman came around to look at doing some odd jobs for us, including an element of baby-proofing the house. One wonders if a house can even be Eloïse -proofed. We shall see.

And lastly, our cleaner is here, helping us (which means, of course, doing it instead of us) clean our house, which is rather dusty after a two month absence. By the end of the afternoon, the place is going to be ship-shape and Bristol-fashion once again.

Sunday, 6 August 2006

Back To Reality

Well, the rain has finally stopped after five days of solidily pouring. That's nice.

We've been back a week now and, whilst it felt strange at first, it's now as if we'd never been away. The familiar old rhythm has returned. Life in the same place every day doesn't half seem mundane compared with the sensory stimulation of travel, though, with new sights and sounds to be experienced every day.

The cessation of the rain was just in time for Amsterdam Pride, the annual maritime homo carnival along the capital's canals. I hadn't ever bothered to go before and we missed last year's parade by one week (we moved to Amsterdam from the US in the week following), so this time the three of us went along on the bikes.

Permits had only been granted at the last minute this year and many people thought it wouldn't be able to go ahead, so there were fewer boats and it all seemed toned down a bit. Nevertheless, there were plenty of bare buttocks and dicks flapping in the breeze, plus, of course, lots of outrageous costumes. Eloïse seemed to enjoy herself.

Speaking of the world's most demanding small person, we received a letter confirming that Eloïse has been assured of a place at the local Montessori school, so we're very happy about that. There are few things more important to your child's upbringing than determining the place where they will be educated, where they will socialise, be shaped and moulded. It's nice to have that box ticked at this early stage.

Eloïse became very aware of animals during our recent travels around Central Europe, so we took her to Artis last Monday. She actually wasn't all that interested in the exotic animals and seems to prefer the ones to which she's grown accustomed, such as dogs, cats and horses. Whenever she sees a horse, she points at it and loudly shouts, "Ba! Ba! Ba!". Only being taken out on the bicycle meets with similar enthusiasm.

Today, I took her to the sandpit in the Vondelpark, while Sarah stayed at home and weeded our geveltuin (a small, pavement-level enclosure at the front of the house, in which one can put plants and flowers. The local council lays these for free on request, to contribute to the overall image of the street). She didn't seem in the mood for it, however, so we left after hallf an hour and went biking around the park before returning home.

Thursday, 10 August 2006

Something For The Weekend

Eloïse went to the consultatiebureau today. She now weighs 10 kilos exactly, which means she's putting on weight nicely.

I was planning to go with Sarah, but we had a bloke coming to look at the boiler and he changed the appointment time, so I had to stay at home to deal with him.

A different bloke, one from a gardening company, also popped around today to size up our garden. In our recent absence, the place has turned into a jungle, so it's nice to have someone sorted out to tackle it a couple of weeks from now.

Sofia, our cleaner, was here today, too, so the house is now looking spick and span, ready to receive our next set of guests, Peter and Chantal, who will arrive Saturday afternoon. Both Sarah and I are looking forward to that very much.

I shared an office at Google in Mountain View with Peter for several years, so he occupies a very special place in my memories of my time at Google. It will be nice to catch up with him and drink loads of coffee, a substance that Peter and I both feel strongly about, although he more than I. It will be nice for Sarah, too, to have another American woman to talk to.

The weather forecast doesn't look all that good for the period that they're here. Hopefully things will clear up a bit by the weekend. After two heatwaves, the summer really does appear to be over for this year. The mercury barely creeps up to 20°C each day and the sky is permanently overcast, if not pouring with rain. Why is the temperature seemingly always < 20°C or > 30°C? What's wrong with that middle ground?

We had a handyman fit a latch to the guest-bedroom door a few days ago. Why there wasn't a latch there to begin with is a mystery to me, but there wasn't. I'm sure Peter, Chantal and our other future guests will appreciate being able to close their door now.

What else? Well, Sarah finally has that elusive SoFi-nummer (national insurance number) in her hands. Almost a year to the day since moving here, she now has the magic piece of data that provides her with fiscal legitimacy and the dubious privilege of being able to pay Dutch taxes. Obtaining that number was on my original to-do list of things to do in the first week after our arrival, but it was dependent on her residence permit, which turned into a long and drawn-out story. Anyway, the number is hers now.

We finally hung up our oil-painting in the sitting-room this afternoon. Well, more accurately and fairly, an acquaintance of ours, Gerard, hung it up for us. It really adds a touch of style and class to that room, which made me realise all the more strongly that the rest of the house needs similar touches. We just still haven't put our stamp on this place yet.

I've been looking at wristwatches for the last few months. The odd thing is that I haven't worn a watch since 2000, when the cheap timepiece I was wearing fell off somewhere in Ottawa. I tried living without one to see how easily I could cope and was delighted to find that I didn't miss it at all, apart from the sentimental value that it had. Oddly, I can now no longer remember the slightest detail of that watch.

Anyway, about six months ago, I felt the vaguest of urges to start wearing a watch again. This is decidedly peculiar, since there has never been an period in my life in which time has played less of a role. I don't have much of a schedule to keep these days, seldom needing to be anywhere at any given time. Indeed, it scarcely matters what day of the week it is, never mind the time.

A few months have passed since then and now I find myself wanting to have a watch again. Sarah is always asking me the time when Eloïse falls asleep, as her regular sleeping patterns translate into a peaceful life for us when we are mindful and respectful of them, and it's tedious to keep pulling my mobille phone out of its holster.

So, whilst the desire for a new wristwatch is quite strong now, it has as much to do with wanting to carry around a small work of art and piece of technical ingenuity as it does with wanting to know the time at any given moment. I'm close to settling on a brand and model at this point. More on the subject when I do.

I've also been busy with new releases of Ruby/LDAP and Ruby/Amazon since we've been back. These two projects are now at version 0.9.7 and 0.9.2, respectively. It's good to keep my hand in with some form of programming, since my sysadmin/programmer skills are otherwise completely languishing.

Finally, the tedious process of importing, rotating and captioning photos has been going on in earnest behind the scenes. We hope to be able to reveal the snaps from our recent trip through Central Europe within a few days.

Monday, 21 August 2006

Wet, Wet, Wet

I finally got around to upgrading our server to FC5 this evening, so we're now running Apache 2.2 and other goodies. The laptop has been brought up to date, too, leaving only the workstation upstairs still to be done.

Peter and I dug out my ill-fated MythTV hardware earlier this week and spent some time on it. There are definitely some hardware problems, but we managed to work around them, cannibalising a video card from another machine and discovering a dead connector on the power-supply unit.

That box is now also running FC5, but the Netgear WG311 802.11b card I bought for it has a revision 3 chipset, which isn't supported by Linux. I'm going to have to pull the three year old PCI wireless card out of my workstation and use that in the MythTV box, but at least that will save me from having to purchase any more hardware; that box has been expensive enough already.

What else have we done lately? Well, the car's back bumper has been repaired. It was an expensive repair, involving the complete replacement of the bumper and a respray of the side panels, but the car's looking as good as new again now, with the colour apparently having been perfectly matched.

The boiler downstairs saw its first maintenance in many years earlier this week, probably even its first since being fitted. That fixed the problem of the hallway radiator getting hot even when the heating was turned off, which was a very irritating manifestation, especially on a hot summer day.

Tomorrow, a gardener arrives to take care of our burgeoning jungle and, later in the week, we'll be having some gauze blinds fitted, which will allow us to keep the kitchen and dining-room doors open, without fear of Eloïse crawling outside or insects flying inside.

Speaking of those doors, the deluge of rain today revealed some minor leaks in the seal of the kitchen door. There's another one in the skylight of the guest bathroom. Sigh... More maintenance to have done.

Finally, the bureaucracy factory is firing up again. It's time to renew Sarah's residence permit, which looks like it's going to be quite a bit of work again, as I must once more prove that I can keep Sarah in the style to which she has become accustomed. More photocopies of bank statements, passport pages, etc., etc. will be winging their way to the IND any day now.

Jungle Gardenia

The gardeners came this morning to tackle our jungle. Two men spent four hours, pruning, raking, mowing and lugging bin-liners full of organic refuse. Although it looks a lot more tidy now, the grass is now looking quite yellow, so I think it's going to take a few weeks to a couple of months to get it looking nice again.

We viewed a house today. We're not really thinking about moving, but the opportunity arose to see a very large and interesting house in our neighbourhood, so we thought we should go and have a look at it. I liked it more than Sarah did, but neither of us fell in love with it, so I'm happy to say that we don't have to start the emotional process of seriously considering purchasing it.

It's quiet in the house again, with Chantal and Peter having gone back to Zürich. The next time we see them, they'll be in Australia, which means we will be, too. With Peter, Chantal, Bas and Kylie heading to Australia to live, plus our friends Allan and Kyleigh in New Zealand, next year is looking favourite for a long, drawn-out trip to the Antipodes.

Wednesday, 23 August 2006

yum install mythtv-suite

Thank you, Peter, for inspiring me to pick up where I left off with my MythTV project all those months ago.

I'd got so sick of failing and unpredictable hardware (as well as my own hamfistedness) that I'd shelved the project in disgust. Every time I'd remembered the pile of wasted hardware in the upstairs room, I would quickly try to forget about it once more.

That would have been a great shame, not to mention a huge waste of money, so I'm glad Peter persuaded me to look into it again. He messed with the hardware and localised one of the problems that had been dogging me: a dodgy power socket on the power-supply unit. It hadn't been obvious to me, because it was providing power; just not reliably.

Peter had wanted to do more on the box the other day, but I wasn't keen. I just wasn't in the mood. Besides, thinking I was now past the worst of the hardware problems (and, more importantly, over the psychological hurdle of feeling ill every time I thought of the frustration the project had caused me earlier in the year), I reasoned that I would now soon feel the urge to go further on my own.

Well, that moment came last night. I mounted the floppy drive in its metal casing and screwed the DVD recorder back into its mount; then I seated and screwed those back into place in the case. Finally, I took my wireless LAN card out of my workstation and, along with the TV tuner card, inserted it into the new box.

Of course, all that disturbance inside the case caused the machine not to boot again, so I spent another frustrating couple of hours tracing the problem. I finally realised that not one, but two connectors on the power supply are dysfunctional. This made troubleshooting an order of magnitude harder, because as I unplugged things and tried reconnecting using different sockets, not one but sometimes two things would suddenly start or stop working.

Anyway, I now have all of the hardware working, but I have no spare power connectors left and there's every possibility the entire power-supply unit will fail at some point, necessitating replacement. Nevertheless, to be this far along with the hardware is great.

And so I was able to install the operating system. Peter and I had done that once already when he got the box working, but I decided to reinstall it last night with fewer packages. I also opted to use JFS instead of XFS for the main /video file-system.

The system is now up and running, and fully updated to the latest errata packages. That allowed me to run yum to install the complete set of MythTV packages, which added a further hundred packages to the system. I'm glad I didn't have to manually chase down and satisfy that dependency chain.

The work on configuring the TV card now begins. Watch this space.

Sunday, 27 August 2006

Finally, It Works

Since I got back into the MythTV project a few days ago, I've scarcely come up for air. It's been a long, winding and especially rocky road, but we're finally reaping some of the fruits of those labours.

The good news is that our MythTV box now basically works, which is to say that we can record and watch programmes, both from live TV and previously scheduled recordings.

On the other hand, although I've put a lot of work into the system already, I still have quite a way to go before it becomes really useful. For example, only one TV tuner is active and it's receiving analogue cable input. This means a lot of our favourite channels, such as BBC3, BBC4, BBC Prime and the Travel Channel are missing from the feed. Furthermore, the coaxial input providing the analogue signal is chained through a couple of other devices before it gets to the MythTV box, so the signal quality suffers. Most of all, though, the poor quality is down to the TV cards, which, truthfully, just aren't that great.

To get things up and working as quickly as possible, I followed the excellent HOWTO put together by Jarod Wilson. It's a little out of date and some of the information is no longer accurate, but that didn't cause any major headaches.

I bought a second tuner card a couple of days ago, a PVR-500, with the intention of making this a triple tuner box (the PVR-500 has two tuner inputs), but this particular card turned out to have the latest Samsung chipset on it, which won't be supported for a little while yet. Even if I had the patience to wait, I don't want to have to update the kernel or the ivtv drivers, since these are fragile software components that currently work. Messing with them is just asking for trouble.

So, I took the PVR-500 back to the shop yesterday and exchanged it for a second PVR-350. It's only a single tuner card, but the chipset is well known and superbly supported by Linux. Besides, two tuners should be plenty in practice.

The idea behind the second tuner is that it will receive its input from our digital cable box, enabling us to record in higher quality and, more importantly, record from the channels that are absent from the standard analogue cable package. I'll be working on getting that part working in the coming days. The hardest part will be trying to get an IR blaster to change the channel on the digital cable box, since that brainless thing has no serial port or other civilised way to externally control it.

In fact, not only is the cable box missing useful inputs, it only has SCART outputs, which is a problem, because the PVR-350 wants either coax or S-Video + a 3.5 mm stereo jack for the input. I bought a lead today that gives SCART to S-Video + 2 RCA phono jacks, plus an adapter to convert the two RCA plugs to a single 3.5 mm stereo jack. It's not ideal, but beggars can't be choosers.

The hardest thing to figure out so far has been the really poor picture quality coming out of the PVR-350. I couldn't understand why the MythTV menus looked great, but the TV picture showed lots of discolouration and wavy lines. In the end, it turned out that MythTV's channel scanner is buggy: it doesn't fine-tune the channels it finds, so if you look at the frequency that each channel has been tuned to and compare that to the one given in UPC's table of channel frequencies for the Amsterdam cable network, you see that the tuning is off my a few hundred kilohertz every time; enough to really screw up the picture. The solution is thus to enter each channel's frequency by hand from this table.

Even after fixing that, though, the picture is nothing to write home about, certainly when you've become accustomed to digital cable; and one of the PVR-350s suffers significantly worse from interference than the other. I played around with both cards, swapping them from one PCI slot to another to ascertain whether this was truly the case, and it is.

Another annoying problem was having an off-centre picture, with the left and bottom edges of the picture running off the screen. I'm not using a normal video card at all, having instead opted to set up a frame buffer and an X server for the PVR-350's TV-Out. This allows the card''s hardware-based video decoder to be used for playback, which reduces the load on the main CPU. I'd actually like to remove the nVIDIA video card altogether, as it was needed only for installing the operating system, but the system won't boot without a card in the AGP slot.

Anyway, the off-centre picture problem was puzzling. I was using a perfect X modeline for a PAL television's 720x576 resolution, so that couldn't be it. Eventually, I mostly fixed the problem by telling MythTV to run its GUI in a window rather than full screen, and to offset the window.

In the coming days, I'll be trying to make a number of improvements to the system. Most importantly, we need to be able to record from the digital cable box. The remote control also needs some minor tuning, as its current configuration is not all that intuitive. Also on the list is the housing of the system. It has a VFD display, which currently displays the unwavering message "Welcome to HTPC". Ideally, I'd like that to display details of what's currently being viewed or recorded, but it remains to be seen to what extent I can drive that device in Linux, which connects internally to the motherboard via USB.

Apart from that, both Sarah and I need to become more familiar with the system, as it's a bit rough around the edges and doesn't come with a manual as such, just the Installing and Using MythTV document. There are a lot of complicated settings that I currently don't understand, so I'm leaving them well alone.

But there you have it. Some six months later than originally envisaged, our MythTV box is finally a reality, which is very pleasing, indeed. We even have MythWeb running, so we can use a Web browser to schedule the recording of programmes: handy when you're away on holiday and hear about a great programme you'd like to see.

This will be an ongoing project, though. There have been a couple of kernel oopses, hangs during channel scanning and strange video freezes, which all need to be cleared up if the system is to truly become a useful appliance, rather than just an interesting hobby project. It's certainly a lot of fun to play with, though.

Tuesday, 29 August 2006

Stuck

I've made a lot of progress on the MythTV box on the last few days.

Firstly, I didn't trust the SCART to S-Video/2 x RCA cable that I'd bought, suspecting that it may be wired to have SCART be the input, not the output. So, I went out and bought a switchable input/output SCART connector, along with an S-Video cable and a double RCA jack lead. Using this, I was able to conjur up a black-and-white image from our digital set-top box on /dev/video1, our second PVR-350 TV card.

Interestingly, the ivtv driver needed its input set to 2, not 1 (as documented), to produce colour S-Video output. Perhaps 1 is for NTSC, rather than PAL, but who knows? Most of this stuff assumes NTSC and other American details, so I've often found myself having to go through a few extra hoops. Anyway, the cable box now gives an image on the MythTV box, so that's progress.

For the last couple of days, I've been beating my head against the wall, trying to get to the next stage, which is to have the MythTV box be able to change the channel on the digital set-top box. Getting this to work is a nightmare.

The basic description of what is needed for this is simple: connect an IR blaster to the MythTV box and have it act like an oversized remote-control to the set-top box. The reality, as is so often the case with Linux, is that there's a lot more to it than this.

The IR blaster was purchased months ago from a bloke in the US, using PayPal. It connects to the RS232 serial port.

Now, the IR blaster needs to be driven using lirc, but an instance of that is already running to handle input from the PVR-350's remote-control. lirc isn't teriibly sophisticated, so multiple instances of the daemon, lircd, would conflict with each other. So, I had to produce a modified build of lirc that would handle talking to the set-top box.

Ha! Easier said than done. Kernel sources were required for this, so I downloaded the Fedora source RPM of those and dropped them on the box. However, compiling lirc against these gave module address mapping conflicts when I tried to insert lirc's modules into the running kernel. In the end, I had to partially build a Fedora kernel to reproduce the module map that Fedora was actually using and thus expecting.

That was more work than it sounds, because I don't use custom kernels any more (I just don't need them any more and compiling them for the sake of it is something I'm too old, fat and lazy for these days).

Anyway, finally I had a second instance of lirc that would use different device nodes than the original. Next, I set about testing the software, which eventually worked and appeared able to drive the IR blaster.

The next problem was that there is no existing lirc remote-control config for the Thomson DCI-52UPC, which is the piece-of-shit set-top box provided by that wayward gang of goons known as UPC. This meant I needed to create one.

Creating such a config entails using the device's remote-control to teach lirc abput the required IR codes to drive the unit. Sounds easy, I know.

Well, the first problem was that my PVR-350's IR unit expects only its accompanying remote, which uses the RC5 protocol. UPC's set-top remote-control clearly doesn't, so I can't use the PVR-350 as a receiver for learning the codes.

Now, the VFD display on the Origen AE case that houses the MythTV box also happens to have an IR unit, so I downloaded some software from IRTrans to make that work. Rather surprisingly, I was able to get this IR unit to the stage that it would recognise keypresses from the DCI-52UPC's remote-control, which was pleasing.

Unfortunately, the software used to talk to this IR unit is not lirc, so although it was listening to the keypresses and recording them, it was doing so using a format that lirc can't use to relay to the set-top box.

So, I went out and purchased another IR receiver this afternoon, a Microsoft MCE unit. Although it's sold as a Microsoft unit, the kernel reports it as a Philips eHome Infrared Transceiver. It's a USB device and was recognised as soon as I plugged it in.

Within a few minutes, the system was configured to start recording keystrokes from the UPC remote-control, using lirc's irrecord utility. A few minutes after that, I had an lircd.conf file containing raw IR codes for the set-top box. Optimistically, I thought I was now in the home straight.

Well, I fired up the new instance of lircd and told it to send some numeric keystrokes to the UPC box. The IR blaster's visible LED flickered red with each keystroke, but the UPC box just sat there, ignoring whatever the blaster was sending.

I've spent the evening reading about lirc and infrared protocols, but I have to admit to being stumped at this stage of the game. I don't know what to try next at this point. How hard can it be to send IR signals over a small transmitter and have those interpreted by a set-top box? Too hard for me, clearly.

But it's not all doom and gloom. Yesterday, I finally figured out how to make the VFD display on the case work. It connects internally over USB, but it needs to be driven as a serial device, so first of all you need the ftdi_sio kernel module to do the conversion.

Then, you run irserver, which can be downloaded from IRTrans. It's a low level daemon that accepts commands over TCP and passes them on to the VFD unit.

MythTV, on the other hand, knows nothing of such things and expects to be able to use LCDproc as its API. Happily, the people at IRTrans have a patched version of LCDproc available for download. Once that is installed, you can fire up LCDd, which then talks to irserver, which, with a little bit of help from the ftdi_sio module, drives the VFD unit.

Simple, as only Linux can be. Anyway, the result is nice: channel and programme information is now displayed on the case's VFD unit, which lends the box a slick and professional look.

I've also replaced XMLTV's tv_grab_nl with a Python version I found on the Web. This one is much better, as it grabs channel icons and reliably downloads programme descriptions and genre information. The old one wasn't robust and couldn't deal with the contradictory data supplied by tvgids.nl (e.g. overlapping start and finish times).

Finally, I've put in a cable amplfier/signal splitter unit, so that we can have more inputs to the MythTV box. The idea is to add a third PVR-350 tuner card at a later date. At that point, all of the machine's PCI slots will be in use.

There are sundry other niggling little problems with the box, ranging from playback freezes (which can be remedied with a push of the skip button) to kernel oopses. All in all, the system has fantastic potential and is an endless source of hacking pleasure and frustration, but it's definitely not production quality material at the moment.

I really do have to get the bloody thing to change the channel on the digital set-top box, or it will have limited utility. If I can just get that part to work, I'll be most of the way there and can then sit back, breathe out and relax a little again.

The whole experience gives me a huge amount of respect for TiVo. How they can put together a reliable box for $200 is beyond me.

One small step for Eloïse

Eloïse took her first tottering steps today. For several weeks, she'd been pulling herself to her feer and staggering a step or two before falling down again, but today she got up and just walked across the room. Similar amazing feats of pedestrianism have been occurring all day long.

We're so proud.

About August 2006

This page contains all entries posted to Caliban - Opinion and Righteous Anger in August 2006. They are listed from oldest to newest.

July 2006 is the previous archive.

September 2006 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.34