Top all-time · #2752
Roger Alsing
Personal blog · rogeralsing.comprogramming
Roger Alsing writes Roger Johansson Blog, a personal blog at rogeralsing.com about programming. Since 2008, 28 different Hacker News readers have linked it 30 times, most often “Genetic Programming: Evolution of Mona Lisa”. It is still writing: the last post was on 2026-02-28, and you can follow it by feed.
Too few sampled comments (23) to say how often HN recommends it.?
Why HN links it
HN readers link Roger Alsing's 2008 post on evolving the Mona Lisa from 50 semi-transparent polygons with a genetic algorithm. It is usually cited as the original precedent for later image-reconstruction and generative-art projects.
Summarised by Claude from a sample of 23 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Genetic Programming: Evolution of Mona Lisa11 people · 12 mentions · first linked 2008-12-08
- /2008/12/07/genetic-programming-evolution-of-mona-lisa/6 people · 6 mentions · first linked 2016-04-30
- Wire – Writing one of the fastest .NET serializers2 people · 2 mentions · first linked 2016-08-17
- /2008/12/09/genetic-programming-mona-lisa-faq/2 people · 2 mentions · first linked 2012-12-13
- Genetic Programming: Mona Lisa Source Code and Binaries2 people · 2 mentions · first linked 2008-12-12
- /2008/12/07/genetic-programming-evolution-of-mona-lisa/2 people · 2 mentions · first linked 2025-12-09
What Hacker News says?
Worth pointing out: https://rogeralsing.com/2008/12/07/genetic-programming-evolu... And also a JavaScript version: http://alteredqualia.com/visualization/evolve/
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Show HN: Primitive Pictures”Submitted Mona Lisa in 50 polygons, using a genetic algorithm (2008) as a story · 209 points
HN discussionReminds me a lot of this https://rogeralsing.com/2008/12/07/genetic-programming-evolu...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Show HN: Primitive Pictures”Submitted Genetic Programming: Evolution of Mona Lisa as a story · 111 points
HN discussionLooks like an implementation of http://alteredqualia.com/visualization/evolve/ - one of my favorite web-things ever made. Edit: the "inspiration" for this is the same thing as Altered Qualia, Roger Johansson's post about genetic image evolution https://rogeralsing.com/2008/12/07/genetic-programming-evolu...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Show HN: Primitive Pictures”Submitted The Mona Lisa - A Genetic Algorithm Example as a story · 5 points
HN discussionCool project. But please some attribution! Here is the original concept, source included (2008): https://rogeralsing.com/2008/12/07/genetic-programming-evolu...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Show HN: Primitive for macOS”Submitted Wire – Writing one of the fastest .NET serializers as a story · 3 points
HN discussionNot strictly related, but reminded me of the exercise in genetic programming by Roger Alsing: http://rogeralsing.com/2008/12/07/genetic-programming-evolut... It's a rather cool attempt to draw the Mona Lisa using random, semi-transparent polygons
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Reverse OCR”Submitted Wire – Writing one of the fastest .NET serializers as a story · 2 points
HN discussionI got crazy obsessed with EvoLisa¹ back in the day and although there is nothing in common between that algorithm and those that make up training an LLM, I can't help but feel like they are similar. ¹ https://www.rogeralsing.com/2008/12/07/genetic-programming-e...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “The universal weight subspace hypothesis”Submitted Genetic Programming: Mona Lisa Source Code and Binaries as a story · 1 points
HN discussionA "kind of" compression using polygons: https://rogeralsing.com/2008/12/07/genetic-programming-evolu... I believe it was discussed here a few years back.
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Neural Networks Are Impressively Good at Compression”While this is not exactly a game engine, check this out: http://rogeralsing.com/2008/12/07/genetic-programming-evolut...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Dragon’s Lair – An Arcade Story”And for those interested real GP, see http://rogeralsing.com/2010/02/14/genetic-programming-code-s... That code uses real crossover and a large population in order to crack black boxed formulas.
Comment linking /2010/02/14/genetic-programming-code-smarter-than-you/
on “Mona Lisa in 50 polygons, using a genetic algorithm (2008)”He answers this on the FAQ linked at the top. http://rogeralsing.com/2008/12/09/genetic-programming-mona-l... He just loops over the whole image and does a pixel-by-pixel comparison, taking the difference between each of the R, G, and B channels and summing them all.
Comment linking /2008/12/09/genetic-programming-mona-lisa-faq/
on “Mona Lisa in 50 polygons, using a genetic algorithm (2008)”He answers this in his faq ( http://rogeralsing.com/2008/12/09/genetic-programming-mona-l... ): Q) Is this Genetic Programming?, I think it is a GA or even a hill climbing algorithm. A) I will claim that this is a GP due to the fact that the application clones and mutates an executable Abstract Syntax Tree (AST). Even if the population is small, there is still competition between the parent and the child, the best f…
Comment linking /2008/12/09/genetic-programming-mona-lisa-faq/
on “Mona Lisa in 50 polygons, using a genetic algorithm (2008)”Only 50 semi transparent polygons? I would have thought a lot more would have been needed. Also worth checking out, the gallery with more paintings: http://rogeralsing.com/2008/12/11/genetic-gallery/
Comment linking /2008/12/11/genetic-gallery/
on “Mona Lisa in 50 polygons, using a genetic algorithm (2008)”It looks like it no longer does much progresses after some time. Many years ago I wrote one of those stuff, just a few days after the famous 2008 blog post doing the same ( http://rogeralsing.com/2008/12/07/genetic-programming-evolut... ). However after some time I switched the code to use simulated annealing, and it performed better. I'm running it for a few minutes against the Monalisa image to see what happens. B…
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Grow Your Own Picture – Genetic Algorithms and Generative Art”This guy did the same thing in 2008: http://rogeralsing.com/2008/12/07/genetic-programming-evolut...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Grow Your Own Picture – Genetic Algorithms and Generative Art”Is it similar to this approach - http://rogeralsing.com/2008/12/07/genetic-programming-evolut... - ?
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Show HN: PolyGen App, turn gradients and photos into pretty low poly patterns”- bd · 2009-03-05
It's actually not so bad. It's just JavaScript and maybe my code (I wrote JS version). Roger Alsing (who was the original author and inspiration) did later an optimized compiled parallel version that was able to get Mona Lisa in 1 minute 34 seconds (on a 64 bit 4 core machine). http://rogeralsing.com/2009/01/04/scaling-clustere-evolution... Also there are supposed to be some efforts to run it on GPU, which should be…
Comment linking /2009/01/04/scaling-clustere-evolution-1-1-4/
on “Using evolving images for image compression: 256x256 image in 1k” Both reference http://rogeralsing.com/2008/12/07/genetic-programming-evolut...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Genetic algorithms, Mona Lisa and JavaScript + Canvas”- bd · 2008-12-12
Mine is nothing, try the original program from Robert Alsing. He already released the source code and binaries: http://rogeralsing.com/2008/12/11/genetic-programming-mona-l... From what I have seen, he is doing extra type of mutations that I was too lazy to implement: move polygons in the stack (in addition to changing colors and moving points around). Also how you do mutations matters: it seems smaller deltas are b…
Comment linking /2008/12/11/genetic-programming-mona-lisa-source-code-and-binaries/
on “Evolution of Mona Lisa in JavaScript & Canvas” I studied these issues a lot (copyright, right of publicity, etc), and I think this particular use is fine. You are right that sometimes it is easy to figure out the text from the cloud, just like you can make out a famous photo from a very small 10x10 thumbnail, or draw Mona Lisa in 50 polygons http://rogeralsing.com/2008/12/07/genetic-programming-evolut... or as a single tweet http://www.flickr.com/photos/quasimon…
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Show HN: I Made this Y Combinator T-Shirt (Words from PG's Essays)”This has already been done and much better at that. Don't give props to someone copying anothers work a half year after the fact. Credit and originality goes to : http://rogeralsing.com/2008/12/07/genetic-programming-evolut...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Clojure: Genetic Mona Lisa problem in 250 beautiful lines”Summary: Video Codec based on vectorization of images rather than pixel encoding. Slow, but highly parallel. Not much info. Developers hope to have a codec for commercial use in some number of years. PDF of authors' previous work on still images: http://eprints.gla.ac.uk/47879/1/ID47879.pdf Still too long?: "Mona Lisa in 50 Polygons[1]" Grows Up. ␄ [1] http://rogeralsing.com/2008/12/07/genetic-programming-evolut...
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Vector vengeance: Researchers claim they can kill the pixel within five years”Some variation of https://rogeralsing.com/2008/12/07/genetic-programming-evolu... ? https://github.com/kiirala/approximate_image and http://kennycason.com/posts/2016-06-01-genetic-algorithm-dra... are similar implementations.
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Ask HN: Anyone remember a lib which recreates images from colors?”For historic reference, back in 2008, Roger https://www.rogeralsing.com/2008/12/07/genetic-programming-e... kicked this off by attempting to reproduce the Mona Lisa using evolved polygons. https://news.ycombinator.com/item?id=389727
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Iterative image reconstruction using random cubic bézier strokes”I can't comment on Varini-like approaches, but I also happened to like the TSP work. Other works that are also visually pleasing I would like to mention are: + Roger Alsing's genetic algorithm work on using triangles to represent any images (e.g. Mona Lisa) http://rogeralsing.com/2008/12/07/genetic-programming-evolut... + Artistic word cloud, in particular Tagxedo (my creation, see http://www.tagxedo.com/gallery.htm…
Comment linking /2008/12/07/genetic-programming-evolution-of-mona-lisa/
on “Ask HN: Artistic Image Reconstruction Algorithms”