November 21, 2024
The authorized web site of Lee Geistlinger - beware of any imitations!
Web Portfolio - Hidden
Project ListMuch 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) Database: PostgreSQL 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:
Language: ASP, VBScript, JavaScript Database: MS SQL Server 7 Platform: Windows 2000 |
Customizable Resume - Promotional This was just an exercise in CSS, JavaScript, DHTML and cookie control. It's an older version of my resume, but with a customizable look and feel. 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 Database: (none) Platform: Windows2000 |
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. Language: Perl Database: Google via SOAP wrapper Platform: Linux (Red Hat 7.3) |
JavaScript Calendar - Promotional This was an exercise to better learn the JavaScript date object and JavaScript parsing. Built with the thought that this tool could be used to pass a selected date down to another part of an application/JS function in a ODBC format, it's designed to default to current date. The calendar provides the following functionality:
View the actual calculator HERE Language: JavaScript (client-side) Database: (none) Platform: ALL |
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:
The project is build with JavaScript; by manipulating a few variables (arrays) in the head of the code, the site owner could add new images or artists in a manner transparent to the code. Design of the site was by the client; functionality by me. Language: Javascript (client-side) Database: (none) 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 Database: mySQL 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. Language: Perl Database: Written to flat file Platform: Linux (Red Hat 7.3) |
Multi-Platform Experiments 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 |
Portfolio Tool 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 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) |
Triqualliving.com 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. |