February 2010 (1)
September 2009 (1)
May 2009 (1)
April 2009 (1)
March 2009 (4)
January 2009 (3)
November 2008 (2)
October 2008 (2)
September 2008 (1)
August 2008 (5)
July 2008 (3)
June 2008 (1)
May 2008 (5)
April 2008 (8)
March 2008 (3)
February 2008 (1)
January 2008 (2)
December 2007 (2)
November 2007 (4)
October 2007 (17)
September 2007 (9)
Saturday, September 29 2007
In my day job, we have a client who is in many ways a delightful chap, but who is frustratingly unable to make his mind up about what he wants. We make changes and then undo them. We implement features he asks for, and he hates them. We make suggestions, and he ignores them, and then two weeks later he demands they be implemented immediately. Naturally, this causes stress. In my weaker moments I find myself feeling a certain amount of resentment. Which he doesn’t deserve, since he cheerfully pays for everything, and I admire his perfectionism.
So anyway I’m finding it unnerving that I’m doing the same thing myself, on my own personal project. Suddenly, it is imperative that Burble be able to serve multiple sites (so I can use it for bazombo.com and vital.org.nz without running multiple instances) and ordinary non-blog pages (since what is a blog but a specialised CMS that focuses on a content asset’s date metadata? Might as well deal with other kinds of asset while we’re at it.) It is vital that I be able to turn comments on and off, even though I have never felt like doing that in four years of blogging. And maybe I should be instrumenting pages for dynamic usage statistics. And so on… anyway, it feels weird when your own hobby project has scope creep.
I pretty much have non-blog pages licked. I can create arbitrary pages and pick templates for them and build a search engine-friendly URL out of the title. I don’t have much use for them on bazombo.com though. They’re really for my content from vital.org.nz.
My ultimate plan is that vital.org.nz stay as my purely personal site, for trivia and babbling and news for Stephen’s Inner Circle; bazombo.com is meant to be a platform for various projects and schemes I’m cooking up, and technical, factual, informative blogging. But I’m discovering that Burble is so much nicer for me to use than Blosxom (which drives vital.org.nz) that I have to have it on both sites.
Tags: burble ~ scope creep ~ the bazombo media empire
Friday, September 28 2007
When importing all my old content, I hit a snag. A lot of vital.org.nz has pretty broken markup in it. Burble’s templating system is strict XML under the hood, so any post or comment that contains broken markup causes burble to barf.
I discovered that there is a lovely Python wrapper for HTML Tidy. And there’s even an Ubuntu package. Problem solved.
>>> import tidy
>>> html = 'some <b>horrible<i> soup</b> which is nasty & yukky'
>>> options = {'show-body-only':'y', 'output-xhtml':'y', 'enclose-block-text':'y', 'enclose-text':'y'}
>>> body = str(tidy.parseString(html, **options))
>>> body
'<p>some <b>horrible <i>soup</i> which is nasty & yukky</b></p>\n\n'
Thursday, September 27 2007
I have whipped up a script that imports all the content from vital.org.nz into burble.
I wasn’t really planning on migrating that site over. Burble was meant to be a platform for some other things I’m cooking up, not a replacement for Blosxom. I just wanted to feel confident that burble would work well with a reasonable volume of entries and comments — and it does. Well enough that I’m wondering if maybe I shouldn’t go the whole hog and run everything on burble. That’d be kind of cool.
I’ve also fixed a little problem with Etags.
This is what my to-do list looks like for Burble:
Write query to retrieve posts by tag
refactor sql methods in model to do substitution and avoid SQL injection properly (see http://initd.org/pub/software/pysqlite/doc/usage-guide.html#executing-sql-statements )
Write template and handler for posts by tag
OpenQuestions
ComponentisedTemplates
Write query to retrieve posts by date
Write template and handler for posts by date
Refactor response so we can redirect
Write comment functionality:
– get sessions working
– design CommentProcessFlow
– design CommentDataAttributes
– write CommentAndCommentDAO
– merge CommentController and SingleEntryController (GET and POST)
– write CommentFormTemplate
– investigate turning forms into Entries.
– implement CommentProcessFlow
– implement AntiSpam
– retrieve comment count for entries
– hyperlink comment author names
– make anchors for comments
– we shouldn’t allow comments on nonexistent ids
– clean up session after comment post.
EtagManagementAsADecorator?
ArchiveCalendarWidget
TagCloudWidget
AdminAuthenticationDecorator
AdminConsole
BlogRollWidget
Tags should be able to have spaces
RecentCommentWidget
NonBlogPages
RSSFeed
implement TitleController
SetupOnTextdrive
Move methods out of model.EntryDAO into services
ImportOldContent from vital.org.nz
CachingStrategy
You can see there isn’t much left to do.
Tags: burble ~ softwareWednesday, September 26 2007
More progress: Burble now has an Atom feed. This proved surprisingly easy to implement. It’s just another template to pump a list of entries into.
Tags: burble ~ python ~ syndication ~ atom ~ templatesTuesday, September 25 2007
This story is both amazing and unsurprising.
…TVNZ said it had found “voting irregularities” in the ballots cast by members of the public.
Voting had closed for the competition, but during the routine check of the emailed ballots, it was found some had come from invalid email addresses, or without the authorisation of the owners of the email addresses.As a result, TVNZ had to invalidate the vote, and start again with a fresh system.
It’s amazing that TVNZ would go with a simple vote via email. Someone in the organisation must know that you cannot, over the normal internet infrastructure, rely on an email being from its ostensible sender. Don’t they get spam at TVNZ?
It’s unsurprising that people would game such a wide-open system, when the prize is worthwhile.
Details of the false emails have been referred to the police.
If I were accused of vote fraud in this competition, my first defence would be that no one could be expected to take such a stupid system seriously.
Now, how would I do it? Set up a website that sends a message to the user asking them to confirm their vote by pointing their web browser at a URL with a unique code. Easy peasy lemon squeezy. Far, far harder to defraud, and surely cheaper and less annoying to users than rejigging the competition and engaging someone to set up a txt-based service.
Tags: email ~ tvnz ~ bad design ~ softwareTuesday, September 25 2007
This comes to you via my phone — at the Wellington Hospital emergency department. I got chest pain last night and now, while all the signs are good, they’re keeping me to take some definitive bloods at eleven. Blimey.
Update: they sent me home, about lunchtime. It’s “musculo-skeletal.”
Tags: treo ~ health ~ hospital ~ heart ~ chest painMonday, September 24 2007
Tweaked css so the top paragraph didn’t butt up against its containing div.
Sessions are now persisted in dbm instead of memory, and are properly disposed of after.
Started thinking about how to abandon Colubrid, which appears to be abandonware now, and whip up a micro-framework myself.
Tags: burble ~ colubridSunday, September 23 2007
I’ve learned about Apache bugs. I’ve learned about Etags. I’ve learned about Python.
This post won’t be sticking around for long — I’ve a lot more work to do on this first — but this will be taking over as my publishing wotsit soon.
Tags: burble ~ python ~ testing ~ i did it my wayRendered at 2010-03-13 08:57:21