I’ll let you into a secret. You can tell when I’ve done a big svn up on this blog simply by looking at the theme. If it’s all black and white and sans serif, then it’s a racing certainty that I’ve just done an upgrade which has broken my usual custom theme.
So, later today I shall be sitting down with my local theme repository and bringing things up to speed with all of Scott’s changes.
I was going to save this until I’d rejigged my blog to a three column layout and had left everyone mystified by how I’d managed to get sidebars on both sides. But, let’s be honest here, it’s going to be ages before I do that. So, I shall spill the beans preemptively.
Typo Sidebar’s are now controller free!
Which probably means nothing to the vast majority of people reading this. But it makes me very happy.
Until a couple of revisions ago, Typo sidebars were rendered through a convoluted route, which involved n + 1 calls to render_component, where n is the number of items on the sidebar. Calling render_component isn’t something you really want to do even once if you can help it.
Guess who couldn’t sleep?
So, I’ve been productive and have ported 9 Typo sidebars to the new, controller free, sidebar architecture. Sadly, it’s not something I can write a program to do, but the work involved is still fairly minor.
It’s still a spike though; once I’ve done the other 20, I need to work out how to get their views into the plugin directory as well.
Still, progress is good.
Many thanks to Paul Ingles who has just written a fantastic article about writing a Typo sidebar in a test driven way.
For too long we’ve been assuming that Typo sidebars are, in fact, detestable (“If it’s not testable, it’s detestable” - someone at the Sydney XP group, by way of Martin Fowler). Paul neatly demonstrates that sidebars are perfectly testable, we just haven’t been testing them. Bad us.
So, I’m rolling back the changes in my current sidebar rejig and starting again by writing some tests for a few of the core sidebars, and then I can start my refactoring without quite so much of The Fear.
We’re in the process of doing up our house. Which means that there’s a bunch of stuff that we need to get rid of that’s not really good enough to ebay, but a wee bit too good/big to chuck in the bin.
So, we joined our local Freecycle group. It’s great, we offer stuff that we can’t use and people come and take it away for us. Occasionally, someone else offers something that we can’t resist.
Just in case you’ve been caught by it, the recent instability of this site doesn’t appear to be because of typo and rails bugs, but because the hard disk at my hosting services appears to be in the process of going bad. Hopefully it’ll be resolved soon.
This made me laugh a lot.
I was just about to start writing a multimethod system for ruby when I realised how much I miss Perl tools like Module::Starter. CPAN has a whole suite of tools which make it at least as easy to do the Right Thing when setting up your project than it is to succumb to ad hockery. Start your project using Module::Starter, and you get a sensibly laid out that works well with standard Perl build/installation tools, a stub of your module, with the various boilerplate bits of the documentation filled in, a test directory, README, etc…
I’m still in two minds about going to EuroOSCON this year. That’s not quite true. I want to go, but I can’t afford to go. I certainly can’t afford to pay for my own ticket, and if I could I would probably have put it towards a Macbook Pro.
Looking at Eurostar prices, it looks like it’d cost me at least £285 + food and taxis to do the ‘hallway track’, which is arguably the most interesting part of these conferences.
Well, today’s been fun. For appropriate values of fun. I’ve fought shy of doing politics in this blog so I’m not going to rant about the evils of theism, nationalism, Bush, Blair, Hizbullah, Israeli foreign policy, eejits who plot to blow up aeroplanes or any of the other things you’d expect a soggy liberal like me to get exercised about. Life’s too short.
Instead, I’m here to tell Tim Bray that he’s wrong.
So, it turns out that the rush released Rails 1.1.5 doesn’t actually fix the security problem. Worse, it seems that the problem lies somewhere in the nest of serpents that is the routing system. It turns out that some of the magic that lets everything work in nice ways doesn’t do enough to make sure that malicious people can make everything work in nasty ways.
The problem lies in the route that everyone has in their routes.
If you were to ask me what my current preoccupations were, the top three would probably be breadmaking, ruby and folk music. This last week has been a pretty decent week on all three fronts.
On Friday, I drove down to Shipton Mill near Tetbury, one of the finest millers in the country, and picked up around 40 kilos of interesting flour at splendidly wholesale prices (substantially cheaper than I was paying at my local suppliers and with far greater variety).
Oh, I say. It seems that Sam Ruby is another member of the “Ruby ’til [Perl] 6” club.
I like Ruby a lot. For the kind dynamic OO/Functional coding style that I espouse, it’s a better Perl than Perl simply because it’s so much less verbose (I got so tired of always unpacking the argument list, it tended to put me off applying the Composed Method pattern anywhere near often enough).
Are you reading Mark Dominus’s Universe of Discourse and if not, why not?
Mark’s one of the cleverest and most entertaining guys I’ve ever met; if you get a chance to attend one of his courses, you really should do it. Your mind will be expanded. Which is by the by, but hey.
The reason I bring this up is that Mark started an occasional series of articles discussing some of the ‘interesting’ queries that show up in his server logs, and he gets some pretty spiffy queries - if I ever get a query as interesting as “if n + 1 are put inside n boxes, then at least one box will contain more than one ball.
Yay! Not only have we released Typo 4.0.0 at last (big news: massively improved feedback spam protection and much, much easier installation), but I’ve brought this blog back to the bleeding edge (complete with further improved feedback management).
I was about to say that most of the changes are only visible to the blog administrator, but that’s probably because I’ve been developing it; you don’t really notice the changes when you’re making them in fairly small steps.
The ‘gizzajob’ post In the unlikely event that you’ve been wondering where I’ve been this last while, I’ve been busy with one of those long dark teatime of the soul affairs, all the while baking bread.
Right now, I’m seriously considering giving up programming and becoming an artisan baker making really good crusty bread in a woodfired oven. Or maybe an ’event’ photographer - weddings, parties, open source conferences etc.
<typo:flickr img=“151759163” size=“small”/>
If you haven’t been to see Spiers and Boden yet, you really should. Monday night’s gig at the Cumberland Arms was fantastic. Great songs and tunes and, just as important, great rapport with the audience. Anyone who can take what’s potentially one of the most boring songs in the tradition - The Prickle Eye/Holly Bush and make it a blistering encore piece must be doing something right.
Martin Fowler has posted an overview of the ways in which different projects can handle Code Ownership on his blog. As usual with Martin, it’s a thoughtful piece coming down strongly in favour of an agile solution (Martin argues persuasively that strong code ownership makes it much harder to improve the code - or make it worse, but let’s assume that we know what we’re doing).
Typo is open source. In theory it has collective code ownership, but looking at the patches that come in, it’s apparent that a lot of people still think in terms of strong code ownership.
Once upon a time, when the world was young, Apple announced their 17 inch G4 Powerbook with a huge screen and blisteringly quick 1GHz G4 PowerPC processor.
“It must be mine!” I thought, and so it came to pass.
<typo:flickr img=“6896306” size=“medium” />
It was lovely. It was built to my scale. It was the best computer I had ever owned.
Of course, Apple kept rejigging it with faster processors and graphics cards and other goodies, but I never felt the upgrade itch; so what if there’s faster stuff out there, most of the stuff I do is still blocked on network latency and typing speed.