Friday, September 25, 2009

A Thousand Percent Chance of Rain

No joke: I drove through the book of Genesis chapters 6-9 on the way home from work yesterday. Just coasting along, minding my own business, when suddenly I notice the Wall of Gloom™ I'm heading straight into, and, being on the Howard Franklin Bridge, cannot avoid. Seriously, the sky looked like a massive box of Prismacolor French Greys exploded for as far as the eye could see. It was weather a Ferengi could be proud of.

That being said, it's a given that a bunch of inconsiderate SUV drivers go zooming by like it's another sunny day at the beach, splashing copious tonnage of rainwater all over their surroundings. And here I am, in my Hyundai Elantra, which has great gas mileage but is just a shade taller than R2-D2. Not only do I have to deal with the deluge from the heavens, but now I'm under a horizontal aquatic assault, like some third-world island nation with lots of oil or something. Screw you, inconsiderate SUV drivers.

Anyway, I was very glad to finally get home, and now I must get ready for work. Happy Friday.

Wednesday, September 23, 2009

Programming is Really Good for Me

My last post dealt with the physical toll that my extended programming sessions take on me. Now I want to mention how much programming benefits me, because the pros far outweigh the cons, in my opinion. Programming tends to knock me around physically, but that's just due to poor habits. If I would just resist the urge to snack while I'm coding, and take reasonable breaks, and learn to stop at key points in development, I'd be fine. "Hey, I finally got this crap to compile without errors. I'm gonna rest now and wait til morning to actually run the program." This is the kind of rational statement that never seems to find its way into my head when I'm coding. I type and I code and I hack and I test and I debug until I collapse.

But oh, how I enjoy the process. It's like going to a personal trainer. The trainer whips you mercilessly and makes you wish they'd never been born, but afterward you feel so invigorated, having flexed muscles that went unused for what seems like ages. That's exactly how I feel when I'm programming. I get to stretch my brain in ways that just don't present themselves in day-to-day activity. The feeling of accomplishment once I've completed a coding task, no matter how trivial (and at my current level of competence they are usually pretty trivial), is almost indescribable. There's nothing like the feeling you get when you know that a week ago, there was only a problem, and now, thanks to your hard work, there's a solution. That applies to any skill, I suppose, but my labor of love happens to be programming. It's just a shame I don't get to do it very often. The regular daily grind really leaves my mind feeling sluggish and thirsting for stimulation, and programming always manages to quench it.

I think the only other thing that gives me the same sense of satisfaction is my other passion - art. I consider it a gift and a curse that I can invest myself in both the analytical and the artistic. It's probably the reason why I've never absolutely excelled in either of them; if I could consistently focus on one or the other I'd probably get somewhere. Drawing and coding are on different ends of the spectrum, but they do have a lot in common. There's an art to programming, and there's a definite method and logic involved in art. In both cases, you are creating something of value that wasn't there before. I could go on, but I'm tired.

Programming offers so many avenues to explore and things to learn that I find it impossible to not get sucked in if I even start to dip my toes in it. The yen comes and goes in phases, but when I'm in it, I'm in it up to my eyeballs. It's frustrating that there's so many languages to learn and so much potential for writing code, because I never know where to start. Then a particular project comes along and I zone in on it, always striving for that Billy Madison "I AM THE SMARTEST MAN ALIVE" moment when I finally have a finished product. And then I want to show people "Hey, check this out. Click here, enter some input, click there, and BAM! Magic!" And then I go, "ooh, wait, I can throw in another button, a few more subroutines and it'll kick 43% more ass!" Or "hey, I bet I can refactor this sloppy code, get it running faster and leaner" and I'll dive right back into it.

That rush of accomplishment is a real confidence and self-esteem booster. Plus, being a dad, I need to keep my wits as sharp as possible. I mean, Emily is two years old, and I can just barely manage to outsmart her now. What am I gonna do when she's a teenager if I don't stay spry? See, that's it. Stuff like programming, or any kind of brain teaser, is the mental equivalent of doing wind sprints to build speed and endurance. So coding is good for me after all.

Tuesday, September 22, 2009

Programming Is Bad For Me

Having just wrapped up my own personal low-budget Weekend of Code, I have come to the realization that programming isn't doing my health any favors. My typical code-writing session, which are waaayyy too few and far between lately, consists of me maintaining ridiculous waking hours, with painfully sporadic sleep; sitting on my ever-widening tush in front of my computer, rising only to find something processed, cheesy and/or salty to shovel into my face.

Seriously, the cycle goes something like this: think think munch type type nom Google type tweak reconsider nom nom nom type type scarf subroutine munch reference lookup pace pace ponder pace gobble type type type save eat eat execute runtime error curse nom nom scarf munch nom debug chow gulp refactor save devour hack hack swear nibble nibble regexp nom crash repeat

That's a rough approximation. The point is, I have this nervous sort of focus when I'm programming where if I'm not actually typing but working things out in my head, my body has to keep busy and what I always instinctively gravitate toward is eating. That, plus eight to ten straight hours of coding not leaving much time for exercise, plus the fact that what little sleep I do get is anything but restful because my brain CAN'T STOP THINKING ABOUT THE CODE, equals damn, programming is bad for me.

It doesn't help at all that I'm a bad programmer, either. I mean, the project I spent all weekend on is something I should've been able to do in half a day during my junior year of college if I'd applied myself more and taken crap seriously. And why do I have to be such a perfectionist when I just barely even know what I'm doing in the first place? Sorry, that's the self-loathing coming out. I hate being so very out of practice, but my overall well-being won't take much more of me brushing up on my skills before I just keel over. I love programming, and all it wants to do is kick my ass.

Saturday, September 12, 2009

Kid drives a hard bargain.

Today my daughter ran up to me as I was messing around on my computer. She was brandishing the two Care Bear plush toys that she's had for at least a year, but for which she has only recently developed an inexplicable fondness.

"Daddy, daddy," she says.
"Emily, Emily," I wittily reply.
"Fi dollars" she barks at me, like a drill sergeant giving orders. She's waving the bears, at arms' length on either side of her.
"What?"
"Fi dollars!"
"Are you trying to sell me your two Care Bears for five dollars?"
"Uh-huh," like it's the most natural thing in the world.
"I don't know, baby, those bears look kind of worn. I'll give you three dollars."
"Nuh-uh. Fi dollars." At this point Emily kneels down and puts the bears face-down on the carpet, rubbing their noses into it. Maybe she's trying to extol their many uses, one of which is apparently "household cleaning implement."
"No, five dollars is too much."

Then my wife starts laughing her ass off from the kitchen, and Emily walks away, having lost all interest in haggling. This ain't the county fair, she's got serious business to conduct.

It's just as well, I guess. I don't have any cash on me and Emily doesn't take debit cards.