Game servers: UDP vs TCP
When writing networked games, the question of UDP vs TCP will eventually come up. Typically you will hear people say things like: “Unless you’re doing action games, you can use TCP̶…
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 1,232 posts.
When writing networked games, the question of UDP vs TCP will eventually come up. Typically you will hear people say things like: “Unless you’re doing action games, you can use TCP̶…
The previous post described [motherboards and the memory map] memory-map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair - fun st
TigerBeetle is an Online Transactional Processing (OLTP) database built for double-entry accounting with a strong emphasis on safety and speed. It builds on the Viewstamped Replication (VR) consensus protocol to offer Strong Serializable consistency. Unlike general-purpose databases, TigerBeetle stores only accounts…
There has been much discussion of using the Rust language in the Linux kernel (for example, here , here , and here ), at the Kangrejos Rust for Linux Workshop ( here , here , and here ) and 2021 Linux Plumbers Conference had a number of sessions on this topic, as did Maintainers Summit . At least…
How viewers are able to watch their favorite show on Netflix while the infrastructure self-recovers from a system failure
News and insights on the Android platform, developer tools, and events.
Why developers rarely use state machines, seeing them as overkill until it's too late to switch, and what the state_machine gem did for CrowdHired.
Ncdu (NCurses Disk Usage) is a terminal-based disk usage analyzer for Linux and other POSIX-y systems, (formerly) written in C and available in the package repositories of most distributions.
It is difficult to write software which reliably and safely manages processes on Unix; this is because of flaws in the API. I know of no Unix system which has solved these problems, but in this article I'll be specifically talking about the Linux process API.
See how Netlify rebuilt Edge Functions on MicroVMs to deliver lower latency, greater reliability, and faster log delivery.
Have you ever run gitk and waited a few seconds before the window appears? Have you struggled to visualize your commit history into a sane order of
WebVM, our virtual Linux environment running fully client-side in the browser, now supports networking via Tailscale.
Kubernetes has had a very basic form of network plugins since before version 1.0 was released — around the same time as Docker's libnetwork and Container Network Model (CNM) was introduced. Unlike libnetwork, the Kubernetes plugin system still retains its "alpha" designation. Now that Docker's network plugin support…
Corrosion is distributed service discovery based on Rust, SQLite, and CRDTs.
After running this command, PID 1 is hung in the pause system call. You can no longer start and stop daemons. inetd-style services no longer accept connections. You cannot cleanly reboot the system. The system feels generally unstable (e.g. ssh and su hang for 30 seconds since systemd is now integrated with the login…
AVAILABLE NOW OpenAI, Anthropic, and Chrome ship it. Apple deprecated it. Nobody documented it. Until now. → sandbox-exec: The Miss...
As an engineer who primarily works with data and databases I spend a lot of time moving data around, hashing it, compressing it, decompressing it and generally trying to shovel it between VMs and blob stores over TLS. I am constantly surprised by how many systems only support slow, inefficient, and expensive ways of…
StripedHyena-7B is an open-source model built beyond the Transformer architecture, matching Llama-2 and Mistral 7B while running faster on long sequences.
Building a lock free continuous ring buffer
In the past few weeks, I reviewed USB drive performance on the Raspberry Pi 4, and the importance of UASP support for USB drive performance. Both posts generated great discussion, and there were three things I wanted to cover in this follow-up, namely: Which drives support UASP Real-world performance benchmarks TRIM…
SQLite is an embedded SQL database. It’s extremely easy to setup, buildable as a single C file with libraries existing for basically all common programming languages. It doesn’t need any server setup or configuration since the SQL logic is run in the host process, and the database consists of only
You only need to learn a little bit of queueing theory before you start getting that ecstatic “everything is connected!” high that good math always evokes. So many damn things follow th…
The `ldd` utility is more vulnerable than you think. It's frequently used by programmers and system administrators to determine the dynamic library dependencies of executables. Sounds pretty innocent, right? Wrong! In this article I am going to show you how to create an executable that runs arbitrary code if it's...
Get the latest product news, company announcements, and user insights from the official Reddit blog.
8 April 2019 by Phillip Johnston • Last updated 22 August 2022For most programmers, a C or C++ program’s life begins at the main function. They are blissfully unaware of the hidden steps that happen between invoking a program and executing main. Depending on the program and the compiler, there are all kinds of…
AWK As A Major Systems Programming Language — Revisited