Always check the text before sending to print!

One of our tasks here at CS4FN is to proofread our magazines before we put them in the post and send them out to our subscribers. We’re not just checking for spelling (although obviously we check for that too) but we need to make sure that any links will be clickable for the online version of the magazine, that images don’t hide any text, that the text makes sense and that we’ve not used a long complicated word or phrase when a more quotidian* one would do. In short we want you to be able to read, understand and interact with the magazine whether you’re holding it in your hands or turning the pages with a finger-press or mouse-click. And hopefully enjoy it!

Last week we posted about That Time When I Did Not Proofread a change I made to the list of names and addresses to post the magazine to. Today’s post involves a couple of ridiculous examples where people haven’t paid much attention to what a computer is sending to a printer.

Mislabelled jeans

broken counterfeit jeans
Image credit: “broken counterfeit jeans” (CC BY-SA 2.0) by Ben.

Our first example is this pair of probably counterfeit jeans spotted at a market in Thailand. The label is supposed to have a logo on it and it’s likely that the stallholder has an Excel spreadsheet or similar with information about the logos and which labels to print them on.

Unfortunately a bug has meant that instead of printing the actual logo the printer has instead printed the instructions and so the logo, in red at the bottom, is now just this line of code

=IIf(Label="","RMA","?")

Most people’s favourite example of this sort of thing is the cake baked to wish someone’s Aunt Elsa a happy birthday. It didn’t quite go to plan.

But before we meet the cake let’s have a brief detour into how text on a computer can be formatted. If I want to make a word italicised or have it stand out in bold I can do this very easily by selecting the word and pressing an i for italic or b for bold button. On a web page this puts a tiny invisible bit of code on either side of the word, it’s not difficult to see how it works.

One way to write this is to put an < em > code around a word I want to italicise (’em’ for emphasise). Note that I have to write it as < space em space > because if I write it without the spaces then your browser will assume that I want to italicise whatever comes next. I can write it correctly in the display box below though as the browser now knows that I just want to show the bit of code and not run it.

<em>italic</em>

The first < em > means “make everything after this italic” and the final < em > means “end the italic command”.

Ditto for bold.

<strong>bold</strong>

This is HTML or HyperText Markup Language and is one of the tools web designers use to make text on web pages work. HTML code can also be used to add non-standard characters like é or ç to the text too.

This cake takes the biscuit

There are printers that use edible-ink to print text or photographs onto icing to decorate a cake. The intended birthday-cake message was written using Microsoft Word and had a variety of headings, bold words, non-standard characters and so on. Word ‘coded’ these using its own proprietary add-ons for HTML (these are normally invisible and you’d never notice) but unfortunately the printer struggled to make sense of the instructions, as you can see in this image of the cake. Presumably the cake tasted just as delicious either way.

It might seem quite surprising that the bakery didn’t check the message before printing or, once they’d seen the output, consider re-printing and covering up the odd message. However, as the (probably slightly stressed) owner said “We just cut and paste from the email to the program we use for printing the edible images, we are usually in such a hurry that we really don’t have time to check. And if we do the customers yell at us for bothering them.

But sometimes it can be really, really important to check and double-check before pressing that OK button. Here’s a story about how a full stop (when used as a decimal point) could be the difference between getting the right dose of medicine versus a dangerous overdose.

Find out more and come to our birthday party!

If you’re in London on Tuesday 6th May you can come to Queen Mary University of London to hear its author (and CS4FN’s co-founder) Paul Curzon give a lecture on The illusion of Good Software Design at CS4FN’s 20th birthday celebration – free! The event is aimed at 11+ (and adults) and features some table magic too. Get yourself a ticket and come along.

There will be cake but we promise to proofread any printed icing first!

*quotidian means ordinary, everyday, mundane


Part of a series of ‘whimsical fun in computing’ to celebrate April Fool’s (all month long!).

Find out about some of the rather surprising things computer scientists have got up to when they're in a playful mood.

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

Super-plant supercapacitors

Aloe vera plant
Image by Marco from Pixabay

There are a whole range of plants that have been called superfoods for their amazing claimed health benefits because of the nutrients they contain. But plants can have other super powers too. For example, some are better at absorbing Carbon Dioxide to help with climate change, others provide medicines, or can strip our pollutants out of the air or soil. But one, Aloe Vera, is a super-plant in a new way. It can now store electricity that could be used to power portable devices – by plugging them into the plant.

