Another similiar program is spacemonger.
Wandering in front of Churchill square at lunchtime, I saw two large armed policemen with sub machine guns. Now I don’t object to having more policemen because the Labour Party Conference is in Brighton. I understand that they’re a large and obvious target for terrorists. But that still doesn’t mean we need armed officers wandering around putting terror into the local populace. I mean it doesn’t take much for the police to take an interest in you these days.
Of course, there’s no information at all on the police website to tell you what’s going on.
So the Labour Party Conference visits Brighton once more. On my way into town yesterday, I noticed riot police vans. Standing next to them were police with sub machine guns. If that isn’t terrorism, I’d like to know what is. People with guns like that should be in Basra, not Brighton. Sorry for the lack of photo, I was driving at the time.
It’s also good to know that our elected leaders are far too scared of photography for this to be allowed.
This really does take the biscuit. What kind of people vote for these morons?
I’ve just been fleshing out all My Projects and my TODO list. They are both discouragingly long. My projects have been left to rot in too many cases and my TODO list is continuously filling up with new ideas. Maybe one day I’ll try to find the right balance. At least having them all down in one place will help.
I’ve just released a new version of subatom, that now gets linking correct if you have viewcvs or similiar installed. Unfortunately, I’ve now realised that the amount of command line arguments are such that I’m going to have to start adding a configuration file to it. My crontab lines are looking a bit unwieldy.
Nonetheless, if you want to generate atom feeds of your subversion repository, give it a try. It seems to work quite well.
The ever interesting Ajaxian Blog highlighted this very interesting example implementing AJAX autocompletion for wicket. I had a (very) brief look at Wicket a couple of months ago, and it seems very promising. A really nice design, that cleanly enforces separation of presentation and content. In particular, I am very enamoured by the fact that it doesn’t prevent you from generating valid XHTML templates, unlike Tapestry.
Anyway, that article really confirms the view that it’s a very nice framework, seeing how easy it is to extend it. Of course, it’s not as simple as Rails, but it’s pretty good for Java. 🙂
I am greatly amused by the fuel protests (or lack thereof) that are supposed to be taking place today. Every morning as I cycle in to work, I look at all the fools in their tin-boxes-on-wheels and wonder why they are so addicted to their ugly, smelly devices.
I certainly acknowledge the utility of owning and using a vehicle (as I do). But I am continuously astonished by the complete and utter lack of thought that goes into their use. If you’re only driving into work, why not take a bus instead? Or cycle and get fit at the same time.
By curious coincidence, I’ve just been listening to midweek, which started off with John Grimshaw, mastermind of SUSTRANS. They’ve just opened their 10,000th mile of the national cycle network. I can’t recommend that enough. Great idea.
Once again, I managed to see the dreaded ”<IDLE> in transaction” message from PostgreSQL today. This means that I have a connection to the database open, which is currently inside a transaction. This is bad because locks are held open in a transaction. So, what to do about it? Firstly, examine the documentation.
- <a href="http://search.cpan.org/dbdpg/DBD-Pg-1.43/Pg.pm#Transactions”>DBD::Pg on transactions.
- <a href="http://search.cpan.org/timb/DBI-1.48/DBI.pm#Transactions”>DBI on transactions.
- <a href="http://search.cpan.org/tmtm/Class-DBI-v3.0.4/lib/Class/DBI.pm#TRANSACTIONS”>Class::DBI on transactions (which I’m amused to see that I contributed when I first came across this problem several years ago)
Now, the application I’m working on at present has no particular need for transactions for the most part. So it would definitely be easier to turn on <a href="http://search.cpan.org/timb/DBI-1.48/DBI.pm#AutoCommit”>AutoCommit and only drop into a transaction when I absolutely have to.
What do I know so far?
- AutoCommit defaults to on.
- But Class::DBI disables it by default for PostgreSQL.
- My application is running as part of an HTML::Mason web page.
- When I make any call that goes near the database on a Class::DBI object, DBD::Pg executes an implicit
BEGINbefore the SQL that it has been sent executes. Only the first time though. This is because DBD::Pg is a database where
a transaction must be explicitly started. DBI says
the driver will automatically begin an explicit transaction when AutoCommit is turned off.
- In a nutshell, I need to get AutoCommit turned on until I need it.
There, wasn’t that simple?
Tim Bray notes that buffering is good, in his own inimitable, humourous style. I feel his pain though. I remember wincing when I read about the improvements to 4.2BSD some years ago to stop doing single character reads and writes in libc. It sped the system up enormously and made for some very happy users.
Incidentally, I’m not old enough to remember 4.2BSD. I just read the paper a few years back.
SiteBar looks useful. And it has a firefox extension…
But their server software needs MySQL. I like PostgreSQL. Bah. That sounds like work. Thankfully, their database abstraction looks reasonably clean. Oh well, here we go.
Update: no, the mysqlisms are too deeply embedded. Or at least, I don’t know how to sensibly deal with assumptions about mysql_insert_id that aren’t true in a PostgreSQL world.