A flowing WebGL gradient, deconstructed
An introduction to writing WebGL shaders using gradient noise and cool math.
The latest blog posts to take off on Hacker News. 4,109 posts.
An introduction to writing WebGL shaders using gradient noise and cool math.
The Ivory Tower is a blog about software engineering and development philosophy by Anders Sundman.
On April 9, 2025, someone risked $2.5 million on SPY call options—and walked away with $70+ million in under an hour. The trade was placed at 1:01 pm. At 1:30 pm, Trump announced tariff pauses. The market exploded upward. These options that cost 85 cents were suddenly worth more than $25.
I am experimenting a bit with a new article format: instead of an overarching theme, this is more of a collection of smaller bits and pieces, sewn together.
Neither OpenAI nor Anthropic have a chance at this point
Websockets are powerful tools that have become a fan-favorite for building realtime applications, but you might be using them for all the wrong reasons. Let's explore the pitfalls of websockets and how we can use plain old HTTP to get the same job done.
Why clear communication—not clever prompts—is your real AI superpower
My role at Google was eliminated.
Mike Kohn's music, software, and electronics projects.
# TLDR Datastar is a new hypermedia framework that makes building real-time web applications simpler and more efficient. It prioritizes server-side logic, uses “signals” for automatic UI updates, and leverages Server-Sent Events for lightning-fast performance. If you’re looking for a streamlined alternative to…
I used to think that the big idea of Erlang is its lightweight processes and message passing. Over the last couple of years I’ve realised that there’s a bigger insight to be had, and in this post I’d like to share it with you.
Personal website of Doğaç Eldenk.
But what if I really want a faster horse? | exotext
The qualities you value most in engineers are also creating your biggest problems. Here’s how to handle this paradox.
A blog about computers, functional languages, Lisp, and Scheme.
Wait, wasn't this solved by the Romans? Anyway, my grandma ate lead paint and she was totally fine.
When I was a really small kid, one of my favorite activities was to try and dam up the creek in my backyard. I would carefully move rocks into high walls, pile up leaves, or try patching the holes with sand. The goal was just to see how high I could get the lake, knowing that if I plugged every hole, eventually the…
The Story Behind 100 Go Mistakes and How to Avoid Them
Several years ago, I spent a serious chunk of time figuring out how to make really teensy ELF executable files. I started down this path because I was annoyed that all of my programs, no matter how short they were, never got smaller than 4k or so. I felt that was excessive, for C, and so I started looking at what ELF…
Clarifying the shebang (#!) mechanism: A step-by-step look using strace and kernel code shows how Linux handles script execution directly, revealing the shell isn't involved initially.
I’ve found a way to configure private, custom domains for web-apps I have running on my computer. So instead of having to remember and type “localhost:4333”, I can simply navigate to “appname.localhost”. I love it!
The first part of what I hope to be an ongoing series about repatriating and owning my own data and tech. In this post, I describe how I integrated my own self-
One thing I love about Python is how it comes with its very own built-in zen. In moments of tribulations, when I am wrestling with crooked code and tangled thoughts, I often find solace in its timeless wisdom. Here's a glimpse of the clarity it provides:
About three years ago, I set up a tiny netcat loop on one of my Debian servers to accept arbitrary connections from the Hacker News (HN) community. The loop ran for 24 hours and did exactly three things whenever a client connected:
Visual Effects Supervisor - Scott Squires Visual Effects Director of Photography - Patrick Sweeney The effects for this movie were orig...
Part 3 of my 12-year journey—what my first rocky job taught me about boundaries and value.
Someone online was solving Advent of Code problems, and had a question about last years’ day 3 . They had a working solution using regular expressions (regexes) on String values, but they wanted to use ByteString values instead for performance reasons. They were surprised, however, that there seems to be a lack of…