I’m : a programmer, writer, podcaster, geek, and coffee enthusiast.

Larchmont, morning rush hour.

Park Avenue, morning rush hour.

Game Nights


This year, I really want to start a monthly game night as a potential on-going open-to-all meet-up event. I’m thinking different board games, teams, pizza, beer, fun, competition. Think about it.

Anyone want to join? Games could include:

Our office yesterday (HD): December 31, 2008.

Starring, in order of appearance:

Please excuse my poor video shooting skills, shaky hands, and editing.

Shot with the 5D Mark II and the EF 24-105 f/4 L IS, but stabilization was turned off because I forgot to turn it back on after the tripod shots.

Overdraft “protection”

Daniel Jalkut:

Annoyed that Bank of America offers free overdraft protection service, but I have to sign up. 3 bankcard purchases each cost me extra $35.

I don’t think you’re understanding it properly. It’s a very misleading name.

Overdraft protection lets you overdraw your account, through checks or check-card purchases, and still lets the transaction clear to the recipient. The bank just effectively issues you a temporary loan for the difference and lets the transaction through normally instead of refusing it. So it’s unlikely that you’ll ever bounce a check or get your card refused, therefore saving you from ramifications of that from the money’s recipients. That’s what you’re being “protected” from. By “free”, they mean that they aren’t charging you interest on these temporary loans.

But the bank still charges you fees if your balance is less than $0. That’s considered a separate risk that you’re not being protected from. So if you overdraw, you’ll still pay that wonderful $35-per-transaction fee.

Nice, huh? You really have to give them credit for this one. This took balls.

Fortunately, you can go into the branch and easily negotiate those fees away if you’ve only done it one or two times and you’re otherwise in good standing.

I learned this lesson a few years ago and have done as much as possible on my American Express card (Blue Cash). I only use the Bank of America check-card where American Express isn’t accepted.

Sugar boiling (HD)

Ever want to know what happens when you put a ton of sugar and a tiny bit of water into a pot and apply heat for a while?

This, apparently, is how you make hard candy. Craziness.

(cooking by Tiff)

The city was completely empty today.

This is awesome.

(It’s the Yama Vacuum Brewer - 5 cup.)

I hate trying to follow a conversation that I find on Twitter.

@someone, LOL, but what are you going to do with a typewriter after you finish with the whale?

Then I click, and the other person has posted a million things since then, and I can’t find whatever this message was in response to.


I know it’s not that simple in reality, but this would make Twitter a lot more accessible to people who don’t want to live and breathe the service 24/7 but occasionally read content from it.

Edit: Apparently this is sometimes possible with a tiny “in reply to” link below the messages. My mistake. (I bet a lot of people miss that.)

There were two lines of protesters spanning almost the entire main room in Grand Central tonight. It was a very peaceful and somber protest: none of the protesters were speaking or moving.

Google released Picasa for OS X, but as John Gruber points out, does this look anything like a Mac app?

Looks like bad shovelware to me. And I still have absolutely zero faith in Google’s ability to make good interfaces.

Macworld unpredictions

The (last) annual Macworld keynote is tomorrow, and the fan sites are rushing to post their predictions and rumors in anticipation. But for the first time since I became a Mac convert, I’m not incredibly excited, and I don’t think I can make any relevant predictions.

For the most part, I’m quite satisfied with the parts of Apple’s lineup that are relevant to my life. I’m not longing for any Apple product at the moment.

There are a few exceptions to my Apple bliss, but I don’t believe Apple can or will change them anytime soon:

I think it’s likely that Apple will update iLife and iWork tomorrow, so iMovie might get relevant updates. The Apple TV might get minor updates. But if neither happened, I wouldn’t be crushed.

Here’s hoping that tomorrow will be good. If it isn’t, it’s no big deal.

Play Tiff in Left 4 Dead

Her Xbox Live name is Mrs G Freeman. Go find her and you can be zombies together!


SQLite doesn’t like it when you use the same sqlite3 * database handle in two different threads.

I’ve just earned myself a lot more work.

Casey Liss:

Is there any far-and-away winner for best Macworld keynote coverage?


I love the time after big Apple events when all of the rumor-mongers stay quiet and hope that nobody noticed how many things they got horribly wrong.

If Facebook were a country, it would be the eighth most populated in the world, just ahead of Japan, Russia and Nigeria.

Mark Zuckerberg on the Facebook Blog (via jonathan-deamer)

Right, except its demographics would be a bit skewed.

There would be no children and no elderly.

Half of the population would be dead, flopped over in their houses, with nobody noticing or caring. But they’re still counted in the census!

A quarter of the population would be marketing consultants yelling advertisements at everyone. They’re counted, too.

And nobody, including the government, would be making any money or producing much of lasting value.

Programmer time is expensive, just add hardware


Leave it to Mr. Rails to tell us that it’s better to buy more hardware than optimize your architecture.


Assuming that DHH did recently say something along these lines, I’ll agree 110%. Hardware gets exponentially cheaper (or more powerful, whichever way you want to look at it) all the time. Programmer time (spent optimizing your app or optimizing your architecture) does not. This isn’t saying there isn’t a time for optimization—there most certainly is—just saying that it’s probably further off than you think.

The argument isn’t that clear-cut, though, because both sides make an incorrect assumption. Adding hardware isn’t free, and it isn’t just a cash expense: hardware has a time expense, too.

Each additional server takes time to manage. And in small companies, this is often done by… the programmer(s).

