Execution units are often pipelined
In the context of out-of-order microarchitectures, I was under the impression that execution units remain occupied until the µop they’re processing is complete. This is often not the case.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,540 posts.
In the context of out-of-order microarchitectures, I was under the impression that execution units remain occupied until the µop they’re processing is complete. This is often not the case.
What is agentic engineering? - Agentic Engineering Patterns
I recently blogged about discontinuing Positron. I’m trying a different tack with a new experiment, codenamed qbrt, that reuses an existing Gecko runtime (and its existing APIs) while simplifying t…
In order to hide your IP address and to try and limit throttling when web scraping, it might be a good idea to use a proxy such as Tor. This post describes how to use Python based web scraping tools and Tor to hide yourself when scraping websites for data. However, it can also be used more broadly when using Python to…
What am I running inside my bash?
Two years ago, I started out building a new software product. From the start, it would require mobile, web, and backend components to make it work, so I had to make quite a few technology choices. Here is how those turned out.
An introduction to signals: a written version of my talk at RustConf 2023.
How to hash, index, profile, multi-thread, and SIMD your way to incredible speeds.
Create, share, and play with small Electron experiments.
It’s not off-by-one errors.
Reverse-engineering the .car file format used by Apple's asset catalogs and how to parse it without Apple's proprietary tools
The WITH clause adds named subqueries to SQL queries. WITH is also known as Common Table Expression (CTE).
Here's the graph of a toy benchmark 1 of page-aligned vs. mis-aligned accesses; it shows a ratio of performance between the two at different working set sizes. If this benchmark seems contrived, it actually comes from a real world example of the disastrous performance implications of using nice power of 2 alignment…
A long time ago, I spent a few years working on garbage collection in the J9 Java VM. 1 And even though I’ve since done mostly done higher-level stuff, having a deeper knowledge of GC has continued to come in useful.
I gave this talk at JSFoo, Bengaluru, in October 2018. It describes my experience in switching to ReasonML on the Turaku project and how learning to use a statically-typed functional programming language involves much more than learning the language's syntax or features.
Building a native GUI for a cross-platform application is a decades old problem. Nowadays, most people just don't and fallback to using a non-native experience such as Electron instead.
My method for writing code I care about: isolate myself for confidence and energy, eliminate every distraction, then code ruthlessly with no regrets.
Cache rules everything around me. `pyc` files can contain secrets and should not be checked in to source control. Use the standard Python [.gitignore](https://github.com/github/gitignore/blob/master/Python.gitignore).
A remainder and a modulus look so very similar, but they are not the same thing and worse, are treated differently by different programming languages. Do you know how your language handles mod?
Every now and then, when working on ScummVM’s Director engine, I run across a disc that charms me so much I just have to get it working right away....
A tiny, strict, impure, curried, dynamically typed (although that may change), partially applied language with rather peculiar syntax.
python patterns diagram Over the past few months a number of people have come to me for guidance regarding various aspects of Python development, so I ...
After a minute Patrick came back with a small dusty cardboard box. Dave and I stared as Patrick opened it and pulled out a network switch, the old kind from the days when they were made with metal cases. He plugged in the power supply and carefully straightened out a CAT -5 cable to hook the switch up to our network…
The HTML5 Herald
As it so happens, object lifetime tracking (or Memory Reclamation as I prefer to call it) is the current most difficult open problem in sha...
Like Jupyter notebooks, but for any language.