$AAPL and the Limits of Growth

It has become a cliché after every blowout earnings call to say that Apple can't keep growing forever. While technically true (I doubt Apple would survive the heat death of the universe), that assertion by itself is useless. The real question is how long could Apple keep growing at its current rate. Somewhat surprisingly, I haven't seen... Continue Reading →

RIBS: Marrying the REST and MVC Design Patterns

[Diagram updated on 10/27. Thanks to @frozencanuck for his feedback.] The RIBS diagram is my third attempt to extend the wildly-succesful Model–View–Controller design pattern to encompass first the The DCI Architecture and now the REST architectural style.  This time, I started by reverse-engineered the design principles behind the Ki Statechart Framework, particularly their use of statecharts as coordinating controllers.... Continue Reading →

DIDA: Reinterpreting MVC object modelling in light of DCI

[UPDATE: This post has been obsoleted by SIDA: Moving Object-Oriented Design beyond Model-View-Controller] I recently read about The DCI Architecture: A New Vision of Object-Oriented Programming, a successor/complement to the original Model–View–Controller design pattern, by one of the original authors.  The DCI stand for: Data Context Interaction I was both impressed and confused.  Impressed because I've been thinking for... Continue Reading →

2010 in review

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here's a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads Fresher than ever. Crunchy numbers A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 9,700 times in 2010. That's about 23 full... Continue Reading →

What Makes Programming Languages Successful?

Following up on my (subjective) list of what I like about Ruby, here's a (relatively objective) list based on articles about what makes programming languages successful. The characteristics widely-adopted languages seem to share: Generality (suitable for a wide range of problems) Extensibility (can easily be extended with new abstractions) Novelty (solves a certain domain of problems... Continue Reading →

What I love most about Ruby

I have some friends (Hi Dustin) that are serious language geeks, whom I often get into debates with. One of my common refrains is "to do it the Ruby way", because (while Ruby has its warts) it does so many little things beautifully well. So, as future ammunition, I figured I should try to collect links to my favorite Ruby features (much as many others have already done before me).

Using tel: Telephone URLs in iCal Events

[NOTE: I'm still trying to figure this out, but here is my current best understanding; please leave a comment if you have additional information]. A useful trick not many people know is that you can embed a telephone URL in an iCal entry, to make it easy for people attending to call-in.  This is especially... Continue Reading →

Blog at WordPress.com.

Up ↑