Not every server role scales linearly or easily. In a typical modern architecture, webservers, caches, and proxies scale almost linearly. But database access sure doesn’t, especially writes. Sharding increases backup and redundancy requirements, and replication increases application complexity and data fragility.

And not every type of hardware is constantly getting significantly better or cheaper. Parallelized CPU power usually follows this trend, but disk speed doesn’t. It improves much more slowly. Today’s 15K disks aren’t much better, larger, or more reliable than 2004’s, and we’re still at least a few years away from common, practical, affordable SSD use in servers.

So while it doesn’t make much sense to try to micro-optimize the CPU usage of your webservers (outside of algorithmic complexity reductions), it definitely does make sense to reduce database activity, especially writes and nontrivial reads.

It refused to accept this until I removed that dot.

And it’s cheap, by which I mean, inexpensive—I don’t mean that you can just buy it two drinks and take it back to your apartment and expect to be taking a bubble bath with it—most people get the $19.95 unlimited plan; it’s even free on weekends when we have lots of unused bandwidth.

Joel on Software

It’s fun to watch Joel slowly care less and become more casual in his writing. I think a big part is that he now “publishes” a lot more content on a regular basis, mostly in the Stack Overflow podcast, which drives me nuts because Jeff Atwood is so frequently wrong but also so incredibly likable that I can’t stop listening.

I can’t believe I actually hit this limit.

Hmm… what do you think Likes mean on that?

An article entitled 10 things that won’t survive the recession.

I hope this type of site design doesn’t.

(see also)

The perfect afternoon: tea, leaf cookies, and 2 TB.

Palm’s problem

Yesterday, Palm announced and demoed a brand new phone and mobile OS: the Pre and webOS. They look promising, and they’re huge steps forward from their Palm predecessors, especially considering that everyone had written off Palm as permanently insane after the Foleo.

The Pre hardware is similar to the iPhone’s weight and footprint but 38% thicker and with a slide-out keyboard. The big news is webOS, which has a number of interesting implementations and ideas. I’m curious about a few things.

All application development is supposedly done in HTML/CSS/JS and the phone runs them in WebKit on a Linux-based OS. Great, but Apple didn’t make any of their applications this way (including the “widget” apps, e.g. Stocks, Weather) because of performance and battery-life concerns. Objective-C and Cocoa are fast on the iPhone, but heavy Javascript and DOM reflows aren’t. (I have no idea how game developers are supposed to get anything accomplished in webOS, but that remains to be seen.)

The Pre’s CPU and GPU are pretty high-performing parts — faster and more power-hungry, I think, than the iPhone’s. How has Palm compensated for this? I bet the Pre uses a similar-sized battery as the iPhone 3G because they’re the same weight, so did Palm make the rest of the phone (including its backlight and radio) far more efficient than the iPhone’s, or will it have a worse battery life? The iPhone 3G’s battery life is already unimpressive… Palm really can’t afford to be worse.

But I want this to be successful. The iPhone could use some very strong competition, and I don’t see any coming from Microsoft or RIM.

The main problem that Palm has had in the past has been their attitude. This is exemplified by their CEO’s statement yesterday to AllThingsD:

The biggest unknown is price, which went unmentioned during the demo. My assumption is that Palm would try to take market share by coming in significantly lower than the $200 or so Apple wants for its iPhone. But when I ran that theory by Palm CEO Ed Colligan, he looked at me liked I’d peed on his rug. “Why would we do that when we have a significantly better product,” he asked, then walked away.

(Sounds like the Pre will be $300-400. And it’s a Sprint exclusive. Hmm.)

Palm’s higher-ups always strongly and vehemently believe that they have the best product on the market. At times throughout their history, this has been true, and they’ve done well during those times. Nobody made a better PDA in the late 90s than Palm, and the Treo might have been a very advanced phone for a while. (I actually don’t know. I’ve only ever heard terrible things from Treo users. But I’ll give Palm the benefit of the doubt… I’m sure it was good at some point.)

But they’re not always correct in that assumption. Palm has become quite good at consistently almost destroying itself by ignoring the market and blindly barreling down a path that’s wildly inconsistent with actual demand.

When everyone else had a modern OS, Palm stuck with their ancient one. When everyone demanded thin phones, Palm kept their thick Treo semicylinders. And when everyone made smartphones and laptops better and more capable than ever, Palm tried to release the Foleo.

Palm makes what it thinks is good. Sometimes this lines up with what’s actually good, but it’s practically luck at this point.

You can argue that Apple has a similar attitude, but Apple is correct much more often. To a point, this type of direction is a virtue. But Palm is far past that point — it’s a pathological liability that has caused the company to lose a lot of money, marketshare, and opportunity.

I want webOS to be great. But I just can’t shake the feeling that Palm is always one move away from steering its product into a mountain.

Ah, that’s better. I love big, fast, cheap 3.5” hard drives and having a Mac that holds a lot of them.

What a fantastic company name.

iPhoto vs. Aperture vs. Lightroom

I’ve been using iPhoto all this time. In the past, I had briefly tried both Aperture and Lightroom, and ultimately I wasn’t convinced that either were worth their learning curves (or $300) for my needs.

Now, things are a bit different. I started shooting RAW instead of JPEG about 6 months ago, and I actually started trying to process my favorite photos a bit before posting them. Nothing insane, but basic adjustments like white balance, straightening, and basic exposure tweaks (bringing in the white and black points, usually). White balance is by far my most-used adjustment: I’ve found that, for what I’m sure are great reasons (type of light, light level), my cameras always autodetect white balance too warm indoors.

