Everyone enjoys a good language bashing now and then--especially when it's a shining example of how the language makes it hard to do something amazingly simple, like reading a file.
You know, I've never really felt like I've been at Yahoo long enough to say things like "This is really stupid. You know, I remember back when..."
Over the last few years, things have been changing. As companies grow and evolve, they develop and enforce processes and procedures--often complex. They do this for a variety of reasons, and we're no exception. So far many of the changes have happened slowly and they often haven't affected me directly.
Something that used to be done in a matter of a day or two has become a drawn out ordeal that can result in weeks of waiting. And, of course, the number of people in the path from point A to point B is a little stupid.
Dumb corporate policies.
Sometimes you end up fighting a problem and realize that you have two options. First, you can "give up" and start over (reinstall). Or you can keep trying, knowing you'll eventually come up with a solution and likely learn a lot along the way. The tradeoff, of course, is time. The first may take an hour, while the second can consume much of a day.
I opted for the second yesterday. I didn't get to bed early at all, but I did manage to fix a very odd problem on a server. In the process, I replaced the 2 80GB software RAID-1 disks with 2 120GB disks and undid the raid. I also converted the ext2 root filesystem to ReiserFS, my filesystem of choice.
Along the way, I learned a lot more about partitions, filesystem recovery, initrd/mkinitrd, and various other tidbits. I'm happy I did it. I didn't lose a single bit of data despite one of the disks seeming to be funky.
Later today, I'll haul the server to it's new home in a colocation facility in Santa Clara. (It used to live in Palo Alto, but I had to move it, thus killing the 520+ day uptime.)
Hands-on experience can be one hell of a teacher.