Instrumenting Python GIL with eBPF
Learn how to measure the impact of Python GIL contention on application latency using eBPF, with real workload examples.
Learn how to measure the impact of Python GIL contention on application latency using eBPF, with real workload examples.
Low level software usually has lots of .cc or .rs files. Even lower-level software, like your cryptography library, probably has .S containing assembly, my least favorite language for code review.
Before the widespread existence of software repositories like CPAN, NPM, and PyPI, developers seeking to reuse an existing algorithm or library of routines would either check books or journals for code, or, they just might post a classified ad:
This is Bob. And I’d like to know the best way for us to code a bunch of models in JAX to use to evaluate parallel algorithms including normalizing flows. I’m going to dump out my current thinking, but I’m really hoping to get feedback from experts on the best way to do this without starting a flame war in the…
Machine Learning has made huge strides in the last few decades, but it remains largely inaccessible to the average developer. This post examines some of the reasons why.
I sometimes find myself asked to give advice on how organisations should go about creating software, but often my advice doesn’t gel with those who sought it. Sometimes that’s because only one answer was ever considered acceptable; sometimes I am ignorant of important wider context and my answer is unworthy of…
Updated (2014-10-24): If you find this article interesting, you may be interested in the follow-up article on an editor for composed programs .
We are announcing a new Crystal release with several new features and bug fixes.
Cliff L. Biffle blogged a great write-up of a debugging odyssey at Oxide with the title Who killed the network switch? Here’s the bit that jumped out at me: At the time that code was written…
Using a glibc version that is different from the system-provided one shouldn't require the use of containers, as I recently heard someone claim. Let's take a look at how dynamic linking works and what the options are.
Write-only blogging
A deep dive into how Reflex works under the hood—from reactive state management to compilation of Python components into React.
It's pretty easy to imagine how to represent relational algebra expressions as a tree—they are already structurally rooted trees where each operator has its...
This is a tutorial series on implementing a basic CPU rasterization engine in C++ from scratch. No GPU involved, just drawing pixels with our bare hands, emulating what the GPU usually does for us.
Astral is taking stewardship of python-build-standalone, Gregory Szorc's foundational project for installing portable Python distributions.
A deep-dive into the fundamental concepts/ideas behind Radiance Cascades.
A follow-up on a previous story, in which we identify another problem, and perhaps confirm a theory through a theorem.
Thinking about thinking when coding, and the differences in what we see in our minds eye
Introduction to bin packing through a simple example of fitting boxes of candy inside a parcel.
In the early-to-mid 2010s, there was a renaissance in languages exploring new ways of doing concurrency. In the midst of this renaissance, one abstraction for achieving concurrent operations that was developed was the “future” or “promise” abstraction, which represented a unit of work that will maybe eventually…
PHP currently powers [~75% of the websites](<https://w3techs.com/technologies/details/pl-php>) on the internet. It may not be the “sexy boi” of programm...
PEP 740 is a Python standard for defining cryptographically verifiable attestations hosted by indices like PyPI.
Next-gen compile-time-checked builder generator, named function's arguments, and more!
A deep dive into Rust’s vec::Drain and its Drop implementation as an example of how ownership prevents subtle bugs—memory and otherwise!
Let's blink an LED on Pine64 Ox64 BL808 64-bit RISC-V Single-Board Computer... With Nim Programming Language and Apache NuttX Real-Time Operating System
Our mission is to train a neural network to model all human output.
I spent this summer building a new app, for a machine that hasn’t been on the market since 1980 and wasn’t built to support graphics, sound, connectivity or even lowercase letters, sold by a company that went bankrupt a decade ago, tailor-made for an audience of one: my dad, who celebrated his 70th birthday this past…
Or the 'Matt Godbolt shows us some compiler magic' edition!
I regularly hear or read statements like this: “X is slow but this is to be expected because it needs to do a lot of work”. It can be said about an application or a component in a larger system, and can refer to other resources that aren’t time. I often find these profoundly unhelpful as they depend much more on the…