Running Multiple Versions of Firefox Simultaneously

(Based on information from this entry at the Dojo Foundation BLOG. This information is for Windows machines, specifically for concurrently running Firefox 1.0.7 and 1.5.0.x, but the same information applies to other versions of Ff as well. David Schontzler’s aforementioned post covers ‘Nix machines.)

As a Web developer on some fairly complex projects, it’s important to be able to run the current Firefox browser, as well as the previous release.

These instructions are based on having first installed Firefox 1.0.7.

Locate your current Firefox profile. Normally it will be in a folder under your Application Data folder, typically such as the following:

C:Documents and Settings{user_id}Application DataMozillaFirefox

Copy the entire Firefox directory someplace convenient, so you have a backup, for when you miss a step and something goes horribly wrong. (I know—this would never happen to me, either, but I was grateful I had a backup the two times I munged this setup and had to fix my initial Ff 1.0.7 installation.) You want to be able to fix your Firefox extensions in the event your running of Firefox 1.5 tries to upgrade them, which is a one-way process.

Then download and install Firefox 1.5.0.x, to a location other than the default location. (I recommend using a directory named C:Program FilesMozilla Firefox 1.5, as C:Program FilesMozilla Firefox is the default.) Do not launch Firefox 1.5 yet. (Be sure not to tell the install wizard to launch Firefox at the end.) If you do, you’ll need to quit the browser, and replace the now-upgraded profile folder with the one you backed up.

To allow you to clearly identify separate processes in the Task Manager process list, and to avoid accidentally running the Firefox 1.5 installation without the batch file that will preserve the Firefox 1.0.7 profile information, I recommend renaming the C:Program FilesMozilla Firefox 1.5firefox.exe to firefox15.exe. However, if you choose to perform this step, you’ll need to rename firefox.exe to firefox15.exe each time you perform an upgrade (such as from 1.5.0.3 to 1.5.0.4) of Firefox 1.5. (See “Future Upgrades,” below.)

Next, you’ll need to create a batch file to launch Firefox 1.5 and load a Firefox 1.5-specific profile:

set MOZ_NO_REMOTE=1

start "Firefox" "C:Program FilesMozilla Firefox
1.5firefox15.exe" -P "Firefox 1.5"

set MOZ_NO_REMOTE=0

The above batch file presumes that Firefox 1.5 is installed in the directory specified, that the executable is named firefox15.exe, and that a user profile named Firefox 1.5 will normally be used. If you’ve used values for any of these items that are different than the recommendations above, alter the portions marked in red accordingly.

The first time you launch Firefox 1.5, the Profile Manager will appear. Create a profile that matches the name used in your batch file.

If you want to change the icon shown (on the taskbar and the Firefox title bar), create a new icon and place it in C:Program FilesMozilla Firefox 1.5chromeiconsdefault with the name main-window.ico. You can find one that has a “1.5” overlaid atop the regular Firefox icon here. You can also find utilities to change the text in the title bar itself, such as the Titlebar Tweaks Firefox extension—which, ironically, has not yet been officially updated for Ff 1.5.0.x (as of June 7, 2006). You can install an updated, but unofficial, version from here.

I have also found that using significantly different themes (skins) for my different Firefox versions helps keep them straight at a glance.

And, of course, if you prefer to make Firefox 1.5 your default Ff version, do so, and modify the batch file to point to 1.0.7 instead.

Future Upgrades

The best thing to do when one is about to upgrade Firefox 1.5.x, is rename the firefox15.exe back to firefox.exe, run the ugprade, and then rename it back. If you don’t, you’ll find that your firefox15.exe is still around, but that the upgrader has added its own firefox.exe, requiring a delete-and-rename, as well as producing some interesting quirks, like Firefox not realizing it’s been upgraded because the .exe you’re running is the old one, while everything else is new.

Remote Debugging Attachment to a WebLogic Server

Don’t believe everything you’ll find online. If you work in a moderately complex environment (meaning, you’re running a managed server instance via an admin server instance on WebLogic), you’re sure to be led astray by the dozens of articles offering guidance into this elusive technique. You don’t have to emulate Ray Milland, if you follow this advice:

If you Google “Remote debugging WebLogic” you’ll find a host of discussions about modifying the startWebLogic.cmd or startWLS.cmd files. Ignore them all (assuming you’re using WebLogic 8.1 or later)! (Also remember, never verb a noun.)

Let me review the scenario that I am actually addressing here:

  • You will be remote-attaching to a running WebLogic instance, rather than launching the instance from within your IDE. (I use Eclipse, because I’m cheap—and because version 3.1.1 really works great, unlike its predecessors—but these instructions apply to just about anything.)
  • You run your WebLogic application as an instance under a WebLogic managed server, and start/stop it using the Remote Start options in the WebLogic console.
  • You’ve tried desperately to get your debugger to attach, or your breakpoints to be hit, to no avail.
  • You have deadlines looming, and if you don’t get this one problem solved, you can never see your family again.

