How Software Is Built Interview

Send to Kindle

A few weeks back, I was interviewed by two guys, Scott Swigart and Sean Campbell, who are doing a very interesting survey called How Software Is Built. The transcript of our session just went up last night. It’s long (as most of these are), but if you’re up for it, here’s the link.

Rube Goldberg and SSH

Send to Kindle

Rube Goldberg would be very proud of what you can accomplish with SSH. If you don’t know what SSH is, you really should just stop reading, as not only will this post be meaningless to you, you wouldn’t care about the result (or technique) even if you followed it perfectly! πŸ˜‰

A while ago, I gave an ancient laptop to a good friend who was sharing her husband’s laptop while they lived in Princeton for a year (he just finished a fellowship there and they are returning home in a week). Given the age of the laptop, the amount of RAM, the size of the hard drive, etc., I was hoping my friend would be willing to live with Linux rather than Windows on the box.

She’s a Gmail user, so she was indifferent (obviously, having never tried Linux before), given that she basically lives in the browser most of the time she’s on the machine. I installed PCLinuxOS on it (the 2007 release) because it looks a bit more like Windows than some other popular Linux distros. Today, I would make a different choice, not that there’s anything wrong with PCLinuxOS.

Anyway, for the most part, it has worked out very well for her, and she’s felt connected to the world, especially when her husband was in the office, and there was no laptop at home. Unfortunately, there is a bug somewhere either in PCLinuxOS, in her hardware, in their Linksys router, or in the timing between all of them, because on occasion, when the laptop boots, it doesn’t get the correct DNS server info even when it gets a good IP address via DHCP.

In what has to be a very painful process for my non-techie friend, I have given her a series of a few commands to type into a terminal window to correct the problem, when it occurs. Of course, it’s entirely Greek to her (rightfully so), but it works, and she patiently types them away and it all magically starts working again.

On occasion, she’s had trouble getting all of the commands in correctly, and she feels guilty calling me, even though I keep telling her that I don’t mind helping whatsoever. That got me to thinking about how I could fix it permanently, without making her life even more miserable trying to talk her through the various things I’d like to try in order to be sure I found the right solution.

I don’t have time to visit Princeton this week, and soon, she’ll be back in Indiana, and I definitely won’t be visiting there in a while. So, I need to have remote access to her machine. I can’t just SSH into it, because I certainly don’t want to talk her through port forwarding on her Linksys router, nor do I want to leave that port permanently open. That cuts out a vanilla VNC connection as well (which would be overkill, but if it was available, would work as well).

So, I thought that perhaps I would try one of the web-based remote control services. I have had excellent success with the free service from when I help my Dad with his Windows machine. It works on PC’s and Mac’s, but apparently, not yet on Linux, even though it’s Java based. That was disappointing. A peek on a few others yielded similar results.

After scratching my head a bit, and searching the net a bit more, I came across a very simple solution, entirely via SSH, but with Rube Goldberg implications in that I was solving a very simple problem, with a built-in option of SSH, but jumping through tons of hoops to get to the point where the simple command could be issued.

The solution (tested by me, but not yet done with my friend, because I wanted to be sure before subjecting her!) is as follows:

I’m running Windows XP. I could run an SSH daemon there (in a number of ways), but since this is a temporary solution, which I don’t really want to think about, instead I fire up VMware Player and launch my new favorite mini-distro, CDLinux 0.6.1. It automatically fires up an SSH server.

I then poke a hole in my firewall (I didn’t need to talk myself through it either) πŸ˜‰ with an arbitrary port number (for argument’s sake, let’s say it’s 12345). I forward that to port 22 on my CDLinux instance (running under VMware, and therefore having a different NAT’ed IP from my Windows box!). I can even leave the firewall in that state permanently if I want, since 99.9% of the time, CDLinux won’t even be running, and even if it was, and someone luckily got in, it’s a Live CD image, with nothing to really harm!

