Hosting your own calendar and contacts directory

Apparently there is a thing called ownCloud which lets you run, amongst other things, a calendar server and a contact directory, both of which will sync with your android phone and here is a writeup of doing just that. I’ve not tried it yet, but any option to prise the data away from Google and to something I own has to at least an option worth trying.

HTML 5

I don’t understand the recent hullaballoo over HTML 5. Its creation has been going on for years, and yet, suddenly it appears as though hundreds of supposed professionals in the field have only just heard of it because Jeffry Zeldman wrote a blog post. Even the WaSP has an interview with Hixie about it back in May! Welcome to your industry, people! Luckily for them, people like Jeremy Keith have stepped forward to give a potted summary of what’s going on and what it means for those who haven’t been paying attention in class.

Of course, this means that the same arguments that were brought up when HTML 5 started in the HTML WG and when the W3C adopted the existing work for their standard have come up all over again. Not that many of them ever went away of course, with accessibility in particular being the favourite one (important to get right after HTML4 set such an awesome example).

The absolute most-recent fuss is about a document called Restructuring HTML5 by Manu Sporny which contains some interesting notions like distributed source control of the spec document (via git) and adding the ability to make inline comments on the spec; neither of which I’d thought of before in this context. The former I can’t really see making any difference because it would presumably just increase the amount of work for any editor(s) (at least it would if we maintained Manu’s comparison to the Linux kernel) but the latter might be a good idea, especially having seen it work first-hand with The Django Book. It would also seem to make sense to break more parts of it out into separate docs like some sections already have been.  Of course, there are some also extremely poorly-considered thoughts like conflating the scientific process with consensus-forming which makes me rather hope that Manu enjoys his blood-letting sessions.

I like the document; it at least tries to be broadly constructive, and is written in nice big letters and an easy-to-read font. A table of contents might be nice though.

In other news, HTML4 and XHTML 1.0 will continue to work for probably decades to come, yet there are no two 100% interoperable implementations of either.

Setting up Trac on Debian Etch with Apache 1.3 (a brief guide)

This is a summary of what I got from the Trac installation instructions here, here, here and here. My life would have been easier if I was running Apache2, but for the site in question, I’m not.

The version numbers I am working with:

  • apache – 1.3.34-4.1
  • python – 2.4.4-2
  • libapache-mod-python 2:2.7.11-2
  • Trac 0.11b2

Install easy_install, followed by the Trac requirements:

$ easy_install Pygments
$ easy_install Genshi
$ easy_install Trac
$ easy_install sqlite
$ apt-get install libapache-mod-python
$ apt-get install python-pysqlite2
$ cd ~
$ mkdir trac/myprojectname
$ trac-admin trac/myprojectname initenv

(enter the details you need or just keep hitting to accept the defaults – it’s all configurable later)

Type the tracd line given to you at the end of the install and make sure it runs (probably need your IP at this point because it won’t bind to a hostname).

Add this inside your VirtualHost:

<Location /wherever/you/like>
  SetHandler python-program
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnv /absolute/path/trac/myprojectname
  PythonOption TracUriRoot /wherever/you/like
  PythonDebug On
</Location>

Patch /usr/lib/python2.4/site-packages/Trac-0.11b2-py2.4.egg/trac/web/modpython_frontend.py with code from http://trac.edgewall.org/wiki/TracModPython2.7 (yes, it’s all needed) – the “Known Issues” at the end of the code apply, most notably “There may be a character set issue” – for me this manifested itself in the <title> element of the page with a “–” separating my project name from the word “Trac” rather than a long hypen.