Ego iPhone app#

Ego gives you one central — and lovely — location to check web statistics that matter to you. With support for Feedburner, Mint, and Twitter, you can quickly view the number of visits to your website (including daily, hourly and monthly numbers), feed subscription totals and changes, and how many people are following you on Twitter.

Readability#

Readability is a "simple tool that makes reading on the web more enjoyable by removing the clutter around what you're reading."

This is absolutely brilliant, and something I'll likely use until the end of time. It's similar to Shaun Inman's Fix Width bookmarklet, but it goes a few steps further by stripping all of the crap surrounding the content you actually want to read, and giving you various options as to how you want that content displayed (e.g., font size, sentence length, etc.).

I've thrown at least 30 different sites at it already and only once has it rendered improperly (in which case you just reload the page and read it as it was originally presented).

It's hard to over-emphasize how nice it is to have a consistent feel to everything you read on the web, especially long-form stuff. (While on the subject, it might make sense for Live Ink (see my write-up) to make use of Readability so that the only thing the user has to do to get Live Ink's restructured text — within the browser window — is click the bookmarklet.)

Amazon releases Kindle app for the iPhone#

Nice! Without question, the best part is that your last-read locations are auto-synced between the iPhone app and the Kindle (obvious use-case: waiting in a Costco checkout line on a Sunday).

We are living in the future.

E Ink's Russ Wilcox on e-paper, Amazon, and the future of publishing#

An informative interview with the guys behind the e-ink technology used by pretty much everyone, including Amazon and Sony.

We went through the bubble bursting like everyone else. We had several different applications on the table. And we had to figure out how we were going to have a big impact on the world with a very small amount of cash. We came up with a grand vision of doing "radio paper" — a complete device and a service.

"Radio paper," ha! I wonder if they floated that idea by Sony (before Amazon), and if so, why Sony didn't run with it.

Comedian Louis C.K. on our very jaded view of current technology#

This is what people are like now; they got their phone and they're like, "uhh, it won't…" GIVE IT A SECOND!!! It's going to space! Can you give it a second to get back from space?

