How to Professionalize Teaching

Everyone knows that great teachers are the key to a great education. But how do we get more of them? One popular request is to treat teachers as professionals, a "certified expert who is afforded prestige and autonomy in return for performing at a high level" rather than "interchangeable cogs in an educational factory line out... Continue Reading →

#InsanelySimple 140 Characters at a Time

I just finished reading the eagerly-anticipated Insanely Simple by Ken Segall.  For my money, this is the best way to get a feel for how Apple "Thinks Different" than virtually every other business in America. From May 10th to 17th I used Twitter to catalogue my journey through the book, and I've collected all those... Continue Reading →

$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 →

Blog at WordPress.com.

Up ↑