Occasional blog of
Tobias Revell

Flagon, Pluviôse, 228: Donkeys and baskets

Hi, sorry I don't have much for you this week. I was away at the weekend and I haven't really sat down and thought about much at all for the past seven days. Tom Armitage (he also has a blog) sent me an article about Disco Elysium which begins with a quote form one of the developer's (ZA/UM) founders on their name:
"It just looks hella cool, that slash there. It looks like the technical name of something that definitely exists and weighs eight tonnes."
As Tom said in his email: 'ZA/UM appear to be more rock and roll than I can conceive.' I guess in my own janky, inappropriate way I try to be a bit rock and roll. Maybe we could all try being more rock and roll.


I have the videos and images from What if Our World is Their Heaven to sort out and write up. This was the workshop slash studio that Natalie Kane and I ran with MA Graphic Media Design at London College of Communication. We looked at the cultural and political dimensions of 'automated image production and dissemination.' This is slightly selfish as I'm trying to kick off a research project at LCC on the same theme but it proved fruitful; the students really got on with it and pulled out a dizzying array of interesting projects and practices.

Anyway, I'm off to Edinburgh in 30 mins to do an event on speculative design at Edinburgh Napier's Creative Informatics Lab. I'm still not sure exactly what to talk about. The easy version would just be to go on about some work I've done but I don't know if people are interested in that. Then on Friday afternoon I'm back in London for the 'Designing for Alternative Futures' event at the Design Museum. Just check out the lineup on that. What a corker.

Things I Learnt This Week

This week I did make sure to note some things I learnt. 
  • I learnt what a freakshake was from a menu in a cafe in Bakewell. They are...  alarming. 
  • I learnt the etymological origins of the gay slang 'Twink' which is connected to the confectionary. I honestly didn't know. When you think about it, it's kind of obvious. 
  • Finally, in the podcast at the moment we're doing Sufi mysticism and Nasreddin came up who I learnt about from Slavs and Tartars a while back but h regaled the story of the basket and the donkey which tickles me (and because I can't find the original I paraphrase here):

    Everyday Nasreddin rode his donkey into the town and every day the customs officer inspected the donkey and Nasreddin's empty basket and found nothing Years later the customs officer – now retired – ran into Nasreddin in the market and asked him; 'I've retired now, you can tell me, what were you smuggling?

    'Donkeys and baskets.'

Night x

Chat, Nivose, 228; Time has Eaten Me Again but Maybe Some of This Content will Satisfy You.

Is knowledge always a product of its technical constraints? Donald Knuth’s precise mathematical description of the letter ‘S’ owes its existence to the switch to papyrus and wax that enabled early Latin scribes to make curved shapes. Without that switch from carving stones to marking paper; no s, no Knuth on mathematics of typography. So what knowledge was lost because some arbitrary technical decision or necessity was bypassed? You see, I was doing really well at finding time to read articles and do bits of writing in the morning until the first week back at my real job, now I am back to being exhausted and frenetic, unable to concentrate on a single thing.

Common Design Studio

I’ve spoken to some folks about this but I suppose since we got some money it’s worth going a bit public. With my colleague Eva Verhoeven, I’m going to be working on a big design education project this year – Common Design Studio. This is a follow-up to the Global Design Studio that itself was a follow up to Interact, an exchange programme between LCC and some Australian counterparts. Global Design Studio was an online project with 60 students from three institutions around the world all working together for ten days. We wrote up the results of Global Design Studio into a paper and identified that one of the missed opportunities of online projects like this is that they could be done cheaper by maximising the use of resources where they were plentiful and giving more access to others where they weren’t and that they have the possibility to connect folks who may not normally have access to the institution. As a result the Common Design Studio is a proposal for a completely free, open online design learning project run out of LCC that anyone with a phone can join. This makes it sound deceptively simple but there are already hurdles.

Because the project is committed to transparency and freedom we are documenting everything online totally openly. I’m currently using a Trello board for this purpose which you can get to here. It contains all the important documents and will be populated with meeting notes and discussions as the project evolves. I’m not sure if it’s the most suitable thing but it allows for anyone to drop in and check it out which is what we’re aiming for. If you want to help out or have any ideas or references please also shoot them over.


