Vincent Gable’s Blog

September 18, 2008

I Would Rather Have a Runtime Error Than a Compile Error

Filed under: Programming,Quotes,Reverse Engineering | , , ,
― Vincent Gable on September 18, 2008

And the weird thing is, I realized early in my career that I would actually rather have a runtime error than a compile error. [(some laughs)] Because at that time… now this is way contrary to popular opinion. Everybody wants early error detection. Oh God, not a runtime error, right? But the debugger gives you this ability to start poking and prodding, especially in a more dynamic language, where you can start simulating things, you can back it up… You’ve got your time-machine debuggers like the OCaml one, that can actually save the states and back up.

You’ve got amazing tools at your disposal (in the debugger)… Whereas if the compiler gives you an error that says “expected expression angle-bracket”, you don’t have a “compiler-debugger” that you can shell into…

So, you know, in some sense, your runtime errors are actually kind of nicer.

— An excerpt from one of Steve Yegge’s (long!) talks.

I think there is a real nugget of truth in this. At runtime, you can examine your program’s state, but there is absolutely no way to do that at compile time. Without a debugger, you can’t just look at some nontrivial code and know what the value of x is when there’s an error reading y. (Adding "print x", recompiling, and trying again, would work of course, but that’s just using your compiler as an inefficient debugger!)

Similarly, Strong Typing vs. Strong Testing , essentially argues that some tests can only be made at runtime. (If you read any links on this page, read it, it’s much shorter and to the point).

September 17, 2008

The Price of Cool

Filed under: Design,Quotes | , , ,
― Vincent Gable on September 17, 2008

For those who might doubt such a high value of cool, consider the self-winding Rolex, which sports 1/10th the accuracy of a Timex at 1000 times the price. With Rolex, the technology is grossly inferior, and still people will pay thousands to own it.

Bruce Tognazzini

September 6, 2008

Complexity Is the Enemy

Filed under: Design,Quotes,Security |
― Vincent Gable on September 6, 2008

Complexity is the worst enemy of security; as systems become more complex, they get less secure.

Bruce Schneier

September 5, 2008

Condescending Rich Guys

Filed under: Design,Quotes | ,
― Vincent Gable on September 5, 2008

Maria Russo, in the LA Times, totally nails what’s wrong with Microsoft’s first Seinfeld-fueled commercial

Let’s start with the premise of these two famous rich people out discount shoe shopping. Ha, ha! They don’t really have to shop at Payless like the half a million people who lost their jobs this year.

Gates and Seinfeld may both be schlumpy dressers, but their regular-guy qualities stop there. Neither is the Warren Buffett kind of rich, the frugal sort who knows the value of a dollar and doesn’t put himself above the working man (or so we believe about Buffett). Instead the ad seems to be somehow making light of bargain-shopping, as if it’s just a lark for these guys, or some kind of joke that we’re not quite in on.

September 2, 2008

Waiting for Safety “Kills”

Filed under: Design,Quotes,Security | ,
― Vincent Gable on September 2, 2008

Assume that all the new airport security measures increase the waiting time at airports by — and I’m making this up — 30 minutes per passenger. There were 760 million passenger boardings in the United States in 2007. This means that the extra waiting time at airports has cost us a collective 43,000 years of extra waiting time. Assume a 70-year life expectancy, and the increased waiting time has “killed” 620 people per year — 930 if you calculate the numbers based on 16 hours of awake time per day. So the question is: If we did away with increased airport security, would the result be more people dead from terrorism or fewer?

Bruce Schneier

Relatedly, Tog claims that designing roads for speed first, and safety second, could save lives.

August 20, 2008

Localizing In Xcode

Let me say this again in slow motion: NEVER type in ANY English string without typing NSLocalizedString() around it! This will save you SO MUCH HASSLE later on when your app is popular. Remember that enterprising polyglots can localize your code from just the binary you ship if you follow a few rules of localization, so you may wake up one day and find that someone from across the world has mailed you a your app in another language. It’s a fuzzy feeling and it gets you instant market-share.

Wil Shipley

August 17, 2008

B-Movie Boxes

Filed under: Design,Programming,Quotes | , ,
― Vincent Gable on August 17, 2008

Computer interfaces still look like they came from the set of a 50s Science Fiction TV series. Polished metal, shiny everything. We’re fast approaching the ability in computer graphics to create any kind of space we want. Would that be a shiny shuttle interior or would it be a spacious, sunlit, gentle atrium view?

Keith Lang

I can’t recommend the book Emotional Design enough.

August 12, 2008

Aesthetics Matter

Filed under: Accessibility,Design,Quotes,Usability | , ,
― Vincent Gable on August 12, 2008

.. aesthetics (are) important in UI. If you begin to look at something and want to avert your eyes, the site has failed.

Hank Williams

I highly recommend the book Emotional Design, which makes this point in much more detail. A person’s emotional state has a quantifiable impact on how successful they will be at a task. Aesthetics are still the most direct way to manipulate emotion.

Make What You Love

Filed under: Quotes |
― Vincent Gable on August 12, 2008

If you can’t think of anything in your company’s “space” that you personally would use, then you should think seriously about (a) changing your company’s direction, or (b) finding another company. This is true no matter what level you’re at. You should be working on something you love, or failing that, at least working on something that you know really well.

Steve Yegge

July 25, 2008

Trained Open Source Security

Filed under: Design,Programming,Quotes,Security | ,
― Vincent Gable on July 25, 2008

So it’s a matter of training. And that’s pretty much true of Open Source security models. Think of Open Source software. Having a bunch of random people look at the code to tell you if it’s secure won’t work. If you have well-trained people who look at the code, that will work! Open Source just means you can see it, it doesn’t guarantee that the right people will see it.

Bruce Schneier

The interview is much broader, and worth reading.

« Newer PostsOlder Posts »

Powered by WordPress