OK, we’re almost done! On the remote machine (my friend’s), she would type the following, in a terminal window:

ssh -l cdl -p 12345 -R 54321:localhost:22

She’ll get redirected to my VMware instance, and be prompted for a password, which I’ll give her in advance (can’t use ssh keys for this, since I don’t want to over-complicate this). Once she is in, I open a terminal window in my instance, and type:

ssh -l her_user_name -p 54321 localhost

Voila! I’ll now have a shell on her laptop, through an SSH tunnel, without her poking any holes in her firewall, and without me even needing to know her IP address, unless I want to restrict my SSH port forward to her specific machine, which would make this dance even more secure.

I’ve tried this a few times from different machines, all with success, but my friend isn’t online at the moment, so the final test will likely have to wait until tomorrow morning. In any event, a cool (and relatively simple solution) to an otherwise thorny problem. Just as a footnote, if I needed more control over her machine, the exact technique could be used to reverse tunnel a VNC port, giving me graphical control, or I could SSH back with -X (for X-Windows tunneling), and launch graphical clients one at a time, etc.

Update: OK, so today we got to try, and it worked perfectly. The only kink was that sshd was not automatically started on her laptop, so I had to talk her through becoming root and starting the service (simple enough!).

After we got it going, I did the unthinkable, and offered to upgrade her system. It was reasonably old, with Firefox at (for example), and lots of other packages that could probably stand a security update. I warned her that it’s often better to leave these things alone when they are running smoothly, but in the end, we both decided to go for it.

So, I ran an apt-get upgrade. I then asked her to reboot. The machine came up, but only in terminal mode. She was able to log on, but startx failed with tons of errors. Oh oh…

Thankfully, the network did come up, and she was able to log on and run the ssh tunnel. I was then able to get back on her machine. I decided that instead of poking around too much, I’d try one last thing, which was to perform an apt-get dist-upgrade. This ran for a bit, and then I asked her to reboot again.

Voila! The machine came up correctly, and the networking worked again. So, for the moment, it seems that we accomplished everything we set out to do today, including her running Firefox (I know, not 3.0 as yet…). Whew! πŸ™‚

BSOD Update

Send to Kindle

In my Laptop Spring Cleaning post, I mentioned that Lois had been suffering from daily BSOD’s (the infamous Microsoft Blue Screen of Death crashes). I also mentioned that after the spring cleanup, she went five days without a crash. That joy was short-lived, as the crashes returned.

Some days, the machine wouldn’t boot. You could hear the drive spinning, but the Post (what the BIOS shows while it’s starting up) was blank. The only reliable fix was disconnecting the battery for a minute, or worse, disconnecting the hard drive cable, and reconnecting it. Clearly, both painful solutions, since I had to open the bottom of the case to get at those devices.

On Monday this week, neither of the above tricks worked! Oh oh, I couldn’t get Lois’ machine to boot, and this was not a happy situation. Then, I got a partial Post screen (it still hung), but I saw that the number for the amount of RAM in the machine was wrong. Lois has (or had) 1GB of RAM, two sticks of 512MB each.

The machine was now showing 512MB. So, I assumed that one of the sticks went bad. I searched online for 1GB RAM prices, and the newer DDR2 chips are so much cheaper. I didn’t care if they would run slower than they are capable, as long as they ran as well as the more expensive correct memory would.

I decided to write to the owner of the company that I bought the laptop from, I have a ton to say about them, and have been procrastinating writing a long post for weeks. I’ll get that out at some point (probably next week). I asked him whether the PC5300 sticks would work in my PC3200 machine. He cautioned me that they might not and gave me a very good suggestion on how to find out.

But, much more importantly, he told me that it could just as easily be a bad RAM slot (rather than a bad RAM stick). Honestly, that never occurred to me (I don’t know why!). At the end of the day, I removed one of the sticks from Lois’ machine, and it still wouldn’t boot. I moved the stick from one slot to the other, and the machine booted instantly.