I decided I don’t like Vanished Kingdoms and stopped reading it. I like my history with a bit of allegory and, frankly, a bit of narrative and the thing was getting quite a slog to read through, for instance in the case of Aragon, over a thousand years of names of Kings and what they did. Also, I didn’t realise when picking it up (despite being on the cover) that it focuses exclusively on European history which I’m already pretty au fait with and I was hoping to learn more about places I didn’t know so much about.

So, beyond revisiting a bunch of design research for the PhD (Routledge Companion to Research in the Arts, Cross’ Designerly Ways of Thinking, Frayling’s Research in Art and Design and Design Research Through Practice) I started to read A *New* Program for Graphic Design from David Reinfurt which so far has been brilliant. It's basically a book version of the lecture series and exercises he gives his students but all really well illustrated and paced. Because it's verbatim from a lecture it also has a conversational quality that makes it really engaging. I often thought that I should just write down my talks rather than try to be a smart writer and this one is winning me over. It's broken into three sections; Typography, Gestalt and Interface and these give a super interesting overview of histories and futures of design, computation, social change and psychology.

I also read On Nonscalability by Anna Lowenhaupt Tsing recommended by Anab Jain. It gives a remarkably accessible history of the scalability project and its eclipsing of the possibilities of diversity. Tsing draws a logical equivalence between the idea of the ‘pixel’ and something she calls the ‘nonsocial landscape elements’ or, ‘nonsoels.’ These are discrete units that allow for scalability. In her example, slaves from Africa and sugarcane clones. I read Tsing’s book a year or two ago and this paper helpfully includes a short version of that as an example of nonscalability.

Channel Recommendation

I can't stop thinking about how good Disco Elysium was. I can't and won't play it again but a lot of the soundtrack is on YouTube. It was all done by British Sea Power and has a wonderful horrifying melancholy to it. There's very little spoken dialogue in the game so the music sticks with you most.

Marbre, Nivôse, 228: How do you know if you produced knowledge?

Sometimes it’s hard to think big when your weekly ambition is just to read all your emails. I tweaked the design of this thing again. Blogger's current favourite thing is not saving HTML changes so I have to edit offline then 'restore' the HTML. It’s been a few weeks since the last post and now we’re in a glorious new Gregorian decade so this is a long one, sorry.

There’s still a lot of these 'decade/year in review' things going out on the social networks where folks list what they consider to be achievements over the period. I won't be doing one, I feel pretty divided about them. It feels vainglorious, boastful and my internal logic suggests that getting things done is in and of itself the validation rather than having other people acknowledge that you did it. On the other hand, it’s been really nice reading all the incredible things that people have been up to in the face of what to many has been years of adversity and struggle. I don’t know. If you know me well you know that I feel ‘sticky’ about talking about my own work. I don’t like it because a) if it was any good it would speak for itself b) if it’s not good then it’s not worth talking about and I’m just taking up airspace from people doing good work which is why (barring one attempt) I never do these year/decade in review things. Anyway, moving on from thoughts that will inevitably land me in trouble on twitter dot com forward slash replies…

Upcoming: Reciprocal Studio - What if Our World is Their Heaven?

Today Natalie and I are starting teaching one of the Reciprocal Studios for MA Graphic Media Design at LCC as Haunted Machines. These are small, short and directed specialist briefs run by creative practitioners that the students can sign up to. We’ve decided to run it about automated image production and the imagination, inspired heavily by the work of Joel McKim but using Carl Di Salvo’s strategies for designerly responses. We’ll do our best to document outcomes and process as we go on the Irish microblog and Instagram (there’s no Haunted Machines Instagram, you just have to follow us as individuals).

How do you know if you produced knowledge?

I’m putting together the ‘methodology’ bit of my PhD. 'Methodology' is such a vague word but I’m summoning the courage to look at the work I’ve been doing the last three years and ask why I did it that way. At some point I decided that speculative and critical design wasn’t doing what I wanted intellectually as far as furthering discourse goes. But I’m forced to consider why I chose to switch into a more artistic approach as in Augury, Finite State Fantasia and Charismatic Megapigment. I’m pretty comfortable describing and arguing about how it’s still ‘designerly;’ I’m always considering legibility of communication, the audience’s needs and experiences and using technical strategies to steer thoughts and behaviours. And in terms of 'research for design' I subscribe to the idea that we learn from doing and I can talk more authoritatively about, for example, machine learning, by actually making something that plays around with machine learning than speculating on it at some intellectual and technical distance.

