Twitter chatter during the Super Bowl#

As the Steelers and Cardinals battled on the field, Twitter users across the nation pecked out a steady stream of "tweets." The map shows the location and frequency of commonly used words in Super Bowl related messages.

It's kind of like a tag cloud (which I usually detest) reimagined. It's a neat visualization and use of Twitter that I predict will become rather popular going forward. (The paucity of tweets coming out of Montana is hard not to notice: the only words that bubble up are "springsteen" and "awful.")

Density dependence considerations for SETI signals#

This paper develops a detailed quantitative model which uses the Drake equation and an assumption of an average maximum radio broadcasting distance by an communicative civilization to derive a minimum civilization density for contact between two civilizations to be probable in a given volume of space under certain conditions, the amount of time it would take for a first contact, and whether reciprocal contact is possible. Results show that under certain assumptions, a galaxy can be teeming with civilizations yet not have a guarantee of communication between any of them given either short lifetimes or small maximum distances for communication.

Use Yahoo! Pipes to get your Twitter feed in shape

January 31, 2009

A few people follow my tweets through the RSS feed provided by Twitter (or through RSS-->email), but Twitter won't let me choose whether I want @replies to show up in the feed. I don't want them there, and neither do my followers (especially when they don't know the people I'm messaging). (This is the same issue that prompted me to modify the Twitter Tools WordPress plugin.)

Another thing I don't like about the RSS feed provided by Twitter is that the title and description elements have the same content — the tweet — and so each tweet shows up twice in feed readers, which is kind of annoying. Further, Twitter insists on prefacing each tweet with your username, which also is annoying.

Fortunately, these niggles can be taken care of rather painlessly by routing the feed through Yahoo! Pipes; the image below shows the source of the pipe I use to do just that.

Yahoo! Pipe for Twitter RSS feed

The filter operator searches for, and removes, all items whose description element contains "username: @" (i.e., the structure of every @reply given the username preamble).

The regex operator does a couple of things. First, it removes "username: " from every title, and so only the tweet remains. Second, it removes the description element from every item; "." matches any non-newline character, and "*" matches zero or more copies of the preceding character set (in our case, any non-newline character). Because the regex operator acts on the entire element, including the element's type, ".*" wipes out the entire line.

iSteamPhone t-shirt (and poster)#

Artist Kevin Tong captures the invention of daVinci, the imagination of H.G. Wells, and the brilliance of Jonathan Ive in this Exploded Phone drawing.


Ordered. How could I not? I mean, seriously people. (Sure, I'll never wear it in public, but who cares?)

ClickToFlash is a WebKit plug-in to prevent automatic loading of Adobe Flash content#

For the last few years I've utterly refused to use a web browser that didn't allow me to block Flash in some manner. Firefox has had the venerable FlashBlock extension for years, but when it comes to nightly builds of the browser, the extension generally is a bit unpredictable or doesn't work at all.

I've actually been using Safari pretty exclusively for the past few months, and employing SafariStand to allow manual invocation of Flash content (and I just adore the option of vertical, thumbnailed tabs, especially since Safari won't let me key-shortcut to certain tabs or scroll the tab bar (Firefox lets me do both)).

I of course want to use WebKit nightlies, but they break SafariStand's Flash-blocking features (though the aforementioned tab options always seem to work without issue). And now, the point: ClickToFlash appears to work fine with nightly builds of WebKit!

