Category Archives: Professional

Weekend website updates

I spent much of this weekend inside, out of the snow, working on a couple of geeky/cool website updates.

First, I sent out about 150 online Christmas cards. For the last few years I used Yahoo Greetings, but this time I decided I wanted something a little more personal. I included a Flickr slideshow and a short holiday letter to the people I haven’t talked to recently. Plus I got to play around with some cool new technology like sIFR and the Amazon CloudFront CDN. If you didn’t receive a card but you’d like one, let me know in the comments.

Second, I developed a dashboard to monitor the health of my web server. I wrote a small script which captures statistics every minute, and then built the dashboard to go along with it. I’m using Flot, a JavaScript graphing library, to generate the graphs. It probably would have been wise to use an existing component to capture the data, but this works fine for now.

Geeky/cool indeed.

Sneaking Ruby Through Google App Engine (and Other Strictly Python Places)

Very insightful post from why the lucky stiff about the challenges and successes he found when attempting to translate Ruby bytecode to Python bytecode. Money quote:

What amazes me is how close Ruby 1.9 bytecode and Python 2.5 bytecode are. Some things translate almost directly. It is completely obvious that Koichi took his cues from Python. Storing argcount, nlocals, stacksize first. Marshalling bytecodes. Storing classes and methods as nested bytecode fragments.

And, really, if that’s true (and I vouch that it is truly, truly true,) then how are Python and Ruby still on separate runtimes? All of these bogus scaling wars and indented code battles are a huge waste of time.


Neither of us stands a chance against Javascript. Why persist with this pitiful feud?

If You Use Outlook E-Mail, Meet Xobni

Congrats to Adam and Matt for getting featured in the New York Times!

Top 10 Reasons to Avoid the SimpleDB Hype

There is a ton of chatter on the Internet about Amazon SimpleDB, Apache CouchDB, Google App Engine’s Datastore API, and other distributed key-value data stores. Their biggest perceived advantage is scalability: they can help eliminate the bottleneck imposed by single-server databases.

But the hype around these new databases is growing frantic. This morning I read an article by Todd Hoff which fawned over SimpleDB’s unconventional rules to such an extent that I thought it might be satire. There are some significant drawbacks to developing in this new database paradigm. In fact, many of Mr. Hoff’s supposed advantages are actually serious disadvantages to the paradigm. Before designing your architecture around a database engine like SimpleDB, it’s important to consider the reasons not to do so.

Continue reading

User Interface Improvements: Positions

Outsourcing Your Life

I’m reading a couple of articles by Ryan Norbauer on 43 Folders, a great site for personal organization junkies. (Not that I’m one of those…)

Ryan’s most recent article is about his paperless life, and though I love the concept, I’m a little scared by the recommendation for the $400 scanner.

I also found another article about how Ryan uses outsourcing to enhance his personal and professional life. He uses GetFriday, an online service which supplies him with a personal assistant in India. Ryan outsources lots of menial, time-wasting tasks to his assistant Suresh. the thought is very interesting and very provocative.

The business uses for GetFriday made a lot of sense, but every time he suggests outsourcing personal tasks to Suresh, I shudder:

He does all sorts of one-off research, such as finding contact information on the net, and he even once called around Boston for me to find out which Starbucks was open latest. (I got the results in a meticulously-prepared spreadsheet.)


When I get an iPhone, for example, I imagine that I’ll be calling Suresh less frequently to look up little tidbits of info on the internet for me while I’m out and about. (Right now, it’s actually far less painful to call someone in India and ask them to search the internet than for me than to wrestle with my Treo’s nearly unusable browser.)

At the end of the article, Ryan does address the elephant in the room. It feels unsettling and imperialist for rich Americans to send all their boring, menial work to underpaid assistants in India or China. Ryan’s argument against this is pretty strong. He argues that it’s a situation of comparative advantage: the developing world has a surplus of labor, so there’s nothing unnatural about sending work to them. The alternative is to let them “sit around twittling their thumbs in relative poverty,” which doesn’t help either side. By sending them work — even tasks like “sit on hold with Dell for an hour” — we’re actually doing something about the income inequity, and transferring little bits of our wealth to the developing world. I’m not sure whether I’m convinced, but I encourage you to read the article and check it out yourself.

What do you think — are these indeed reasons to sending more personal tasks to India? Or is Ryan just rationalizing America’s laziness?

Google Goes Globe-Trotting

Here’s a Newsweek profile on Google’s Associate Product Manager program.