Ask HN: Honing programming skills in a "Blue box"

5 points by anemecek ↗ HN
After reading several good reviews of the book "Talent Code" (among others, the review on Derek Sivers' blog) I decided to give the book a shot. One thing that intrigued me was the information that supposedly, Brazilian soccer players practice futsal (a game similar to soccer, with a smaller field, fewer players, and a smaller, heavier ball) as this game "compresses soccer's essential skills into a small box" and allows the players to improve their soccer skills faster compared with practicing soccer.

The book also mentions the "Blue box" (http://en.wikipedia.org/wiki/Link_Trainer) as a practice device of similar nature for piloting airplanes.

So the question is obvious, is there something similar for programming? The only thing I can think of are competitions such as Project Euler but I somehow feel that these are not exactly "Blue boxes".

3 comments

[ 5.3 ms ] story [ 23.5 ms ] thread
This is a really great question, but I can't really see a corollary in programming. Software is a much wider field than soccer. Contest problems could be similar, or running through a textbook like How To Design Programs. In reality, the best thing is probably to find some smaller projects with reasonable constraints on a simple platform, that way you can build software without spending a lot of time dealing with infrastructure concerns, and just focus on architecture, algorithms, etc.
This is probably the best thing to do. If you can reduce the problem to a single, limited domain, you can focus your energy on just that one. As you feel more confortable, you can introduce others. Even in general I think it's a good idea to split things up and tackle them individually.
For web programming, get a virtual web server from a place like dreamhost ($120 for a year), it will eliminate the risks associated with messing around on your localhost, and give you some solid web dev experience, as businesses normally operate on remote servers. Be sure that your choice has ruby and allows you to install gems.