Capacitors are one of the basic electronic components, like resistors and transistors, that electronic circuits are built from. They act a bit like a tiny battery, building up charge on a pair of surfaces with an insulator between so that charge cannot move directly from one to the other. Electrons build up on one plate, storing energy. When the capacitor is discharged that energy is released. They have a variety of uses including evening out power supplies. A supercapacitor is just a capacitor that can store a lot more energy so is a little like a tiny rechargeable battery, though releases the energy faster and can be charged and discharged many more times.

Various teams around the world have explored the use of aloe vera in supercapacitors. A team of researchers, led by Yang Zhao from Beijing Institute of Technology, has succeeded in creating a supercapacitor made completely from materials extracted from the plant (apart from one gold wire). The parts were made by heating a part of the leaf of the plant, and by freezing its juice. The advantage of this is that the supercapacitor is biodegradable unlike traditional ones made from oil-based synthetic materials. It also makes them biocompatible in that they can be inserted into aloe vera and similar plants without doing them harm and potentially make use of electricity generated by the plant. Her team has inserted these tiny capacitors inside other plants including cacti and aloe vera plants to show this idea works in principle.

So plants can be superheroes and aloe vera more than most: it looks nice on your window cill, you can make soap from it, it supposedly has medicinal value, it is being used in research to remove pollutants from the air and soon it could provide you with electricity too. So next time you are lost in a cactus filled wilderness make sure you have aloe vera capacitors with you so you can charge your gadgets while waiting to be rescued.

More on …

Magazines …

Front cover of CS4FN issue 29 - Diversity in Computing

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

The wrong trousers? Not any more!

A metal figure sitting on the floor head down
Image by kalhh from Pixabay

Inspired by the Wallace & Gromit film ‘The Wrong Trousers’, Johnathan Rossiter of the University of Bristol builds robotic trousers. We could all need them as we get older.

Think of a robot and you probably think of something metal: something solid and hard. But a new generation of robot researchers are exploring soft robotics: robots made of materials that are squishy. When it comes to wearable robots, being soft is obviously a plus. That is the idea behind Jonathan’s work. He is building trousers to help people stand and walk.

Being unable to get out of an armchair without help can be devastating to a person’s life. There are many conditions like arthritis and multiple sclerosis, never mind just plain old age, that make standing up difficult. It gets to us all eventually and having difficulty moving around makes life hard and can lead to isolation and loneliness. The less you move about, the harder it gets to do, because your muscles get weaker, so it becomes a vicious circle. Soft robotic trousers may be able to break the cycle.

We are used to the idea of walking sticks, frames, wheelchairs and mobility scooters to help people get around. Robotic clothes may be next. Early versions of Jonathan’s trousers include tubes like a string of sausages that when pumped full of air become more solid, shortening as they bulge
out, so straightening the leg. Experiments have shown that inflating trousers fitted with them, can make a robot wearing them stand. The problem is that you need to carry gas canisters around, and put up with the psshhht! sound whenever you stand!

The team have more futuristic (and quieter) ideas though. They are working on designs
based on ‘electroactive polymers’. These are fabrics that change when electricity
is applied. One group that can be made into trousers, a bit like lycra tights, silently shrink with an electric current: exactly what you need for robotic trousers. To make it work you need a computer control system that shrinks and expands them in the right places at the right time to move the leg
wearing them. You also need to be able to store enough energy in a light enough way that the trousers can be used without frequent recharging.

It’s still early days, but one day they hope to build a working system that really can help older people stand. Jonathan promises he will eventually build the right trousers.

– Paul Curzon, Queen Mary University of London (from the archive)

More on …

The rise of the robots [PORTAL]


Related Magazine …

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

Language-mangling rude word filters

A large green plastic barrel with thick walls in a garden, against an outdoor wall and next to a wooden fence with foliage growing on it. This is used to store rainwater and has a capacity of about 200 litres.
“Rainwater tank, about 200 litres” by Jeuwre, available under a CC-BY-SA 4.0 licence, via Wikimedia.

What we have here on the right is a water butt also known as a rainwater tank. These are large containers which collect rainwater so are an environmentally friendly way for people to save water so that they can water the plants in their garden during a dryer season. A very clever idea and totally inoffensive.

Context is everything

However… the word ‘butt’ can also refer to your bottom. Well not your bottom of course, I wouldn’t be so rude as to make any comment about your own bottom, I mean bottoms in general.