But then why is this artistic, installation-style approach of Augury, Charismatic Megapigment and Finite State Fantasia effective at engaging audiences. Some of the speculative design work I’ve done is quite measurable – it went into policy papers, was presented at the Hour of Commons etc. So why does weird-tech-art feel better. I put it out on Irish microblog Twitter dot com and got some nice responses when I asked if anyone knew of ways of measuring the impact of critical practice. A couple of folks got back in touch saying that it’s about how things influence the zeitgeist, enter the canon or start to steer conversation. I think this is perhaps the right lead so Ill head down that rabbit hole for a while. I got some good links to things as well which I’ve listed here:
I also figure I should chuck in Matt Malpass' Critical Design in Context and Carl Di Salvo's Design and the Construction of Publics as brilliant sources. Steph suggested that impact/change assumes a testable hypothesis which I can see a problem with when it comes to critical creative practice, but these projects are in some way hypothesised. For instance, to take Augury, a hypothesis might be; 'Can we have a different type of conversation about machine learning if we talk about it as a semi-occult thing in the context of thousands of years of occult practice?' How then, can I test that hypothesis; of course standing in the gallery led to conversations, and it got a little traction in articles and blogs, but does that change the cultural assimilation of machine learning?

It's much easier to blog about this stuff than write it up academically, that's for sure.


I made some slow progress on Voyager over the break. Now that the Arduino knows where Voyager is relative to its position on Earth, the next stage is getting the Arduino to know where north is so it can make sure it’s pointing the right way. To do this I’m going to attach a BNO055 to the arm of the sign so that it will know what way it’s facing and at what angle it is. This is most important for when it first turns on and perhaps running occasional checks for drift.

Of course there’s always a little problem. In the image you can see the BNO055 using pins A4 and A5 for I2C communication with the Arduino Uno. I’d assumed that it would be the same pins on the Rev 2 (which I thought was just an Uno with a WiFi chip) but no, it actually has two special pins near the top of the digital pins for I2C stuff. So that was a few wasted hours trying to figure that out. The second problem is calibration. This takes a long time and requires moving the board around every time it turns on. Luckily Bohle Bots is a library that actually stores the calibration to the Arduino’s memory once done. Now that's all done I need to actually start making the thing so I can figure out where all the components will go and begin working on the motors. That's probably a little way off though, there's a lot of other things to do first. 

Things I learned this week:

  • I’m at the bit of the philosophy podcast about Jewish Andalusian ethics which is really good. I just heard all about Bahya Ibn Paquda (1050-112) who wrote the ‘Duties of The Heart’ which was a curiously accessible book on Aristotelean ethics in the context of the revealed Jewish texts. 
  • My commuter bike has a Sturmey-Archer coaster brake hub on it which hasn’t been shifting properly for the last few months. I finally decided to give it a look over and discovered that the cable just wasn’t moving in the housing. Easy enough to replace but along the way I learned that brake and gear cables are teflon-coated. So that was new. Not important, but new.
  • I went out for the first ride of the year at the weekend, intending to do the 80 mile loop from my place to Box Hill and back. What i learned was it was very cold. Which was fine once I got going. However, for some reason, the bolts holding the cleats on my right shoe protrude a little too far into the shoe and were literally conducting cold into my toes so they were numb for 41.9 miles. Again, not super interesting but true. I need to put some spacers on that little guy. 

Channel Game Recommendation

Amazingly, I haven't been on the YouTubes much over Christmas so don't have a new channel recommendation. I finished up playing This War of Mine and I don’t think I’ll go back for a second game. The game focuses on a group of survivors in a war-torn city and involves a mix of scavenging, crafting and occasionally fighting. It was really good at the beginning but a bit like with other resource management games, the middle-end is pretty repetitive. Once you’ve got your shelter set up and have all your crafting gear it’s mostly just a rinse and repeat job to manufacture and trade stuff. Also, the game is quite long for that amount of repetitiveness. So, on the recommendation of the Internet and Wes I went in to buy Disco Elysium for my Christmas game and HOLY SHIT what. a. game. 

