I'm a visual artist and writer in St. John's, Newfoundland, Canada.

For more frequent updates, follow me on Instagram or Medium.

Blog Archives

Paint buckets and particle physics

“We don’t need more media ecologists raising their fists in boosterism or detraction, painting overly general pictures with broad brushes. We need more media entomologists and media archaeologists overturning rocks and logs to find and explain the tiny treasures that would otherwise go unseen. We need more media particle physicists and media nanotechnologists explaining the strange interactions of the tiniest examples of various media, videogames among them.”

— Ian Bogost, from How To Do Things With Videogames

“Today, as more artists are turning to new media, few are willing to undertake systematic, laboratory-like research into its elements and basic compositional, expressive, and generative strategies. […] Those few who are able to resist the immediate temptation to create an “interactive CD-ROM,” or make a feature-length “digital film,” and instead focus on determining the new-media equivalent of a shot, sentence, word, or even letter, are rewarded with amazing findings.”

— Lev Manovich, from The Language of New Media

This morning I finished Ian Bogost’s “How To Do Things With Videogames”, and this excerpt from his conclusion reminded me of Lev Manovich’s similar appeal to new media artists to do a little labwork. I am quite drawn to the idea of systematically exploring what distinguishes digital media from other media. I’ve tried to pursue this in projects such as index of first lines (which is currently being shown at Reese Bullen Gallery here in Arcata) and The Complete Works (after bpNichol).

In 2005 I coded a very basic raster image editor, pixelpad. I had just finished art school, and was thinking about what it meant to be a digital artist. For me, coding an image editor was an exercise in getting to know my materials, akin to a painter learning to mix his or her own colours. I can’t say that I was “rewarded with amazing findings,” but I definitely learned a lot, and it made me question some of my assumptions about what I was doing.

pixelpad was hacked together with JavaScript and PHP, and used HTML <div> elements for pixels. It was pretty easy to get started, and I quickly added a lot of small details like the thumbnail preview, a pixel grid that could be switched on and off, a resizeable canvas, and shortcut keys.

Coding the fill tool was pretty challenging, and I remember questioning whether I really understood how a “paint bucket” tool worked. The logic is something like “when the user clicks on a pixel, check whether each adjacent pixel is the same colour; then repeat as necessary, checking whether each pixel adjacent to the previous pixels (which have not already been checked) is the same color; when all adjacent pixels have been checked, fill all appropriate pixels with the current colour.” In 2005 I knew a lot less about coding than I do now, and I remember my browser freezing up dozens of times as I accidentally created infinite loops. I also had to figure out small details, such as whether diagonally adjacent pixels should be included. In the end, I got the fill tool working to my satisfaction. I never did get the “generate png” function to work properly.

A screenshot of pixelpad.

Content ©  2017 Matthew Hollett. RSS