Spent a significant portion of the day lying in the sun while leafing through Ian M. Banks' The Algebraist, which I happened to find in a bookstore yesterday. Not too shabby, but somehow I'm not that much into Sci Fi anymore. Took some photos (will be up soon), lounged about trying to relax. Completely failed to clean up my desktop.
Pored over Snakelets for a bit more. The last release stopped working on Python 2.3 - which is now fixed, but also completely broke my templates, and I've been pondering whether to re-write them or pick up my core classes and move them to something a bit more "stable" as far as the codebase is concerned. It's very neat and well thought out, but the relationship between templates and classes isn't as clear cut as in a MVC framework, and I'd like to stick to a single way of doing most things from now on.
Update: It turned out that my office laptop already had this in .vimrc:
function InsertTabWrapper(direction) let col = col('.') - 1 if !col || getline('.')[col - 1] !~ '\k' return "\<tab>" elseif "backward" == a:direction return "\<c-p>" else return "\<c-n>" endif endfunction inoremap <tab> <c-r>=InsertTabWrapper ("forward")<cr> inoremap <s-tab> <c-r>=InsertTabWrapper ("backward")<cr>