Okay, perhaps I went a bit overboard on the scenario, but if you’re reading this, I expect, like me, BEA’s WebLogic isn’t a platform you use every day, but one that you need to work on occasionally.

The key is that most of the documentation presumes you won’t be running your application from the WebLogic Server Console, and gives no indication that the JVM arguments, in such a case, go in a completely different place. Here’s how to prove to the world that you weren’t going insane:

  1. Log on to the WebLogic console, via http://{servername}:9999/console. YMMV as far as the port number (after {servername}) is concerned.
  2. Using the navigation tree, click on the domain on which your application resides, open the Servers branch beneath it, and click on your application’s name.
  3. With the Configuration tab in the top row selected, click on the Remote Start tab in the second row. (Be sure you don’t have Control selected in the top row, otherwise you’ll think I am just as batty as the authors of the previous 743 help documents you’ve read.)
  4. Scroll down to the Arguments: field, and add your debug settings to the JVM arguments in that field. In my case, I added -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n, which (among other things that are too cool for me to share) allows the debugger to attach to port 8787 (address=8787), and the server to start without waiting for a debugger to attach (suspend=n).
  5. Click on Apply.
  6. Then click on Control in the first row of tabs, and be sure Start/Stop is selected in the second row of tabs.
  7. Finally, you’ll need to either gracefully or forcefully shut down the server by using the links provided, and then restart the server. (You’re actually only restarting your application; the ambiguous language surrounding server is another problem.)
  8. Attach Eclipse to the server by Configuring a new Remote Java Application under Debug … Feed it parameters of the server name and 8787 (or whatever port you provided in the JVM arguments).
  9. Debug your problem.
  10. For goodness’ sake, go home and see your family!

Drop me an e-mail using the link in the sidebar, or leave a comment, if I’ve goofed anywhere. I never claimed to be perfect. Sheesh.

Big News: Doug Bakes … from Scratch

Last night, Doug mentioned that he wanted to make banana bread. Now this is major.

So, after dinner, he and Naomi headed out to the neighbors to get 1/2 cup of shortening. He tried a few homes before getting some. The only thing I had to do was put out the ingredients, and he and Naomi did the rest.

The finished product looked great and tasted great. I was very impressed. I told him, “This is just the beginning, just think of all of the things you can start making.” He wasn’t all that keen on that idea, but this morning he mentioned to Naomi that they can make more this weekend.

Doug’s teaching techniques are quite unique, too. I found him telling Naomi, “You have to let go your aggression on the bananas … feel the hate,” when they needed to be mashed. Waaaaay too much Star Wars influence here. She had a lot of fun, and Doug commented that it was fun working with her, too. Naomi also likes to help me cook, so she now gets the teaching from both of us. Which is of course helpful for her to be well rounded.

Geek Humor @ H0//3

Tonight I was reviewing science notes with Isaac (click-and-drag to highlight my answers with your mouse to reveal them):

Q: What’s the densest element?
A: Osmium (actually, it’s a tie between Osmium and Iridium)
My answer: Fifth graderum.

I also dug up Tom Leher’s famous “The Elements Song.” You can hear it attached to a clever Flash animation here, or download the MP3 yourself.

And we had some fun because Isaac couldn’t remember:

Q: What is the most commonly occurring transuranium element?
A: Plutonium.

… which led to me mimicking bits of Doc Brown (Christopher Lloyd) from Back to the Future.

Doc Brown: “I’m sure that in 1985 plutonium is available in every corner drugstore, but in 1955, it’s a little hard to come by.”

Then Isaac confounded me with this one:

Q: What kind of tree did the mad scientist plant?
A: Chemis-try!

So I added:

Q: And what kind of tree did his mathemetician wife plant next to it?
A: Geome-try!

A Conversation with My Geek Girl

Background: Naomi loves her new Geekwear. For Christmas, I bought for her a Version 2.0 T-shirt and a new Geek in Training T-shirt to replace the one she’d outgrown.

She loves the shirts! She calls the “Geek in Training” one her “Mouse Shirt,” and asked for it every day several times a day when it was in the laundry. While that was being washed, she tried the “Version 2.0” shirt. (I suppose it really should be a Version 2.4 shirt, or maybe 2.3, depending on whether John gets—as the software equivalent of a buy-out—his own version number.) She went around showing people at church, pointing at the logo, and saying, “Version two oh.” Nichelle observed:

At Christmas, Doug bought Naomi two new geek shirts. She loves them. Yesterday, I was putting her laundry away and she spotted her V2.0 shirt and picked it up and hugged it. She was already dressed so I told her she could wear it to bed. She quickly took it and put it under her pillow and remembered to get it when it was bedtime.

