How to have Firefox 3 and Firefox 2 running at the same time

Firefox 3, or Gran Paradiso, is really shaping up with some pretty cool new features being implemented in the recent months. That’s not including the cool FUEL (Firefox User Extension Library) JavaScript library that promises to make extension development a bajillion times more productive, Places for data storage, and the use of Cairo for graphics.

The problem with playing around with Firefox 3 is (by default) you can’t run both Firefox 2 and 3 at the same time since they both insist on using the same profile and insist on running only 1 copy of Firefox at any one time.

Want to get in on checking out the new features but still want good old Firefox 2? Here’s how:

  • First, you should create a new profile just for testing Firefox 3. You should do this to keep your precious Firefox profile safe from any problems in Firefox 3. Otherwise, Firefox 3 will use your current Firefox 2 profile by default. You can create a new profile easily with the Profile Manager, which you can access by running:

    /path/to/firefox -profilemanager -no-remote

    (Thanks to Jeff for pointing out that there is no need to close Firefox first before creating a new profile.)

    Firefox profile manager


    Create a new profile (I gave it an obvious name, ‘minefield’, which is the codename of the current Firefox trunk). If you get confused, the official Firefox website has more detailed instructions on how to create a new profile.

  • Now, you should already have one of the Firefox nightly builds. If not, you can download the latest nightly build from the Firefox nightly build directory. You can start up Firefox 2 normally (just so you can see Firefox 2 and 3 running side by side). For Firefox 3, we’re going to start it differently.
  • We’re gonna run Firefox 3 using our newly created profile. I’d written earlier on how you can run two Firefox profiles at the same time, and you can still do the same with Firefox 3:

    /path/to/firefox3 -P minefield -no-remote &

    The ‘minefield’ in the command is the name of the profile we created earlier. Windows users should leave out the ‘&’ (on UNIX-based systems, this just runs Minefield in the background so that you can exit your terminal).

  • Firefox 3 should start up with your new clean profile!

    Firefox and Minefield icons in my Mac OS X dock


    That’s the Firefox 3 (Minefield) icon living right next to my Firefox 2 icon in my dock (yeah, I use a Mac).

Andy Croll (who works at Bezurk too) has written a convenient little AppleScript so you don’t have to repeat these steps.

Just so I can put up another screenshot (as if I needed to prove that this really works), here’s Firefox 2 and one of the recent Firefox 3 nightly builds running side by side:


Have fun! I think I’ll get back to watching the development of the trunk (now that it’s getting more exciting) like I used to in the build up to Firefox 1 and 2. I may even make some posts!

Most sensible post on the Odex controversy in Singapore

RE: the recent anime and IP controversy in Singapore, everyone affected in Singapore should read this sensible post by Dark Mirage. He offers really good advice on what you should and shouldn’t do should you find yourself the recipient of one of Odex’s letters. Be sure to read the comments too.

More reading:

Don’t trust web apps (or how Google Reader and my ISP conspired to lose all my feeds)

About a month ago, I logged in to Google Reader to see a shocking thing - all my subscriptions were gone and I was subscribed to some feeds that I’ve never heard of.

All my feed subscriptions gone from Google Reader


I would say I’m a pretty heavy Google Reader user, checking my several hundred subscriptions several times a day, so it was pretty distressing. I posted a thread at the Google Reader Google Group (the link doesn’t work now because they’ve moved the Google Group somewhere else for some reason) and several other people responded that they were seeing the same weirdness.

I had the same problem, and here’s the really weird part: I got YOUR feeds! If you look at the top of the page you can see the account you’re supposedly logged in with. Well, I saw your account there. And this was before I read this message. I also saw some other names every so often. Right now it says email censored.

Maybe it’s some weird mix up with the ISP. Do you use SingNet?

Some time later I started seeing other people’s accounts:

Seeing other people’s accounts in Google Reader


The problem affected only Singnet (a major local ISP) users in Singapore (about 7 other users in Singapore using Singnet responded with the same problems). No one really knew what the problem was and neither the Google Reader team nor Singnet (someone sent them an email) responded.

My guess was Singnet started caching Google Reader at a proxy and somehow managed to bypass all the credentials that was needed to modify any feed subscriptions. Sounds like a pretty nasty security bug to me.

The aftermath:

  • Google Reader no longer has my feed subscriptions (I didn’t manage to recover them so it’s still in the sad state of having only 1 feed subscription to some UK property shite).
  • I’ve manually rebuilt my OPML file (containing my feed subscriptions).
  • I’m now using NewsFire. It’s not decentralized so I can’t sync it between machines, which really sucks since I have 2 primary machines, but I’m wary of using online feed readers right now.
  • I regularly export my OPML file and check it into Subversion.
  • I’m looking for a reliable decentralized feed reader once again (having used Bloglines and of course, Google Reader prior to the catastrophe).

ActiveRecord attribute-related improvements on Edge Rails

I just noticed a very fresh changeset committed into the Rails trunk that’s pretty damn cool: changeset 7315. Michael Koziarski (aka nzkoz”) has refactored ActiveRecord’s attribute-related methods that, among other things:

  • caches typecasted attribute values in hashes. This avoids expensive typecasting (such as for Time-related attributes) which means access to these fields is significantly faster!
  • moves generation of attribute methods to the class, instead of the instance.
  • generates attribute reader and writer methods (before, only reader methods were generated and writer methods relied on method_missing magic).

The Ruby on Rails: Core Google Group thread on this patch has more info on the changes and some of the rationale behind them.

Here’s a simple (read: totally unscientific) benchmark I ran to access a DateTime attribute 10000 times (I ran it that many times to reduce the effect of the City.find call) with pre-revision 7315 edge Rails (I was using revision 7314):

>> Benchmark.bmbm do |x|
?>   x.report('test') { c = City.find(:first); 10000.times { c.created_at } }
>> end
Rehearsal ----------------------------------------
test   1.500000   0.010000   1.510000 (  1.568782)
------------------------------- total: 1.510000sec

           user     system      total        real
test   1.500000   0.010000   1.510000 (  1.592264)

Post changeset 7315:

>> Benchmark.bmbm do |x|
?>   x.report('test') { c = City.find(:first); 10000.times { c.created_at } }
>> end
Rehearsal ----------------------------------------
test   0.100000   0.010000   0.110000 (  0.129514)
------------------------------- total: 0.110000sec

           user     system      total        real
test   0.000000   0.000000   0.000000 (  0.009831)

Quite a bit faster!

MMORPG called “Outside”

MMORPG called ‘Outside’


Seen at http://chickencrap.com/c.php?c=980.

I thought it was funny (I was a hardcore World of Warcraft player). All the features are so true too. Fully PvP rawr! The penalty of death sucks though - if you thought the experience point penalty in EverQuest was bad, think again.

This post got Dugg! I had quite a few giggles reading the comments there and those posted here. And yes, I think that is KL (Kuala Lumpur) Tower in the picture.