(Note to new SLR owners: Your indoor photos are always too red or yellow. This is what I’m talking about.)

Shooting RAW is important if you’re planning on making these adjustments, because many of them can be done losslessly or near-losslessly. Short explanation: a JPEG only stores a very narrow portion of the range of raw data from the sensor, and a few things like white balance are permanently “baked in”. With RAW files, these adjustments are made afterward to show you the photo, but all of the original sensor data is there and can be reinterpreted by different adjustments without losing detail, or at least while losing less detail.

Photographers with more talent than me probably don’t need this flexibility as often as I do, especially if they can capably use an all-manual film camera. They tend to expose photos properly a lot more of the time. But I’m not that good. I need to make big adjustments pretty often.

I thought iPhoto was doing a pretty decent job, and I didn’t want to give up all of its convenience and all of my muscle-memory for using it to spend $300 on a program that I had no idea how to use unless the difference was going to be worthwhile.

…until I figured out how iPhoto was processing RAW files.

I kept noticing that a lot of my adjustments weren’t working as well as I expected, producing a lot of compression artifacts and poor quality. Almost like… I wasn’t shooting RAW at all.

Wait a minute.


As far as I can tell, iPhoto doesn’t actually do any RAW editing. It converts from RAW to JPEG only on import, and only at default settings, then all adjustments are done to the photo as a JPEG.

So I might as well have been shooting JPEG for the last 6 months, and that’s why my adjustments looked awful. (At least iPhoto keeps the RAW files so I can go back and readjust them with a tool that does it properly.)

I started looking at Aperture and Lightroom again because they can do crazy things with RAW files. A few things have changed since I last tried them:

But many aspects of the comparison remained the same:

Both programs have a 30-day trial, so we did a test: I tried Aperture and Tiff tried Lightroom.

Tiff’s trial is done, and she wasn’t convinced that Lightroom was worth the money. I tried using it on her computer a few times, and I had mixed feelings: I found a lot of things unintuitive, and I really didn’t like the camera-import/file-management workflow.

I’m only a week into my Aperture trial, but I already feel like it’s a better fit for me. It’s exactly what I wanted: iPhoto pro. I love the import workflow, I love the adjustments, and I love the quick star-rating/reject picking process. I still have a lot to learn about it, but I think I’m going to stick with it. Lightroom didn’t inspire me enough to spend $300 and relearn everything, but I think Aperture will be worth $200 and its learning curve.

Peter W. Knox:

I seriously don’t know what to think, just what this means (was it to donors?) or if this is the invite I asked Senator Clinton for a few weeks back. Has anyone else recieved this?

I just got one of these, too. It does seem a bit fishy, so I did some research.

It looks like this is a nice and symbolic but informal and nonexclusive invitation to participate in things that are public anyway. It’s a nice gesture, but it’s certainly confusing, and I bet a lot of people will be disappointed when they show up at the inauguration parade route and learn that they don’t actually have one of the required tickets.

That said, I think there are going to be so many people there that it’s not really going to matter whether you have a ticket — it’s going to be valuable, fun, historic, and absolutely crazy regardless of where you’re standing.

Phil Lesh and Friends - St. Stephen (live at Bethel Woods Center For The Arts, July 9, 2006 — the enitre show is legally downloadable for free at that link)

I like modern jam bands, but could never get into the Grateful Dead. Fortunately, they have a lot of great cover bands. (Correction from truestory: Phil Lesh was the Grateful Dead bassist, so this isn’t really a typical “cover band”. I don’t know what you’d call it.)

Here’s a great 12-minute jam that’s loosely related to the Grateful Dead song, St. Stephen. (It starts slow. Give it time.)

Thanks for the recommendation, John at Aroma! (Big shout-out to John for always having very good music playing on weekday mornings when I get coffee.)

Tiff is playing Fable II (one of two Xbox 360 games I got her for Christmas — how awesome is she?). She was very excited that, unlike the first Fable, she can play as a female character. (And she has a great in-game dog.)

But now she’s starting to hit the limits of that excitement: the clothing available to the character is apparently not female-fashionable. Women care about things like “this coat makes me look huge.” I bet the game designers didn’t anticipate that.

Now that I’ve gone through the process of getting my own SSL certificate, I know first-hand how easy it is. (It was also cheap: about $30 at GoDaddy.)

There’s absolutely no excuse to use a self-signed or invalid certificate in 2009. Don’t confuse your users and complicate the browsing experience (or your API usage) by making us dismiss the warnings or force our software to skip validation.

ARPA succeeded because they basically funded people instead of projects. They didn’t really care what the people were doing. They figured neat people would do neat things.

Alan Kay (via azspot)

One way to tell if you have really good coffee: these delicious little oil patches floating on top.

It’s pretty hard to get them normally because most paper filters block the oil from passing through. Usually you need a French press or a really good drip pot with a metal-mesh filter. And the beans need to be pretty freshly roasted to have a chance for oil at all.

Classic Joel.

This is actually a real product that we saw in the grocery store tonight.

They’re not refrigerated. They’re squishy to the touch. They’re also apparently imported from Belgium. We do not have the technology in the United States to make room-temperature waffles that stay fresh indefinitely.

I was too scared to look at the ingredients.

tumblr meetup/Lee’s going away hootenanny

From Lee “sharingtime”:

