Mountain Climbing

Watch out Flappy Bird, there's a new game in town. Mountain Climbing starts with a game board composed of N rows that looks like this: 0 ; N = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; N = 5 ... The objective of the game is…

Bounded Memoization

Memoization is a technique for avoiding redundant computations. It's implemented by storing the results of some procedure in a table keyed by its arguments. In this way, the next time that procedure is called with the same arguments, the result is simply retrieved from the table rather than recalculated. In…

Why the Mobile Web Will Win

Chris Dixon recently wrote a post lamenting the apparent victory of native apps over the mobile web. I'm more optimistic. I believe the current paradigm is a transitional stage, a local maxima driven by two factors: The relative technological inferiority of mobile web browsers vis-a-vis native apps. Mobile browsers don't…

Achieving Workflow Zen

Lately, I've been spending most of my time hacking in Clojure. As a quick way to get started I downloaded LightTable, but as a seasoned Vim-ite, the siren call of the command line soon pulled me back. I've spent some time setting up a comfortable Clojure workflow in Vim and…

Ivy English YC Application

Y-Combinator's Summer 2014 application deadline was this past week and I threw Ivy English's hat in the ring. I decided to post the application here in hopes that someone, somewhere will be able to glean some tidbit or insight that will help with their own app in the future. Company…

Full Stack Founders

For early-stage startups, only two questions matter: Can you make a great product (or provide a great service)? Can you sell that product (or get a bunch of users)? The first question encapsulates both design and development. The latter, I hope, is self-explanatory. Nothing else matters. Not your educational/career…