Janeway and Chakotay stuck in a time loop. No beating around the bush, they clock it within seconds of the second repeat. Love it.

time, voyager, star, trek

26th July 2016

When an idea is so good you write it on two totally separate occasions in two different sections in the same chapter in almost the same words.

phd, writing, acwri, thesis

I have now been directly affected by Brexit. In May my university assigned me £x to reward study participants. I'm in the US, so need to buy vouchers in $. Since I was assigned £x the economy has tanked so efficiently, that in order to claim back the $ value I paid I have to ask for £x+y. Sigh.

money, study, usd, brexit, life, phd, uk, gbp

Since my first day on the job as a Starfleet captain I swore I'd never let myself get caught in one of these godforsaken paradoxes. The future is the past, the past is the future, it all gives me a headache.

star trek, voyager, janeway

21st July 2016

I'm glad my skills are being put to good use at MIT: helping my colleagues rewrite silly tweets into proper English.

life, tweet, csarven, mit

Kite Hill cream cheese is better than Daiya cream cheese on every count (taste, texture, spreadability) except Daiya melts spectacularly.

food, vegan

Okay so after a couple of serious (but good episodes) we're back to regular programming: Tuvok and Neelix are combined by the transporter.

star, voyager, life, trek

12th July 2016

Ping me! (Linked Data Notifications)

I've been working with csarven on the Linked Data Notifications (LDN) spec, a protocol which lets you receive and use RDF notifications with your server or personal data store. There are three roles a piece of software can play (any or all of) in this: sender, receiver, or consumer.

The sender generates the body of the notification as a JSON-LD blob, discovers where to send it based on who the notification is for, and makes a POST request with this payload. Errol is my PHP implementation of a sender. It has some bugs and is designed really as a UI for sending test data, so it's not particularly interesting if you aren't a developer. I've also helped with dokieli, a JavaScript document editor/annotator which sends notifications when you leave an annotation. One of my academic articles is up here as a dokieli document which you can annotate.

The receiver is what lives in my data space, where these JSON-LD payloads end up. The main part of a receiver's job is to host an Inbox - a script that processes incoming posts from senders, and also exposes previously received notifications when asked for. Receivers can do other cool stuff like verify a notfication is true, filter out spam, decide what to bother keeping based on the sender or type of notification and restrict who can access the notifications afterwards. My receiver is less than 100 lines of PHP, and just accepts and stores everything that's thrown at it right now, and is completely publicly accessible.

I advertise this inbox anywhere I want people to discover it from. It's in a Link header across my whole site, but also explicitly in the body of my profile. I can add it to any webpage I can edit the contents or Link header of. Any sender that goes sniffing around that page because it wants to send a notification about it will find my inbox and send it there.

The consumer is an application that finds your inbox and reads the notifications and does something useful with them, like: display them, lets you acknowledge them, or take other relevant actions. dokieli is also a consumer (which is how the annotations are displayed on the document for everyone to see once they've been made).

But what I really wanted to say was that I hooked up Pushover to my Inbox so whenever a new notification is delivered, it sends a push notification to my phone. So this has become an actual way to reach me! And probably more effective than email.

You can use Errol when it works (which, at the time of writing this post, it doesn't, but maybe by the time you read this it will again). You can build your own sender. Or you can just make a curl request:

curl -v -X POST -H "Content-Type: application/ld+json" --data "@msg.json" https://rhiaro.co.uk/ldn.php 

Where msg.json looks something like:

  "@context": "http://www.w3.org/ns/activitystreams#",
  "to": { "@id": "https://rhiaro.co.uk" },
  "name": "Free chocolate",
  "summary": "Free chocolate for you",
  "content": "I have some free 95% dark chocolate for you, come and get it.",
  "actor": { "@id": "http://yourdomain.com" },
  "published": "2016-07-12T12:29:00"

data, hacking, ldn, notifications, php, socialwg, csarven, dokieli, inbox, linked, phd, pushover

10th July 2016

This episode of Voyager where Q is continuously sexist toward Janeway, was it funny when it was made or was it always appallingly real?

In other news: "this ship will not survive the formation of the cosmos."

life, star, voyager, q, trek

5th July 2016

Decided to try actually saving money for a couple of months so I'm going to see how long I can go without doing a grocery shop and easy only stuff I have already. So mostly things I can make with flour (which is a lot actually) and lentils. Also, roommates' food with a pledge to replace next week :)

food, life

The feelings of foreboding that comes with crowds gathering and fireworks being set up a stone's throw from my apartment. No sleep tonight.

Happy 4 July!


life, 4july, fireworks, travel, USA

2nd July 2016

Magnificent, the best days of our lives are coming right up

if we can just

get through



imogen, life