Category Archives: Software

Safari Extensions

or: the line between nifty and useful.

Safari 5.0.1 introduced, at long last, support for extensions. Naturally, I almost immediately downloaded a slew of the new toys to play with. In the interest of not overloading my browser with a bunch of marginally-useful gadgets, I uninstalled a good percentage of the candidate extensions after the obligatory test spin. What remains are the ones whose features I find useful on something resembling a regular basis.


This is quite possibly my single favorite extension, simply because it works so well across a wide swath of the web, and requires no special behavior on the user’s part. It detects when you’re viewing a page that’s part of a series and, as your scrolling nears the bottom of the page, automatically loads the next page and attaches it to what was previously the page bottom.

Imagine that you’re in a library reading a document written on a long scroll. AutoPagerize is like a silent but observant attendant who, as your eyes near the bottom of the unrolled scroll, discretely and unobtrusively rolls it out further. I’ve been using it for over a month now, and I still smile when I catch it in action.


Invoke Safari’s built-in View → View Source command, and you’ll be rewarded with a new window of monochromatic text. Invoke BetterSource by clicking its toolbar button, and you get a new tab of syntax-colored, line-numbered source code. If you ever need to debug a page, or are even just curious about its structure, this is the way to go.


It’s been a convention ever since the days when browsers first learned to load images — and yes, I’m old enough to remember those days, thankyouverymuch — to place those images in the upper left corner. As with many a convention, there’s no particularly compelling reason for it. It’s just what everyone else has done. CenterImages, as its name suggests, instead centers the image within the current browser window, placing it against a neutrally gray background for good measure. Maybe it’s not for everyone, but I find myself wondering why browsers haven’t always done it this way. A recent update adds the ability to contrast-enhance chromatically “flat” images.


At the risk of sounding like an Apple fanboy who does whatever Steve Jobs says to, I am not a huge fan of Flash, mainly because it tends to behave as though it’s entitled to all free CPU cycles, which it bloody well isn’t. Load more than a few pages containing Flash elements into separate Safari tabs, and you’ll find Flash bogging things down even when those Flash elements aren’t actively doing anything useful.

ClickToFlash doesn’t systematically block Flash, but it does prevent Flash elements from automatically launching upon page load, instead replacing them with placeholder images. Click on those images, and the Flash is loaded. It’s a good way of staving off Flash’s limitless CPU appetite without completely forgoing the use of sites that employ Flash.

As a bonus, it’s smart enough offer the option of replacing Flash-based movies with their H.264 counterparts on sites like YouTube, yielding improved video quality and reduced CPU usage at once. In addition, it lets you categorically permit or block Flash from different domains.

Flickr Original

When you’re browsing Flickr, it normally presents you with scaled-down thumbnail versions of large images, which is only reasonable: you don’t necessarily want to download the original 4000-by-3000-pixel version of every image as you’re perusing a library. Once you do find an image you like, though, the process of getting the original is a touch tedious. Click on the image in the photostream, then click on the image in the slideshow view, then click on the “View all sizes” button in the top right, then click on the “Original” link. Feh.

Flickr Original lets you sidestep all of that. It adds two options to the context menu that appears when you right-click on an image: View Original Flickr Image and Download Original Flickr Image.

It’s hardly something I use every day, but it is certainly nice to have when I need it.


The web has put us into contact with our fellow human beings as few innovations before it have. Unfortunately, this accomplishment comes with an unpleasant realization: most of our fellow human beings are egocentric, mean-spirited, borderline-illiterate morons, or at least choose, for some inscrutable reason, to behave as such while online. (Penny Arcade noted as much years ago.)

If you find yourself vaguely annoyed every time you realize that the interesting article you’re reading only occupies the first fourth or so of the page in question, the remaining three quarters consisting of variations on “first post!!!!1!”, “u r so gay!”, trolling, and similar noise, then perhaps you, too will appreciate ShutUp. It adds a toolbar button which lets you toggle the appearance of comments with a single click. This may only be further proof that I’m a snooty, short-tempered pedant, but I find myself appreciating its handiwork.

Ultimate Status Bar

This is a very simple extension which, when you hover your pointer over a link, tells you where that link will take you. “But wait,” you say. “Isn’t that functionality already built into Safari?” Well, yes. But Ultimate Status Bar knows a few tricks Safari has yet to learn, nicely summarized on its own page. My single favorite is its ability to expand the shortened URLs popularized by Twitter and its ilk. Its way of discreetly hiding when not in use is a nice bonus.

