D
Demoseen
demoseen.com · Personal blog · on HN since 2011
Demoseen is a developer who builds WebGL and JavaScript demos, cellular automata playgrounds, and tricks like packing code into PNG files.
What HN saysCommenters enjoy playing with his Langton's ant playground, share their favorite patterns, and describe his PNG packing as an efficient way to ship web demos.
20HN people shared it
17linked it in comments
8stories submitted
364story points
8 years agolast shared
2011people per year2026
Most-shared posts
- 1Show HN: My weekend project, a graphics/cellular automata playground6 people · 56 points · first shared 2011 · 16 comments on HN
- 2Superpacking JavaScript Demos3 people · 3 points · first shared 2016 · discussion on HN
- 3Hacking hotel locks with Arduino3 people · 2 points · first shared 2012 · discussion on HN
- 4Magister.png3 people · first shared 2012
- 5Show HN: My first WebGL demo, the first self-extracting PNG ever?2 people · 101 points · first shared 2011 · 55 comments on HN
- 6Langton2 people · first shared 2013
- 7Fl0wer.png.html1 people · 111 points · first shared 2012 · 73 comments on HN
- 8Show HN: WebGL Enabler for iOS1 people · 79 points · first shared 2012 · 57 comments on HN
- 9Fret.js: Procedural Fretboard Generator1 people · 12 points · first shared 2014 · 10 comments on HN
- 10Bhtalk2.pdf1 people · first shared 2012
- 11Bridge.js:2973:391 people · first shared 2017
- 12Mri1 people · first shared 2012
- 13Homepage1 people · first shared 2011
- 14Magister.test1 people · first shared 2011
- 15Conc1 people · first shared 2011
What HN people wrote when they linked it
daeken · 2016-08-10
I abused this concept to compress demo code in PNG files, with great success. http://demoseen.com/blog/2011-08-31_Superpacking_JS_Demos.html
This is, at present, the most efficient way to pack demos on the web; a few characters of uncompressed bootstrap code, then the rest is deflated.
cezarywojcik · 2014-09-04
After playing with this a good bit, here's my favorite:
http://demoseen.com/langton/#@@1o..+..-1o..+..-<>..$.^
It makes a cloth/napkin, and then slowly absorbs blood from the four corners.
redthrowaway · 2011-07-16
I like the demo on the "front page", as well: http://demoseen.com/
It crashes though, when you run it with this hash: 0FP$9jj!i1!!!DPD!t!!!!!~ It spun up 5M threads before it died, which was admittedly fun to watch.
topherjaynes · 2011-02-28
Maciek416 · 2011-02-28
This is awesome. I'd love to add color generation options.
Here's my favorite so far:
http://demoseen.com/langton.html#*/*/*/*/*/*/*/*/*/*/....
[EDIT: and its cousin: http://demoseen.com/langton.html#*/*/*/*/*/*/*/*/*/*/....+-+-+-+-+-+-+… ]
jjarmoc · 2015-04-04
I first learned about this technique from Cody Brocious' post (http://daeken.com/superpacking-js-demos) about his WebGL demo 'Magister' (http://demoseen.com/windowpane/magister.html). That file has a .html extension, but it's also a valid PNG. In his post, he discusses this technique as well as others.
Cody's goal was to compress already minified WebGL code and achieve some pretty impressive results from a ridiculously small file for a demo contest. He also put the JS loader (which is much smaller than the linked decoder) in a custom chunk on the PNG itself. By doing it that way, you can have a PNG that when renamed also contains a web page and/or more Javascript.
It's an interesting technique, for sure, but I've never been able to find a real use for it beyond the compression. With a content-type sniffing vulnerability or something, it could be an interesting way to deliver content to browsers, but otherwise it's really just a curiosity as best I can tell.
notadog · 2018-09-10
If you think that this is interesting, you should check out Daeken's Magister: http://demoseen.com/windowpane/magister.png.html
It's a PNG that's interpreted as HTML and loads itself as compressed JavaScript!
sigvef · 2016-08-06
You can even cleverly use the image data as a free compressed binary data store, useful for e.g. reducing file size of single-file demos: http://demoseen.com/blog/2011-08-31_Superpacking_JS_Demos.html
ygra · 2013-09-27
You mean like this?
http://demoseen.com/windowpane/magister.png.html
(I'm not the creator, I just happen to share an IRC channel with them.) There is a description of how it works at http://daeken.com/superpacking-js-demos
paupino_masano · 2012-12-06
If you haven't seen his original paper regarding this it can be found here: http://demoseen.com/bhpaper.html
Also, slides for his talk at Blackhat: http://demoseen.com/bhtalk2.pdf
kanzure · 2012-09-14
I once worked with Cody (daeken) when he was reverse engineering the Emotiv EPOC headset, he's definitely top notch. It turns out he does other things: http://demoseen.com/portfolio/
markpercival · 2012-09-13
Yeah, this is what I found fascinating in your paper(http://demoseen.com/bhpaper.html). I had always wondered how they invalidated the old keys automatically.
greyfade · 2012-07-06
If you think that's cool, look at Daeken's Magister: http://demoseen.com/windowpane/magister.png.html
A PNG that's interpreted as HTML and loads itself as compressed JavaScript!
wlievens · 2011-02-28
Nice. I like the "organic" feel of the images you get.
http://demoseen.com/langton.html#+/.<..<....++......<....<…
chaosfox · 2011-02-28
awesome, I made a virus: http://demoseen.com/langton.html#+>$!-=
Wilduck · 2011-02-28
Tiny circles: http://demoseen.com/langton.html#/<./<...
kstenerud · 2017-10-14
hmm it breaks on Chrome on mac os:
System.Exception: TypeError: Cannot read property 'viewport' of null
at ctor.Resize (http://demoseen.com/bridge/WebArena.js:180:37)
at new ctor (http://demoseen.com/bridge/WebArena.js:158:22)
at Function.Main (http://demoseen.com/bridge/WebArena.js:119:13)
at http://demoseen.com/bridge/bridge.js:2973:39
at HTMLDocument.delayfn (http://demoseen.com/bridge/bridge.js:481:21)
at HTMLDocument.listenHandler (http://demoseen.com/bridge/bridge.js:498:30)