I switched the chips and the machine booted instantly. I inserted the second chip (yes, I’m using chip and stick interchangeably here) and the machine refused to boot. Voila, Mr. PowerNotebooks was correct, the slot was bad, not the stick!.

This morning, it occurred to me that when we ordered Macs for almost everyone here at Zope, we ordered the memory separately (way cheaper than from Apple!) so we had extra 1GB PC5300 memory chips that we pulled from the Macs. I tried one in the good slot, and it doesn’t fit. The small slit that fits around the small plastic protrusion (forcing you to put the stick in correctly) is a drop smaller than on the PC3200 sticks.

Oh well, at least I now know all of the answers and mysteries of the universe (or at least of Lois’ laptop!). We ordered a single 1GB PC3200 stick today to get Lois back to where she was on memory. She’s been running for the past two days with 512MB, with zero crashes. Of course, we’ve gone a few days in a row before without any BSODs, but I’m betting that this bad RAM slot was deteriorating all along, and was causing intermittent (irreproducible!) errors. At least I’m desperately hoping so!

Testing Windows Live Writer

Send to Kindle

I’ve never been that tempted to try a fat client blog writing application. I’ve been reasonably pleased with the built-in WYSIWYG editor in WordPress. I don’t typically blog when I have no Internet connection, which is one of the better reasons given by those who use these tools.

One of my friends (Jamie Thingelstad) swears by a Mac program that he uses to create his posts. Today, I was reading a post on 10 blogging tips on Life Hacker. In the comments below, I was amazed at the number of people who were wildly promoting the Windows Live Writer (WLW) client for authoring their posts. Clearly, this wasn’t one MSFT lover trying to push a lousy tool.

So, I downloaded and installed it. It took me a while to get past the configuration, which was quite frustrating. It won’t even start up until you get the config correct. That seemed silly, since the errors weren’t useful in helping me debug the problem.

Anyway, the problem had nothing to do with WLW. I had a rewrite rule (Apache) on my server, which prevented WLW from sending the appropriate commands. Once I fixed that, the rest of the configuration completed automatically, including bringing down my CSS/theme so that WLW could show me roughly what my post would look like as I type it (which is way more than the WYSIWYG part of WordPress, which doesn’t apply any CSS to the real-time typing).

Anyway, this will be my first live post with WLW (assuming it works). I don’t know (yet) whether it will be my last, but I suspect not. I haven’t investigated any of the settings/options as yet, so it certainly didn’t require any work to figure it out.


OK, so I hit the Post Draft and Edit Online button (a very cool idea), everything just did what you’d expect. It created a draft on the server, and messaged Firefox (yes, WLW didn’t hijack me to IE, but rather respected my default browser choice!) with the correct URL to the draft post! I’m adding this paragraph and the one below it in my normal online interface.

The only glitch is that the Alt-Text for each of the above links was lost (I filled it in on the WLW side, so I’ll have to look into that). Fixing it was easy, but everything else just worked. Of course, I haven’t done anything like upload photos to a gallery, so that might be an adventure as well. So far, so good.

CSS Hack Added

Send to Kindle

When I upgraded to WordPress 2.5 I articulated a few UI problems on my site. Here’s the relevant section:

  1. The Sociable plugin is once again formatting the bullets in a block list, rather than inline. This can be fixed with my own css (as I’ve done in the past), but I have no idea what broke in the upgrade…
  2. TinyMCE (in WP2.5) won’t allow me to display the link editor (AJAX form). It comes up blank. I am posting this from IE until I figure that out. Not cool, but also not stuck…
  3. This ordered list is not showing the numbers in IE7, but is in Firefox. πŸ™

#1 above turned out to be simple. There was a checkbox that I needed to set in the Sociable options to apply the sociable.css file. This was either a new option that I didn’t need to set before upgrading both the plugin and WordPress, or something in the upgrade to WordPress coupled with a deactivate/activate of the plugin caused that setting to be lost.

