MiddleClickClose Will Work With Snow Leopard But…

12/02/2009 Update: MiddleClickClose has been updated for 64-bit Safari. More info here.

I have upgraded my Mac to Snow Leopard, and as soon as I loaded Safari, I could see that MiddleClickClose was no longer working. I had already heard from someone that this was so, and I had expected it, so this was no surprise. It is possible to get it working again by right-clicking (or whatever the native OSX clicks are to get the context menu) on the Safari program in /Applications, selecting Get Info, and then checking the “Open in 32-bit mode” checkbox. Once you do that, SIMBL and MiddleClickClose both load, and the plugin works. But you’re in 32-bit mode.

MiddleClickClose is totally dependent on SIMBL. If SIMBL won’t load, neither will MiddleClickClose. The solution is, most likely, to get a 64-bit build of SIMBL, but I don’t know if that’s a simple matter or not. The SIMBL developer has said that he only has a PPC machine running Tiger, so I don’t really see how he’s going to get it running. If he does, then maybe there is hope. If not, your only option is to run Safari in 32-bit mode.

Or use Firefox, which is what I do.

1 eeePC, 2 SDDs, 1 Pendrive, Ubuntu, Win7 and dd – Hoo-wee!

If you’ve ever been here before, you know that I bought an Asus eeePC 900a a few months ago. After buying it, I pulled out the 1G RAM and 4G SDD and replace them with 2G RAM and a 32G SDD. I also swapped a few times between Easy Peasy and Ubuntu Netbook Remix, but I finally settled on the RC of Windows 7. At first, Win7 seemed to be snappy, but as I really used it, it was dog slow. After running some speed tests on the SDD, I discovered that it was pitifully slow, especially when writing, and that was making the system almost useless. I would open Firefox and try to use Gmail, and it would sometimes take over a minute to open an email, meanwhile the drive light was solid, instead of just flickering.

So I took a chance and ordered what looked like a much faster SDD. It shipped on Thursday evening and, much to my surprise, arrived in my mailbox on Saturday. For comparison, the first SSD I bought had these specs:

  • Sequential Read: up to 40MB/s
  • Sequential Write: up to 15MB/s

By contrast, the new one has these specs:

  • Sequential Read: 155MB/sec
  • Sequential Write: 100MB/sec

You can see a marked difference between the two. When I bought the first one, I didn’t have anything to compare it to, so it didn’t seem like it would be that bad. It was. Now, these numbers are somewhat deceptive in that they are most likely burst rates, not sustained. So while the new drive is capable of hitting 100MB/sec writing, that’s only for short bursts, and won’t hold out over a long series of writes. It’s sort of like a cheetah; it can run extremely fast, but only for short periods of time.

I decided to install it last night, but since I had already installed Windows 7 on the existing drive, I really didn’t want to have to reinstall it, plus reinstall all my programs and reset all my preferences. So I got to thinking, and I came up with a be-you-tee-ful plan. Let me ‘splain.

I have an 8G pendrive that already had the live image of Ubuntu Netbook Remix on it, and I knew that it was bootable. I booted off that drive and mounted the Windows 7 SSD to see how much space it was using and make a copy. Since there wasn’t enough space on the pendrive for a 32G image, I knew that I would need external storage. I brought it up to my office and then got a MacGyvered external drive enclosure and a spare 160G hard drive working with the eeePC. (I say it’s MacGyvered because a few months ago I tore the enclosure apart, removing the existing hard drive to try to turn it into an external CD-ROM drive. That didn’t work, so when I was doing this operation, the drive was sitting on top of part of the enclosure, upside-down, with the cables hanging out. It was ugly.)  I then mounted the 160G drive while booted into Ubuntu from the pendrive, and executed the following command:

dd if=/dev/sda of=eee.iso

For those of you who don’t know Unix commands, dd is a program for doing low-level copies. This command did a full bit-level copy of the entire slow SSD, including all partitions and data, and stored them in a 32G file called eee.iso. (Yes, it’s not really an ISO, but I had to call it something.) That took about 30 minutes to copy the whole drive. I then shut the computer down, replaced the slow SSD with the faster one, and rebooted off the pendrive again. Once it was booted, I remounted the external drive, cd’d into the location where I had put the eee.iso file, and executed this command

dd if=eee.iso of=/dev/sda

About an hour and half later, I had a perfect copy of my original SSD that was bootable, and which Windows 7 was happy with (it even installed the correct driver upon first boot).

