I see you are using Internet Explorer. This is unfortunate. See, I spend all day at work making websites play nice with IE. Since this website has no one to answer to but me, the only IE hack I'm doing is the one necessary to show you this message. If you would like to make the Internet a better place, try out one of these browsers: Firefox, Safari, Opera.

project.amhill

_
Skip Navigation

Project List

These are various web development projects I've written over the years. They have all been solely coded by me, unless otherwise specified, due to lack of other coders in the department. Screencaps have been provided for all projects that are not hosted locally, to ensure that they are still visible independently of the source. Due to the size of the images (they are all quite large), all images open in a new window. If you have a popup blocker, either right click on the link and select "Open in New Tab" or hold Control when you click the link to bypass your popup blocker. My apologies in advance for the inconvenience.

Richmond Area Free Thinkers Society

RAFTS http://richmond-freethinkers.org
Current Status: Done!
Technology Used: HTML/CSS, Wordpress (PHP / MySQL), Javascript/AJAX
Details: RAFTS is a local Freethought group that I co-founded, along with a few local friends. My friend Dave designed an illustrator comp, and then I hacked together the HTML and CSS for it, customized a wordpress theme, and added additional features including the AJAX contact form (using prototype library) which uses a mailer script I wrote. It also makes use of the Amazon Affiliate program, including an IFRAME that is more or less seamlessly integrated.

Lightweight Comment Engine

