Archive for July, 2004

Computer Gaming Course at CIS

Thursday, July 22nd, 2004

Over the course of several seminars and meetings that the Computer Science Department has been having over the past semester or so it has been made very clear that Dr. Wallentine is looking to had a gaming course or two to the curriculum.

Since I have quite a bit of experience with gaming, and I’ve been vocal about my support of a class, he asked me a few months ago if I would be interested in helping that course or courses develop. Of course I agreed, flattered and pleased to have an opportunity to help improve the curriculum in any way. (And while I’m still young enough to take advantage any changes myself. :)

We have had a couple meetings to discuss some of the general aspects of gaming, with the general idea to assist Dr. Wallentine in learning enough about gaming to teach a course in it. It’s a mammoth task, but one that Dr. Wallentine definitely seems up to.

But enough background story, now for the interesting part. This week Dr. Wallentine arranged a meeting between he, myself, and a guy I didn’t know, Nathan. It seems that Nathan spent some time in England studying game development, primarily with an engine called Ogre. Dr. Wallentine had done quite a bit more reading regarding game development and was certainly more understanding of the emensity of subject matter.

Then he drops the bomb. He wants to put a game development seminar class on the schedule for the Fall, and he wants Nathan and I to teach it. !!

I never thought I would be teaching again at a collegiate level after I moved on from my teaching position at Butler, but it looks like I may be making a return to the instructor thing. This time, however, I feel that there is a new set of challenges that should make this very interesting.

Previously, at Butler, I was teaching pretty elementary stuff. I was instructing two introductory level classes in programming, one in Visual Basic *shudder* and another in C. This time, Virg is considering making this class a 600 and something level course, with a very tight membership of audition selected students. This alone will be a phenominal difference. We’re talking about a shift from intro level juco programming, to a 600 level seminar loaded with only the most qualified candidates. Real honor roll type stuff.

This has two effects. First, one of the most challenging aspects of teaching at Butler was trying to effectively handle those students that were not up to the challenges of a programming class. Because of this, I was faced with dealing with a cheater, and other difficult positions to be in as an instructor (much less a twenty year old instructor). Having a class loaded with talented students will remove that completely.

The second effect that this class membership difference will have makes me a little more nervous. As a computer science student, I’ve only completed cis200,300,301,450, and 501. Barely halfway through an undergraduate curriculum. There is a distinct possibility that the students in this class will be light-years ahead of me in CS theory and understanding. Of course, this is an seminar class, and so there will of tons opportunities for interaction with the students in a peer-to-peer type scenario that I really look forward to learning from. This won’t be the first time that I’ve “performed” for those of higher stature than myself, but it does mean that I’ll need to bring my “A” game.

The way that it looks so far, is that Nathan will be leading the way with ecturing on the more “core” aspects of video game programming, with myself serving as more of a project lead, providing an opportunity for application and implementation of the lectured ideas on an existing framework. In this case, I think it’s going to be the Quake 3: Arena engine. I’m very excited about seeing Quake 3: Arena in the curriculum, for primarily self-centric reasons.

Nothing is final yet, but it does appear that this is going to be something that is going to happen. I’m very excited to be involved in the department like this. It gives me an opportunity to be constructive instead of just whining and listening to my friends whine. :)

And then, to digress from the topic a little, there’s also the some what smaller worry regarding my time commitments for next semester. I have quite the full schedule planned for next semester’s classes with geol100, japan191, eece241, mc365, math510, and econ530, along with an average of 20 to 30 hours per week for Sterling here on the systems team, a weekly radio show on the Wildcat 91.9, regular Liberty Advocates meetings, organizing a potential presidential candidate visit to KSU, moving into a new house, preparing to help a student presidential run, preparing my personal student senate run, and more immediately the massive amount of volunteer work for QuakeCon.

It’s going to be a busy ass year.

All things considered, I don’t think that I’m going to be so far overextended that anything will fail, but I have a feeling some of my personal projects are going to languish a bit. I don’t see the www.ksubunker.com web application for the bar data getting much attention any time soon, though I refuse to let the awesome python based bartending data aggregation experiment die… the results from that application will just be too much fun, not counting how much I love coding in python.

QCVS Initial Release

Thursday, July 15th, 2004

Whelp, I’m finally satisfied that the QCVS system is “good enough” for some initial review. Feel free to screw with it and post here or email me with any comments.

