I’d never really quite taken in that when people, discussing web development, talked about a ’sandbox,’ or ’sandboxing,’ what they meant was a sandpit.
Clearly the language difference between British and American English, while small, was significant: having only ever encountered ’sandbox’ in a certain context, I managed to miss all the associations—despite the fact that I understood perfectly what it meant in that context. If you’d said sandpit to me, it would have carried far more emotional weight, because sandpit is a word from my childhood.
There were a couple of them, but the one I really remember was a square hole in our back garden, lined with concrete. Most sandpits are slightly pitiful plastic trays; this thing was engineered. Perhaps six feet on each side, and a couple of feet deep, it was the location for ever more ambitious engineering works. Holes, mounds, channels, tunnels, buildings; primitive architecture.
We learn, in large part, by doing: by interacting with the world, seeing what works and what doesn’t. Children are natural philosophers: they discover the ontology of the world by going out and experiencing it. Going back to the web development reference we started with, it’s easy to see why this is such an important concept. After all, grown-ups need to play too—and often that play is essential to learning new things.
This site is my primary sandpit: I’m continually messing about in it, breaking things, fixing things, changing and learning. It’s no accident that Tarski came from my work on this site; that was what I cared about, what interested me, what I was already spending time on.
New tricks, new ideas, new methodologies, all usually get tried out here first. For example, last week I figured out some stuff about WP admin menus because I wanted to set things up a certain way on this site, and that knowledge will now get used to improve Tarski.
Dilettantes like myself, not being professional programmers or even full-time web developers, perhaps need more motivation than the aforementioned groups to mess about with something. So while my general reason for learning Rails might be that it’s a good language for developing web applications, I have a specific reason too: I want to keep track of the books I read.
Writing a very rudimentary application to let me do just that, I’m doing something real and practical, but at the same time I’m developing a skill that will be useful in other situations. Everyone needs a sandpit, and I’m fairly sure that everyone has at least one, whatever form it takes.