Richard C. Kalling
rck@kalling.net
Resume

This is my little page about me, Richard Kalling. I graduated from the University of Southern California with a BS in Computer Engineering and Computer Science in December of 2002. The following is sort of a smattering of work that I've done in various categories. I have been coding for over half my life, but most of the early stuff is for an apple2 or other machines I no longer have functioning.

Windows things:

For the curious, pretty much all of my Windows stuff has been written in C++ or C using Visual Studio. I will make a note when exceptions appear.

Graphics/Games:
Pathing 2003-2004
This is the visualization for a pathing app that I did for Axion Racing. The pathing algorithm takes into account terrain and road data and determines the optimal path between where you are and where you want to go. The screenshot pictures the tool used to do sanity checks on the terrain data and pathing choices. Uses C++ and OpenGL. The backend database that stores the terrain data uses MySQL.

Tetris 2001-2002
I wrote a Tetris clone. It has a user customizable gui, limited network play, 2 players on the same computer and even a console for power users to tweak it. I want to add a "dummy" mode to it so people don't accidentally change their interface around during normal use. I also want to make network connectivity more intuitive. After that I'll post the exe. Uses Win32 with the windows GDI.

Fractal-Like Terrain 2000
A graphics class I took had a research project where we were basically free to do what we wanted. Our group did a project that did particles bouncing off a randomly generated fractal-like terrain. I was responsible for the terrain generation part of this. When I put up the code I'm only going to put up the part that I did as I don't really want to go cleaning up the other code involved. (there was a lot of useless stuff) Uses C++, OpenGL for display of it.

Tunnel 2003
Tunnel is a clone of a game I first played on my old HP48g calculator. It's very very simple, just guide the ship through a tunnel. I wrote this one day as an exercise in learning the basics of directX. There are no frills, arrow keys move left and right, when the tunnel stops moving that means you're dead. The code is kind of ugly (but well commented) because it started out as me playing with that DirectX app-wizard. Uses C++ and the DirectX api.

Connect 4 1999
During college I took a class that used MFC in order to teach how to use frameworks. (As an aside, I later graded program submissions for that class.) After the class was over I figured I'd see if I could do something more interesting than the assigned project so I wrote connect 4. This version works like the table top game. Uses C++ and MFC

Whack-a-Pig 2001
It's basically like whack-a-mole only there's 3 pigs and when one of each comes on the screen the game is over. You have to click on them for them to go away. There are also "bombs" that basically clears all of them off. Goes progressively faster until you die. Wrote this one day when wondering how good my mouse ability was. Uses windows GDI.

Plugins:
Wedding DJ Winamp Plugin 2002
Some friends of mine asked if I could write a plugin for winamp that would act as a DJ for them. It ended up not actually being used due to issues with where the music equipment was located. I suppose that it's just as well since I don't think the interface was really elegant enough for a wedding. There was a list of people that were attending the wedding and each of them got a certain number of requests if they chose to use them. The person that wanted to request a song would go to the computer, put in their name and put in what song they wanted. The song would get added to the end of the request queue. Were there no requests, it would just play songs in the originally designated order. When all the requests are played, it goes back to the designated order. This plugin uses the api for winamp 2.

Misc:
Windows random wallpaper changer 2000
One morning: "Hey, do you have any programs that can randomly change your wall paper?"
"No, but I suppose I could write one. It'll just use bmp files, though."
"That's fine."
*later that day*
"Ok, I wrote that wallpaper changer thing you wanted"
"Oh, I already found one, nevermind"
Uses win32

Internet things:

PHP/PERL/HTML/MySQL:
kalling.net 2001-2003
I made a site that allows for creation of users and each user to have their own blog and list games they have and such. There's also a comments system that used to be a message board system. Uses PHP and MySQL backend

Project Manager 2002
I wrote a little project manager. Keeps track of todo lists (which can be prioritized, items that are done can be marked and will automatically be moved to the change list), information about the project, etc. Uses PHP and MySQL backend

Yet another Nethack Statistics Generator 2003
I wrote a nethack statistics generator that can take in a nethack logfile and spit out statistics about your games. There's a whole bunch of categories working and it generates things from most every part of the logfile. It also displays graphs of things like average score progression, most recent 10 games score progression, a game end level graph, etc.

Abducted's Quake Page: 1996
Not anywhere near recent, or even cool looking, or even existing at this point. I did a Quake page way back when it first came out. Fairly frequently updated and oddly enough fairly frequently visited as well. I gave it up when school came back in session. Used HTML on this one. I might have kept it up if I knew php or perl at the time as they make updating a lot easier.

Zigzagzot: 2000
I did a web comic a while back. In order to easily update the comics I created a script that allowed me to input the file and it would auto archive/update. That way I didn't have to make a new page for each comic which can get a bit tedious. I no longer have it up. It used Perl.

System Administration:
I administer a Linux server that handles the site you're currently on. Along with this the server hosts the sites that I did not create. I, along with some of the people responsible for these sites, rely on my server for e-mail.