Top all-time · #1024
Jamie Wong
Personal blog · jamie-wong.com · on HN as phleetprogrammingwebstartups
Jamie Wong's personal blog at jamie-wong.com covers programming, web and startups. Since 2011, 68 different Hacker News readers have linked it 109 times, most often “The Grep Test”. The last post was in 2024, but the archive is still widely read.
Most-linked posts?
- The Grep Test9 people · 12 mentions · first linked 2013-07-12
- Ray Marching and Signed Distance Functions7 people · 8 mentions · first linked 2016-07-15
- Metaballs and Marching Squares7 people · 8 mentions · first linked 2014-08-20
- Color: From Hex codes to Eyeballs7 people · 7 mentions · first linked 2018-04-04
- Bezier curves from the ground up6 people · 7 mentions · first linked 2017-01-02
- Fluid Simulation (with WebGL demo)4 people · 5 mentions · first linked 2016-08-05
- Metaballs and WebGL3 people · 3 mentions · first linked 2016-07-07
- The Pit, the Cabin, and the Dance Floor (2020)3 people · 3 mentions · first linked 2020-03-04
- Bezier Curves from the Ground Up (2016)3 people · 3 mentions · first linked 2023-09-03
- Bending the Dynamic vs. Static Language Tradeoff3 people · 3 mentions · first linked 2016-10-26
What Hacker News says?
Not for me (android firefox). If webGL uses facilities not available on your GPU, it well doesn't work. That's likely it, and we've just not seeing the error message. e.g. my phone lacks float textures (i.e, to render-to-texture to output floating point calculations), so this fluid simulation doesn't work http://jamie-wong.com/2016/08/05/webgl-fluid-simulation/ (not a guess; I've been through the source, reimplement…
Comment linking /2016/08/05/webgl-fluid-simulation/
on “Sandspiel – A falling sand game built in Rust and WebGL”Submitted Color: From Hex codes to Eyeballs as a story · 563 points
HN discussionThe basis if this article (and its forebear "Too DRY - The Grep Test"[1]) is that grep is fragile. It's just fragile in a way that's different from the way that IDEs are fragile. 1. < http://jamie-wong.com/2013/07/12/grep-test/ >
Comment linking /2013/07/12/grep-test/
on “Greppability is an underrated code metric”Submitted The Grep Test as a story · 284 points
HN discussionRelated—“Too DRY - The Grep Test” by Jamie Wong: http://jamie-wong.com/2013/07/12/grep-test/
Comment linking /2013/07/12/grep-test/
on “Greppability is an underrated code metric”Submitted Fluid Simulation (with WebGL demo) as a story · 196 points
HN discussionReally liked this one on Bezier curves: http://jamie-wong.com/post/bezier-curves/
Comment linking /post/bezier-curves/
on “Curves and Surfaces”Submitted Metaballs and Marching Squares as a story · 124 points
HN discussionNot on my older phone which lacks OpenGL ES 3.2, usually needed by these webgl fluid sims (they compute by rendering to a float texture). A simpler one, and without fancy lighting, but with a code walkthrough/tute http://jamie-wong.com/2016/08/05/webgl-fluid-simulation/ ... also doesn't work on my phone. :(
Comment linking /2016/08/05/webgl-fluid-simulation/
on “WebGL Fluid Simulation”Submitted Metaballs and Marching Squares as a story · 109 points
HN discussionYou're asking for code that passes The Grep Test: http://jamie-wong.com/2013/07/12/grep-test/
Comment linking /2013/07/12/grep-test/
on “Write code. Not too much. Mostly functions.”Submitted What Jamie Wong did at Khan Academy as a story · 108 points
HN discussionMore than you ever wanted to know, in one well-illustrated blog post: http://jamie-wong.com/post/color/
Comment linking /post/color/
on “Building your color palette”Submitted Metaballs and WebGL as a story · 95 points
HN discussionAn alternative method (with potentially different applications) that I found interesting. The visual aids in both articles are very good. http://jamie-wong.com/2014/08/19/metaballs-and-marching-squa...
Comment linking /2014/08/19/metaballs-and-marching-squares/
on “Show HN: Metaballs”Submitted Reverse Engineering Instruments’ File Format as a story · 87 points
HN discussionSomeone else already mentioned the book of shaders (which is the single best introductory resource IMO) - aside from that, I've found that reverse-engineering existing shaders and reapplying the learnings to my own shaders has been very helpful. With time, you start developing an eye for which shaders are just one or two steps beyond your understanding. You'll also start noticing that certain users (such as @Shane)…
Comment linking /2016/07/15/ray-marching-signed-distance-functions/
on “Planet Shadertoy”Submitted The Pit, the Cabin, and the Dance Floor (2020) as a story · 66 points
HN discussionThis program utilizes a powerful technique called raymarching , raytracing's big brother. Instead of tracing along each ray in tiny fragments and returning intersections, the ray is 'marched' in larger steps, vastly increasing render speed (the downfall of classical raytracers). How do we 'march' rays without missing geometry? With the aid of signed distance functions , geometric equations which take an arbitrary po…
Comment linking /2016/07/15/ray-marching-signed-distance-functions
on “Marble Marcher: ray-traced real time game on the surface of evolving fractals”Submitted Chaining, or why you should stop returning void (2012) as a story · 44 points
HN discussionSomeone wrote a post a while back about this topic and called it the grep test. See: http://jamie-wong.com/2013/07/12/grep-test/ It's funny that you mention the Java ecosystem as one of the worst offenders, since the nature of the language itself and the culture around best practices in the early days should have put it in a particularly favorable position here. This is covered partly in another great post titled "J…
Comment linking /2013/07/12/grep-test/
on “How to reduce the cognitive load of your code”Submitted Debugging Misadventures: Down the Rabbit Hole as a story · 40 points
HN discussionAuthor here -- I'm glad you like the post! There are more like you describe out there, though they tend to be scattered around the Internet. https://jvns.ca/ often gets mentioned on HN and has a large volume of posts that follow the format "let's assume both you and I don't know anything - how do we figure this out?". http://jamie-wong.com/ , a coworker, has a few good ones on graphics/numerical stuff. Characterizin…
Comment linking /
on “A Simple Approach to Building a Real-Time Collaborative Text Editor”Submitted A potential employee’s guide to Silicon Valley startup equity as a story · 40 points
HN discussionYes I like it too. I think this one is better because we also get the math. http://jamie-wong.com/post/bezier-curves/
Comment linking /post/bezier-curves/
on “Secrets of smooth Béziers”Submitted Something Out of Nothing as a story · 36 points
HN discussion> I've had a very similar experience in my career so far as a dev. My code used to be full of magic, auto-guessing things based on how methods are named, etc. I've moved away from that, it wastes more time than it saves. Speaking of magic or trying to be too clever with your code reminds me of the Grep Test [0], which I always try to conform. In the end it's not fun forcing others to deal with your magic. Remember:…
Comment linking /2013/07/12/grep-test/
on “Webpack 2.2 – Release Candidate”Submitted Rubber Ducky Logs as a story · 29 points
HN discussionI like https://github.com/evanw/lightgl.js learnt from https://jamie-wong.com/2016/08/05/webgl-fluid-simulation/#im... the elegant lightgl.js, which is an abstraction layer on top of WebGL that makes it much nicer to work with. Unlike THREE.js, it doesn’t make any assumptions about you wanting any concept of a camera or lighting or that you’re working in 3D at all.
Comment linking /2016/08/05/webgl-fluid-simulation/
on “Show HN: Shadeup – A language that makes WebGPU easier”Submitted Depression and Recovery as a story · 25 points
HN discussion