Mon Dec 24 14:31:32 2001 :: Link

This page is horribly out of date
I've started migrating non-technical content from Pablotron to Take a look at that site for more up-to-date non-technical information. The information below is old, but I've left it up for the time being.

Hi, my name is Paul Duncan. I live in Annandale, Virginia, and I'm a Computer Programmer and System Administrator for Mitretek Systems, Inc. Before working at Mitretek, I worked as a Department Computer Administrator for the Department of Botany and Plant Pathology (BPP) at Oregon State University. Before BPP, I worked as a Computer Technician at FutureShop in Eugene, Oregon. While working at FutureShop, I also did a brief stint as a Java and CGI programmer for my friend's startup web-design company, Alcala Entertainment. Until recently, I was also heading for a Bachelors Degree in Computer Science, but right now I'm taking a break from school. I spend most of my free time contributing to, or working on my own free software projects. You can check out my current projects over on my Projects page. I'm also a contributing developer for the popular Enlightenment Window Manager; if I'm online, you can usually find me as pabs in #e and #edevelop on OPN IRC.

I've pretty much grown up working with computers. I'm not quite sure when I started using computers, or even what system I began on. I've owned a Commodore 64, Commodore 128, Macintosh Powerbook 180, Macintosh Powerbook 520, and several Intel-based PCs. In either 7th or 8th grade, I built my first computer: a blazing-fast 386sx/16 with 2 megs of RAM and a gargantuan 40 megabyte hard drive. I spent my time playing games and writing small games and DOS utilities in BASIC. Don't tell my Dad, but when he wasn't around I used to borrow 2 megs of his RAM so Prince of Persia would run smoother on my system.

The 386 era also marked my entrance into the world of dialup BBSes. I had toyed briefly with CompuServe back in my Commodore 64 days, but the price (per minute, ugh) and speed (300 baud, ouch) prohibited me from spending any real time online. But the local BBSes were mostly free, so I spent the days writing silly PC programs in BASIC and Pascal, then cruised "online" at night, when our phone line was free. My freshman year in high school, I got my first email address, and I was introduced to the wonderful world of Internet. Of course, it was only 1992, so there was no World Wide Web; I spent my online time writing email, browsing Gopher sites, chatting with people via IRC, playing MUDs, and searching Archie and FTP sites for MODs and freeware. After a year or so, I got an account with Eugene Freenet (EFN). EFN gave me my first permanent email address -- -- and some web space. I made my first web page in the South Eugene High School computer lab. While I can't remember exactly what it said or how it looked, a reasonable approximation would probably look something like this:

Hi, welcome to Paul Duncan's web page!
I am cool!!

Awesome Links:
My Friend Sean

email me!

Later versions of the page featured even more egregious design errors, including animated gifs and brief but painful stint with frames. I started posting news about my projects, which were almost exclusively for MacOS at the time. My programming languages of choice were HyperCard, Pascal, and a tad bit of C++. I don't have any of my older projects online, but they included a few scrolling space shooters, a sprite-animation library, a rudimentary QuickTime XCMD-based re-implementation of QuickTime VR (Apple had discontinued it at the time).

Fast forward a few years to late 1997. My main systems were a Macintosh Powerbook 520 (25MHz 68LP040, 12 megs of RAM, and a 180 meg hard drive), and a crappy PC (20MHz 386sx, 12 megs of RAM, a 500 meg SCSI drive, and a 300 meg IDE drive) running Slackware Linux. Since I didn't know anyone using Linux, or anyone familiar with UNIX, those first few months were pretty brutal. I spent a lot of time reading the LDP at Sunsite (now it's at, and asking idiotic questions in #linux on EFNet IRC. I discovered sites like Slashdot and LinuxToday, and somehow stumbled onto Enlightenment. After seeing Enlightenment, Joe installed Red Hat Linux on his machine (which I believe was a Celeron 300 at the time), and we started struggling with XFree86 and all sorts of other things my Linux system couldn't run. I managed to install Enlightenment DR0.13 on Joe's system, but I had to stay up all night to do it.