In the United States a less polite word for bottom is ‘ass’ (which also means ‘donkey’ in the UK) but there are times when saying or writing the word ‘ass’ wouldn’t be so polite and for those situations you might use another word, like butt.

Well that’s probably just making it worse

In an effort to make online communications politer people have tried a variety of tactics. Sometimes a word is on a banned list so if you were to type it into your message it wouldn’t send and you have to come up with a different way of saying it. Or your system could use regular expressions (‘regex’) to find all instances of a word or phrase in published text and replace it with something deemed more appropriate and less offensive.

If you were to replace all instances of ‘ass’ with ‘butt’ in a piece of text you’d increase the politeness of your communication, but you wouldn’t necessarily increase its readability. It’s a clbuttic mistake, produce by a software filter that’s a little too broad in its reach. In that last sentence you can see what happens when I replace the ‘ass’ in classic with ‘butt’ – absolute gibberish.

Of course, people noticed

If you had to write, politely, about clothing you might prefer to put ‘trousers’ rather than ‘pants’ (in the US meaning, rather than underwear) but you might be a bit irritated if your other article on housing referenced ‘occutrousers’ rather than ‘occupants’…

My favourite (real-world) example of this silliness was when a newspaper article referenced the fact that a historical American president had been ‘buttbuttinated’ instead of ‘assassinated’.

Although that really happened and a few other pages on the internet were filled with nonsense words* people did notice pretty quickly (I mean you would, wouldn’t you?!) and rapidly solved it by tweaking their filters to make sure that unwanted words that are found within a word were left alone, and perhaps they did a bit of proofreading to double-check too.

[*mostly it’s now articles like this drawing attention to the problem!]

I’ve made this mistake too

I wish I’d done a bit of proofreading when I did what I thought was a clever ‘find and replace’. A couple of thousand schools and home educators in the UK receive free copies of our printed CS4FN magazine (if your school would like to sign up…) and I keep all the addresses stored in a password-protected spreadsheet with different columns for the name, lines of the address, post code etc.

One day I had the brilliant idea of tidying up the ‘Country’ column in my database so that if someone had typed ‘UK’ it would now say ‘United Kingdom’.

Unfortunately I did this as a ‘global’ (across the entire spreadsheet) find and replace instead of specifying more clearly what should be changed. I didn’t realise until a few magazines came back as undeliverable because the address made absolutely no sense. If your teacher’s name was Luke or your school name or address had a ‘Duke’ in it I had now managed to turn these into “LUnited Kingdome” or “DUnited Kingdome”.

Oops!

The makers of Trivial Pursuit apparently globally replaced all occurrences of “km” to “kilometres” leading to, for example, a question about film star Hugh Jackilometresan.

Oops! again.

– Jo Brodie, Queen Mary University of London


Share this post


Part of a series of ‘whimsical fun in computing’ to celebrate April Fool’s (all month long!).

Find out about some of the rather surprising things computer scientists have got up to when they're in a playful mood.

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

Google’s “PigeonRank” and arty-pigeon intelligence

pigeon
Pigeon, possibly pondering people’s photographs.
Image by Davgood Kirshot from Pixabay

On April Fool’s Day in 2002 Google ‘admitted’ to its users that the reason their web search results appeared so quickly and were so accurate was because, rather than using automated processes to grab the best result, Google was actually using a bank of pigeons to select the best results. Millions of pigeons viewing web pages and pecking picking the best one for you when you type in your search question. Pretty unlikely, right?

In a rather surprising non-April Fool twist some researchers decided to test out how well pigeons can distinguish different types of information in hospital photographs.

Letting the pigeons learn from training data
They trained pigeons by getting them to view medical pictures of tissue samples taken from healthy people as well as pictures taken from people who were ill. The pigeons had to peck one of two coloured buttons and in doing so learned which pictures were of healthy tissue and which were diseased. If they pecked the correct button they got an extra food reward.

Seeing if their new knowledge is ‘generalisable’ (can be applied to unfamiliar images)
The researchers then tested the pigeons with a fresh set of pictures, to see if they could apply their learning to pictures they’d not seen before. Incredibly the pigeons were pretty good at separating the pictures into healthy and unhealthy, with an 80 per cent hit rate. Doctors and pathologists* probably don’t have to worry too much about pigeons stealing their jobs though as the pigeons weren’t very good at the more complex cases. However this is still useful information. Researchers think that they might be able to learn something, about how humans learn to distinguish images, by understanding the ways in which pigeons’ brains and memory works (or don’t work). There are some similarities between pigeons’ and people’s visual systems (the ways our eyes and brains help us understand an image).

