For anybody who’s worried, Ruth is fine: mostly it’s only her pride that’s been injured, although she’s looking to be growing some badass-looking bruises. Luckily today is a work/study-from-home day for me, so I was able to go out and rescue her (she hadn’t even gotten out of our estate).
Kind: Articles
This Is Not What Juggling Looks Like
Do you remember how earlier this year, half of the Internet went nuts about the fact that – based on the emoji they’d drawn – Google didn’t know how to make a cheeseburger? It was a fun distraction from all the terrible stuff happening in the world, which was nice, but it also got me to thinking: how many other emoji are arguably “wrong” in their depiction of whatever-it-is they’re supposed to be showing.
I’ve got a special kind of relationship with emoji to begin with. I wouldn’t even call it love-hate, because that would imply that there’s something about them that I love. But I certainly think that they’re culturally-fascinating, and I wonder how future anthropologists will look back on this period of our history: the time that we went back to heiroglyphics for a while! It’s great to have a convenient, universal, lazy icon set that anybody can use… but it’s unfortunate that people use them for literal rather than figurative meaning (such as sharing the [?️ | reminder ribbon] icon with somebody because it’s pink and you’re doing a breast cancer awareness fun run… without realising that the ribbon is only pink on your model of phone), or for figurative meanings that depend on specific iconography (such as sending the [? | aubergine/eggplant] emoji to somebody to tell them that you’ve got an erection… which is apparently a thing – I’m out of touch with youth culture… without knowing that their LG phone is going to render it as super-bent).
Emoji can be a way to accentuate a message, but they aren’t and shouldn’t be the message themselves because the specifics of their display are not so much a standard as a loose collection of standards implemented by some… imaginative… graphic artists… And some cases are particularly bad:
Apple seem to think that three-ball juggling involves all three balls being in the air at the same time. And also, for some reason, wearing a bowler hat and a bow tie.
The idea that three-ball juggling routinely involves multiple balls in the air at once is a common one, but it’s (mostly) false. As the animated GIF above shows, there are two stages to juggling. The first is the stage where one ball is held in each hand and a third ball is in the air. The second is the stage where the juggler throws a ball from their hand in order to free up space to catch the descending ball. This latter one is the only point when there are multiple balls in the air, and even then it’s only two of them (specifically, for conventional N-ball juggling, the number of balls in the air is usually N-2 and occasionally N-1).
Apple’s emoji also places the balls in very unlikely places: consider the two lowest-down balls: they’re both further out than the centre of the juggler’s hands! This means that the juggler is throwing the balls away from himself (presumably out of panic that he’s somehow been hired as a juggler despite not knowing how to juggle).
Yes, yes, I get it: icons should be symbolic rather than representative, and with that in mind Apple’s icon isn’t too bad. Especially not when you compare it to some of the other options.
Both Google and Samsung’s emoji have the same problem: that all the balls are bunched up in the same path, like they’re being fired from a shotgun at an unsuspecting children’s entertainer. They form an arch over the juggler’s head like a rainbow of mistake, all rocketing from the juggler’s right hand to their left which is clearly going to be incapable of catching them all at once. What we’re seeing, then, is a split second before the moment of photographic perfection: the point at which all the balls are in the air and you don’t have to wait and see what a disaster happens when they all come down at once.
Also, Google: you too? What’s with the bowler hat and bow tie? Is this what jugglers are supposed to wear? Have I been doing it wrong my whole life?
Facebook’s “juggler” emoji is even worse. For a start, it doesn’t actually show a juggler, it shows juggling (and this isn’t a consistent style choice: Facebook’s emoji for e.g. snowboarder, mechanic, farmer, teacher etc. all show a whole person or at least a person from the waist upwards). Secondly, the motion of the balls most-closely represents circle-juggling, which is a way to juggle but isn’t what you normally see jugglers doing: compared to conventional juggling patterns, circle juggling is both harder to do and looks less-impressive!
But even then, it’s confusing: why is the blue ball turning a corner of its own accord to try to avoid the hand? Perhaps this is some kind of magic available only to people who are missing a finger from each hand, as this unusual “juggler” seems to be.
Twitter used to have many of the same problems – circle juggling, balls that randomly change direction in flight, no juggler – until they revamped their emoji collection last year. Now they’ve still got most of those, plus the “all the balls in the air” problem and the most disinterested-looking juggler I’ve ever seen. As he stands there, shrugging, it feels like it needs a speech bubble that says “I have no feelings about what I’m doing whatsoever.” At least he’s not wearing a bowler hat and bow tie, I suppose.
Also: why do we have an emoji for juggler, but not for magician?
The short of it is: emoji have a lot to answer for.
Christmas Cheer with Bytemark
For the last eight winters, we at Three Rings have sent out Christmas cards – and sometimes mugs! – to our clients (and to special friends of the project). The first of these was something I knocked up in Photoshop in under an hour, but we’ve since expanded into having an official “company artist” in the form of our friend Ele who each year takes the ideas that the Three Rings volunteer team have come up with and adapts them into a stunning original design that we’re proud to show off to our clients.
This year’s card is still winging its way to some of our more-distant customers, as Three Rings is used in six countries, and so it doesn’t yet appear on our gallery of previous cards. But here’s a sneak peek:
For most of Three Rings life, our server’s been hosted by the awesome folks at Bytemark. We had a brief dalliance with Amazon Web Services for a while but had a seriously unsatisfying experience and we eventually came crawling back to Bytemark (complete with a conveniently-timed Valentines’ Day message expressing our love for them and our apologies for our mistake). What I’m saying is that we’ve made a habit of sending seasonal greetings to our buddies at Bytemark – and this Christmas was no different – but what surprised us was what we received from them this year:
Not only did Bytemark send us a delightful Christmas card (with a pixel-art picture of Sana literally burning the logs) but they included a fabulous-looking fruitcake. Thanks for bringing a little bit of extra cheer to our Christmas, Bytemark!
When One Library Steals From Another
When I first started working at the Bodleian Libraries in 2011, their websites were looking… a little dated. I’d soon spend some time working with a vendor (whose premises mysteriously caught fire while I was there, freeing me up to spend my birthday in a bar) to develop a fresh, modern interface for our websites that, while not the be-all and end-all, was a huge leap forwards and has served us well for the last five years or so.
Fast-forward a little: in about 2015 we noticed a few strange anomalies in our Google Analytics data. For some reason, web addresses were appearing that didn’t exist anywhere on our site! Most of these resulted from web visitors in Turkey, so we figured that some Turkish website had probably accidentally put our Google Analytics user ID number into their code rather than their own. We filtered out the erroneous data – there wasn’t much of it; the other website was clearly significantly less-popular than ours – and carried on. Sometimes we’d speculate about the identity of the other site, but mostly we didn’t even think about it.
Earlier this year, there was a spike in the volume of the traffic we were having to filter-out, so I took the time to investigate more-thoroughly. I determined that the offending website belonged to the Library of Bilkent University, Turkey. I figured that some junior web developer there must have copy-pasted the Bodleian’s Google Analytics code and forgotten to change the user ID, so I went to the website to take a look… but I was in for an even bigger surprise.
Whoah! The web design of a British university was completely ripped-off by a Turkish university! Mouth agape at the audacity, I clicked my way through several of their pages to try to understand what had happened. It seemed inconceivable that it could be a coincidence, but perhaps it was supposed to be more of an homage than a copy-paste job? Or perhaps they were ripped-off by an unscrupulous web designer? Or maybe it was somebody on the “inside”, like our vendor, acting unethically by re-selling the same custom design? I didn’t believe it could be any of those things, but I had to be sure. So I started digging…
I was almost flattered as I played this spot-the-difference competition, until I saw the copyright notice: stealing our design was galling enough, but then relicensing it in such a way that they specifically encourage others to steal it too was another step entirely. Remember that we’re talking about an academic library, here: if anybody ought to have a handle on copyright law then it’s a library!
I took a dive into the source code to see if this really was, as it appeared to be, a copy-paste-and-change-the-name job (rather than “merely” a rip-off of the entire graphic design), and, sure enough…
It looks like they’d just mirrored the site and done a search-and-replace for “Bodleian”, replacing it with “Bilkent”. Even the code’s spelling errors, comments, and indentation were intact. The CSS was especially telling (as well as being chock-full of redundant code relating to things that appear on our website but not on theirs)…
So I reached out to them with a tweet:
I didn’t get any response, although I did attract a handful of Turkish followers on Twitter. Later, they changed their Twitter handle and I thought I’d take advantage of the then-new capability for longer tweets to have another go at getting their attention:
Clearly this was what it took to make the difference. I received an email from the personal email account of somebody claiming to be Taner Korkmaz, Systems Librarian with Bilkent’s Technical Services team. He wrote (emphasis mine):
Dear Mr. Dan Q,
My name is Taner Korkmaz and I am the systems librarian at Bilkent. I am writing on behalf of Bilkent University Library, regarding your share about Bilkent on your Twitter account.
Firstly, I would like to explain that there is no any relation between your tweet and our library Twitter handle change. The librarian who is Twitter admin at Bilkent did not notice your first tweet. Another librarian took this job and decided to change the twitter handle because of the Turkish letters, abbreviations, English name requirement etc. The first name was @KutphaneBilkent (kutuphane means library in Turkish) which is not clear and not easy to understand. Now, it is @LibraryBilkent.
About 4 years ago, we decided to change our library website, (and therefore) we reviewed the appearance and utility of the web pages.
We appreciated the simplicity and clarity of the user interface of University of Oxford Bodlien Library & Radcliffe Camera, as an academic pioneer in many fields. As a not profit institution, we took advantage of your template by using CSS and HTML, and added our own original content.
We thought it would not create a problem the idea of using CSS codes since on the web page there isn’t any license notice or any restriction related to the content of the template, and since the licenses on the web pages are mainly more about content rather than templates.
The Library has its own Google Analytics and Search Console accounts and the related integrations for the web site statistical data tracking. We would like to point out that there is a misunderstanding regarding this issue.
In 2017, we started to work on creating a new web page and we will renew our current web page very soon.
Thank you in advance for your attention to this matter and apologies for possible inconveniences.
Yours sincerely,
Or to put it another way: they decided that our copyright notice only applied to our content and not our design and took a copy of the latter.
Do you remember when I pointed out earlier that librarians should be expected to know their way around copyright law? Sigh.
They’ve now started removing evidence of their copy-pasting such as the duplicate Google Analytics code fragment and the references to LibraryData, but you can still find the unmodified code via archive.org, if you like.
That probably ends my part in this little adventure, but I’ve passed everything on to the University of Oxford’s legal team in case any of them have anything to say about it. And now I’ve got a new story to tell where web developers get together over a pint: the story of the time that I made a website for a university… and a different university stole it!
Bread Winner
Yesterday, Ruth and I attended a Festive Breads Workshop at the Oxford Brookes Restaurant Cookery and Wine School, where we had a hands-on lesson in making a variety of different (semi-)seasonal bread products. It was a fantastic experience and gave us both skills and confidence that we’d have struggled to attain so-readily in any other way.
The Oxford Brookes Restaurant is a working restaurant which doubles as a place for Brookes’ students to work and practice roles as chefs, sommeliers, and hospitality managers as part of their courses. In addition, the restaurant runs a handful of shorter or day-long courses for adults and children on regional and cuisine-based cookery, knife skills, breadmaking, and wine tasting. Even from the prep room off the main working kitchen (and occasionally traipsing through it on the way to and from the ovens), it was easy to be captivated the buzz of activity as the lunchtime rush began outside: a large commercial kitchen is an awesome thing to behold.
By early afternoon we’d each made five different breads: a stollen, a plaitted wreath, rum babas, a seeded flatbread, and a four-strand woven challah. That’s plenty to do (and a good amount of standing up and kneading!), but it was made possible by the number of things we didn’t have to do. There was no weighing and measuring, no washing-up: this was done for us, and it’s amazingly efficiency-enhancing to be able to go directly from each recipe to the next without having to think about these little tasks. We didn’t even have to run our breads in and out of the proofing cupboard and the ovens: as we’d be starting on mixing the next dough, the last would be loaded onto trays and carried around the kitchens.
The tuition itself was excellent, too. The tutors, Amanda and Jan, were friendly and laid-back (except if anybody tried to short-cut their kneading of a wet dough by adding more flour than was necessary, in which case they’d enter “flour police” mode and start slapping wrists) and clearly very knowledgeable and experienced. When I struggled at one point with getting a dough ball to the consistency that was required, Jan stepped in and within seconds identified that the problem was that my hands were too warm. The pair complemented one another very well, too, for example with Amanda being more-inclined than Jan towards the laissez-faire approach to ingredient measurement that I prefer when I make bread, for example.
The pace was fast and Ruth in particular struggled early on to keep up, but by the end the entire group – despite many hours on our feet, much of it kneading stiff doughs – were hammering through each activity, even though there was a clear gradient in the technical complexity of what we were working on. And – perhaps again thanks to the fantastic tuition – even the things that seemed intimidating upon first glance (like weaving four strands of dough together without them sticking to one another or the surface) weren’t problematic once we got rolling.
Our hosts, apparently somehow not having enough to do while teaching and supervising us, simultaneously baked a selection of absolutely delicious bread to be served with our lunch, which by that point was just showing-off. Meanwhile, we put the finishing touches on our various baked goods with glazes, seeds, ribbons, and sugar.
And so we find ourselves with a house completely full of amazingly-tasty fresh bread – the downside perhaps of having two of us from the same household on the same course! – and a whole new appreciation of the versatility of bread. As somebody who makes pizza bases and, once in a blue moon, bread rolls, I feel like there’s so much more I could be doing and I’m looking forward to getting more adventurous with my bread-making sometime soon.
I’d really highly recommend the Brookes Restaurant courses; they’re well worth a look if you’re interested in gaining a point or two of Cooking skill.
Carry Fire
I’ve just listened to Robert Plant’s new album, Carry Fire. It’s pretty good.
A long while after my dad’s death five years ago, I’d meant to write a blog post about the experience of grief in a digital age. As I’ve clearly become increasingly terrible at ever getting draft posts complete, the short of it was this: my dad’s mobile phone was never recovered and soon after its battery went flat any calls to his number would go straight to voicemail. He’d recently switched to a pay-as-you-go phone for his personal mobile, and so the number (and its voicemail) outlived him for many months. I know I’m not the only one that, in those months, called it a few times, just to hear his voice in the outgoing message. I’m fully aware that there are recordings of his voice elsewhere, but I guess there was something ritualistic about “trying to call him”, just as I would have before his accident.
The blog post would have started with this anecdote, perhaps spun out a little better, and then gone on to muse about how we “live on” in our abandoned Inboxes, social media accounts, and other digital footprints in a way we never did before, and what that might mean for the idea of grief in the modern world. (Getting too caught up in thinking about exactly what it does mean is probably why I never finished writing that particular article.) I remember that it took me a year or two until I was able to delete my dad from my phone/email address book, because it like prematurely letting go to do so. See what I mean? New aspects of grief for a new era.
Another thing that I used to get, early on, was that moment of forgetting. I’d read something and I’d think “Gotta tell my dad about that!” And then only a second later remember why I couldn’t! I think that’s a pretty common experience of bereavement: certainly for me at least – I remember distinctly experiencing the same thing after my gran’s death, about 11 years ago. I’m pretty sure it’s been almost a year since I last had such a forgetting moment for my father… until today! Half way into the opening track of Carry Fire, a mellow folk-rocky-sounding piece called The May Queen (clearly a nod to Stairway there), I found myself thinking “my dad’d love this…” and took almost a quarter-second before my brain kicked in and added “…damn; shame he missed out on it, then.”
If you came here for a music review, you’re not going to get one. But if you like some Robert Plant and haven’t heard Carry Fire yet, you might like to. It’s like he set out to make a prog rock album but accidentally smoked too much pot and then tripped over his sitar. And if you knew my dad well enough to agree (or disagree) that he would have dug it, let me know.
Jokes That Aged Badly
I’ve lately taken an interest in collecting jokes that haven’t aged well. By which I mean: jokes that no longer work, or require explanation, because they’re conceptually ‘dated’. Typically, these jokes aren’t funny any more, or are only funny to people who were around at the time that they were first conceived, and I imagine that we, as a civilisation, are necessarily relegating more and more jokes into this particular category as time goes on.
My favourite joke of this category is the following classic student joke, which was relevant when I first heard it in the 1990s:
What’s pink and takes an hour to drink?
Grant cheque
By way of explanation: the grant cheque was how British students used to receive their government aid to support them during their studies. It had become gradually smaller (relative to the value of the pound) over time by failing to rise in value in line with inflation, and was printed on pink paper, hence the joke. There was an effort to revive it in the late 1990s/early 2000s as follows:
What’s green and takes an hour to drink?
Loan cheque
By this point, the grant had been replaced by the student loan, whose payments came printed on green paper instead. This is, of course, simply an example of adapting an old joke for a new audience, as we’ve all seen time and again with the inevitable string of recycled gags that get rolled-out every time a celebrity is accused of a sex crime. Incidentally, the revised form of the grant cheque/loan cheque joke has itself become dated as students now typically receive all of their loan payments directly to their bank accounts for convenient immediate spending rather than what my generation had to do which was to make the beans-and-rice stretch another few days until the cheque cleared.
Here’s another example:
Bill and Ben the flower pot men are in the garden.
“Flobalobalobalob,” says Bill
Ben replies: “You’re drunk, Bill.”
Now those of you who are about my age, or older, are unlikely to see why this joke has dated badly. But it is dated, because the 2001 reboot of The Flower Pot Men (now called simply Bill and Ben) features the titular characters speaking in reasonably-normal English! The idea that they were only speaking Oddle Poddle because they were too pissed to speak English is no longer a point of humour, and increasingly the population won’t remember the original stilted dialect of the flower pot men. If we assume that anybody under the age of 24 is more-likely to have come across the newer incarnation then that’s a third of the population!
Let’s try another, which became dated at about the same time:
Why are hurricanes names after women?
Because when they come they’re wet and wild and when they go they take your house and your car.
The history of how we’ve named hurricanes over the centuries is really quite interesting, and its certainly true that for the majority of the period during which both meteorologists and the general public have shared the same names for tropical storms they’ve been named after women. Depending on where you are in the world, though, it’s not been true for some time: Australia began using a mixture of masculine and feminine names during the 1970s, but other regions took until the millennium before they followed suit. However, the point still remains that this joke has been dated for a long while.
Here’s a very highly-charged joke from the 1960s which I think we can all be glad doesn’t make much sense any more:
What’s all black and comes in an all white box?
Sammy Davis Jr.
For those needing the context: Sammy Davis Jr. was a black American singer, comedian, and variety show host who triggered significant controversy when he married white Swedish actress May Britt. Interracial marriage was at the time still illegal across much of the United States (such prohibition wouldn’t be ruled unconstitutional until the amazingly-named “Loving Day” in 1967) and relationships between whites and “coloureds” were highly taboo even where they weren’t forbidden by law.
Topical jokes like that are often too easy, like this one – even shorter-lived – from the summer of 1995, presented here with no further interpretation:
Q: What’s the difference between O. J. Simpson and Christopher Reeve?
A: O. J.’s gonna walk!
Perhaps my favourite strictly-topical joke of this variety, though, comes from 1989:
Q: Why is Margaret Thatcher like a pound coin?
A: She’s thick, brassy, and she thinks she’s a sovereign.
It’s at least two-thirds funny even if you don’t have the full context, and that’s what’s most-interesting about it: it’ll take until the new £1 becomes ubiquitous and the old one mostly-forgotten before it will lose all of its meaning. But as you’ve probably forgotten why the third part of the punchline – “…and she thinks she’s a sovereign” – comes from, I’ll illuminate you. The joke is wordplay: there are two meanings to “sovereign” in this sentence. The first, of course, is that a sovereign is the bullion coin representing the same value as a conventional pound coin.
To understand the second, we must first remind ourselves of the majestic plural, better known as the “royal ‘we'”. In 1989, following the birth of her grandson Michael, Thatcher made a statement saying “we have become a grandmother”, resulting in much disdain and mockery by the press at the time. The Prime Minister’s relationship with the Queen had always been a frosty one, and Thatcher’s (mis)use of a manner of speech that was typically reserved for the use of royalty did nothing to make her look any more-respectful of the monarch.
The final example I’ve got died out as a joke as a result of changing brand identities, more cost-effective packaging materials, and the gradual decline of tobacco smoking. But for a long while, while Prince Albert Pipe Tobacco was still sold in larger quantities as it always had been, in a can, a popular prank perpetrated by radio stations that went in for such things was to call a tobacconist and ask, “Have you got Prince Albert in a can?”. The tobacconist would invariably answer in the affirmative, at which point the prankster would response “Well let him out then!” This joke may well predate the “Is your refrigerator running?” prank call that might be more-familiar to today’s audiences.
If you’ve got any jokes that have aged badly, I’d love to hear them. And then, I suppose, have them explained to me.
GMail Tip: Use A Plus Sign To Avoid Spam
This technique’s about a decade old, but a lot of people still aren’t using it, and I can’t help but suspect that can only be because they didn’t know about it yet, so let’s revisit:
You have a GMail account, right? Or else Google for Domains? Suppose your email address is dan@gmail.com… did you know that also means that you own:
- dan+smith@gmail.com
- dan+something@gmail.com
- dan+anything-really@gmail.com
- d.an@gmail.com
- d..a..n@gmail.com
- …
You have a practically infinite number of GMail addresses. Just put a plus sign (+) after your name but before the @-sign and then type anything you like there, and the email will still reach you. You can also insert as many full stops (.) as you like, anywhere in the first half of your email address, and they’ll still reach you, too. And that’s really, really useful.
When you’re asked to give your email address to a company, don’t give them your email address. Instead, give them a mutated form of your email address that will still work, but that identifies exactly who you gave it to. So for example you might give the email address dan+amazon@gmail.com to Amazon, the email address dan+twitter@gmail.com to Twitter, and the email address dan+pornhub@gmail.com to… that other website you have an account on.
Why is this a clever idea? Well, there are a few reasons:
- If the company sells your email address to spammers, or hackers steal their database, you’ll know who to blame by the email address they’re sending to. I’ve actually caught out an organisation in this way who were illegally reselling their mailing lists to third parties.
- If you start getting unwanted mail from somebody (whether because spammers got the email or because you don’t like what the company is sending to you), you can easily block them. Even if you can’t unsubscribe or just because they make it hard to do so, you can just set up a filter to automatically discard anything that comes to that email address in future.
- If you feel like organising your life better, you can set up filters for that, too: it doesn’t matter what address a company sends from, so long as you know what address
they’re sending to, so you can easily have filters that e.g. automatically forward copies of the mortgage statement that come to dan+yourbank@gmail.com to your
spouse, or automatically label anything coming to
dan+someshop@gmail.com with the label “Shopping”. - If you’re signing up just to get a freebie and you don’t trust them not to spam you afterwards, you don’t need to use a throwaway: just receive the goodies from them and them block them at the source.
I know that some people get some of these benefits by maintaining a ‘throwaway’ email address. But it’s far more-convenient to use the email address you already have (you’re already logged-in to it and you use it every day)! And if you ever do want a true ‘throwaway’, you’re generally better using Mailinator: when you’re asked for your email address, just mash the keyboard and then put @mailinator.com on the end, to get e.g. dsif9tsnev4y8594es87n65y4@mailinator.com. Copy the first half of the email address to the clipboard, and then when you’re done signing up to whatever spammy service it is, just go to mailinator.com and paste into the box to see what they emailed you.
A handful of badly-configured websites won’t accept email addresses with plus signs in them, claiming that they’re invalid (they’re not). Personally, when I come across these I generally just inform the owner of the site of the bug and then take my business elsewhere; that’s how important it is to me to be able to filter my email properly! But another option is to exploit the fact that you can put as many dots in (the first part of) your GMail address as you like. So you could put d…an@gmail.com in and the email will still reach you, and you can later filter-out emails to that address. I’ll leave it as an exercise for the reader to decide how to encode information about the service you’re signing up to into the pattern and number of dots that you use.
Go forth and avoid spam.
Fnorders
I’ve not posted much recently: I’ve had a lot of Complicated Life Stuff going on, sorry.
But I did make a thing: fnorders.com. You’re welcome.
Stones Under Yetzin
For the last few months, I’ve been GMing a GURPS campaign (that was originally a Warhammer Fantasy Roleplay 1st-edition campaign, in turn built upon a mixture of commercially published and homegrown modules, including, in turn, an AD&D module…) for a few friends.
So far, it’s included such gems as a player-written poem in a fictional language, another player’s drawing of the most-cinematic action sequence they’ve experienced so far… and the opportunity, during a play session that coincided with a player’s birthday, to explain the layout of a ruined tower by presenting them with a cake baked into the shape of the terrain.
If you’re interested in what we’ve been up to, the campaign has it’s own blog where you can read about the adventures of Newman, Bret, Lythil, Keru, and (the late) Sir Bea.
But mostly I wanted to make this post so that I had a point of context in case I ever get around to open-sourcing some of the digital tools I’ve been developing to help streamline our play sessions. For example, most of our battle maps and exploration are presented on a ‘board’ comprised of a flat screen monitor stripped of its stand and laid on its back, connected via the web to a tool that allows me to show, hide, or adapt parts of it from my laptop or mobile phone. Player stats, health, and cash, as well as the date, time, position of the sun as well as the phases of the moons are similarly tracked and are available via any player’s mobile phone at any time.
These kinds of tools have been popular for ‘long-distance’/Internet roleplaying for years, but I think there’s a lot of potential in locally-linked, tabletop-enhancing (rather than replacing) tools that deliver some of the same benefit to the (superior, in my opinion) experience of ‘proper’ face-to-face adventure gaming. Now, at least, when I tell you for example about some software I wrote to help calculate the position of the sun in the sky of a fictional world, you’ll have a clue why I would do such a thing in the first place.
Playing Dead – Toddlers Gone Weird
No matter how prepared you think you are for the questions your toddler might ask (and the ways in which they might go on to interpret your answer), they’ll always find a way to catch you off guard. The following exchange with our little one began last weekend in the car:
Her: “I read the Beano Annual at Grandtom’s house.” (Grandtom is what she calls Ruth‘s father – her maternal grandfather.)
Me: “Oh? Did you like it?”
Her: “Yes. Did you have the Beano Annual when you were a little boy?”
Me: “Yes: I would sometimes get one for Christmas when I was little.”
Her: “Who gave it to you?”
Me: “My mummy and daddy did.”
Her: “Your mummy is Nanna Doreen.”
Me: “That’s right.”
Her: “Why haven’t I met your daddy?”
That’s a question that I somehow hadn’t expected to come up so soon. I probably ought to have guessed that it was on its way, given her interest in her extended family lately and how they’re all connected to one another, but I’d somehow assumed that it’d have come up organically at some point or another before her curiosity had made the connection that there was somebody clearly missing: somebody whom she’d heard mentioned but, inexplicably, never met.
Me: “My daddy died, a couple of years before you were born. He was climbing a mountain one day when he had a nasty accident and fell off, and he died.”
Her: “…” (a thoughtful pause)
Me: “Are you okay?”
Her: “How many birthdays did he have?”
Me: “Fifty-four. That’s a bigger number than you can count to, I think!”
Her: “How many birthdays will I have?”
Wow, this went further than I expected, very quickly. Obviously, I want to be open about this: the last thing I want is to introduce a taboo, and I’m a big believer in the idea that on I’m suddenly conscious of the fact that she’s clearly close to a minor existential crisis, having for possibly the first time connected the concepts of age and death. And, of course, I’m trying to translate my thoughts into ideas that a toddler can follow every step of the way. While simultaneously trying to focus on driving a car: she knows how to pick her timing! Okay…
Me: “Nobody knows for sure, but you’ll probably get lots and lots: seventy, eighty, ninety… maybe even a hundred birthdays!”
Her: “Then I’ll have a hundred candles.”
Me: “That’s right. Do you think you could blow out a hundred candles?”
So far, so good. Knowing that, like most toddlers, ours has a tendency to make some new discovery and then sit on it for a day or two before asking a follow-up question, I briefed Ruth and JTA so that they wouldn’t be caught too off-guard when she started telling them, for example, what she’d like for her hundredth birthday or something.
And all was well until yesterday, when we were laying in the garden under the recent glorious sunshine, playing a game that involved rolling along the lawn and back and bumping into one another in the middle, when she stood up and announced that she’d like to play something different.
Her: “Now we’re playing the die game.”
Me: “Oh…kay. How do we play that?”
Her: “We’re going to go up a mountain and then fall off.”
Me: (following her in a stomp around the garden) “Then what do we do?”
Her: “We die.” (mimes falling and then lies very still)
And so that’s how I came to spend an afternoon repeatedly re-enacting the circumstances of my father’s death, complete – later on, after Ruth mentioned the air ambulance that carried his body down from the mountain – with a helicopter recovery portion of the game. I’ve role-played some unusual games over the years, but this one was perhaps the oddest, made stranger by the fact that it was invented by a three year-old.
Toddlers process new information in strange (to adults) ways, sometimes.
AMP Is Poisonous
If you’re a web developer and you haven’t come across the Google AMP project yet… then what stone have you been living under? But just in case you have been living under such a stone – or you’re not a web developer – I’ll fill you in. If you believe Google’s elevator pitch, AMP is “…an open-source initiative aiming to make the web better for all… consistently fast, beautiful and high-performing across devices and distribution platforms.”
I believe that AMP is fucking poisonous and that the people who’ve come out against it by saying it’s “controversial” so far don’t go remotely far enough. Let me tell you about why.
When you configure your website for AMP – like the BBC, The Guardian, Reddit, and Medium already have – you deliver copies of your pages written using AMP HTML and AMP JS rather than the HTML and Javascript that you’re normally would. This provides a subset of the functionality you’re used to, but it’s quite a rich subset and gives you a lot of power with minimal effort, whether you’re trying to make carousels, video players, social sharing features, or whatever. Then when your site is found via Google Search on a mobile device, then instead of delivering the user to your AMP HTML page or its regular-HTML alternative… Google delivers your site for you via an ultra-fast precached copy via their own network. So far, a mixed bag, right? Wrong.
What’s poisonous about Google AMP
Ignoring the facts that you can get locked-in if you try it once, it makes the fake news problem worse than ever, and it breaks the core concepts of a linkable web, the thing that worries me the most is that AMP represents the most-subtle threat to Net Neutrality I’ve ever seen… and it’s from an organisation that is nominally in favour of a free and open Internet but that stands to benefit from a more-closed Internet so long as it’s one that they control.
Google’s stated plan to favour pages that use AMP creates a publisher’s arms race in which content creators are incentivised to produce content in the (open-source but) Google-controlled AMP format to rank higher in the search results, or at least regain parity, versus their competitors. Ultimately, if everybody supported AMP then – ignoring the speed benefits for mobile users (more on that in a moment) – the only winner is Google. Google, who would then have a walled garden of Facebook-beating proportions around the web. Once Google delivers all of your content, there’s no such thing as a free and open Internet any more.
So what about those speed increases? Yes, the mobile web is slower than we’d like and AMP improves that. But with the exception of the precaching – which is something that could be achieved by other means – everything that AMP provides can be done using existing technologies. AMP makes it easy for lazy developers to make their pages faster, quickly, but if speed on mobile devices is the metric for your success: let’s just start making more mobile-friendly pages! We can make the mobile web better and still let it be our Web: we don’t need to give control of it to Google in order to shave a few milliseconds off the load time.
We need to reject AMP, and we need to reject it hard. Right now, it might be sufficient to stand up to your boss and say “no, implementing AMP on our sites is a bad idea.” But one day, it might mean avoiding the use of AMP entirely (there’ll be browser plugins to help you, don’t worry). And if it means putting up with a slightly-slower mobile web while web developers remain lazy, so be it: that’s a sacrifice I’m willing to make to help keep our web free and open. And I hope you will be, too.
Like others, I’m just hoping that Sir Tim will feel the urge to say something about this development soon.
Science! (for toddlers)
I’m not sure that there’s any age that’s too-young at which to try to cultivate an interest in science. Once a child’s old enough to ask why something is the case, every question poses an opportunity for an experiment! Sometimes a thought experiment is sufficient (“Uncle Dan: why do dogs not wear clothes?”) but other times provide the opportunity for some genuine hands-on experimentation (“Why do we put flowers in water?”). All you have to do is take every question and work out what you’d do if you didn’t know the answer either! A willingness to take any problem with a “let’s find out” mentality teaches children two important things: (a) that while grown-ups will generally know more than them, that nobody has all the answers, and (b) that you can use experiments to help find the answers to questions – even ones that have never been asked before!
Sometimes it takes a little more effort. Kids – like all of us, a lot of the time – can often be quite happy to simply accept the world as-it-is and not ask “why”. But because a fun and educational science activity is a good way to occupy a little one (and remember: all it needs to be science is to ask a question and then try to use evidence to answer it!), I’ve been keeping a list of possible future activities so that we’ve got a nice rainy-day list of things to try. And because we are, these days, in an increasingly-large circle of breeders, I thought I’d share some with you.
Here’s some of the activities we’ve been doing so far (or that I’ve got lined-up for future activities as and when they become appropriate):
-
Measuring and graphing rainfall
We’ve spent a lot of time lately taking about calendars, weather, and seasons, so I’m thinking this one’s coming soon. All we need is a container you can leave in the garden, a measuring jug, and some graph paper. -
Experimenting with non-Newtonian fluids
You can make a dilatant fluid with cornflower and water: it acts like a liquid, but you can slap it and grab it like a solid. Fine, very wet sand (quicksand!) demonstrates pseudoplasticity which also explains how paint ‘blobs’ on your brush but is easy to spread thin on the paper. -
Magnets
I’m really looking forward to the opportunity to play with magnets: we’ve started already with thanks to Brio wooden railway and talking about the fact that the rolling stock will attach one way around (and seem to jump together when they get close) but repel the other way around, and we’ve also begun looking at the fact that if you remove a carriage from the middle of a train the remaining segments are already correctly-aligned in order to be re-attached. -
Different kinds of bouncy balls
We’ve had fun before measuring how high different kinds of balls (air-filled rubber football, large solid rubber ball, skeletal rubber ball, small solid rubber ball) bounce when dropped from a stepladder onto a patio and talking about how ‘squishy’ they are relative to one another, and speculating as to the relationship between the two.
-
Demonstrating capillary action/siphoning
Two containers – one with a fluid in and one without – joined over the rim by a piece of paper towel will eventually reach an equilibrium of volume, first as a result of capillary action causing the fluid to climb the paper and then using a siphon effect to continually draw more over the edge. -
Illustrating the solar system (to scale)
It helps adults and children alike to comprehend the scale of the solar system if you draw it to scale. If you’ve got a long street nearby you can chalk it onto the pavement. If not, you’ll need a very small scale, but doing the Earth and Moon might suffice. -
Electricity
Batteries, wires, and LEDs are a moderately safe and simple start to understanding electricity. Taking a ‘dead’ battery from a drained toy and putting it into the circuit shows the eventual state of batteries. Connecting lights in series or parallel demonstrates in very simple terms resistance. Breaking or joining a circuit illustrates that switches function identically wherever they’re placed on the circuit. -
Vortices
I’m interested in trying to replicate this experiment into making different kinds of standing vortices in water, but I might have to wait until our little scientist has slightly more patience (and fine motor control!).
-
Centripetal force
We’ve been lucky enough to get to talk about this after using a whirlpool-shaped piece of marble run, but if we hadn’t then I was thinking we’d wait until the next time it was sunny enough for outdoor water play and use the fact that a full bucket can be spun around without spilling any in a similar way. -
Bug counting
Take a quadrant of garden and count the different kinds of things living in it. Multiply up to estimate the population across the garden, or measure different parts (lawn versus bedding plants versus patio, direct sunlight versus shade, exposed versus covered, etc.) to see which plants or animals prefer different conditions. -
Growing plants
Caring for different kinds of plants provides an introduction to botany, and there’s a lot to observe, from the way that plants grow and turn to face the light to the different stages of their growth and reproduction. Flowers give an attractive result at the end, but herbs and vegetables can be eaten! (Our little scientist is an enormous fan of grazing home-grown chives.) -
Mechanics and force
We’ve taken to occasionally getting bikes out of the shed, flipping them upside-down, and observing how changing the cogs that the chain runs over affects how hard you need to push the pedals to get movement… but also how much the movement input is multiplied into the movement of the wheel. We’re not quite at a point where we can reliably make predictions based on this observation, but we’re getting there! I’m thinking that we can follow-up this experiment by building simple catapults to see how levers act as a force multiplier.
-
Chromotography of inks
I’ve been waiting to do this until I get the chance to work out which felt tip pens are going to give us the most-exciting results… but maybe that’s an experiment we should do together, too! Colouring-in coffee filter papers and then letting them stand in a cup of water (assuming a water-soluable ink) should produce pretty results… and show the composition of the inks, too! -
Colour mixing
Mixing paint or play-doh is an easy way to demonstrate subtractive colour mixing. We got the chance to do some additive colour mixing using a colour disk spinner at a recent science fair event, but if we hadn’t I’d always had plans to build our own, like this one. -
Structure and form of life
Looking at the way that different plants and animals’ physical structure supports their activities makes for good hands-on or thought-driven experimentation. A day at the zoo gets a few steps more-educational for a preschooler when you start talking about what penguins are able to do as a result of the shape of their unusual wings and a walk in the park can be science’d-up by collecting the leaves of different trees and thinking about why they’re different to one another. -
Stabbing balloons
The classic magic trick of poking a skewer through a balloon… with petroleum jelly on the skewer… lends itself to some science, so it’s on my to-do list.
-
Surface tension
Water’s such a brilliant chemical because it’s commonplace, safe, and exhibits so many interesting phenomena. Surface tension can be demonstrated by ‘floating’ things like paperclips on top of the surface, and can be broken by the addition of soap. -
Astronomy
In the winter months when the sun sets before bedtime are a great time to show off stars, planets, satellites and the moon. Eyes or binoculars are plenty sufficient to get started. -
Life cycles
I was especially pleased when our nursery kept an incubator full of chicken eggs so that the children could watch them hatch and the chicks emerge. We’d looked at this process before at a farm, but it clearly had a big impact to see it again. Helping to collect eggs laid by my mother’s chickens helps to join-up the circle. Frogspawn and caterpillars provide a way to look at a very different kind of animal life. -
Putting baking soda into things
Different everyday kitchen liquids (water, vinegar, oil…) react differently to the addition of baking soda. This provides a very gentle introduction to chemistry and provides an excuse to talk about making and testing predictions: now that we’ve seen what cold water does, do you think that hot water will be the same or different?
-
Bubbles and foams
Blowing bubbles through different types of mesh (we just used different kinds of tea towels elastic-banded to the cut-off end of a plastic bottle) demonstrates how you can produce foams of different consistencies – from millions of tiny bubbles to fewer larger bubbles – because of the permeability of the fabric. And then we wrecked the last tea towel by adding food colouring to it so we could make coloured foams (“bubble snakes”). -
Phase transition
Start with ice and work out what makes it melt: does it melt faster in your hand or in a dish? Does it melt faster or slower if we break it up into smaller parts? If we ‘paint’ pictures on the patio with them, where does the water go? I’m also thinking about ways in which we can safely condense the steam (and capture the vapour) from the kettle onto e.g. a chilled surface. Once we’re at a point where a thermometer makes sense I was also considering replicating the experiment of measuring the temperature of melting snow: or perhaps even at that point trying to manipulate the triple point of water using e.g. salt. -
Dissection
Take apart the bits of a flower, or look in detail at the parts of a bone-in cut of meat, and try to understand what they’re all for and why they are the way they are. -
What floats?
Next time the paddling pool is out, I’d like to start a more-serious look at which things float and which things don’t any try to work out why. What might initially seem intuitive – dense (heavy-for-their-size) things sink – can be expanded by using plasticine to make a mixture of ‘sinking’ and ‘floating’ vessels and lead to further discovery. I’m also thinking we need to do the classic ‘raisins in a fizzy drink’ thing (raisins sink, but their rough surfaces trap the bubbles escaping from the now-unpressurised liquid, causing them to float back up to shed their bubbles).
So there’s my “now and next” list of science activities that we’ll be playing at over the coming months. I’m always open to more suggestions, though, so if you’re similarly trying to help shape an enquiring and analytical mind, let me know what you’ve been up to!
The Long Tail of an Abusive Relationship
I am a survivor of an abusive relationship, and parts of that experience affect the way that I engage in romantic relationships… but I have difficulty quantifying exactly how much. Insert obvious (minor) trigger warning here, and scroll past the kitten if you want to read more.
I’m fine, by the way. It took… a long, long time, like in the region of a decade, to be completely fine about it, and I appreciate that compared to many people, I got lucky. Like many victims (and especially among men), my recovery was hampered by the fact that I found it difficult to see the relationship as having been abusive in the first place: that first step took many years all by itself. I’m not kidding when I say I’m fine, by the way: no, I don’t need to talk about it (with many of my circles of friends made up of current and former helpline volunteers of various types, I feel the need to make that doubly-clear: sometimes, one just can’t escape from people who care about you so much that they’ll offer you a cup of tea even if they’ve only got saltwater to make it with, if you catch the drift of my needless in-joke).
But I wanted to share with you something that I’ve gradually realised about how I was changed as a result of that relationship. Something that still affects me today and, for all I know, probably always will: a facet of my personality whose origins I eventually traced back to that dreadful relationship.
A major factor in my attraction to people, for the last decade and a half, has been whether or not they demonstrate being attracted to me. I’m sure that’s the case for everybody, at least to some extent – there’s a necessary reciprocity for a relationship to work, of course – but in my case there’ve been times in my past when the entirety of my attraction to somebody could be described in terms of their attraction to me… and that’s a level that definitely isn’t healthy! It stems from a lack of belief in my own worth as relationship material, which had grown to such an extent that feeling as if I were even-remotely attractive in somebody else’s eyes has, regardless of whether or not I’d be interested in them under other circumstances, made me feel as though I ought to “give them a shot”. Again: not healthy.
This, in turn, comes from a desperation of considering myself fundamentally unattractive, undateable, and generally unworthy of the attention of anybody else in any relationship capacity… which is highly tied-up in the fact that I had a relationship in which my partner repeatedly and methodically taught me exactly that: that I was lucky to be in a relationship with them or indeed with anybody, etc.
Given enough time, persuasion, and coercive tactics, this is the kind of shit that sinks in and, apparently, sticks.
I don’t mind that I’m a product of my environment. But it bugs me a little that I’m still, to a small (and easily managable, nowadays) extent the product of somebody else’s deliberate and manipulative efforts to control me, a decade and a half after the fact.
Now I’ll stress once again that I’m fine now: I’ve recovered by as much as I need (or at least expect) to. Some years ago, I finally got to the point that if you let me know that you’re attracted to me then that isn’t by itself something that makes me completely infatuated with you. Nowadays, I’m capable of actually engaging my brain and thinking “Hmm: would I be interested in this person if it weren’t for the fact that they’d just validated my worth in some way?” But I’m still aware of the sensation – that nagging feeling that I’m acting according to a manipulative bit of programming – even though I’m pretty confident that it doesn’t influence how I behave any more.
It’s funny how our brains work. At the end of the relationship, I made a reasonably-rapid bounceback/recovery in terms of my general self-worth, but it took far, far longer to get control over this one specific thing. I guess we all react to particular stresses in different ways. For me, somebody who’d spent his childhood and teen years with perhaps, if anything, a little much self-worth, it might have been inevitable that I’d be unable to rebuild the part of that self-image that was most-effectively demolished by somebody else: the bit that is dependent upon somebody else’s validation.
But who knows… as I said, I have difficulty quantifying how much that abusive relationship impacted me. Because it is, of course, true to say that every single thing I’ve ever experienced will have affected me in some way or another – made me the person I subsequently became. How can I justify blaming a single relationship? I know that I wasn’t “like this” back when I first started my dating life, but I can’t conclusively prove that it was the result of any one particular relationship: for all I can claim, perhaps it was something else? Maybe this was always who I’d become? Or maybe, of course, this entire paragraph is simply the result of the fact that my brain still has difficulty with the term “abusive relationship” and is more-than-happy to keep trying to reach for whatever alternative explanations it can find.
Once again though, I’ll stress that I’m okay now and I have been for many years. I just wanted to share with you an observation I’d made about my own psychology… and the long tail that even the “tamest” of abusive relationships can leave.
Steer! An Experimental Canvas/Websocket Game
As you may know, I’ve lately found an excuse to play with some new web technologies, and I’ve also taken the opportunity to try to gain a deeper understanding of some less bleeding-edge technologies that I think have some interesting potential. And so it was that, while I was staffing the Three Rings stall at last week’s NCVO conference, I made use of the time that the conference delegates were all off listening to a presentation to throw together a tech demo I call Steer!
As you can see from the GIF above, Steer! is a driving game. The track and your car are displayed in a web browser on a large screen, for example a desktop or laptop computer, television, or tablet, and your mobile phone is used to steer the car by tilting it to swerve around a gradually-narrowing weaving road. It’s pretty fun, but what really makes it interesting to me is the combination of moderately-new technologies I’ve woven together to make it possible, specifically:
- The Device Orientation API, which enables a web application to detect the angle at which you’re holding your mobile phone
- Websockets as a mechanism to send that data in near-real-time from the phone to the browser, via a web server: for the fastest, laziest possible development, I used Firebase for this, but I’m aware that I could probably get better performance by running a local server on the LAN shared by both devices
- The Canvas API to draw the output to the screen
The desktop browser does all of the real work: it takes the orientation of the device and uses that, and the car’s current speed, to determine how it’s position changes over the time
that’s elapsed since the screen was last refreshed: we’re aiming for 60 frames a second, of course, but we don’t want the car to travel slower when the game is played on a
slower computer, so we use requestAnimationFrame
to get the fastest rate possible and calculate the time between renderings to work out how much of a change has
occurred this ‘tick’. We leave the car’s sprite close to the bottom of the screen at all times but change how much it rotates from side to side, and we use it’s rotated to decide how
much of its motion is lateral versus the amount that’s “along the track”. The latter value determines how much track we move down the screen “behind” it.
The track is generated very simply by the addition of three sine waves of different offset and frequency – a form of very basic procedural generation. Despite the predictability of mathematical curves, this results in a moderately organic-feeling road because the player only sees a fraction of the resulting curve at any given time: the illustration below shows how these three curves combine to make the resulting road. The difficulty is ramped up the further the player has travelled by increasing the amplitude of the resulting wave (i.e. making the curves gradually more-agressive) and by making the road itself gradually narrower. The same mathematics are used to determine whether the car is mostly on the tarmac or mostly on the grass and adjust its maximum speed accordingly.
In order to help provide a visual sense of the player’s speed, I added dashed lines down the road (dividing it into three lanes to begin with and two later on) which zip past the car and provide a sense of acceleration, deceleration, overall speed, and the impact of turning ‘sideways’ (which of course reduces the forward momentum to nothing).
This isn’t meant to be a finished game: it’s an experimental prototype to help explore some technologies that I’d not had time to look seriously at before now. However, you’re welcome to take a copy – it’s all open source – and adapt or expand it. Particular ways in which it’d be fun to improve it might include:
- Allowing the player more control, e.g. over their accelerator and brakes
- Adding hazards (trees, lamp posts, and others cars) which must be avoided
- Adding bonuses like speed boosts
- Making it challenging, e.g. giving time limits to get through checkpoints
- Day and night cycles (with headlights!)
- Multiplayer capability, like a real race?
- Smarter handling of multiple simultaneous users: right now they’d share control of the car (which is the major reason I haven’t given you a live online version to play with and you have to download it yourself!), but it’d be better if they could “queue” until it was their turn, or else each play in their own split-screen view or something
- Improving the graphics with textures
- Increasing the entropy of the curves used to generate the road, and perhaps adding pre-scripted scenery or points of interest on a mathematically-different procedural generation algorithm
- Switching to a local LAN websocket server, allowing better performance than the dog-leg via Firebase
- Greater compatibility: I haven’t tried it on an iPhone, but I gather than iOS devices report their orientation differently from Android ones… and I’ve done nothing to try to make Steer! handle more-unusual screen sizes and shapes
- Anything else? (Don’t expect me to have time to enhance it, though: but if you do so, I’d love to hear about it!)