Category Archives: tips

Firefox hangs after Mac OS update

I recently updated my 2010 MacBook Pro all the way from Snow Leopard 10.6.8 to Mavericks 10.9.1.

Today, I updated Mavericks to 10.9.2 in order to fix the nasty Mac OS X SSL vulnerability.  Sadly, after the update, when I tried to start Firefox, it would hang.  I tried repeatedly, but I would get no window, no error, just a Firefox main menu with no File, Edit or other menus.

I did a lot of research but could find nothing that explained precisely this behavior.

I tried installing a second copy of Firefox.  I tried deleting my original installation.  I tried turning off my firewall.  I tried deleting my profiles.  I went through all kinds of machinations, but nothing worked.  No matter how clean a start I seemed to give it, Firefox would (a) hang, and (b) fail to quit.  I had to Force Quit every time.

Well, here’s the “funny” part of the story.  After all that, I somehow ended up swiping to a second desktop on my Mac (by scrolling to the right with three fingers).  And what was there?  Firefox.

Coming from Snow Leopard, I’m a little fuzzy on exactly why, how, and when Desktops come into being and how apps get allocated to them.  But, for whatever reason, Firefox acted for all the world as if it was hung, while it was actually just running on a different Desktop.


You Can Lead By Being The First Follower

The impact of the first follower

This starts out very silly and fun. By the time it was over, there were tears in my eyes. I hope that you can feel it, too.

Here’s a great analysis of the first follower. I think the version of the video that I’ve posted has more raw emotional impact, but it’s worth watching Derek’s, as well, for his analysis.

It would be easy to watch this, get a chuckle, and forgot about it. That would be a mistake.

Five Things You Should Have Gotten Into Ten Years Ago

Seinfeld watching "Jerry"
Image by callumalden via Flickr

In the nightclub scene at the start of an episode of Seinfeld, Jerry Seinfeld did a great bit about Morning Guy and Night Guy:

I never get enough sleep. I stay up late at night, cause I’m Night Guy. Night Guy wants to stay up late.  “What about getting up after five hours sleep?  Oh that’s Morning Guy’s problem. That’s not my problem, I’m Night Guy. I stay up as late as I want.”  So you get up in the morning, you’re hungover, you’re exhausted, groggy.  Oooh, I hate that Night Guy!  See, Night Guy always screws Morning Guy.  There’s nothing Morning Guy can do.  The only thing Morning Guy can do is try and oversleep often enough so that Day Guy loses his job and Night Guy has no money to go out anymore.

Obviously, that’s comedy.  However, at a deeper level, this is the way life works.  We travel this road of life, and each step is determined by the person we were previously.

I was reading a review at that contained an interesting concept…

Imagine that you are your future self, ten years from now.  What are you doing?  How has your life changed?

More importantly, what will the you of ten years from now want to tell the you of today, if he or she could reach back in time?  Will the future you have regrets or resentments about the way today’s you managed your life?

To give you some idea of just how important this concept is, shift everything ten years earlier in time.  Surely there are things that the you of today wishes you could reach back and tell the you of ten years ago.  Personally, I’d like to grab and shake some sense into that fool!

We get a few short decades in this world, and then our lives must end.  During that brief span, decisions we make today, based on beliefs we formed yesterday, create the path we follow tomorrow.  It’s quite unfortunate that we have the lowly perspective we do.  Rarely do we look up and see the journey in its totality, preoccupied as we are with what’s right in front of us.

If you’ve ever looked out the window of a plane in flight (or simply looked at satellite photos from Google Maps), you know how different the world looks from a higher perspective.  If we could somehow rise above our immediate thoughts, feelings, and beliefs, we might make wiser decisions that put us on a better path.

You may find it very helpful to think about that poor sucker ten years from now.  He (or she) is a victim of what you do today.  Don’t let down the you of ten years from now.  Don’t disappoint him/her.  Set him/her up with a great headstart, so that the future you is grateful, not resentful, for the way you spent your time.

Don’t look back ten years from now at the you of today and say “Newman!

Here’s wishing you a L’shana Tova, which is 10% of the way down that ten-year stretch.

