Soft Machines

Many of us will have a memory of being told, as a kid, that we were “bad at maths” — which meant, by extension, that we should avoid all science and computer stuff forever as well. The arbitrary line dividing “humanities people” from “science people” steers our high school and university study and sends us into careers where we try to stick to the things we’ve been told we’re good at. Joshua Vial from Enspiral Dev Academy has written before about why that’s a false distinction — and why good problem solvers make good programmers, whatever their major.

Dev Academy runs 18-week coding courses in Auckland and Wellington, New Zealand, which train industry-ready web developers.

Gregory Kan is a graduate of Dev Academy, an 18-week coding courses in Auckland and Wellington, New Zealand, which trains industry-ready web developers. Greg’s work bridges the science/arts divide. His latest book of poetry, This Paper Boat, is out now. We asked him how he came to be a poet who codes.

I lived the first half of my life in Singapore, and have lived in New Zealand ever since. I don’t believe I ever had a clear projection of what I’d do as a grown-up, but I’m sure it wasn’t the bizarre thicket of poetry and programming I find myself in now.

I fell into writing it the way many others seem to: as an angry, hormonal teenager wanting to externalize all the intense feels. It surprised me quite a lot, actually. While I did English lit in high school, all my other subjects were in the maths and sciences. My English teacher was wonderful and supported me a lot. Looking back, I love that she never patronized me; she never lied to me about how good my writing was. My writing wasn’t good. She simply encouraged me to keep going, and that was enough. Immediately after high school, I was forced to return to Singapore to serve in the army. I believe this period galvanized my writing habit. It was both a coping mechanism and something to occupy me in downtime. After I became an officer, I often carried a little anthology of Emily Dickinson’s poetry into the field with me. I had no idea what her poems were about. But that didn’t stop me from enjoying them. Their opaque beauty gave me something to hold onto.

I carried my occult interest in poetry back with me from the jungle, and enrolled in a BA in English and Philosophy at the University of Auckland. Wanting the whole cake, I also enrolled in law school. One fine Sunday in my second year of law school, having spent something like eight hours on case summaries for a coming public law test, I decided I’d had enough. For both ideological and practical reasons, I withdrew from law school the next day. I took on as many creative writing classes as I could in the remainder of my undergraduate years.

To me, processes like choosing what to wear for the day, or negotiating my way out of a crowded, awkward dinner situation, or relating an old memory to a friend, require the same, basic imaginative and cognitive mechanisms as writing a poem. Perhaps I would distinguish these daily exchanges from something like writing poetry based on the degree to which I feel the permission to push or accelerate those basic imaginative and cognitive mechanisms. In many ways, I find my creative practice indistinguishable from my general life and needs.

While writing lots of poetry at university, my appetite for philosophy also grew. For me, the feedback loop between poetry and philosophy had begun. What constitutes a world? And what role does language play in this constitution? Completely hidden to me then, but so obvious to me now, these questions seeded my journey towards computation and programming. Very broadly speaking, I am interested in the ways in which both writing and programming build worlds and facilitate interaction with and through those worlds. I am aware, of course, that writing and programming also have many differences, and I am interested in seeing how the two modes can complement each other.

For a long time, I used mechanical procedures (cut-ups, collage) to manipulate texts in the hope that the results will be surprising to me. I then started to try out more sophisticated manipulations, like swapping all the verbs in one text for those in another. After I learnt to code, I realised it would be very simple to automate these procedures (and save my eyesight, hands and time). By externalizing these mechanical processes, I could operate on much larger texts (books, corpus) instantaneously. I then built a simple app that would allow the user to “chain” a bunch of these procedures together. What began as a simple set of algorithms progressed quickly to more sophisticated generation procedures involving machine learning, such as with Markov chains and recurrent neural networks.

On a more philosophical note, I am invested in the notion that a strong creative practice emerges from a struggle between one’s agency and the unknown. It has thus been important to me to involve other agents in my process, whether in the form of other texts, other people or even artificial intelligences. I should also underline that I’m not invested in a complete surrender of my individual, human agency! I am simply interested in understanding its limits, and the power of collaborating with others, which may include some strange, anonymous materials. Interestingly, in the world of chess, human-AI collaborations (known as ‘centaurs’ by the community) are consistently stronger than either humans or AI alone.

Artists/poets/musicians (etc.) who are curious about code shouldn’t be intimidated by the maths and science connotations. The ‘arts’ and the ‘maths and sciences’ have often traditionally seen themselves opposed. I think both communities have been guilty of this. This kind of ‘left brain versus right brain’ thinking is a terribly arbitrary, limiting and outdated convention. For example, the maths and sciences are often framed as utterly inflexible and closed systems. However, in the last couple of hundred years, many areas of mathematics and science have developed a wonderful understanding of uncertainty and incompleteness. I think people in the ‘arts’ and the ‘maths and sciences’ just love bashing outdated caricatures of each other.

Further, while programming and computer science have a lot to thank the maths and sciences for, they aren’t reducible to maths and science. Simply put — being a good programmer is not the same as being a good mathematician or scientist, at all. Many qualities traditionally associated with ‘artists’ — imagination, critical thinking, understanding of composition, organisation and flow, and communicative and expressive capacity — are just as readily associated with good programmers.

Dev Academy programmes start every month in Auckland and Wellington, New Zealand. Apply now.