I feel kind of embarrassed about the software in general. I mean, it’s taken me a long time to get this to the point that I think it’s ready, but it’s not something hard or complicated. Well, maybe one or two of the previous designs that got 50% coded were hard and/or complicated, but the final form that I have now is anything but. I even designed out all state.

Anyway, feel free to hammer the shit out of it and give any comments you want. You’re also welcome to look at the source itself and provide any suggestions or patches that you want. It’s available here in my all inclusive CVS repository.

Here are some known issues:

  • It’s Slow - I don’t know why yet. Guesses range from python just being slow in this context, to DreamHost’s shared servers not cutting it, to my code being poorly written. If I had to bet, I’m betting it’s my code. The templating stuff is damn scary.
  • Email Chatter - It emails a lot, maybe too much. (Thrax would say way too much)
  • Email Verbosity - The emails that get sent out aren’t super helpful if there are problems. That’s kind of by design, I just wanted them to have enough info that I could troubleshoot if I needed to, or enter data by hand if I needed to.

The NCR is Finally Gone

Wednesday, July 14th, 2004

Man! The day has finally came that the giant NCR machine has been vanquished.

For those that aren’t familiar with the NCR machine, it’s the very large series of cabinets that are immediately visible when passing by the machine room on the first floor of Nichols. They’ve long been giving the machine room that “big iron” look as people walk by.

The problem is that it’s only been a “look”. The giant NCR machine hasn’t so much as been turned on in ages and served only as a huge pain in the ass, filling up the machine room in a big way. It’s even been difficult to make a path from the front to the back of the machine room in recent times, there are piles of crap everywhere with no where to put it.

But that time is gone now. Sterling, Tyson, and Earl assisted the a salvage company to collect a good chunk of the machine and sent it away. Cole and I were supposed to help as well… but we… well… just forgot. I came in a little late today, only to be reminded of the NCR task when I walked by the machine room window. Doh!

I really look forward to rearranging the machine room into something that’s actually useful, instead of a storage closet that we have to climb in now and then to repair things.

I Have Wheels

Sunday, July 11th, 2004

Whelp, I finally did it. Yesterday, thanks to some help from my Mom and Matt, I bought myself a new vehicle. It’s a black 1997 Jeep Grand Cherokee Laredo. It was a great deal for the price, and dangerously close to exactly what I wanted.

Humorously, during the test drive my naivety regarding four wheel drive got the better of me. I was playing with the drive selector lever, mainly because it seems important to play with everything during a test drive. After messing around for a while, I shifted everything back into 2-wheel high. Unfortunately, I must not have backed up enough (or at least that’s what I found out later) so that the four wheel drive remained engaged. Driving around and just testing things, I did a loop in a parking lot. I was shocked at the bizzare yanking of the steering week and kind of stuttering “hop”. We gave it a few more tries and decided that something had to be wrong… maybe the power steering was out?

So we take it back, get some power steering fluid, and try again. Same problem, but this time Matt and I take turns doing circles and watching from the outside. We were outright laughing at the result. It seemed that the right back tire would just spin out and chirp during tight circles. We take it back to the dealership to report our results. That’s when we find out that it is completely normal behavior for a vehicle that is in four wheel drive to hop a bit when they take sharp turns. In fact, one salesman indicated that that was the exact way they check to see if the four wheel drive works, they turn it on and crank a tight circle.

Then the original salesman who handled the test drive took it for a spin and reported that “there’s nothing wrong with that truck”. I think that he was getting a little annoyed with my lack of understanding regarding the vehicle. After that report, I took it for another spin. The “problem” was gone, it was driving exactly as expected. Clearly I have no idea how the four wheel drive level works, heh heh.

But now the low down. This place, Midwest Wholesale, was all about price. As such, I got a great price on the vehicle, but I’m definitely missing some of the niceities that a person would be used to from getting a “new” vehicle. So how about a rundown of the things that need attention:

  • Speakers are blown. - That’s totally acceptible though, I planned on replacing the speakers anyway.
  • Missing Keyless Entry Remote - This was kind of a shocker. The salesman couldn’t even confirm that the vehicle was capable of using a remote unlock if I bought one (not that he tried very hard).
  • No Floor Mats - Completely unimportant, I’m going to go to a couple car places today looking for an Optima Yellow Top battery anyway, I’ll pick up some mats while I’m there.
  • No External Wash - This baby has definitely not been detailed on the outside, or washed for that matter. The inside could use a little TLC, though they did okay on that. I’m thinking it might be nice to get it detailed by someone that handles small chips and stuff too.
  • Gas Gauge is Wack - I can’t believe this. This will be my third vehicle in a row that has a wacked up gas gauge. At least the “Distance to Empty” gauge works.

