Showing posts with label college. Show all posts
Showing posts with label college. Show all posts

Friday, January 30, 2009

Goodbye January

Well, this has been quite the eventful month. I wrapped up my first extended vacation from work, hung out with my Floridian friend, met a few new folks in person and in spirit, got sick and better twice, and messed up my car. I'll get to that last one later, since I haven't written about it. So far it's a pretty good start to 2009, considering this time last year was when I first handed my resume to somebody wearing a Lockheed Martin polo in Coffman Memorial Union.

It's crazy to think that I've come this far in a year. Graduation, getting a real job, getting settled into a career, and high-tailing it across the country to my new life. Inside, though, I don't feel all that different. I've always been pretty proud of what I've been able to do; I'm not the kind of person that has to do everything right or else I get upset with myself. I like doing a good job, sure, but if I have to toss a little duct tape on there so be it, as long as whatever I'm making still works. Hell, even if I were still job hunting, I'd be proud that I got my degree and just figure that times are a bit lean.

But now I've flown the coupe and I'm out and about. I do whatever I want whenever I want, make the mistakes that go along with that kind of behavior. Case in point at a little after midnight on Wednesday when I slid on the freshly-fallen snow and smacked my wheel on the curb, shattering a bit of the hub cap and screwing my alignment up. This caused the steering wheel to wiggle back and forth, which was extremely annoying. Anyway, I took the thing in yesterday and I got a replacement wheel, tire, and realignment. Thankfully nothing was bent in the undercarriage and so the cost wasn't sky high. I did have to shell out more than four hundred bucks, but it could have been a lot worse.

But yes, car works again, I am no longer dying of space plague, and everything's sunny and happy. I was however planning on bulking up my savings a little this month, being a five-Friday month and all, but a good amount of that fifth paycheck got eaten by my car. Oh well, though, at least I didn't have to choose between getting it fixed and eating, for example.

In other news, I'm already setting up appointments for folks to come visit again. Parents will be out to visit in late April along with my sister and Sylvia, and possibly Sylvia's dad Randy. Tony's got to come out and see me again soon. Scott's due out and/or I've got to haul myself over to the west coast just in time for it to break off into the ocean. Adriana wants to come out and possibly look at schools. Andy will be about four hours away, so I'm sure I'll see him frequently enough anyway. Andrew should get out at some point and I don't know, be loud in my apartment or something. Anyway, lots to look forward to!

Monday, November 3, 2008

Collegiate Adventures

Obviously, throughout my collegiate academic career, projects and labs were a part of the Electrical Engineering lifestyle. Returning to the University of Minnesota campus and conversing with some team members on said projects jarred some great memories and late nights of working on these sorts of things.

1) Calculator.java - it may seem innocuous and simple. It may seem utterly useless. And it was all these things, but it was really the first programming project I went through that felt complex enough for me to be proud of. The goal of this project was to create a Postfix Calculator. Essentially what this meant was to make a calculator in Java Swing that would take input like 3, 4, and + and spit out 7, for example. It honestly wasn't too hard, and creating the Swing frame was a fairly involved and interesting process. This is also one of the first times where a nasty habit of mine began to rear its ugly head: I am a code hog. I get on rolls where I will simply sit down and code for 5-6 hours at a time unheeded. This means I finish projects rapidly and sometimes when group members are not available to observe or help. This project specifically exemplified that, when I did a good 70% of the project before my group members were even involed. Oops!


2) The Magic Cubes - ah yes, our Senior Project. I have to explain this quite frequently to people who ask me about big projects I had completed during my time at the U of M. Essentially, they were intended to be an interactive piece of furniture, which was initially a large plastic couch. When the couch showed up and lacked transparency, we sent it back and instead ordered a set of three cubes which were intended to be lit from within as dual-purposed lightning and seating elements. These proved much more suitable for the task, and we set to work creating multi-coned inner pieces to which LEDs could be affixed, and the cones could (mostly) direct lights to a single side.

The LEDs we used had a ridiculous three watt power maximum. For power transformation, we used a single ATX power supply which peaked at a couple hundred watts, which was more than sufficient for our purposes; namely, fifteen of the KingBright RGB LEDs. The LEDs were driven by PWM generators made by Texas Instruments, which in turn were driven by Arduino microcontrollers. The Arduinos were ridiculously easy to figure out and program, even with the serial communications required by the PWM driver. Sensors were also integrated that could "hear" sound and "see" changes in lightning, allowing the piece to react to human interaction.

Regardless, the entire thing worked out pretty well, which a vast array of colors available for each side of each cube. It was fun to work on, but there were several long days and late nights trying to finish the stupid things. Matt Oehrlein managed to do some work on them over the summer, which can be viewed here.


3) GeneriQuest 4000 - another programming assignment that I worked on with some close friends. Our task was to author a MUD, a text-based network-enabled and multiplayer game, which was original and interesting. Obviously, the largest criteria was to create something that allowed several people to play using telnet clients. What we created was somewhat like the run-of-the-mill fantasy MUDs, with wizards and swords and MOBs.

The overall coding was certainly bloated and filled with the possibility of buffer overflow exploits, but the game actually worked and could be played to completion. From start to finish with three people, the game took about forty-five minutes. The classes, Wizard, Fighter, and Cleric, had to be meticulously balanced against one another lest one be overpowered and overshadow the rest. It was a lot of fun and a little strange to have a spreadsheet with different attacks available to each class, crunching numbers about scaling options. Also quite amazing was the beta testing phase. One incident which sticks in mind is when I was testing higher level behavior and buffed a character for Jason. Essentially it allowed him to kill a level one or two player in one hit fairly easily. Andy logged in only to be instantly cut down by a single attack from Jason. The game then became how fast could Andy run around and dodge Jason, who was hell bent on smacking the crap out of him.

Obviously, the game had some big flaws - for instance, the only way we could make fighting monsters even remotely fair for the monsters was to have them counter-attack whenever a player made an attack on them. This made the Cleric class fairly essentially, since they were the only one that could replenish hit points quickly. We also made (what I thought was) a cool tick system, where regeneration and attack rate were throttled by a counter, which I believe was on a two or three second timer. Players could only attack once per tick, and would regenerate health once every few ticks. We also hard coded the game map instead of making it more dynamic, which was certainly a mistake, but in retrospect we had spent enough time on it. We won the "most original" award from our professor, conferring to us ten bonus points, which clued us in that we may have spent exactly the right amount of time on the little C program.