Exploration of Generative Art
generativeartistry.com
generativeartistry.com
A true love of mine, and something I'm loving see slowly grow and appear in our tech and programming community is interactive tutorials and blogs, which personally I feel teach and inspire creativity in a way like no others. This site is built with a library I called tutorial markdown [1], and the whole blog is also open source [2], and has a little indie podcast too [3]
I really want to see this type of experience grow, so yeah, if anyone is working on similar things I'd love for them to share it here (or with me otherwise). Here [4] is a great blog post by John Otander showing off some great interactive blog posts on the web, all of which are very HN worthy in my opinion.
[1] https://github.com/tholman/tutorial-markdown
[2] https://github.com/tholman/generative-artistry
Feel free to email me at stevan [at @ symbol] dedovic [dot] com and I will gladly share an invite link!
I'll also talk to the person who started it to see if we can put out an invite link here.
Sure, I also made a tool to generate interactive blog posts and used it to write a couple of articles on pretty niche topics related to generative art. Whenever I have the time to do so, I would love to write more content like that. The framework is here, articles are linked at the beginning: https://github.com/pac-dev/dspnote
Do people just not like that band anymore?
https://serialmentor.com/blog/2017/9/15/goodbye-joyplots
I wasn't aware of this either. Given the theme of Joy Division (the band)'s songs I think it's very fair to say they meant it ironically, but I do think it's fair not to name a beautiful plot type after something so horrible.
Wasn't it an association that surfaced subsequent to being named after the band? In that sense it would not be "named after" Nazi joy divisions, I think? (as that would imply being aware of the association while choosing the name)
Sure, I don't think anyone involved with naming the package was aware of it. But I think they made the correct choice to rename once they became aware of it.
Perhaps "have the name of a beautiful plot type associated with something so horrible" may have been better phrasing.
The seismic community has been producing plots like these for decades, but they're just referred to as "wiggle plots", not a great name. Ridgeline seems like the best option going forward!
https://github.com/bradydowling/awesome-generated-art
I'd definitely be open to PRs of other things that are relevant.
[drop caps]: https://en.wikipedia.org/wiki/Initial
I've been told by commenters on HN that my generative art is not art if it was created without intent to express some truth about the world or some such criteria. Not sure I agree.
On the other hand it used to be a rite of passage to make a "draw random lines in random colors" program in like the first few days of learning to code and technically that is generative art.
My friend who makes a living on generative art for installations does lots of flowing cubes and I'm super happy for him and always say positive things. But, in my head sometimes I'm like "seriously, all you did there is write a random line generator" because having made similar pieces I know effort wise it's more like a doodle then a project. In other words most of my generative art took less than an hour to make. I can turn my generative art to make images similar to ones he gets paid for in few minutes. So, sometimes it's hard not to see certain generative art as low effort? I'm not sure how to describe my feeling here.
If some one showed you their program that had 2 numeric fields and an add button and you set the 2 fields, clicked add and the sum of the 2 fields is displayed (in other words the 2nd or 3rd program you ever wrote, https://jsfiddle.net/greggman/hypv0ugo/). You'd be happy for them they are making progress on learning to program but if they posted that as "Show HN" you'd likely not give them much praise.
That's the type of thing I often feel about some percent of generative art and I don't know how to stop feeling that any more then I wouldn't feel like "why are you showing this?" about the adding 2 numbers example.
I take generative art semi-seriously and have some cube like sketches https://www.instagram.com/p/B_Ix1yOH_2S/ and other simple line based sketches https://www.instagram.com/p/B9VsDrgHBQE/ but I think they are aesthetically nice either way and treat them as art.
For some context here is my "artist statement" as a generative artist:
From the outside, art is regarded as highbrow, intellectual, and “human”. Automation, however, is often perceived as rote, boring, and “robotic” by those who are non-technical.
As an engineer by trade, I see the act of automation as a much more creative process than the public gives it credit for.
In my artistic practice I try to bridge that gap by using software to automate the generation of unique art pieces in less than a fraction of a second. My hope is to elicit the same kind of emotions and reactions that viewers feel when viewing art that has been “generated” by hand, and help them consider automation as an art form and an act of creativity.
Whether acting as an artist, or engineer, I like to think of automation as my artistic medium.
Maybe this analogy will help.
We praise chefs for making great meals. Conversely we don't praise people for boiling water. In fact it's a common joke if you ask someone who is has no cooking skills if they can cook they might joke "I'm great at boiling water!"
So my question is where is the line between boiling water and cooking. Similarly where is the link between no-skill required code that puts a pretty picture on the screen and high-skill required to put a pretty picture on the screen. In general we don't praise the first.
random lines in rand colors = 0 skill units
random lines in similar hues += 1 skill unit?
random lines in a similar direction and similar hues += 1 skill unit?
I know rating art on how much skill it takes is not a valid way to rate art but we still make some kind of distinction between stick figure human and the Vitruvian Man and so I'm conflicted about it
For me an large percentage of generative art fits on the stick figure side than the Vitruvian Man side. It might look pretty but it took no more effort or skill than drawing a stick figure.
Sure, most things are a loop and a couple of sin functions. I find it pleasantly surprising when I figure out how people have made seemingly complicated things by building up simple techniques.
If DaVinci walked around the Guggenhiem maybe he'd feel the same way about a lot of the art there. I'm not sure it would detract from the art if he did though. "I could have made that easily" is more a testament to the viewer's skills than a criticism of the artist's work.
Seriously, these are 140 chars[0], and many can take ages to make. They look impressive. Don't say it's like "boiling water" (your other comment).
But it’s worth mentioning that perceived effort / time spent is not always an important metric in art. Look at Pollock, Malevich, or Ellsworth Kelly for example, where you may feel anybody could do this work in an hour or two.
One issue with the term is that it includes commercial work quite often. There is enough interest within tech that you can be a “generative artist” and perhaps make a living by floating 3D cubes. I don’t think that makes you an artist, nor does it make your art “good”.
If you want to see some “good” generative art, perhaps look into it’s history including Vera Molnar, Georg Nees, Harold Cohen, Manfred Mohr. If you want to see a more modern interpretation, look into Tomás Saraceno, Elias Crespin, Anders Hoff, Tyler Hobbs, Random International, onformative, UVA, FIELD, Variable.io, Nervous System, and Scott Eaton. These are a range of artists / design studios, not all of them solely focus on art-making (sometimes it’s commercial), and not all of them code (generative art != code), but they are all doing important work in different ways and are far removed from your friend pushing simple doodles on clients.
Concerning the "I could have done that in an hour" objection: Most photos are taken in less than 1/250 seconds but no one would use this as an argument against the artistic status of a picture.
This essay by Tyler Hobbs contains some thoughts on generative that I found insightful concerning the relationship of art and code: https://tylerxhobbs.com/essays/2019/code-goes-in-art-comes-o...
The aesthetic reason is that it's all form and no content. The difference between a real Mondrian and a generative pseudo-Mondrian is that the real Mondrian is the result of a long process of metaphor and abstraction, while the generative pseudo-Mondrian is a superficial mimic of the result which misses key details in the original and all of the history of the process.
It doesn't have to express some deep truth about the world, but it should express something more interesting than "Look I made a sort-of geometric thing with code."
The philosophical reason is because it's rooted in modernist abstraction, and that's more than a century old now. So mostly it's formulaically repeating an aesthetic based on weightless disembodied abstract repetition that hasn't changed for more than a hundred years. The fact that it's doing it with code and not with something else doesn't rescue it.
The visual result is that it's often stiff, unsurprising, stale, and repetitive. Occasionally you get people who take it to the next level and show real mastery by doing something rich and surprising with it - I'm a fan of Raven Kwok for example, and Jared Tarbell was ahead of the game before he moved on to start Etsy - but they spend months working on their projects. Most people just dabble superficially and never get past the "I made a sort-of geometric thing with code" stage.
tl;dr Most often it's an excuse for yet more hobby coding made by people who are interested in code, but not really interested in art at all.
Edit: This is what I mean: https://pastebin.com/r0n19jZa (Well, except that I inlined functions, and that may be considered bad style.)
You can also generate a shape or a path for every family member modifying a parameter with each member's birthday.
Especially in sizecoding and shaders, if you want any kind of detail, you need procedural generation. Common techniques include fractals and Perlin noise, but there are many others, in 2D and in 3D.
Recently been wondering if Mathematica would be a good way to do this.