I’m looking forward to personalizing this vehicle into exactly what I want it to be. It’s been a good purchase.

QCVS Progress

Friday, July 9th, 2004

I am still satisfied with the latest design of the QCVS application forms, which is somewhat of an accomplishment in and of itself. The forms are currently about 70% done for initial application and setup availability and the password retrieval form is done. At this point the design element is pretty much handled, all there is now is pumping out code. I’m even considering at this point bringing on a developer or two to help out, just because it would probably make things go a lot better.

I think that I will probably launch the volunteer signup process with just the signup, setup availability, and general setup preferences forms. This may keep the load a little lower as the initial group comes through. Then I’ll bring up the network setup form and the help desk forms to start to fill in more of the data. The network setup volunteer scheduling will definitely be the core goal for setup volunteer scheduling, most other setup volunteers are “as-needed”.

My work debugging during development has left me a little worried about the performance of DreamHost when it comes to handling the volume of traffic that the QCVS may be having soon. I really hope that nothing poops out while people are signing up. I can handle things being a little slow, as long as they don’t actually fail and go down.

Anyway, I’m just about ready to unleash this baby on my peers for some peer review, then it will be game on.

QuakeCon Volunteer Signup, Design Revision 3

Tuesday, July 6th, 2004

I’ve been agonizing over the programming style I was using on the application process for weeks now. I’ve gone back and forth between sequential and object oriented designs, without a single design really working to simplify what was a somewhat messy state machine.

Well, I thought about it over dinner with Matt and decided to go with a pretty standard but clean procedural design.

I can say that I’m finally happy with it. I expect to really start cranking on the code now. :)

Computing Salvation

Monday, July 5th, 2004

Finally, my computing environment has been pulled out of the hellish limbo that it’s been in since I first bought my new computer. The latest version of the nvidia kernel drivers (6106) has fixes for the Athlon 64 compatibility problems I was having.

What’s even more, is that this fix is included the 32-bit drivers. The possibility of an exit from 64-bit computing was too much to resist. I slept on the decision to reinstall for a night, just to be sure… but then I dove into an x86 gentoo installation first thing the next morning.

I have to say that my dreams have came true. I now have a stable, production ready environment with both the hot, high speed 3D action and the dual dvi-out that I bought this computer for.

It’s glooorious.

Initial Volunteer Signup Looking Good

Friday, July 2nd, 2004

Progress has been going very smoothly with the initial application process for the QuakeCon Volunteer System. The actual signup portion is about 80% done, just needing to add the email functionality and I think I will call it “good enough” for peer review.

Immediately after this portion of the QCVS, I will be moving to the Setup Availability Form. I expect the code for the next forms to just fall right into place, total cut and paste style.

At this point, I’ve come to the realization that I had scrapped a previous design for no reason, heheh. I had considered writing a very object oriented survey type application that would have self validating question objects, crap like that. I ruled it out, deciding that the overhead for that kind of thing would probably be too much to give up for only two forms (I only had two forms originally planned).

But now that I’ve moved to modular forms, rather than monolithic forms… I’ve noticed how much copy and paste coding I’m going to be doing on the next forms. I’m never a good judge of when to make concessions for speed. Of course, it doesn’t help that I don’t always know what concessions to make for speed, but that’s something else entirely.

Eh, I’m a student. I never claimed to be “good” at anything. :)

When Toilets Attack

Friday, July 2nd, 2004

Man, I have just been suffering for hours… scrubbing.

For whatever reason, (although that reason is likely to be a monster dump by Melinko), my toilet decided that the little silver lever was no longer a “flush” lever. Oh no. It was destined to be a “flood the bathroom” lever. This has been one of my worst bathroom experiences ever. It has taken me over three hours of meticulous scrubbing just to get the sides of the toilet and the floor rid of the sedimentary feces deposits.

The cleaning instruments are currently soaking in bleach. I also feel like I need to soak in bleach. I feel discusting, despite my monsterous rubber gloves. Part of the problem is that I haven’t been able to shower, there was a river of shit in the way.

Barf.