This is part of my blog, which I have long since stopped maintaining. The page has been preserved in case its content is of any interest. Please go back to the homepage to see the current contents of this site.
Today, Ed Miliband gave his acceptance speech to the Labour party conference, and having watched it, I caught myself accidentally feeling cautiously optimistic. Have no fear, that feeling was quickly despatched and I remain my normal cynical self.
One particular term he used which grated horribly for me was “the good society”. The Good Society, really? Was the Tories’ equivalent not annoying enough already?
The thing about “the Big Society” and “the Good Society” is that they’re soundbites and they don’t mean anything, and that for some reason annoys me more than it ought to.
We’re just about coming to understand that Cameron’s “Big Society” is about parents building schools and getting charities to pick up the bill for things the government can’t afford to fix. It seems to be a partial removal of the state’s abstraction layer: instead of wanting schools, paying taxes and letting someone qualified turn one into the other, you’re now encouraged to take on that overhead yourselves so that they can sack half the public sector workers.
Wait, this wasn’t supposed to be a rant about that Society.
No, the “Good Society” is even more nebulous, and I hope it doesn’t become a buzzword like its alter ego. What is it supposed to entail? Us being vaguely nice to each other and hoping it all works out?
For all the catchy phrases that politicians throw around, the majority of the public are committed members of the “Meh Society”. We want to pay taxes at a reasonable level, and get good public services as a result. And in the main we’re nice people, but we’re also pretty cynical about politics, and being declared part of “the Good Society” or “the Big Society” just doesn’t entrhrall us as much as those in parliament would like to believe.
“The era of New Labour has passed,” said Ed Miliband on Sunday, and boy was I happy to hear that.
I am, I suppose, of the New Labour generation – Tony Blair swept to power in 1997, just as I was turning 12 years old. I stayed up late to watch the votes roll in, more excited by the fact that I was simultaneously maths-geeking with half the population than I was knowledgeable about how a Labour or Tory win would affect me.
But from about that time, the dawn of my political awareness, Labour has been New Labour. Miners’ strikes and Poll Tax riots are creatures of the history books to me, and trade unions just aren’t things a 12-year-old cares about. Labour, to me, was about the cult of personality and of spin, Mandelson’s scandals and Blair’s toothy grin. They were about Middle England and unpopular wars and sacrificing our liberties at every turn for our protection from today’s terrorist organisation of choice.
After a while I turned 18, and like the good proto-Socialist that I was, I voted for what I perceived as the most Left-leaning party on the ballot sheet.
The Liberal Democrats.
Five years later, well, that alleigance didn’t work out so well.
But while I’m glad that Labour’s new leader has called the end of the Blairite regime, I’m a little saddened by how quickly the possibility of a “lurch to the Left” has been dismissed. Ed Miliband has said that he wants to “redefine” the political centre ground, but where does that leave our political landscape?
We have the Conservative party, on the centre-right. The Lib Dems, approximately at the centre. And now Ed Miliband’s Labour, redefining… the centre.
Centre, centre, centre. Should we be bracing ourselves for a continuing era of utter dullness in politics? If we discount the tiny Greens, the loony-fringe UKIP and the despicable BNP, and if post-New Labour continues Blair’s obsession with winning Middle England’s votes, everyone’s manifestos start looking suspiciously similar.
Time to just say “sod it” and run as a candidate for the Pirate Party or something?
(Sources for the Milliband quotes are the Financial Times’ website, which I’m not linking to because it’s got Murdoch cooties.)
Glittering skyscraper spires tower over the city of Manama, Bahrain’s capital – and only – city. Each lit up at night with a thousand twinkling lights, they are monuments to technology and to money, each one the home some giant financial mega-corporation.
But yet in the streets below, a very different city lives. A city of densely packed buildings, looming over the streets that get narrower and narrower as you venture onward. Every building is a shop, most more than one, and flanked by market stalls. Jewellery, clothing, carpets and all manner of things are waved at you as you pass, in the hope of making a customer of you.
Above head-height, some buildings are intact enough to be homes, their air conditioning units dripping warm water down into the streets. But others are abandoned, even ruined. Nothing gets fixed here; people just work around its broken-ness.
In each shop window are plastered layers of ‘room to rent’ signs, each one marked ‘Kerala only’, ‘Filipino only’ or one of a dozen other permutations, pasted up by apartment-owners desperate to find a tenant with whom they have something in common against the city’s multicultural morass of people.
And most of all there’s the smells, and the contrast between them. Good and bad, they assault you at every turn. There are places here for every culture on the planet, from the Italian restaurants and Irish bars of the tourist areas to grimy Chinese takeaways and run-down Pakistani restaurants that cater only to their ethnicity of choice. And as soon as three restaurant-smells in a row lull you into a false sense of security, an open dumpster full of rotting vegetables is always waiting.
Between its glittering mega-corp spires in which the lucky few work, and the ant’s nest of twisting streets and cheap phone unlocking shops for the rest, Manama is twenty years of dubious technological progress away from becoming the epitome of near-future Cyberpunk dystopia.
And for that, I adore it.
Back here again. Jubail is beginning to feel like a second home, we slip back into life here so easily. We remember what channels are on the TV, what to order for lunch to minimise the amount of it that’s stale. Out on the range, they remember our tea and coffee preferences, and we have our own mugs. I’ve given up wondering if each trip will be our last, saying goodbye as if we would never return. I guess our real final trip will sneak up on us in the end, never letting us know that’s what it was until long after we’ve returned home.
For years I’ve travelled around with wildly varying hairstyles across my various forms of ID, from my passport photo taken with barely any hair in 2005 to more recent shoulder-length versions. I’m surprised I’ve made it this far without being questioned by anybody, but I imagined the first query would come from a passport checker in a booth somewhere, probably on re-entering Britain, who I’d be able to have a chat with and explain the haircuts.
As it turns out, the first person to question it was a Marine. With an AK47. Who didn’t speak English.
The vast majority of user-reported bugs and requested features on “a thousand words” have now been sorted out. As requested by my co-conspirator Eric, we now have an ‘adult content’ filter based on a date of birth field in users’ profiles, and a ‘report’ button to bring problematic stories and pictures to the attention of the moderators. There’s also a DeviantArt-style “request critique” option to let users know what kind of comments you’re looking for.
Timestamps have been fixed, “no stars yet” ratings introduced, and text field policies such as “mustn’t be empty” have been added across the site. A few rendering issues in IE have been sorted out, so it now looks much the same across all platforms.
The biggest change is unfortunately something most of you will never see – the moderator console. Picture submissions and reported stories/pictures now sit in queues that can be dealt with by moderators. An item entering a queue triggers an e-mail to all mods, who are invited to review it and make changes as appropriate. Once changes are made, the affected users are then e-mailed to let them know what happened (and in the case of reported items, to give them a chance to challenge it).
There’s one major feature request that’s not yet been implemented: file uploads. Once in the system this would allow users to submit pictures from their hard drives rather than from the web by URL, and would allow moderators to copy URL-linked pictures to the site to avoid hotlinking. (At present we don’t hotlink, but we do therefore have to copy pictures to the site manually using FTP.) It could also allow users to use a non-Gravatar picture for their profile.
Depending on how things go, that may or may not be ready by tomorrow night. On Saturday morning I jet off to sunny Saudi Arabia, so any changes not made by then are going to remain unmade for a while. From that point it’s in Eric’s capable hands as to whether she wants to release the site or not. Even if the site does advance to release status, I’m still taking bug reports (they’ll sit in my inbox until I get back), so keep on letting me know what’s broken and what you’d like to see added!
“a thousand words” has now reached a stage where every feature that I give a damn about is implemented. Thus, we’re opening it up to a limited beta test to iron out the wrinkles and get a list of any features potential users would like to see us launch with. If you’re bored or simply have a love of breaking other people’s shit, head along to http://athousandwords.org.uk and see what hell you can raise. As the Big Red Box Text warns you, really don’t submit any work of fiction you care about, just in case some kind soul finds an SQL injection vulnerability and trashes the database.
Since last time I bored the hell out of you all, voting and commenting has been implemented, registration has been fixed, filtering HTML tags from submissions has been added, as has a word count and the picture selector on story submission. There’s been a bunch of behind-the-scenes tweaks to improve security too.
The one feature that Eric definitely wants is a way to mark stories according to their content. We could do this in several ways – I would prefer, if anything, to just have a “not for kids” option on each post and a Date of Birth field associated with user accounts, so we can hide stories as required. Other options include a range of ratings (U, PG, 12, 15, 18…) or tags for certain content (violence, sex, language) so people can avoid whatever they’re picky about.
This probably ought to come with a Report button so that users can report incorrectly rated stories, and I would add a similar feature to report pictures. (Picture submissions are moderated, so Goatse isn’t going to make it through anyway, but the mod team might miss subtler things like licencing terms and copyright infringement.)
At that point, all that’s left on my list is the admin interface and anything that users suggest during this beta. Hopefully we’ll be ready to launch by the time I depart for sandier shores at the end of the week!
A few days’ laziness (by which I mean a few days’ Starcraft) have passed with not much work being done on “a thousand words”. That came to an end tonight, with a productive evening resulting in a working profile system so that users can now add and display personal information, change their registered e-mail address and password, etc.
There’s now a database backend for the voting and commenting systems, which will be complemented by their GUI pages tomorrow night.
Once that’s done, that’s the last of the main functions out of the way and we’re basically down to tweaks. I think we ought to, in no particular order:
Decide on what formatting users can add to stories, and filter for it
Add a word count, and possibly limit submissions to e.g. 600-1400 words
Add a means of reporting stories and pictures for e.g. copyright issues
Add a means of rating stories, so users can mark them as containing sex, violence etc.
Create an admin interface, so we don’t just have to run the site with raw SQL queries
Add ranks, etc. (incentives for achieving high Total Stars)
jQuery up some of the main bits to improve user experience
Implement the scrolling list of pictures for users to select when creating a new story
At that point, I think it should be ready for open beta. Hopefully we can get it all done within a week, before I depart for internet-less shores!
Another day, another bunch of functionality added to a thousand words. With the main public-facing interfaces largely complete, I have moved on to the guts of the site’s user interaction. The site now has working, but ugly, implementations of:
E-mail address / password authentication, with cookie support based on a secret phrase generated at registration.
Registration itself, including the setting of a display name (users authenticate with their e-mail address, so we need something friendlier to display in the UI). Accounts are created in an unactivated state, and an e-mail is sent allowing the user to use their secret phrase to activate the account (GETted via a “click here to activate!” URL).
Picture submission, which adds the submission to a ‘queue’ table. In time there will be an admin interface for moving items from the queue to the real pictures table, i.e. promoting a suggested picture to “picture of the week” status.
Story submission, which adds the story to the live site and takes you there after submission. There’s currently no edit capability, and the picture that the story is based on must be manually specified by ID number. (The latter will become a scrollable jQuery list of all pictures.)
A story edit/delete interface is my next task, and once that’s done, the core functionality (excluding any user profile-related code) will be largely finished. After that there’ll be a period of testing and improving the interfaces of the new functions, before I put a call out for a couple of willing guinea pigs to try and break the site for me! If anyone out there is expecting to be really bored sometime this week, let me know!
With the main browsing UI for a thousand words up and running, it’s time to bore the world with more pointless trivia before moving on. Today: design sketches!
Pretty much every software project I undertake these days begins with a sketch of the user interface and an initial structure for the database. Labouring under the cruel ‘no whiteboard’ conditions at home (maybe I should get one?), I drew these out on paper. Passing the UI sketch over to Eric after about 5 minutes’ work, she described it as “awesome”. I think that’s the first time that’s ever happened; the general response at work is along the lines of “but where are you going to put giant-ugly-element-X that I’ve just thought of and wasn’t in the spec?”. So that was that, and I’ve coded it up pretty much as it was on paper.
The database hasn’t changed much from the original design yet, but it will have to soon – as designed, the vote (‘stars’) system doesn’t record each user’s vote on each story, so it can’t support users changing their vote. Sometime during development I’ll have to devote a few hours to figure out the best way of handling it, though that probably comes down to a few minutes as someone on Stack Overflow has inevitably asked about it already.
Next up on a thousand words is coding the first few forms that will allow users to register and log in, submit photos and submit stories. That should be done within the next few days, and will allow me to play with actually changing the contents of the database, rather than just showing views of it.
Somehow unable to cope with actually having free time of an evening, I have taken on yet another project which will doubtless push me deeper into the dark, untamed wilds of the internet, the land stalked only by the mysterious beast known as the “web developer”.
- Users submit photos or other images that they find interesting
- Every week (or other suitable period of time), one of these is chosen by the site staff
- Users then write short stories, of around 1000 words, inspired by the picture
- Users rate, comment etc. on each other’s stories
I’ll be coding up this site in my spare time over the next few weeks, and you can check out my current progress on the live site at a thousand words. Currently, the database design is done and I’m partway through the UI of what will be the main page. My todo list is roughly:
- Finish the main page and story page UIs.
- Add bare-bones pages for all the GET/POST functions, e.g. registering accounts, submitting stories, submitting pictures.
- Test all the functions.
- Work on their UIs.
- Start closed beta testing for anyone interested.
- Liberally apply jQuery to improve user experience.
- Add commenting, possibly via DISQUS.
- Add proper user profiles, gravatar support etc.
- Get everyone I can find to try and break it.
- Release! Open the flood-gates, and despair at the dribble I receive.
As I go I’ll be posting updates and hopefully-interesting insights here, and you can always check the site at athousandwords.org.uk to see how I’m getting on.