I genuinely struggle to think of an indie story-driven RPG I’ve been so engaged with. It’s a small but super-rich world, everything appears to have meaning and connection, the writing is wonderful, the gameplay is tense and the world is weird af. You play an alcoholic, amnesiac detective in a surreal China Mieville-esque fictional city where you’re trying to figure out who killed a man who’s been hanged behind your hotel and also who the hell you are any why you tried to drink yourself to death. The character development works on different parts of your ‘self.’ Things like logic, rhetoric, drama, composure, electro-chemistry, empathy, reaction speed etc. What’s more, these different parts are also characters in the story, intervening in conversations to talk with you or bicker with each other, meaning that you most often fail to trust your self in the way that you make decisions. It’s a bleak, funny, horrifying, surreal and wonderful game which I can’t recommend enough. It's probably about 30 hours all in to get the full experience, so if you've got a couple of evenings, get on it. Amazing.

Truffle, Frimaire, 228: A short post on vanishing states, sieges and maths.

Short one this week, thankfully. It’s been a week of slogging it through Christmas events and feeling the extra 10 bpm added to my heart rate in hangovers. Augury got a nice mention in an article in WIRED dot com magazine from Ben Vickers and Hans Ulrich Obrist. I don't know if it's just me and my own filter bubble but the amount of tech and occult work in current circulation seems to have shot up over the last twelve months.

I’ve been reading Vanished Kingdoms which I’ve had sat around for a while. It’s a dense book on the forgotten histories of forgotten states or particularly short ones. I just finished the chapter on Burgundy of which there were 16 different incarnations over a thousand years. The history is list-like, interspersed with quotes from contemporary sources. The whole thing is book-ended with sprawling descriptions of geographic features, or, as is the case with Burgundy, critiques of the way we remember these forgotten states in media. I'm struggling a bit with it because of the density and pacing which I suppose is a hangover of mostly consuming history through Wikipedia and podcasts.

I also bought and started playing This War of Mine which was on sale on Steam. It's a really nicely designed survival platformer focusing on resource management in a war-torn city. I have yet to win a game, it's super difficult and full of curve balls and depressing plot developments.

Things I Learned This Week

  • Thanks to This War of Mine I delved into a Wikipedia hole on the Siege of Sarajevo (from which the game takes inspiration.) The Bosnian conflict is one that I know vanishingly little about and is one of those ones that is so complex that it's hard to hold it in your head all at once. The Siege of Sarajevo was the longest-lasting siege of the modern age. 
  • A colleague at UAL writes a thing called the 'Digital Transformation Brief' every Monday for staff. It's a really nice thing. This week he posted a link to this story from Brigham Young University about scalable water rendering. There's not a lot there on the process but it's a super interesting development when it comes to artificially simulating 'noisy' physics like water surfaces which normally take a bunch of calculations. 
  • Check out the lineup of writers for the latest issue of Continent. Loads of stuff on tech and magic. Talking about tech and magic is cool now.

Channel Recommendation

I recommended maths YouTube channel Three Blue One Brown a while ago which uses really smart python animations to demonstrate complex mathematical ideas, this is another maths one, this one a bit more personality-driven: Standup Maths from Matt Parker. It's very geeky and often quite puzzle-based and involves him talking to other people more often than not. Check out this one on the Frog Problem:

I'll see about doing another post next week. I have a lot of reading and writing that I'm avoiding so this might give me an excuse to do that.

Érable á Sucre, Frimaire, 228: Project PROBE 2, All the Fun of the Fair

I redesigned the blog a little. I'm not super happy with it. Blogger is pretty pernickety but I've never really found a platform that isn't. One of the major issues is it just doens't do responsive design and paradoxically is really reluctant to be just simple. It's all about embedding images, drop shadows and widgets. Also, because it's from another era, it thinks 720px is 'extra wide' so I have to go through and manually resize each image in the HTML for 2019. Think about that as you're reading. A straight column of text with well-placed images is almost impossible.  Also, sorry but most of this is about Project PROBE. If you’re bored by maths and technical processes, turn away or scroll down to the bottom.

Project PROBE Voyager

I was writing this while trying to keep the nature of the project secret and realised that it was basically impossible. So, this is the project I’ve been working on; Voyager. It’s basically a two-axis sign using stepper motors that will point to Voyager I and display its distance.

