Read Next

Just What's Up

Here are some of the posts I want to write: experiential sampling tools, the butter eating competition story, experiments with Chinese reading rates, cognitive testing to measure aging, infant taste hacking, hiring a fashion consultant, algorithmically ranking baby names, that time my goblin killed an elder blue dragon, writing audience stats, and why pigs with dogs for feet are the greatest animals.

But instead of writing those, I'm just working really hard (alongside Scott, George, Matt, Michael, our artists and designers, and our open source contributors) on CodeCombat, which is getting really good as we get close to December's Hour of Code and the completion of our new beginner learn-to-code offering and iPad app. This is fun, but it doesn't leave much time for cool, effortful blog posts. So here's a quick one saying what's up, since a friend mentioned that it is hard to tell what I'm doing when I don't say what I'm doing.

Besides hacking, Chloe and I (and CodeCombat) moved into a sweet new apartment/office which is actually big enough for both purposes instead of too small for either. It's still in San Francisco, in SoMa, right next to the ball park. It was surreal and amusing to watch the riots going on outside our window when the local baseball team won the global baseball tournament.

Skritter is continuing to do well in the hands of its team, whereas George, Scott, and I are happily obsolete. The guys released an Android app last month.

I'm eating a lot of MealSquares, and they are still great, saving me a ton of time. Try a box.

Rapidly learn programming, math, and more

On Jedi/Rockstar/Ninja in Development

Yesterday I outlined a strategy of rapid learning: the core is doing many problems with feedback. When you need supplemental information, you can do either a quick lookup or refer to lectures or a book. I can't tell you how the strategy worked for me just yet! My interview was rescheduled.

How can you apply this strategy to your own learning? The problem is, well, you need problems. Preferably lots of them, well sequenced, with feedback. Books are the best bet, but there is an emerging class of web apps providing problems and feedback. I've bolded the ones that let you do everything in the browser, including verification of your answers.


Code.org has good coverage of interactive beginner tools. To quickly learn a new language, Code School and Codecademy cover a variety and here are some options for Ruby (or here), Python, Java, Lisp, Prolog, OCaml, Clojure, ClojureScript. Not web-based but here's a list of repositories for koans in many languages, and a mixed variety of resources. For practice with algorithms and other such challenges, use Project Euler (more math-oriented) or HackerRank (topics from algorithms to AI and data). Kaggle is specifically for machine learning and ranges from simple data sets to paid competitions, where even professionals can hone skills. For more introductory data tools, there's DataCamp.


Rendering New Theme...