Comment Engine Locally Hosted Source
Current Status: Functional
Technology Used: HTML/CSS, PHP, Javascript/AJAX, MySQL
Details: A faculty member asked if I could write a widget that would easily provide him the ability to use comments on his webpages, but it would need to be abstracted enough that it could be applied to any number of pages. The widget is easily added to any page (include a JS file and a CSS file and place a <div id="comments">&nbsp;</div> somewhere on your page, and that's it!). It records the name (if they provide one) and the IP address of all commenters, and is posted via AJAX. There's currently no administration method, nor authentication, nor validation. It's extremely lightweight. Feel free to customize, but stick a link back this way in your source code, if you borrow it!

Susanna Tanner Photography

ST Photography http://www.susannatanner.com
Current Status: Completed (August 2007)
Technology Used: HTML/CSS, PHP, Javascript/AJAX, Flash 8
Details: This project was a redesign for my co-worker, Susanna. She wanted three basic things for her website:
  1. Galleries that she could easily manage
  2. A blog
  3. Background Music
The background music was decidedly the biggest roadblock. Initially, I intended to use an ajax-based navigation system so that the background music would never be interrupted. In the end though, it just seemed like I was going way out of my way to work around it. I dipped back into the high-school years of web-development and implemented a frameset. Works just as well, and now the rest of the interface fell into place. The background music player is a really simple flash player that my friend/co-worker Zak helped write. The galleries are all dynamically built via a PHP directory aggregator, displayed with the lightbox JS widget, and thumbnails are automatically created where necessary. All she needs to do is logon via FTP, create/delete folders and upload/delete image files! The rest is taken care of! Nice!

Rock Paper Scissors!

RPS http://www.amhill.net/projects/rps/
Current Status: Completed
Technology Used: HTML/CSS, PHP, JavaScript, AJAX
Details: Written for my server-side programming class. It makes use of a modal AJAX requestor that behaves differently based on the type of output object it's passed. (i.e. if it's a DOM object, it sticks the output in innerHTML/src, if it's a function, it passes the output as a parameter to the function, etc.) I don't know that the design is *completely* polished -- there is probably a little more I can do to spiff it up a little bit. But it looks decent as is.

IU East Athletics Page

Pioneers http://www.iue.edu/athletics/
Current Status: Completed (May 2007)
Technology Used: HTML/CSS, PHP, MySQL, WordPress Software, jquery Javascript library
Details: I hacked the Wordpress templates to bits for this. The events, athlete of the week, and the loop itself are all custom queries. The navigation links are all built via custom-queries, and the individual sports teams' pages are a series of hierarchal WP pages, using custom written page templates. The athletics department really loves this because it allows them to have a lot of control over their content (as opposed to using contribute) while still maintaining a consistent structure.
    Screencaps
  1. Main page (202kB) [Opens in New Window]
  2. Child page (192kB) [Opens in New Window]

IU East Nursing Page

IUE Nursing http://www.iue.edu/academic/nursing/
Current Status: Completed (May 2007)
Technology Used: HTML/CSS, Dreamweaver Spry widget
Details: This departmental page was redesigned to update it in tandem with the main IUE.edu rollout. The entire layout is a CSS-based tableless layout, with faux-hacks in place for IE compatibility.
    Screencaps
  1. Main page (131kB) [Opens in New Window]
  2. Child page (110kB) [Opens in New Window]

IU East Success Website

IUE Success http://www.iue.edu/success
Current Status: Completed (April 2007)
Technology Used: HTML/CSS, PHP, MySQL (for blog feeds)
Details: This site is meant to be an outreach to future traditionally aged college students (read: High School Juniors / Seniors). The comp was designed by the Office of Marketing, and then I rendered it into HTML/CSS. The main page retrieves a blog feed from two of our student bloggers, and the background for the main page rotates on reload. The flash widget in the page was designed by my coworker (At the time of this entry, he is currently better trained with Flash than I am). The child pages use "sandbag DIVs" in order to emulate magazine-style text flowing (Screencap 2).
    Screencaps
  1. Main page (161kB) [Opens in New Window]
  2. Child page (171kB) [Opens in New Window]

MadLibs

http://www.amhill.net/projects/madlibs/
Current Status: In progress (Last Updated: January 2007)
Technology Used: HTML/CSS, PHP, MySQL, AJAX & JavaScript
Details: Currently, only the barebones structure of the application work. You can "Load a Madlib", "Fill Out a Madlib", and click on individual words to have them randomly replaced with a different word of the same part of speech. When I get some more time to work on it, I'll add functionality for user-created madlibs, user-supplied words, etc.

IU East University Advancement Application

This cannot be accessed by non-employees.
Current Status: Completed (November 2006)
Technology Used: HTML/CSS, C# .NET (2005), MS SQL
Details: This was a "rescue project." The original application, written in Visual Basic .NET, was not working correctly and Donor-hunting season was approaching. My job was to fix or re-write the application. Up to this point, I had never used C#.NET before. My programming background was mostly C++ and C-style syntactic languages. The application took about 2 or 3 weeks to write, but the project took an additional 2 weeks or so beyond that because the database, which housed over 9,000 non-normalized records, needed to be migrated to a normalized database. The coding wasn't completely flawless, but it was pretty darn good for my first foray into C#.NET! Some features included: parametrized dynamic queries (to prevent SQL injection), database-driven drop-down lists, data validation where necessary, and the ability export to an Excel document.
    Screencaps
  1. Patron Browser (55kB) [Opens in New Window]
  2. Report Builder (61kB) [Opens in New Window]

City of Richmond Content Management System

This cannot be accessed by non-employees
Current Status: More or less completed (October 2006)
Technology Used: HTML/CSS, PHP, MySQL, JavaScript
Details: This content management system was developed in tandem with the database-driven website (see below). The idea was to empower every department to manager their own content through a webform which would store the data in a MySQL database. TinyMCE was used for data entry. This was my first large-scale PHP application. At the time that I left my position to go work at IU East, there was still some additional features that needed to be added, but it currently works as-is. It allowed employees to create new announcements (for main page display), create and edit content for their individual department, and some department specific tasks (such as adding code entries to the Richmond City Code database, or uploading bid packets for new projects.)
    Screencaps
  1. Purchasing Dept. Bid Packet Mgr. (133kB) [Opens in New Window]
  2. Universal Announcement Editor (65kB) [Opens in New Window]

City of Richmond Website

http://ci.richmond.in.us (Link points to Wayback Machine -- their version of the code is significantly scaled back -- please check the images here)
Current Status: More or less completed (October 2006)
Technology Used: HTML/CSS, PHP, MySQL
Details: Let me be the first to admit that my ability as a graphic designer is only marginal. That said, the entire website, from design to coding, was completely built by me. This was my first PHP project, and was developed in tandem with the CMS (see above). The site is entirely database driven -- all the menus, content, and every single page is rendered on the fly by one PHP file. In my opinion, the absolute crown jewel of the whole site is the Richmond City Code database. The entire text of the City Code was entered into a MySQL database, indexed as FULLTEXT, and is searchable using the search form on the main page. Tags were also used to allow abstract associations between entries (i.e. "bike" or "road" or "definitions"). Screencap 2 has some sample output from the Code search.
At the time of this writing, the city is contracting another firm to re-design the website, yet again, but this time using Joomla! as their CMS. To be fair, if I had known about Joomla!, I probably would have went with that instead anyways, but I don't take it personally. The project was great experience and a lot of fun!
    Screencaps
  1. City of Richmond Main Page (198kB) [Opens in New Window]
  2. Richmond City Code Search (218kB) [Opens in New Window]

City of Richmond Knowledge Base

Not accessible by non-employees
Current Status: Completed, but unused (August 2006)
Technology Used: HTML/CSS, PHP, MySQL, JavaScript
Details: This was the progeny of a cluttered desk. I had all these notes laying around everywhere -- little mini-solutions I discovered for various problems. I thought "You know, this stuff would be a lot more accessible if it were in a searchable database." When I first started learning PHP and MySQL, this projectlet was used as a way to practice both. I set up a Linux system in our office, created a database and coded up some pages. We ended up not really using it -- I don't think my co-workers really understood how useful KB's are. But either way, it was a useful tool! Employees could log in, post a question, and when myself or my boss logged in, it would show us all unanswered questions. Q&A's could be tagged for abstract associations. Plus it had that hackneyed "retro" look to it.
    ScreenCaps
  1. Knowledge Base (143kB) [Opens in New Window]