Saturday, April 7, 2012

On Screwing Things Up

Mix of code-related and life-related postings today!  Mostly because I'm at similar junctures in both, or at least that's the way it feels.

First the code stuff, since that is the purpose of there 'ere blog in the first place.

If you asked me what my favorite part of programming was, I'd say it would be creating new and fascinating worlds, and learning how to do so in a faster, better, and more intelligent way.  If you took a look at what I do mostly when coding, it would appear that my favorite coding pastime would be screwing things up.  Most of the time, it's intentionally too.  I have a system in place, it works, it preforms as I need to, and I won't be happy with it.  I'll tell myself it could be more flexible, it could be faster, it could be more abstract, so I intentionally break it and try to rebuild it.

First lesson of the day, if it ain't broke, don't fix it.

Second lesson of the day, if you really want to fix something, start fresh and don't try and mold what you have into what you want to be (at least coding-wise, I'm not saying find a new girlfriend or wife, relationships don't work like programming stuffs... I don't think, it's been a while)

Molding the old to fit the new is a bigger pain in the rear than starting over.  That stands true for most anything, unless, perhaps, if its and entire huge project.  Even then, though, starting fresh is beginning to grow on me.

All I wanted to do was make the combo system I have more flexible, account for more options and situations.  So I had to make a bunch of changes that killed the system, so I couldn't test iteratively (misspelling? Not sure) and I had already propagated said system throughout the rest of my code, so I had to hunt down those spaces and make changes as well.

Then, when I had it working...

Perforce overwrote it all.  There were conflicts in the files that needed to be changed, so I went to press resolve and instead hit revert.  I spent all afternoon on this instead of my homework, and now I have nothing to show for the day.  Wonderful feeling, enough to make me sick to my stomach!

The thing about coding is, however, I'm rarely afraid of screwing things up.  The lessons I have learned in coding don't always seem to apply to my life lessons.  It's the same reality, though.  If you really screw things up in your code, or in your life, it's going to suck.  There's no getting around that fact, it is going to be terrible.  But it's not going to be the death of you.  Unless your mistake was crossing a mod boss or pressing the "do not press" button at a secret government facility.  In which case you probably killed us all.  Thanks.

My issue IRL is that I'm usually too cautious and concerned about making a mistake and suffering the consequences that I move in order to stalemate decisions instead of actually making them.  The problem is life moves forward, and if you keep side stepping you never actually get anywhere.  Even falling on your face is getting you headed in the right direction.  Take your pick, martial arts, relationships, other life choices, etc.  I don't want to fail, so I rarely take the risk to succeed.

This must stop. Just treat life like a program, plug your nose and dive in.  You're going to come out on the other side with experience, at the very least, and that's what makes up your life, a collection of experiences and stories to relive, relate, and pass on.

As they say, go hard or go home.

Though I wouldn't mind being home for Easter.

-Kev

No comments:

Post a Comment