Technology ◊ Photography ◊ Still not driven to drink
Japanese sencha tea ceremony in Oxford. Lovely people, lovely place, lovely tea.
Over the last few weekends I've been playing around with various static site generation tools in a bid to free myself from WordPress update hell. I've been used to using Jekyll for quite a while now on a number of sites (such as BrightstarDB for example), but for my personal site I wanted to try something different and as I'm much happier coding in Python than in Ruby I took a look at the various static site generation options for that language.
In then end I've gone with Nikola for a couple of reasons. Firstly it seemed the best documented and most active of the various open source offerings; and secondly because it supports using reStructuredText as a format for writing post content, which I find as easy to write as Markdown and cleaner in some respects.
The theme I'm using (right now at least) is hand-rolled and based on a lovely Jekyll theme called *folio (all the pretty stuff is due to that theme's author, all the ugly nasty hack-y stuff is due to my inelegant reworking of it for use as a Nikola theme).
For me this is a bit of a circle back around. In the early days, this site was a static stite generated from XML sources using my own XSLT-based pipeline. Then some years ago I moved to WordPress when the site stopped being my main "business site" and started to be more general rants and photography. Right now I'm definitely loving the relative ease of writing posts in text and getting back to blogging from the command line  !
I've tried to ensure that all the old content that was not pure blog stuff has also been migrated (just in case you are itching to read 10-year old papers on Topic Maps). If you are looking for something in particular that seems to have gone, get in touch with me: kal at (the domain of this blog).
 Though TBH I am mostly using PyCharm to write the actual text :)
Sphinx is an open-source tool for creating documentation. Written originally for the documentation of Python projects it also supports C/C++ with plans in the pipeline for support of other languages. Right now, my interest in Sphinx is that it is the tool used by readthedocs.org where I am planning to host the documentation for BrightstarDB.
BrightstarDB is a .NET application written in C# and I'm quite happy with the output of Sandcastle for the API documentation. However the developer and user docs were all originally created using the (commercial) Help & Manual application - which is a great documentation tool in its own right but would require contributors to the project to purchase a license in order to update or extend the docs.
Getting a local version of Sphinx running is the first step in evaluating if this approach is going to be feasible and as I'm developing on Windows 8, getting it running under Windows is my priority. So my goal here is to document how to install all you need to run Sphinx on Windows - with the qualifier that I'm doing this on Windows 8. YMMV on other Windows OSes.
I came across this problem when trying to create a strongly-typed MVC4 view using the List scaffolding template in Visual Studio 2010. When trying to add the view, an error is generated that reports:
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 4\CodeTemplates\AddView\CSHTML\List.tt(206,35): error CS0104: Compiling transformation: 'ColumnAttribute' is an ambiguous reference between 'System.ComponentModel.DataAnnotations.ColumnAttribute' and 'System.Data.Linq.Mapping.ColumnAttribute'
The fix for this is to locate that .TT file (
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 4\CodeTemplates\AddView\CSHTML\List.tt) and on line 206 change
var column = attribute as ColumnAttribute;
var column = attribute as System.Data.Linq.Mapping.ColumnAttribute;
Strangely, this error does not occur in a VS2012 installation so it must have got fixed at some point but even after reinstalling MVC4 into VS2010 the error still came up.
Hopefully this post will help someone else find the fix !
Edit: The same problem seems to also affect the
Create.tttemplate (on line 122), the
Delete.tttemplate (line 174), the
Detailstemplate (line 179) and the
Edittemplate (line 229) - the same fix works in all cases.
An interesting concept for time management on creative tasks.
In the last post I introduced the concept from HyTime of a finite coordinate space (FCS) consisting of a number of axes each of which is tied to a measurement domain where the measurement domain might be physical or virtual. In this post we will take a look at Clause 9.2 of the standard which talks about how to define the units of measurement for a measurement domain.
In his closing keynote at this years TMRA conference (you weren't there? you should have been!), Steve Newcomb made reference to the wonders of ISO/IEC 10744 or HyTime to its friends.
HyTime is a monster standard - it is complex and so difficult to implement in its entirety that I believe only one person has ever tried. That said, the standard contains so much that is useful and generally required for a functioning Web, that many of its pieces got cannibalized, stripped down and turned into hacker-friendly W3C "standards" - XLink. Just as XML owes its very existence to SGML, so XLink and SMIL both need to look back to HyTime as an ancestor (albeit one that never gets invited to the family parties). Anyway, Steve talked about how there is still much left in HyTime that could be useful and in particular picked out Clause 9 - Scheduling as one such piece. IMHO he is right on the money.