Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    2

    29a.ch

    29a.ch · Personal blog · on HN since 2009

    Jonas Wagner publishes browser-based graphics experiments, the Forensically photo analysis tool, and the smartcrop.js image cropping library.

    Visit blogRSSHN submissions
    Web DevelopmentDesign & UXProgramming
    What HN says

    HN links it for visual toys like Neonflames, WebGL demos with slides explaining them, photo forensics, and smartcrop.js.

    Stats for nerds
    29HN people shared it
    20linked in comments
    290story points
    Jul 2020last shared
    2010people per year2020

    Top posts on HN

    1. 1
      Html5 Neonflames
      4 people · 120 points · first shared 2011 · 26 comments on HN
    2. 2
      Two line fix to speed up canvas performance on iPhone4
      2 people · 63 points · first shared 2011 · Discussion on HN
    3. 3
      JS Wars
      1 person · 34 points · first shared 2009 · 10 comments on HN
    4. 4
      Smartcrop.js (2014)
      1 person · 33 points · first shared 2016 · 9 comments on HN
    5. 5
      Forensically, Photo Forensics for the Web (2015)
      1 person · 12 points · first shared 2021 · 1 comments on HN
    6. 6
      Image Error Level Analysis with HTML5
      3 people · 7 points · first shared 2012 · Discussion on HN
    7. 7
      Forensically, free online photo forensics tool
      4 people · 6 points · first shared 2015 · 1 comments on HN
    8. 8
      HTML5 Canvas Fluid Simulation
      1 person · 3 points · first shared 2013 · 2 comments on HN
    9. 9
      Minecraft-like voxel world demo in javascript and WebGL
      1 person · 3 points · first shared 2012 · Discussion on HN
    10. 10
      Normal Mapping with Javascript and Canvas Tag
      4 people · 2 points · first shared 2010 · 1 comments on HN

    What HN people wrote when they linked it

    • aleyanNov 2013

      Preface: I have no experience in 3D graphics.

      This is a very cool technique. I have been thinking about how to generate normal maps for traditionally drawn 2D images ever since seeing the normal mapped canvas demo[1]. This seems to be an answer.

      Drawing lighting profiles that are coherent however does not seem simple. One of the uses of this technique "Depth maps for stereoscopic 3D" appears much more complicated to me that drawing a depth map by hand in the first place. I drew a depth map for my drawing Starry Venice[2] as a step in making it into a wigglegif. Drawing multiple correct light profiles to generate the depth map for a scene such as Starry Venice seems almost impossible to me. This is far from the base use-case, but still.

      It will be interesting to see how forgiving the creation of the normal map will be on imperfect light profile inputs. Also, it will be interesting to see if any artists who are masters of this technique will emerge.

      [1] http://29a.ch/2010/3/24/normal-mapping-with-javascript-and-canvas-tag
      [2] http://fooladder.tumblr.com/post/61216111704/starry-venice

    • kevinJun 2015

      Pretty cool, but I got lost in the credits.

      "Inspired by and based on Jonas Wagner's work which is based on this paper."

      http://29a.ch/2010/2/10/hand-drawn-lines-algorithm-javascript-canvas-html5

      https://www.rug.nl/research/portal/files/2743863/2008ProcCAGVIMeraj.pdf

      From the abstract:

      "We found that an observational analysis of human lines made a bigger impact on the algorithm than a statistical analysis. "

      Can someone explain what that means?

      Also, the University of Groningen is located in the Netherlands. Cool. Thanks Dutch computer scientists!

    • imaginenoreOct 2015

      > the test cases look just as good as I could do

      I think you can do better than it did on these:

      http://29a.ch/sandbox/2014/smartcrop/examples/images/65344435.jpg

      http://29a.ch/sandbox/2014/smartcrop/examples/images/65309527.jpg

      http://29a.ch/sandbox/2014/smartcrop/examples/images/65443239.jpg

      http://29a.ch/sandbox/2014/smartcrop/examples/images/28155975.jpg

      http://29a.ch/sandbox/2014/smartcrop/examples/images/64843515.jpg

      http://29a.ch/sandbox/2014/smartcrop/examples/images/64765319.jpg

    • jw1224Jul 2020

      I played with this for ages in the peak of an LSD trip once... It was quite the experience.

      Some other fun "art toys" I like are:

      1. https://29a.ch/sandbox/2011/neonflames/

      2. https://codepen.io/davidpanik/full/myMrLx/

      3. https://codepen.io/jackrugile/full/DGenc

    • tyingqMay 2017

      Not much newer, but I like the in-depth slides that cover how it was done:

      The effect: https://29a.ch/sandbox/2012/terrain/

      The slides that explain: https://29a.ch/slides/2012/webglwater/

    • deepnetMar 2016

      Deferring a Phong shader gives 'good enough' dynamic lighting for 2D dynamic sprite lighting and is fast.

      https://29a.ch/2010/3/24/normal-mapping-with-javascript-and-canvas-tag

    Related

    AlteredQualiaalteredqualia.com55 people

    Realistic Skin Rendering in WebGL

    AlteredQualia
    Personal · last shared 2025
    Jacob Seidelinnihilogic.dk22 people

    JavaScript Super Mario Kart

    Jacob Seidelin
    Personal · last shared 2014
    Performance Calendarcalendar.perfplanet.com123 people

    HTML and CSS techniques to reduce your JavaScript

    Performance Calendar
    Publication · last shared 2026
    Benedikt Bitterlibenedikt-bitterli.me28 people

    GPU Fluid

    Benedikt Bitterli
    Personal · last shared 2024
    Flickr Code Blogcode.flickr.net102 people

    Flickr – A Year Without a Byte

    Flickr Code Blog
    Company · last shared 2026
    antimatter15antimatter15.com19 people

    The Ambiguity of Open and H.264 vs. VP8

    antimatter15
    Personal · last shared 2026
    Mr.doobmrdoob.com108 people

    Realtime Three.js Coding

    Mr.doob
    Personal · last shared 2026
    WebKit Blogwebkit.org723 people

    Face ID and Touch ID for the Web

    WebKit Blog
    Company · last shared 2026