I’m throwing a hootenanny in my own honor. I’m moving to Colorado, so this is your last chance to present me with unwanted sexual advances.

When: Tuesday, January 20th, 9 PM

Where: Blind Pig, 233 E. 14th St. (btwn 2nd and 3rd Ave)

Why: Camaraderie, sodomy, gluttony

Who: You

This is significant because Lee started Tumblr meetups, organizing the first one here in New York on February 19, 2008.

Let’s give him a nice sendoff!

(View this post on NYCMeetups)

Imagine a school with children that can read or write, but with teachers who can not, and you have a metaphor of the Information Age in which we live.

Peter Cochrane (via unalone)

You see, even before the current financial crisis, we were already in a deep competitive hole — a long period in which too many people were making money from money, or money from flipping houses or hamburgers, and too few people were making money by making new stuff, with hard-earned science, math, biology and engineering skills.

Thomas L. Friedman: Tax Cuts for Teachers

Jeff Atwood gave me a raise

Well, sort of.

I saw a question on Stack Overflow, Tax on iPhone developer payments, and figured I’d go in there to share what I thought was correct: that Apple doesn’t withhold taxes.

Fortunately, other people got there first. And even more fortunately, I was wrong.

(UPDATE: Nope, I was right. Nothing’s being withheld from mine. Don’t know why. Ignore the rest of this post, I guess.)

Apple’s developer payments from iPhone App Store sales are… uninformative. Around the 10th of each month, you can download sales report CSVs from the previous month by country/region from iTunes Connect. They’re fairly verbose and there’s no easy, web-based way to view simple totals: you have to calculate everything yourself from the sales reports. (Apple’s web-based control panels are usually very bad.)

Then, around the 20th of the month, you get paid for the previous month’s sales, except you could miss it if you aren’t paying attention to your bank account. You’re paid in one big direct deposit for sales in North America, then in a series of up to 4 (?) wire transfers over the next few days, each from a different region or country’s currency exchanged for U.S. dollars at the time of the transfer.

Nothing is ever mailed, and there are no statements or stubs available. The only information I have is the set of cryptic sales report CSVs and the bank deposit amounts. I assume that I’ll get a W-2 since they’ve apparently been withholding taxes, but I really have no idea. There’s nowhere on iTunes Connect to download or view such information.

I assumed that taxes weren’t being withheld, but fortunately, I’m apparently wrong, and I could be getting a 30% raise over what I thought I was making.

Thanks for making Stack Overflow, Jeff and Joel!

It’s always interesting to see David’s desk in the morning after a late night and try to figure out what happened. (Previously)

Newspapers took two cents of journalism and wrapped in ninety-eight cents of overhead and distraction.

Seth Godin (via azspot)

GPOYW, same camera and lens as the President edition

There’s some speculation about what model mouse David uses (pictured).

It’s the mouse from the Logitech Cordless Desktop S 530 Laser for Mac. (He no longer uses the keyboard from the set.) It’s a nice mouse with a similar shape as the MX Revolution, but smaller and without the cool scroll wheel.

Amazon and Apple care about the environment.

Items contained in this box: the extended warranty for my computer. As far as I could tell, there’s no way to just enter credit card info and buy it directly from Apple’s site — references all go here.

iShoot == Scorched Earth

The hit new iPhone game, iShoot, is great. But it is not a clone of Tank Wars or Worms, as many review sites are saying.

It’s very clearly a good port of my favorite old DOS game: Scorched Earth.

I care so much because this is an excellent game, and I have a bit of a history with it: I’ve spoken to the (very nice) author before and I’ve tried to port it to every platform I’ve ever coded graphics for (including C and C++ using OpenGL, DirectDraw, Direct3D, SDL, DHTML, and the iPhone before the SDK using Javascript and a <canvas> tag) and given up every time, because making a tech demo with animation and ballistics and falling terrain and 3D tank models loaded from .obj files is a lot of work but nowhere near the amount of work required to make it into a full game.

Tiff even made me a Scorched Earth pillow in college, having never seen the game but finding screenshots online, because she knew I liked it and was working on a remake. (I ended up using that sample code and basic playable demo to land my first real job.)

iShoot isn’t a complete port: it’s missing shields, guidance, fall damage, and many of the obscure weapons (notably napalm, which is primarily useful against shields, so I guess it’s OK to leave out if shields aren’t included). But it’s very well done, and I definitely would have spent more than $3 on it.

What an amazingly real show. (via freaksandgeeks)

Today’s plane crash before the rescue crews arrived. View large version, photo by gregorylam.

It’s incredible how all of this happened, and how well-executed the landing and rescue procedures were, and that nobody died or was even significantly injured (as far as we know so far).

(via grapefruite, cajunboy, lunchfood)

There is something immoral and sick about using all of that power to not end brutality and poverty, but to break into people’s bedrooms and claim that God sent you. It amazes me when I looked at California and saw churches that had nothing to say about police brutality, nothing to say when a young black boy was shot while he was wearing police handcuffs, nothing to say when they overturned affirmative action, nothing to say when people were being [relegated] into poverty, yet they were organizing and mobilizing to stop consenting adults from choosing their life partners.

Rev. Al Sharpton (via sexartandpolitics, asprettyasasong, sisterpearl)

My version, via Jacob. That’s:

The bottom line is this: for someone who loves making things on the web, spending 100% of the time blogging about what other people are making is simply untenable.

Gina Trapani on leaving Lifehacker (via 43folders)

