Leveraging Zig's Allocators
How Zig's allocators can help manage memory and improve performance
The latest blog posts to take off on Hacker News. 21,819 posts.
How Zig's allocators can help manage memory and improve performance
I regularly complain about OpenTelemetry, so with an aim to be a less useless contributor, today I'm putting pen to paper. If you're an implementer, I ask you to read this and take away the personal bias you might have towards your work, and instead look objectively at the feedback being given.
You can come to McDonalds and order a salad, but you won't. Same with notebooks, you can write NASA-production-grade software in a notebook, but most likely you won't. Notebooks make you lazy, and encourage bad practices.
We discuss streaming and vectored I/O in Postgres 17. This is an important step towards implementing asynchronous I/O in Postgres. In Postgres 17 we do not yet have asynchronous I/O, but we do see a performance benefit from what is essentially a refactoring work around the internal APIs.
A new security issue was discovered that affects the JetBrains GitHub plugin on the IntelliJ platform, which could lead to disclosure of access tokens to third-party sites. The issue affects all IntelliJ-based IDEs as of 2023.1 onwards that have the JetBrains GitHub plugin enabled and configured/in-use.
iTerm2 is a replacement for Terminal and the successor to iTerm
How a 10 year old design choice for Swift’s type checker still haunts us to this day
This post lays out a 4-part roadmap for the borrow checker that I call “the borrow checker within”. These changes are meant to help Rust become a better version of itself, enabling patterns of code which feel like they fit within Rust’s spirit , but run afoul of the letter of its law . I feel fairly comfortable with…
Elixir v1.17 released: set-theoretic data types, calendar durations, and Erlang/OTP 27 support.
This morning, I came accross Cameron Sun’s Probabilistic Tic-Tac-Toe on HN . However, the comments were disappointing, with people proposing probabilistic models, linear programming, minimax algorithms, and heuristic evaluations to develop AI approaches for the game, none of which quite correct. In this post, I’ll…
The RP2040 is a microcontroller made by Raspberry Pi. Unlike their more widely known products, the RP2040 is meant to be embedded in consumer electronics. It's cheap and available in tens of thousands for immediate dispatch from your local Mouser.
Modern processors have instructions to process several bytes at once. Effectively all processors have the capability of processing 16 bytes at once. These instructions are called SIMD, for single instruction, multiple data. It was once an open question whether these instructions could be useful to accelerate common…
From Erlang, to Elixir and now, GLEAM!?
A whistlestop tour of the cool bits of DuckDB
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
The emerging golden age of home-cooked software, barefoot developers, and why the local-first community should help build it
If you've ever seen a discussion of functional programming languages on the Internet, you'll have probably noticed one talking point in particular that comes up frequently. For the sake of generalization, let's make up a hypothetical functional programming language called Gooby. In these discussions, often someone…
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
How character training cultivates traits like curiosity, open-mindedness, and thoughtfulness in Claude using a variant of Constitutional AI.
Don't test in production. Test in simulation!
One of the great strengths of strace as a debugging tool is that it shows you what a program is doing regardless of whether it was compiled with debug info or not. The downside of this is that you …
Event-driven architecture is great, but it can cause a lot of headaches if it is used for the wrong purpose.
Using an odd floating point error to detect emulators
Last week I noticed some unexpected assembly code in a function calling std::unordered_map::find (yes, I know, friends don’t let friends use STL, but that is a topic for another discussion). I decided to investigate a bit and it turned out to be quite a journey. It was a Clang compiler, ARM-based platform, I will use…
How to kill off a top source of browser exploits