Weekend projects: getting silly with C
C is beautiful yet full of horrors. Here's to uncovering its hidden depths.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,116 posts.
C is beautiful yet full of horrors. Here's to uncovering its hidden depths.
In the 1950s, computers did not really interoperate. ARPANET has not yet happened (that would become a thing in the 60s), and every operating system was typically tied to the hardware that was meant to run on. Most communication actually happened over telephone, and no company was more present in that space than the…
Using `mdb` and `pmap` to find the cause of a crash.
This is a visual guide (scroll story) to Vision Transformers (ViTs), a class of deep learning models that have achieved state-of-the-art performance on image classification tasks.
“The audio processing thread is stalling because the client’s implementation of some XAudio2 callback is doing things that can block the thread, such as accessing the disk, synchronizing with other threads, or calling other functions that may block. Such tasks should be performed by a lower-priority background thread…
Every software engineer uses a programming language, usually multiple. Few of us make programming languages. This makes sense, because the work we need to get done can typically be done just fine in the languages that exist. Those already have people making them better. Let's focus on the task at hand.
Patching LLVM Flang to output WebAssembly objects.
Coming back to JavaScript and TypeScript after a few years neck deep in Python and Hack, I kept hitting a number of new, cryptic errors when running NodeJS code in my dev environment:
The price of improving structure
A quiz to see how you compare to language models.
In this post we will implement a data compression program in about 150 lines of Haskell. It will use Huffman coding and handle arbitrary binary files using constant memory for encoding and decoding.
I work in product growth helping people discover and use great software, currently at SurveyMonkey. In the past I've done it at Prismatic (acq. by LinkedIn), Clara Lending (acq. by Sofi), Right Side Up, Hubstaff. I've also enjoyed consulting with interesting companies like DoorDash, Empower, StitchFix, Calm, Dell…
For the past few months, I’ve been curious about two technologies: the Zig programming language and Ethereum cryptocurrency. To learn more about both, I’ve been using Zig to write a bytecode interpreter for the Ethereum Virtual Machine. Zig is a great language for performance optimization, as it gives you fine-grained…
I love raytracers; in fact I’ve written half a book about them. Probably less known is my love for the ZX Spectrum , the 1982 home computer I grew up with, and which started my interest in graphics and programming. This machine is so ridiculously underpowered for today’s standards (and even for 1980s standards), the…
It should have good performance and be able to hold many entries. Reads are more common than writes. I know how I would do it already, but I’m curious about your approach.
Sometimes I just want to put pixels on a screen. I don’t want to think about SDL this or OpenGL that—I just want to draw my pixel buffer and be done.
Laurent Le Brun's blog
Describes a simple Markov chain algorithm to generate reasonable-sounding but utterly nonsensical text, and presents some example outputs as well as a Python implementation.
You may remember from high school what a polynomial is. If so, you may also remember how to multiply two of them. But what if I told you that the method you were taught is slow as F? In this post we will connect polynomials with the Fourier Transform and convolutions, and show you how to multiply polynomials with…
In my puzzle collection , there are many games in which you have to connect points together by edges, making a graph, and the puzzle rules say you must avoid making any loop in the graph. Examples are Net , Slant , and some configurations of Bridges (although not the default one). Loopy and Pearl also care about…
How I created a wall poster of knot diagrams.
Ongoing According to Repology , the latest packaged Git for Windows is version . To keep up with releases of Git for Windows, which includes Git Bash and the Mintty terminal emulator , see github.com/git-for-windows/git/releases or groups.google.com/g/git-for-windows .
gRPC isn't perfect but who is?
One of my favorite game jams is the legendary Js13kGames competition, where participants have one month to make a web browser game that fits in a 13 kilobyte zip file. To put that into perspective,…
Fuzz testing decades-old software can turn up some curious behaviors
Well-run payment systems are developed by engineers who understand what is the best use of their time: to catch unknown unknowns, and to do it fast.
Learn how to use Makefiles to streamline your Terraform and Hugo projects, making environment management and static site generation more efficient.