Xavier Ho
2018 / 05 / 31
Programming is a creative pursuit. This project paints ordered chaos in ink.

Programming can be a creative craft, and craft is a skill that can be learned.

There is still a huge gap between coding and drawing. Despite the numerous tools available, writing code is just not as good as drawing on paper for visual ideas. Conversely, drawing diagrams can only get you so far before complexity overwhelms the cognitive processors in our brains.

Our brains are versatile. It can adapt in almost any situation, given enough time to learn new things. Learning to program is like learning to play the guitar - start with the basic tools, then you start composing your own song using music theory. Eventually, you end up with a working program, like this one with my penplotter:

I gave a conference talk titled, "Let's Make Functional Generative Art!" to illustrate this point. The intended audience is programmers familiar with functional programming, but you can also see a Javascript-focused version online.

In my talk, I showed how to construct a curtain using a technique called sherperding random numbers. I first came across it from inconvergent's work, and adopted it into my own shapes.

I also created several more that you can see online. It's open source, too.

Generative sun

Following my talk on generative art at YOW! Lambda Jam, I had a super fun conversation with Kevin Yank on my work process, design process, inspiration, and most importantly, technical insights using the programming language, Elm.

You can listen to the podcast here:

The podcast episode is published at Elm Town, episode 34.

About the author

Xavier Ho

Xavier Ho is the creator of Roguelike Universe, Smoke and Fire, and other interactive data visualisations. He works at Monash Art, Design and Architecture, often pulling from the intersection of data visualisation, design, society, and systems thinking.

Profile art by Franpaccio.

Made with 🐾 by Xavier Ho with
elm-pages
Public GPG: 200F 0D74 C777 7235 6758 B547 FDE4 31F5 EB11 C755