At any rate, Naomi’s speech is becoming much more complex (even beyond calling me a weasel or a slacker). I called home one day, and she wanted to talk to me.

NaNi: Version 2.0

Dad: Your Version 2.0 shirt? I’m very glad you like it.

NaNi: Thank you, Daddy!

Dad: You’re welcome.

NaNi: Love you, Daddy. Bye!

She melts my heart!

Geek-Boy Isaac Makes Science Mistake

Ten-year-old Isaac Douglas Wilcox jeopardized his entire future career in science today, when he described the maximum size of an Australian salt water crocodile as “seven to eight feet.”

Fortunately, his vastly more knowledgeable father was there to correct this serious breech of cognition, and he quickly righted the error, pointing out that “Salties” grow to twenty to twenty-five feet in length. (The largest ever found was 29 feet in length.)

(This post has nothing to do with the fact that Isaac loves pointing out those extremely rare occasions when I am wrong in a scientific area. It’s all about the newsworthiness, folks.)

A Collection of Coolness

Star Wars:

Weather Control:

Natural Disasters:

Tall Buildings:

Robotics (especially for Neal Stephenson fans):

Space Slide Shows:

The Human You Have Reached, Doug Wilcox, Is Not In Service—Civ IV Is on the Way Here

It’s happening … The long-awaited Civilization IV is about to hit store shelves, and a special edition is available for pre-order now, probably shipping tomorrow.

Civilization IV is the latest in the wildly popular series of games from Sid Meier and Firaxis Games.

GameStop has the pre-order version with free 3-day shipping, using coupon code “CIV4.”

I have played untold hours of Alpha Centauri and Civlization III. Few game experiences are more enriching than nurturing a tiny colony into a massive, multicontinental empire—and what fun along the way! Research technology, explore, build wonders, wage war, handle diplomatic agreements, conduct espionage, or even build a spaceship to get to Alpha Centauri (my personally favorite victory condition). Civ IV promises completely reworked, smoother gameplay, a real 3D graphics engine, and a multiplayer mode that is actually playable. Civ IV also brings back “wonder movies,” which existed in Civ II and Alpha Centauri, but were not included in Civ III.

Read the detailed review at IGN, and wander over to the official Civ IV Web site. Best Buy has the system requirements, which aren’t excessive.

Once this game arrives, little is going to be able to drag me away from my keyboard. Hmmm. This will probably be a nationwide phenomenon. I don’t think it’s too late to invest in Maxwell House stock.

Halo: Naomi, Dad, Isaac, and Peter Jackson

Naomi:

Naomi has learned her first video game name. It is Halo!
Give it a listen in .mp3 format: naomi_halo.mp3.

Dad:

Since I purchased John’s Xbox at the beginning of summer, we’ve played countless rounds of Halo 2 in split screen mode. The problem: I can almost never beat David (age 6), and can never beat Isaac (age 10). :: sigh ::

Peter Jackson / Isaac:

Peter Jackson, amazing director of The Lord of the Rings films, has been tapped to run (as executive producer) the Halo movie, coming out in mid-2007.

The photo on the left shows how Isaac reacted to the news that Peter Jackson would be involved with the upcoming Halo movie. If anyone can pull off a successful video-game-to-movie production, it’s Peter Jackson. (Arguably the only game-to-movie film to date that even bears watching is Final Fantasy: The Spirits Within.)

Microsoft, film studios tap Jackson for ‘Halo’

By Lisa Baertlein

LOS ANGELES (Reuters) – The Oscar-winning creative team behind the “The Lord of the Rings” films, including director Peter Jackson, has been named to run the production of the upcoming film based on Microsoft Corp.’s (MSFT.O: Quote, Profile, Research) blockbuster “Halo” video game, the company said on Tuesday.

Jackson and his wife, Fran Walsh, will serve as the executive producers for “Halo,” which is targeted for worldwide release in mid-2007 by Universal Pictures and Twentieth Century Fox film studios.

Universal will oversee the film’s production and domestic distribution. Fox will handle international distribution.

“Halo” will be shot in Wellington, New Zealand, and will use Jackson’s production and post-production facilities there.

“I’m a huge fan of the game and look forward to helping it come alive on the cinema screen,” Jackson said in a statement.

The executive producers will collaborate with Universal, Fox and Microsoft’s Bungie Studios, which created the game.

“Halo,” the best-selling franchise for Microsoft’s Xbox game console, follows the adventures of the futuristic super-soldier “Master Chief” as he battles an alien onslaught.

Screenwriter and novelist Alex Garland wrote the original feature film adaptation of Halo. A director will be named in coming weeks, but the cast has yet to be announced.

And there’s another article at 1Up: http://www.1up.com/do/newsStory?cId=3144311.