Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1024

J

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.

Visit the blog
109mentions?
68HN people?
2011–2026first – last linked?
Links on Hacker News per year · peak 16 in 2016

The author on HN?

phleet · 639 karma · member since 2011

Engineer at Figma, formerly Khan Academy, uWaterloo Software Engineering Alum Website: http://jamie-wong.com Twitter: @jlfwong

From their public HN profile, which links to this site.

Most-linked posts?

  1. The Grep Test
    9 people · 12 mentions · first linked 2013-07-12
  2. Ray Marching and Signed Distance Functions
    7 people · 8 mentions · first linked 2016-07-15
  3. Metaballs and Marching Squares
    7 people · 8 mentions · first linked 2014-08-20
  4. Color: From Hex codes to Eyeballs
    7 people · 7 mentions · first linked 2018-04-04
  5. Bezier curves from the ground up
    6 people · 7 mentions · first linked 2017-01-02
  6. Fluid Simulation (with WebGL demo)
    4 people · 5 mentions · first linked 2016-08-05
  7. Metaballs and WebGL
    3 people · 3 mentions · first linked 2016-07-07
  8. The Pit, the Cabin, and the Dance Floor (2020)
    3 people · 3 mentions · first linked 2020-03-04
  9. Bezier Curves from the Ground Up (2016)
    3 people · 3 mentions · first linked 2023-09-03
  10. Bending the Dynamic vs. Static Language Tradeoff
    3 people · 3 mentions · first linked 2016-10-26

What Hacker News says?

  1. 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”
  2. Submitted Color: From Hex codes to Eyeballs as a story · 563 points

    HN discussion
  3. The 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”
  4. Submitted The Grep Test as a story · 284 points

    HN discussion
  5. Related—“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”
  6. Submitted Fluid Simulation (with WebGL demo) as a story · 196 points

    HN discussion
  7. Really liked this one on Bezier curves: http://jamie-wong.com/post/bezier-curves/

    Comment linking /post/bezier-curves/

    on “Curves and Surfaces”
  8. Submitted Metaballs and Marching Squares as a story · 124 points

    HN discussion
  9. Not 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”
  10. Submitted Metaballs and Marching Squares as a story · 109 points

    HN discussion
  11. You'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.”
  12. Submitted What Jamie Wong did at Khan Academy as a story · 108 points

    HN discussion
  13. More 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”
  14. Submitted Metaballs and WebGL as a story · 95 points

    HN discussion
  15. An 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”
  16. Submitted Reverse Engineering Instruments’ File Format as a story · 87 points

    HN discussion
  17. Someone 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”
  18. Submitted The Pit, the Cabin, and the Dance Floor (2020) as a story · 66 points

    HN discussion
  19. This 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”
  20. Submitted Chaining, or why you should stop returning void (2012) as a story · 44 points

    HN discussion
  21. Someone 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”
  22. Submitted Debugging Misadventures: Down the Rabbit Hole as a story · 40 points

    HN discussion
  23. Author 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”
  24. Submitted A potential employee’s guide to Silicon Valley startup equity as a story · 40 points

    HN discussion
  25. Yes 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”
  26. Submitted Something Out of Nothing as a story · 36 points

    HN discussion
  27. > 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”
  28. Submitted Rubber Ducky Logs as a story · 29 points

    HN discussion
  29. I 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”
  30. Submitted Depression and Recovery as a story · 25 points

    HN discussion

Search all of HN for jamie-wong.com

Linked by the same people?