teh code

May 23, 2007 09:51

So, some of you are going to look at this and think one of two things:
1. This is too long and I'm not going to read it.
2. Wow, kbx never posts, I'm going to read every word...twice.

I'm at work, and it's about 9:30 right now. I suspect I won't finish until the end of the day, if even before I get home.

Usually when I write stuff here, it's to bitch or whine. I've taken to Twitter for that. I think this entry might actually be somewhat constructive.

I'm pumped about the upcoming sally album and the show on the 21st of June. If you didn't know about it, now you do. Charlie, Missy, Mark, and Nick have something with this album, and more so than ever before. You should be pumped about it too. Enough said.

As the story usually goes, I tend to get very excited about doing light shows for these things. This one is no exception. Some of you know that I'm looking at a new (Hog 3 PC) light console that I can run with my MacBook Pro. It's a bit pricy ($4000+) but it'll beat down the huge thing I have now because it's smaller, uses USB, and has way more bells and whistles. The main point is that I don't have to carry around the huge board anymore, and hopefully then I'll be more inclined to do this stuff more often...because I love it and I love the music.

This time around, I'm feeling a little more ambitious than I have in the past. (Perhaps it's something to do with riding my bike ten to fifteen miles every day for the last three weeks.) Most of you probably know that I have a stash of six (big, old) Intellabeams in my room. They're big moving lights for those of you that are unfamiliar. I've had them for a couple years and haven't done anything with them because of some type of communication issue that they seem to have. I started to troubleshoot it back when I got them, but I stopped, mainly due to a lack of time. It was unfortunate, because they're very intense, very cool fixtures. I spent quite a bit of time (completely) rebuilding them when I got them due to their age - I think the fact that they're like 20 years old gives them some kind of value as well.

It's now 12:38. I just got back from lunch. I'll write another paragraph or two.

In any event, I got an urge to make them work. This time for real. In order to do this, I've taken to a little "hacking". I think I know what's wrong - it's a timing issue with the serial communication link. If that doesn't mean anything to you, don't worry because it's not important. What's important is that last night, in an effort to start working on all this again, I had to dig out some old code (aka "software" - I prefer "code" because it sounds cooler) that I had written a while ago.

If you know me well, you probably know that I tend to never delete stuff I create or otherwise obtain from my computers. I have a massive repository of stuff I've been doing since I started using computers. There are papers from fifth grade in there. There are programs and software I created from...years ago. It's my life--where I've been, where I am, and where I'm going--and I can hold the drive it's all on in my hand. In fact, since I got the 750 gig drive, carry a copy with me nearly everywhere I go.

That said, let's get back to me working on this code. When I opened the file that's got the program code in it, I was very focused on re-learning what I did so I could hack away at it. Frankly, it's a pretty simple program, even written in assembly as it is. Transmitting DMX-512 data for lighting control doesn't take much at all. Now, bear in mind that I haven't looked at assembly language code in at least 2 years. But, it seems, once you learn a language, you never really forget it. I picked up where I left off--7 years, one month, and 1 week ago--like I had never left. Since I was so focused, I didn't look at the date in the heading that I always put at the top of the code. But, after just a few minutes of code-reading, I noticed something. It was the date at the top, in that heading - 4/17/2000.

What's the big deal you ask? There's nothing significant about the date or the amount of time that's passed. It just got me thinking about what I was doing in April of the year 2000. Then, it hit me.

I AM A COMPLETELY DIFFERENT PERSON THAN I WAS SEVEN YEARS AGO.

The more I thought about it, the harder it hit me. I'm definitely NOT the same person today as I was back then. It started a chain reaction in my head - and it was pretty amazing. Emotional...now...because back then I didn't have any emotions. You can see it in the code and its comments.