I am immensely happy with my system now. It’s extremely fast, and not just compared to what it was. Win7 is snappy and responsive, my programs all work, and I didn’t have to reinstall anything.

And that’s just cool.

The iPhone 3GS GPS Is Crazy Good

I have a Garmin eTrex Venture hand-held GPS that I bought about five years ago. I used it for years mounted to my bicycle handlebars for when I would go trail riding to inject a bit of geekery into my rides. I would then download the tracks off of it and pull them into Google Earth to see where I’d been. It worked pretty well, but it had some annoying tendencies. The first was that it took nearly 10 minutes after turning it on before it really knew where it was. It wanted to get strong signals from twelve satellites before it would give you a decent reckoning of where you were on the planet, and that took a while. It was also very sensitive to cloud cover or tree cover. There were many times I’d be riding through the woods and would be in a particularly dense area and it would completely lose any idea of where we were, which is really not what you want your GPS to do.

Last Sunday I decided to get the bike out after a nearly two-year hiatus and go out to my favorite riding spot, Tribble Mill Park. Before I left, I bought an app for my iPhone 3GS from the app store called Trails. When I got to the park and got my bike out and ready, I ran Trails, created a new track entry and started it up. It almost instantly showed me where we were (just like the Google Maps app that is built-in) on the map. I then put the iPhone back into its leather holster, put that inside a canvas saddlebag that hangs under my bicycle seat, and then climbed into the saddle and started riding. I stopped several times along my route to check on it, and not once did it lose the signal. Let me say that again, in a different way: even though the iPhone was encased in leather, ensconced in a canvas bag and under a bicycle seat and my butt, it never lost the GPS signal. It mapped my route perfectly, as can be seen from this screenshot


That’s pretty darn cool, for a phone! The GPS is not the primary purpose of the device, yet it performs far better than a dedicated GPS device. Now, GPS devices in general may be a lot better now than they were five years ago when I bought mine, so this may be an unfair comparison, but it really blew me away. I had thought about getting a handlebar mount for the iPhone, but if it can do what it needs to do from the relative safety of the saddlebag, I’d much rather keep it in there.

By the way, the Trails app is quite nice and completely worth the $3.99 it cost. I like the fact that you can stop and restart it to pick up where you left off. One really nice feature is that it has a button to launch the iPhone’s camera, so you can take pictures along the way without exiting the program. That’s a nice touch. It also requires you to name each track, which are kept in separate “files” so one track doesn’t show up overlaying another on the map. If you’re into trail riding and you have an iPhone 3GS or 3G, consider buying this great app.

Biblical Greek Word Games

In my Sunday School class, we’re currently working through a book on the Gospel of John, by a man called Mark A. Matson. The book is pretty good, but in yesterday’s lesson he explained something in a way that fundamentally misses a very important point. It involves Biblical languages and playing word games.

The scripture in question is John 3:1 – 21, in which a Pharisee called Nicodemus comes to Jesus by night. Verses 2 and 3 are rendered by the ESV as

2. This man came to Jesus by night and said to him, “Rabbi, we know that you are a teacher come from God, for no one can do these signs that you do unless God is with him.”

3. Jesus answered him, “Truly, truly, I say to you, unless one is born again he cannot see the kingdom of God.”

Now, ignoring the fact that Nicodemus didn’t ask a question yet, Jesus’ answer is interesting because it confuses Nicodemus. He responds to Jesus in verse 4

Nicodemus said to him, “How can a man be born when he is old? Can he enter a second time into his mother’s womb and be born?”

Mark Matson has this to say about this exchange

The basis for the miscommunication lies in the double meaning of the phrase used for “born again.” The Greek adverb anothen, which modifies the verb “to be born,” has two possible meanings. It can mean “again,” as Nicodemus interprets it, or it can mean “from above.” The latter meaning is what Jesus suggests (contrary to bumper stickers that claim you cannot enter the kingdom of God “unless you are born again”) and serves as the basis for his subsequent discussion about being a man from heaven who tells of heavenly things (cf. 3:12 – 13). He is “from above,” and he brings the Spirit that allows others to be born “from above.”

That explanation sounds great and appeals to our desire to find deeper or hidden meanings in biblical passages. But there’s a huge problem with this explanation:

Jesus did not speak Greek.

