Art and Tech Social: Command-line image manipulation with ImageMagick, 7th March

On 7th March I’ll be delivering a short workshop at BOM on using ImageMagick for image manipulation.

Join us for local food and drinks from Southside and get hands-on making with a bunch of like-minded folks interested in art and tech. This new monthly event aims to inspire emerging creatives and offer peer-to-peer tech support in a friendly, collaborative environment. Each workshop is different, featuring a different guest speaker and activities.

ImageMagick is a suite of command-line utilities for manipulating images. Most of its capabilities can be found in programs with a graphical user interface (GUI) such as GIMP or Photoshop. ImageMagick differs in its ability to use algorithms and programming to quickly batch process a number of images, add effects, convert between common and uncommon file formats, apply filters, generative special effects, and more!

In this workshop Antonio Roberts will introduce you to the using the terminal to perform tasks usually carried out by GUI programs. By the end participants will have learnt:

  • how to install ImageMagick
  • How to convert between file formats
  • How to view advanced metadata
  • How to apply a variety of effects to images
  • How to optimize files for print and internet
  • How to create animated gifs with only a few keystrokes

The workshop is free to attend. To take part you should bring a Mac or Linux computer. ImageMagick does 100% work on Windows but the way the terminal/command line works is very different from Unix systems. For those without a Mac or Linux computer please contact If you’re feeling brave you can install ImageMagick prior to the start of the workshop.

Remix Party photos

The Remix Party happened on 20th January to celebrate the closing of my exhibition, Permission Taken, at Birmingham Open Media.

Remix Party!

Throughout the night remixes art artwork from the University of Birmingham were displayed in the main gallery space whilst Ryan Hughes took on DJ duties with soundscapes and the occasional R&B hit. It was really interesting to see how all the artists approached the archives and selected materials to work with.

Remix Party!

Thanks to the following artists for taking part in the party:
Dan Hett, Lorna Mills, Ashley James Brown, Shawné Michaelain Holloway, Michaël Borras A.K.A. Systaime, Benjamin Berg, Michael Lightborne, Morehshin Allahyari, Daniel Salisbury, Carla Gannis, Faith Holland, Nick Briz, Daniel Temkin, Adam Ferriss, Víctor Arce, Chema Padilla, Kate Spence, Jessica Evans, Emily Haasch.

Remix Party!

All of their remixes will be available online shortly and you’ll even have the chance to make your own! Photos from the party can be seen on Flickr.

Remix Party!


Permission Taken at Birmingham Open Media officially closed on 23rd January 2016 after opening on October 23rd 2015. It was my first solo exhibition and I’m extremely grateful to Karen Newman/Birmingham Open Media, Clare Mullett/Research and Cultural Collections and Arts Council England for helping it be a great one.

Permission Taken

The next iteration of the exhibition will be coming in March. Until then do check out Common Property at Jerwood Space for more work from myself and other artists following similar themes

Archive Remix prints

The Archive Remix print pieces are a continuation of the remix pictures that I have been making as part of my residency at the University of Birmingham’s Research and Cultural Collections. The content that I have been making for that has focused on what can be lost when restrictive copyright is enforced. In keeping more with the themes of this exhibition the Archive Remix print pieces focus on the effect of corporate branding on imagery.

Archive Remix

The most central imagery consists of 3D scans of artefacts from the archives of Research and Cultural Collections. These then become obscured amongst the visual barrage of slightly distorted corporate branding, something which might not seem so visible at first.

Archive Remix

Copy Bomb

The Copy Bombs are my way of contributing to the free culture movemnt by encouraging the public to share images, audio, text and video in an unhindered way.

Copy Bomb

The Copy Bombs are, at their heart, PirateBox installations.

PirateBox creates offline wireless networks designed for anonymous file sharing, chatting, message boarding, and media streaming. You can think of it as your very own portable offline Internet in a box!

