MLH

Projects

I work a variety of projects. In general, they are classified as personal, for school, or for my employers.

In the past, I've given enormous attention to my personal projects- often to the detriment of my schoolwork.  I like to think this shows how interested I am in my field of work- and especially in Free Software (like Linux).


My plan is to place source code/URLs to my personal projects here. I may even include sample input/output from some of my school projects.


bullet

Personal



My personal projects include:
  1. A script for mailman administrators (Try this version for mailman 2.1.x).
    Apply a command to postings held for approval. Commands are:
            approve - allow the posting to be sent to the list
            reject  - prevent the posting from being sent to the list, return an
                      error to the sender
            discard - similar to reject, but does not send an error to the sender.
    
    You may specify which postings should be processed using a regular expression 
    to match the subject or the from fields of the header. If either matches then 
    the posting will be processed according to the command supplied.
    
    %% bin/list_handle_pending <listname> [-s |-f |--subject=|--from=] 
                               (-a|-r|-d|--approve|--reject|--discard)
    
  2. mod_niso- This proftpd module limits the number of people that can download a *.iso file to a ftp-server-wide limit.
  3. Hover Carnage -I've worked on this project occaisionally in the past few years. Sometimes development is intense, other times non-existent. But the idea of producing a fun game is never far from my mind.
  4. Clones of:
    1. Scotland Yard (boardgame)
    2. Chiral (olde Macintosh arcade-style game)
  5. Computer Vision (currently amounts to fancy code that does simple realtime image convolution on a video source using Video 4 Linux)
  6. OpenGL hacks
    1. Rain - I hacked David Bucciarelli's ' Fire' program to make rain
    2. Another hack based on 'Fire' that mimicked mist rising from the ground and being blown by the wind.
    3. Sparks (based on Mark Kilgard's ' Dino') - simulates sparks bouncing on a plane
    4. 3D Point Viewer - draws point clouds. Allows the user to rotate the point clound about its 'center of mass'
  7. Anagram Maker - A small GTK-Perl application that helps you make anagrams. (English alphabet only).
  8. Spam-Agent Architecture - A system designed to automatically classify and respond to spam. I have no intention of implementing it at this time (too many other neat projects). Here are some unpolished design documents.
  9. Miscellaneous Graphics
    • A Simple Ray Tracer (expirementing with different projective lenses)
    • A gourard-shading 3D polygon renderer (not just triangles)


bullet

School



School (at either UCR or UCLA) projects include:
  • Operating Systems (UCR)
  1. Escher Shell
  2. Rot13 encryption/decryption pseudo-devices
  3. File system auditing
  4. File system design and implementation (incomplete)
  1. "Duh" protocol client for reliably sending integers over UDP
  2. DNS resolver using UDP requests
  • Parallel and Distributed Computing (UCLA)
  1. Parallel sort (based on bubble sort) (pthreads)
  2. Adaptive contrast enhancement (pthreads)
  3. Timing analysis (UTP, pthreads)
  4. Image convolution (MPI on an IBM SP2)
  5. Pi calculation (Java RMI + Java Threads)
  • Independent Study  (UCLA)
This was the reason I wanted to come to a University. Turns out, this is more like graduate than undergraduate education. Anyhow, a team of 3 friends and I attempted to design a chip that would fool a SPARCv5 into running Java bytecode. The concept was based on concepts found in something called JSTAR.
  • Computer Graphics (UCR)
  1. Sredavni Ecaps - Space Invaders spelled backwards. I modelled the ships for this game using graph paper and my imagination. I added cheesy sound playing capabilities in 5 minutes. Somehow managed to get by with over 100% for making a fully 3D game with sound. This is part of what prepared me for Hover Carnage.
  2. Polygon filling - nothing too special here. Not even gourard (sp?) interpolation of color values.
  • Introductory Course Work
Eventually I'll probably post some of my introductory coursework descriptions. For now, it's not horribly significant. Suffice to say: I was bored.
bullet

Employment


Nothing much to say here. I've worked at UCLA, Strategic Data Corporation, and IBM to name a few. Most of my recent work focuses on Linux as an application platform or Linux itself. I suppose a link to my resume would be appropriate here... that is if I weren't already working for IBM's Linux Technology Center
Check this out! I loved working on this!
bullet

Cool Projects



OK, I didn't work on these, but they are cool projects. In some cases friends of mine are active participants or project leaders.
  1. The GIMP
  2. Torsion
  3. Debian GNU/Linux
  4. GNOME (Nautilus)
  5. Mozilla
  6. Evolution
  7. Robotfindskitten
  8. The LEMON Parser Generator
  9. GNU Dia
  10. Sodipodi
  11. OpenOffice
  12. Tridge's junk code
This list does not even mention all of the cool technologies that have been built to support the above projects.