This page is horribly out of date
I've started migrating non-technical content from Pablotron to paulduncan.org. 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 --
p_duncan@efn.org -- 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:
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
Linuxdoc.org), 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 Snowman.net" 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