I just sent out the fourth exciting edition of the Fascinating Newsletter. Check it out!
Category Archives: General
Darwin’s Finches and APIs
This is absolutely one of the best presentations on the business value of APIs and how to market them to developers I have ever seen, courtesy of the fine folks at Apigee.
Code Review as Line Editing
This morning, I’m reading through a ton of Github comments our VP of Engineering added to the codebase last night. Initially, I was annoyed by his nitpicking – it’s not my code, but I tend to think that niggling comments about using throwaway variables or other things that have negligible impact on performance can kill a coder’s sense of creativity and individuality.
Then I remembered that our engineering team has a style guide for Ruby. When I ran TechKnowMe, I wrote a coding style guide that I expected my freelance developers to follow, but it was fairly minimal. The only other time I had a style guide to enforce was back when I was an editor for a newspaper, line editing the stories my writers turned in.
The line editing process is not intended to kill creativity and individuality, it’s intended to help communicate information as efficiently and consistently as possible in an editorial setting. I always line edited my writers’ work while they looked over my shoulder, just as my editors had done when I was a reporter. I explained my reason for making each change to the writer as I made it, which allowed for some debate. It was an educational process for both of us – they honed their skills and learned how to write articles that required less editing, while it forced me justify whether the changes I was making were genuinely an improvement.
Looking at our VP’s comments in that light, I view the code review process in a whole new way. Coding is functional editorial – you’re communicating not only with the computer to feed it instructions, but with future developers who have to maintain that code. Those future developers include yourself, and I’ve found that code I have written as recently as six months ago can look foreign to me. It’s been a while since I was a trench developer, and I definitely miss the education I got through these code reviews, as even the act of making the comments is educational. I’m learning a lot by reading these comments. It’s not my code, but reading them is going to make me a better programmer.
The Fascinating Newsletter Archive!
Hey, have you signed up to receive the Fascinating Newsletter? That box over there on the right (assuming it’s still there by the time you read this, oh people of the future) will get you on the list. I’ve been sending it out weekly for the past three weeks and it’s been fun to compile for you.
If you missed them, I’ve just archived them for your bemusement. Check out the Fascinating Archive.
Maximize a Product Launch with This PR Plan
I wrote this for the VerticalResponse blog. Plan your product launch right and get your marketing on!
Wash Your Damn Hands, People!
I got to spend this past weekend alone in my bedroom, unable to eat or drink for two days, separated from my wife and kid because I was socked by the norovirus. There’s an especially nasty strain of it going around this year and my daily exposure to the public on the BART system is what likely made me a victim. Danielle is still chasing me around the house with a spray bottle of bleach (though, she did very sweetly take care of me as best as she could given the circumstances).
Simply rubbing alcoholic gel on your hands doesn’t completely kill this thing – you need to vigorously wash your hands frequently to avoid transmission, it’s really the only way. It spreads primarily through the fecal matter and vomit of the infected, which means someone out there did something very nasty and did not clean up properly before boarding the train. It only takes about 12 of the little bastards to colonize a host, so a small amount goes a long way.
So, be vigilant and vigorous in your hand washing, people. Seriously – two days of excessive sick combined with two more of extreme dehydration suuuuuuuuuuuucks. I’m still not back to normal.
The Music Around You
My home office has two desktops, one laptop, a router, a printer and a couple of other networking boxes and electronic ephemera all running all the time. Yesterday, Danielle reported a strong electrical burning smell coming out of the room while I was at work. I asked her to just shut it all down and told her I’d look into it when I got home.
Walking into the den with everything shut off was eerie, almost scary. It was so still. For the first time, I could hear the quiet hum of the compact fluorescent lights in my ceiling fan. I never realize how noisy that room is until everything goes silent.
This morning, I listened to an episode of This American Life called “Mapping”. The second act was about hearing, and was a fascinating look at the humming and buzzing that surrounds us daily in our modern, always on world. In it, Toby Lester of the Atlantic Monthly describes how he began considering the actual tones and notes of the droning hums in his office, and how different hums at different tones create chords and intervals. The chords, intervals and scales one plays on an instrument are what create mood in music – a major scale is traditionally perceived as happy, a minor scale sad. For a more visceral idea of this, check out the recently popular “Major Scaled“, which takes popular, moody, minor-key songs and transposes them to major keys, often giving them a more uplifting, pop-like sound.
Lester’s hypothesis is that the chords created by the constant droning may very well contribute to how we feel about the places where we work and live. For example, he discovered that his computer, the heating system and the dial tone on the phone he frequently uses in his job created an augmented fourth chord. It sounds like an audible train wreck. It’s grating. Hearing it played on his piano caused me to tense up a bit.
Lester had found a book by Deryck Cooke called “The Language of Music”, which updates a list of the tonal properties of chords and intervals categorized by the Catholic church in medieval times. The Church described the augmented fourth as “the Diabolus in musica” – one of the most reviled combinations of tones of its time. Lester was surrounded by this chord constantly, daily.
I know that industrial design takes noise levels and, to some degree, noise quality into consideration when designing products. But what about harmonious environmental noise? It seems such a small thing, but it’s conceivable that Lester is right, that the music of our daily lives – as defined by the devices with which we surround ourselves – may be eliciting emotions subliminally. Consider how you feel after listening to an album by The Monkees versus, say, an album by Morrissey. What if you’re unknowingly listening each day to a constant drone of a minor third, the classic chord for melancholy? Might it not actually make you melancholy?
I hope Lester pursues this further. It’s an interesting thought that the noise of our devices, which we have learned to mostly tune out, may be acting on us at an almost imperceivable level. While I doubt they could be held solely responsible for controlling our moods one way or the other, it wouldn’t surprise me to learn that they can have a dramatic impact. The compact fluorescent lights I added to my den are relative new. Before, I had only some 60 watt incandescents that lit the room well enough, but still kept the lighting moody. The fluorescents, on the other hand, bathe the room on bright white light the equivalent of a 100 watt incandescent. It has actually made me feel more productive and happy when I’m in there. This subtle difference in lighting has had a dramatic impact on how I feel when I’m working in there. If I can just figure out how to tune my devices to sing a happy drone, perhaps I can make that the most inviting room in the house.
Taking Inventory
Not sure why this crossed my mind just now, but I got to thinking about all of the programming languages I have ever learned. The list, at least to my mind, is staggering. Granted, many languages are very similar – Actionscript and Javascript, for example, are practically twins – but each has its own quirks, syntactical weirdness and more.
So, for my amusement, and to put it on the record, here is the list of all of the programming languages I ever have ever used, broken into two categories – “Developed for Production”, which means the code I wrote has actually gone on to support some commercial purpose, such as a website or a script that has seen daily, at least semi-critical use, and “For the Knowledge”, which is why I generally start learning any of these languages to begin with. And, for what it’s worth, I’m leaving out markup languages like XML, HTML or even CSS, though I’ve had to learn my fair share of those as well. Continue reading
The Occasional Annual Christmas Letter!
You thought I forgot again, didn’t you? Well, you’re right. But, if you are on our Christmas card list, you should be getting it soon in the mail if you haven’t already. And, if you’re not… well, it’s never to late to apologize for whatever offense you have made to us. While you determine the best way to grovel and get back on our good graces, you may satisfy yourself with this, the Occasional Annual Christmas Letter for 2012. Because I have deigned it so.
Small Business Innovators – Back To The Roots
I wrote an article over on the VerticalResponse blog about a company that has impressed me for a while now – Back To The Roots. Check it out.