Vincent Gable

October 4, 2008

The Decadent Future

Filed under: Quotes — Tags: , , — Vincent Gable @ 4:52 pm

…the average American consumes so much energy every day, it would take 200 slaves to reproduce his lifestye. Modern industry makes such luxury possible.

At least according to my television. It’s nice to live in the future.

September 30, 2008

The Hollow Friends

Filed under: Quotes — Tags: , , , , — Vincent Gable @ 10:41 am

…there is actual precedent for creating value for people with technology. Think of word processors, databases, spreadsheets, web browsers, web publishing, search engines, email, etc. Social media is the first major computing revolution that as far as I can tell, has produced essentially nothing.

But the social media craze is perfectly fitting in a society where producing nothing has been in fashion for years. Mortgages without credit. Profit without product. Riches without risk. Oops.

-Hank Williams

And here’s Marlon Brando reading The Hollow Men in Apocalypse Now.

September 27, 2008

Apple Has Learned The Importance of Play. We Should Too

Filed under: Design, Quotes, Usability — Tags: , , — Vincent Gable @ 2:13 pm

…joyful playful exploration is critical to learning. Rote learning and memorization is less effective.

I believe that a big part of the reason that Apple has been successful is that they figured out long ago that their products had to have the elements of joyful exploration that are the hallmarks of great toys

-Hank Williams

The short article is worth reading.

September 26, 2008

Simple English

Filed under: Quotes, Usability — Tags: , , , , — Vincent Gable @ 12:49 pm

There are 400 million native English speakers, but over a billion people who speak English as a second language. … At any given instant on this planet, most people who are speaking English are not native speakers.

Perhaps we should take a good look at common forms of incorrect grammar and see if they actually make our language easier to learn. Maybe we should give a loose leash to those who are trying to make English more accessible.

I am going to try to use simple language and limited slang in my writing. When one considers the population of the world, it seems rather rude to address only the native English speakers.

Aaron Hillegass

September 25, 2008

Simple Truths About Cross-Platform Apps

Filed under: Design, MacOSX, Programming, Quotes — Tags: , , — Vincent Gable @ 7:10 pm

Scott Stevenson tells it like it is,

Even if Apple recommended cross-platform toolkits for Mac development, the basic premise of Mac software market would not change. Mac users bought the computer they did because they found the experience more appealing. Bringing an application across from Windows with minor tweaks simply won’t resonate with this sort of user.

And gives free advice,

Maybe the most important thing you will ever need to know about Mac development is this:

Mac users will generally favor an app with a better experience over the one with more features.

The full article.

September 24, 2008

XML Parsing: You’re Doing it Wrong

Filed under: Cocoa, MacOSX, Objective-C, Programming, Quotes, Sample Code, Tips — Tags: , — Vincent Gable @ 10:04 pm

There are lots of examples of people using text searching and regular expressions to find data in webpages. These examples are doing it wrong.

NSXMLDocument and an XPath query are your friends. They really make finding elements within a webpage, RSS feed or XML documents very easy.

Matt Gallagher

I haven’t used XPath before, but after seeing Matt’s example code, I am convinced he’s right, because I’ve seen the other side of things. (I’ll let you in on a dirty little secret — right now the worst bit of the code-base I’m working on parses XML.)

    NSError *error;
    NSXMLDocument *document =
        [[NSXMLDocument alloc] initWithData:responseData options:NSXMLDocumentTidyHTML error:&error];
    [document autorelease];
    
    // Deliberately ignore the error: with most HTML it will be filled with
    // numerous ”tidy” warnings.
    
    NSXMLElement *rootNode = [document rootElement];
    
    NSString *xpathQueryString =
        @”//div[@id=’newtothestore’]/div[@class=’modulecontent’]/div[@class=’list_content’]/ul/li/a”;
    NSArray *newItemsNodes = [rootNode nodesForXPath:xpathQueryString error:&error];
    if (error)
    {
        [[NSAlert alertWithError:error] runModal];
        return;
    }

(I added [document autorelease]; to the above code, because you should always immediately balance an alloc/init with autorelease, outside of your own init methods.)

September 18, 2008

I Would Rather Have a Runtime Error Than a Compile Error

Filed under: Programming, Quotes, Reverse Engineering — Tags: , , , — Vincent Gable @ 6:49 pm

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 — Tags: , , , — Vincent Gable @ 10:07 am

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 — Tags: — Vincent Gable @ 6:50 pm

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 — Tags: , — Vincent Gable @ 9:18 pm

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.

Older Posts »

Powered by WordPress