About this site
About this Web

I'm pleased to say that this site is now mostly running on MediaWiki. Why?
- My clients and I can write, edit, and manage the site from any browser.
- The wiki engine provides a scalable content management system for storing, controlling, versioning, and publishing documents and multimedia material. It has built-in multiuser support, version history, cross-referencing, and, with some additions, access controls.
- MediaWiki is an open platform that's easily customized and extended, with a large developer community. It's stable, widely used, and scalable (see: Wikipedia)
- Wikitext strongly discourages the temptation to use inline formatting instead of site-wide styles.
- Wikitext includes a powerful text-based macro processing capability to automate common tasks.
Naturally, I've had to force the software through a few hoops to get it to work this way: start with Paul Gu's gumax 3.0 MediaWiki skin, restrict editing, tweak colors and fonts, disable MediaWiki's external link styling, use the ImageMap extension for image links, and customize MediaWiki:Sidebar. There are still a number of FrontPage and PHP static pages, and WordPress drives the blog.
This site is currently hosted at GoDaddy.com; it used to be at ASPnix.com. I like to think of GoDaddy as the McBurgers of hosting and domains - they're huge, they're everywhere, they're relatively cheap, and they're utterly consistent. As long as you don't ask for anything that's not on the menu you're fine.
My old blog is archived as static HTML. I used Radio Userland from 2002 to 2006, but as you can see I didn't post publicly a lot. I used to use my blog/site as part of my toolkit for managing the information glut - when I saw something interesting in my aggregator, I'd either "clip" the article to desktop storage or file it in one of my blog categories, such as Tips. These days I rely much more on search, including Google Desktop Search and Web History.
I've added gratuitous illustrations to lighten up some of the pages. Many of these are Russian revolutionary posters from Museum of Russian Poster or Soviet Posters (which also has a fine collection of Chinese and Cuban posters). I find them much more inspirational than the typical "there's no 'i' in 'team spirit" variety. Not to mention that they're copyright-free, or to mention the struggle of the urban proletariat. The workers control the means of production! Power to the people! Support the 5-year-plan!
The background wallpaper is from a photo of the dunes at the bottom of Endurance Crater on Mars, taken by the Mars Rover Opportunity in September 2004. The full false color image is the picture for October in my latest Mars calendar. The site logo uses the KDE Konqueror Logo (LGPL) plus the Apollo 17 photo of the full Earth.
Custom MediaWiki Skins and Extensions
- BreadCrumbs2 enables navigation based on categories (custom)
- Cite adds tags for citations (MediaWiki)
- CodeSyntaxHighlight provide code syntax highlighting (SwinBrain)
- CSO_iFrame allows you to insert iFrames safely (CSharp-Online.NET)
- DynamicFunctions adds #arg, #ip, #userid, #rand, and #skin functions (custom)
- DynamicPageList2 generates reports on other articles (MediaWiki)
- HTMLets lets you inline HTML snippets from files (MediaWiki)
- ImageMap enables client-side clickable image maps (MediaWiki)
- LabeledSectionTransclusion enables marked sections of text to be transcluded (MediaWiki)
- ParserFunctions enhances parser with logical functions (MediaWiki)
- RSS Feed displays an RSS feed on a wiki page (MediaWiki)
- StringFunctions enhances parser with string functions (MediaWiki)
- SyntaxHighlight GeSHi adds the source tag to present formatted source code (MediaWiki)
MediaWiki Version
This wiki is powered by MediaWiki, copyright (C) 2001-2007 Magnus Manske, Brion Vibber, Lee Daniel Crocker, Tim Starling, Erik Möller, Gabriel Wicke, Ævar Arnfjörð Bjarmason, Niklas Laxström, Domas Mituzas, Rob Church and others.
MediaWiki is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
MediaWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or read it online
Extensions
| Special pages | ||
|---|---|---|
| HtmlToWiki | HTML to wikitext converter | Eric Hartwell |
| Special:GoogleSitemap (version 0.0.4) | Adds a special page to create a XML Google Sitemap file, along with some reporting. | François Boutines-Vignard |
| WikiArticleFeeds (version 0.6.3) | Produces feeds generated from MediaWiki articles. | Jim Wilson (wilson.jim.r<at>gmail.com) |
| Parser hooks | ||
| Cite | Adds <ref[ name=id]> and <references/> tags, for citations | Ævar Arnfjörð Bjarmason |
| CSS (version 1.0.0, 2007-06-15) | A parser-function for adding CSS's to articles | User:Nad |
| DynamicFunctions v1.1 | Adds #arg, #ip, #userid, #rand, and #skin functions | Algorithm, Eric Hartwell |
| DynamicPageList2 (version 1.4.9) | based on DynamicPageList, featuring many improvements | IlyaHaykinson, Amgine,Unendlich, Cyril Dangerville,Algorithmix |
| EmailForm (version 0.8) | Inserts a form mailer into a page | Eric Hartwell |
| GoogleAds | This extension adds a GoogleAdSense tag for Google ads | Eric Hartwell |
| ImageMap | Allows client-side clickable image maps using <imagemap> tag. | Tim Starling |
| ImageMapExtended | Allows client-side clickable image using <imageLink> tag. | Eric Hartwell |
| IncludeSpecialPage | Inserts the output of a special page into a normal page. | Eric Hartwell |
| LabeledSectionTransclusion | adds #lst and #lstx functions and <section> tag, enables marked sections of text to be transcluded | Steve Sanbeg |
| MultipleUpload | Allows users to upload several files at once. | Travis Derouin |
| ParserFunctions | Enhance parser with logical functions | Tim Starling |
| StringFunctions (version 1.9.3) | Enhances parser with string functions | Juraj Simlovic |
| SyntaxHighlight | Provides syntax highlighting using GeSHi Highlighter | Brion Vibber, Tim Starling and Rob Church |
| XFeeds | RSS feed aggregator | Brill |
| Other | ||
| Breadcrumbs2 (version 0.9) | Breadcrumb navigation (where am I) | Eric Hartwell |
| Flickr | Insert Flickr badges into a page | Eric Hartwell |
| Google Site Search 1.2 | Uses Google to search the wiki, instead of MediaWiki's own search function (not affiliated in any way with Google, Inc.) | Ryan Finnie |
| HTMLets | lets you inline HTML snippets from files | Daniel Kinzler |
| Extension functions | ||
| wfIncludeSpecialPage_Setup, wfFlickrExtension, wfEmailFormExtension, wfGoogleAdExtension, expandAfterInit, wfExtensionSpecialGoogleSitemap, wfCSO_iFrame, wfVersionsParserFunction_Setup, wfCite, wfCodeSyntaxHighlight, efSyntaxHighlight_GeSHiSetup, wfSetupParserFunctions, wfStringFunctions, wfDynamicFunctions, wfLabeledSectionTransclusion, wfLabeledSectionTransclusionHeading, wfDynamicPageList3, wfDynamicPageList2, wfMultipleUpload, wfSetupImageMap, wfSetupImageMapExtended, wfSetupCSS, wfHTMLetsExtension, wfXFeeds and wfWikiArticleFeedsParserSetup | ||
| Parser extension tags | ||
| <flickr>, <emailform>, <googleadsense>, <cso_iframe>, <ref>, <references>, <code>, <source>, <section>, <dpl>, <imagemap>, <imagelink>, <htmlet>, <xfeeds>, <startfeed>, <endfeed>, <feedburner>, <itemtags> and <pre> | ||
| Parser function hooks | ||
| includespecialpage, expandafter, ea, VERSIONS, expr, if, ifeq, ifexpr, switch, ifexist, time, rel2abs, len, pos, rpos, sub, pad, replace, explode, urlencode, urldecode, arg, ip, userid, rand, skin, lst, lstx, lsth, dpl, css, itemtags, int, ns, lcfirst, ucfirst, lc, uc, localurl, localurle, fullurl, fullurle, formatnum, grammar, plural, numberofpages, numberofusers, numberofarticles, numberoffiles, numberofadmins, numberofedits, language, padleft, padright, anchorencode, special and defaultsort | ||
Hooks
| Hook name | Subscribed by |
|---|---|
| ArticlePurge | wfPurgeFeedsOnArticlePurge |
| LanguageGetMagic | wfIncludeSpecialPage_Magic, expandAfterLanguageGetMagicHook, wfVersionsParserFunction_Magic, wfParserFunctionsLanguageGetMagic, wfStringFunctionsLanguageGetMagic, wfDynamicFunctionsLanguageGetMagic, wfLabeledSectionTransclusionMagic, wfLabeledSectionTransclusionHeadingMagic, wfDynamicPageList3_Magic, wfCSSLanguageGetMagic and (WikiArticleFeedsParser, itemTagsMagic) |
| LangugeGetSpecialPageAliases | HtmlToWikiLocalizedPageName |
| LoadAllMessages | HtmlToWiki::loadMessages |
| MonoBookTemplateToolboxEnd | wfWikiArticleFeedsToolboxLinks |
| OutputPageBeforeHTML | wfAddWikiFeedHeaders |
| ParserBeforeTidy | (WikiArticleFeedsParser, itemTagsPlaceholderCorrections) |
| ParserClearState | (Cite, clearState) and (ExtParserFunctions, clearState) |
| ShowRawCssJs | SyntaxHighlight_GeSHi::viewHook |
| SkinTemplateOutputPageBeforeExec | buildBreadcrumbs |
| UnknownAction | wfWikiArticleFeedsAction |
Contact me |