May 26, 2013The authorized web site of Lee Geistlinger - beware of any imitations!
Web Portfolio - HiddenProject List
Much of the work I've done over the years - and some of the most innovative work - has been behind firewalls or on self-imposed, local projects so I could learn. This Portfolio presents a very small sampling of this "hidden" work.
View links to my "non-hidden" web work here.
NOTE: Links open in child window; turn off the pop-up blockers!
Blogging Tool - Promotional|
This tool was an exercise to hone my skills in both PHP (scripting language) and PostgreSQL (a powerful, open-source database very similar to Oracle).
Construction of this tool required a detailed understanding of PHP's and PostgreSQL's date object, the use of structured and flexible templates, extensive CSS and strong SQL skills.
In addition, the introduction of an XML format for syndication taught me RSS (v0.91 and v2), the standard for blog syndication.
Language: PHP (v4.x); XML (RSS)
Platform: Linux (Red Hat 7.3)
Checkbook - Promotional|
This is an effort to learn more Java and to get better at JSP - I've done minimal coding in JSP.
I built this page - an imaginary checkbook tool - in JSP; it calls an EJB (Enterprise Java Bean) that I wrote to produce the results.
Very basic; just an experiment. All coding was done by hand (no pre-built Beans, etc).
Language: Java, JSP
Database: MS SQL Server v7 (had to install an open-source JDBC driver; MS does not supply one for v7)
Platform: Win2000 (Netscape FastTrack server with JRun)
Content-Management System - Promotional|
One of the most noticable holes in my resume was that I hadn't done any Active Server Page (ASP) work.
With no paying project working with this technology, I decided to learn the language on my own.
Instead of a simple "hello world" application, I build a Content-Management System with the following features:
Database: MS SQL Server 7
Platform: Windows 2000
Customizable Resume - Promotional|
Systems like this are used for portals such as Yahoo! and Excite. This was an attempt to use various methods to achive this result.
Methods tried were the following:
Since preferences are stored to a cookie, a user is presented with changes upon subsequent visits.
If no cookie is present (deleted or user's first visit), defaults are assigned and stored in cookie on user's machine in the background.
Language: Cold Fusion
Drummersguide.com was designed as a LAMP project (Linux, Apache, mySQL and PHP).
A community site for drummers, the site was designed to support many user-interactive features, including the following:
Sadly, this vision of the site never got off the ground, but these screenshots are proof-of-concept works I executed during the project's requirements-gathering phase.
Note: All code, functionality and design elements are just for the the proof-of-concept work and do not necessarily reflect whatever form the site may eventually launch with.
Language: PHP, Perl, ImageMagick
Google API - Promotional|
Google opened the API to its database last April. Via a SOAP call, a user with a Google key can query Google's database and pull back the raw data for display on one's own site.
This was an exercise to do the following:
This tool is hosted on my home Linux box; the tool requires the SOAP::Lite module, which my Unix host says they will not support.
Note: This entire tool is one page of code - display is dependent on input (or lack threreof) and results. Approx. 300 lines of Perl, not including my CSS file or Google's WSDL file.
Database: Google via SOAP wrapper
Platform: Linux (Red Hat 7.3)
Joe Ruck Design: The Body Snatchers|
The client works with other artists to produce what they call "corpses" - each artist creates a three-part human-like drawing (head, torso, legs) that meet certain centering/sizing requirements
In this way, each corpe can be carved into three pieces and mixed-and-matched with other corpse parts.
This project was to build a randomizer that created these mix-and-match corpses.
The following constraints were part of the project design:
Design of the site was by the client; functionality by me.
Platform: Unix (Solaris)
LittleGhost Gallery Admin|
This gallery is linked from my blog (Blog This!).
Since there is no relational databae available on the LittleGhost site, I wrote the front end in Perl and used flat files as my pseudo-database.
The back end - the gallery administration - is on one of my local Linux boxes, and thus inaccessible for viewing. Which is why it's highlighted here.
Language: PHP & ImageMagick
Platform: Linux, RedHat v7.3
MoveableType Blogroll - Promotional|
While currently a WordPress user - and before that Blogger - I have examined other ways to publish blogs (see my Blogging Tool project).
MovableType seems to have one of the best tools out there, and - while neither of my domain hosts support this tool - I could use it on my home Linux box.
One missing part of the MovableType tool was a way to create a blogroll - a linked list of other blogs I read/recommend and so on.
Since MovableType is a Perl application, I wrote a Perl tool and integrated it with the existing application.
Note: This is a work in progress; it currently writes to a files only, no database storage yet.
Database: Written to flat file
Platform: Linux (Red Hat 7.3)
One of my weaknesses/strengths is that I'm always trying new things, wanting to learn new procedures, languages, methods.
Example such are the "glossary" (of Internet terms) and "quotation" tools that I have used as an excuse to run new languages against, just to expand my sphere of learning.
The following, overlapping experiments are presented in the following formats:
Language: PHP/Perl/Cold Fusion
Database: PostgreSQL, flat file, MS SQL Server
Platform: Linux/Unix/Win2000 server
In light of the dynamic Web site development I've done that's displayed in this Portfolio section, it seems redundant to list this tool, but it's worth mentioning.
I realized that much of my work is inaccessible via the Web, so there are two choices:
The latter seemed more accessible to me.
I could have hard-coded the pages, but that did not make sense (maintenance nightmare), and would have been more time-consuming.
I threw this "porfolio admin" solution together in an afternoon, and it performs the following functionality:
This is essentially a full-blown CMS - updates my online Portfolio (the page you're on).
NOTE: These Portfolio tool page are not meant to be pretty; they are functional.
NOTE 2: Rebuilt this all out in PHP; see last slide
Language: Cold Fusion; later ported to PHP
Database: Access (so it's Web accessible on my host); ported to MS SQL Server v7 for local use. Later ported to mySql
Platform: Windows 2000; later ported to Linux
SBC Communications - XML parser|
TIM was the acronym for a bug/issue reporting system I designed and built virtually single-handedly.
One noteworthy aspect of TIM was the use of XML formatting to extract comment information out of stored procedures and Cold Fusion template headers: date added, modification history, author, purpose, known issues and so on.
These bits of information were wrapped in tags so they could be exported as XML and diplayed as an XML file - in this way, system admins could view comments/code notes from the files without having to open the actual files -- on-the-fly documentation, always up-to-date.
I originally built a Perl XML parser that was kicked off manually to build/refresh the XML pages; after I left SBC I worked on a better solution: Build the XML parser in Cold Fusion, so maintenance of the parser could be done by resident Cold Fusion programmers (no one there wanted to learn Perl).
The results of this effort were the following:
Language: Cold Fusion (originally in Perl); XML; XSL
Database: MS SQL Server 2000
Platform: Win2000 Server (ported to Linux [Red Hat 7.1] and it worked flawless there, as well)
Thoreau Capital was a hedgefund company in Chicago.
The desire of the company was to have a database-driven, password-protected site to display sensitive financial information.
In addition, the company wanted the ability to administer the site as much as possible through the browser; a tiered-user approach was deployed to support users and administrations.
Users are shown only the links to areas for which they have permission; administrators have full run of the site.
I did all work on this site: graphic design, logo, database design, coding, CSS and initial setup.
The company ceased operations before the site was posted.
Language: Cold Fusion
Database: Access (to keep costs down)
Platform: Win2000 Server
Threaded Message Board - Promotional|
This project was undertaken for two primary reasons:
I've written threaded message boards in both Cold Fusion and Perl, but never in PHP.
Message boards are complicated in that they require a deep understanding of the scripting language's and (if used) database's date object; raise issues about access (can one read/post/edit/delete?).
Language: PHP v4.x
Database: mySQL v3.23
Platform: Linux (Red Hat 7.3) - backups performed nightly to mySQL on Win2000 server
Top 10 Lists - Promotional|
An area that contains Top 10 lists - favorite movies, books, and so on.
Accessible via a link on my blog, this area has drawn more traffic than any other non-blog area of my sites.
This area integrates the look and feel of my blog, including the adjustable (CSS-driven) looks and feels of the blog.
LAMP (Linux, Apache, mySQL, PHP) back-end; front-end results are written out to static HTML pages backend.
Language: PHP 4.x
Database: mySQL 3.x
Platform: Linux Red Hat (7.3)
Just a HTML/CSS mockup for a potential client.
CSS is great for this type of design-decision work. Change a couple of CSS lines, and the colors totally change, rail can move from the left to right side and so on.
Ultimately, this site never launched.
Language: Static HTML/CSS
Platform: A Unix variant.