Say “no” to import side‐effects in Python
When you write Python code, please make sure that you don’t have side‐effects in your module imports. It breaks things and makes people sad.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,834 posts.
When you write Python code, please make sure that you don’t have side‐effects in your module imports. It breaks things and makes people sad.
Deno bundle is back, alongside the addition of bytes and text imports, stabilized built-in OpenTelemetry, a new --preload flag, simplified dependency management with deno update, and more.
Note: Thanks for all the great comments and feedback here and on Hacker News . Please keep them coming. I learned a ton and I am sure others will also.
I thought about this one for a couple of years, then wrote it up, and left it untouched for another couple of years.
Avoiding memory leaks in the slices package.
WebAssembly has gone through quite a transformation this last year, while the wasm language landscape is slowly shifting, the more notable change is in what people are using WebAssembly for. The use of wasm for serverless, containerisation and as a plug-in technology has leapt considerably, with WebAssembly System…
In August we announced that work had begun on the WebExtensions API as the future of developing add-ons in Firefox. This post covers the progress we’ve made since then. WebExtensions ...
This blog site has been archived. Go to react.dev/blog to see the recent posts. Today we’re releasing React 16.6 with a few new convenient features. A form of PureComponent/shouldComponentUpdate for function components, a way to do code splitting using Suspense and an easier way to consume Context from class…
As a rule, "sophisticated" progrmming is pretty boring - optimizing the unnecessary to speed up the uninteresting. Here, however, is an incredibly sophisticated package intended for fun and games. The more you know about software, the more astounded you will become as you read this.
Sure, we all pretend to know them, but rarely do we think they apply to us. Your manager certainly doesn't...
The fundamental units of computation available to users today are not the same as they were 20 years ago. When users had at most a few cores on a single CPU, it made complete sense that every program was written with the assumption that it would only run on a single core.
Enums are one of the most popular features in Rust. An enum is a type whose value is one of a specified set of variants.
I spent past three weeks working on refactoring and fixing legacy code…
Every time we see people look at PostgreSQL and MySQL on the internet it falls into a flame war fast. I think that a large part of the pr...
Python-based calculations, especially those that use NumPy, can run much faster by using the Numba library.
Doom 3 was released in 2004, which I can't believe was a decade ago. Great game, atmospheric and scary, and a worthy successor of the first two games in the series. Several years after the initial release, in 2011, Doom 3's source code was published on Github. It can be fun to poke around the repository to learn how…
The official site of Zhenghao He, a software engineer and a TypeScript/JavaScript enthusiast.
We tested 19 LLMs on their ability to handle real-world software engineering tasks like compiling old code and cross-compiling. See how Anthropic, OpenAI, and Google models stack up in our new benchmark – CompileBench.
At my university, one of our internal software systems allows a professor to submit a revision to a course. The professor might change the content or the objectives of the course. In a university, professors have extensive freedom regarding course content. As long as you reasonably meet the course objectives, you can…
This site will be the main location for information about the LLVM backend for Scala that is under development by Geoff Reedy.
The Snap! Community. Snap! is a blocks-based programming language built by UC Berkeley and used by hundreds of thousands of programmers around the world.
reverse engineering, abandonware
If you enjoy this article, I have published a book explaining the internals of Git through implementation: Building Git .
How to keep your modules compatible with prior minor/patch versions.
Updated in 2025-09. The ELF object file format is adopted by many UNIX-like operating systems. While I've previously delved into the control structures of ELF and its predecessors, tracing the historical evolution of ELF and its relationship with the System V ABI can be interesting in itself. The format consists of…
Hi. I think math is really cool, but, most people (sadly) don't think so. This includes many programmers who in fact enjoy many of the sam...
When receiving bytes from the network, we often assume that they are unicode strings, encoded using something called UTF-8. Sadly, not all streams of bytes are valid UTF-8. So we need to check the strings. It is probably a good idea to optimize this problem as much as possible. In earlier work, we showed that ……
Today sees the announcement of the latest additions to Raspberry Pi's microcontroller line-up - the RP2350 family. I've had prototype units for a while, and you can run Rust code on it today. To my knowledge this is the first ever microcontroller launch with Rust support out-of-the-box.