As a Pharisee, Nicodemus most likely didn’t speak it either. As 1st Century Jews in that region, they would have been speaking Aramaic. Even though the books of the New Testament were written in Greek, the predominant language of the region was Aramaic. There are several instances in the Gospels where a direct quote from Jesus in Aramaic is written down, and then followed by a translation into Greek (or into English in English bibles). One example is in Mark 5, when Jesus raises Jairus’ daughter. Mark 5:41 records this

Taking her by the hand he said to her, “Talitha cumi,” which means, “Little girl, I say to you, arise.”

If Jesus were speaking Greek, there would have been no reason to provide a translation.

Basically what I’m getting at is that Matson is wrong in trying to argue that Nicodemus didn’t understand what Jesus was saying because of confusion on the meaning of a Greek word. I believe that Nicodemus didn’t understand because he was listening on a completely different plane than where Jesus was speaking. It’s just that simple. Jesus was speaking of things far beyond Nicodemus’ experience or intellect, and he was naturally left wondering what Jesus was saying. In my class, we also found it interesting that in other instances, mostly in the Synoptic Gospels, Jesus goes out of his way to try to explain things in language that his listeners will understand. His parables are great examples of this, because he explained deep things using language and examples that the people listening could grasp. But in this case, he comes at Nicodemus from a much higher point. I can only guess that Jesus assumed, since Nicodemus was “a ruler of the Jews,” he would be able to comprehend the lesson.

I must say, however, that it’s very easy to fall into the trap that Matson has. During the first year or so that I was studying Greek, it happened to me all the time. The trick is to step back and remember that even though the text was originally written in Greek, that was a translation of what was spoken. In most cases, these dialogs were spoken as much as a hundred years before they were written down, preserved in an oral tradition.

I fully believe that learning Greek so that you can read the ancient texts is a worthwhile endeavor, and that’s why I have spent so much time pursuing it. But you have to remember that these books were not dictation from God, and try not to read too much into the way things were written.

MiddleClickClose Updated For Future Safari Versions

08/31/2009 Update: For Snow Leopard compatibility, see here.

Yesterday Apple release Safari 4.0.3 which, of course, broke MiddleClickClose. Again. The problem lies in the file Info.plist that is part of the plugin. From what I read about SIMBL, good practices said that you should include a key called MaxBundleVersion whose value was the internal version number of the app you were patching. The problem is that every time Safari gets updated, Apple increments that number and SIMBL won’t load the extension any more, since it proclaims that the maximum version of Safari it should be loaded with is the previous version.

I usually play catch-up with Apple and get MiddleClickClose updated a day or two after a new Safari ships. I’ve decided to stop that and have removed the MaxBundleVersion from the Info.plist. This is, after all, a dirty hack, so why not make it even hackier?

If you re-download and re-install, you shouldn’t ever need to update it again. If you already have it installed, you can just edit the Info.plist file that will be in ~/Library/Application Support/SIMBL/Plugins/MiddleClickClose.bundle/Contents, removing the two lines that look like this


Here are the new downloads

Observations From WDW

Last Saturday night we got back from our latest trip to Walt Disney World. We spent a week there, like we do every year, but this year there were several differences. First, we usually go in April/May or October, but this year we went in July. Second, we usually stay in a Disney resort, but this year we stayed off-property. The reason for both is that my parents had a condo about six miles from WDW for the week of July 18 and they asked us if we’d like to go down and use the second bedroom. We had actually decided we weren’t going to be able to afford a trip this year, but we figured since we wouldn’t have to pay for a room, we could probably swing it.

We had a lovely time, though it was hot, hot, hot, rainy at times, and far more crowded than we are used to. I made several observations while there, and I thought I’d write them down. Here, then, in no particular order, are things I observed last week.

