My new standard for laptop battery life

I’ve been using my X60 for a few days, mostly at home while sitting on the couch or in bed. In this very short amoutn of time, this laptop has established itself as the one which I’ll be comparing all others to in terms of battery performance.
In the “Thinkpad default” power profile, with normal usage, the battery gets a solid 5 hours. In power saver mode, you’ll see battery meter readouts as high as 7 hours.
I almost feel like I’m using a phone instead of a computer. It’ll be hard to go back to anything less. This is exactly how portable computing should be. It’s the first time that my paranoid mind has been able to just completely forget about the battery life. I just open and close the lid as I please, and I just have to remember to plug in for a few hours once a day.
I don’t think there’s any going back to the sub 5-hour normal use range anymore. I guess that limits the possibilities quite a bit. The “Panasonics”:http://panasonic.jp/pc/ still fall within that range though, with the Y5 14 inch version claiming 9 hours max, and the X60-like (except that it has a Core Solo) R6 claiming an incredible 15 hours.

Rejuvenate My System

So I’m playing around with the random ThinkVantage software that came on this X60, and I find an option to “Rejuvenate My System”. Intrigued I click on it, and am greeted with the following message:

This option optmizes performance by defragmenting your hard drive and restoring your system and application files from a “known good” backup of your choice. This helps eliminate, viruses, adware, and spyware. _*Important:*_ Applications installed or changed after the selected backup was created might need to be installed again to function correctly.

Awesome. So to get a faster system, just throw away all the crap that you just did to mess it up. Gee thanks. I think I’ll pass.

Consolas font

So I just found out about the new Consolas font from Microsoft that is being distributed with Office 12 and Vista. It’s a nice looking monospaced font that I think compares favorably with things like Bitstream Vera Mono on Linux, or Monaco on Apple.
Even better, you can easily use it on Windows XP. If you can manage to get your hands on the font file (either from the Office Beta or the Vista RC) you can just install it onto your XP system.
Finally, to get Powershell to use it, there’s a little bit more work involved. Thankfully Powershell to the rescue. “Here’s a script”:http://blogs.msdn.com/powershell/archive/2006/10/16/Windows-PowerShell-Font-Customization.aspx that will set the registry up for you so that you can choose Consolas from the Powershell properties’ Font tab.
I’d still like to get profont working properly for powershell/cmd.exe though.

Predicting javac’s behavior

I really like java as a language, but the behavior of the compiler can be a pain in the ass to deal with.
The problem with javac, is that it does some stuff that is akin to what make does. It figures out dependencies and compiles them for you. It tries to understand your source structure and resolves external classes at compile time. which in many ways is really handy, as it can typecheck against other classes without the need for header files.
But here’s where it get’s really annoying. If you try to work javac into a build system written in something like make or scons, it can get downright impossible. The problem is that given a .java file, it’s not easy to figure out which .class files get generated. Even if you could parse the file and find all the inner and anonymous classes, you still wouldn’t know which other files javac will go and build for you when you specify it to only build. For example, say you had the files:

a.java
b.java
c.java

and @a.java@ looked like:

import b;
import c;

If you were to tell javac to compile @a.java@, it would go and build @b.java@ and @c.java@ for you. So not only do you have to parse the local code of a.java, you have to understand how javac finds other classes, and also how this behavior is controlled by the comand line options.
For small projects @javac *.java@ may work just fine, but when it comes to huge automated build scripts, it can be a tricky thing to deal with.

Internet Explorer 7

It’s finally out, and looks pretty good to me so far. It’s pretty fast, and it has tabs, and it has tab thumbnails. It also seems to be a little bit more standards compliant.
The way they got rid of the menu is interesting. It seems hard to find things, but maybe I just have to get used to it.
They finally made Alt+D always select the address bar, instead of do nothing if you already have it focused. Ctrl+L strill brings up the dialog though.
The tab thumbnails screen is mapped to Ctrl+Q…
The RSS reader screen looks almost exactly like Safari. Whatever works, I guess. The whole thing feels way faster than Safari though.
It seems to eat up a lot of memory.. It’s at 94M in task manager after using it for about 15 minutes with 5 tabs open. I opened 5 roughly equivalent sites in Firefox, and it was at 37M. But the real test is how it behaves over time. Firefox seems really bad at letting go of memory after a while. Hopefully IE gets it right.
Anyhow, it might be good enough to stop using firefox for the moment.
Update: Memory consumption seems to be pretty steady so far. I’ve found one annoying bizarre behavior. If you close one tab among many, the next tab that gets focused is the one to the right, not the left, as it is in firefox. This makes the “open new tab next to current” option way less useful, since I like to open a new tab and then quickly close it and get back to where I was. Also, I don’t like how you can’t close a tab without selecting it first.
Update 2: Sadly http://www.vmware.com seems to get rendered improperly by IE7. I guess someone should have tested it with the beta or the RC. What? Don’t want to install beta software on your PC to test a website? well well, let me tell you about this magical prodcut called Workstation…

iPod’s success

