This is Micah Elizabeth Scott. Micah previously had a career in the software industry, and now has a second career in art. Micah's work focuses on applying new media techniques with a careful eye to the details of how the underlying technologies work. She often creates new tools and technologies for a particular project, and she prefers not just using the technology to tell a story but making the technology itself and our relationship to it part of the story. Her recent interests include interactive light sculpture, control loops, emergent behavior, unconventional human interfaces, therapeutic art, abstract impressionism, and making art accessible for everyone.
Sophi Kravitz (SK): So, I hear you're living and working out of a box in San Francisco!
Micah Scott (MS): I am living in San Francisco as a guest in a friend's place and looking for a box of my own.
SK: What kind of situation are you looking for?
MS: I want to start my own studio, a spot where I can make the things that I want to make and then take jobs to fill in the gaps when I need to.
SK: What kind of jobs do you do to fill in the gaps?
MS: I still do firmware engineering sometimes but right now I'm focusing on setting up an art space and a support network to do that because I have the advantage of still having some savings left over from my previous career in Silicon Valley. So the past 3 years I have been living in San Francisco and one of those working at a start up at Sifteo. The other two years I've been exploring the aspects of building a network of personal and professional connections and all of the experiences that I think I need to have an art career, whatever that means. So a lot of that is trying to figure out how to make something sustainably supporting while also trying to make the world a better place.
SK: You worked at a Silicon Valley company-- at VMware-- early in your career., What does VMware do?
MS: VMware makes virtualization products. They started in 1999 as an offshoot of some research that a couple of Stanford grad students did on how to take Intel x86 compatible CPUs and virtualize them. This was before virtualization was built into the CPU, because no one thought x86 needed it.
SK: How did you get to a place where you could work there?
MS: I started out straight out of college in 2005 and I already knew a lot about the particular problems they wanted to solve because I spent a lot of time in my childhood teaching myself how computers work in a really detailed way. Even though I graduated with a Computer Science degree, which included some electrical engineering classes, I consider myself mostly self-taught.
SK: What did you work on at VMware?
MS: I started out as an entry level engineer helping out with the USB stack and worked my way from there into more of an architect role working on graphics virtualization. In my time there it grew from a small company into a generic corporation. I worked there for 6 years. I would have probably left earlier but I stayed for all the reasons that people usually stay at large companies, financial incentives and so on. I also went through gender transition while I was there and there was a financial support structure for that. So in mid-2011, I quit VMware and moved from Mountain View to San Francisco and started a new job at Sifteo. Part of what I wanted was a place where I knew I could do something smaller and more self-contained and that would support me through a recovery period.
SK: A medical recovery or emotional?
MS: I worked at Sifteo for about 3 months which was a good emotional recovery period and then I had a planned medical leave to have surgery. Surgery is the last thing you do after gender transition because you do this after you have healed from your emotional wounds.
I wanted to work in a place that would support me through that. After I came back to Sifteo from a 2 month medical leave people were really supportive.
Then I started feeling like I could help out more, and started working longer and longer hours until it finally got to the point for most of 2012 I was working 16 or 19 hour days.
SK: What kind of projects were you working on?
MS: When I first started there I immediately launched into working on a second generation product; Sifteo makes a small video game system based on a prototype of these interactive tiles called Sifteo cubes that the founders first developed at MIT. The first generation product did everything that they wanted it to but had a few shortcomings which we identified early on, so I worked on those new things while they were launching their first generation product. It was a weird position to be in because there was pretty much every option on the table at that point. I ended up finding this option that no one would have considered. It was a really strange tradeoff where we could use a cheap, low power system on a chip (SoC) and then do some really crazy things in software and turn it into something that would meet all of our performance goals.
SK: Which system on a chip did you use?
MS: The key to making this thing work was each of the cubes in the design that I built was just running off of a Nordic nRF24LE1. The Sifteo first gen product used the Nordic L01, the one that's just a radio. And even though we did some thought experiments and cost-benefit analysis, that still seemed like the best radio to use. It happened that they have a little 8051 system on a chip version, it’s really minimal, you'd normally use it for a keyboard or a mouse, that kind of thing. So it has an 8051 processor, 16 MHz processor with 1-1/2 kB RAM... I had a hunch when I saw this, and that one kind of stuck out as something that could work.
I built a simulator--I found this open source 8051 simulator and I had this idea of connecting the SoC and the flash memory and an LCD all to the same shared parallel bus and then writing 8051 code that would end up assembling graphics at 60 frames per second using this tile and sprite based system reminiscent of 80s- and 90s-based video games. That turned into something huge. That simulator that I wrote became our in house firmware development tool and the simulator that we gave to game developers.
SK: How long ago did you leave Sifteo?
MS: I left in late 2012, I stayed until I burned out and decided I needed to do something else. I have been working in technology my whole life, and I wanted to try something completely different. Like a meditation practice, I cleared everything out to see where this led me. I feel really lucky to have been able to do this because of the savings from my other jobs. I got interested in building things with LEDs. I got interested in making these sculptures out of equilateral triangles and I experimented with those, using the laser cutter at Tech Shop here in San Francisco.
SK: Can you tell us about the LED controller you designed for these kinds of projects?
MS: Fadecandy is an LED controller that I designed originally for my own art projects, but I wanted to make it into a tool that other artists could use.
I packaged a lot of that tool up into a little microcontroller firmware platform. That platform incorporated a lot of what I learned in previous projects about how to make LEDs look good. How to give them good gamma correction so that they have nuance and brightness and how to try to make all the flickering that you see less offensive by evening out with patterns. And this was work that I started in one form for the equilateral triangle sculptures that I did in early 2013 which I turned into something I could then use for larger scale art for a project called the Ardent Mobile Cloud Platform. By the time we built the Ardent Mobile Cloud Platform, it used basically what would be the Fadecandy firmware in its current form. But we didn’t have any custom hardware, and it all ran on these Teensy 3.0 boards. It worked pretty well, but it seemed like there were a lot of improvements I could make if I designed my own circuit board.
So Fadecandy was the culmination of the desire to lay out a board for this project, the desire to polish up the firmware that I'd written for the Ardent cloud and the desire to build enough of the higher level infrastructure that artists and software engineers could use it from a variety of languages to control LEDs without having to know much about firmware or about engineering or electronics.
Fadecandy product photo from Adafruit.com
SK: How does this work for you in the sense of a product?
MS: I originally built them myself, when I did the design, I did a small manufacturing run of about 100 on a hotplate. I needed to do that to get them out there and get feedback. I didn’t want to just launch a product without testing them. So with the help of a couple of friends, I made a few and starting getting them out to people. I put them up on Tindie, it was the sort of thing where I'd go to Meetups and bars and give people boards, and tried to get as many of them out there as quickly as possible so that I could get feedback. I mostly didn't hear much though. It was the sort of thing where you have to hope that no news is good news. I think armed with a little bit of confidence, I ended up in New York with a suitcase of LEDs demoing the stuff to Phil and Limor at Adafruit. Honestly, at that point it was hard to tell if they were interested. So Limor asked me to write a tutorial. What she wanted to know was that her customers could build something with the Fadecandy controller. And for that she needed to see the documentation.
SK: What happened after you wrote a tutorial?
MS: I wrote the best tutorial that I knew how to make, putting a lot of emphasis on the photography and the documentation and I chose a good project. So I sent it and they liked it and then they helped me build it. That part worked out really well.
SK: What are the specifics of how it works?
MS: Everyone who sells the Fadecandy boards buys them from Adafruit, who does all the manufacturing. It is an open source design, so I've talked to other people who are interested in making them.
SK: Does Fadecandy support you financially?
MS: Adafruit provides me with some royalties, but no, it doesn't support me. I went into the project just to get it out there, not to make it into a primary business. I know myself well enough to know that I don't like getting stuck doing one thing, so to the extent that I can, I'm trying to set my life up so that I can keep chasing new projects as much as I want. I'm leaving old projects out there in a capacity so that they can mostly take care of themselves.
Ecstatic Epiphany, May 2014, LED light on laser-cut mat board, 4x8'
SK: Let's talk about the things you've done with reverse engineering, what are you reversing in your Coastermelt project?
MS: Coastermelt is a project where I am reverse engineering a common Blu-Ray burner so I can figure out how it works in as much detail as possible. I don't want to know just what goes in and what goes out, but enough of what goes on inside so that I can start to change it. And in this case, I change it by making modifications to the firmware. The firmware is the code that is actually running on a system-on-a-chip on this Blu-Ray drive. And I think that by modifying the firmware and possibly by making other changes, the theory that I have is that I can use the Blu-Ray burner to create specially patterned Blu-Ray discs that have these patterns that aren't actually data that are actually...when illuminated by the right kind of laser light turn into holographic projections.
SK: I can't wait to see that! That's going to be amazing.
MS: I hope it works out. I think it’s one of those things--it's very pie in the sky, there's so many things that can go wrong. Maybe the dyes on the disc aren't high enough contrast, maybe it's difficult to write patterns that aren't already in the spiral groove that's already in the disc. Maybe it's not really bright enough and it requires a 10 Watt laser to be strong enough to see. So a lot can go wrong, but it is one of those things that is plausible enough that maybe I'm crazy enough to try. So since I'm going to try it, I'm going to document it. Because I've always done these sorts of projects and lamented that no one else gets to see what goes on inside them. So I've been also trying to take this is on as a video documentation project and turn it into a series of behind the scenes videos. I've never done reverse engineering professionally, but it's something that I have been interested in all my life.
SK: How do you approach a reverse engineering project like that?
MS: I don't so much have a set of steps as I do an overall philosophy. I feel like reverse engineering is about psychology and pattern matching than anything else. For me it’s about knowing how someone would build a thing like what I'm reverse engineering and then use that knowledge to extrapolate what I see. I think part of why I have a lot of experience doing this is because I think I use some of the same techniques while I’m building things. I can see part of the project and that pretty easily recalls how the rest of it must work. When I open something I have never seen before, I can still apply those pattern matching skills to it. I can look at a circuit board and think about why they would have laid out the traces that way. And also I can think about what functionality the entire system must have had.
I would put myself in the design engineer's shoes and start thinking about what that board needs to do. So in the case of Coastermelt, I opened up the optical drive and I looked at the board and they have some chips that are positioned with heavy traces right next to the power supply, you can trace some of them to go to the motors. And so it’s obvious that those are motor drivers but then you wonder what the motor drivers do. Would it make sense to have the motor drivers have a serial interface and if so, where would that have been? Then you go there and see if you find one. And then think about what kind of processing functionality it would need. So in the case of Coastermelt it has a USB port, it has all the lasers and
photodiodes. And looking at the board, you can see that there is nothing else on there, all of those are connected to the system on a chip, so now you have two end points and if you know how the system- how the optical drive- would work, which maybe you already know or maybe you would research this, and you can kind of start to find the exposed bits, all the little rough edges. Maybe someone put up a presentation on an ftp server then forgot about it, or use markings on boards, test points, things like that.
SK: What do you think you'll work on after Coastermelt?
MS: There's always a progression of projects in a series but I think as far reverse engineering goes, I don't know. I put Coastermelt out there as a documentation and an invitation. I've been having a really hard time finding collaborators in this niche area sitting between art and engineering. So I tried to turn Coastermelt into an invitation for someone out there whose eyes light up for the same things and might have some way of contributing. So it may not be technical or artistic input that I am looking for, but context that may be helpful. So I am inviting them to share that with me as well.
To contact Micah Scott
Main web site: http://www.misc.name/
Twitter: https://twitter.com/scanlime
Github: https://github.com/scanlime