#2 auto-corrected itself. I’ll guess that the next time I restarted Firefox it just worked, and I panicked prematurely.

#3 was the real thorny problem, and is the subject of this post.

It’s likely that this bug existed for a few weeks before I upgraded to WordPress 2.5. Most certainly, it is not related in any way to WordPress at all (any version).

When I installed the SandPress theme (based on the Sandbox Theme Template) which is linked in the footer of every page on this site (unless you’re reading this in the future, and I’ve changed my theme again) πŸ˜‰ I decided to tweak it (which was a CSS change only).

One of the things that I did was remove the attribute “list-style-position:inside”. I hate the fact that ordered lists that span multiple lines have text under the number. It not only looks bad (IMHO) it makes it less readable. By removing the “inside”, I got the default of “outside” (without specifying it), and I immediately tested in Firefox (my default browser), and it worked correctly, and I was done.

When I upgraded to WordPress 2.5 I did it on my laptop first. I just happened to test in IE first, and noticed that I have no numbers on any ordered list. I tried a number of things but couldn’t get it to work. I thought that it was something related to the WP 2.5 upgrade, so I needed to decide whether I’d just live with it temporarily, or back off the upgrade. I decided to live with it.

It altered my behavior. In a recent post, I really wanted an ordered list, but I hated the look in IE without the numbers, so reluctantly turned it into a bulleted list. πŸ™

Earlier this week I finally took some time to track it down. That included installing an IE development addon which does what the Firefox DOM Inspector does. I had assumed that in IE, the problem was the “list-style-type” wasn’t being set to decimal. I was wrong. It was correctly set to decimal! I was truly stumped. I tried a number of other things, and then gave up.

Today, it occurred to me that there’s no way that the original SandPress theme was broken this badly. So, I switched (on my laptop) to the untweaked SandPress theme, and voila, IE showed ordered lists with numbers. Good. Now I did a diff on the original style.css file with my tweaked version. The difference was obvious, namely the inclusion in the original file of the attribute “list-style-position:inside”, which I had removed.

So, it appears that the designer of SandPress knew that IE7 couldn’t correctly render “list-style-position:outside” (whether explicitly set, or defaulted). So, he threw up his hands and set it to inside, and lived with it. I totally understand that decision, but for me, I wouldn’t be happy with seeing it this way in Firefox.

So, I did a quick search and found this blog showing a variety of CSS hacks. Here’s the relevant section on targeting IE7:

Target Internet Explorer 7:
[className=”actualClassName”] { … }

In case you aren’t familiar, you can either target or filter specific browsers. Targeting means that the rest of the line will only apply to that particular browser. Filtering means that the rest of the line will not apply to the specific browser.

In this case, I wanted the default to be outside for all browsers, but for IE7 to be inside. That meant targeting IE7 with the inside clause.

It worked perfectly. Now, ordered lists look like I want them to in Firefox, and look poor (to me) in IE7, but at least have numbers. Whew.

Back in business. πŸ™‚

Welcome WordPress 2.5

Send to Kindle

My last post announced a physical move of this server. Before the server was shut down, I saw the announcement for WordPress 2.5 final. I installed it locally on my laptop, and saw that everything on my site worked, with the exception of the Popularity Contest plugin. I had the time to update the main server before it was scheduled to be shut off, but I chose to take the more conservative route, and wait until it came back up.

The server move was very successful, with one unfortunately notable exception. I had an artifact in my IPTABLES firewall rules that made the machine semi-invisible to the outside world when it came back up, even though all of the appropriate DNS updates had been performed.

I count myself as wildly lucky that one of the few things I was able to do successfully was to ssh onto the machine using a direct IP address. It took me a while to accidentally discover the one bad firewall option, but once I changed that, everything started working. Whew! Queued mail started flowing as well.