As I was reading over the code a third time, I remembered being sooooooooooooo excited that I was finally getting my hands on some moving aka intelligent lights. Back then, I had just gotten two American DJ X-Tremes. Nice fixtures. Then I got two more. Even better. (I sold them more recently to Mike Ross who's been doing various things with them since then, much like I did when I had them. They're still making someone as happy as I was when I got them, and that's a good thing.) At that time, I had spent all my money on these two lights that I'd been saving for. I had these lights and nothing to make them "go". I was left with just a few bucks to scrounge up some parts and build my own controller for them. So that's exactly what I did.

At the time, I had just discovered the world of microcontrollers. For those that don't know, microcontrollers are what drive everything that's not a computer, but still has computer-like functions. Your VCR or microwave, for example, each have microcontroller "brains" inside that do stuff when you press the buttons. It's essentially a computer--RAM, ROM/Flash, and some input/output pins--all on a single chip. You can write a program and put it onto the chip, and it'll do what your program tells it to. It's really cool, and I love working with them. They're great for doing all things DMX-512 (the lighting control protocol) related.

I wrote up some code so that my TI-92 graphing calculator could make the lights do stuff. Very hacked, but very cool. It got me a lot of attention and frankly, it was kinda funny. Very geeky, but I didn't care - and I still don't. Later, I enhanced it; my parents gave me a laptop as a high school graduation gift, so I began using that to run the lights. I modified my little TI-92 to DMX-512 microcontroller thingy to plug into the parallel aka printer port on my laptop. That was way better and allowed a lot more to happen. Of course, I wrote code along the way for the calculator and later to run on the laptop to control all this.

That microcontroller code is what I'm using today to figure out what's up with the Intellabeams. Granted, I'm changing it up a bit for troubleshooting/diagnostic purposes, but the point is that it was there for me.

Right now, that code feels like it's the only tie I have to who I was 7 years ago.

That code took me months to develop and test. I had a lot more time back then; I don't have that amount of free time now.

When you work on something for that long, and when you put that much effort into it...you develop an emotional attachment to it. I don't think it really matters what it is--a car, a house, a clock you built in shop class--and I think for everyone it's different. For me, it's this code, and I never realized it. It was just there, waiting to be (re)discovered when I least expected it. Thinking about it is actually bringing a tear to my eye. It is completely amazing.

When I write code, I put lots of comments in. In fact, there is a comment on nearly every line. (A comment is a plain English comment (literally) that you can just type in next to the actual computer code.) I can read the comments and recall what I was thinking when I was writing that segment of the program. Damn, I have a really good memory. Too good, in fact. Reading the comments made me smile...or frown (because "I didn't want to do it that way but it worked"). It's so intense, it's almost painful.

Was it like looking at baby pictures? No. Not for me. Was it like visiting a friend that I haven't seen in 5 years? Very much. I can't really describe it any better than that.

My little hacked-together solutions for intelligent light controlling worked well. They worked damn well. But, as happy as I was, I still wanted more. Hell, I still want more today. One day while I was working at the Federal Reserve Bank, I took to eBay. I found some Trackspots. They're similar to the X-Tremes but built better, stronger, and have more bells and whistles. In short, they're what I originally wanted. Oh, and they cost twice as much. But I could afford it now. I had a job.

The program I had written for my PC was for the X-Tremes. It could not run the Trackspots correctly. The microcontroller program I had created could run anything, just not the PC side of it. So it all got shoved aside; I did not have time to develop another solution. Going back to eBay, I bought a Status Cue board to run them. That was da bomb. As great as it is, it's just too big to carry around. Hence now I want the Hog system, which is better, yes, but again, twice as much. But now I have an even better job, and a promising career. I'm going to do it.

ANYTHING will work with the Hog system. It's time to get the Intellabeams working. It's time to revisit that old code and leverage it to get things going again. I need to do this.

I've learned a few things from this. First, if you have a computer, you need to back all your stuff up, and back it up often. If a drive crashes, you probably cannot recover it. I have made copy after copy of this stuff I have. It's worth it. Some day, you'll want it. You might even NEED it. It would be near-impossible for me to go back and recreate this program. Second, don't delete stuff. Storage is too cheap. If you run out of space, go buy another drive. It's not worth waking up one day and wishing you had something you deleted for no real reason. Third, organize your stuff. If you're going to keep as much as I do, it is critical that it's carefully organized so you can actually find everything you have in a reasonable amount of time and when you want it. I think that's about it.

Back to me... What's happened in the last seven years? A fucking lot. That's what. I went to college - actually two. I lived in Kalamazoo and made several new friends over the course of three years while I went to Western Michigan. I lived in a house with five other amazing guys. We had a great time. I learned what freedom was. I failed Calculus II four times while I was there. I switched to DeVry as a result, and changed majors. I moved back home. I made more/new friends. I caused some trouble. I hung out with people I missed while I was away. I came out. I started hanging out with old friends from high school again. I made more friends. Then I made even more friends. We made a fuckload of prank calls. We recorded the calls. We put up a web site that had the calls on it. We had a blast. Somewhere in there I was going to classes at DeVry and slowing working towards my degree. I got a job at the Reserve Bank that was supposed to be for the summer but ended up being for year and a half. I finished school and got a degree. I got a real job. I got various certifications as a part of my job. I forgot about the thing I love doing, but I learned more than ever. I realized that I really don't want to be single anymore. I realized what type of fashion I'm into. I started to dress a little different and doing my hair a little different. I changed my attitude on life in general...three times over. I watched some of my friends struggle with jobs and relationships and tried to help when I could. I discovered a lot of awesome music and bands. I remembered what I love doing and got depressed about having put it aside for so long...too long. I got back into it...a little. I got another opportunity to do it a little more...and this time I will make it better than ever. In doing so, I realized...I'm a different person now. The only thing Keith has in common with Keith seven years ago is...this interest in lights and computers. Where is it going to take me? I don't know. I just know that I want someone to be there with me along the way. Follow me into the dark...ya know?

It's strange...the things you can become attached to...or even addicted to. I'll never understand it, and I don't really care. All I know is that this is my life - it's who and what I am. I don't care if you think it's lame. Who knows what I'll be in another seven years.

I just damn well better not be single. Fuck this...seriously.
Previous post Next post
Up