[*pathology means the study of diseases. A pathologist is a medical doctor or clinical scientist who might examine tissue samples (or images of tissue samples) to help doctors diagnose and treat diseases.]

How well can you categorise?

This is similar to a way that some artificial intelligences work. A type of machine learning called supervised learning gives an artificial intelligence system a batch of photographs labelled ‘A’, e.g. cats, and a different batch of photographs labelled ‘B’, e.g. dogs. The system makes lots of measurements of all the pictures within the two categories and can use this information to decide if a new picture is ‘CAT’ or ‘DOG’ and also how confident it is in saying which one.

Can pigeons tell art apart?

Pigeons were also given a button to peck and shown artworks by Picasso or Monet. At first they’d peck the button randomly but soon learned that they’d get a treat if they pecked at the same time they were shown a Picasso. When a Monet appeared they got no treat. After a while they learned to peck when they saw the Picasso artworks and not peck when shown a Monet. But what happened if they were shown a Monet or Picasso painting that they hadn’t seen before? Amazingly they were pretty good, pecking for rewards when the new art was by Picasso and ignoring the button when it was a new Monet. Art critics can breathe a sigh of relief though. If the paintings were turned upside down the pigeons were back to square one and couldn’t tell them apart.

Like pigeons, even humans can get this wrong sometimes. In 2022 an art curator realised that a painting by Piet Mondrian had been displayed upside down for 75 years… I wonder if the pigeons would have spotted that.

– Jo Brodie, Queen Mary University of London

Share this post


Part of a series of ‘whimsical fun in computing’ to celebrate April Fool’s (all month long!).

Find out about some of the rather surprising things computer scientists have got up to when they're in a playful mood.

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

I’m (not) a little teapot

A large sculpture of the Utah teapot, given a dark and light grey chequered pattern.
‘Smithfield Utah’ teapot created by Alan Butler, 2021, photographed by John Flanagan and made available under a CC 4.0 licence, via Wikipedia’s page on the Utah teapot.

My friends and I had just left the cinema after seeing Jurassic Park (in 1993, so a long time ago!) when one of the group pointed out that it was a shame the film didn’t have any dinosaurs in. We all argued that it was full of dinosaurs… until the penny dropped. Of course, obviously, the film couldn’t have contained any real dinosaurs, it was all done with animatronics* and (the relatively new at that time) CGI or computer-generated imagery.

The artist Rene Magritte had the same idea with his famous painting called ‘The treachery of images‘ but mostly known as ‘This is not a pipe’ (or ‘Ceci n’est pas une pipe’ in French). His creation represents a pipe but as Magritte said – “could you stuff my pipe? No, it’s just a representation, is it not? So if I had written on my picture “This is a pipe”, I’d have been lying!”

How do you represent something on a computer screen (that’s not actually real) but make it look real?

[*animatronics = models of creatures (puppets) with hidden motors and electronic controls that allow the creatures to move or be moved]

Let’s talk teapots

Computers now assist film and television show makers to add incredible scenes into their productions, that audiences usually can’t tell apart from what’s actually ‘real’ (recorded directly by the camera from live scenes). All these amazing graphics are created by numbers and algorithms inside a computer that encode the instructions for what the computer should display, describing the precise geometry of the item to create. A mathematical formula takes data points and creates what’s known as a series of ‘Bezier curves‘ from them, forming a fluid 3D shape on-screen.

In the 1970s Martin Newell, a computer graphics researcher studying at the University of Utah, was working on algorithms that could display 3D shapes on a screen. He’d already used these to render in 3D the five simple geometric shapes known as the Platonic solids** and he wanted to test his algorithms further with a slightly more complex (but not too much!) familiar object. Over a cup of tea his wife Sandra Newell suggested using their teapot – an easily recognisable object with curved surfaces, a hole formed by the handle and, depending on where you put the light, parts of it can be lit or in shadow.

Martin created on graph paper a representation of the co-ordinates of his teapot (you can see the original here). He then entered those co-ordinates into the computer and a 3D virtual teapot appeared on his screen. Importantly he shared his ‘Utah teapot’ co-ordinates with other researchers so that they could also use the information to test and refine their computer graphic systems.

