Category Archives: Tech

Articles relating to a variety of technical themes. Dividing by Zero is not defined, so this fits in as well as anything else does.

Migrating Mozilla Profiles

I bit the bullet today and installed Windows 7 on my primary computer. All in all, it was a fairly painless process, though because I was switching from 32-bit to 64 (I can finally use that 4th GB of RAM!), I had to do a “custom” install which means I have to reinstall all my programs as well. For most purposes, it’s very much like moving to a new computer.
One of my gripes with Firefox and Thunderbird is that while the installers for both applications are very helpful about importing settings (passwords, network configurations, etc) from competing products, neither one provides a facility for migrating settings from your previous computer.
Fortunately, with a little bit of knowledge, it’s not overly difficult to do this by hand (which is probably why nobody – myself included – has written an appropriate migration tool).
Disclaimer: I don’t use many plugins, so I don’t know if or how well these steps will work with plugin settings. You’ll probably want to wait until after the migration before installing any plugins on the new system.

Copying your Firefox settings

Start off by installing Firefox on the new computer, all we’re copying is the user settings, not the software installation. I recommend you make certain that both the old computer and the new one are running the same version of the browser. (I’m not certain this is completely necessary, but it’s better to be safe.)
Next, one the old computer, you’ll need to use Windows Explorer to visit the directory where Firefox stores its settings.

  • On XP: the path is
    C:\Documents and Settings\<username>\Application Data\Mozilla\Firefox
  • On Vista or Win 7: the path is
    C:\Users\<username>\AppData\Roaming\Mozilla\Firefox

<username> is, of course, the username you use to log into the computer. (You can find this by going to a command prompt and typing “net config workstation”.)
The “Application Data” or “AppData” directory is usually hidden, so you may have to blind type the path into the Explorer address bar.
On the old computer, make a copy of the “profile.ini” file and the “Profiles” directory.
On the new computer, go the corresponding path on the new computer, delete the existing “profile.ini” file and the “Profiles” directory, and replace them with the copies you made from the old one.

Copying your Thunderbird settings

Start off by installing Thunderbird on the new computer, all we’re copying is the user settings, not the software installation. I recommend you make certain that both the old computer and the new one are running the same version. (I’m not certain this is completely necessary, but it’s better to be safe.)
Next, one the old computer, you’ll need to use Windows Explorer to visit the directory where Thunderbird stores its settings.

  • On XP: the path is
    C:\Documents and Settings\<username>\Application Data\Thunderbird
  • On Vista or Win 7: the path is
    C:\Users\<username>\AppData\Roaming\Thunderbird

<username> is, of course, the username you use to log into the computer. (You can find this by going to a command prompt and typing “net config workstation”.)
The “Application Data” or “AppData” directory is usually hidden, so you may have to blind type the path into the Explorer address bar.
On the old computer, make a copy of the “profile.ini” file and the “Profiles” directory.
On the new computer, go the corresponding path on the new computer, delete the existing “profile.ini” file and the “Profiles” directory, and replace them with the copies you made from the old one.

Other notes

  • I don’t know why Thunderbird doesn’t store its settings under the Mozilla directory. Presumably this is a philosophical difference between the two projects.
  • Everything I’d read about a “custom installation” of Windows 7 had me thinking that the hard drive would be reformatted. I was pleasantly surprised to find that this is not the case. (Doing a backup is still highly recommended!)
  • Consequently, in the case where the “old computer” is the same physical box, you can find the old “users” directory stored in C:\windows.old. Presumably this would also apply to the “Application Data” directory when upgrading from XP (XP users must do a custom installation when updating to Windows 7). My upgrade was on a Vista machine, so I can’t say for certain what happens with XP.

Intro to CSS Selectors