When users join the PirateBox wireless network and open a web browser, they are automatically redirected to the PirateBox welcome page. Users can anonymously chat, post images or comments on the bulletin board, watch or listen to streaming media, or upload and download files inside their web browser.

By building these sculptures (well, I employed Matthew James Moore to make them) I aim to give more of a physical presence to the wifi network. It serves as an object to signal that media can be shared freely within the vicinity. Due to being powered by battery (which can last nearly three days) these can be located anywhere.

In practical terms to use the Copy Bomb only a browser is needed, which can be on a mobile or desktop OS. A user needs to join the CopyBomb Alpha/Beta/Gamma network and then point their browser to http://copybomb.lan. They will be redirected to the sharing site, which is a PirateBox with the theme/CSS changed.

Copy Bomb

Once there they can browse the current contents or upload their own. I have hand picked content from the following online open archives:

In addition to this there is content from the University of Birmingham’s Research and Cultural Collections and my own archive of previous artworks.

The content from the public archives was chosen based on how easy it could be to remix and modify it. So, many of the items can easily be isolated from their backgrounds and used in other projects.

Exquisite Corpse workshop, 19th November

On 19th November from 18:00 – 21:00 I’ll be holding the first of the events as part of the Permission Taken exhibition at Birmingham Open Media.

Exquisite Corpse workshop

A workshop inspired by the Exquisite Corpse surrealist storytelling technique. Participants are invited to co-create an artwork re-mixing archive images and other materials to be exhibited at the University of Birmingham. Following this a discussion will be held questioning authorship and ownership of the collaboratively created artworks.

Participants need only bring themselves and a willingness to get creative!

Places are free but limited, to reserve places please get in contact.

Permission Taken

I’m happy to announce the launch of my first solo exhibition, Permission Taken, taking place at Birmingham Open Media from 23rd October 2015 to 23rd January 2016.

Dead Copyright

The exhibition features a number of digital, video, print and installation pieces developed as part of my residency at the University of Birmingham’s Research and Cultural Collections and Fellowship at Birmingham Open Media. The pieces explore ideas of ownership, copyright and free culture – issues which are pertinent as online communities become more prolific and harder to police.

Archive Remix

Over the course of the exhibition a number of events will be held that invite artists and the public to rethink ideas surrounding ownership and authorship in the digital age.

Dead Copyright

Permission Taken is supported through public funding by Arts Council England and with funding from University of Birmingham.


Birmingham Open Media Indiegogo campaign


Birmingham Open Media, the recently opened creative digital media space in Birmingham where I’ve also been a Fellow since 2014, recently launched an Indiegogo campaign to get one of its spaces renovated to allow more education and workshop events to happen. If you’d like to see more art and technology happen in Birmingham read on a give your money!

BOM (Birmingham Open Media) is a creative collaborative workspace for art, technology and science, less than one minute’s walk from Birmingham’s New Street Station.

We’re hoping to raise enough money through crowd funding to renovate studio 1 into an awesome education & community room. Where we can host workshops, lectures, small exhibitions, meetings and much more.

As a community driven non-profit organisation, BOM offers flexible co-working, production and shared studio spaces for artists, technologists and scientists and supports skills sharing through its active community of Fellows and R&D residencies. BOM’s gallery and events space hosts free exhibitions and events that result from creative collaborations and practice-based research with art, technology and science. But we’re running out of space.

This summer we’ve piloted the first few BOM education projects which are aimed at exploring ideas in art, science and technology with groups of young people, families children, artists, teachers and overseas students.

We think that this work is super important and we hope that these will be the first of many more activities, events, workshops, labs and hacks for kids, families and community groups at BOM. However in order to host work like this in the future and to attract partner organisations & funders we really need a dedicated education studio at BOM, which is accessible, safe and flexible enough to host the myriad of different activities that could be on offer.