[**the teapot is also jokingly referred to as the sixth Platonic solid and given the name ‘teapotahedron’]

Bet you’ve seen the Utah teapot before

Over time the teapot became a bit of an in-joke among computer graphic artists and versions of it have appeared in films and TV shows you might have seen. In a Hallowe’en episode of The Simpsons***, Homer Simpson (usually just a 2D drawing) is shown as a 3D character with a small Utah teapot in the background. In Toy Story Buzz Lightyear and Woody pour a cup of tea from a Utah teapot and a teapot template is included in many graphics software packages (sometimes to the surprise of graphic designers who might not know its history!)

[***”The Simpsons Halloween Special VI”, Series 7 Episode 6]

Here’s one I made earlier

Image by Jo Brodie

On the left is a tracing I made, of this photograph of a Utah teapot, using Inkscape’s pen tool (which lets me draw Bezier curves). Behind it in grey text is the ‘under the bonnet’ information about the co-ordinates. Those tell my computer screen about the position of the teapot on the page but will also let me resize (scale) the teapot to any size while always keeping the precise shape the same.

Create your own teapot, or other graphics

Why not have a go yourself, Inkscape is free to download (and there are lots of instructional videos on YouTube to show you how to use it). Find out more about Vector Graphics with our Coordinate conundrum puzzles and Vector dot-to-dot puzzles.

Do make yourself a nice cup of tea first though!

Jo Brodie, Queen Mary University of London

More on …

Watch …


Part of a series of ‘whimsical fun in computing’ to celebrate April Fool’s (all month long!).

Find out about some of the rather surprising things computer scientists have got up to when they're in a playful mood.

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

Broadband, by carrier pigeon

The beautiful (and quite possibly wi-fi ready, with those antennas) Victoria Crowned Pigeon. Not a carrier pigeon admittedly, but much more photogenic.
Image by Foto-Rabe from Pixabay

There’s a joke, about a Victorian football newspaper reporter, who takes a homing pigeon with him to the match so that he can swiftly return the score to his editor in order to make the evening paper. Both teams score a goal early on in the match but nothing much has happened for the last half hour and things are dragging on. With minutes to go and an eye on the pub the reporter writes “one all” on a slip of paper, scrolls it up and attaches it to the leg of his pigeon, releasing it to fly back to the office. And then, suddenly, with seconds to go before the whistle’s final blow one side scores another goal. Our reporter is seen calling pitifully after the bird “two one… TWO one!!” but alas the bird’s message is beyond editing.

Carrier pigeons have been used since ancient times to send messages and during World War 2 messages delivered by pigeons saved human lives (some of the pigeons were even awarded medals!). The speed of data transmission is a combination of how fast they can fly home and how quickly the human reading the message can get it to its final destination.

The internet, but made of pigeons

The IETF (Internet Engineering Task Force) regularly publishes documents on various internet standards and protocols (the way computers communicate with each other to send and receive information). These are called ‘Requests for Comments’, or RFC, and are an invitation for experts to comment on and contribute to the document. The IETF also publishes an annual joke RFC for April Fools’ Day and in 1990 it published one called “A Standard for the Transmission of IP (Internet Protocol) Datagrams on Avian* Carriers (RFC 1149)”. The document (you can read it here) considers the pros and cons of carrier pigeons for data transmission, noting that “bandwidth is limited to the leg length”. [*avian means ‘of or relating to birds’]

I bet you won’t be remotely surprised to learn that some people have tried to implement it!

Eleven years later a group in Norway attempted to send a packet of data via a carrier pigeon noting the amount of data transmitted and the time taken to send it. Despite the pigeon being distracted by other homing pigeons also in flight, and then deciding to rest on a roof for a bit instead of returning promptly to the home point, the experiment was a success (sort of) and the pigeon returned 64 bytes in around 6,000 seconds (6 million milliseconds!), about an hour and 40 minutes.

Not great in terms of broadband speeds but not bad as a proof of principle.

A few years later, in 2009, an employee at an IT company in South Africa complained that internet speeds were too slo-o-o-w and joked that it would be quicker to send the data by carrier pigeon. So a bet was made to see if a pigeon could beat the broadband upload speeds of the time and the company gamely, and perhaps somewhat bravely, tested this out. Unfortunately it turned out to be true and the pigeon promptly ‘pinged’ the packet of data by flying 60 miles in just over an hour while the computer-based version got a bit stuck and had sent less than 5% of the data. Oops.

