When Twitter Loses, WordPress Wins

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

You know who’s having a killer month? Automattic. Everyone who’s leaving Twitter seem to fall in at least one of these three camps:

  1. They have gone back to the blogosphere. (using WordPress, or WordPress.com)
  2. They have gone to Tumblr
  3. They have gone to the fediverse (of which a fairly large percentage are WordPress installs)

In all of these cases, Automattic wins.

Some smart observations here by Alex. A fourth point worth noting is that Matt has openly suggested that former Twitter engineers might like to come join us in Automattic and help make the web a better place. We’ve changed our careers pages a little lately but we’re still the same awesome company!

Alex went on to say:

I’ll be downright shocked if Matt isn’t working very hard to get Tumblr on the fediverse ASAP. He has so much to gain in supporting this movement, and very little to lose.

That’s definitely on his mind too, which I can safely say without leaking anything because he’s hinted at it himself. Exciting times.

Reply to Decentralization and verification

In “Decentralization and verification”, Derek Kedziora said:

…Mastodon by its very nature as a decentralized service can’t verify accounts.

We’d still need some trusted third party to do offline verifications and host them in a centralized repository.

Let’s not sell Mastodon short here. The service you compare it to – Twitter – solves this problem… but only if you trust Twitter as an authority on the identity of people. Mastodon also solves the problem, but it puts the trust in a different place: domain names and account pages.

If you want to “verify” yourself on Mastodon, you can use a rel=”me” link from a page or domain you control. It looks like this:

Screenshot showing @dan@danq.me's Mastodon account as the verified owner of website DanQ.me.
The tick is green, not blue, but I can’t imagine anybody complains.

A great thing about this form of verification is you don’t have to trust my server (and you probably shouldn’t): you can check it for yourself to ensure that the listed website really does state that this is the official Mastodon account of “me”.

You can argue this just moves the problem further down the road – instead of trusting a corporation that have shown that they’re not above selling the rights to your identity you have to trust that a website is legitimate – and you’d be right. But in my case for example you can use years of history, archive.org, cross-links etc. to verify that the domain is “me”, and from that you can confirm the legitimacy of my Mastodon account. Anybody who can spoof multiple decades of my history and maintain that lie for a decade of indepdendent web archiving probably deserves to be able to pretend to be me!

There are lots of other distributed methods too: web-of-trust systems, signed keys, even SSL certificates would be a potential solution. Looking again at my profile, you’ll see that I list the fingerprint of my GPG key, which you can compare to ones in public directories (which are co-signed by other people). This way you’d know that if you sent an encrypted DM to my Mastodon inbox it could only be decrypted if I were legitimately me. Or I could post a message signed with that key to prove my identity, insofar as my web-of-trust meets your satisfaction.

If gov.uk’s page about 10 Downing Street had profile pages for cabinet members with rel=”me” links to their social profiles I’d be more-likely to trust the legitimacy of those social profiles than I would if they had a centralised verification such as a Twitter “blue tick”.

Fediverse identify verification isn’t as hard a problem to solve as Derek implies, and indeed it’s already partially-solved. Not having a single point of authority is less convenient, sure, but it also protects you from some of the more-insidious identity problems that systems like Twitter’s have.

Screenshot showing @dan@danq.me's Mastodon account as the verified owner of website DanQ.me.×

Wake Me Up When September Ends

Mastodon’s Eternal September begins

In the light of the so-called “Twitter migration”, I’ve spent a lot of the last week helping people new to Mastodon/the Fediverse in general to understand it. Or at least, to understand how it’s different from Twitter.1

If you’re among those jumping ship, by the way, can I recommend that you do two things:

  1. Don’t stop after reading an article about what Mastodon is and how it works (start here!); please also read about the established etiquette, and
  2. Don’t come in with the expectation that it’s “like Twitter but…”, because the ways it’s not like Twitter are more-important (and nobody wants it to be more like Twitter).

The experience has filled me with feelings, for which I really appreciated that Hugh Rundle found such great words to share, comparing the surge of new users to September(ish) 1993:

The tools, protocols and culture of the fediverse were built by trans and queer feminists. Those people had already started to feel sidelined from their own project when people like me started turning up a few year ago. This isn’t the first time fediverse users have had to deal with a significant state change and feeling of loss. Nevertheless, the basic principles have mostly held up to now: the culture and technical systems were deliberately designed on principles of consent, agency, and community safety.

If the people who built the fediverse generally sought to protect users, corporate platforms like Twitter seek to control their users… [Academics and advertisers] can claim that legally Twitter has the right to do whatever it wants with this data, and ethically users gave permission for this data to be used in any way when they ticked “I agree” to the Terms of Service.