Last week  I introduced the first bit of this which was testing out the Arduino Rev 2 that the whole thing is going to run off. As I wrote, it needs to be able to connect to the Internet and get its own orientation. So that it can point to where Voyager I relative to where it is. The second part which occupied a lot of the week has been working out the mathematics and geometry that will allow it to work. The process will be:
  1. During the setup, when booting, the Arduino will grab its location from the Unwired Labs Geolocation API. It only needs to do this once when turned on. 
  2. Then during setup it needs to calibrate the magnetometer and find magnetic north. 
  3. Then it's into the loop. First, grab the coordinates (right ascension and declination) and distance of Voyager 1 from here. via a simplified API. Luckily I already set one up for decline.online that I can probably piggy-back on. This only needs to be done every hour or so; the celestial coordinates of Voyager are pretty stable. 
  4. Run through the calculations that will use the right ascension and declination of Voyager with longitude, and latitude of the Arduino to work out an azimuth (heading) and altitude for Voyager from where it is.
  5. Using the magnetometer’s reading, turn the motors to point the right way.  

Astronomy Maths

This flow reads very simple but I can already see there’s a bunch of things to think about: The Arduino needs to know its datetime in order to work out the heading and altitude of Voyager and Arduinos have no internal clock. Though the speed is obviously consistent, it changes relative to Earth as we move in our orbit (and Earth rotation) towards it, and away. You can see this on the visualisation of decline.online. Anyway, I decided to run the whole thing through Excel to check the maths and inputs before finding a way to implement on Arduino. I’ll share all of these materials this once the project’s all wrapped up but I found this a useful way of checking how the numbers would work:

The two crucial numbers I need are the azimuth (or heading) and altitude of Voyager for the point of view of the Arduino’s longitude and latitude. I found these really useful guide to converting those coordinate systems through what reads as relatively simple trigonometry.

The first thing you need to do is calculate your Local Sidereal Time (LST). This is the time at your location relative to the movement of the celestial sphere rather than the sun. You can check out your sidereal time here but I wanted a way to calculated it on the Arduino without it storing an enormous lookup table. I used a mix of guides to help but this one was the most helpful since it has worked examples and uses a formula that gives accuracy to within 0.001 seconds over 100 years.

The first stage in calculating local sidereal time is to calculate the number of days (including fractions of a day) since a date called ‘J2000’ - this is midday on 1 January 2000 at Greenwich. From this you count the time that’s elapsed and then perform a function on it to get the sidereal time at your coordinates. Once you have Local Sidereal Time, you subtract the right ascension of Voyager to get an hour angle. Hold on to this idea because this is almost entirely where everything went wrong.

sin(altitude) = sin(δ) sin(φ) + cos(δ) cos(φ) cos(H)
cos(azimuth) = { sin(δ) - sin(φ) sin(a) } / cos(φ) cos(a)

You then take these two formula above, one for altitude and one for azimuth. With the hour angle (H), latitude (φ) and declination (δ) you can now calculate the altitude and once you have the altitude you can calculate the azimuth and (in theory), huzzah! (As below):

However, throughout this process I kept checking both the live ‘tracking’ planetarium and this calculator (which also has helpful documentation) using the same formulae and found they were getting totally different results every time.  If you talked to me at the tail end of last week then it would have been the only ting I was talking about. I spent hours tweaking the formulae and getting no closer.

Eventually I clocked that the problem in implementing these formulae all arose in the converting between the different coordinate conventions. Americans tend to use hours, minutes and seconds or degrees, minutes and seconds while Europeans tend to just use degrees. Because Europeans are sensible. Anyway, the whole time I had right ascension down as 17.whatever degrees when in fact it was 17.whatever hours! (eg. roughly around 250 degrees). Once that was multiplied by 15 (34 hours = 360 degrees) everything fell into place. 

A new API

