Adding type safety to object IDs in TypeScript
Learn how to add type safety to object IDs in a TypeScript codebase using template literal types.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
Learn how to add type safety to object IDs in a TypeScript codebase using template literal types.
It’s common knowledge that reflection in .NET is slow, but why is that the case? This post aims to figure that out by looking at what reflection does under-the-hood.
In my previous post , I explored how programming with promises can be made close to programming with values. After some more work on it, and some learning from bluebird , I came to conclude that my brain doesn’t think well with promises. So I wrote a macro for Javascript that expands “tasks” into async state machines…
Recently NixOS was posted to the Haskell reddit, and seems to have been received well. In the comments I mentioned that NixOS allows me to be a more productive Haskell developer, and I would like to discuss how I am using the features offered by NixOS. Before we get into those details, allow me to briefly summarise…
The futex ( f ast u serspace mu tex ) is a Linux kernel feature designed for synchronization primitives (mutexes, condition variables, semaphores, etc.). Like many topics in concurrency, they have a reputation for being tricky (for example, see the paper Futexes Are Tricky ). Despite that, they really are a…
How I build a website for choosing movies
speed up your Python using Rust
Smart people tell you never, ever to rewrite an entire system from scratch. They're right. But if you do, here are tips that will help.
Say you run an online book store and want to build a data pipeline that figures out who the top-selling authors are. Logically, the input to the pipeline is a log of every individual book purchase on the store for all time, along with details about each book like who authored it. And the output is a list of the…
I recently learned an interesting fact about Fibonacci numbers while watching a random number theory video on YouTube. Fibonacci numbers can be used to approximately convert from miles to kilometers and back. Here is how. Take two consecutive Fibonacci numbers, for example 5 and 8. And you're done converting. No...
Welcome to Learning Zig, an introduction to the Zig programming language. This guide aims to make you comfortable with Zig. It assumes prior programming experience, though not in any particular language.
Combinatorics is a branch of mathematics that deal with counting of discrete structures. Two concepts that often come up in the study of c...
Overview I’ve decided to start a series of blog posts to cover some details about scx_rustland , my little Linux scheduler written in Rust ...
Since the earliest days of Mac OS X, Apple has complied with the licenses for the dozens of open source components it includes in the OS by posting (sometimes a little belatedly) updated versions of the source code to its Open Source at Apple web page.This resource is useful primarily to developer
Traits Deep Dive, Part 2
The printed copies of Version Control by Example arrived last week. We moved seven tons of books into our fourth-floor office space and all the tenants on the third floor are still alive.
For a real-life implementation, see how Racket's math/number-theory does it here .
Compute enormous Fibonacci numbers in milliseconds using this one weird trick
This blog is written by Hanno Böck. Unless noted otherwise, its content is licensed as CC0 .
Questions I'm asking in interviews
Formal verification gates for AI coding loops, in the language you're already shipping.
Thoughts on FOSS and fintech, layered by Mahmoud Hashemi
I teach in a small high school in southeast Alaska, and each year I teach an Introduction to Programming class. I recently learned how to use IPython Notebook, and it has completely changed the way…
Last year, I was lucky enough to be gifted a Gameboy Color in great shape. Apart from its intended gameplay features, I also wanted to try and build something meaningful with it, so I made this application to control my air-conditioner over its existing, reverse-engineered infrared protocol.