Retries – An interactive study of request retry methods
An interactive guide to retrying requests: why naive retries overload a failing service, and how exponential backoff and jitter fix it.
The latest blog posts to take off on Hacker News. 21,820 posts.
An interactive guide to retrying requests: why naive retries overload a failing service, and how exponential backoff and jitter fix it.
(New to this series? Consider starting from part 1) At the end of the last post, DbgRs could finally set breakpoints. That was the last really critical feature needed for controlling execution of a program. Now that it can stop on an arbitrary function or code location, the next step is to find more information about…
A little essay on the amusement or horror that may bring to learn that both test and [ are binaries on your typical Unix system, and that [[ is subject to completely different rules.
Github Renamed Me - We will change your SSH keys and you will like it
Fixit is dead! Long live Fixit 2 – the latest version of our open-source auto-fixing linter. Fixit 2 allows developers to efficiently build custom lint rules and perform auto-fixes for their codeba…
2023-12-27—Ars Technica: YOYOZO wins GOTY accolade! almost unbelievable to be listed alongside such games as: Chants of Sennaar, Cocoon, Dave the Diver, Hu...
Did you hear the news? Firefox development is moving from Mercurial to Git . While the decision is far from being mine, and I was barely involved in the small incremental changes that ultimately led to this decision, I feel I have to take at least some responsibility. And if you are one of those who would rather use…
At Sourcegraph, we're inspired by developers that make a difference. Han-Wen Nienhuys, creator of Zoekt, an open source search engine for code based on Google's internal Code Search tool, is one of those inspiring developers.
Programming, Coffee and Indie Hacking
Fast and Portable Llama2 Inference on the Heterogeneous Edge.
As of today, NVK is now an officially conformant implementation of the Vulkan 1.0 API on NVIDIA Turing hardware.
Introducing River, a Postgres-based job queue designed for resilience and correctness through strong transactional guarantees.
Knuth knows how to maintain information hygeine.
Common Lisp programming is often presented as “interactive”. In most languages, modifications to your program are applied by recompiling it and restarting it. In contrast, Common Lisp lets…
6.033, MIT’s class on computer systems, has as one of its catchphrases, “Complex systems fail for complex reasons”. As a class about designing and building complex systems, it’s a reminder that failure modes are subtle and often involve strange interactions between multiple parts of a system. In my own experience…
You can't safely use the C setenv() or unsetenv() functions in a program that uses threads. Those functions modify global state, and can cause other threads calling getenv() to crash. This also causes crashes in other languages that use those C standard library functions, such as Go's os.Setenv ( Go issue ) and Rust's…
Things I Learned From Hundreds of Experiments
In this essay, Carson Gross explores his preference for separating JSON and hypermedia APIs instead of using content negotiation, a feature in HTTP that allows clients to request different formats (e.g., HTML, JSON). He discusses the limitations of content negotiation in APIs, especially when mixing stable, versioned…
I cancelled my annual Replit Hacker plan and I'll let it lapse at the end of December of 2023. Replit is a popular and growing multi lan...
I was going through the release notes of the new Python 3.12 version the other day, and one item caught my attention in the deprecations section:datetime.datetime’s utcnow() and utcfromtimestamp()…
Here’s everything you need to know to build your first LLM app and problem spaces you can start exploring today.
A Lindemayer system or LSystem for short consists of an alphabet of symbols that can be used to make strings, a collection of production that expand each symbol into some larger string of symbols, an initial “axiom” string from which to begin construction, and a mechanism for translating the generated strings into…
Even though I don't respect podcasts as an information delivery system, I recently listened to a podcast that felt like having an epiphany.
Some of us in the GTK team have spent the last month or so exploring the world of linux kernel graphics apis, in particular, dmabufs. We are coming back from this adventure with some frustrations and some successes. What is a dmabuf? A dmabuf is a memory buffer in kernel space that is identified by...
Magic Mouse hack with USB-C charger
Rocket is a web framework for the Rust programming language that makes it simple to write fast web applications without sacrificing flexibility or type safety.
A look into the implementation details of CPython's Global Interpreter Lock (GIL) and how they changed between Python 3.9 and the current development branch that will become Python 3.13.