The Guns of Boston

This short story came out of the retro-future / 1930s Pop­u­lar Mechan­ics vibe of VNV Nation’s album “Auto­matic”. If you fancy some­thing appro­pri­ate to lis­ten to while read­ing, here’s a YouTube link to one of the songs from the album: VNV Nation — Photon

I parked up on the north­ern shore of Long Island, just in time to catch the dawn.  As the sun took its first ten­ta­tive step into the sky, sliv­ers of orange light flashed from hori­zon to hori­zon, light­ing up the gleam­ing chrome of Boston’s rail­gun spires.  The air hummed the song of stored elec­tric­ity, punc­tu­ated by the pop-pop drum-beat as each one launched its pre­cious Europe-bound cargo and the slow mechan­i­cal clank­ing of each one adjust­ing itself to changes in the wind high in the stratosphere.

The peo­ple of Europe would be at lunch already, eagerly await­ing the day’s Amer­i­can cargo so that busi­ness could carry on.  Boston always started early.  Then, as dusk gath­ered in Glas­gow, La Rochelle and Lis­bon, the postal guns of west­ern Europe would clank and pop and hum into life, speed­ing their pack­ages back towards Boston’s early afternoon.

The best times for the guns always seemed to be dawn and dusk, as if the whole net­work and the rota­tion of the Earth con­spired to show off the blaz­ing sil­ver of each heavenward-pointing barrel.

I sup­pose it was pride, even nar­cis­sism, that brought me back to that place every morn­ing.  It was a thrill every time to see the pen­cil and paper of my designs trans­lated into three dimen­sions, for while that paper had cap­tured the power con­sump­tion, the launch veloc­i­ties, the wind com­pen­sa­tion; it could never have cap­tured the beauty of the spires catch­ing the dawn, and it could never have cap­tured the ela­tion of know­ing that the future had become the present.

A sigh, and a half-hearted glance at my watch. The Cen­tral Post Office, itself a mar­ble and glass cathe­dral to tech­nol­ogy, awaited me. They told me that it had been a year already since the first rail­gun postal ser­vice began. Had I really sat and watched the dawn three hun­dred and sixty-five times? Spring had become Sum­mer, Fall and Win­ter, and here we were again on another April day. I sup­posed that it must have been a year, though it seemed like a week and like a lifetime.

I felt as if I was one of the guns, then.  So busy every day, yet stand­ing tall as a mon­u­ment to future gen­er­a­tions; part of the fab­ric of the world, set apart from time.

A foot gin­gerly pressed onto the gas pedal lifted my car from where it had parked, and I swung it slowly around to face the city before putting my foot down more firmly.  In a shower of dirt, then sand, then water, we shot out across the bay, toward the glass and chrome city that blazed in the morn­ing light.

HOWTO: Convert WordPress Posts to Pages

I’ve recently had the unfavourable job of con­vert­ing some 400 posts on my WordPress-powered site into pages. I’d been putting this off for a while, as as far as I could see the only sane way of doing this was using p2pConverter — a great plu­gin for con­vert­ing indi­vid­ual posts to pages and back, but sadly with no bulk con­ver­sion capability.

I had a num­ber of post cat­e­gories, and I wanted all the posts in each cat­e­gory to become pages under­neath a cer­tain pre-existing page. The advan­tage with this scheme is that if the old cat­e­gory and the new par­ent page have the same name, the URL of the page doesn’t change dur­ing con­ver­sion. (e.g. a post “Suc­cess­Whale” in cat­e­gory “Soft­ware” has the URL /software/successwhale, and so does a page “Suc­cess­Whale” under­neath a par­ent page “Software”.)

In the end, I wran­gled some SQL to do the job. This is how I did it.

This HOWTO is in the pub­lic domain. You are free to re-post it wher­ever and how­ever you like, though a link back here would be appreciated.

Before any­thing else, back up your data­base! I am not respon­si­ble if you break your site by fol­low­ing these instructions.

After back­ing up, I fired up MySQL Query Browser and pointed at my data­base. You could use that, or php­MyAd­min if your host pro­vides it, or even a command-line inter­face on the MySQL server if you so desire.