That left me free to update to WordPress 2.5. That went pretty smoothly too. Of course, just like with the laptop, Popularity Contest doesn’t work, so it’s not on now. There are three other wierdnesses, neither of which I have the time to track down at the moment, but hopefully will later this afternoon:

  1. The Sociable plugin is once again formatting the bullets in a block list, rather than inline. This can be fixed with my own css (as I’ve done in the past), but I have no idea what broke in the upgrade…
  2. TinyMCE (in WP2.5) won’t allow me to display the link editor (AJAX form). It comes up blank. I am posting this from IE until I figure that out. Not cool, but also not stuck…
  3. This ordered list is not showing the numbers in IE7, but is in Firefox. πŸ™

So, welcome WordPress 2.5 to this space. Welcome this server into the new data center. Hopefully, this will be the last move for this specific server, not that it was that much of a hassle. Thanks Dave for taking care of the move and making it so painless! πŸ™‚

Server Relocation

Send to Kindle

Tomorrow night, probably at roughly 8pm EST, the server (the one serving up this content to you) will be heading south, literally.

It will be moved from one data center (in Northern Virginia) to a data center in Central Virginia.

For a number of reasons, I have chosen a less than fault tolerant setup for this server. The most notable example is that there is no secondary MX server. That means that while the machine is in transit, all email sent to it will be deferred (at least I hope it will be).

Also, this blog will be down (obviously).

While the downtime is expected to be 3-4 hours, I may not be awake when the machine comes back online, and I have little doubt that I will have to update things once the machine is back, in order for it to perform its public duties in the manner it currently does. That might not happen until the morning, though I hope that email just works.

Anyway, sorry for any inconvenience, and here’s hoping it goes as smoothly as possible…

Microsoft Madness

Send to Kindle

Yesterday, I read the following article on PC World’s website. It mirrored my thoughts about Windows XP vs Windows Vista perfectly, including direct experience not just theory.

What I learned in that post (which I probably should have known earlier but didn’t) is that Microsoft intends to stop most sales of Windows XP as of June 30th, 2008. I’m not really sure what most means in this context, but either way, it’s boneheaded.

I just did a quick search, and apparently it means that they likely won’t be offering it to OEMs, so if you expect to get Windows pre-loaded on a new laptop after June 30th, you’ll have a choice of Vista or Vista (or Vista or Vista, given that there are four version of Vista available!).

John Heckman questions whether Microsoft won’t bow to pressure and push back the June 30th date.

The minute I read the article I knew I was going to post this. My first instinct was to title it Wake Up Microsoft. Then this morning, it came to me, this is the perfect season to aptly and correctly use the term Madness.

It’s clear that Vista is a bomb. You’d be hard pressed to find anyone without an ax to grind that would seriously defend the merits of Vista over XP. It’s not the first time Microsoft has bombed with an entire operating system. How many of you are still running Windows ME?

At least with Windows ME, it died a relatively quick and painless death. With Vista, for any number of reasons, Microsoft isn’t willing to give up. Given enough time (and money), they will likely make it decent, though it’s unlikely to ever be great (given it’s core), and it’s not even likely to get decent given that they are already working on it’s successor.

The madness isn’t in not killing Vista (I understand that the investment and marketing bets that they’ve made are too big to simply throw away). The madness is taking away the only viable choice that still puts money in Microsoft’s pocket!

Folks, there’s no doubt that XP is eating into Vista sales. That’s the only reason that Microsoft wants to stop selling XP, they want to remove the competitive choice and force new computers to be pre-loaded with Vista! Will it work? Of course, there are many people who wouldn’t consider Linux or Mac under any circumstance, and they will grudgingly (or ignorantly) accept a machine with Vista on it, if they have no other choice.

This doesn’t make it a smart strategy. The sane move would be to keep offering XP as a choice (while heavily promoting Vista). Then, whenever Vista truly rivals XP (don’t hold your breath), or Windows 7 (or whatever it will be called when it finally arrives) is available, stop selling XP.

