Summer tends to be a somewhat slower time for work in Ottawa, which is when I usually find more time to spend abstractly learning, thinking, & tinkering. Lately, in regards to programming, I’ve been spending some time with Xcode and Meteor.js.
I’m a deeply visual thinker. I’ve found that the most effective way for me to understand and integrate new knowledge is to develop a visual-model analogy. It’s why I work with a sketchbook next to me at all times. This also means I seek out what Bret Victor calls “Seeing Tools”. Xcode’s upcoming Swift Playgrounds is what finally pushed me to get started; the idea of a seeing tool to scrub through code in real time is a dream come true. But Xcode still has a HUGE delay between having an idea for a program, and being able to distribute it.
Meteor on the other hand is sort of the opposite. There is almost no delay between an idea and a live program anyone can use; the meteor idea-develop-test-deploy process is really really fast. Conversely, so much of what makes Meteor development so fast is a “magic box” that you don’t see. But I find the instantaneous update of Meteor apps as you develop provides enough seeing for me to quickly tinker through to understanding. Plus I’m using the excellent Discover Meteor book to guide me.