This attitude has moved with the new influx. Loudly proclaiming that content warnings are censorship, that functionality that has been deliberately unimplemented due to community safety concerns are “missing” or “broken”, and that volunteer-run servers maintaining control over who they allow and under what conditions are “exclusionary”. No consideration is given to why the norms and affordances of Mastodon and the broader fediverse exist, and whether the actor they are designed to protect against might be you.

I’d highly recommend you read the whole thing because it’s excellent.

Photo showing fragile dewey spiderwebs on blades of grass.

Part of the solution

I genuinely believe that the fediverse is among our best bets for making a break from the silos of the corporate Web, and to do that it has to scale – it’s only the speed at which it’s being asked to do so that’s problematic.

Aside from what I’m already doing – trying to tutor (tootor?) new fediversians about how to integrate in an appropriate and respectful manner and doing a little to supporting the expansion of the software that makes it tick… I wonder what more I could/should be doing.

Would my effort be best-spent be running a server (one not-just-for-me, I mean: abnib.social, anyone?), or should I use that time and money to support existing instances directly? Should I brush up on my ActivityPub spec so I can be a more-useful developer, or am I better-placed to focus on tending my own digital garden first? Or maybe I’m looking at it all wrong and I should be trying to dissuade people from piling-on to a system that might well not be right for them (nor they for it!)?

I don’t know the answers to these questions, but I’m hoping to work them out soon.

Addendum

It only occurred to me after the fact that I should mention that you can find me at @dan@danq.me.

Footnotes

1 Important: I’m no expert. I’ve been doing fediverse things for about 3 years but I’m relatively quiet on Mastodon. Also, I’ve never really understood or gotten along with Twitter, so I’m even less an expert on that. Don’t assume that I’m an authority on anything at all, and especially not social media.

Photo showing fragile dewey spiderwebs on blades of grass.×

Bree-Yark!

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

JTA tweeted a brilliant thread about something he discovered while digging through old D&D texts, and it’s awesome so – as I imagine he wouldn’t mind – I’ve reproduced it in full here:

I don’t really Twitter so much these days because like most social media it makes me either gloomy or extremely grumpy with the state of the world, but since I also lack the time to bother blogging anywhere, here’s a ludicrously nerdy thread about a Dungeons & Dragons rumour.So, back in the days of AD&D 1st Edition your printed modules would often come with a table of Rumours. The idea was hearing rumours increased the depth of the world, so players didn’t feel like NPCs just winked into existence when they entered the Hydra’s Den tavern & said “hi”.

But sometimes the rumours would be false, or exaggerated. That also added depth and had the bonus of ensuring that players didn’t take it for granted. OK, this guy in the red robe *says* Kobolds are poisoning the iron ore, but is that at all plausible, or is it just a bad seam?

(Those of us without any friends, or at least without friends equally into D&D in the 80s & 90s, also got this experience because it was well-replicated in the TSR Gold Box series of games, either in-game, or more-commonly through supplementary material in the boxes.

The supplementary materials often came in a separate “Journal” supplied in the box, & were a sort of additional layer of copy-protection because if the Game says “read Entry 19”, your choice is either do so, or wait 25 years for the abandonware PDFs to hit archive.org.

e.g., here’s the Traveller’s Tales from ‘Curse of the Azure Bonds’: note the subtlety of entries 1 and 8, about the Princess, sounding corroborative – maybe encouraging the party to more deference around someone with purple in their clothes, though either or both might be false.)

A selection of Tavern Tales...

Anyway, this only really existed in the TSR/SSI games because it was in the standard modules.

I was reminded of the rumour system when I was digging back into AD&D Module B2: The Keep on the Borderlands to borrow a bunch of content for a campaign I’ve just inherited (as you do)

‘Keep on the Borderlands’ was by Gary Gygax himself, and suffers a bunch from the typical issues 1e had, none of which I’ll address here because I would please nobody. But the rumours table is a really good example of the type – it gives players depth but not unfair advantages.

The Rumour Table from the A...

Now Keep on the Borderlands was a pretty big deal of a module back in the day. It was module B2, of the Basic Set, & it did some stuff really well, especially for new players – sort of a 1980 equivalent of ‘Lost Mine of Phandelver’ today. Lots of players cut their teeth on it.

Rumour 10 – ‘”Bree-Yark” is goblin-language for “we surrender”!’ – is a false rumour, though the party doesn’t know that: whatever ‘Bree-yark’ means, it’s not “We Surrender”.

In fact, the module tells the DM it means “Hey, rube!!” and is used by goblins to sound the alarm.

