Signs of the Times
2010-02-09 – 07:07My daughter has a floor-mat jigsaw puzzle of the Solar System. It only has eight planets—no Pluto. I feel… dated.
Data is ones and zeroes | Software is ones and zeroes and hard work.
My daughter has a floor-mat jigsaw puzzle of the Solar System. It only has eight planets—no Pluto. I feel… dated.
Dear Lazyweb,
Is there a tool somewhere that will automatically generate and validate all possible output variations for a Django HTML template page? We’re using Django in Basie, and have been running into problems when one branch of a conditional closes a tag, but the other doesn’t:
<li>opening text
{% if something %}
blah blah
</li>
{% else %}
Whoops, forgot to close the list element.
{% endif %}
I know that code review should catch these, but when the examples are longer, it’s hard to keep track of as-yet unclosed tags. Testing should catch them too, but sometimes people forget to write as many test as they should *cough* *cough*. So, is there something that will parse the HTML templates, generate all possible variations, and check that they’re valid? It wouldn’t have to generate all possible cross-products (at least, I don’t think it would), so runtime would be manageable.
Thanks in advance.

If I’m supposed to meet you today, but don’t show up, I apologize: Google Calendar is “temporarily unavailable”. There was no warning that I saw; disturbing that someone a continent away can disrupt my life in the same way that losing my day timer did twenty years ago. When I upgrade this WordPress installation in May, I’m going to look seriously at moving my life planning there—at least then there’s a tech support team I can contact.
I do almost all of my work now in a command-line shell, including reading email and composing text of all kinds. And I mean it when I say “a” shell—I almost never have two open at once. The reason? It encourages me to use only one tool at a time, which I find makes me more productive by reducing context switching overheads. I don’t yet have the willpower to (re-)open Firefox each time I need something on the web, then close it when I’m done, but that’s the next step. Who’d have thunk that going back to 1984 would be the right answer in 2010?
My side of the conversation this morning went like this. (I would have recorded it “for quality assurance purposes”, but where would I send the recording?)
Google Summer of Code 2010 is on for 2010! They will begin accepting applications from would-be mentoring organizations on March 8th, with applications closing on March 12th. Students can apply between March 29th and April 9th.
Mike Conley (one of my grad students) is converging on a thesis topic: pre-commit continuous integration. If you have thoughts, he’d enjoy hearing them.
I’m a big fan of David Mackay’s Sustainable Energy—Without the Hot Air, not least because it’s a command performance by a master of back-of-the-envelope calculations. This post by Kent Beck on NoSQL databases is a smaller example of that art, but still fun. Amid quotes like, “[Amazon] EC2 is basically a really complicated way of charging for electricity,” and, “At internet scale, programmers are (sometimes) cheap compared to the cost of electricity,” there’s some nice number crunching to explain why non-relational databases are suddenly fashionable. Thinking like this really does deserve to be called software “engineering”.
Amid all the excitement about moving education online, we shouldn’t forget that so far, doing so seems to hurt those who need help the most. As Mark Guzdial says in his recent blog post:
Universities already widen the gap between rich and poor, by flunking out or not admitting the poor. On-line courses tend to flunk out even more students, and mostly at the lower-knowledge and poor levels… I think it’s possible for on-line education to be even better than existing University education, in terms of improving learning and engaging a broader range of students… [but] the work has to happen first. If [universities] disappear in favor of [online education], before we make [online education] better, [it] will lead to worse education for society, especially for weaker students.