Wiki Migration Notes - Platform Selection

These notes are obsolete. Most of the relevant ones were incorporated into Yaki.

There are several aspects concerning platform selection that I’ve been thinking about:

Hardware

Disregarding hosting for the moment, the site has relatively modest hardware requirements, and I would like to downgrade them even further. Early on it ran happily on a PIII 733MHz with 1GB RAM (load average ~0.11–0.2) thanks to an efficient LAMP setup and Turck mmCache, which sped up dramatically.

Current hardware specs are much better (and likely to change again), but growing popularity pushes for efficiency.

Operating System

It currently runs on a tweaked Core box, but I considered moving from customized 9 to a barebones (or even ) setup to unlearn some habits.

Had I taken that route, package management would be an issue, but I value stability over bleeding edge; upgrades have been sparse (mostly custom builds and the odd patch).

Main Programming Language

is very fast, tightly integrated with , supports XML, , etc., and lets me maintain the site via and with minimal friction. PHP 5 promises cleaner code.

Alternatives: & are interesting (I avoid ); performance may be lower, but the coding style and XML support appeal. Replacing with a server could yield finer control—yet Python’s deprecation churn is a concern.

Perl is powerful but I dislike readability issues and dependency sprawl in CPAN. on evolves too quickly for now. (via ) feels heavyweight resource‑wise.

Wiki Package

Still no Python Wiki whose internals I love. Requirements drive other choices:

Storage Backend

I like , but it’s overkill—SQLite would suffice. Ideally a filesystem store + a few cache files for relationships and markup. CVS comes to mind, but hosting constraints nudge toward a custom versioning scheme.

Markup

Leaning toward Textile over markup: better for long-form writing, likely easier to convert.

Rendering

Future-proof rendering suggests XSLT despite complexity; it conflicts somewhat with hardware efficiency goals.

This page is referenced in: