Felix Crux

Technology & Miscellanea

Tags: , ,

I’ve finally, belatedly, put together the text transcript, slides, and video recording of my PyCon 2016 talk “What You Need To Know About Free & Open Source Software Licensing” and uploaded them. You can view everything here.

Thank you to the conference organizers for inviting me and providing the video recording; thank you to everyone who attended; and thank you to all the folks who provided feedback on it, whether in person or online.

The talk has been available on YouTube for some time, but there you don't have the slides or transcript.

Tags: , , ,

When I was first introduced to Django, I found it so pleasant to work with, and so productive, that I ended up accidentally creating this site. I still stand by this first impression, and I still recommend and promote Django whenever I get the chance.

But sometimes it just isn't the right tool for the job. For a site like mine, which has essentially no dynamic content whatsoever, and is infrequently updated, it doesn't really make sense to keep up with the treadmill of updates, both to Django itself, and to the supporting infrastructure like the PostgreSQL database that sits behind it. Static HTML pages would be simpler to maintain, and, as an added benefit, load faster.

However, I didn't want to give up on some of the key parts of Django that really made my life easier. The templating system, for example, meant that I could tweak the look of the site and have changes consistently propagated across all pages, without manually updating each one. The automatic generation of RSS feeds was another nicety I didn't want to lose.

I therefore put together a system that allows me to retain the key benefits of Django, while producing an end result that is in fact a whole bunch of static HTML pages. It's called Transcribe, and it currently powers this site and a couple of others that I maintain.

Tags: , ,

So the W3C has officially ceased work on the next iteration of the XHTML standard, abandoning it in favour of the new and shiny HTML 5. I have some mixed opinions on this, since the simplifying purist in me likes the consistency and rigour provided by XHTML, but HTML 5 appeals to my more pragmatic instincts. HTML 5 also has support for a slew of nice semantic tags, like <section>, <article>, <header> and <footer>, which should make it easier and cleaner to style documents according to their content, and do away with the ubiquitous <div id="blogpost"> constructs that currently make up most sites.

Tags: , ,

I am afraid that I have to admit that the development of this site has until now proceeded in what any programmer must consider a state of sin: it was not under version control. Sure, I had periodic snapshot backups, but forget about versions, branches, and reverts.

The reason for this is that I was under the mistaken impression that my VCS of choice, git, made it difficult to set up remote branches. I think my confusion stemmed from the fact that it is somewhat tricky to set up public-facing ones with good commit-access control etc (which is why GitHub is so great).

Now that I looked into it more, I find it's actually tremendously easy, and I've got a really great work-flow set up: I have a master repo on the server, a development repo on my laptop, and another one in the directory from which the site is served. I can make changes on my laptop (and thanks to the magic of makefiles and m4 macros, keep a separate dev config file), and then push those to the master repository. When I'm ready to launch, I just pull them to the serving repo and run a make prod.


A watercolour picture
of the Earth, as seen from space. I had been toying with the idea of expanding my website into something larger, more interesting, and hopefully better designed for some time, when around July of last year I began playing around with the Python web framework known as Django. I was immediately struck by the elegance, ease, and simplicity of developing relatively complex applications on top of it, but didn't think I had any serious use for it at the time. I bookmarked the excellent Django book and promptly forgot all about it.