Nothing like a low-key evening staying in and listening to jam bands with a toaster-oven burrito and world-class beer after a long, satisfying week.

Andrew Fox regarding my beer:

Marco, tell me a little about Chimay Reserve.  I’ve never had it, but I’m a huge fan of Belgians in general.

It’s very dense and strong in flavor, very high in alcohol (9%), and very good. The flavor is dominated by heavy, well-rounded barley — the hops flavor is controlled, not too strong like IPAs. It’s very naturally fizzy, and stays fizzy after opening for about a week if you can recork the bottle (like champagne). It’s brewed by monks as an official Trappist ale. It’s so dense, alcoholic, and good that the bottles are closed like champagne bottles (pressurized cork and wire wrap) and it’s meant to be served in a wine glass.

These beer snobs, who know a lot more about beer than me, gave it a higher rating than almost every other widely available beer on their (comprehensive) site.

I suggest you find a nice beer bar to try it. (NYC people: House of Brews has it.) Expect to pay $10-12 per glass. If you’re near a Wegman’s grocery store with a large selection, they sometimes have it there, but only in the stores with the newly expanded international beer section. If you can’t find it, or you want to buy it for home, I found it at this place in New Jersey that ships to a lot of states, including New York. (That’s a 750ml bottle — the same size as most wine bottles. I didn’t realize that when I ordered 8 of them. I have a lot of Chimay now. And it’s completely worth it.)

This is by far the strangest-sounding bug report I’ve ever sent.

(Thanks for reporting it, Topherchris)

How I choose beer

Andrew Fox follows up:

I’m curious what else you drink (beerwise) and enjoy, and what your favorite breweries are.

I actually don’t drink much — usually just a half-glass of beer or wine once or twice a week with dinner, and an occasional night out (often a Tumblr meetup).

When I go out, I usually follow a simple process when selecting a beer:

  1. Drafts always get priority.
  2. Find the ones I’ve never heard of, especially local microbrews.
  3. Prefer stouts and ales. Lagers are frequently cheap and awful (like cheap college beer), so they get low priority. IPAs get lowest priority because I usually don’t like them.
  4. For beers with novelty ingredients: Sweet fruits are usually bad. Pumpkin can go either way, but usually isn’t good. Chocolate and espresso are usually good in stouts, and I enjoy milk/cream stouts.

But since I rarely drink beer at home, and I like trying new beer when I’m out, I hardly ever buy any for here. Chimay Blue is a newly discovered exception: it’s so good that I don’t mind having it as the only beer on hand, I haven’t gotten tired of it, and it’s made to stay good for a long time. I bought my 8 bottles before Thanksgiving, gave 2 away, and still have 3.

Whenever I buy any other beer for home, even just a six-pack, it just sits in my fridge for months. The Chimay ages well, almost like wine — most beers don’t.

And given my “never heard of it” criteria for ordering beer when I’m out, I really never develop much preference or recognition for specific breweries. I actually know almost nothing about beer: I hardly even know the difference between ales, lagers, stouts, IPAs, and the other types that I’m sure I’m forgetting. I just know what words are somewhat likely to lead to something I’ll like.

I’m convinced that most people only spend 1-2 hours a day actually working. Of that time spent, a lot of it is “meta work”, endless emails, scheduling, and such. When you go to work and sit in your cube you’re behaving pretty much like a CPU. Most of the time you’re at 99% idle, but you need to be there and “on” just in case someone needs some processing done.

Nathan Bowers (via lindsaycampbell)

Katie Schenk:

Since I got the external drive working I decided to go back and look at some old pictures. […]

Let’s all pray my external drive keeps kicking for that long.  Do I need to backup my backup?

Wait… how many physically separate copies of those files do you have? If the only copy is on the external drive, that’s not a backup.

Any hard drive can die at any time. Simply being external doesn’t make it more reliable.

(This is also a good time to remind geeks that RAID is not a backup.)

Video from the Coast Guard of the Hudson plane landing (about 2 minutes in) and the first few minutes of rescue. Amazing. (thanks, Clint)

I have a 12-minute clip that I’m speeding up to fit into 30-60 seconds. That’s all I’m doing. It’s taking this long every time I want to try a different time value.

Tip: When editing HD video, plan for it to take a while.

(Interestingly, it’s barely touching the CPUs — it’s just slamming the hard drives. This is on a 2-disk RAID-0 array of 1TB WD Caviar Black drives, the fastest 7200 RPM hard drives available today.)

Boxee’s challenges

Bijan wrote about Boxee this morning. As I understand it, Boxee is media-center software with social features optimized for use on TVs, so you can use a spare PC or Mac connected to your TV (or an AppleTV, but not all features work on it) and get very good features. Format compatibility should be excellent, since it’s a fork of XBMC.

(Bijan represents Spark Capital, an investor in both Tumblr and Boxee.)

This is not an easy market — nobody has ever been successful in it, including Microsoft and Apple. Some of the challenges they’ll face:

I think Boxee has to be so good — good enough that a non-geek can be convinced to try it without first seeing it at a friend’s place — that it can get past people’s desire to minimize the number of boxes and remotes they have, and overcome the cost and complexity barriers.

With the cost barrier at $600+ for a dedicated TV-computer, plus the complexity of installing the software properly before connecting it, it’s just not realistic to expect many people except geeks and tech VCs to adopt this.