Studio 1 (downstairs by the cafe) is perfect, but a hidden hole in the floor, crumbling plaster and exposed wires means there needs to be lots of work done to get this up to scratch.

This is where you come in, we’re putting it out there to the awesome folks of Birmingham, the Internet and beyond to help us to raise the money for the renovation.

With your help we could renovate the room into an awesome bespoke education studio, with a lovely safe clean floor, beautiful smooth white walls and cupboards/racking/storage for resources.

If you pledge to give £25 then I’ll even make you a gif!

Pure Data Patching Circles at BOM

From 16th March to 27th April I ran a four part Pure Data Patching Circle at Birmingham Open Media. It was originally intended to be an informal gathering of Pure Data and “creative coding” enthusiasts but quickly it turned into a course in using Pure Data. Here’s some of what I learnt from running it.

Patching Circle #1

This was an almost exact replication of the beginner’s Pure Data workshops that I’ve done in the past at places such as GLI.TC/H 2012, Vivid Projects and Flip Festival. I first introduced some of the projects that I have done and then dove straight into things like installing the software on different platforms.

This part, in itself, had a couple of issues. The biggest problem is that Pure Data Extended, which is the most feature-complete version of Pure Data, is effectively dead. It hasn’t received an update in over two years and the developer seems to have abandoned any efforts to update it. Because of this I was a bit cautious in instructing people to install this software. However, after evaluating the situation, taking a chance on Pure Data Wxtended, which is still in use today despite its age, seemed a better option than downloading Pure Data Vanilla and manually compiling/installing all the necessary libraries. Maybe one day PD L2Ork will be cross platform (something which may be possible thanks to a graphical user interface (GUI) rewrite effort), and maybe the whole infrastructure of PD will become more mature. Until then, Pure Data Extended was suitable.

Following the installation the very basics were covered. I explained the difference between object boxes, GUI boxes, messages boxes etc, and how to change their properties. These are simple concepts but really important to using Pure Data. People that joined later in the patching circles still picked up a bit of this information, but spending a lot of time on it ensured they understood fully.

The workshop concluded how to use the amplitude of microphone input to control the scale of an object that had their webcam feed as a texture. Not a necessarily useful feature but a great way to introduce interactive visuals and the potential of Pure Data.

One thing I learnt from this first Patching Circle is that there isn’t a big enough community of creative coders in Birmingham and the surrounding area to support informal, peer led meetups. For that reason I devised a course plan for the following Patching Circles.


Patching Circle #2

