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.
It’s now been two years since I last did any work involving autonomous vehicles, and I’m kind of disappointed by the lack of that kind of work. Writing software for big data acquisition systems is all well and good, but it lacks a certain something – I just don’t get attached to them in the way that I do to vehicles such as this one.
One could probably argue that developing an odd fondness for robot boats is a bad thing, but unfortunately that appears to be the way my brain is wired. So, onwards!
Since no autonomous vehicle work seems likely to come my way professionally at the moment, the urge is rising to build one in my spare time. This presents a problem, in the form of a lack of time and money.
I’m unlikely to stumble upon a free RIB, jetski or minisub that I could hack about with, and have nowhere to store one anyway, so those are probably out. Cars would be the next obvious choice, but if we had a car to start with, the family may object to me covering it in sensors and filling the boot with computer equipment.
I think we need to think smaller, and my co-conspirator @aefaradien suggested a quadrocopter.
Our first challenge is to specify the parts we want to use, which is the first point at which my expertise starts to become less useful. The natural approach for me at this point is to spend about £20,000 on a cRIO and a bunch of PC104 boards and wire them all up in a big case – not only don’t we have anything like that amount of money, weight is now also an issue.
For the CPU of the device, we considered a cheap Android phone, as this would give us GPS, a gyroscope, WiFi and a camera without spending too much money. However, we would still need to use a separate motor driver board for the propellers, and getting a phone to talk to it could be tricky. @aefaradien raised the issue of reliability, too – a crashed phone means a crashed vehicle. Even with a watchdog timer to reset the phone (potentially yet another board), Android’s boot time is going to leave our precious ‘copter in a ditch somewhere.
An Arduino is looking like a much more appropriate solution, especially as they come with digital and analogue I/O baked in, and readily available “shields” that could drive the motors. However, that leaves us sourcing our own gyroscope, GPS and camera, as well as figuring out how to remotely control the vehicle.
Our notes are available at sparktank.net, and more bloggery will occur as the project progresses.
Once upon a time, accounts on blogging site LiveJournal were precious commodities indeed – the site gave out invites for its members to use, but there was no public sign-up page. I got my invite in the autumn of 2003 thanks to sasahara (Account active 2003-2009) from the IRC channel that I frequented at the time.
LiveJournal was the ‘in’ place to be for angst-ridden students like myself, in the dim and distant pre-MySpace past. We were all there; it was our network before Facebook came along and crushed all other ways of swapping awful memes with your friends.
If I recall correctly, on our first encounter, squirmelia (2001-2011) asked for my LJ handle before I was asked for my name. (Though seeing as that night was also my first encounter with eldritchreality_ (2004-2011)_ and charon47 (2001-2010), and my first trip to The Dungeon, that recollection may easily be in error.)
As the place where we bared our hearts for the world to see, there were good and bad times aplenty, all pasted up on the internet – though in the case of the most intense drama, it was locked down for only certain groups of people to see. I recall having “Everyone except X” groups for all three of my University crushes, plus the girl I ended up with.
The LiveJournals we created for characters in a roleplaying game, like my own Kotori (2004-2005) are still there. And aside from an in-character Remus Lupin blog (2003), eldritchreality and I are still the only LJ users to express an interest in combat magic. We spammed countless quizzes and memes together, organised dozens of parties over LJ; my friends and I.
Good times. And yet, in a few short years, it has become nearly irrelevant.
10% of those people I was friends with on LJ have properly closed their accounts; 90% of the rest stopped posting long ago. 20% of the groups I was a member of are closed, 100% of the rest are silent or beset by Russian spammers. 19 of my friends have their own blogs elsewhere. And I irritate everyone I’m sure by syndicating my own posts from my blog to LJ with the accompanying hook link to direct people back to my site.
Scrolling back as far as I go in my LiveJournal friends list turns up a grand total of 10 people still using it, of which 8 post only unprotected entries which I could easily pull using an RSS feed.
Which leads to the conclusion that LiveJournal is taking up its space on my toolbar and in my brain in order that I stay in touch with two people – both of whom I interact with more on Facebook than LiveJournal anyway.
Sad as it is to see LiveJournal wither and die when once it was our companion through our angstiest years, I think it may soon be time to declare it over. Like all technology in our century, it ends not with a bang but with a whimper, simply rendered archaic and irrelevant by its successors.
Like tears in rain, and all that.
Barely a year ago, I would have shouted “yes” with all my might – the Labour incumbents were more into spin and surveillance than the redistribution of wealth, and the opposition Conservatives appealed even less. But AV would have helped the Lib Dems immensely, maybe giving them a shot at power. As the party of the young, in my eyes maybe more a party of the Left than Labour was, I was all for the Lib Dems having as much of a chance as possible to win seats in the House of Commons.
What a difference a year can make.
The Tories are decimating the public sector and somehow still believe that charity and the free market will make it all better. The Lib Dems are complicit and must be on course for breaking the majority of their election pledges. Labour have a new leader who doesn’t seem to do anything apart from offer the occasional doomful prediction about the coalition’s cuts.
The Greens would have me out of a job, UKIP are crazy, the BNP are evil, and I can’t bring myself to run as a Pirate Party candidate because I believe in far more than an end to abuse of copyright.
Who would I vote for if a general election were called tomorrow? Nobody.
In fact, the current political climate has almost brought me full circle on the subject of the Alternative Vote. Under a system like AV, smaller parties are likely to do better. But with a three-(major-)party system, it’s unlikely to be the case that we’ll see a Labour-Pirate or a Conservative-UKIP coalition or anything interesting – it’s still going to be Convervative-Lib Dem or Labour-Lib Dem, even with AV. And all that does is continue the last 13 years’ rush for the centre ground.
The Tories are rushing for it so fast that they’re alienating half their party. The Lib Dems, in theory, define the centre, and despite electing the younger Miliband, the Labour party has yet to decide if and how it’s going to stop its New Labour love affair with ‘Middle England’.
What we absolutely don’t need, for the sake of the next generation’s interest in politics, is an unending succession of coalitions, each one indistinguishable from the last.
So if it could happen, bring on the Labour-Pirate coalition and the Conservative-UKIP coalition. Anything to keep things interesting. But if it can’t – and unless the Lib Dems utterly toast their popularity, it can’t – then let’s have the next generation of Maggie Thatcher and Michael Foot, let’s have some people with real ideological differences fighting it out in the Commons.
Bring me someone I can believe in.
Until then, “meh” to AV.
The weather, like the best of muses, is capricious and arbitrary.
Yesterday I had no problem at all catching buses and trains to get from our home to Guildford, a good hundred miles away. Guildford was under 3-4 inches of snow, complete with the requisite ice underneath, so using the pushchair was a challenge – but we made it.
This morning, an inch fell on Bournemouth. And paralysed it.
The photo below is Queens Road this morning, which naturally, the council have not gritted. Of course not, I mean, it’s only a 1-in-5 hill on a bus route. Why would they want to grit that?
With my carpool absent, rail services reduced and no buses going my direction as far as I could tell, I gave up and for lack of anything better to do, started gritting Queens Road myself. See that non-snowy bit? That’s a productive morning right there.
So, no work for me today, and since my laptop is also at work, I can’t pretend to be working from home. On the other hand, a lot of drivers looked pretty happy – and the falling snow has been replaced by rain, so hopefully the town will have resumed normal service again tomorrow.
A little over ten years ago, my friends and I began a collaborative fiction project that we named “The Fanfic”, though it bore little resemblance to fanfiction as it is commonly known. Rather, it was something like a ‘fanfic’ of our own invented characters, thrown together in a neutral setting.
Over time, like most poorly-thought-out teenage ideas, it fell by the wayside – it was simply too difficult to manage, and too difficult to get the writers to write to any kind of schedule.
After that was abandoned, I took on the characters and the setting that had developed, and they became the first inklings of a computer roleplaying game to be called “Dragon’s Claw”. But back then I had precious few of the skills required to create a game, so that one sunk under the weight of practical realities too.
It was reborn once more in around 2002, when I figured that I should go the one route that didn’t involve perstering other writers or learning to write a game – making it a book instead. Under the new title of “Dreaming Awake”, the characters and settings developed much more fully. But again, there it stopped.
Why did it stop, and why am I now declaring it to have, in all likelihood, stopped for good?
Though I love the setting – I have explored it in many short stories and even shorter biographies for some of the original characters – it’s the other characters that I have difficulty with. I don’t mean to belittle the effort my friends put into defining their characters in the early days, of course, but writing about them feels somehow wrong. It’s the same reason I don’t write fanfiction (unless extremely drunk); it’s just so strange to write for characters that are fundamentally not my own.
And therein lies the second problem. One of the characters that has stuck around from the early days of the project is very much my own: Tsuki. As a humble farmboy who nevertheless has Ultimate Cosmic Power sealed away inside him, reading TV Tropes’ “Marty Stu” page is like reading the kid’s life story. And though I love him dearly as a character, I just can’t write about him with a straight face now I’m not 17 years old.
So, all in all, I think it’s probably high time I stopped pretending that “Dreaming Awake” will ever be a novel in its own right. I have written plenty of short stories set in its world, and doubtless I’ll write many more. But as a story itself, it’s too firmly wedded to characters I can no longer write for.
@CampaignReboot, making a good point as always, earlier linked to this CNN article which bemoans the state of the United States’ missile defence programme after the failure of a Ground-Based Interceptor test.
Just to reinforce his point, let’s look at how insanely difficult a task a Ground-Based Interceptor (GBI) missile has.
An ICBM launch is first detected by detectors, usually radar, at sea, on land, and in space. All this data must be fed back to the missile base and analysed by a computer within a few minutes.
A GBI attempts to intercept it while it’s in its “midcourse” phase, which generally lasts for around 20 minutes – but it’s not as if the GBI turns around and tries again if it misses. You have one chance to intercept during that time window. During the midcourse phase, the ICBM is in space, over 1000 kilometers above the Earth. It’s moving at several kilometers a second. In this test, it was over 4000 kilometers from the GBI’s launch point.
It’s around 10-20 metres long.
And you have to hit it.
This is, shall we say, not a trivial challenge?
Anyone assuming that their country’s missile defence systems entirely remove the possibility of nuclear attack is kidding themselves. Missile defence is just a part of the great game of deterrence played by the world’s few nuclear powers. If anyone launches, the world is still screwed.
Luckily for any remaining Cold War doomsayers, the GBI’s 50% intercept success rate is pretty nicely matched by the Russian Bulava ICBM’s 53% test success rate. And if your Red (/Green?) terror of the month is North Korea or Iran, can you imagine their missile programmes having anything like the success rate of the Russians’ or the Americans’?
So if all the ranty CNN commenters could get over it, it would be appreciated. The US needs missile defence, even though it isn’t perfect and never will be. Aegis has a better record than the GBIs anyway, did you forget that you had that too? North Korea is not going to nuke you tomorrow anyway.
Diaspora*, for those unaware, is a distributed and privacy-conscious social network currently in development by students at New York University. It raised $200,000 of funding via Kickstarter back in June, and is currently in alpha testing state. By virtue of my pseudowife’s donation, we have been sent both the developer preview software itself, and invites for the Disapora “pod” at joindiaspora.com.
For my first impressions, read on!
Settling Spores: The Developer Preview
One of Diaspora’s strengths is that unlike centralised social networks such as Facebook, where all your content is stored on their server, Diaspora is distributed. While you can have an account on
joindiaspora.com, you can equally set up your own “pod” on your own domain, or even on a home PC, and it will link up and join the network. Users that do so are not second-class citizens, and there is nothing innately special about
Except, of course, that it’s set up and working already.
While I don’t doubt that I am technically capable of setting up a Diaspora pod, the installation instructions alone were enough to put me off. Take a look – it’s not for the faint of heart.
The ‘official way’ doesn’t look too complicated – except that I fall at the first hurdle, “get yourself an IP and root password to a CentOS machine”. Well, I don’t have one, so that’s out. And even if I did, there’s the slightly ominous “you will need to edit config files, etc.”, with no further explanation.
The rest of that document is the ‘non-official’ way. It merely requires that you set up and configure a compiler,
libxslt, Ruby, MongoDB, OpenSSL, ImageMagick, git, Redis, RubyGems, and Bundler. And once you’re done with that, all you need to do is install the required gems, start MongoDB, edit Diaspora’s config file, run the server, run the app server, run the websocket and Redis servers, run the Resque worker, add user information to the database, run the test framework, set the permissions on certain directories, then point your browser at your pod and log in. Simples!
It was 10pm when I started the procedure, and about 10:03 when I decided I couldn’t be bothered.
It may have taken me until gone midnight to set up, and given that an invite to
joindiaspora.comwas imminent, all I would get out of it would be being able to say I’d done it. Bragging rights aren’t much of an incentive.
With all those dependencies, Diaspora is also not going to be supported by shared hosting providers any time soon, so piggybacking off “onlydreaming.net” wasn’t an option either.
Unless the installation process is drastically simplified – made foolproof, almost – and the dependencies are reduced, very few people are going to be able to run their own pod. And that means there’s still the question of trust – just like we now have to trust Facebook not to be evil (whoops), with Diaspora we also have to trust whoever runs the pod we use.
Granted, this is a developer preview, and true to form they have provided something that only developers will be able to use. I’m not objecting to that, I’m just hoping that somewhere along the line they do have plans for making it something that just about anybody can install for themselves.
Life in the Pod: Using Diaspora
Invite in hand, I dismissed setting up my own pod and joined the main one at
My first impression? I can’t access it at all. Due to my browser.
Now I develop for the web; I understand what a pain in the arse Internet Explorer can be. It would be a great day for web designers if it just stopped existing tomorrow. But the appropriate response to that is not to outright bar it from your site.
I run six websites. None are quite as polished as Diaspora, but they have one thing in common: they work in IE. Even IE6. Sometimes a few things don’t look quite the same as in other browsers, but I’ve tried to work around those, and even in the worst case things fail gracefully. And it’s only ever the appearance that feels a little different; the functionality is unaffected.
Sure, I hate IE. But for me at the office, and for countless other users, IE is not a choice we made. Outright blocking us from a website isn’t going to make us change our browsers and suddenly see the light of standards-compliance. It’s just going to make us more bitter that we’re forced to use IE and more bitter that your site doesn’t have the decency to accept that.
Onwards. Back at home, running a decent browser, I tried again. My second impression:
Groups, or “Aspects” in Diaspora parlance, are part of the core experience rather than something bolted on the side as they are on Facebook. You can not only flick between them to see status updates only from people in those aspects – much like Twitter’s lists – but you can also post only to certain aspects, too. This feels a little friendlier than Twitter or Facebook, particularly if a friendship group have each set up an aspect containing roughly the same people. ‘See everything’ / ‘post to everybody’ options are still available, of course. Each friend can only be assigned to a single aspect – hopefully this will change before Diaspora is released, as at the moment there is no way for your social graph to represent a friend who you know in two contexts.
Of course, this aspect structure is all pretty meaningless for now, because Diaspora is a ghost town.
Public registration is disabled, and each user has 5 invites to dish out, so
joindiaspora.comis growing very slowly – by design, of course. But privacy-conscious Diaspora offers no way of finding out if any of your existing friends, on say Twitter or Facebook, have Diaspora accounts. The only way to friend someone is to know their Diaspora username and pod address.
And while you can syndicate posts from Diaspora to Twitter and Facebook, there’s no way to pull data back in.
For it to be an enjoyable experience rather than a minimalist virtual ghost town, you need lots of friends posting lots of stuff. It’s the old ‘critical mass’ problem. If lots of people were using it heavily, other people would want to join. But while there’s only a few users who don’t post much, other potential users are put off. Only by overcoming that gap, reaching critical mass, can Diaspora take off. And for that it needs an advantage, something to pull people across to it.
It needs Twitter’s myriad of clients, mobile interfaces, the recognisability of “@username”. It needs Facebook’s groups, events, apps. I hate to say it, but it needs its Farmville.
Without that, I can’t see it taking off on any major scale – it won’t be the much-desired “next Facebook”.
Maybe it doesn’t want to be? As always in the Open Source world, choice is good. Diaspora’s developers saw a niche for something, they got coding and now they’re starting to fill it. Great! But I wonder how big that niche really is.
Diaspora started with a focus on privacy – a social network ‘done right’, where users’ data is private by default and is never served up to marketing companies. It’s a laudable goal, but even for people like me who understand the implications of Facebook and Diaspora’s differing privacy settings and business model, it’s not enough.
I know this article has been somewhat of a downer, and I wish it wasn’t. I wish the developers all the best, and I do hope that Diaspora is the Next Big Thing. I’ll continue to test it, and if I can, to help it get better. Once there’s an app API, who knows, maybe it’ll be me that writes Diaspora’s Farmville.
But the sad state of online privacy is this: Privacy is not a feature.
To beat Facebook, you have to be more fun than Facebook, not just better-designed and more ethical.
I and millions of other users understand how Facebook treats our data, and wish apps weren’t allowed to auction off the list of our sexual preferences to the highest bidder. But Facebook is so far beyond critical mass that it can afford to keep us at a level where we hate it, but we don’t hate it enough to leave.
Two weeks ago, I sat in this same warm office, looking out at the cold world outside. And this is what I saw. I saw Laurie Penny’s Spider Jerusalem-esque piece for the New Statesman, covering the student riots, and I saw Wikileaks preparing to dump 250,000 classified US Embassy cables on the world. It all felt like a sudden rush towards the horrid, glorious dystopia that as a British citizen I am required to fetishise. (c.f. H.G. Wells, George Orwell, John Wyndham et al.)
One of those retains the ability to stir up more trouble. The other, I fear, is now a lost cause.
Being approximately a socialist, and having voted for the Liberal Democrats as I felt they were the only almost-credible party of the Left, I was almost warmed by the scale of the protests – not only were the Lib Dems’s broken election promises not being taken lightly, but only six months in to a government of the centre-Right, we were already seeing the people up in arms.
The violence involved in some of those protests, of which I of course do not approve, was referred to in the media at the time as being the actions of a “hard core” of protesters intent on stirring up trouble. The reaction of the protesters to that was often along the lines of “no, we all feel that strongly!”.
I wonder if they’ll be saying that this morning.
Last night, as it became apparent that the protests were ineffective at convincing more than half of the Lib Dems to vote against the proposal, some protesters attacked a car carrying the Prince of Wales and the Duchess of Cornwall. Naturally, this made the front page of every newspaper in the country (Guardian, Independent, Telegraph, Mail, Sun, Mirror, nice paywall there, Times).
The Twitter hashtag #solidarity has been used by the protesters and their supporters for a while now – I do hope some of that solidarity remains. But aside from amongst students, schoolkids and twenty-somethings who still fondly remember their university days, I suspect that solidarity just took a massive hit.
The tabloid press was never going to be kind to student protests, but if they were quietly depriving them of column space before, by god they are not any more. The attack on Prince Charles’ car last night was one of the most impressive acts of shooting oneself in the foot I have ever seen.
My greatest fear over the whole matter, though, is the effect it has had on the young – the people whose education was at stake. What have they learned over the last few weeks?
That breaking into Millbank Tower, that lighting fires and putting bricks through windows, that spraypainting walls and breaking down doors, that being kettled by riot police and attacking the Royal Family, isn’t enough. It’s not changed the minds of more than a dozen people inside the House of Commons, maybe none at all.
So what’s left to do? Give up hope and abandon what meagre trust remains in our politicians, hoping that by the time the protesters reach middle age they’re electable and their opinions haven’t changed? Or protest harder, get kettled more viciously, dreaming of glorious revolution while all around the country turns against them?
Dystopia is a great thing to experience for two hours of a film or two hundred pages of a book. But when you have to live in it, two weeks is about the point at which it stops being fun.
It’s a site that helps you keep track of your promises day-to-day, giving you a pretty display of which promises you’ve kept when, and letting you compete against your Twitter-using friends to be the best at keeping your daily promises!
For now, you can find Daily Promise at http://dp.onlydreaming.net.
I’ll make the same deal as I made with Dynamic Democracy, but doubling the number so that I can be more sure of it taking off, and that’s the following:
At the moment the site does everything I want it to do, and it’s hosted on a subdomain of my main website, which I have no problem with. What I would like to do is give it its own domain, and start implementing feature requests that people send in. So that I don’t end up spending money on something that’s going to die off quickly, the deal is this: When it gets 20 active users, it gets a domain and some TLC. If it doesn’t make it to that point, it stays like it is.
So if you’d like to help me make something of this site, please start using it, and show it to any of your Twitter-using friends who might need a little help getting healthy, keeping fit or any other goal that Daily Promise can help them with!
After a couple of days and one frantic family-free morning, Daily Promise is getting near completion. Here’s what’s new since last time.
Here’s the Friends page - again, almost no deviation from the original design sketch. The friends page pulls in the list of people that you follow on Twitter, matches it up against Daily Promise’s user list, and if any match, they’re your Daily Promise friends! They’re simply displayed in alphabetical order, along with a summary of their performance. Invisible users (see later) don’t appear, even to their friends.
Nicer User Pages
Top Users Widget
Spam your Friends!
Twitter integration now includes boxes suggesting Tweets you might like to make after each significant activity. Just as promised in the “How does it work” graphic, Daily Promise never posts to your Twitter account without you deliberately clicking a “Tweet” button each and every time. Do no evil!
Behind the Scenes
A lot of other stuff has changed in the last few days that isn’t immediately obvious to users:
Authentication fixed – users using the alternative login weren’t able to do Twitter things. That’s sorted.
Account visibility – your account can now be set to invisible, meaning it won’t appear anywhere – top users, friends lists, etc. New accounts are given a prompt to set their visibility before starting to add promises.
Account deletion simplified – you now only have one, nuclear, option for account deletion. It erases all traces of you having used the site. Do no evil! :)
Removed promises no longer shown in the history table – ‘cos no-one likes to be reminded.
Fill in data for yesterday – when creating a promise, users can opt to enter data for yesterday, giving them something to fill in straight away.
History table scrolls – narrow displays can’t fit the whole history table in, so now it scrolls (in reasonably modern browsers).
Time zones implemented – we pull the timezone you have set in Twitter, so Daily Promise will roll over to a new day at your local midnight.
Crontastic! – we now update stats and things from an hourly timed cron, to avoid extra loading on user-requested pages.
This all brings me to the slightly worrying conclusion that Daily Promise is damn near finished. So, where do we go from here? I’ll have a few more days of bug-fixing and implementing features that people request, and then it’s difficult decision time:
This has been a fun project for the last week or so – does it deserve a domain and advertising, or shall I let it quietly die?