So assuming this all works, the next stage was to build an API that would stream the distance, right ascension and declination to the Arduino. Luckily I can hack together the one I made for decline.online together. This uses Python’s Beautiful Soup to scrape HTML contents from URLs. This was a pretty straightforward presence, made significantly easier by the fact that, unlike decline.online, it doesn’t need continuous data and it’s getting everything from one source. (I'll post it up with the project when done as well.)

Crunching the numbers on Arduino. 

To recap, the idea is: when the Arduino is first turned on it grabs location data from Unwired Labs (you can only do this up to 100 times a day.) Once it has that it enters the loop where every minute or so it is calling time and date and celestial coordinates for Voyager. With these it can constantly calculate an adjusting heading and azimuth as the Earth and Voyager move. 

This is the version I started building here. Here you can see where the Arduino code grabs the time and date data from the API and begins calculating the Sidereal Time. ‘d’ is the total amount of time since J2000 which is the first number you need in the run of calculations. However, immediately, the project quickly ran up against the Arduino’s limited memory and ability to calculate big numbers. The serial monitor shows the numbers are rounded and inaccurate. Arduino does strange things to big numbers that I can’t fully grasp. I spent some time reading around different ways of encoding long numbers in the Arduino's memory but it seemed like it was going to be a lot more work than I really needed. Instead I decided to move the heavier calculations over to the python API on the server which would then give the Arduino a lot of the key components of what it needs to calculate the heading and azimuth.

Once I put the exact same calculations in Python and ran them from the server and found it was delivering results exactly the same as the Excel model with no loss of accuracy. However, the problem here is that the calculations require the longitude quite early on. But these can only be gathered from Unwired Labs 100 times a day and depends on the location. Essentially, there's no simple way of getting both Arduino's location and Voyager's location from the same source. However, playing around with the maths you can actually allow for the longitude and latitude at the very end of the process by adding it on to greenwich sidereal time once it’s been reduced to the range of 0-360 degrees rather than before reducing and get the same outcomes. This means we’re not sending numbers with dozens of digits to the Arduino which is where it struggles.

So in this version, a lot of the harder calculations are done-server side with the final numbers delivered to the Arduino so it’s not crunching the big numbers at the beginning of the process when you have to calculate sidereal time. Now the API sends the current sidereal time at Greenwich to which I simply add the longitude from Unwired Labs. Since in this model the maths the Arduino will be doing occur after the bigger numbers are crunched it means that the results are much more accurate without Arduino's memory issues. 

Then was then quite a lot of fiddling around to get the maths to run properly on the Arduino which actually turned out to be easier than I was expecting and finally I had the Arduino spitting out accurate and updating altitude and azimuth figures for Voyager! As you can see in the screenshot, the altitude and azimuth are not only accurate but adjusting minute-to-minute.

All The Fun of The Fair

Turns out that further down Alice Rawsthorne's Design as an Attitude that the author addresses some of the concerns I had about the way that design is popularly represented and consumed. Addressing the question of 'why make a chair about e-waste?' isn't quite achieved but there's a wonderful quote from Reyner Banham in 1967 writing for New Society
The area worst blighted by furniturization lies right under the human arse... Check the area under yours at this moment. That chances are that it is occupied by an object too pompous for the function performed, over-elaborate for the performance actually delivered, and uncomfortable anyhow.
She's quite scathing of the role of the commoditisation of design exemplified by the Salone and the cycnical appropriation of it by 'super-capitalists.' However, there's little work done to re-address the formation of an aesthetic sensibility based on what works at Salone at the cost of critical power. She mentions the role of other up and coming fairs; Eindhoven and Istanbul as counterpoints to the dry commercialism of Milan but it would be useful to see suggestions of how we might push back against Milan's creeping homogeny rather than run away from it.

Things I learned this week

  1. I learnt a good joke about a drowning man who asks God for help. (Ask me when you see me and I'll tell you.)
  2. I learnt a breathing exercise that reduces flight or fight response. I don't really suffer from this but I found it useful in controlling my body when tired. You have to imagine  cat on your belly and breathe in for four and out for eight. 
  3. I'm currently listening to the bit of the podcast about Avicenna. It's funny that I did some training this week where they were saying how in British culture, extolling what you're good at is seen as arrogance and you're expecting to constantly put yourself down. It was normal in the Islamic tradition for philosophers and thinkers to go on about how great, gifted and close to god they were so though in his writings he comes across as very arrogant; for instance, dismissing his learning of medicine as trivial and easy, it was pretty normal to do.

Channel Recommendation. 

An oldie but a goldie. The boys of Prepare to Try reformed about a year ago as RKG (Rory, Krupa, Gavin) As I spent my weekend coding I had their Dark Souls II series on in the background like a sort of deep background sound.