The key lies in making Boxee available, preconfigured, on a cheap and widely available hardware device. Make it so that geeks and rich professionals can buy them for their parents, the way they did with TiVos, and not expect painful tech support calls. (Avoiding TiVo’s fate shouldn’t be hard — there’s no way the cable companies will compete with Boxee’s features.)

And the price is critically important. I think $199 is the upper bound for what people will pay for a device that does only this. And even that’s not going to be an easy sell. But it’s going to be a heck of a lot easier than trying to get people to buy Mac Minis or hack Apple TVs.

But I want this to succeed, so go out there, get a slick hardware deal, and kick some ass. Good luck.

Final Cut Express: 1. Marco: 0.

It’s 2009. I shot this on a progressive camera directly into a progressive video format. I want this to be exported as a progressive file so I can upload it to Vimeo where it will be viewed by people on progressive computer displays.

At what point did I say to interlace the output?

How long do we have until interlacing is such a relic of the past that video programs never interlace anything unless you explicitly tell them to?

How to speed up a video

Once again, ffmpeg on the command line has come to the rescue. With this method, I was finally able to do something that I thought should be a simple task: take this input video and output a video that consists of one of every X frames instead of every frame.

I can’t believe how much time I spent today trying to properly construct a trivial, meaningless 45-second video.

Brewing coffee with a vacuum pot (HD)

Timelapse (15x realtime) of brewing coffee using a Yama vacuum (siphon) brewer.

I step in to stir it three times, with a brewing time of about 3 minutes. I don’t know how much stirring is actually necessary, but I’m sure too much can’t hurt.

Compared to other brewing methods, this is far less practical and convenient. But the coffee it makes is absolutely incredible. Imagine a French press that could use fine grounds, brew at near-boiling temperatures the entire time, extract FAR more flavor, and leave zero sediment in the cup.

(There’s no audio because screw Final Cut, I did this with ffmpeg.)


Reblogged because I love that this is the video that ate your day today.

Yup. At least I was able to do other things while it was rendering/transcoding/encoding/scaling/interlacing. I can’t even imagine what it must be like to edit video as your job.

By Brian Ulrich (via jasonalford, nevver)

Just watched George Carlin’s last HBO special (Netflix, Amazon), filmed only a few months before he died last year.

You can really see that he’s tired and not in very good health. I thought his death was sudden, but only because I hadn’t followed his material since college.

The material was decent, but not amazing, and the performance was very slow-paced. Plenty of good points on patriotism, nationalist bullshit, and child worship. But the delivery was weak. Whether it was the tired performance or knowing that he died a few months later, it was actually pretty sad to watch. I’ve never felt sad after watching George Carlin before.

How to recognize a Ted Dziuba column.

Cleaning house

After an inspiring discussion with Marc last week, I finally cleaned out my collection of iPhone apps, deleting about a third of them and ending up with 23.

The big difference this time was that I decided that I’d ignore the price I paid for the app when deciding whether to delete it. Lessons learned:

And finally, I can aggressively delete because I can always redownload applications I’ve previously bought for free. Unless, of course, I can’t remember what they’re called — in which case, I probably shouldn’t be redownloading it.

US Airways Jet Lifted from River (link via Ian)

This helps me understand how cold it must have been out there.

Where’s Verizon’s exclusive “iPhone killer”?

AT&T has the iPhone. T-Mobile has the Android G1. Sprint will have the Palm Pre. Everyone has about the same BlackBerry crap.

Is Verizon trying at all? Or are they still assuming that the quality of their handsets doesn’t matter?

Update: Apparently the BlackBerry Storm is a Verizon exclusive. That didn’t work out so well. I’d call it more of a liability.

Most undergraduate degrees in computer science these days are basically Java vocational training.

Alan Kay

  1. Check out this snow.
  2. Only in Manhattan does it make sense to advertise on the roof of your vehicle.

I decided to clean out my Mac’s applications as well since last night went so well on my iPhone.

This application, Disco, was part of some bundle or other — I don’t remember which one, but I know I didn’t choose to buy it. I’m not sure why most people would, honestly. It retails for $20. It burns CDs. So do Finder, iTunes, and Disk Utility. But it has some exclusive features:

Smoke: With Disco we tried pushing the boundaries of interface, usability, and utter functional simplicity. Well, once you realize that Disco is emitting real time smoke as you burn, we start redefining the boundaries of progress indication. You can even blow into your microphone and the smoke will react accordingly.

I guess you have to do something to justify an application that offers very little over the software that every Mac comes with for free.


(via peterwknox:kristynseda:soupsoup:brooklynmutt)

‘I, Barack Hussein Obama, do solemnly swear…’

Our 44th President takes the oath of office. There was a trivial, momentary slip when Chief Justice John Roberts asked Obama to recite the first line of the oath in the incorrect order. Roberts said “execute the office of President of the United States faithfully,” rather than “faithfully execute.” The oath reads: “I do solemnly swear that I will faithfully execute the office of President of the United States, and will to the best of my ability, preserve, protect and defend the Constitution of the United States.” Obama paused and allowed Roberts to correct himself.

think progress

I just assumed Obama had forgotten the rest of the phrase and was pausing, as if to say, “Line?” Watching again, this explanation does make more sense, and makes Obama even cooler.

I can now type an interrobang on my iPhone. This was completely worth it.

She knows me better than I thought.


Look at all of the crap Bush left open.

The Hold Steady — Chillout Tent

When I first listened to this album, I didn’t like it very much. “All of the songs sound the same!” And their style is odd — the lead “singer” basically just talks, somewhat to the rhythm, while other people play music and occasionally sing.