Some dude goes off about “Why Microsoft can’t compete with iTunes”:http://www.roughlydrafted.com/RD/Q4.06/F6DC3D84-5B4D-43D4-B9ED-1F2033A895DA.html. I think he’s taking something simple and trying to make it into some grandiose statement about Apple vs. MS.
The success of the iPod is actually not too difficult to understand. Apple simply had the best software + hardware combo, and the best marketing. And by “best,” I also mean that it worked. Their software was good enough, that people who didn’t even have an iPod use it. Their solution was good enough, that most people didn’t even mind the DRM. It’s clear that people value an easy to use system with good content way over the choice of DRM, otherwise should eMusic be dominating the market?
If someone had come along and actually offered a WMA based system that worked just as well (including integration with players), and had a snazzy looking player with marketing to match, they could have done just as well. I actually applaud MS for trying to make a DRM system that is more open than FairPlay. The problem seems to be that it’s just hard to get the hardware (as well as the software/hardware interface) right. And Windows Media Player sucked for a long time. But it’s a great myth to think that somehow Apple is less evil with their DRM than MS is. It seems like people like to associate WMA DRM’s evilness with MS’s general evilness, but I think that company is way to big to be able to maintain such a coherent evil attitude.
Besides, I don’t think DRM is the result of any tech company actively trying to be evil. It’s the result of the record companies wanting to protect their content. As you can see from the selection on eMusic, it’s hard to compete if you don’t offer DRM. But I’m willing to bet that if the media companies were OK selling un-DRM’ed music from the get go, then neither MS nor Apple would be spending precious engineering resources to build a DRM solution. (Though MS might still be working on a proprietary music format. But that’s different. I mean, MP3 is/was patent-burdened as well. It’s just that it was more open than WMA was (as in it was multi-platform, and a reference decoder implementation was available in source code form)). Actually, it’s conceivable that Apple would still enforce some kind of DRM system, one that limited iTunes purchased songs to be played only on iPods.
Someday portable media players will probably be well enough understood that they’ll get standardized, and we’ll realize some of the WMA world’s original vision. But clearly we’re not there yet, so MS, Apple, and Real are all taking the paired software/hardware approach. If it ends up with more working solutions to choose form then before, then it can’t be all bad right?

Return of the Floppy Drive

I thought these things were totally outdated, but apparently not. They have saved my ass twice in the past week, both during Windows installs. I guess the real problem is that the XP installer is 5 years old, and doesn’t have any modern drivers.
Microsoft should really release setup disks with updated drivers once in a while. Especially if the product is going to last 5 years as their flagship desktop.
And in case anyone was wondering, to create a driver disk that you can use during windows setup, all you need to do is copy the .inf, .sys and related files for a driver onto a floppy. It apparently doesn’t require any kind of special layout on the disk.

Installing Windows XP SP2 on an Asus P5B Deluxe/Wi-fi

I didn’t search for hours, but a cursory search didn’t come up with any hits, so here’s my guide to using this (fairly popular?) motherboard. I think it applies to the Asus P5B Deluxe as well.
First, the relevant config info:
* Intel C2D E6600
* 2GB 1.8V GeIL Memory
* NEC 16x Dual Layer DVD drive (*Parallel IDE*)
* Seagate 320GB SATA disk
I had a heck of a time getting started. Everytime I’d load the XP disk, it would get stuck right away and say that it could not load ntoskrnlmp.exe (I’m not sure if that’s the exact filename).
At first, I suspected that this was because the installer did not know how to talk to the special JMicron IDE controller (since that’s the only Parallel IDE port on this motherboard). But in hindsight, it was more likely that my CD was probably scratched. In any case, I used nLiteOS (on another machine) to generate and burn a new installer CD with the jmicron driver on it. This seemed to load fine.
You want to make sure to load the Intel AHCI driver during Windows XP setup, otherwise you’ll be running in a suboptimal configuration. I ended up doing this with a USB floppy drive. The steps are:
# Make sure your main disk controller’s are in ‘AHCI’ mode. This setting is on the main bios screen.
# Disable Legacy A diskette option in BIOS, otherwise A: will always map to the motherboard’s floppy port and XP setup won’t be able to find your disk.
# Turn on USB Legacy device emulation in BIOS. (It appears that you can actually make non-floppy devices look like floppies, so maybe all this can be done with a flash drive).
# Boot using the CD included with the motherboard. It will load a prompt with an option to create a Intel AHCI driver disk. Create a driver disk. Reboot.
# Boot the Windows XP CD, with the driver disk in the A: drive, and right when it starts up hit F6, to tell it you want to add drivers. Oddly, it will seem as if nothing happened (I was confused by this for hours), but eventually, once it gets part of the way through loading the basic drivers, it will get to a screen where you can load your own drivers. Hit ‘S’, and it should show you a list of Intel controller drivers that are on the disk. I’m not sure when it decides to read this disk, and it also appears that you can’t pull drivers from multiple disks (that means that you have to configure your JMicron device in ‘IDE’ mode in the BIOS, or somehow manage to get both sets of drivers on one disk).
# Go through the rest of the install. Keep the driver disk in the floppy drive, since you will get asked for it a few times.
# Once the XP install is done, load a network driver from the driver CD, then go grab the updated JMicron driver and Intel SATA drivers. Once these are installed, you can switch your JMicron device’s BIOS setting to AHCI mode as well.
*Notes*
* If you have a standard floppy drive, the first few steps are not necessary.
* It doesn’t seem possible to first install with the Intel ICH8R disk controller in IDE mode, then switch it to AHCI later. I tried that and XP would reboot itself during boot. If you try to install the SATA drivers while the bios is still in IDE mode, the driver installer complains that your PC hasn’t meant the minimum requirements. I think it’s basically a bug in the installer. It should let you install even if the device isn’t present.
* Hopefully this pain all goes away with Vista.