Magic Kingdom

  • Having Space Mountain and the Tomorrowland Transit Authority closed at the same time makes Tomorrowland not as much fun.
  • I still adore the Carousel of Progress, but the “future” scene at the end needs updating. “I suppose you’re going to tell us about how you didn’t even have a car phone!”
  • Spectromagic (aka The Parade That Refuses To End) can trap you. We got trapped in certain areas of the MK three times while there.
  • Spectromagic does not need to be presented twice a night, within two hours of each other. Twice a week would be better.
  • Jack-ass teens who fake getting out of an Indy Car at the Tomorrowland Speedway, thus making my son have to wait for another car, should be bludgeoned.
  • Staring at your video camera while filming your ride on the Mad Teacups is a sure way to get motion sick and toss your cookies. (I realized what was happening just in time to keep from hurling.)
  • The Peter Pan ride always has a bizarrely long line, given that the whole ride is somewhat lame, and only about two minutes long.
  • The changes to the Haunted Mansion they made last year were fabulous. I particularly like the staircase room.
  • The Jungle Cruise is so much better at night.
  • Great skippers really make the Jungle Cruise great. “If you’ve enjoyed this trip, my name is Joseph and this has been the famous Jungle Cruise. If you didn’t enjoy it, my name is Felipé and this has been Pirates of the Caribbean!”
  • The Enchanted Tiki Room was so much better before they “improved” it by adding Iago and Zazu.
  • The frozen orange juice you can buy from the counter next to the Tiki Room is still the best and goes down so nicely on a hot day.


  • I really don’t like most of the changes they made last year to Spaceship Earth. Jeremy Irons was a better narrator than Judi Dench and the script has been dumbed-down so much that it’s insulting. I do like seeing Woz, though.
  • The descent at the end of Spaceship Earth is a stupid exercise in killing time. There used to be scenes of “the future” of communication, but now it’s a dumb glimpse of “some amazing technologies we happen to know about.” Yeah, like flying cars and autonomous robot servants. Nothing real in that animation; just clichés from sci-fi films.
  • I liked “The Living Seas” far more than “The Seas With Nemo and Friends.” The inside was better when it was “Sea Base Alpha.”
  • Turtle Talk With Crush is amazing tech.
  • Soarin’ is one of the best rides they have.
  • On two trips now, whilst riding Living With the Land, there have been people in the lab at the end of the greenhouse. I always wondered if they actually did anything in there.
  • The old Figment ride in Journey Into Imagination was a lot better than what’s there now, even if the current ride does feature Eric Idle.
  • Ellen’s Energy Adventure still makes me laugh, especially the pre-show.
  • Even though Mission: Space is amazing tech, I miss Horizons.
  • Even though Test Track is a fun ride, I miss the whimsy of World of Motion.
  • It is absolutely criminal that in the American Adventure pavilion at World Showcase the restaurant is burgers and fries that are no different that what you can find at any counter service restaurant all over WDW. We have steaks and such in this country that would be tasty to visitors.

Disney’s Hollywood Studios

  • Disney’s Hollywood Studios is a pale reflection of the Disney/MGM Studios that opened 20 years ago this year. Yes, the Tower of Terror and Rockin’ Rollercoaster are awesome, but all the TV- and movie-making are completely gone. It’s just a movie-themed park now, instead of a working studio with rides and shows.
  • Toy Story Mania is absolutely incredible. Get there early and get a FastPass.
  • I hate that they destroyed Residential Street and most of the backlot in order to bring in the Lights, Motors, Action stunt show. It is so hot watching that show in July.
  • The American Idol Experience was kind of lame. Why is Disney/ABC paying Fox for the rights to do that?

Blizzard Beach

  • We haven’t been to Typhoon Lagoon in years because Blizzard Beach is so great.
  • If the water level is too low in the lazy river at Blizzard Beach, your knees will scrape the bottom, which hurts. A lot.
  • Young, teen-aged girls from other countries are really into wearing amazingly small bikinis, some of which can only be described as “butt floss.” Did I mention that these bikinis were amazingly small?
  • Teamboat Springs at Blizzard Beach is worth whatever wait you have to put up with. It’s a long, fun ride.
  • I’m still too chicken to get on Summit Plummet.
  • They really need more than one conveyance to the top of the mountain. It takes a long time to get on the chair lift and then several minutes to get to the top. There are staircases, but it’s a long way to the top, or even the middle where some of the rides are, when you have to take the stairs.
  • They should keep all the pavement constantly sprayed with water. In the summer, that pavement gets incredibly hot and since most of the patrons are barefoot, it hurts.


  • When it’s 95 degrees with 85% humidity, you sweat instantly upon waling outside.
  • If you don’t eat meals inside the parks, you can save a fortune.
  • A one-day, one-park ticket is absurdly expensive at $75.

So, that’s pretty much it, though I’m sure I missed a few things I wanted to mention. We did miss not being at a Disney Resort some, because of the perks you get. We like to use the Extra Magic Hours, and it’s nice letting someone else do all the driving. But we still had a great time, and are looking forward to our next trip, which we hope will be in 2010.