Ogres and APIs

Bringing Merb’s provides/display into Rails 3:

The symmetry relates to another point in API design that I've been interested in lately: progressive expansion. There should be a smooth path from the simple case to the complex case. It should be like an Ogre, it should have layers.

True Hip-Hop Stories


Whither desktop or web

Lately, I’m finding myself replacing free web-apps with desktop software or commercial web-apps. Allow me to explain my evolving philosophy for you.

Web applications make the most sense when people get together to create something greater than the sum of their individual parts. GitHub and Readernaut are great examples of this. The latter, in particular because its fun to use, but also in its focus. The former is great in how it puts a radically different spin on the act of sharing code, but also because their team is kicking ass.

I am eager to pay for continuity. Ergo, I put down money for Sifter, GitHub and Flickr. Sure, it’s entirely possible that any of these services will go under. Paying for them makes that less likely, and I’m happy to vote with my dollars on an app.

“Living in the cloud” is kind of a drag. I travel just enough to want to use airplane time as a super-focused work sprint. If my links, for example, live out in the cloud, it becomes tedious to save things away while I’m disconnected, let alone impossible to access them.

Ergo, I now favor web apps in spaces where getting my friends involved is more interesting and I favor paid apps or desktop apps where I want it despite my connectivity or where my friends, as great as they are, can’t help or prove a distraction[1].

fn1. My friends are awesome. Its just that an app like Facebook is more of a distraction than a must-have tool. For me, at least.


Change it up

Do something new every three years:

I was thinking about the three-year rule while reading about Malcolm Gladwell's observation that it takes 10,000 hours to become truly expert at something. If you really throw yourself into a job, you'll spend 60 hours a week working. That's 3,000 hours a year (allowing for vacation), which means you'll hit the 10,000 hour mark a few months after your third year.

So maybe that’s where the three-year rule comes from. You’re now expert at what you set out to master. Great. Now go do something else.

Great idea! The article also reveals some of the inner workings of The Economist. A highly recommended, quick read.


The absurdity of X, Y, R, G and B

The Frustrating Magical Aspect - why’s great take on the absurdity of the tools we use to put interesting shapes and colors on our screens. Here’s to hoping for interesting abstractions that are somewhere between rigorously pushing pixels and randomly drawing shapes until something neat pops out.


Crazy hair


The Creative Big Bang

That John Gruber, he's good with the words. From Bang:

Consider the Big Bang. One moment there was nothing, except for everything condensed into a single infinitely dense point. Then, one minuscule sliver of a second later: the universe. Nothing was yet formed, all the true work of forming stars and galaxies remained ahead, but the framework, the laws of physics, were set, and the rest was thereafter inevitable.

This is what everyone contemplating a new creative endeavor craves: that in the moment it turns real, to get it right. To frame it in such a way that the very act of framing propels the project toward an inexorable destiny.

That’s a really beautiful way to capture the process of turning an idea into something people see, hear, use or laugh at.


People are making cool stuff

This morning I followed a link that _why shared with us, a lo-fi guitar pedal built around an Arduiono. Kyle McDonald made said pedal; he also made I Eat Beats, a drum machine gizmo built with a screen, Processing, and skittles. He also published instructions for how to build a 3-D controller. From there I found a coin-slot detector, again built with an Arduino.

Moral of the story: there is a ton of cool stuff going on with Processing and Arduino. Just let the links light your path.


I am going to call Ghostbusters

At the risk of rambling too much about games: DO WANT.

