May 30, 2014
Why Do I Code?

I came across a post on reddit today given to first graders about programming. Ive been thinking about kids and coding recently, as my teenage cousin has started to show interest in what I do and wanting to learn about it. Shes already so bright in math and languages, so merging those skills is exciting to her. With all of that swirling around my brain, Ive tried to put together what it is about coding that I like so much, especially given that it can be such a tedious activity at times.

The Lazy Solution

Admittedly, spending an hour writing a script to do something can hardly be called lazy, but if the task its replacing would have taken hours, then that single hour is time well spent. Some may call it clever, but to me, spending less time doing a task I already dont want to be doing is well worth it. Over time, Ive become better at balancing lazy and good, because the flip side of this is that haste makes waste, and if I spend too little time doing something on the first pass, I may well get to spend even more time redoing it later.

A real life example I was emailed 40 pictures in 40 separate files all with the same filename (thanks, iPhone Mail) the other day. I could have spent time opening each item, downloading the file, changing its name to prevent override, and repeat 39 times, but thats no fun. So I optimistically opened AppleScript Editor as was pleased to find that AirMail has an AppleScript dictionary making it well worth the money, by the way. A little debugging and some trial and error later, and I had a folder on my desktop with 40 uniquely named JPGs. Plus, I dusted off my AppleScript skills.

Keeping my Mind Sharp

Usually reserved for Nintendo DS games, I look at programming as a method for keeping my mind sharp. Its like a puzzle, where I have a general idea for what something should look like, and an unlimited set of ways to get there. Thats incredibly appealing to me. I also am constantly learning when I code. Thats not to say Ive yet to reach a level of competency with my toolchains, but there are an ever-expanding number of ways to do things in an ever-expanding array of languages to do it. One of my favorite ways to do this is to actively try not to use an existing control for a problem, like a side menu controller. I also will occasionally decide to write a view completely programmatically instead of using Interface Builder (or more likely, a mix). It doesnt always result in the cleanest code, and even less often makes its way to production, but its a nice stretch goal to make new neural pathways.

Creating

I like to joke that I cant draw a ruler with a straight line. I play a few instruments with mediocre talent. I like to think Im a creative type, but I find that I have such trouble making something that wasnt previously there. Except, with code, I can. Theres an old cliche around the net that code is poetry, but I believe it. I can express thoughts and desires in a language and share it with others in various forms just as easily as a writer can turn thoughts and desires into a poem, which can be read, heard, turned in to a song, or anything else. Is that really so different?

There are probably more reasons, but thats tapped me as of now. Its good to think about these things and remind me why Ive chosen the path I have, especially when some weeks I find my work frustrating. I may not be able to take a car apart and fix a broken transmission, but I can build a computer like the best of them. I guess we all have a skill.


May 26, 2014
Fighting Developer’s Block with Writer’s Block