Following feedback from the first Patching Circle I took a more structured approach to this Patching Circle. This was definitely the right approach as the topic, loading and using video, can be a difficult one to grasp and so needed a structured way to teach it. Loading videos is a surprisingly long-winded task. One point I emphasised is that in Pure Data nothing is assumed. For example, just because a [gemwin] has been created it doesn’t mean that it automatically renders its graphics. the [1( messages needs to be sent to it. Similarly, when working with video in Pure Data, even though a video is loaded it will not automatically play – that requires the [auto 1( message. Also, there is no direct function to loop a video. Instead a user would tell the [pix_film] object to go back to the first frame when it has finished playing all the frames. Yes, this is looping, but there is no simple [loop 1( message. Finally, being able to control the speed would require the user to manually advance frames and specify at what speed to advance to the next frame. This brings in the problem of knowing how many frames are in a video. A solution to this is shown below.


We concluded the patching circle by learning how to add in custom controls using the [key] command. Having GUI boxes such as [tgl], [bng] etc allows a user to interface with the patch by using their mouse. However, in a live performance being quick to react is important and that’s where the limitations of the mouse are shown. Using [key] a user can map any key on their keyboard to anything in Pure Data. For example, k could trigger the [pix_kaleidoscope] effect and pressing the arrow keys could speed up or slow down video. Doing this is simple and requires just knowing which key is represented by which number.

With all this knowledge the participants learnt how to build a very simple video mixer.


objects covered

[pix_film], [f]/[float], [key], [sel], [line], [pix_contrast], [pix_kaleidoscope] etc, [maxlib/scale], [tgl]

Patching Circle #3

Just like in typed programming languages, the appearance, layout and quality of Pure Data patches is just as important as whether it works. Similarly, learning how to reuse code makes patching more efficient and provides some future proofing. For the third patching circle I took a break from teaching interactivity to focus on creating interfaces, subpatches and abstractions.

The benefits of subpatches were quite easy to show. I gave the task to the participants to encapsulate all of the objects that they used to make a video player into one subpatch that they could easily reuse.

Moving on from this I asked them to build a single-button interface for it that would simply load a video and automatically play and loop it. Creating an interface for a patch is useful for two reasons: It allows you to easily navigate you patch and it can provide valuable feedback on what is happening. Unfortunately, using Graph-on-Parent and [canvas] objects to create interfaces is a somewhat tricky.


The red box that shows what will be shown on the parent patch is not easily configurable. Yes, you can specify its dimensions and position, but being able to do it using resize handles would make this process a lot easier. The same applies to [canvas] objects. What we found is that even if an object is just a few pixels over the red line it will not show in the parent patch. Finally, and perhaps most annoyingly, the Z order of the objects cannot be changed. Instead, this is determined upon creation of the object, meaning if a user wants to have a [canvas] object behind their objects they either have to create it before everything else or cut and paste everything so that it’s restacked. Yes, quite annoying.


Objects covered

[pd], [inlet], [outlet], [inlet~], [outlet~], comment, [$0]

Patching Circle #4

So far I had covered everthing that most regular VJ software can already do: play video files and add effects to them. Although not alone in this feature, Pure Data allows you to create complex patterns from its array of simple 3D shapes or your own models. By learning how to use [repeat] you can turn a simple [cube] object into an array of cubes that dance around. The last Patching Cirlce was perhaps the most difficult, even for myself, but I felt it shows best what Pure Data is capable of.

To explain how the [repeat] object works I showed the participants the Magnetophon video I made with Axel Debeul from in 2013

Despite their being an array of cubes on screen only one [cube] object is used. I [repeat]ed the [cube] a number of times, [translateXYZ]‘d it along the X axes and [rotateXYZ]‘d it then [repeat]ed it some more and [translateXYZ]‘d it along the Y axis. Doesn’t make sense? Perhaps this patch will help:


What I had trouble explaining was how the [separator] object worked. My understanding is that it is similar to pushMatrix and popMatrix from Processing. Perhaps it is, and perhaps I still don’t fully understand how it works yet, but it didn’t work as I expected it to. Nonetheless, I gave the participants the task of recreating the stack of cubes and most of them succeeded. Even those that didn’t made some really interesting patterns.

Pure Data Patching Circle

Objects covered

[repeat], [draw (, [model], [multimodel], [separator]


Teaching a four-part course was an eye opener for me. It showed me that to really learn Pure Data you ned more than an introductory session. It also emphasised to me that face0to-face tuition is really beneficial to some people and probably would have helped me learn better in my early days of using Pure Data. Of course, if you want me to lead a beginner’s session or a more advance one just get in touch.

BOM Fellows Talk

On Tuesday 14th April I gave a presentation about my work at Birmingham Open Media (BOM). You may not be aware, but in addition to all the things that I do I am also a Fellow at BOM. What this entails is that I will continue to develop a lot of my work whilst within the space and help to direct what will be happening in the space.

During April BOM had the Fellows Show, where most of the Fellows would showcase what they were doing. If you came in you would have seen Nikki Pugh Colony creatures, Pete Ashton‘s recent experiments with compression artifacts, and Jo Gane daguerreotypes amongst other work.

For my talk and showcase I focused on my recent work on copyright, remix culture and attribution. If you fancy hearing me use Vanilla Ice and Walter Benjamin in the same presentation look below. Please excuse the dancing.