From the writing-things-down-so-I-can-find-them department….
Selectors in a nutshell:

  • tagname — applies the style rules to all instances of that tag. (About the only place I use this is to “reset”, p, div, and some others to display the same way across all browsers.
  • #idname — all HTML (or XML) tags can have an id attribute. The value of the id attribute must, must, must be unique across the entire page. #idname lets you set the style for that element. (For example, on the shoreleave site, all pages have a div with id=”content”. I then have a #content rule (in a shared CSS file) which forces all the content areas to look the same.
  • .classname (note the leading period!) — these are the values which appear in the class= attribute. You can also specify this with a tag name as in p.class1 and div.class1 so class1 would have separate meanings when attached to a p versus a div. (This is not necessarily a good idea, name overloading is confusing after all.)

You can also group things like this…
div p.classname which would mean, ‘Anytime a div tag contains a p with class=”classname”, the p should be displayed according to this rule…’

Falling Through the Safety Net

Back in March, I dropped Sprint and became a T-Mobile customer. It wasn’t that I’d heard anything wonderful about T-Mobile, but I’d heard plenty of people talking up the new Android-powered G-1 phone and unfortunately, in the U.S., a cell phone is generally tied to a single carrier. (It is possible to go between T-Mobile and AT&T, but I’m not sure that’s really saying much.)
The G-1 phone is actually pretty cool. It’s not so much a phone as a handheld computer which coincidentally allows voice communications. Just a couple days ago, at no cost to me, I was able to turn my “phone” into a GPS with turn-by-turn voice prompts. I tried it out on the route to work and it’s pretty good, when you make an unexpected turn, it recalculates the route pretty quickly. (So if you were planning to give me a GPS for Christmas, sorry, you should cross that item off the list. Definitely not the kind of thing the CEO at Garmin wants me to say.)
But although the phone is wonderful, T-Mobile kind of sucks. I used Sprint for eight years and aside from an occasional dropped call, never had a problem with voice coverage. With T-Mobile, even sitting at my house which supposedly has “good” coverage, dropped calls are a fairly common experience; and a few months back, I discovered a stretch of interstate up in Pennsylvania which had no voice coverage whatsoever. (If you look at a mobile carrier’s coverage map, the coverage is generally most intensive along the interstates.)
What really bothered me though was that T-Mobile didn’t work with emergency services.

Botched Emergency Calls

On April 23, I was driving home from North of Baltimore and spotted a car broken down in the center lane of I-695. Fortunately traffic was fairly light at that hour, or else someone could have hit this thing at high speeds. In Maryland, they ask you to dial #77 for emergencies on the Interstate, so I did. The phone rang and the voice at the other end answered, “Hello, Virginia State Police.”
If you don’t have a map handy, it’s more than 50 miles from Baltimore to Virginia. Depending on traffic, likely more than an hour’s drive. And while I’m sure the Virginia State Police would be willing to pitch in, it really would have been a lot closer for the police up in Pennsylvania. The Virginia State Police connected me to their counterparts at the Maryland State Police barracks in Rockville. Since that’s still nowhere near Baltimore, they attempted to connect me to a different barracks in the Baltimore area at which point the call got dropped. (To be fair, I’m not sure whether that was due to T-Mobile, a switching issue, or a fumble-fingered police dispatcher.)
When I called T-Mobile customer service the next day, they were happy that I was OK and agreed that this was absolutely unacceptable. But they denied responsibility for the misrouted call and said I would have to take it up with whoever runs the cellular network. What?! T-Mobile doesn’t operate the T-Mobile cellular network? They couldn’t explain that one.
On June 1, I was on I-270 near Rockville and came across a recent accident with no police on the scene. Not trusting T-Mobile, I called 9-1-1. It’s supposed to be a universal emergency number, right? Yeah…apparently not. The operator said she’d transfer me to the state police, but if we got cut off, I should either call #77, or else a 10-digit phone number that there was no way I was going to remember. Before I could explain this, the call was transferred and sure enough, the call got dropped.
Not a very good pattern so far, is it?
On June 21, I was on I-270 near Urbana and came across debris in the roadway. Not an emergency so much as a potential for an accident as people tried to dodge it. Hoping that the previous call had been a fluke, I dialed #77 to report the problem. Just like before, the phone rang and the voice at the other end answered, “Hello, Virginia State Police.” Same story. Transferred to the Rockville barracks, transferred to one in Frederick County and then, as usual, the call got dropped.

Customer Service

Unlike the call to 9-1-1, this was clearly a problem with T-Mobile, so I called customer service the same day. This time around I was told that not only was it not T-Mobile’s problem, but because it was with the #77 number, I would have to discuss it with the Maryland Transportation Authority.
Aha! So according to T-Mobile, the Maryland Transportation Authority runs their cellular network! (Silly me, I thought all they did was to make E-Z Pass too expensive to be worth the bother.)
Living in the DC area, it was perhaps inevitable that I’d develop a degree of cynicism. No matter how much they claim to value you as a customer, big corporations really don’t care. They just see you a convenient source of money. Unless, of course, the media happens to glance at them.

Going to the Media

For the past several years, I’ve been following Rob Pegoraro’s Fast Forward column and Faster Forward blog on the Washington Post’s web site. Rob covers consumer-oriented technology trends ranging from Facebook, to the latest services from Google, to the various cell phone companies.
Rob agreed that one would think emergency services might be kind of important and he contacted T-Mobile’s PR department about the issue. They brought an engineer into the loop, but in the end, they assured him that it must be a one-time isolated incident.
Now I could certainly believe that explanation if the problem had only occurred once, or if I’d been somewhere near a state line. I’d even be willing to bet that misdirected emergency calls are a common occurrence along the Clara Barton Parkway — it runs right beside the Potomac river, the boundary between Maryland and Virginia. But neither of the fouled up #77 calls took place anywhere near the state line.

A Breakthrough

On July 29, I finally had a bit of a breakthrough on the subject.
I had to call T-Mobile that morning for something completely unrelated (and by the way, voice prompt systems without numeric options are an absolute abomination when you have laryngitis) and after we got that issue resolved, the representative asked me how the G-1 phone was working out for me.
I was still feeling a bit surly after wracking my voice against the voice prompt system, so I replied “The phone is wonderful, it’s T-Mobile I could do without.” Which led to an explanation of the problem with #77.
Instead of the usual song and dance, this rep actually went and looked up T-Mobile’s list of short-codes for Maryland:

#301 — Police non-emergency, Baltimore only.
#701 — Text link for the hearing impaired.
#811 — Call before you dig.

And that’s it. They didn’t have one for the state police! Not in Maryland anyhow. They do have #77 set up in Virginia, but seriously, routing me there from the Baltimore beltway still seems a bit less than optimal.
I’ve spent the last several months trying to figure out what my next step is. Take it up with the state Public Utility Commission? Write a letter to my representative in the state legislature? Pass it along to the local paper to see if they want to chase after it? (As nearly as I can tell, someone at the Washington Post must have decided that the problems with T-Mobile as a cell provider aren’t really newsworthy.)

A Successful Call

On November 10, I was traveling on I-270 when I encountered a car which had broken down in rush hour traffic. The driver had managed to pull over to the side, but there was no shoulder in that area. Opening the door would have resulted in it being knocked off. Stepping out of the car would have been fatal.
With very little hope, I reached for my phone and dialed #77. The phone rang, and for the first time ever, the voice on the other end said, “Hello, Maryland State Police.”
At long last, T-Mobile was finally able to connect an emergency call to the proper authorities. How long will this last? Your guess is as good as mine.
As for me, I still have 16 months left on my contract with T-Mobile. If I cancel the contract, I’ll be saddled with a $200 early termination feet. If I switch to either Verizon or Sprint, I’ll have to buy a new phone – their networks aren’t compatible with the GSM technology T-Mobile uses. If I want to keep using the same phone, my only other option is to use AT&T, but AT&T also suffers from severe suckage.

Seems Backwards

Installing a piece of software at work on Friday, I at long last arrived at the final screen of the product’s install process. It displayed a list of installation notes with these helpful words:

Always read the Installation Instructions
Section below before any install.

Maybe it’s just me, but it seems like that might have been a useful thing to display on the first screen.

Safer Online Banking

I’ve been following the Washington Post Security Fix blog for the past year or so. Recently, Brian Krebs has been writing a series of post about businesses are having with thieves stealing their banking credentials, and then the subsequent financial problems since businesses don’t have the same protections as consumers.
One place where I do disagree with the author is the idea of the Macintosh as a safe-haven. In some of his other columns, he’s mentioned that Apple is actually less secure than Windows, but because Windows has more marketshare, that’s what thieves will mostly target. I agree with that much, but the logical leap of “therefore Macintosh is safe”…. I’m just not a big fan of “security through obscurity.”
Three recent articles dealt with the idea (including a How-To) of using a Linux Live CD for online banking.

Just to be clear: I don’t think Linux is any more of a panacea than Mac, it’s just a bit more obscure. What I like about this particular solution is that you’re booting from a read-only copy of the operating system. In effect, every time you boot the computer, it’s brand new. Once you’re done with the banking stuff, turn off the computer (you don’t even need to go through the normal shutdown!) and next time you fire it up from the CD, it’s back to the exact same state as when you started it the last time. Even if something does get on to the computer, it can’t save itself to that read-only OS.
I currently do my banking from a virtual machine which I use for absolutely nothing but banking. But I’m definitely digging this as an alternative.

Watch This!

I bought a new watch a year or two back and it’s mostly run well. A few months ago, I started having problems where it would periodically lose several hours, but it wasn’t a constant thing. Last Wednesday though, the digital date display stopped working and by Friday morning, the entire thing was dead.

Taking the back off took about 20 minutes work a couple small screwdrivers, finding a replacement battery wasn’t overly complex either and swapping the new battery for the old was 10-15 minutes work.

I’ve spent the last two or three days trying unsuccessfully to put the cover back in place. Finally today I took two pairs of pliers, put tape on the ends to prevent scratching, and tried squeezing the pieces back together that way. The only thing I achieved was to chip the crystal.

Going online, I discovered that I’m not the first to encounter this difficulty. The current crop of Timex watches are apparently notorious for this problem. It turns out that the preferred method of replacing the cover is to clamp the entire thing in a vise!!!

I don’t own a vise, but I do have a C-clamp. After a bit of digging, I managed to locate it (Now if I could only find my electric blanket!). I put the watch between two paint stirrers and tightened it up in the clamp.
That did the trick! Now there’s a much bigger crack in the crystal*.


But at least the back is staying on.

*I’ve had worse. The previous watch was scratched across the entire left side by the time it was replaced. But next time I won’t tighten the clamp so much.

Update: November 9, 2022 Looking back over the intervening years, I’ve moved away from battery-powered watches altogether. My preferred watch these days is self-winding or “automatic” (a strange adjective to be sure). By removing the need to replace a battery, I have also greatly increased the lifespan of my watches.

More Phone Phun

As of about two weeks ago, I now have my very own Google Voice phone number. The coolest thing about this is that I can give people a single phone number and it’ll ring all my phones at once. Much easier than telling them, “well from 9 to 5 I’ll be at my work number, unless I go to lunch, in which case you can call me on my cell. But after 5 you should call this other number all together.”
As a bonus, I can also set things up so for instance if Dave calls me, the call will go straight to voice mail with a message explaining, “I can’t come to the phone right now, I have to take care of my dog.” (Select others will instead hear about the toasters.)
One other cool thing is that I can put a button on a web site and anyone in the US can call me without having to pay any sort of long distance charges. Just whatever your phone company would charge for a standard incoming call.
(Dunno how long I’ll leave this here, but for a few days anyhow so friends can play with it. If Jennifer Aniston chooses to call, that would be cool too.)
(Update: I removed it on September 5. Jen will just have to call my regular number.)
I’m a little uncertain how I feel about Google knowing my phone habits, but it’s an interesting experiment.