(I note that there's an "enhanced" version of ClickToFlash that allows site-whitelisting by simply holding the option key when enabling a Flash box; the only site I can think of wanting on that list is Google Finance.)

(Via John Gruber.)


A neat, interactive visualization of the U.S. zip code system. It's kind of cool to see the zones as a function of the length of the zip code (i.e., as you go from one to five numbers); for example, zip codes starting with the number 9 belong to the west coast. Be sure to play around with the zoom feature.

Have a (Mac) notebook "dock"/stand you really like?

January 25, 2009

A few days ago I ordered a top-of-the-line 15" MacBook Pro and a 24" LED Cinema Display (which means I have a Mac Pro, a MacBook Air, and a 23" Apple Cinema Display for sale; email me if interested), and am now on the hunt for a "dock" or stand.

When I say "dock"/stand, I'm not referring to something to place the notebook in/on when it's not on my desk (e.g., something like Belkin's CushTop, for which I wrote a glowing review last year),1 but rather a stand to use when it's on my desk and piped to the external display.

FloaterWithout question, the best thing I've found so far is Balmuda's Floater. I'm utterly in love with its design (surprise!) and obvious structural integrity, and that it can be "resized" to handle notebooks of various thicknesses certainly doesn't hurt it in the future-proofness department. I of course get a warm, fuzzy feeling from the fact that the internal surfaces are "covered with very thin sheets of silicon that protect the computer without interfering with cooling performance" and that the gap between the panels (i.e., where the computer sits) is machined to be within a tolerance of .1 millimeters! Not surprisingly though, all that beauty, style and utility comes at a steep cost: $300. Another issue is that current shipping delays are from two to four weeks!

Power Support Docking StandI've looked at Power Support's Docking Stand, and while it probably works, there's just no way it can be as stable the Floater (not least because the Floater weighs nearly two pounds), and it most definitely doesn't look as good. Further, I can't find any pictures of it other than those provided by the manufacturer, which are crap,2 and I'm worried that it won't fit perfectly the new unibody MacBook Pro (the last thing I want is the machine leaning to a particular side).3

Are you aware of a stand that maybe hasn't crossed my radar? I'd prefer it to be vertical because it looks better (IMHO) and has a much smaller desktop footprint. Also, I've no desire to use both displays at once, and so stands like Griffin's Elevator are of little interest to me.

(Alright, who am I kidding, I likely will buy the Floater, but if there's something else out there that can match, or at least approximate its features and looks, I'd like to check it out before blowing $300 on a freakin' stand.)

  1. I also like the design of Logitech's new Comfort Lapdesk, but haven't used it or seen much written about it.   

  2. Note to manufacturers: most of us want to see large pictures of your product, from all angles, before we throw down our credit cards. Not sure when or where the decision is made to give potential customers tiny thumbnails and nothing else, but it's the wrong decision.   

  3. The new Floater T3 was designed specifically for the unibody model.   

The Big Picture on the inauguration of President Barack Obama#

I generally shy away from linking to The Big Picture because I just assume that everyone already is subscribed to it (if you aren't, you need to be — it's never not great), but I had to make an exception for this set. (I especially like photos 17 and 23.)

George Dyson on the birth of the computer#

Historian George Dyson tells stories from the birth of the modern computer — from its 16th-century origins to the hilarious notebooks of some early computer engineers.


January 19, 2009

When it comes to Twitter, I've been using Twitterrific from jump. Sure, I've tried every other Mac OS X offering, but have never been able to stick with one for more than a couple of days (until TweetDeck; keep reading). The main reason for this — apart from Twitterrific's good looks and ease of use — is that no other client offers Twitterrific's last-tweet-read/seen feature (i.e., a placeholder at the last read tweet). I find this mind-boggling because it seems so trivial to implement, and it weirds me out that more people aren't clamoring for it in all the other clients. Why would anyone ever want to spend any time trying to figure out where they left off when last they checked their Twitter stream?

That said, Twitterrific is pretty bare-bones and hasn't seen a significant update for close to a year, and as you might suspect, the competition hasn't been sitting on its ass. Like I said, I've played around with every available client, and while none provides last-tweet-read "bookmarking," many do offer features above and beyond those found in Twitterrific. TweetDeck, my current daily driver, allows customizable columns that really help me to make the most efficient and practical use of the micro-blogging service (especially when the app is full-screened in its own space, an implementation even Matt Haughey might be able to get behind). From the product page:

TweetDeck enables users to split their main feed (All Tweets) into topic or group specific columns allowing a broader overview of tweets. The default columns can contain All Tweets from your timeline, @replies directed to you and direct messages. The GROUP, SEARCH and REPLIES buttons then allow the user to make up additional columns populated from the live tweet information.

While TweetDeck's ability to sort tweets into columns is what makes it so much more useful than anything else I've seen, the execution of the feature is fundamentally flawed because tweets show up in every applicable column. As an example, assume that I've a "main" column for all tweets from people I follow, a @replies column and a column to hold a group I've created for real-life friends. If a real-life friend sends me a @reply, it will show up in all three columns! This isn't so annoying as to completely outweigh the benefit of the app, but damn if it doesn't make me crazy to have to read the same tweet three times (or rather ignore it twice).

I'm hoping this will be "fixed" soon, assuming, of course, that the developer agrees it's an issue. The way I see it, a hierarchy should determine where a "multi-column tweet" appears, something like: direct message > @reply > search > group > all tweets.

Also, as I mentioned, TweetDeck doesn't offer last-tweet-read, and so to keep up with the stream you kind of have to clear everything after you've read it (so you're not trying to figure out where you left off when next you return to the app). At the tweet level, TweetDeck's mark-as-read functionality is laughable (it's a micro-sized "dot" placed too close to other clickable things); at the stream/column level it's a bit better, but there's 1) no way to clear all tweets, only "clear seen tweets," which means you have to click two buttons for every column (i.e., "mark all as seen," and "clear seen tweets"), and 2) there are no keyboard shortcuts. Ideally, I'd like to read a column of tweets, and then hit a single key sequence to clear the read column (or better yet, clear all columns).

(Iain, I write because I care. Keep up the good work.)

How to criticize computer scientists#

Wasn't all this done years ago at Xerox PARC? (No one remembers what was really done at PARC, but everyone else will assume you remember something they don't.)

Interview with an adware author#

So we’ve progressed now from having just a Registry key entry, to having an executable, to having a randomly-named executable, to having an executable which is shuffled around a little bit on each machine, to one that’s encrypted– really more just obfuscated– to an executable that doesn’t even run as an executable. It runs merely as a series of threads. Now, those threads can communicate with one another, they would check to make sure that the BHO was there and up, and that the whatever other software we had was also up.


We did create unwritable registry keys and file names, by exploiting an “impedance mismatch” between the Win32 API and the NT API. Windows, ever since XP, is fundamentally built on top of the NT kernel. NT is fundamentally a Unicode system, so all the strings internally are 16-bit counter Unicode. The Win32 API is fundamentally Ascii. There are strings that you can express in 16-bit counted Unicode that you can’t express in ASCII. Most notably, you can have things with a Null in the middle of it.

That meant that we could, for instance, write a Registry key that had a Null in the middle of it. Since the user interface is based on the Win32 API, people would be able to see the key, but they wouldn’t be able to interact with it because when they asked for the key by name, they would be asking for the Null-terminated one. Because of that, we were able to make registry keys that were invisible or immutable to anyone using the Win32 API. Interestingly enough, this was not only all civilians and pretty much all of our competitors, but even most of the antivirus people.

A great read. (Via Andy Baio.)

Nano War#

A simple, fun and addictive(!) real-time strategy game, especially if you like numbers.

Computerworld interviews Brendan Eich, creator of JavaScript#

Eich details the development of JS from its inception at Netscape in 1995, and comments on its continued popularity, as well as what he believes will be the future of client-side scripting languages on the Web.

Who in 1995 would have predicted JavaScript's present-day ubiquity, power and utter indispensability? Not me.

Extending Darwinism#

In the light of epigenetics, old views of macroevolution must change. If wide-ranging epigenetic and genetic changes occur in stressful conditions, they are likely to have many effects on an organism's form and function, its phenotype. This implies that conditions requiring novel adaptations to cope with them are often the very same ones that spur the massive epigenetic and genetic alterations conducive to rapid evolutionary change. A firm linkage between the production of new variation and its subsequent selection, something forbidden within [Modern Evolutionary Synthesis], grows ever clearer.

The iPhone's SMS app needs some work

January 06, 2009

Like a lot of you reading this, SMS has become a very large part of my daily communication routine (despite the apparent racket, which I've been sounding off about for a decade). In fact, I generally prefer texting to just about every other correspondence mechanism (to the extent it's an acceptable medium for the task). The iPhone's SMS app is good, but it could be made much more robust and useful.

The main thing I'd like added is the ability to mark text messages as unread. I receive a ton of texts, sometimes in quick succession and from multiple people, and don't always want to respond to them right away (much like email), but do want to respond to them at some point.1 The lack of mark-as-unread is most annoying when I receive a text message while inside another application; when this situation arises, a modal window appears with the text message, and gives me two choices: close and reply. If I choose "reply," I'm shuttled out of the current app and into the SMS app; "close" kills the semi-transparent pop-up and marks the message as read. These limited options mean that if I receive a text message while doing something else, I either have to respond to it immediately, or run the risk of forgetting that a response is due.

I also don't like the fact that I can't do anything with the SMS app while it's sending a text. Sure, I can jump out of the app, but if I want to reply to someone else, or draft another message to the same person, I have to wait until the current text has been sent.

On the privacy front, I don't like that I can't prevent texts from showing up on the front of the iPhone when it's in "standby" mode. If the phone is just lying around, then anyone can see the last text received, even if you lock the device (unless you receive more than one, in which case it will tell you only how many you've received, and from whom). Update: Actually, this can be disabled: Settings > General > Passcode lock > Show SMS preview. (Thanks Lode Vermeiren.)

Finally, I'd like to be able to send to multiple people from within a single person's thread. For example, let's say friend 1 and I are having a conversation, and Friend 1 says something that requires a reply, which reply I think also should be sent to friend 2. In this case, I'm required to jump out of the conversation and start a new one addressed to both friends, instead of just adding a new recipient to the current message.

Oh, right, cut/copy/paste would be great too, but we all know that's just a pipe dream.

  1. I have to point out that none of my friends wants me to have this feature. They know that I have to reply (no matter the medium; that's just how I am), and they've come to realize that texting is their best shot at getting that reply within 24 hours; mark-as-unread might give me too much wiggle room.