But it grew on me. Now, Boys and Girls in America and Stay Positive are two of my favorite general-listening albums.

Marc: “Oh man does this photo feel good.” (via suitep)

Don’t forget the meetup tonight!

Last night’s pre-meetup dinner. Click for big.

Pictured, left-to-right: Peter W. Knox, Nik (behind the big bottle), Jacob Bijani, Andrea, me (behind the beer glass), Amy.

Photo by Lauren Farmer.


For David & Marco

~ Lauren, Katie & Melissa

(via mallisser)

Thanks! This is awesome. Also I hope Lauren isn’t really a ghost haunting us.


This has been a great day for email.

(In this case, the author probably saw my review of a Bertolli product and assumed that I was Bertolli. People make the same mistake all the time with my ancient butter cookie review, emailing me to ask for a refund because their cookies were stale or find a local distributor.)

Rory Marinich:

Jesus Christ. I tell you people that a 5-minute game made me cry, that it’s one of the greatest and most beautiful things I’ve ever seen, and a total of one person replies. I post a picture of a camera lens coffee cup, and I get 87 notes as of this writing.

Here’s the thing:

On the other hand, I saw the camera-lens mug mockup.

(By the way, it’s not new.)

This isn’t indicative of the decline of society or people having shallow taste. The lens mug has far better appeal to this audience than a sad video game. I bet the Shiba puppy cam got a lot more fans, too. Sorry, but people enjoy things that make them feel good.

We don’t get a chance to do that many things, and every one should be really excellent. Because this is our life. Life is brief, and then you die, you know? And we’ve all chosen to do this with our lives. So it better be damn good. It better be worth it.

Steve Jobs (via outofthedarkcourtneyj)

Tiff: “I  think this is where Marco is hiding my birthday gift.”

The more time I spend doing customer service, the less time I have to implement features people want.


Twitter is not public infrastructure

In Twitter Limits Potential App Growth, the author argues against Twitter’s new global limit (20,000 requests per hour) for previously whitelisted (and unlimited) API-consuming IPs:

I’m arguing that 20,000, or any request-rate limit for that matter, limits any app out there from being able to develop on the Twitter platform, and I don’t see why any able-minded entrepreneur would want to build on it if there’s such a rate limit in place.

Is Twitter’s rate-limiting the only factor giving you pause about building a business that depends on Twitter? Maybe I’m a cynic, or maybe it’s the programmer in me trying to enumerate all possible failure cases, but I don’t feel comfortable trusting my business’ success to a private third party over whom I have zero control.

And they are completely within their rights to limit API usage in any way they see fit. Your business is not Twitter’s responsibility.

Furthermore, running an API is a huge drain on resources, and like everything else in this business, there’s no such thing as “unlimited”.

These dangers apply to reliance on any service. Even Facebook. Even Google. Even if they call their services “application platforms” and you call your business “new media” or a “mashup”. Building a business exclusively on top of another service is always going to be unreliable.

Dependence on public infrastructure is unavoidable: your service requires power and internet connectivity. These sorts of dependencies aren’t one-of-a-kind: if one host doesn’t provide reliable power and connectivity, you can move to a different host.

But other web services are usually unique — if Twitter negatively impacts your Twitter-dependent business, you can’t just switch to another Twitter.

Other people’s web services are not public infrastructure, and no matter how many “new media” people say so in discussion panels, they never will be.

What was your first job?

(meme via lfarm)

1997, age 15: I worked at this natural-food co-op for $4.something an hour stocking shelves, bagging bulk items, being a cashier, and generally doing whatever else needed to be done (cleaning, inventory, etc.).

I eventually moved on to wonderful careers as a busboy here, then a bagel architect here, and eventually a brief stint during college as a retail associate here.

Tiff let me configure the printer on her computer. I asked for a name.

I just tied Tiff’s previously large lead in Scrabble and ended the game by using up all of my letters with two consecutive turns of playing “uh” and “ab” and having Tiff challenge and lose on both attempts.


Question for would-be bloggers/podcasters/online filmmakers…

If there was no possibility for advertising revenue, how would you make money?

I’d get a job to pay the bills, and I’d keep doing what I love in my spare time for free. There are plenty of very satisfying motivations and benefits of creating content that don’t involve money.

She wanted cream and sugar.


Office chair mats are surprisingly expensive considering they are just a big piece of plastic.

That’s because chair mats are high-profit add-ons for office retailers (Staples, OfficeMax, Office Depot).

The same way they’re pushed to sell $30 gold-plated USB cables and extended warranties with every printer, Staples employees are pushed very hard to sell chair mats and furniture warranties with every chair because they have obscenely high profit margins.


I remember looking up the profit margin on printer cables (the old Parallel type) when I worked at Office_____. I don’t remember the exact markup, but it was more than 100%.

It’s far more than 100% now. When I held my glorious Staples retail job in 2003, the $30 gold-plated 6-foot Belkin USB cable cost the store about $4. (This left plenty of profit for Belkin as well.)

Firefox 3 still has this annoying text-rendering bug for me.

This is the complete source of my test page:

Look at the so/urce code to this.

It converts o/ to ø, plus a few other similar bugs. Am I the only one seeing this?

This might be related to the Twitter random-spaces-in-words bug: does this say “for th e Underworld” in Firefox 3 for you? (Note that the offending space in “th e” isn’t in the HTML source.)

Happy birthday, Tiff!