In the best case scenario, Microsoft will sell exactly the same number of licenses in total (Vista only, instead of a mix of Vista and XP). They will get to declare a huge PR win for Vista (look how sales ramped so nicely!). They will not get any additional profit (since they will be maintaining XP for years to come anyway). They will create a slew of miserable users who will equate Microsoft with pain (or worse).

In the worst case scenario, they will push people toward alternative operating systems like Mac and Linux.

I haven’t done a scientific survey, but I honestly believe that nearly every technology professional (business people too, not just developers) that I know has switched to using a Mac as their primary computing platform (most on laptops, but I know a number of people who use iMacs as well!). When I say “nearly every” one, I believe the number is pretty close to 90%.

Examples include Zope Corporation. While 100% of our services to customers are delivered on Linux-based servers, there is only one developer in the company that hasn’t switched to a Mac. Even the SAs (System Administrators) all got Macs recently (though one of them decided after the fact that he’s more productive on his Linux laptop).

My friends (you know who you are) have been needling me for years to switch to the Mac. I have very long experience with the origins of Mac OS X (NeXT), so no one needs to convince me of the power and the beauty of the underlying software.

I haven’t switched for two reasons:

  1. There are programs (some cool, some necessary) that only run on Windows, or at the very least, run on Windows way earlier than they become available on Mac.
  2. The value proposition of generic hardware (laptops and desktops) is overwhelming vs the Mac stuff. The Mac stuff is gorgeous, and brilliantly designed. Ultimately, it’s not worth the money and locks you in. They also have enough quality problems to make me pause.

My non-technology professional friends (neighbors for example) still prefer Windows. There are a number of reasons but they are all valid (games for their kids, Windows is used at the office, I know Windows, I don’t want to have to buy new copies of software I already paid for, etc.).

In April 2004 I bought my current laptop. In fact, I just wrote about that in this post. I bought it without an operating system pre-loaded because I was committed to switching to Linux full time. The experiment lasted six weeks (not too bad), but once I started running Windows in Win4Lin, I realized that I wasn’t quite ready to cut the Windows cord full time, and I installed Windows XP Pro.

There were two reasons that I switched back:

  1. 95% of the day I was happier on Linux than on Windows. 5% of the day I required a program that was only available on Windows. That 5% started to bug me more each day until I switched back.
  2. Linux was great in 2004, but it wasn’t quite as good on cutting edge hardware as it is today, and I had some real problems on my (at the time) brand new beast. It’s possible that I would have toughed it out if Linux had worked perfectly on my laptop back then. I have no doubt it would work flawlessly today.

My one direct experience with Vista came when my next door neighbor bought a new Dell Laptop for her mother. There was no choice, Vista only. I am their tech support team and she asked me to customize the machine for her mother when it showed up. I was amazed at the hoops I had to jump through to install programs onto the machine. I couldn’t begin to imagine what someone who was less technical would have done (other than throw the machine out!).

In addition, the machine crashed on me at least 10 times in one day during the setup. Sheesh.

Since then, I have been asked for laptop recommendations at least five times. In all cases, the buyer wanted Windows. In all cases I have vehemently recommended XP, and (amazingly enough) it was now available again as an option. None of those users has had a single problem with their new laptops.

Where does that leave me? As I mentioned in my spring cleaning post, I will likely be buying two new laptops at some point (possibly this year, but definitely next year if not in 2008). I have thought about this (before knowing about the demise of XP) for much longer than I care to admit, and I decided that I was going to stick with Windows. Sorry Mac fanboys. πŸ˜‰

If Vista is my only choice, I can guarantee you that I won’t be buying it. Best case scenario (for Microsoft) is that I will buy a retail CD of XP and load it myself. Much more likely scenario is that I will install Linux on the machine, and try really hard to avoid the few Windows-only programs that I’ve come to rely on. The least likely choice is that I will break down and buy Mac laptops, but it’s not impossible (the possibility is at least on my radar for the first time ever).