(Spoilers here for the Goblin Lair in Location D of the Caves of Chaos, but when goblins on watch call out “Bree-yark!”, more goblins at #18 will bribe an ogre to come help attack the party. (1e often imposed dynamic worlds by fiat, back when the world was young, the DMs green)

The DM's description for Lo...

So lots of early DMs got to imagine the potential hilarity of the party arriving in the cave, hearing goblins apparently surrendering, & dropping their guard, never realising life just got harder!

(It isn’t much hilarity, but in the 80s, as now, there was limited scope for joy)

Still – it’s a decent joke. Everyone believes “Bree-yark” is Goblin for surrender, but it isn’t really, that’s just a false rumour, spread by boastful drunks who’ve never seen a goblin in real life anyway.

So much for 1st Edition AD&D, I guess.

…except:

It’s 2014. The wheel of time turns, ages come and pass, and Grapple rules don’t so much become legend as “remain completely incomprehensible”. Now every new adventurer carries a Field Marshall’s baton in their knapsack, ‘cos tracking encumbrance is for chumps, & D&D 5e launches.

(While I’m doing archaeology, take a moment in this fast-forward to enjoy the glorious madness of the Grimtooth’s Traps series, which popped up in ’81 & features brilliantly inventive nastiness to spring on players who aren’t too attached to their character sheets. Or friends.)

A page from 1981's Grimtoot...

So, 5e launches, to a lot of stick in some circles (I never knew a version of D&D that didn’t: probably some wazzock in 1971 ranted that the codified Fantasy Supplement rules in ‘Chainmail’ “beTraYs rEaL FaNs!” and sold out the hobby, but at least they couldn’t whinge on Reddit)

…but someone involved in 5e is has conjured the most obscurely brilliant bit of ultra-specific nerd humour I have seen in years.

Y’see, 5e modules don’t really do Rumour Tables or “If the party X, then Y, else Z” – DMs create dynamic worlds on the fly. (Hopefully).

So you’d think there’s no more chance of hilarious moments where the Goblins start yelling “Bree-Yark!” and Magnus Rushes In only to be shocked to find a well-bribed and high-Challenge Rating ogre running obediently up from Location E.22.

But you would think (slightly) wrong.

Because although 5e modules don’t do rumours the like 1e did, the Monster Manual does do flavour text – it’s usually a snippet of lore, or a word from a famous scholar, or advice from an adventurer who encountered the monster but lived to tell the tale. It provides fluffy depth.

A section of the D&D 5th Ed...

And, actually, I say “it’s usually” but I’ve just checked and every bit of flavourtext I can find in the Monster Manual is either By A Scholar, From a Book, An Adventurer’s Tale, or a Monster Describing Itself…

A section of the D&D 5th Ed...

…with one single exception: the flavourtext on the entry for Goblins, which isn’t attributed to anybody or anything, but is just the claim that “Bree-Yark!” means “we surrender!”

A section of the D&D 5th Ed...

This isn’t attributed to any source. Nobody in-lore has a citation for this. It’s just something “they say”. A genuine 1st Edition rumour just chilling out in the 5th edition Monster Manual three decades after B2 landed.

Glorious. Well played, @Wizards. Very well played.

Zoomed in view of the flavo...

Getting Twitter Avatars (without the Twitter API)

Among Twitter’s growing list of faults over the years are various examples of its increasing divergence from open Web standards and developer-friendly endpoints. Do you remember when you used to be able to subscribe to somebody’s feed by RSS? When you could see who follows somebody without first logging in? When they were still committed to progressive enhancement and didn’t make your browser download ~5MB of Javascript or else not show any content whatsoever? Feels like a long time ago, now.

Lighthouse Performance score for Twitter's Twitter account page on mobile, scoring 50%.
For one of the most-popular 50 websites in the world, this score is frankly shameful.

But those complaints aside, the thing that bugged me most this week was how much harder they’ve made it to programatically get access to things that are publicly accessible via web pages. Like avatars, for example!

If you’re a human and you want to see the avatar image associated with a given username, you can go to twitter.com/that-username and – after you’ve waited a bit for all of the mandatory JavaScript to download and run (I hope you’re not on a metered connection!) – you’ll see a picture of the user, assuming they’ve uploaded one and not made their profile private. Easy.

If you’re a computer and you want to get the avatar image, it used to be just as easy; just go to twitter.com/api/users/profile_image/that-username and you’d get the image. This was great if you wanted to e.g. show a Facebook-style facepile of images of people who’d retweeted your content.

But then Twitter removed that endpoint and required that computers log in to Twitter, so a clever developer made a service that fetched avatars for you if you went to e.g. twivatar.glitch.com/that-username.

But then Twitter killed that, too. Because despite what they claimed 5½ years ago, Twitter still clearly hates developers.

Dan Q's Twitter profile header showing his avatar image.
You want to that image? Well you’ll need a Twitter account, a developer account, an OAuth token set, a stack of code…

Recently, I needed a one-off program to get the avatars associated with a few dozen Twitter usernames.

First, I tried the easy way: find a service that does the work for me. I’d used avatars.io before but it’s died, presumably because (as I soon discovered) Twitter had made things unnecessarily hard for them.

Second, I started looking at the Twitter API documentation but it took me in the region of 30-60 seconds before I said “fuck that noise” and decided that the set-up overhead in doing things the official way simply wasn’t justified for my simple use case.

So I decided to just screen-scrape around the problem. If a human can just go to the web page and see the image, a computer pretending to be a human can do exactly the same. Let’s do this:

/* Copyright (c) 2021 Dan Q; released under the MIT License. */

const Puppeteer = require('puppeteer');

getAvatar = async (twitterUsername) => {
  const browser = await Puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
  const page = await browser.newPage();
  await page.goto(`https://twitter.com/${twitterUsername}`);
  await page.waitForSelector('a[href$="/photo"] img[src]');
  const url = await page.evaluate(()=>document.querySelector('a[href$="/photo"] img').src);
  await browser.close();
  console.log(`${twitterUsername}: ${url}`);
};

process.argv.slice(2).forEach( twitterUsername => getAvatar( twitterUsername.toLowerCase() ) );
The code is ludicrously simple. It took less time, energy, and code to write this than to follow Twitter’s “approved” procedure. You can download the code via Gist.

Obviously, using this code would violate Twitter’s terms of use for automation, so… don’t, I guess?

Given that I only needed to run it once, on a finite list of accounts, I maintain that my approach was probably kinder on their servers than just manually going to every page and saving the avatar from it. But if you set up a service that uses this approach then you’ll certainly piss off somebody at Twitter and history shows that they’ll take their displeasure out on you without warning.

$ node get-twitter-avatar.js alexsdutton richove geohashing TailsteakAD LilFierce1 ninjanails
alexsdutton: https://pbs.twimg.com/profile_images/740505937039986688/F9gUV0eK_200x200.jpg
lilfierce1: https://pbs.twimg.com/profile_images/1189417235313561600/AZ2eLjAg_200x200.jpg
richove: https://pbs.twimg.com/profile_images/1576438972/2011_My_picture4_200x200.jpeg
geohashing: https://pbs.twimg.com/profile_images/877137707939581952/POzWWV2d_200x200.jpg
ninjanails: https://pbs.twimg.com/profile_images/1146364466801577985/TvCfb49a_200x200.jpg
tailsteakad: https://pbs.twimg.com/profile_images/1118738807019278337/y5WWkLbF_200x200.jpg
This output shows the avatar URLs of a half a dozen Twitter accounts. It took minutes to write the code and takes seconds to run, but if I’d have done it the “right” way I’d still be unnecessarily wading through Twitter’s sprawling documentation.

But it works. It was fast and easy and I got what I was looking for.

And the moral of the story is: if you make an API and it’s terrible, don’t be surprised if people screen-scape your service instead. (You can’t spell “scraping” without “API”, amirite?)

Lighthouse Performance score for Twitter's Twitter account page on mobile, scoring 50%.× Dan Q's Twitter profile header showing his avatar image.×

There is a car

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

There is a car, in the hospital parking lot.

It is a faded red, covered with dust.

Other cars have parked and left on either side of it, every day, but this car remains.

I pass by it, as I find parking, on my way in to work.

I know what it means.

Short story by a nephrologist (kidney specialist). I haven’t a clue why people try to use Twitter to write long-form content – by the time you’re bending the medium so far out of shape, perhaps you chose the wrong medium? – but I still enjoyed this piece.

JUST LEARNED THERE ARE 16 OUNCES IN A POUND

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

by @innesmck

 

JUST LEARNED THERE ARE 16 OUNCES IN A POUND AND I AM FUCKING LIVID
SIXTEEN???
WHAT THE FUCK KIND OF NUMBER IS THAT

i have had no reason to actually look into imperial measurements until now and frankly i immediately regret it finding this out it makes some sense though because a pound is defined as being 7000 grains so that makes each ounce a nice round…

437.5 grains

and then, oh my word, oh my fucking actual god
GUESS HOW MANY POUNDS THERE ARE IN A STONE
you’ll never get it, it would be fucking impossible to guess this
THERE ARE FOURTEEN POUNDS IN A STONE!!!!!!!!!!!!!!!!!!
THAT’S A COMPLETELY DIFFERENT FUCKING NUMBER! FYI!!!!
THERE’S LITERALLY NO WAY TO KNOW HOW MANY OUNCES ARE IN A STONE!! NO-ONE CAN KNOW THIS “but innes you can just multiply up the fourteen by sixteen and you’ll g-“
NO
MATHS HAS CLEARLY ABANDONED US. NUMBERS MEAN NOTHING AT THIS POINT
WHAT THE FUCK KIND OF ANTIQUATED JOKE SYSTEM ARE PEOPLE WORKING WITH
my mum: wow count yourself lucky you only need to learn your 10 times tables, when i was a kid we had to go up to 12
me, a child: oh, for weights and stuff?
mum, a liar: sure
TURNS OUT NO-ONE ON THE PLANET IS TRAINED TO WORK WITH THESE FUCKED UP NUMBERS. THEY JUST MAKE STUFF UP. NO-ONE KNOWS HOW MUCH A POUND IS BECAUSE IF THEY’D EVER USED THIS BULLSHIT SYSTEM THERE WOULD BE RIOTS
and then how many ounces go in a cup?
WHICH FUCKING CUP, AMERICA

HOW DO YOU ALL OWN THE SAME SIZE OF CUP

WHO HAS A MONOPOLY ON THE ONE GOOD CUP SIZE

PRESUMABLY THIS IS JUST STRAIGHT UP BULLSHIT TOO TO COVER FOR THE FACT THAT NO-ONE KNOWS HOW MANY ANY QUANTITY OF ANYTHING IS

me: so, the recipe calls for 2 lbs 3 oz of flour, you got that?

you: uhhhh, sure. yeah. that’s like… 3 cups, probably. this is a great system.

AND THEN

THEN WE HIT THE BIG NUMBERS

PRESUMABLY. I ASSUME THAT’S THE ORDER WE’RE GOING IN
though judging from american dates IT IS KINDA HARD TO TELL
so what’s heavier, a ton of feathers or a ton of gold?
IT’S THE TON OF GOLD BECAUSE UNDER IMPERIAL MEASUREMENTS THESE ARE COMPLETELY FUCKING DIFFERENT SCALES
SEE ALSO: WOOL, COINS, MYSTERY ENGLISH ILLEGAL POUND, MISCELLANEOUS
THE ONE JOKE WHICH MAKES IT CLEAR THAT MASS IS A UNIVERSAL METHOD OF COMPARISON REGARDLESS OF MATERIAL HAS NO BEARING ON THE FUCKED UP BIZARRO WORLD OF YESTERDAY THAT IS THE IMPERIAL SYSTEM
I AM 30 YEARS OLD
I’VE GONE MY WHOLE FUCKING LIFE BELIEVING THE IMPERIAL SYSTEM WAS DIFFERENT, SURE, BUT I THOUGHT IT HAD AT LEAST SOME GROUNDING IN REALITY
but NO
I AM SO ANGRY RIGHT NOW
I CANT UNDERSTAND WHY YOU’VE DONE THIS TO ME

go on

say it

but if anyone tells me anything other than one hundred here I am tearing this entire fucking place to the ground

oh my sweet jesus

OF COURSE

OF FUCKING COURSE IT DOES

WHY WOULD WORDS MEAN ANYTHING ANY MORE

I HATE ALL OF THIS, AND I HATE ALL OF YOU FOR MAKING ME KNOW IT

THIS IS WHY IM NOT TAKING ANY OF YOUR SHIT WHEN YOU TRY AND TELL ME FAHRENHEIT IS A MORE LOGICAL SYSTEM
HOW MANY FAHRENHEIT ARE IN A CUP
i cant take this right now im going for a fucking walk
everyone is just saying terrible number conversions at me i hate this
no-one has even mentioned oxgangs though so you’re all fired
trying to get to sleep but all i can hear is your voices chanting “pints a pound the world around” over and over in my brain
Pints A Pound The World Around
i still don’t entirely know what it means but I am 100% fucking sure it’s not even true
im not sure anything is true any more
×

Sarah Silverman’s powerful response to a sexist troll

This article is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Sarah Silverman’s response to a sexist tweet is a much-needed ray of hope (Quartzy)

In the brutal, self-centered bash-fest that social media often becomes, a moment of simple kindness and connection stands out.

American comedian Sarah Silverman is unapologetically blunt in her fight against misogyny. But Silverman has also made a point of exploring the depths of her own empathy.

“I just keep asking myself, can you love someone who did bad things?” she said, after her dear friend and fellow comedian, Louis CK, was accused of sexual harassment. “I can mull that over later, certainly, because the only people that matter right now are the victims.”

Last week, Silverman demonstrated similar level-headed compassion when subjected to sexism and harassment herself. After tweeting about an article describing her honest attempts to understand Trump supporters, Silverman received a crude response from a Twitter follower:

@misterjta, 31 Dec 2017

John Trevor-Allen on Twitter (Twitter)

1997 was the year my family got torn up when my dad was killed. Which became the reason I joined @NightlineAssoc. And @samaritans. And @BritishRedCross, and @3RingsCIC. The reason, basically, I discovered how important it was to be there for people that can't go through it alone.

JTA tweets: <Seasonal Introspection> Thanks to some intensely stressful family stuff, 2017 was the worst year I've had since 1997. By such a long way even 20-Godamn-12 isn't even in the running. But, here we bloody well are, and here we bloody well stay... ...and maybe there's an upside. 1997 was the year my family got torn up when my dad was killed. Which became the reason I joined @NightlineAssoc. And @samaritans. And @BritishRedCross, and @3RingsCIC. The reason, basically, I discovered how important it was to be there for people that can't go through it alone. So, if I've learned one thing from all the grey hairs I got since May 31st 2017, it's that there's more people out there who desperately need some help. Come on, 2018. I hope it's amazing for all of you. And in the ever-excellent words of Granny Weatherwax: 'Let's do some good'

Underground and Overground in the City of London

Despite being only a short journey away (made even shorter by the new railway station that appeared near by house last year), I rarely find myself in London. But once in a while a week comes along when I feel like I’m there all the time.

British Rail branded poster from an abandoned tunnel under Euston Station, circa 1960s.
TODO: funny caption

On Friday of last week, Ruth, JTA and I took one of the London Transport Museum‘s Hidden London tours. Back in 2011 we took a tour of Aldwych Tube Station, probably the most well-known of the London Underground’s disused stations, and it was fantastic, so we were very excited to be returning for another of their events. This time around, we were visiting Euston Station.

Our tour group gathers around the corner from Euston Station.
Stylish hi-vis jackets for everybody!

But wait, you might-well say: Euston station isn’t hidden nor disused! And you’d be right. But Euston’s got a long and convoluted history, and it used to consist of not one but three stations: the mainline station and two independent underground stations run by competing operators. The stations all gradually got connected with tunnels, and then with a whole different set of tunnels as part of the redevelopment in advance of the station’s reopening in 1968. But to this day, there’s still a whole network of tunnels underneath Euston station, inaccessible to the public, that are either disused or else used only as storage, air vents, or cable runs.

Disused lift shaft under Euston Station.
This lift shaft used to transport passengers between what are now the Northern and Victoria lines. Now it’s just a big hole.

A particular highlight was getting to walk through the ventilation shaft that draws all of the hot air out of the Victoria Line platforms. When you stand and wait for your train you don’t tend to think about the network of tunnels that snake around the one you’re in, hidden just beyond the grills in the ceiling or through the doors at the end of the platforms. I shot a video (below) from the shaft, periodically looking down on the trains pulling in and out below us.

No sooner were we back than I was away again. Last Saturday, I made my way back to London to visit Twitter’s UK headquarters in Soho to help the fantastic Code First: Girls team to make some improvements to the way they organise and deliver their Javascript, Python and Ruby curricula. I first came across Code First: Girls through Beverley, one of Three Rings‘ volunteers who happens to work for them, and I’ve become a fan of their work. Unfortunatley my calendar’s too packed to be able to volunteer as one of their instructors (which I totally would if it weren’t for work, and study, and existing volunteering, and things), but I thought this would be a good opportunity to be helpful while I had a nominally-“spare” day.

The coffee lounge on the administration/marketing floor of Twitter's offices in Soho.
Twitter’s offices, by the way, are exactly as beautiful as you’d hope that they might be.

Our host tried to win me over on the merits of working for Twitter (they’re recruiting heavily in the UK, right now), and you know what – if I were inclined towards a commute as far as London (and I didn’t love the work I do so much) – I’d totally give that a go. And not just because I enjoyed telling an iPad what I wanted to drink and then having it dispensed minutes later by a magical automated hot-and-cold-running-drinks tap nearby.

Twitter's reception with its "tweet wall" sculpture.
I’m not sure I ‘get’ the idea of a sculpture of tweets, though. Wouldn’t a “live display” have been more-thematic?

And that’s not even all of it. This coming Thursday, I’m back in London again, this time to meet representatives from a couple of charities who’re looking at rolling out Three Rings. In short: having a direct line to London on my doorstep turns out to be pretty useful.

British Rail branded poster from an abandoned tunnel under Euston Station, circa 1960s.× Our tour group gathers around the corner from Euston Station.× Disused lift shaft under Euston Station.× The coffee lounge on the administration/marketing floor of Twitter's offices in Soho.× Twitter's reception with its "tweet wall" sculpture.×

One Hundred And Sixty

When I first went to university, in 1999, I got my first mobile phone. Back then, messaging features on mobiles were a bit more simplistic than they are today.

For example, phones were only just starting to appear that could handle multi-SMS messages. For those without this feature there was a new skill to be learned.

With practice, we got to be particularly good at cutting out messages down to the requisite number of characters to fit into a single SMS: just 160 characters.

We even learned how to meaningfully split messages in our heads, with indicators (ellipses, or numbers showing message parts), to carry longer concepts. (4/19)

Even when multi-message capable phones came out (I got one in 2000), these skills were still useful. At 10p or 12p per message, you soon learned to be concise.

Nowadays, this skill has lost its value. With more and more people having “unlimited SMS” plans or enormous quantities of credits, there’s no need to be brief.

If you’ve got an iPhone, you don’t even get told how long your message is, I hear. You just keep typing. And that’s not uncommon on other kinds of handset too.

Your phone’s still splitting your message up, in the background. Putting markers in, so that other phones can understand. And these markers are human-readable.

Just in case your message is going to a phone that’s over about 12 years old, your smartphone makes sure that the markers would be understood by humans. (9/19)

So now we’ve got smartphones talking to each other in a language that humans designed to talk to one another in. Does that feel really strange to anybody else?

I looked at my phone while I wrote a message, today. I noticed that number in the corner, that indicated that my message would span 3 texts. And I didn’t care.

Why would I? It’s a vestige of an older form of communication. Someday, it’ll look as primitive as the paintings on the walls of caves, daubed by early humans.

But for now, I remember. And, somehow, the skill I learned all those years ago – a trick that’s alien to almost anybody younger than me – has a new, fresh use.

Twitter. 140 character messages. A little bit less than a text, which seems strange. Are they really trying to make us even more brief than those early phones?

The skill is still the same. Think ahead. Prune. Plan. Snip. And, if you absolutely must span several messages, make it clear to your reader so that they know.

I see a whole new generation of people learning this skill that I once learned. It’s not the same (it never will be): they don’t pay 10p every time they tweet.

But you know what? It’s just as pointless now as it was the first time around. If you want to say something, say it. If 36p is too much, risk a 10-second call!

And in the case of the Twitter generation: if your message doesn’t fit on Twitter, then it probably doesn’t belong on Twitter. I’m a 160-character-or-more man.

I’m not sure I’m cut out for the Twitterverse with its 140-character limits. But it’s nice to remember how to think in 160, just like I have in this blog post.

Abnib Lives On

Okay, okay, I get it!

After my blog post a few days ago about the imminent death of the oft-neglected Abnib, I received a surge of complaints by IM, email, and comments. It turns out that a higher-than-expected number of you are actually using the site on a daily basis.

So I’ve extended its life by a further two years, at least. I’ve also done some quick hacking to put together a new, more-maintainable framework for it. I give to you all: Abnib 7.0!

Abnib 7.0. It's survived being shot in the head twice now, so we can be sure that it's not a zombie.

Features not in 6.0 but now present include:

  • Easier to maintain; so when new blogs appear or old ones disappear, there’s a chance that it’ll be kept up-to-date.
  • Really ugly new skin thrown together in a few minutes.
  • Combined RSS and OPML feeds, to make it easy for you to switch to a better aggregator, as I assumed you all already had.
  • It’s a little faster to update itself and a lot faster to use.
  • Abnib Tweets, for those of you who are of the twittering persuasion. I’m not, so if there’s anybody I’ve missed you’ll have to let me know.
  • Abnib Rockmonkey – a random daily snippet from the long-dead Rockmonkey wiki.
  • Abnib Chat, the return of the abandoned chat room. Hey; if people still want Abnib, maybe they still want this, too… but I shan’t hold my breath! And no, the old Rockmokney bot, Iggy, isn’t there, so there’ll be no random cries of “Surfboard!” unless you bring them yourself.

Update: Wow. So far the chat room’s seen Matt R, Ruth, Bryn, Claire and me. Just not at the same time. It’s just like old times (although Iggy, who I just reinstated, is yet to say “surfboard” even once…)

Facebook Annoyance Of The Day

(rambling, ranty; I saw something on Facebook that pissed me off, and ended up ranting about the whole social media scene – no offence meant, and I’ve deliberately picked no examples from anybody I know or care about)

It’s not as bad as setting up a Facebook group to recover your friends’ mobile numbers after losing your phone, which I’ve complained about previously, but there’s a particular bit of behaviour that I’ve seen a few times on Facebook that really pisses me off.

Yes, in a world of geeks complaining about Facebook, I’m the geek who complains about Facebook users.

Here’s what I’m talking about:

Let’s have a look what’s happened here. Person 1 wants Person 2 to do them a favour: a little household chore: putting something in the post for them. So they went to Facebook, logged in, went to Person 2’s wall, and wrote about it there. What?

I’ve put together a quick list of other possible ways that Person 1 could have passed on this message:

  1. Facebook Message – If you really were logged in to Facebook already, and even you were already on the page of the person you wanted to send a message to, it would only have been one more click to send a Facebook Message. This would have given you more options, in case you needed them, and would have meant that you didn’t have to tell every single one of Person 2’s friends about the mindless dull minutiae of an event that matters to (at most) only two people.
  2. E-mail – Remember that? It’s fast, it’s simple, and it doesn’t involve filling your friend’s friends’ news feed with crap that has no relevance to them (or, in fact, to anybody).
  3. Text message – There’s almost nobody left without a mobile phone, and I’d hope that you had your (presumably) housemate’s number: why not drop them a text. It’s typically even faster than the previous two suggestions, and you don’t even have to open a web browser. Hell; if you’re going to go that far, why not make a phone call (we can still do that, you know, even on modern mobiles).

I suppose that this mini-rant is actually a roundabout way of answering a question I get asked from time to time: Why can’t I post to your Facebook wall? I get asked this question about once every three or for months, and the answer is related to my complaints about the poster, above. Not being able to write on my wall isn’t part of the half-dozen or so layers of privilege I group my Facebook contacts into: writing on my “wall” is deliberately something that only I can do, no matter who you are.

And that’s because I don’t see the point. Why do I want a medium to which my friends can post messages specifically to me in full view of the rest of the world? I can fully understand why you’d want to write on your own wall – hey, it’s not that dissimilar to blogging – but what possible motive can you have to want to say something to me “in front of everyone”, except if perhaps it’s more important to you to be seen to be saying something than it is for me to hear your message?

If you have something to tell me, then tell me: call me, text me, instant message me (I’m on basically all of the networks), e-mail me (encrypted, if you prefer), or even fill in the form on my web site: I’m a really easy to get in contact with. If you have something to tell the world, or all of your friends, then put it on a blog, Tweet it, put it on your Facebook wall, or something. I can’t see any legitimate use case that I care about where you’d want to leave a message specifically for all of my friends.

I suppose while I’m full of rantyness I ought to explain my stance on Twitter, too. I had a Twitter account, once. I get it; I see the point. Microblogging; yeah, that’s a clever idea: sharing clever snippets of information, URLs, and whatnot without the hassle of having to type in your blog address and put it there. It’s not much hassle, but you sometimes feel a little like a cheater when you write a blog post of only a couple of sentences (but that hasn’t stopped me doing it from time to time). So I signed up for Twitter, found my friends and followed them, and gave it a go.

I read what my friends wrote, and I wrote about what was of interest to me.

Maybe it’s just my friends, or maybe it’s just that blogging works because it takes effort, but most of the tweets I would see fell into only a couple of categories. The first category are those tweets which are actually interesting, and are incredibly rare. The next category is those tweets which are half of a conversation about which I don’t care – a friend of mine talking to somebody I don’t know about something that doesn’t matter to me: you know, the thing I really hate about the way that people use their friends’ Facebook walls. The third category, and the most numerous for some of the people I followed, is tweets that surely have no value or interest to anybody at all. I don’t care that your bus is running late or that your boss has a new haircut. Why are you telling me this!

Perhaps I’m being a little unfair. Some of my friends produce consistently clever and interesting stuff on their Twitter feeds. Although these also tend to be the same people who write interesting things on their blogs, or who talk to me regularly, or who share fun stuff with me on Google Reader, and who generally otherwise keep me posted with what’s cool and interesting in their lives.

I’ve heard people say to me that my complaints about Twitter are invalid because I use Facebook (thereby carrying the implication that it’s just as bad). And it is just as bad – about 50% of the folks I know on Facebook type such drivel into their “walls” that I just don’t read them. But the difference is that I don’t have to. I can still use the useful Facebook features (contact details sharing, photo sharing, stalking) without having to get into the shitty “what my cat ate for dinner” stuff that seems to be the entirety of what the Twitter experience is about.

Me; I like blogs. A well-written blog post (with a sensible title: I’m looking at you, LiveJournalers) is something that I can read now, or later, or skip. Skipping tweets isn’t the same experience at all, because you’ll soon find yourself at “Oh no! That made the cat throw up!” and wonder what you missed (hint: fuck all). So I think I’ll stick to reading folks’ blog posts, logging into Facebook every couple of weeks, and checking a handful of my friends’ Twitter feeds once in a blue moon. Is that how it’s supposed to be done? I’m not sure, but it’s the only way that I’ve found that works for me.

Or perhaps I’m missing something.

×