

Painting with Code - nkurz
http://labs.ideo.com/2014/06/04/painting-with-code

======
jschulenklopper
Processing, [http://www.processing.org/](http://www.processing.org/), almost
seems a de facto development environment for Generative Art - I'm surprised it
wasn't mentioned. It has an easy to grasp syntax (which is translated to plain
Java in the background), a simple IDE, a huge collection of examples and a
selection of great books to help a novice artist on track. Some books, see
[http://www.processing.org/books/](http://www.processing.org/books/) for a
list, especially target Generative Art.

Personal recommendation: "Processing: A Programming Handbook for Visual
Designers and Artists" by the original Processing authors, Casey Reas and Ben
Fry.

~~~
securingsincity
I was introduced to Processing and MaxMsp [1] in a college course where I was
tasked in creating generative art and sound installations. I had no
programming experience and I agree it was easy to pick up and definitely drove
my interest in programming. I think its a great way for artists to get started
in something that can become very complex

[1] [http://cycling74.com/products/max/](http://cycling74.com/products/max/)
as an aside there is an open source version of MaxMSP called puredata that was
also excellent
[http://en.wikipedia.org/wiki/Pure_Data](http://en.wikipedia.org/wiki/Pure_Data)

------
bauc
It's amazing the images that can be generated from algorithms. It's an
interesting area. I think a lot can be learned from looking at what coders in
demoscene[1] have done, easy to lose hours tinkering with them.

[1] [http://www.pouet.net/](http://www.pouet.net/)

~~~
userbinator
Indeed, and not only static images, but also animation and audio can be
procedurally generated.

No discussion of computer-generated art is complete without a mention of the
demoscene. :-)

------
juliendorra
Interestingly, generative art is 50 years old, maybe more! Check for example
the work of Vera Molnar, creating generative art with science computers and
tracers back in 1968: [http://dam.org/artists/phase-one/vera-molnar/artworks-
bodies...](http://dam.org/artists/phase-one/vera-molnar/artworks-bodies-of-
work/works-from-the-1960s-70s) The national museum of modern art in Paris
actually has 8 piece of a similar later work from 1976 in its collection :
[http://www.centrepompidou.fr/cpv/ressource.action?param.id=F...](http://www.centrepompidou.fr/cpv/ressource.action?param.id=FR_R-c2f09c215b8ad68194d474c01d8cd1&param.idSource=FR_O-1a1e5a215fb6166a1c4abf90707c1a7c)

------
moondowner
For those new in Generative Art check out
[http://www.creativeapplications.net/](http://www.creativeapplications.net/)
\- a lot of cool stuff is featured there.

------
skakri
This is the first time I've ever downloaded code samples in rtf.

~~~
cessor
I was confused by this, too. Also there are absolutely no imports. This leaves
me really confused, wondering why why why anyone would ever do such a thing.

I have two benevolent, understanding and sympathetic explanations: The author
is from yesteryear and hasn't worked with other people in a while.

The other one is: He is a genious hacker and knows how to social engineer most
of hn. Since Most links point to the same rtf document it might just be a way
to spread a very delicate RTF reader exploit..

~~~
zackkitzmiller
Edit: I can't read.

------
RobotCaleb
A friend of mine made Uncontext [0] with the goal of having people use it to
create content as in this article. Instead, I made a hopping bunny. [1]

[0] - [http://www.uncontext.com/](http://www.uncontext.com/)

[1] - [http://www.uncontext.com/literature/bunny-
hop](http://www.uncontext.com/literature/bunny-hop)

------
daveloyall
Here's another generative art tool.
[http://www.contextfreeart.org/](http://www.contextfreeart.org/) (cfdg)

Hmm, a quick search reveals that it has been posted here before, with little
interest.

I've done `apt-get install cfdg` (context free design grammar) and played with
it.

It's pretty trivial to set up an edit/render/view loop using the 'run script'
function of your favorite text editor.

You make movies by dumping a single frame, changing the file or parameters,
repeating that, and then stitching the frames together with some external
program.

This tool is made for unix weenies like myself. It's functional, unless you
call random(), but you can specify a seed if you want it to remain functional!

------
sirduncan
These are far from the only coding artists using environments like Processing.
There are some vibrant communities around pixel art and glitch art in
California, Chicago and elsewhere [http://sdt.bz/66392](http://sdt.bz/66392).

------
TuringTest
Generative Art will take off when it _doesn 't_ require expressing the code
through conventional programming language syntax. A visual, interactive
programming environment like those advocated by Bret Victor [1] would be ideal
for artists without a technical background.

NodeBox, mentioned below, have some characteristics of this, although it
doesn't seem to allow the artist to create new abstractions without resorting
back to Python.

[1] in _Stop Drawing Dead Fish_.
[http://vimeo.com/64895205](http://vimeo.com/64895205)

~~~
tomek_zemla
I don't think that generative art needs to stop requiring programming skills
to be successful. The huge community of www.processing.org artists who code
suggests this requirement is not a problem. The whole point of generative are
is to use programming language as the tool of visual expression as opposed for
example to using UI based tools like Photoshop or Illustrator.

Any art (visual or not) requires creators to use various tools and learning
these tools takes a lot of time and afford. And mastering them often takes
insane amounts of study and practice. Think of work required to learn to
sketch human figure well or chisel it out of wood. Think of years of training
required to play a violin concerto. Or to dance a ballet piece. Programming is
just a new/differnt tool required for creating generative art.

I would even go as far as stating the opposite. Attempting creation of
generative art via interfaces other then conventional programming languages is
what would limit it! This is for the same reason that professional programmers
haven't adopted (not yet at least) visual programming languages - they are too
limited in their expressiveness.

The whole interest in generative art and design is driven by the fact that you
can create things that you cannot using Adobe (etc...) tools. All the
Photoshop and other image creation and editing applications are very powerful,
but still limited by the imagination of the people who made them. Creating
images using code lets you escape these limitations. This is what makes it an
interesting new visual arts discipline.

And if you study lives of many artists you realize that they can be pretty
obsessed and determined to work hard to learn tools and techniques in the
process of their practice, so I am not worried - there will be many who will
become excellent programmers!

What stops fast adoption of this type of art is the educational institutions
insistence on separating artists from engineers. If computer science
departments offered and occasional art course and fine art departments intro
to programming, the generative arts would possibly become one of the most
popular art forms in the new century. It would also help more of
multidisciplinary creative thinking on both sides. I certainly agree with the
article that the possibilities are immense...

~~~
jmclean
Respectfully disagree. I think it's easy for people who have by now built an
intuitive grasp of code to appreciate how challenging tools like Processing
can be for a beginner.

I have a design background and learned front end code (and eventually ruby on
rails) by getting progressively more interested in how the things I was
designing were built. I feel like I achieved a pretty respectable level of
knowledge in what I had been exposed to.

And yet, many aspects of Processing were a huge leap for me. I spent days
looking at code examples just to try and grok how 3D works in processing. I
get it now (mostly), but it still feels unintuitive. I can certainly imagine a
language that would describe 3D behavior, and a whole host of other things, in
a way that a visual artist would describe them.

I definitely believe that there is value in artists learning to think with the
rigor that code encourages. It's a fascinating cross-pollination. Creativity
often springs from encountering the limits of a medium (and one's mastery of
the medium).

But look at the excitement this week among people like me about Swift. It's
not about whether it was _possible_ before for me to learn Objective C and
build a game. It was. But goddamnit, it's such a pain, and I would certainly
understand that someone who is starting from zero in terms of CS knowledge
would find it impossibly intimidating.

Design is remarkably accessible. If you can pick up a pen and paper, you can
do it. Code is getting way closer to that, but let's not have collective
Stockholm syndrome. Our tools are a long way away from where they could be.

Honestly, I wish I had the skills to write a language or build the tools like
the ones I can imagine myself. But I have confidence that someone will. It's
going to be an exciting time for art, and I think it's coming very soon.

~~~
tomek_zemla
It's a fascinating discussion. Maybe we can meet half way?

> I definitely believe that there is value in artists learning to think with
> the rigor that code encourages. It's a fascinating cross-pollination...

I agree!

> Design is remarkably accessible...

But this... Well it depends on the point of view. Design can be as
intimidating for geeks as programming is for artists.

I have nothing against making programming tools more user or artist friendly.
In a sense Photoshop is such a step - it allows many creators make
sophisticated images without learning to draw and without learning to program.
And certainly many many amazing works were created with it and similar tools.

The point I am trying to make here is that the visual/artistic power or
possibilities of generative art and design are very much driven and dependent
on the artist's fluency to program. There were many attempts to create
programming tools [1] that let you avoid having to slog through typing the
code, but seems like none of them would match the expressive possibilities of
'raw' coding and gain any wider adoption. In other words all of them have
significant limitations and this would be a step back from the point of view
generative artist.

And just to make it clear, I don't think that using any of these higher level
tools is wrong or produces works of lesser value. It's just that these works
are outside of unique possibilities of generative art driven by traditional
coding.

[1] [http://blog.interfacevision.com/design/design-visual-
progarm...](http://blog.interfacevision.com/design/design-visual-progarmming-
languages-snapshots/)

~~~
TuringTest
Have you seen the "Stop drawing dead fish" and other Bret Victor talks? Those
are not high level tools, they allow you to build generative animation and
graphs from scratch.

Photoshop-like visual tools are indeed limited to pre-built concepts, but
Victor has found a way to make coding possible without textual syntax; that's
a powerful idea that may be the basis for a tool allowing artists to program
without requiring the programmer's skill to keep the parse-tree-plus-AST in
your head while building automations.

Take a look at the topic of End User Development and Programming by
Example[1], it's a quite comprehensive research field dealing with ways that
programming-like activities can be done without any traditional "raw coding".

[1] [http://web.media.mit.edu/~lieber/Your-
Wish/](http://web.media.mit.edu/~lieber/Your-Wish/)

------
twfarland
I've been playing a bit with generative art in scheme. The author talks about
finding a way to code visual ideas. It can work the other way around, too,
i.e. the algorithms we use in our programming work can themselves be a rich
source of visual ideas. Inhabiting this space of translation between the
visual and 'algorithmic' minds can be quite fun.

------
mkesper
Nodebox seems awesome! [http://nodebox.net/](http://nodebox.net/)

------
ak217
I'll just leave this here:

[https://sites.google.com/site/structuralreality/](https://sites.google.com/site/structuralreality/)

------
wrongc0ntinent
The painting analogy isn't really warranted, and this article is a metaphor at
best. You could replace painting with poetry, music, or building furniture.
There are a few definitions of painting, and there's lots of art being made
that plays at pushing those definitions, so I can't claim to have the
definitive one. However, essential things, such as the interface (which is in
no small part responsible for the content of a painting), and the actual final
product as object, are very, very different. A medium is also defined by its
constraints, and from code to screen or printout the constraints of image-
making are unlike anything you have in painting.

Generative art is beautiful, but not because it has anything to do with
painting.

Edit: If this seems harsh, it's because I care about code just as much as I do
about painting. Using any one of them as a catch-all for stereotypes is
intellectually lazy (and often irritating).

~~~
hsitz
This seems unnecessarily harsh. That this generative art and painting are both
visual arts in (mostly) two dimensions seems a pretty strong similarity. Why
would you compare it to genres of art less similar? Also, some paintings
strongly resemble this kind of generative art. E.g, I assume code could be
used to generate something quite similar to "drip painting" in general, and
Jasper Johns work in particular. You can make a comparison without trying to
equate the two.

------
dcre
Who is the target audience for this article? Lines like

    
    
      I leverage the power of my computer to generate the
      artwork. Where a classical fine artist would pull out
      his oils and brushes to express colors and shapes,
      I do the same with parameters.
    

make it seem like it's written for people who have never seen code before, but
then there are extensive code samples. But (!) as people have mentioned, there
is almost no context given for the samples and the code file is an RTF.

What?

Edit: I also meant to say that 86 points for this article at time of writing
this comment must mean HN _is_ the audience. I'm not sure I like that.

Edit 2: Which is not to say I don't like his work. It's pretty cool.

