Projects

Jump to: navigation, search

Sites

This site uses a modified MediaWiki installation, which is shared with these sites:

Award Annals

The Award Annals documents honors given to creative works such as books, films, and music. A score is given to each work for the honors it has received. Honor rolls are generated based on the scores. My custom-made PHP application is behind Award Annals. Bits of it are based on MediaWiki.

I conceived the idea in the summer of 2004 while browsing the web for a good sci-fi book. I didn't like any of the sites that listed Hugo and Nebula awards—they just weren't set up for browsing. I wanted a list of winners and nominees grouped by year so I could have a month’s worth of reading on one page. I like to see the cover art, read a synopsis, and see the prices without having to cross-reference or click all over Amazon. So I created one simple page.

That simple page snowballed into a database of thousands of honored titles.

I started with a Titanium PowerBook running OS X 10.3. Using only TextEdit, the page took shape. I installed MySQL and wrote some Cocoa code to facilitate the gathering of book data. After arranging to host the site with an altogether cheap host, I learned PHP (very similar to C, fortunately) to program a web interface to the database. The nature of search engine crawlers demanded simplification of the design—no frames, more keywords, and a more straightforward document structure.

Then, rather suddenly at the end of August ’04, it all came together. I froze the design and concentrated on adding books. In just a few weeks, the first fifteen awards were well-populated with winners and nominees—most of them back to 1990. I further developed the code as I added more awards and books. In 2006, I decided to incorporate films and music, and that decision lead me to understand that the site was too large for one person to handle. After the 2006 holidays, I began to play with open-source wiki software to see if it could be easily adapted to the site’s needs. That worked well for a while, but I was unsatisfied with the efficiency. I custom-authored the whole thing in early 2011.

OS X programs

I have created a little program called MovieMetaX. See, there's this other program called PyTivoX that serves up movie files from my Mac to my Tivo. But the movie files don't have a synopsis or list of actors or anything—it's just a filename. MovieMetaX will search some online databases to get that missing information, and save it in a file that PyTivoX can read. The result is...nice.

PHP tidbits

I authored a PHP class definition used to access Amazon's Product Advertising API. It provides the “bestseller” ads you see on Award annals. See also:

In developing the wiki farm, I made numerous modifications to MediaWiki so that many small sites can share the same database. I am unsure of the worth of doing this, but it was fun.

MediaWiki extensions

These pages contain early versions of extensions that might be of use to any MediaWiki developer.

  • KLIcon Extension is used to insert an image using the magic word {{#icon:}}. It differs from the normal method by allowing you to link the image to any URL, or leave it unlinked.
  • KLlinkparam allows linking to articles with parameters embedded in the URL.
  • KLMeta allows the addition of HEAD meta tags through the use of the magic word {{#metatags:}}.
  • KLEmailForm is used to create an email form in any article.
  • KLNoSourceView s used to prevent page source from being viewed by users without edit privileges.
  • CSS test shows how to add CSS to a wiki page.
 
Personal tools