Yeah, I like to program. I've split things into several groups, but that's not to say the lessons I learned from coding in one category doesn't apply to programs in another. I'll add more as I slowly make my way through my code library. I'm not going to bother posting the routine stuff I do in school.
I'm currently fond of C++ and Java. I'm working on a ~20,000+ line C++ project in my spare time. But no one likes vaporware or talking up a product that doesn't exist, so that's all I'm going to say about it at the moment. On with the tangible!
Dale Skrien, Kate Mann, and I labored at this for a while. Because of my limited webspace I can't put up the jars and audio and image files it requires to run. Basically you drag around icons of sound files in various audio tracks to make a song. Dale's using a modified version in his upcoming OOD book.
Hate Macrovision? S-Video input on your ATI TV Wonder not working? Then click on the link!
Along with Clare we were accepted to CEC 2003 (Canberra, Australia, in December) where she presented "Phylogenetic Trees Using Evolutionary Search: Initial Progress in Extending Gaphyl to Work with Genetic Data" while I stayed in Maine to do my finals. At least I got to play in the snow!
But before that there was a scale (2048 x 1536, 184KB) version of the 40" x 30" poster Displayed at the GECCO 2003 poster session, and presented at the Undergrad Student Workshop.
Here's the 48" x 36" poster (1024 x 768, 509 KB) poster displayed at CCSCNE 2003. The title is listed as "Neural Networks: A Study in Digit Pattern Classification" on the CCSC webpage, but the offical title really is "Neural Nets Are Sexy." A much larger (3455 x 2591, 564 KB) version is also available.
I worked really hard on this game, and it ended up being quite entertaining. You play as a WWII pilot participating in campaigns on the Western Front, in North Africa, and on the Eastern Front. I still haven't beat all of its 24 challenging missions.
Don't expect too much. I wrote this in high school and didn't understand C and the whole pass-by-value concept yet. Obviously that didn't stop me from reading the SVGAlib docs, looking at some sample code, and making a game. Everyone has to start somewhere...
QuakeWorld was uh... not very administrator friendly. So I wrote a wrapper that parsed the output from the server to do appropriate things, like kick low latency clients if they used the sniper rifle in Team Fortress. Saldy I've lost the module that parsed the death notifications to figure that out. I now think perl is an awful language and wouldn't ever choose to program in it, but the open3() function was key. Well, until over 3.5 years later when I found out about openpty(), that is. This would be my second program. Mmm... embarrassing.
Good, idiomatic C++ code.
While I was mucking around with WavTools, I whipped up a very small utility to validate .au files. I've found that almost all of the .au files on my system waste bytes in the header, so maybe you can amuse yourself trying the same thing with it.
Dale Skrien said "Very nice code! Good job." after I refactored it from the Smelly.java he gave me.
I've always been pretty good at hunting down bugs.
(Wait for it...) A 2 minute JNI tutorial.
No source code for these seeing how I did them for a company...
The overview is that people connected to our site, and downloaded a Java applet that sent data back to one or more of our so-called collector boxes which could each handle about 1,800 hits per second using the ISAPI DLL or ~2,200 hits per second using my Apache Mod. Basically they were giant scoops and amalgamated all of the requests into one request.
An Apache mod written in C which was functionally equivalent to the ISAPI DLL version. I did it on the side. Silly management thinking Microsoft is the end all be all.
This big Java thing that merged data from the eight or so collectors and crammed it into an Oracle database. However, when we had *really* high loads JDBC just wasn't fast enough and instead the aggregator wrote the data to a text file and this quick ghetto program I whipped up would take the text files and pass them to some native language binary program from Oracle that... used FTP or some crazy thing to jam the records in. It was just a big hack and I forget the name of that thing at the moment.
Real Player isn't the only SMIL tool out there. My slighty crufty version held up for the final round of funding. Then we built a better one. The earliest versions just had a slider with a connation similiar to "Like" at one end and "Dislike" at the other. When something good happened, the participant was supposed to go to like and vice versa. The applet then shot data back to the collector from whence it came. Well, more or less. There was actually a BigIP in there that did load balacing but it was all good and well within Java's sandbox rules. Later versions became much more dynamic and a xml script could control it with SMIL like tags. Except we called it ISML for Internet Survey Markup Language. Mmmmm marketing buzzwords.
E-mail is fun! <kjseptor at colby.edu>
Last modified: Wed Dec 10, 2003