[youtube=http://www.youtube.com/watch?v=dD7nw_L4W5M&hl=en&fs=1]

The Ghostbusters video game for the Sega Master System was pretty much the first video game I played.


Military-industrial TV

Left to my own devices, I end up watching stuff on TV about fighter jets, submarines, etc. a whole lot. The machines of war.

On the one hand, the history and engineering is interesting. On the other, I feel dirty watching what is essentially military-industrial complex porn.

Just wanted to let you know.


Beautifully static

Game trailers are frequently a montage of confusing montage. This trailer stands in stark contrast to the standard:

[youtube=[www.youtube.com/watch](http://www.youtube.com/watch?v=IjU0NZMcUxI&hl=en&fs=1])

Best use of a Romantic piano sonata in a game trailer? Probably.

Turns out its sort of a take-off on the Halo 3 Believe ad. Also pretty well done.


Fred's business card

I made a business card for Fred.

Fred

For those keeping score at home, this is what happens when I’m trying not to code or surf the web at 11:30 PM.


Gentlemen's Agreements

BMW and Mercedes produce cars in direct competition. Further, everyone else in the auto industry likes to use them as benchmarks. Read a car magazine and count the superlatives like “more legroom than a Mercedes S500” or “more horsepower than a BMW 330i”. Its a market out there; everyone is incentivised to produce better stuff every time around.

However, you won’t ever find them boasting about top speed[1]. BMW or Mercedes don’t make cars that go faster than 155 MPH. Many moons ago, these car makers made a gentlemen’s agreement to limit their cars to a certain top speed. They probably did this for safety reasons - there just isn’t much need to go that fast and its probably inadvisable for most folks.

Why adhere to these agreements? At any point, BMW or Mercedes could break this agreement and achieve some kind of short-term numerical superiority. But this would end in an arms race that doesn’t really improve the every-day usage of their cars. So really, it’s in each company’s interest to maintain the agreement.

In the land of software development, we have gentlemen’s agreements as well. When I picked up Python in 1999, I learned that they didn’t have a distinction between public, protected and private object attributes. Many decried this, but the general idea was that we’re all adults and do the responsible thing.

Fast forward six years years. At first I was somewhat put off that Rails modifies the standard Ruby libraries. Many people are still put off about this. But I’m OK with it. If you have the chance to drive improvements in an ecosystem without waiting for the core maintainers to release a new version of Ruby, why not?

Many also decry the situation we find around Rails plugins. Its argued that one shouldn’t go around mucking about inside Rails to add functionality. And sure enough, plugins sometimes break when the core team changes Rails, even in the slightest of ways.

No surprise, I’m fine with this. Improving a system from the inside is too appealing to pass up so that I can claim some kind of virtuousness.

Should Rails have a defined internal interface or extension mechanism? Sure, sounds great! But we shouldn’t stop improving it outside the Rails core process just because sometimes we get burned.

The alternative is to define a known set of hooks by which we can modify behavior in a post-hoc fashion. Merb is taking this approach, and I’m eager to see how it works out. My take is that limiting people to extension along axes that the core developers imagined in a pre-hoc manner is too limiting. I hope I am proven wrong.

When it comes to Ruby or Rails, I think we already have a gentlemen’s agreement. We accept that extending systems using the facilities Ruby provides is useful, so we don’t complain too much when we get burned[2]. Accepting this is, in my experience, an empowering aspect of using Ruby that lets me worry about really interesting problems.

fn1. Except maybe for the M and AMG tuner variants of their mass-production cars

fn2. where “too much” is defined by the prudence of the extension mechanism used


The hopping doll video game

Too cool.

[youtube=[www.youtube.com/watch](http://www.youtube.com/watch?v=YVUrqaOvCfQ&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&fs=1])

Brought to you by an Arduino.


My notes from RubyConf 2008

This year at RubyConf, I decided to go analog and take hand-written notes. (Someone did this for another conference but I can’t find the link.) I hope you find them amusing and/or educational. Click through to the Flickr set to see them in all their glory.

RubyConf Notes #0

Bonus points for identifying the people whose hair I drew and trying to decipher my handwriting!


Dallas' multitudes

The Dallas Myth, Again quotes Molly Ivins:

There is a black Dallas, there is a Chicano Dallas, there is a Vietnamese Dallas, there is a gay Dallas, there is even a funky-Bohemian Dallas. But mostly there is North Dallas, a place so materialistic and Republican it makes your teeth hurt to contemplate it.

For the record, Dallas-proper, like all the major Texas cities, went for Obama this time around.


Gaming and design

Khoi Vinh’s thoughts on games and their relation to what I aspire to do on the web:

...I’m savvy enough at least to recognize that very interesting things are happening in that world. As a point of reference for interaction design — for design of every kind — I’m convinced that games represent an important new paradigm...

Game On. Khoi and I are thinking along the same lines here. There’s lots to learn from games, besides the ease at which one can spend time in them.


Modernism in sheds

Prefab Sheds - Modernism in Miniature. Cool looking stuff, and its promising that people are considering better use of their existing space instead of just seeking more space. Now, if only our own shed weren’t so shedtastic.


Bruce Springsteen in a nutshell

“Light Of Day”:

Things can't get any worse, they gotta get better

It’s the deep sadness of his songs, surrounded by undying optimism, that keeps me coming back every time.


One Velociraptor Per Child

The One Velociraptor Per Child project:

The project's origins go back more than four decades to the early days of paleontology, when most dinosaurs were still the size of skyscrapers, and almost no one dreamed they would ever be suitable for children.