So, coming full circle to my original post title: Wake Up Microsoft!

Laptop Spring Cleaning

Send to Kindle

In two weeks, my current laptop will be four years old. Wow! It’s a little hard for me to believe that I have resisted the siren song of all the new hardware that has come out during that time.

While I covet the latest stuff, and configure up a dream laptop online at least twice a year, I am (marginally) embarrassed to admit that I still love my current laptop. Clearly, I chose wisely back then, thankfully.

Over the last few months, some of the things on the machine seemed to be dragging me down. For the most part, things were reasonably peppy, but on occasion, things would be slow. It never felt like a horsepower problem, as the same thing that was peppy before, would now be slow. The next day, it might be faster again.

One particularly noticeable problem was typing in dialog boxes in Quicken (I believe other programs as well, but Quicken was obvious and reproducible 100% of the time). When I typed my master password in the dialog box in Quicken, the delay between key presses was insane. It would also complete (meaning, I could type as fast as I wanted), but it was annoying.

Lois was experiencing similar (but different) slow downs. One thing that seemed to be happening too frequently to both of us (but to Lois much more than than to me) were application crashes. Most were in ancillary programs that weren’t central to our everyday computing. Unfortunately, more for Lois than for me, when it happened, the infamous dumprep.exe (Microsoft’s reporting program) would take over the machine. It can suck the life out of the machine, locking everything up for very long stretches while it’s gathering information.

I found the following article on the net on how to disable dumprep.exe. That alone made a world of difference, again, in particular on Lois’ machine.

That got me to thinking. Over time, I have installed so many different applications. The vast majority of them proved less useful than I originally expected. Of course, if they weren’t meant to be used all the time, I probably didn’t uninstall them, because I wouldn’t have thought of them. Many of them leave little footprints, including some that start up in the background automatically.

I finally decided to do something about. I analyzed all of the processes that got auto-started, and removed a number of them. I uninstalled quite a number of programs that I had no interest in any longer.

Finally, and perhaps most importantly, I uninstalled and then installed from scratch an updated version of my personal firewall (yes, going through the pain of teaching it my rules again). This also caused a full system scan for malware, which was not present on the machine (meaning, the slow downs were not caused by a virus, root kit, etc.).

Voila! The system became springier. Typing in Quicken is now normal. Whew.

I then did this on Lois’ machine as well, and things are a little better there as well. Here’s the one thing that is still maddening (beyond description or belief) on her machine. A few weeks ago, her machine started to Blue Screen Of Death (BSOD) whenever it was turned on in the morning. Yes, every single day!

On the second boot, it would just work. Shouldn’t computers be nearly 100% deterministic in the boot and initial login sequence? If so, shouldn’t a BSOD (without the user clicking or typing anything!) repeat exactly the same way every time?

So, perhaps it’s a warmup thing, like the drive warms up by the time of the second boot? Who knows. Anyway, it’s distressing, to say the least, but at least it consistently worked on the second boot/login, every single time. This went on for weeks. Now, out of the clear blue, it’s been at least five days in a row where it just boots up correctly the first time. Go explain that! (Not that I’m complaining…)

The moral of this post is that you can’t (or shouldn’t) go for years without tuning your machine to your current needs. Experimentation is OK, but leaving all of those experiments hanging around forever is just like having too much plaque on your teeth or arteries.

I intend to buy new laptops for both of us at some point, possibly even in 2008, but I’ve just bought us enough life to make the decision without any pressure. The biggest decision is whether to repeat my previous choice (giant, ultra-heavy, ultra-high-end model), which is painful to lug around, but gives me a real desktop replacement wherever I am, or go smaller, lighter, more convenient, but less beefy.

I didn’t regret my last choice, so I might end up repeating it, but we’ll have to wait and see… πŸ™‚