A potential employer once asked me to demonstrate the concept of less is more. Lucky for me I had this code laying around. It originated from when I was learning about wikis.
Back then, I found a Perl-based wiki (now, location unknown) with its claim to fame being its extremely short source for such a functional website engine. I decided to try my own hand at fashioning an engine.
My wiki features what some have called an awkward interface, which I refer to as actions. Commands to the wiki are sent as single keywords in the query, not as name and value pairs as in traditional CGI applications.
This script should demonstrate a fairly good grasp of both Perl and CGI, with a little grace and minimalism thrown in.
My second code offering is this online book exchange system. It is slightly edited, and may render non-functional as it stands.
Nonetheless, it weighs in at about 400 lines of code, including whitespace. I didn't know people invested so much attention to lines of code, but for those who really needed to know, there it is.
Here, I use CGI::Application as the foundation for the script. It features a very awkward yet functional user management system and jumps through hoops and barrels to interact with my very much makeshift database. I don't yet favor heavy database backends that might require such things as SQL or non-text repositories. But then again, it's all a matter of need and this project didn't merit that kind of caliber.
My primary coding philosophies are mostly about minimalism, grace, and using strict and warnings. Perl is my primary weapon in communicating with the computer, in that the computer should do the heavy lifting for me. And most times by heavy I mean tedious.
In high school I was the self-proclaimed web dude. I've taught classes on web design and Perl, and I've managed the web site for practically every group project that I've worked on.
This is one design I had for my personal website, before I converted it to Movable Type. It was extremely vertical and I was extremely proud of it. One day, I might just put it back up.
One interesting note about that design is its reliance on CSS as opposed to HTML for style and formatting. There weren't any tables used.
This is a web site gallery that I made for my friends. The right column extends well beyond those pictures. To be clever and somewhat lazy, I used Javascript to load the image gallery. Just another opportunity to let the computer do the heavy lifting
This is an assignment I did for class, outlining the strengths of the MSN.com interface. This is its splash page. Both designs aim to be very bold and simple. Black, white, and one sharp color accomplish this goal the best.
When it comes to design, my philosophy is still minimalism. I believe good design isn't noisy or bulky, and successfully carries it's message across with the least amount of effort.
Probably the most vaporous section of my portfolio, where I can only describe my exploits.
I believe in elegance, grace, and ease-of-use. The user shouldn't be burdened with anything, ever. Well, that's being idealistic, but it's a great aim.
In the past, I've used my Perl and web design skills to automate tasks. During my stint as a junior administrator, I was given the job of making sure that the administrator's online resource was always up-to-date. It was originally a physical binder with diagrams, but we supplemented it with an online counterpart. The result was an automatically generated web site that contained smaller web sites, each tailored to a specific domain for the network administrator. Extremely convenient and very nifty.
Beyond that, I've used Perl to emulate an office login system and an online book exchange.
My most challenging personal project to date is the convergence of a wiki and a blog. I believe both to be extremely useful tools, each in their own right. I aim to be one of many who attempt to create what might be the ultimate information management system.
As I grow up with technology, I find myself overwhelmed with the amount of information presented to me, most of it noise or just unprocessed knowledge. Ironic how I dream of reducing my existing work load only to free myself to do more work.