Eventually, I managed to scrounge up enough spare cash to buy a Cyric PR166 (really a Pentium 133), motherboard, and 32 megs of RAM. I picked up a case, and gutted my old computers for parts. This system ran Red Hat Linux 5.0, and I installed the shiny new Enlightenment DR0.14, GNOME 0.3.x, and a whole bunch of other fun stuff. In hindsite, I realize the power Linux gives you to tweak with almost every aspect of the desktop is decidedly not a win for aesthetics. Case in point: screenshots like this (or any of my older screenshots). On the other hand, green spandex and the Moonwalk used to be cool, so maybe my screenshots were jaw-dropping back in 1998. Then again, maybe not.

Anyway, over the space of a few months, several interesting things happened. I moved from Eugene to Corvallis in order to take classes at OSU, the hard drive in my Powerbook died (forcing me to use Linux exclusively), and my roommates and I ordered ADSL. Not only was Internet fast, but it was on all the time. I could stream MP3s, download huge files, load web pages and check my email at the same time, and all sorts of other fun things.

I discovered that with a real internet connection, Linux is incredible. I could host my own web server, connect to my machine from the HP/UX labs school and run applications (including X11 applications) transparently via SSH. In order to learn more about Linux in a clustered environment, I did an independent study at OSU on Beowulf clusters; they basically gave me a dedicated 9-machine lab with for a term, and let me install Linux on all the machines and set them up as a Beowulf cluster.

Back at home, I decided to design a new web site and host it on my machine. The name Pablotron was originally an old joke between my friend Joe and myself. In Eugene, I had installed Linux on a spare 486 which had a, shall we say, less than amicable monitor. Joe dubbed the monitor the PabloTron 1000, and name amused me so much that it stuck. I used it when I created my new site. The original Pablotron was only marginally better than the atrocity that was my ancient personal page, but the successive iterations gradually improved as I learned more about HTML and web site design. I ended up moving the site to a spare machine so I could host pages for a few of my friends. The backend for Pablotron (up until a few days ago) was several years old, consisting mostly of Server-Side Includes, a few Perl CGIs, and some maintainence shell scripts. Eventually I ported the entire site to PHP with a little bit of Perl and shell script magic. After a while I added themes, then rewrote the entire engine to support user accounts and comments. You can download a really old, uncommented version of the backend here, or view the live backend by visiting the Backend page.

When I moved to my previous apartment, I switched from ADSL to a Cable modem (courtesy of @Home). and I got a long-overdue upgrade to my main system: a AMD Duron 700, with 128 megs of RAM, a 45 gig and a 10 gig drive, and a GeForce 2 MX TwinView. Hooray! Unfortunately, I had some issues with @Home, and my IRC buddy Snow-Man offered to host Pablotron (thus the "Hosted by" logo below the left sidebar). His SDSL was much more reliable than my cable modem, and I did't have to worry about bandwidth or messing with my DNS server any more. I still hosted a few personal web page, email, and my personal CVS server on my old server.

Around July 2001, I accepted the job here at Mitretek Systems, in Virginia. I moved in with Snow-Man, and we shared a place together until October 2002, when he and his girlfriend bought a house. Anyway, my current computer setup is as follows:

Machine Processor RAM Disk Space Misc
Workstation Dual AMD Athlon MP 1.2Ghz 512M PC2100 60G (& a dead 40G) dual-head 19" monitors
File server AMD Duron 750 384M 320G
Firewall Intel Pentium 200 64M 10G also NAT and Q3 server

For internet access, I've got cable modem and 768k SDSL. The heavy bandwidth protocols (http, ftp, rsync, etc) go through the cable modem, and everything else goes through the SDSL. I'd like to say the idea was mine, but really it was Stephen's.

So that brings us up to date. I'm now reasonably proficient (or at least familiar) with C, C++, Perl, PHP, Java, shell scripting, SQL, MPI, HTML, CSS, SSI, JavaScript, Pascal, HP48 RPL, HyperTalk, and more.

Visit my News Page
View my Resume
Visit my Projects Page
Visit my Photo Gallery