Enhanced by Zemanta

org.apache.bsf.BSFException: unable to load language

I’m jazzed about creating a JRuby DSL for message manipulation in SonicMQ/Sonic ESB.  No time to go into the details right now, but I ran into a problem that I couldn’t find an answer for.  Maybe this will help the next poor soul…

I was able to run this service on my laptop without any problem, but when I tried to distribute it to others, it wouldn’t work.  So I went back and tried to deploy my XAR to a clean VM, and I kept getting org.apache.bsf.BSFException: unable to load language: ruby.  It didn’t make any sense, because it ran on one copy of Sonic, why not the other?

Well, after a lot of Googling and head-scratching, I came to the realization that I was running my laptop container on Java 5, while the clean install on the VM was, by default, using Java 1.4.2.  Once I changed the VM container to Java 5, the problem went away.

Symlinks for Windows

One of the handiest things I learned at No Fluff Just Stuff this weekend was from Neal Ford, who showed a way to set up soft links (symbolic links, symlinks, it’s all the same idea) in Windows. This allows you to install different versions of JDKs, Tomcat, Groovy, Grails, JRuby, whatever, and use the latest version without having to change anything but your symlink.

For example, you can install Groovy 1.0 into c:\sw\groovy-1.0. Then create a symlink at c:\sw\groovy that points to c:\sw\groovy-1.0. Set up your GROOVY_HOME and your Path to also point to this symlink. Now, when Groovy 1.1 comes out, you install it in c:\sw\groovy-1.1. Then, simply change your symlink to point to c:\sw\groovy-1.1, and you’ve got an instant, machine-wide upgrade! If anything goes wrong, you can easily change the symlink back to the 1.0 version, and everything goes back to the way it was before.

This is the kind of thing that Unix, Linux, and Mac users have been doing for years. The one drawback to the Windows version is that you can only symlink to directories, not to individual files. Not the end of the world, but a limitation to be aware of.

You can download the free utility from the great SysInternals site, where you can find dozens of other brilliant, free utilities. The symlink utility is called Junction and can be downloaded here.

Can you identify the source of your spam? Can you shut it down?

It’s amazing what I can see, thanks to the use of domain-specific email addresses. I can see when one company uses another company’s mailing list. I can see when a company doesn’t honor its unsubscribe requests. I can also see when a company’s mailing list has been compromised.  Best of all, I have the power to do something about these things.
I’ve gotten at least five Nigerian scam emails from the mailing list in the past 24 hours. They’ve been hacked.

Since I know that, I can surgically shut down that address without having to go through extreme measures like changing my email address, so that I can keep the infected email away from the healthy stuff.  It’s a kind of quarantine that doesn’t rely on magic spam filters.  This system simply works, and I’m in total control.

You can learn more about it at

What to do when Firefox eats all your CPU

I tend to have a lot of tabs open in Firefox at any given time.  It’s not unusual for me to have 20 or 30 open, and I’ve been known to hit 40 or 50 at times.  (I wouldn’t survive without the sessionsaver extension.)

This can sometimes get Firefox pretty upset.  Windows Task Manager shows nearly 1GB of Mem Usage.  And sometimes CPU just hovers at or near 100%.

Sometimes Firefox becomes nearly unresponsive.  This is a sure indication that it’s time to shut down and reboot, but it can take a long time just to get focus under these conditions.  One thing I’ve found that works is, ironically, to lower the priority of the firefox.exe process in Task Manager.  If you set it to BelowNormal, it will usually help Firefox to backburner what it’s doing (must be garbage collection or memory consolidation) and come back to processing UI events.   But it really is a good idea to at least shut down Firefox, if not the whole machine, when you get to this point.

One not-so-funny thing about having a bunch of tabs saved in a session:  I once opened Firefox while at some public place with broadband, maybe a coffeehouse or hotel, I don’t remember.  I had thirty or forty tabs saved in my session, and when the blast of requests came from my machine all at once, the wireless router decided I was up to no good and blocked me from further Internet access.  I’m surprised it only happened that one time.