Go

Started playing with Go this weekend, and I'm already sure that this language is going to become a keystone in my work. What I like: strong typing with type inference, built-in concurrency, garbage-collection, native compilation across lots of machines, and it's fast. And most of all, it's a very straight-forward, practical language. Oh, and the ability to return multiple values from a function is great. And switch statements that don't automatically fall through. Things I'll enjoy playing with: slices over arrays, defer/panic/recover, channels/select, and the type switch construction (which I'm really enjoying in XQuery/MarkLogic). While I'm looking forward to it, it will be a bit odd for me to get serious with a non-object-oriented language again. It's been years since I've done anything significant with C. But the interface mechanism should help ease the transition.

Now for my first project. Maybe I'll run through the Matasano Crypto Challenges. That's something I've been meaning to do but never seem to make the time.

Dedication

My grandfather had a wonderful shop in his basement. To me, it was a place of mystery and fascination, and I would spend hours wandering through it, looking at all the tools and projects in various states of completion. Not being much of a wood worker, I've never had the need for such a shop (not to mention that I lack a basement), but recently it occurs to me that my gear, computers, and software are my shop. This site is for my late grandfather and everyone else who takes personal pride in carefully executed work.