Scheduling in React
In modern applications, user interfaces often have to juggle multiple tasks at the same time. For example, a search component might need to…
Topics /
The most popular blog posts about software engineering on Hacker News. 21,827 posts.
In modern applications, user interfaces often have to juggle multiple tasks at the same time. For example, a search component might need to…
I've built the same webhook consumer three times at three companies. The fourth time, I want a better primitive.
Historically I have worked on many projects related to high-performance Protobuf, be that on the C++ runtime, on the Rust runtime, or on integrating UPB , the fastest Protobuf runtime, written by my colleague Josh Haberman . I generally don’t post directly about my current job, but my most recent toy-turned-product is…
GitHub Actions now offers Arm-hosted runners with images built by Arm for developers to begin building on the latest and most sustainable processors on the market.
A Bloom filter is a data structure designed to tell you, rapidly and memory-efficiently, whether an element is present in a set.
Client-Server Game Architecture | Client-Side Prediction and Server Reconciliation | Entity Interpolation | Lag Compensation | Live Demo
When I was a teenager I played high caliber baseball. I’m competitive to a fault and when I decide I want to be good at something, results usually follow. Now I’m a third year undergrad…
[ Update 10/21/2015: Changed the title from "six lines of C" to "462 bytes of C" to avoid endless arguments about what constitutes a line of C code.]
Never store embeddings in a CSV!
A quick and easy introduction to CUDA programming for GPUs. This post dives into CUDA C++ with a simple, step-by-step parallel programming example.
Grids are great for tactical gameplay of turn-based games because they allow discrete movement steps. That means that you can bind positioning to other resources such as movement points, action points, food, etc. Grids divide the infinite variety of movement options into a few specific ones, which can be considered…
I've taken the week between Christmas and New Year's off this year. I didn't really have anything serious planned, just taking a break from the usual routine. As often happens, I got sucked into doing a project when I received this simple bug report Debian Bug #974011
Loro, our high-performance CRDTs library, is now open source. In this article, we share our vision for the local-first software development paradigm, why we're excited about it, and the current status of Loro.
How to use Go's concurrency to build data-processing pipelines.
Today I am happy to announce that you can find the source for TextMate 2 on GitHub .
In this article, previously part of my new book, we look at the introduction of .NET Core, why it was created, and how it has evolved into .NET 7.
The second part of a three part look at new features in Go 1.20.
TypeScript and JavaScript have steadily evolved over the last years, and some of the habits we built over the last decades have become obsolete. Some might never have been meaningful. Here's a list of 10 habits that we all should break.
Use attrs. Use it. Use it for everything.
Note: This post is out of date. Now that C# 9.0 has been released, an updated version can be found here. C# 9.0 is taking shape, and I’d like to share our thinking on some of the major features we’re adding to this next version of the language. With every new version of C# we […]
In JDK 25, Strings used as keys in immutable Maps can be much faster.
A programming design pattern inspired by category theory
As a fun afternoon challenge, I decided to write a C program that looked nothing like C. Not necessarily obfuscated, though there is a competition for that if you are so inclined.
At Diploid, we have been using Crystal for quite some time now. We would like to share our experience in this interview, answering questions relevant to companies wanting to use Crystal for production.