The best project wide search for TextMate.
Got tipped off to Padrino today. It looks very smart and full of potential.
Padrino is a ruby framework built upon the excellent Sinatra Microframework. Sinatra is a DSL for quickly creating simple web applications in Ruby. Padrino was created to make it fun and easy to code more advanced web applications while still adhering to the spirit that makes Sinatra great!
Maciej Ceglowski, creator of Pinboard:
A rule of thumb that has worked well for me is that if I’m excited to play around with something, it probably doesn’t belong in production.
Me:
If Business is analogous to War, then Product Development is analogous to Agriculture. You need both to survive and prosper as a company.
Sustenance
I’ve always loved the analogy between business and war because it fits many facets of business well — I’ve read that the Art of War is required reading up in Wall Street — but I only just came to realize the agricultural analogy after reading through a handful or @rjs’s tweets. They reminded me of the effects of monoculture and the way that farmers will rotate the type of crops they grow in an area to ensure the fullest harvest possible.
Product Development is like that. If you focus your development on only one area of concern (or even a myopic few) then the ROI of the developments invested will atrophy as the law of diminishing returns kicks in. In order to harvest the fullest fruits of your development labors you’ll need to rotate where you invest your resources — you’ll need to rotate what crops you sew.
Instead of iterate, iterate, iterate, it should be iterate, rotate, iterate.
Seasons
Let’s take this analogy a step further. Whether you realize it or not your business is subject to seasons as well. They’re likely not to be the literal four seasons of winter, spring, summer, and fall, but you are subject to them and they will affect you in real ways. For example, at my work our seasons are Hockey and Baseball (and a lot more honestly, but I hope you get my point). How, what, and when we develop depends entirely upon the weather created by those seasons. A “storm” in one of those seasons, like the awesome Minnesota State Hockey Tournament, can affect our development as much as a Minnesota snow storm affects my commute. If we ignore that reality we are generally met with disappointment as developments get rushed, or not done at all.
Foreknowledge of these seasons enables us to devise an almanac of when, how, and what we can plan. Planning then becomes more than an unrealistic cold calculation of expected time and available resources, it’s far more balanced and down to earth.
Harvest
A farmer harvests fruits and vegetables from plants which then get sold in a market.
A business harvests products and services from people which then get sold in a market.
Therefore, as a business, we don’t grow plants, we grow people. Therefore, this analogous principle of crop rotation applies to both the product being developed and the developers working on the product.
For example, if you have Designer A, who is an excellent Graphic Designer but cannot write HTML or CSS, then he’s going to be far less useful in the long run than Designer B who may not be as good of a Graphic Designer but can go the whole way and implement what he creates. The only way to ensure this happens is to sew a few markup seeds in your Designer’s head and nourish them so that they can eventually be harvested.
Pixar University is what happens when you take this principle to it’s furthest logical conclusion.
Statecraft
If you perceive a business as a microcosmic analogy of a country you’ll see that a country uses both war and agriculture to secure its survival. And by war I don’t mean killing. The true goal of war is to strategically secure resources and opportunities for your people to prosper.
Sun Tzu:
To subdue the enemy without fighting is the acme of skill
Otherwise people starve, then defect or mutiny.
Phill Ryu:
I think for many developers, selecting a very commercial idea is in itself a vague and difficult decision. And when you’re not exactly sure how bankable your app idea is, you tend to wager on it conservatively and timidly, in turn making it less cool, less shiny, and reducing its chances of success. In an ideal world, you would look at your app ideas, grade their chances of commercial success with a cool eye, pick the one with the best prospects, and wager on it more heavily, betting with confidence instead of trepidation.