R

Roger Alsing

rogeralsing.com · Personal blog · on HN since 2008

Roger Alsing is a .NET developer who writes about genetic programming, including his Mona Lisa polygon experiment, and fast .NET serializers.

What HN saysHN links it as the origin of the Mona Lisa evolution experiment. Commenters point to its FAQ on whether it counts as genetic programming, and its gallery.
28HN people shared it
22linked it in comments
6stories submitted
331story points
10 months agolast shared
2008people per year2026

Most-shared posts

  1. 1
    Mona Lisa in 50 polygons, using a genetic algorithm (2008)
    20 people · 325 points · first shared 2008 · 53 comments on HN
  2. 2
    Wire – Writing one of the fastest .NET serializers
    2 people · 5 points · first shared 2016 · discussion on HN
  3. 3
    Genetic Programming: Mona Lisa Source Code and Binaries
    2 people · 1 points · first shared 2008 · discussion on HN
  4. 4
    Genetic programming mona lisa faq
    2 people · first shared 2012
  5. 5
    Genetic gallery
    1 people · first shared 2012
  6. 6
    Scaling clustere evolution 1 1 4
    1 people · first shared 2009
  7. 7
    Genetic programming code smarter than you
    1 people · first shared 2012

What HN people wrote when they linked it

web007 · 2016-09-20
Looks 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-evolution-of-mo…
michaels0620 · 2012-12-13
He answers this in his faq (http://rogeralsing.com/2008/12/09/genetic-programming-mona-lisa-faq/): 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 fit of the two will survive.
gregschlom · 2012-12-12
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/
seg_lol · 2026-01-19
For historic reference, back in 2008, Roger https://www.rogeralsing.com/2008/12/07/genetic-programming-evolution-o… kicked this off by attempting to reproduce the Mona Lisa using evolved polygons. https://news.ycombinator.com/item?id=389727
joquarky · 2025-12-09
I 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-evolution-o…
fufjfkrmew22 · 2016-11-15
Cool project. But please some attribution! Here is the original concept, source included (2008): https://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mo…
kaffeinecoma · 2016-04-30
A "kind of" compression using polygons: https://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mo… I believe it was discussed here a few years back.
jparishy · 2014-11-05
Not strictly related, but reminded me of the exercise in genetic programming by Roger Alsing: http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mon… It's a rather cool attempt to draw the Mona Lisa using random, semi-transparent polygons
sounds · 2014-05-22
While this is not exactly a game engine, check this out: http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mon…
shmageggy · 2012-12-13
He answers this on the FAQ linked at the top. http://rogeralsing.com/2008/12/09/genetic-programming-mona-lisa-faq/ 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.
RogerAlsing · 2012-12-13
And for those interested real GP, see http://rogeralsing.com/2010/02/14/genetic-programming-code-smarter-tha… That code uses real crossover and a large population in order to crack black boxed formulas.
jws · 2012-12-12
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-evolution-of-mon…
HardyLeung · 2011-05-24
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-evolution-of-mon… or as a single tweet http://www.flickr.com/photos/quasimondo/3518306770/
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-1-1-4/ Also there are supposed to be some efforts to run it on GPU, which should be even faster.
toodlestech · 2009-01-26
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-evolution-of-mon…
antirez · 2014-12-06
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-evolution-of-mon… 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. Btw I had a plan to release the code after some cleanup, maybe tonight is the right moment after 6 years of this code hanging on my HD. EDIT: after 6 minutes (64 shapes) -> http://imgur.com/gyZCjBD EDIT2: after ~15 minutes -> http://imgur.com/5XMU8vH Now trying using just triangles, again with 64 shapes, I remember it was much better than when using circles for most images. EDIT3: Oh, much better now, after 6 minutes (64 triangles) -> http://imgur.com/x9E9TmK EDIT4: 10 minutes more and she got a nose: http://imgur.com/bX8UTIQ EDIT5: Code released! https://news.ycombinator.com/item?id=8710418

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close