Back in the web browser, head to the Dash­board. We need to get two num­bers — the ID num­ber of the cat­e­gory you’re mov­ing posts from, and the ID num­ber of the par­ent page you want the new pages to sit under. For the first, pull down the Posts menu and click Cat­e­gories. On the right-hand side, hover over the “Edit” link under a cat­e­gory name.

Category Mouseover


On your sta­tus bar, you should see the loca­tion that link is point­ing to. At the end there should be a num­ber, such as the ‘14’ in this example.

Category Statusbar


To get the sec­ond num­ber, click the Pages menu on the side­bar. Just as before, hover over the Edit link of the page you want to be a parent.

Page Mouseover


And again, the sta­tus bar text will end with a num­ber, which you need to note down. Here, it’s ‘890’.

Page Statusbar


Now back to the MySQL Query Browser. Before jump­ing in with a move straight away, we should check what we’re about to move just to make sure we’ve got it right. Exe­cute the fol­low­ing query, replac­ing 14 with the first num­ber you obtained earlier:

SELECT *
FROM wp_posts, wp_term_relationships
WHERE (wp_posts.id = wp_term_relationships.object_id)
AND (wp_term_relationships.term_taxonomy_id = 14)
AND (wp_posts.post_type = "post");

This should pro­duce a list of the posts you want to move, and only those posts. If it does, great! Edit the fol­low­ing query, replac­ing 14 with your first num­ber from ear­lier, and 890 with the sec­ond number:

UPDATE wp_posts, wp_term_relationships
SET wp_posts.post_type = "page",
wp_posts.post_parent = 890
WHERE (wp_posts.id = wp_term_relationships.object_id)
AND (wp_term_relationships.term_taxonomy_id = 14)
AND (wp_posts.post_type = "post")

Exe­cute that, and you should be done! Check the Posts and Pages sec­tions of the Dash­board to make sure it’s worked as you expected.

In my expe­ri­ence, the first query will some­times not return exactly what it should. In this case, I’m afraid I don’t have a clever solu­tion — this prob­lem occurred with less than half a dozen posts for me, so I just con­verted them with p2pConverter.

If you have more cat­e­gories of posts to con­vert, repeat this pro­ce­dure again until you’ve got them all done.

I hope you’ve found this useful!

Overpackaged Much?

The Envelope: Vast, Thin, and Oily.

The Enve­lope: Vast, Thin, and Oily.


The phone com­pany Orange appear to be giv­ing out free head­phone adapters as part of some pro­mo­tion or other. So, nat­u­rally, on the band­wagon I jumped to see if I could grab some that would work with my phone. I filled in the form, clicked Sub­mit, and thought noth­ing of it for the next two weeks.

Then I get a failed deliv­ery note through the door. I’m expect­ing a few of these for var­i­ous people’s presents, most of which I’ve ordered off the inter­net. But it’s a let­ter, appar­ently, and Spe­cial Deliv­ery — so it needs sign­ing for. “Strange,” think I, “I’m not sure I ordered any­thing flat enough to be con­sid­ered a let­ter.” So down to the sort­ing office I go, and pick up… this. A something-bigger-than-A3-sized plas­tic ‘enve­lope’, that feels like it con­tains a piece of paper. Weird.

Package Contents

Pack­age Contents

So I attempt to unpack said piece of paper. First thing of note, the envelope-thing is oily. Not vis­i­bly so, but I had to stop in the ASDA bath­rooms just to wash what­ever gunk it was off my hands. And, once finally inside, I dis­cover… two pieces of paper! Once of which is the deliv­ery note. The other, a full A4 sheet of 6-point text. “Terms and Conditions”.

What the heck?

Just in case, I rum­mage some more, and at the very bot­tom of the bag, I find a small black object, maybe a cen­time­tre long at most. And, once I’d found some light to see it prop­erly by — my god, it’s a head­phone adapter! I very nearly threw the bag away with­out find­ing the damn thing.

The Adapter Itself, Just in Case you Missed It

The Adapter Itself, Just in Case you Missed It

And, just to com­plete the aura of bizarrity sur­round­ing the whole thing, it of course is not even the right plug to fit my phone.

So, er, any­one want a 2.5mm to 3.5mm jack adapter? Be warned, I may send it to you in a full-length ship­ping container.