Holiday snaps delivered and developed before you get back

A company in the US which offers adventure holidays including rafting used homing pigeons to return rolls of films (before digital film took over) back to the company’s base. Instead of attaching the film to the birds’ legs the pigeons wore customised backpacks. The guides and their guests would take loads of photos while having fun rafting on the river and the birds would speed the photos back to the base, where they could be developed, so that when the adventurous guests arrived later their photos were ready for them.

Watch out for data loss though, just make sure you’re not standing beneath one in case they drop any ‘packets’ on you… Happy April Fools’ Day (though everything in this post is actually true!).

– Jo Brodie, Queen Mary University of London


Share this post


Part of a series of ‘whimsical fun in computing’ to celebrate April Fool’s (all month long!).

Find out about some of the rather surprising things computer scientists have got up to when they're in a playful mood.

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

Music-making mates for Mortimer

Drumming Robot after Mortimer
Image by CS4FN

Robots are cool. Fact. But can they keep you interested for more than a short time? Over months? Years even? Louis McCallum of Queen Mary University of London tells us about his research using Mortimer a drumming robot.

Roboticists (thats what we’re called) have found it hard to keep humans engaged with robots once the novelty wears off. They’re either too simple and boring, or promise too much and disappoint. So, at Queen Mary University of London we’ve built a robot called Mortimer that can not only play the drums, but also listen to humans play the piano and jam along. He can talk (a bit) and smile too. We hope people will build long term relationships with him through the power of music.

Robots have been part of our lives for a long time, but we rarely see them. They’ve been building our cars and assembling circuit boards in factories, not dealing with humans directly. Designing robots to have social interactions is a completely different challenge that involves engineering and artificial intelligence, but also psychology and cognitive science. Should a robot be polite? How long and accurate should a robot’s memory be? What type of voice should it have and how near should it get to you?

It turns out that making a robot interact like a human is tricky, even the slightest errors make people feel weird. Just getting a robot to speak naturally and understand what we’re saying is far from easy. And if we could, would we get bored of them asking the same questions every day? Would we believe their concern if they asked how we were feeling?

Would we believe their concern
if they asked how we were feeling?

Music is emotionally engaging but in a way that doesn’t seem fake or forced. It also changes constantly as we learn new skills and try new ideas. Although there have been many examples of family bands, duetting couples, and band members who were definitely not friends, we think there are lots of similarities between our relationships with people we play music with and ‘voluntary non-kin social relationships’ (as robotocists call them – ‘friendships’ to most people!). In fact, we have found that people get the same confidence boosting reassurance and guidance from friends as they do from people they play music with.

So, even if we are engaged with a machine, is it enough? People might spend lots of time playing with a guitar or drum machine but is this a social relationship? We tested whether people would treat Mortimer differently if it was presented as a robot you could socially interact with or simply as a clever music machine. We found people played for longer uninterrupted and stopped the robot whilst it was playing less often if they thought you could socially interact with it. They also spent more time looking at the robot when not playing and less time looking at the piano when playing. We think this shows they were not only engaged with playing music together but also treating him in a social manner, rather than just as a machine. In fact, just because he had a face, people talked to Mortimer even though they’d been told he couldn’t hear or understand them!

So, if you want to start a relationship with a creative robot, perhaps you should learn to play an instrument!

– Louis McCallum, Queen Mary University of London (from the archive)

Watch …

Watch the video Louis made with the Royal Institution about Mortimer

More on …

Magazines …

Front cover of CS4FN issue 29 - Diversity in Computing

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This page and talk are funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSrC logos

Philippa Gardner bringing law and order to a wild west

Verified Trustworthy Software

Image by CS4FN

The computing world is a wild west, with bugs in software the norm, and malicious people and hostile countries making use of them to attack people, companies and other nations. We can do better. Just as in the original wild west, advances have happened faster than law and order can keep up. Rather than catch cyber criminals we need to remove the possibility. In software the complexity of our computers and the programs they run has increased faster than ways have been developed and put in place to ensure they can be trusted. It is important that we can answer precisely questions such as “What does this code do?” and “Does it actually do what is intended?”, but can also assure ourselves of what code definitely does NOT do: it doesn’t include trapdoors for criminals to subvert, for example. Philippa Gardner has dedicated her working life to rectifying this by providing ways to verify software, so mathematically prove such trust-based properties hold of it.