What the extension’s page will not tell you, but which is nonetheless true, is that its developers are some of the nicest people you will ever cross paths with online. I sent them an appreciative comment a while back, and they not only replied, but commented on portions of my blog they’d clearly read. I could not help but be pleasantly shocked.

Five web development environments you’re just as happy having never used

With apologies to Merlin Mann; brickbats and kudos to Chris for the pointer to the original inspiration, and his contribution of the second item, respectively.

  1. FORTRAN on Floats
  2. PL/I on Pontoons
  3. Smalltalk on Stilts
  4. Algol on an Alpaca
  5. REXX on Rollerskates

Update: Chris points out that Lisp on Lines exists, and is not a joke. Okay, well, it exists, at any rate. And its acronym, by accident or design, is LoL. Simula on Smack and Haskell on Hash cannot be far behind.

Incidental Genius

With apologies to Ed Nather:

The most perfect checkin comment I ever saw
was a few years back, at Juniper.
An engineer named Dan,
not related to your humble scribe,
was making a fix
to the way the routing engines in a redundant system
resolved the question of which one was active
and which one was standing by.

Reading his one-line summation of his efforts,
I thought to myself:
Here is the essence of wisdom.
Here are words that might have sprung
from the pen of his countryman Machiavelli.

Do not declare yourself master until you have become master.

Neil Gaiman once said
That one of the hallmarks of good fiction
Is the way it leaves room for things to mean
More than they literally mean.
Which is true as far as it goes.
But it turns out to be true
of more than just fiction.

Over the years I’ve had frequent occasion
to appreciate the reminder
that prudence and humility
are so often one and the same.

Innovations in Terminology

Faisal offhandedly mentioned something called Aptana, which I’d never heard of before and promptly had to look up. It turns out to be an IDE for AJAX, but that is not the point.

The point is that when I glanced at the right column of the project’s homepage, some combination of carelessness, distraction, and excessive caffeine consumption tricked my brain into reading “Milestone Release” as “Millstone Release”, and I realized that I’d inadvertently stumbled upon an expression the software-development world has long been silently aching for.

That shitty build you only tossed over the fence to DevTest because management was breathing down your neck, and which causes you to spend more time fielding questions than it would have taken to fix the bugs? Millstone Release. That ill-starred 2.0 version that you began with bright eyes and pure intentions, but which was oozing a noxious trail of second-system effect by the time you managed to boot it out the door? Millstone Release.

“Millstone Release: Whether or not you drown instantly, you’ll be wearing it around your neck for the rest of your life.”

I’m off to ring the OED. Or at least see what’s involved in setting up a CafePress store.


I’ve been posting a bit more lately, and while this is due to a couple of contributing factors, one of the big ones is my adoption of MarsEdit.

This is the blogging software that grew out of NetNewsWire: like NetNewsWire, it’s elegant, powerful, flexible, and clever without being too smart for its own good. If you’re looking for a tool that will let you create and manage blog posts from your Mac, MarsEdit is a fine place to start.

Le Renard, Part Deux

Firefox 2 has emerged from beta.

I’ve been running it for all of 15 minutes or so. I’ve observed no radical changes yet, which is fine, since in my view there wasn’t anything egregiously wrong with Firefox to begin with. Overall it looks like they’ve integrated some of the best ideas arising from the extensions developed for 1.x: finer-grained tab control and session persistence, to name but two.

My favorite new feature so far is integration with third-party RSS readers: it’s now possible for me to visit a site with Firefox, and then add its feed to my NetNewsWire subscriptions with two clicks. Very nice indeed.

The Antidote to my Pain

Certain of my Mac-using friends — who know who they are — insist upon composing their messages with that platform’s, which likes to honor a tradition established by its apparent idol, Microsoft Outlook, and indiscriminately break any line longer than 80 columns. Should such a line happen to consist of a URL, well, too bad.

After reassembling broken links by hand for the umpteenth time, I finally got sick of it and decided to find a Firefox extension that would solve the problem for me. Cue URL Link, which lets you highlight any chunk of text in Firefox and treat is as a URL, opening it in either the current window or a new tab. It reassembles broken links en passant, but its usefulness extends to any situation — as frequently arises on, for instance, message boards — where someone supplied a URL but for whatever reason didn’t, or couldn’t, turn it into an actual hyperlink.

Joe Bob says check it out.