I have the coolest wife. I got her software and a wire. She loved them.


On all the card envelopes he uses, my brother reviews the taste of the glue.  I always look forward to his envelopes.  This is the one he sent me for my birthday.  Hilarious! (They are so funny, I can’t throw them away.)

Tumblr: The Show, by boringloser / Dave Seger.

None of the funds provided by this Act may be made available to the State of Illinois, or any agency of the State, unless (1) the use of such funds by the State is approved in legislation enacted by the State after the date of the enactment of this Act, or (2) Rod R. Blagojevich no longer holds the office of Governor of the State of Illinois.

The Stimulus Bill (via squashed). Wow.

Arbitrary. Frustrating.

I get the same parking ticket every year.

In Larchmont, you have to buy parking stickers for the next calendar year at the beginning of November. But they aren’t valid until January. So you have to either stick it next to the old one and build up a huge line of old stickers (ugh), or wait until January and swap them cleanly. There’s even a grace period in January so you don’t have to run out at 12:01 on New Year’s to swap your stickers.

But I always forget, since I bought the sticker two months ago. This year, I remembered there was a grace period, so I kept the sticker out and told myself, “I’ll just bring it whenever I go to the car next.” I thought I still had a few days to do it.

But the grace period apparently isn’t all of January.

And this is the third year in a row that I haven’t remembered this properly.

So here it is, my annual $25 parking ticket for parking in a lot for which I own a pass, but never remember to actually stick on the window exactly two months after I buy it.

Google launches beta feature based on beta plug-in for beta e-mail service. This is getting kinda pathetic, guys.

David Chartier

Via Josh Ruben:

Mad Libs Men

directed by me, written by Dan & Amir, produced by Ben, edited by Matt, and starring the very talented Matt Walton as Don Draper. Yes, that’s the Optimum Online guy.

Well done!

New desks! (From left: mine, David’s, Jacob’s. Click for big.)

We got the same desks as Fog Creek but with black tops. Big thanks to Michael Pryor for inviting us over to their slick new office and giving us a tour so we could see the desks and play with them in person.

The big deal is that they’re electrically height-adjustable. So I can stand all morning and give my back a break, then sit when I’m tired and lazy in the afternoon.

The Diet Coke standing desk has finally been retired.

That’s some creative spam… I had no idea Morgan Spurlock was my assistant.

See? This is what I was talking about.

(via Mike Hudack)

Statue dedicated to man who threw shoe at President Bush

The statue is inscribed with a poem honoring Muntadhar al-Zeidi, the Iraqi journalist who stunned the world when he whipped off his loafers and hurled them at Bush during a press conference on Dec. 14.

I’m so glad this isn’t an Onion article.

Microsoft SongSmith: Flawed music software produces comedy gold (via Graham, Jeremy)

This version of Roxanne is… excellent.

So, while the circumstances of his sabatical are unfortunate, I’m glad to see him go, and so are a lot of other people. Why? Because he’s an asshole—and everyone knows it.

Charlie O’Donnell says ‘good riddance’ to Arrington (via david). Very well-written. Read the whole piece.

Verdict: Apple is NOT withholding taxes from App Store developer payments.

I just reviewed my records (with the excellent AppViz) and did the math, and Apple is definitely not withholding any taxes from my App Store payments. Not a penny. The deposits are exactly the quantity of unit sales times the price of the app minus Apple’s 30% commission.

I updated the Stack Overflow thread with my findings.

I’d love to hear from other iPhone app developers on this.

On database joins


basically, it’s like this: JOINS ARE EXPENSIVE. Period. Really, really expensive. I’m not kidding.

You’re right. A lot of people overuse joins because they mask a lot of the underlying complexity of what the database actually has to do to achieve what you just asked of it. And they work perfectly well if your tables are small, there isn’t much concurrent access, and performance doesn’t matter.

Unfortunately, for a popular website, your tables are huge, there’s tons of concurrent access, and performance really matters.

Joins also hurt scaling efforts later: what if you move one high-traffic table to a separate database server? No more joins against it.

Don’t underestimate the benefits of some denormalization and avoiding joins.

Fortunately, they’re really quite easy to avoid. For the common case of matching a relational table to its parent objects, we do a simple two-query substitution like this:

$user_ids = $following->query_return_column_array(
    'SELECT user_id FROM ?table WHERE following_id = ?i', $this->id
$followed_users = $user->find(
    'SELECT * FROM ?table WHERE id IN ?ai', $user_ids

I don’t think there’s a single join in all of Tumblr’s or Instapaper’s code.

As of yesterday, Verizon EVDO just started working in the Metro-North tunnel under Manhattan from 125th St.

I know because I’m 2 minutes into it right now, posting this. Just passed the “Exit 59th St.” sign. The connection would previously drop completely about 15 seconds into the tunnel.

Update: Platforming now on an upstairs track. Never lost the connection.

This is the best Tumblr field trip ever.


Ideally, Twitter would offer its own URL shortening service. Then the shortened URL has the same life-span as the point-of-use.

This seems a bit like asking for a faster horse. A better solution might be to associate a URL with a post directly, as metadata, without requiring it to be part of the 140 characters.


Okay, today I’m trying to figure out my external disk situation going forward. Have a lot of bare drives. Thinking eSATA docks.

Check out the NewerTech Voyager Q. I just got one of these after hearing an interview about it on MacVoices, and it’s a pretty awesome concept for geeks with a bunch of bare drives.