Saturday, September 9, 2006

Life is Like -- Programming

It's really messed up how programming can follow real life. I think maybe I've been programming too much lately. It doesn't matter. In the car, I was working on the Magical Chain Mail Vest (a shiny crochet object to be gifted to my son as part of my plot to enrich his imagination), and it's a very loose design (anyone who has seen the bows and arrows hat -- that's the stitch pattern I'm using for the vest -- I'll post the directions if it comes out OK.)

I've been watching how quickly this vest is taking shape. But it's a nonsense vest. It's for show, for play. It's not going to be WARM, any more than the "bows and arrows hat" is warm. It's not "real" it's a vague vacuous waste. To be real, it would need to be re-done entirely (and probably in a different yarn).

I tried "rapid application development" (RAD) tools a few times. Not RUBY on RAILS but equivalents in PHP. I've tried RAD for a real open-source project (my Contract Manager application, still in Alpha, but taking good shape right now -- note I ripped it apart and started again without the RAD this time and it's come much(!) further). And when it comes down to it, it's just not robust. It's not real. It takes shape very quickly, but it's never going to keep you warm in the winter. Very much like quickly creating a magical chain mail vest from Freecycle freebie yarn for my son. I'm sitting in the car crocheting and suddenly the yarn and the work is the equivalent of Cake or Ruby on Rails, and it all comes together -- it all makes sense.

I had a similar revelation today. It's Saturday. Time for my own projects. Time for Laundry. Time to kick back and relax (yeah, right!). I got up, started working on a new quicky open-source idea, got distracted by Guy Kawasaki's blog entry for online reviews, started looking into getting on Yelp to place reviews and see what it's like, got distracted by Technocrati, and now I'm posting to my blog and doing blog upkeep.

My partner, who had to rush out to meet a friend today, called and asked what I was up to. I said something like "I'm being me!" Huh? "I keep getting tangented -- it's like when you start a new clause with an open bracket in a program and you forget to close it. Eventually you're nested 10 IF statements (etc) deep and you forgot how you got there, and what you need to do to close out your brackets."

When actually programming, both my partner and I start out every new "clause" in a program by typing the open and close brackets -- even in HTML I do this -- then backspacing to type the contents. "if ()" hit backspace then type. It doesn't mean you'll remember everything you wanted to do in every level of the loop if it gets deep, but it does mean that you won't get nasty errors -- just bugs :P

I wish I could do that in real life. I have a program to finish -- I have gotten most of the laundry READY but not run any loads yet, I would like to go out, I need to check the mailbox, and I want to work on getting something going (maybe a newsletter to my clients) so people give my business good reviews on a variety of websites, so I can request referrals, and so I can return the favors for them. Oy vey! It's Saturday, so I think the laundry then the mail come first.

[tags]programming, humor, life, clients, networking[/tags]


  1. “I keep getting tangented — it’s like when you start a new clause with an open bracket in a program and you forget to close it. Eventually you’re nested 10 IF statements (etc) deep and you forgot how you got there, and what you need to do to close out your brackets.”

    What a perfect description!

    (Sometimes if I catch myself about to tangent, I'll write down what I was originally doing, so five tangents later I can at least look down and say "oh, I was originally supposed to be working on X". But it's only a proto-habit in the office, and definitely not happening at home yet.)

  2. Hi,

    Thanks! Sometimes I come up with some apt metaphor or something -- it's nice to be able to share. This one was particularly geeky, but then I've been programming more than usual of late :)

    In programming, I find myself writing more to-do comments if I'm going off on a sidetrack. It helps reduce the time-to-code if I get interrupted by a phone call or sleep (programmers sleep?).

    It would be nice to be able to make preemptive comments in life -- but then I guess that's exactly what to-do lists are for ;)

    Good luck out there!