Programs are incredibly complicated. Traditionally, software has been checked using testing. You run it on lots of input scenarios and check it does the right thing in those cases. If it does you assume it works in all the cases you didn’t have time to check. That is not good enough if you want code to really be trustworthy. It is impossible to check all possibilities, so testing alone is just not good enough. The only way to do it properly is to also use engineering methods based on mathematics. This is the case, not just for application programs, but also for the software systems they run within, and that includes programming languages themselves. If you can’t trust the programming language then you can’t trust any programs written in that language. Building on decades of work by both her own team and others, Philippa has helped provide tools and techniques that mean complex industrial software and the programming languages they are written in can now be verified mathematically to be correct. Helping secure the web is one area she is making a massive contribution via the W3C WebAssembly (Wasm) initiative. She is helping ensure that programs of the future that run over the web are trustworthy. 

Programs written in programming languages are compiled (translated) into low level code (ie binary 1s and 0s) that can actually be run on a computer. Each kind of computer has its own binary instructions. Rather than write a compiler for every different machine, compilers often now use common intermediary languages. The idea is you have what is called a virtual machine – an imaginary one that does not really exist in hardware. You compile your code to run on the imaginary machine. A compiler is written for each language to compile it into the common low level language for that virtual machine. Then a separate, much simpler, translator can be written to convert that code into code for a particular real machine. That two step process is much easier than writing compilers for all combinations of languages and machines. It is also a good approach to make programs more trustworthy, as you can separately verify the separate, simpler parts. If programs compile to the virtual machine, then to be sure they cannot do harm (like overwrite areas of memory they shouldn’t be able to write to) you also only have to be sure that programs running on the virtual machine programs cannot , in general, do such harm.

The aim of Wasm is to make this all a reality for web programming, where visiting a web page may run a program you can’t trust. Wasm is a language with linked virtual machine that programming language compilers can be compiled into that itself will be trustworthy even when run over the web. It is based on a published formal specification of how the programming language and the virtual machine should behave.

As Philippa has pointed out, while some companies have good processes for ensuring their software is good enough, these are often kept secret.  But given we all rely on such software we need much better assurances. Processes and tools need to be inspectable by anyone. That has been one of the areas she has focussed on. Working on Wasm is a way she has been doing that. Much of her work over 30 years or so has been around the development and use of logics that can be used to mathematically verify that concurrent programs are correct. Bringing that experience to Wasm has allowed her to work on the formal specification conducting proofs of properties of Wasm that show it is trustworthy in various way, correcting definitions in the specification when problems are found. Her approach is now being adopted as the way to do such checking.

Her work with Wasm continues but she has already made massive steps to helping ensure that the programs we use are safe and can be trusted. As a result, she was recently awarded the BCS Lovelace medal for her efforts.

More on …

Magazines …

Front cover of CS4FN issue 29 - Diversity in Computing

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog and post is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos

Soft squidgy robots

A smiling octopus
Image by OpenClipart-Vectors from Pixabay

Think of a robot and you probably think of something hard, metal, solid. Bang into one and it would hurt! But researchers are inventing soft robots, ones that are either completely squidgy or have squidgy skins.

Researchers often copy animals for new ideas for robots and lots of animals are soft. Some have no bones in them at all nor even hard shells to keep them safe: think slugs and octopuses. And the first soft robot that was “fully autonomous”, meaning it could move completely on its own, was called Octopod. Shaped like an Octopus, its body was made of silicone gel. It swam through the water by blowing gas into hollow tubes in its arms like a balloon, to straighten them, before letting the gas out again. 

Soft, squidgy animals are very successful in nature. They can squeeze into tiny spaces for safety or to chase prey, for example. Soft squidgy machines may be useful for similar reasons. There are plenty of good reasons for making robots soft, including

  • they are less dangerous around people, 
  • they can squeeze into small spaces,
  • they can be made of material that biodegrades so better for the planet, and
  • they can be better at gently gripping fragile things.

Soft robots might be good around people for example in caring roles. Squeezing into small spaces could be very useful in disaster areas, looking for people who are trapped. Tiny ones might move around inside an ill person’s body to find out what is wrong or help make them better.

Soft robotics is an important current research area with lots of potential. The future of robotics may well be squidgy.

Paul Curzon, Queen Mary University of London

More on …

Magazines …

Front cover of CS4FN issue 29 - Diversity in Computing

Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This page and talk are funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSrC logos