Archive Page 2


mark++ has officially relocated to Please report broken links or other weirdness in the comments.


Meetings != Work

See that “empty” space on your Outlook calendar? You know, the stuff between the meetings?

Yea, that’s where the work happens.

Exercise for the reader: what does this mean for people with no empty space?

WebKit Never Gets Slower

I’m going to break radio silence to discuss this statement posted by the WebKit team on the subject of software performance. Summary: WebKit is fast because we’ve got performance tests and we never allow a regression:

Common excuses people give when they regress performance are, “But the new way is cleaner!” or “The new way is more correct.” We don’t care. No performance regressions are allowed, regardless of the reason. There is no justification for regressing performance. None.

I love WebKit (it’s blazing fast), and the team’s statement is very reassuring in that take-a-stand way. Unfortunately, I have to call bullshit.

Firstly, it’s important to note that a policy like this is only as good as your performance test suite. It’s very easy to accept a change which appears to have 100% positive benefit but is, in fact, a trade-off that you cannot measure because your test suite doesn’t tell the other side of the story. The WebKit team’s article admits as much, asking people to run their own performance tests and notify the team if badness occurs.

Even with an iron-clad test suite, we know software has bugs and that bugs must be fixed. One funny thing about high performance software is that, often, things can go really really fast when they are incorrect. I can optimize the hell out of any software provided it doesn’t have to get the right answer. To say that another way, bug fixes often regress performance. You can bet that the WebKit team fixes bugs. The product would not be useful otherwise.

Lastly, on what scale is the “no performance regressions” rule enforced? At most it can be per-check-in. It doesn’t take a genius to extrapolate from there. I’m sure WebKit has had plenty of check-ins which do more than one thing. Consider this imaginary check-in comment:

This change set refactors the Widget rendering code to make it more logical and less of a bug farm. It also memoizes the GetBestWidget function, improving performance on WidgetBench by 30%.

A cynical person (ahem) might say that this type of check-in actually does two, separable things, and that perhaps if we simply tolerated the original crappy bug-farm rendering code and added the optimization we’d have seen 35% gains.

Bottom line: things are never quite as simple as they seem.

Immoral Engineering

My parents have an HP PSC 750xi, which is your typical run-of-the-mill multifunction ink jet printer. It’s a scanner/copier/fax too.

The printer is out of color ink, and it appears to have been intentionally designed to be useless in this scenario. You cannot even use the scan function without a color ink cartridge.

This is just shameless. I’m not sure I could be a member of such a product team. I mean seriously — if I was asked to build such an obviously anti-consumer feature I would quit.

If you’re out there and you worked on this product please, for the good of society, kill yourself now. May I suggest choking on an empty ink cartridge?

100 Gallons of Milk

Starting Strength, 2nd Edition

For the last 16 weeks, I’ve consumed one gallon of whole milk each day† almost without fail. My monthly milk budget was more than most people’s car payment (hint: my yuppie ass pays Whole Foods $12.99/gal for the raw stuff). I’ve squatted three times a week, in addition to performing deadlifts, bench presses, overhead presses and power cleans. Most people would call this crazy, but Mark Rippetoe calls it Starting Strength. It works amazingly well.

I gained 40 lbs and put 40% on my back squat. As a nice capstone, I pulled a 182 kg deadlift today — breaking 400 lbs for the first time ever. More details over at the CrossFit Eastside blog.

Big props to my coach Michael Street, without whom I surely could not have done this.

† And to think — at the outset of this journey I actually believed I was lactose intolerant. Ha.

Update 1/11/2010: did an interview with a bunch of us milk-and-squats types: Reflections on a GOMAD diet.

Post-Debate Trainwreck

After last night’s presidential debate, MSNBC spoke with undecided Virgina voters in an effort to prove to the rest of the world that, indeed, Americans are complete idiots. The MSNBC panel delivered — big time.

Watch the video here

Host Ann Curry begins by reporting on Obama’s “10 percent” lead, then corrects herself to say “10 points,” despite the fact that these are identical. Unless — and this is a real possibility — she is actually referring to the score of the recent McCain/Obama 1-on-1, no-blood-no-foul, street rules b-ball game (currently in rain-delay.)

Next, she gets the ball rolling by asking the panel for “a show of hams.” Yum.

Panelist Jimmy takes a second or two before deciding, apparently on the spot, that McCain had appeared stronger on economic issues. He then becomes visibly uncomfortable upon realizing that he will be asked to defend this position. Gulp. Ultimately he explains that, in his view, McCain is “lookin’ downna road.” Eloquently put.

After Brian deftly defends the Obama “longer plan-picture”, Renise ruins everything by making perhaps the only reasonable comment of the night: that nobody even knows what the hell is going on with the economy, let alone how to fix it.

Lisa is introduced and described as being undecided because both candidates are just so great! Nobody listens to a thing she says, because we’re all too busy being amazed that anyone has this problem.

Next we have a couple shows of hands which, scientifically-extrapolated, prove that while 50% of Virginians know a racist, a full 100% know someone who thinks Palin is a moron. I’m going to be honest with you, Virgina: this makes me very sad/happy and I am disgusted/overjoyed to hear it.

Panelist Joan now joins the fray and, in a heroic effort to use as many words as possible, speaks of “The general public at large…” Wait, I’m confused. We’re talking about a subset of people here, right? Yes, that was sarcasm. The word you’re looking for is “everyone”. I just saved you 6 syllables.

Eventually we come back to Renise who, after disappointing early, now regales us with tales of Obama’s “temperament”, “discipline” and crowd-favorite “even kiln.” (I can second that one. You should see that dude’s pottery — it is freakin’ amazing.) Nice save, Renise. You are tonight’s big winner. I’m sorry I ever doubted you.

Last place goes to Michael, who by virtue of the fact that he is never called upon and, in fact, doesn’t utter a single word, is unfortunately able to maintain an illusion of competence. Better luck next time.

Google Reader Chokes on Google Groups RSS

I’m a member of a Google Group. I’d like to get group updates as RSS, not in my email, because email sucks. Google Groups helpfully provides XML feeds in both RSS 2.0 and Atom 1.0 formats.

Google Reader refuses to eat either of these.

An error has occurred because the feed being requested cannot be found.

Am I the only one with this problem? Impossible.

  1. Can we please introduce someone on the Groups team to someone on the Reader team?
  2. When Reader chokes on a feed URL, can I get a big red button that says “REPORT THIS”?

PS: Perhaps this problem has to do with Reader’s lack of support for authenticated RSS feeds. In that case a better error message is needed.