𝒻𝓇𝓊𝒾𝓉𝒻𝓊𝓁.𝓈𝒸𝒽𝑜𝑜𝓁 ’𝓈
Giovanni Stanchi (Rome c. 1645-1672). Oil on canvas, 38 5/8 x 52½ in. (Christie's Images Ltd.)
𝒻𝓇𝓊𝒾𝓉𝒻𝓊𝓁 𝚋𝚕𝚘𝚐

interview with ryan kuo

Screenshot from “Tables of Content” (2017) — Link

We shared some of artist Ryan Kuo's works throughout the course of fruitful school winter 2020. Recently, Ryan was a technology resident at Pioneer Works, where fruitful school was hosted. Because of these overlaps and our curiosity about Ryan’s work, we thought it might be nice to have a conversation…

The following was transcribed and edited from a video chat the morning of Wednesday, February 5th.

Queens Museum exterior

How did you come to centering your work around the HTML element <table> for the Queens International 2018 exhibition site?

The exhibition is called “Volumes,” and I was interested in the idea of containment. When content is surfaced on the screen, it sometimes seems like it’s materializing from thin air. But it’s always entering into a pre-existing hierarchy.

In any group exhibition, artists are put together and framed, whether intentionally or unintentionally. There are many overlapping acts of framing—curatorial, physical, subliminal … lateral associations between artists, works, and spaces.

The curatorial staff at Queens Museum had their own granular systems for keeping track of everything. They used indexical Google Sheets and many multicolored labels on their Gmail inboxes, for instance.

Instead of designing a new system to reflect all this organization, I wanted to offload the mental overhead onto an existing model. With an HTML <table>, everything has to sit side-by-side, fit together, and align into a consistent body on the screen. So <table> seemed like a straightforward way to organize a ton of information.

Because I’ve experimented a little with <table> in the past, I knew it could become something other than a default <table>.

Website for Queens International 2018: “Volumes” — Link

The table element is inherently architectural, and one goal of mine was to do a “virtual walkthrough” of the space. Since I have a background as a video game journalist, this seemed intuitive. If you’re trying to show a really complicated space, and if you want the exhibition website to have some use value after the closing … why not have some 3D representation of what was there? So my summer intern Ted Kim and I incorporated animated GIFs. These were walkthroughs and gestures performed within SketchUp, using the museum’s 3D model used to plan the exhibition.

The text that appears at the top of the website is generated from a Markov chain that processes the content on each page. It rearranges the text incorrectly on purpose—the idea is that an institution will always frame you, as an artist, somewhat incorrectly. There is always unintentional slippage or mistranslation happening when an institution frames an artist’s intentions or statements. Then there is this process of realignment in both directions.

The formal style of this generated text is uppercase, similar to the official, bureaucratic-feeling “QUEENS MUSEUM” signage on the actual building.

How did you make the website? And is it true there is no CMS?

I coded the website from the ground up (with just HTML, CSS, and some JavaScript) in Sublime Text. This was my first time building a website from scratch. (My portfolio site is a heavily modified Cargo.)

And that’s right, there is no CMS. I didn’t know that most people use a CMS to update websites. With the museum, we had a couple rounds of updates… I would just build new parts onto the site.

While I did create a few starter templates, every page was crafted around the content. I would copy and paste text, like the artist interviews, into the template. But there would often be something a little off… so I would tweak the <table> cells to fit together in a better way. So there both is and isn’t a site template… it was an interesting combination of streamlined and very manual.

“Family Maker,” Mac Application (2017-2018) — Available at left.gallery

It seems like you make a lot of websites or apps to use as tools within performances or presentations, but you also often allow the tools to be viewed by themselves. Can you say more about these two?

People either think I have to “be there” to perform the work, or that I have to make the work perform itself. But I never want to settle for either.

If I take you through my work in person, and it becomes a live thing that you can’t separate from me, that is the way it should be. It’s my work. Conversely, I don’t want to have to be there. Anyone who spends a little time with the work could get the feeling of it. I’ve never differentiated between work that is self-contained and work that is a performance object.

For instance, when I perform my hyperlinked artist talk “Example,” it reflects exactly my thinking and feeling at the time I was making it. I made it using Twine. I knew that the live performance of the website would be scripted. So I wanted to lean on the website I created to bring me back to that time I was making it.

To be convincing in public space in America means that there is always a script behind how I present myself. When people are looking, I need to know exactly where I am in the present moment. Otherwise I’d be lost. So the works literally direct what I’m thinking about in the moment they are performed. They help me to be present in future scripted encounters.

There’s a nice feedback loop when making websites… you do some writing, plug it into the code, and then read it through on the screen. You make adjustments and do it again.

How do you know when a performance object you’ve made is complete?

It’s when the system or world I put together starts to feel like it’s repeating, stuttering, circling… it’s actively revising itself. Maybe it feels stuck… it’s going back and forth… it’s heading in the direction of being successful, but never resolving clearly. This feels true to me. Just through its being, it conveys the way I feel about it.

Ryan Kuo lives and works in New York City. His works are process-based and often invoke a person arguing and taking up white space out of resentment and necessity.

fruitful slideshow

To celebrate the end of fruitful school winter 2020, we made a slideshow of favorite photos!

We recommend:

1. Play this music...


2. Press this button to watch...

▷ launch slideshow

fruitful happy hour


Dear friends of fruitful.school,

This Sunday from 4-6pm we're having a happy hour to celebrate the end of Fruitful School. If you can, please stop by.

🍋 RSVP here...

A calligraphic script typeface says 'fruitful school class of winter 2020' in a circular formation centered on the poster. The background is a very light gray, #f0f0f0 hex code. In the upper right corner, there is information: 'You're invited to join us for happy hour drinks (both non and alcoholic) at Pioneer Works on Sunday, February 9, 2020, 4-6pm. Our Fruitful School participants' work from the 6 week Winter 2020 program will be on view... see you there!' and in the lower left, '02.09.2020, 4–6pm, Pioneer Works: 159 Pioneer St, Brooklyn, NY 11231'.

A venn diagram-like graph of three fruits overlapping: a red apple, a yellow lemon, and a green pear. This graph was originally created by curator Clive Phillpot for his book

Till soon,
John & Laurel

p.s. In case anybody needs it, we made a blue version of the poster... A blue version of the white poster on this page. Maybe easier on the eyes. Small emojis of fruit and computers  snow diagonally from top left to bottom right.

generative lemon


interview with melanie hoff

Code Societies, Winter 2020

Like Fruitful School, Code Societies is a code-related learning initiative happening concurrently this Winter 2020. While the specific programs of our schools are quite different, we wanted to learn more about Code Societies and how it has changed over time, now in its third iteration.

The following conversation was transcribed and edited from a phone call.

Can you tell me a little about your Code Societies’ graphic? How has it evolved over the three years?

The current graphic reads almost like an illusion. At first it looks like a tangle of knots, but then you realize you can read it… We were thinking about entanglements in society and programming loops—which are all relevant material for Code Societies.

Code Societies is the School for Poetic Computation’s three week program about how code and society are coproduced. It’s a balanced, interwoven study of critical theory and hands-on coding workshops. In the graphic, the breathing, animated purple is feminine-feeling, which in a computational setting has political implications. Purple also symbolizes magic, like in our recent class exploring computation through magical and divinatory language by our teacher Allison Parrish.

Since our graphic could attract potential students, we had a responsibility to visually represent our program accurately. We didn’t want students to apply thinking it’ll be a coding bootcamp. This is about theoretical code, and through our choice of visual language, we wanted to be upfront about that as much as possible.

Code Societies, Winter 2019

The woven knot graphic was created by Lisa Larson-Walker. Lisa is a brilliant illustrator and was also one of the students in the very first Code Societies during summer 2018.

Lisa made many variations, and you can see it changed slightly from Winter 2019 to 2020. But what stayed the same was the dark background and white text. This is because of American Artist’s influence. American taught at Code Societies now each iteration (Summer 2018, Winter 2019, Winter 2020) and wrote Black Gooey Universe, which charts how computer terminals changed from default black to white background, which charts how computer terminals changed from default black to white background, and how this is an expression of white supremacy, or to quote a current Code Societies student, Char Jeré, “white inferiority.” What does it mean when a large group of people assumes that a white background is default, or an empty space ready to be imprinted on, when other colors such as black and blue are just as easily marked? We should remember that on a screen, pixels can be any color. Defaults from another medium such as the printing press, for example, shouldn’t necessarily become screen defaults.

Code Societies, Summer 2018

For the very first Code Societies in summer 2018, I hand-painted small glyphs during one sleepless night. I knew I wanted lots of symbols without meaning attached to them already, which felt like a good foundation for beginning.

I noticed this first iteration was during the summer. And the second and third (going on now) have been during the winters. What’s it like to teach in these extreme seasons?

During that first summer, it was very hot. Our building in NYC’s West Village doesn’t have air-conditioning. We had a loud, not very effective AC in the room with about ten fans going. To be heard over the fan sounds, every teacher had to speak into a mic. And then when it was time for discussions, students passed around the mic to participate. It wasn’t very natural.

Then in our first winter, there was a problem with the building’s heating system. So instead of ten fans, we had ten heaters. Thankfully the heaters were quiet. But with all the wires running everywhere, sometimes we would blow a fuse. Thankfully in our second winter (right now, 2020), there is heat in the building. The room is comfortable without any alterations.

I actually think summer suits Code Societies quite well. So much of Code Societies is about unlearning patterns of what education is, what it looks like, what it feels like—building new structures, like weaving cloth, and how we want to co-learn and co-teach with each other. Summertime is traditionally the only time when students who participate in traditional US education have an explicit break from that structure. So mentally a summer feels more “chaotic good” in an educational sense.

Anything you’re especially excited about for this Winter 2020 iteration?

Code Societies is such an intensive project, and this is the first time I’ve had a whole year between iterations, which has allowed me to the time and space to grow as an organizer and teacher. I’m excited to bring that to the project.

This year in particular, we are trying out a new organizational structure...

In the first two iterations, I had TA’s (teaching assistants). It soon became clear to me that TA’s contributed so much to the program—it’s an important role. So in this iteration, there are no TA’s, but instead “co-organizers,” which feels more accurate and respectful for the type of work involved.

Right now, I’m working with Neta Bomani and Emma Rae-Norton as a team of three co-organizers. I’m excited about the affordances this new organization structure allows, as Neta is leading an oral history project and Emma is publishing Code Societies’ new website with blogs.

Code Societies is really about technology as a social idea. To propose that you “only learn a technical thing” apart from a social history of that thing is false. At Code Societies, we believe there is no computational education without a critical (anti-racist, anti-sexist, and environmentally conscious) theory of computation. The teachers, students, and organizational structure of Code Societies, this iteration especially, all reflect this.

Melanie Hoff is the lead organizer of Code Societies—a three-week intensive educational program at the School for Poetic Computation, now in its third iteration.

The Student Showcase will be on January 25, 2020, which you can find out more about here.

fruitful conduct


Fruitful School started just recently—

In the first two sessions, we introduced foundational languages for making websites—HTML and CSS, along with some historical context surrounding the web’s beginnings...

We’ve also been thinking about our own formation as a school. How should we introduce our way of relating and working together? We decided to draft our own Code of Conduct, as you can see here...

𝒻𝓇𝓊𝒾𝓉𝒻𝓊𝓁 𝒸ℴ𝓃𝒹𝓊𝒸𝓉 ℊ𝓊𝒾𝒹ℯ

As we talk to each other at Fruitful School, we are…
  • open and free
  • trying to “suspend judgement” (don’t attack an idea you don’t like)
  • not afraid to share an honest opinion or risky idea
  • building on each other’s ideas
  • sharing often while respecting others’ time to share
  • always trying to help each other create their best work
and we discourage…
  • sexist, racist, homophobic, transphobic, ableist, religious discrimination or otherwise discriminatory actions
  • violence in any form
  • unwelcome physical contact or hostile attention
  • deliberate intimidation or stalking
  • advocating for, or encouraging, any of the above behavior
Tips while presenting work (as the presenter):
  • communicate the main idea in as few words as possible
    • what are you trying to do/communicate?
  • describe where you’re at in the process
    • what have you done?
    • what is still left to do?
  • try not to self deprecate the work at any stage of the process
  • leave lots of room for others to speak
Tips while presenting work (as the group):
  • first…
    • state the facts
    • describe what you see
    • describe what you hear
  • after…
    • describe how YOU feel?
    • share any associations …

We are indebted to the School for Poetic Computation’s Code of Conduct, which they’ve generously shared here. We used it as a basis for our own.

Excerpt of Code of Conduct at The School for Poetic ComputationLink

We also took some inspiration from the guiding rules of a “Bohm Dialogue,” a type of nonjudgemental, generative group exchange started by physicist David Bohm that is essentially sitting in a circle and talking in a group, with a few important rules...

Rules for a Bohm Dialogue
Chairs set up for a Bohm Dialogue Laurel and Cab organized in 2018

We learned about Bohm Dialogue from Cab, via his Are.na blog post.

Note that our conduct guide is a work in progress. We hope to edit it as time goes on, after living by it more and seeing how it feels...

emoji clock

🍋🍋: 🍋🍋: 🍋🍋

apache microblog


The other day I saw Elliott tweet...

And found myself thinking that a great solution to “micro blogging .txt” might be simply displaying the files on your website via Apache DirectoryIndex.

In fact, right now, Elliott (http://elliott.computer) has something like this going on...

To tell your Apache server to display your files, you need to create a special .htaccess file. (Note that it has a dot in front of its name, meaning it is typically invisible.) You will tell it something like this. This tells your webserver to display its files...

Then you place this .htaccess in your server’s root directory, letting visitors see and browse your website’s files. I like this because it highlights what a website is... simply a collection of files.

We are currently in progress with something similar, a simple file directory. Some snippets...


Inside our library/ directory... cherries are pdfs, grapes are videos...

As you can tell, we styled our index! We added yellow background and some custom icons. Here is a peek into our .htaccess:

In addition to telling our server to display the index (line 1) we also told it to do this in a “fancy” way... displaying of additional file information than is default (line 2), and after that, we specify a header and footer file that are inside of a (not-shown) folder that we named _ (underscore). The header has a little CSS inside, which is giving the page the yellow background. And line 14 onwards is specifying custom icons, overriding the defaults! Of course we chose fruit...

We learned all this from a very helpful blog post.

seasons greetings


🍐 seasons greetings, scroll up.

fruitful.school would like to wish everyone a wonderful holiday season. Our deadline for applications is december 23, 2019.
december 21st, 2019, fruitful.school

interview with min guhong

Mysterious Fruit by Min Guhong Manufacturing, 2018. Link

Why did you make Mysterious Fruit? Or how did it come to be?

As I said the other time you interviewed me, I like fruits.

They’re delicious, healthy, and also good looking. When traveling in other countries, I like eating fruits I’ve never seen before. I like to imagine their flavor before visiting and tasting.

It was not easy to imagine their flavor. But by surfing the web, I can get a little closer.

Wow, reminds me of that documentary “Fruit Hunters” about rare fruits and the people who chase them.

Can you tell me about your favorite lines of code from this project?

To make Mysterious Fruit, I used three basic tools: HTML, CSS, and JavaScript. My favorite lines are in the HTML...

<ul class="mysterious-fruit">
  <li class="piece"></li>
  <li class="piece"></li>
  <li class="piece"></li>
  <li class="piece"></li>

It’s fun to think about which HTML elements to use. This part shows the four pieces of Apple Emoji fruits. As you can see, I used <ul> tag instead of <ol> tag or <div> tag because it’s a list, and there’s no clear order in it. Since I like both literature and computers, sometimes such a list looks like a mysterious poem.

I noticed you included tomato in your JavaScript (second to last item in array). Is a tomato really a fruit?

var fruits = [

Good question. Some people say tomato is a fruit, others say it is not. Some people say both.

Whatever the truth is, when I believe that tomato is fruit, it becomes a fruit for me.

Can the web be fruitful? Can the web make us happy? The answer is the same. I believe that the important thing is to believe.

Mysterious Fruit is a product manufactured by Min Guhong Manufacturing. You can see or read more here. (Korean only, but you can use Google Translate...)

first letter



Happy Cyber Monday! Today we are launching “Fruitful School”, our first independently-run teaching initiative. We were inspired by a few poet friends who offered simple classes from their apartments or via Skype.

If any of you know John or my previous teaching work, this school differs in that participants must apply with a specific idea proposal — a “seed.” Maybe this seed is an idea about a website container, like a compelling URL or website name. Or maybe it’s a specific piece of content to publish online, but how or in what form is still up in the air. Or maybe it is a totally fully-fledged concept with content and container working together harmoniously, and it’s more about the details of publishing online.

We are excited to know participants’ motivations from the very beginning. Each week, we’ll explore a specific aspect of web markup and programming, and each week participants will try manifesting their seed using this aspect. We’ll also have some lectures, demos, sharing, critiques, and mentorship. By the end of the workshop, hopefully all seeds will sprout, or maybe even produce fruit, whatever it means…

See you next in 2020,


You are currently on Season 1.

Go to current season