Funny and poignant, Loius C.K. nails it in this video. Despite my incessant complaining about the various and frequent technological hiccups that seem to plague our lives (it's 2009 and my mobile phone still drops calls?), I'm forever cognizant of what it took to get us here and what a magical and promising place here truly is.

That said, complaining is just part of the cycle: necessity/dissatisfaction --> invention --> novelty --> expectation --> dissatisfaction.

The unrecognizable Internet of 1996#

Sifting through old Web pages today is a bit like playing video games from the 1970s; the fun is in considering how awesome people thought they were, despite all that was missing.

This article hints at a long-form piece about the Internet's last ~15 years (and its impact on me personally, society generally, etc.) that I've been pecking at for a while now. Has a technology ever enabled and transformed so much in so little a time?

Beyond a theory of everything#

While unified theories are sometimes called theories of everything, they offer absolutely zero help to 99 percent of scientists.

Select certain tabs in Safari (or WebKit) using keyboard shortcuts

February 16, 2009

One of my absolute favorite features of Firefox is the ability to quickly bounce back and forth between certain tabs by hitting cmd-<#> (e.g., cmd-1 takes you to the first tab, cmd-9 takes you to the last tab, etc.). I always keep Gmail in the first tab and Google Reader in the second, and I find myself jumping to the last tab as often as the first two.1 Needless to say, I hit cmd-1, cmd-2 and cmd-9 constantly; it's been pure muscle-memory for years.

The problem with Safari/WebKit

If you've ever tried cmd-<#> in Safari/WebKit, you know that it doesn't work the same as in Firefox; instead of going to a specific tab, it loads, in the current tab, the bookmark from your "Bookmarks Bar" that corresponds to the particular number. For example, if the first bookmark in your "Bookmarks Bar" is for Gmail, then cmd-1 will load Gmail in your current tab. In my opinion, this system is an utter waste of some of the best available keyboard shortcuts (and it really screws up my browser workflow).

The solution

Fortunately, as of Safari/WebKit v3.0, you actually can target particular tabs with AppleScript. With that in mind, the solution involves invoking a particular AppleScript for the particular tab position you want to jump to, and assigning the invocation to a certain keyboard shortcut (e.g., cmd-1).2

With respect to the second half of the solution — i.e., correlating certain keyboard shortcuts with the execution of certain AppleScripts — you're going to want to get something like Daniel Jalkut's (fantastic!) FastScripts.3

As explained above, I care about being able to bounce between just three tabs — (1) Gmail, (2) Google Reader and (x) the last tab — and so I created three AppleScripts, as shown below. (Though I list the three AppleScripts I created for my use case, let's just assume for the rest of this piece that you only want to be able to jump to the first tab.)

Go to the first tab:

tell front window of application "WebKit" to set current tab to tab 1

Go to the second tab:

tell front window of application "WebKit" to set current tab to tab 2

Go to the last tab (I assign this to cmd-3, instead of Firefox's cmd-9):

tell front window of application "WebKit" to set current tab to last tab

After creating the AppleScript, name it whatever you like, and save it to ~/Library/Scripts/Applications/WebKit/. If you want this to work in Safari, then you'll need to change each instance of "WebKit" to "Safari." If you want this to work in either browser, but with just a single AppleScript for each tab you want to target (instead of two), check out Gruber's solution for dynamically targetting either Safari or WebKit.

After saving the AppleScript, go to System Preferences > Keyboard & Mouse > Keyboard Shortcuts. Click the "+" sign, choose "WebKit" and give "Menu Title" the same name as your first "Bookmarks Bar" bookmark (i.e., what currently is associated with cmd-1). For "Keyboard Shortcut," just make up some nonsensical shortcut you'll never actually want to use (e.g., cmd-option-ctrl-x).

Next, jump to Preferences > Script Shortcuts within FastScripts; the application should have noticed when you earlier saved the AppleScript to the WebKit folder, and so "WebKit" should be in the list of applications presented to you. Click the triangle next to "WebKit" and you should see the AppleScript you saved. All that's left to do is to assign the cmd-1 keyboard shortcut to the AppleScript, and maybe restart WebKit.4


  1. It often is the case, as I'm blazing through Google Reader or reading an article in another tab, that I'll want to switch to the link I just opened in a background tab, and instead of having to scroll to it, I just punch cmd-9. I usually have 75-100 tabs open, so scrolling them to the end (and eventually back to the first and second tabs) can be very annoying in either browser (even if you use something like SafariStand, which allows you to actually scroll through all of them in Safari/WebKit).   

  2. Yes, I could have done this through Quicksilver (or the fantastic Launchbar, which is what I currently use (much more on that in a future post)), and without using any AppleScript, but that requires a few more steps than I'd like for something I use so frequently.   

  3. For those wondering, I'm now using FastScripts instead of SizzlingKeys with regard to giving my Griffin Powermate system-wide control of iTunes. (There was nothing wrong with SizzlingKeys, I just wanted to consolidate.)   

  4. I'm really not sure whether restarting the application is necessary. For what it's worth, there seem to be a lot of inconsistencies, at least on my machine, with regard to when the keyboard shortcuts actually "take" — it's quite frustrating. To that end, it's still not entirely clear to me that you have to assign some other keyboard shortcut to bookmarks in the "Bookmarks Bar" before using FastScripts to associate cmd-<#> with the respective AppleScript. Indeed, as I type this, my cmd-1, cmd-2 and cmd-3 FastScripts assignments are working beautifully within WebKit, but the WebKit menus still show cmd-2 and cmd-3 next to the second and third bookmarks in my "Bookmarks Bar," while the "correct," nonsensical shortcut appears next to the first bookmark. *shrug*   

The evolutionary search for our perfect past#

In short, we have what the anthropologist Leslie Aiello called "paleofantasies." She was referring to stories about human evolution based on limited fossil evidence, but the term applies just as well to nostalgia for the very old days as a touchstone for the way life is supposed to be and why it sometimes feels so out of balance.

Gmail's new "multiple inboxes" feature

February 08, 2009

Gmail's new multiple inboxes feature is pretty cool, and depending on your email workflow, could prove to be very useful. What it effectively allows is for you to compartmentalize your emails (through searches on various labels, etc.), and to keep those compartments always in view together with your regular inbox — it's your familiar inbox view, expanded.

Because of the confusing description — "multiple inboxes" doesn't quite capture the idea — I initially dismissed the announcement. It wasn't until others commented on the feature, and showed pictures of it in action, that the idea clicked for me.

The first thought I had when I read about the new addition was that I could use a separate pane for email messages requiring a response. As has been my wont for as long as I can remember, when an email comes in I immediately do something with it (e.g., respond, label, archive, etc.), but that doesn't mean that the email is fully processed.1

For a message that requires a response, I generally give it one of two labels — "respond" or "critical" — unless I respond to it immediately. "Respond" is for responses that do not need to be effected within the next day or so (e.g., a reply to a support email from someone I've never met); "critical" is for responses that need to go out as soon as I can get to them (e.g., a friend asking whether I can meet for dinner that night).

Given this, I created a new pane to hold a "label:critical OR label:respond" search, and now I have those emails always in view whenever I'm inside Gmail. I use contrasting colors for the two labels, and so it is very easy for me to see at a glance the messages that are "critical."

What I foresee this doing for me is kind of passively prodding me into speeding up the receive/respond cycle. Sometimes a week or more can go by without me revisiting the "respond" emails; I think this new setup will kind of force me to deal with those emails more frequently, because they'll always be there letting me know that they're still waiting their turn.

I realize that for some people, the panes generally, and maybe even the use I just described, are overkill. They don't want their email view cluttered any more than it already may seem. That's fine, I certainly can't come up with a use-case for me where I would want more than the one additional pane just described, but I can see where others might find three or more panes practical.

While this multi-pane idea is sound (and something that in a few years we all likely will wonder how we ever lived without), the actual layout and implementation still needs some work. To that end, I offer a few ideas to the team.

  • I think all panes should be the same width; they should resize relative to the browser window, but they should all resize together.
  • If just two panes are being used (as I describe above), then they should both begin at the same vertical position, otherwise it just looks odd.
  • The panes need to be more distinguishable as between each other. As it stands, they're too close together and too similar in style.
  • The additional panes should be able to use the standard action buttons/menus (e.g., you should be able to tick the checkbox of an email in a non-inbox pane and use the delete button to remove it). I think the standard actions/buttons should span the two columns of panes, which would resolve the vertical-position issue I note above.
  • If an email appears in an additional pane, it should not also be displayed in the regular inbox pane. Depending on your workflow, and the panes you've created, it may be the case that your emails don't show up in both places, but the app should be setup so that this never happens (why would you ever want the email taking up space in two or more panes?).

  1. My 10+ year-old workflow is very much like the whole Inbox Zero thing, which basically is a mental trick to convince you that you've no "active" emails in your inbox; truthfully though, there still are actions to be taken on many of those "processed" emails (e.g., responses to be written).    

Fossils found of unbelievably large snake#

Titanoboa was at least 43 feet long, weighed 2,500 pounds (1,140 kg) and its massive body was at least 3 feet (1 meter) wide.

Surely this beast must have approached certain physiological thresholds; hell, it was larger than the fake snake in Anaconda!