Sunday, 23 October 2005

Design & Code Credits

Back in 2005, I decided to create this Wiki node to hold all the site’s credits. Most of these were scattered over two years of posts, so it was about time I grouped them all together in a single page.

Three years later, quite a bit has changed. So without further ado, here goes:

What You See

  • This site is running atop a Python -based Wiki engine called Yaki, which I developed on and off during several months to replace a heavily customized version of PhpWiki. Yaki has a bunch of additional credits associated with it on its source code.
  • The current site design is called “less”, and is heavily influenced by Shaun Inman and Khoi Vinh, who inspired me to see how far I could go with halfway decent typography and minimal styling.
  • All the photographs, graphics, etc., are my own work, as is the logo. Images inserted in pages are, whenever possible, duly credited (if not explicitly, then at the very least with a link back to the site I got them from in the post text).
  • The web thumbnails that grace the linkblog entries are generated by WebThumb, a fantastic little service that has a gazillion options.
  • The comments system is Disqus, picked because I don’t want to manage my own comment spam and was able to integrate it seamlessly with my current pages.
  • All graphics on the site were created or modified using Pixelmator (previously Fireworks) and ImageMagick. Photos are managed with iPhoto and a set of additional tools, from which I would like to point out jhead. It’s simply invaluable.
  • More on the site design (including screenshots of previous iterations of the site) can be found here.

What You Don’t

  • The previous site design was based on Kubrick by Michael Heilemann Heilemann. Several years ago, I ported and contributed the design to PhpWiki, and Reini Urban Urban added it to the main source tree.
  • The Flash slideshow used atop pages in that design was a modified version of this one by Todd Dominey, who is also the creator of Slide Show Pro, which I used in my Photo Album for several years until end of January 2008.
  • Other Flash headers that cropped up now and then were based on the amazing work of Jared Tarbell, who published a number of Open Source Source designs on levitated.net.
  • The photo album was, before Slide Show Pro, previously based on SimpleViewer. It was a bit heavy on the bandwidth side and the navigation wasn’t flexible enough to handle my humungous amount of photos, but it is pretty good for smaller collections and still deserves a mention.
  • As you navigated through the earlier co-hosted album, photos were processed (scaled, cropped, tinted, watermarked, rounded, etc.) on demand by PHP, using the GD library. Even though I don’t use it anymore (I now rely on ImageMagick and Python for most things), it served me well for over five years, and is still a good (if finicky) combination.
  • The now-defunct CVS section was based on cvstrac, to which I’ve also made a few alterations. Although I’m using Mercurial these days, all my public code is now up on Google Code.
  • The whole thing runs on a CentOS box that hosts the brilliant Snakelets application server and lighttpd, which acts as a reverse proxy, doing HTTP 1.1 – 1.0 conversion and blocking out all sorts of nuisances.
  • When it was initially being deveoped atop PhpWiki, the site used to run off an unbranded 733MHz RedHat 9.0 Linux box (upgraded to near-Fedora levels) with 1GB RAM, hooked up to the net via a fire-walled ADSL link (capped at 20KBps outbound traffic). That relative scarcity of resources was the main driver for my relentless optimization of everything running on it in every regard, and my HTTP tweaks became somewhat of a hallmark.
  • Now that I’m on a shared box together with Melo and Nuno, I’m trying to be a good neighbor and ensure that those optimizations (and a few more tweaks) keep the site running smoothly.
  • The current Wiki engine was developed on a G4Mac mini mini and is regularly tested on an 800Mhz G3 iBook, a 300MHz AMD box I have lying around, and an NSLU2. The running engine takes up only 80MB of RAM when managing this site’s content (and far less with under 1000 nodes instead of the current 5000+).
  • My loving wife is infinitely patient with me and lets me spend a few evenings tweaking this every now and then.