Grokking big unfamiliar codebases
A blog about game engines, graphics, C++, and more.
The latest blog posts to take off on Hacker News. 14,540 posts.
A blog about game engines, graphics, C++, and more.
Resilience is coping with unexpected events and environmental change. To have resilience, you need slack. Slack in software development lets people do the little tasks that keep the work moving smo…
In Rust in 2023, @nrc floated an idea of a Rust compiler rewrite. As my hobby is writing Rust compiler frontends (1, 2), I have some (but not very many) thoughts here! The post consists of two parts, covering organizational and technical aspects.
As I've written about before , a PostgreSQL superuser always has the ability to take over the operating system account in which PostgreSQL i...
It has been 2 years since I published “CamelCase vs underscores: Scientific showdown”, and it still is easily the most visited article on this blog. Yesterday alone it got 2,614 views t…
I recently came up with a "clever" idea to eliminate one jump from an inner loop, and was surprised to find that it slowed things down. Allow me to explain my terrible error, so that you don't fall victim in the future.
Did you know you can just whip out curly-braces all over the place in Rust and Go?
As much as I loved the beautiful machine , the passive cooling and form factor of the DB4 chassis had limitations. The best GPU I could fit in (and cool down), a 1050 Ti, barely managed to run Diablo 2 Resurrected. Playing could become unpleasant at 30fps in busy levels!
On January 17th 2023, X41 and Gitlab published a report of the source code audit they performed on Git (funded by the OSTIF foundation).
Exploring how to use 2D graphics in various desktop operating systems, the old-school way. In this part we learn how to create an empty window under Linux, macOS and Windows.
Ah, git ! Love it, hate it. Few things are as central to the modern software development workflow as source-control management (SCM) tools. Although there have been and still are plenty of alternatives to git in the world of SCMs, none other seem quite as prevalent both in open-source and the enterprise.
How retrowin32 works, at a high level.
This guide shows you how to write, structure, visualize and manage software architecture documentation in a lean way using appropriate documentation tools.
My response to the discussion topic posed in Python Packaging Strategy Discussion Part 1 had become quite long, so I decided to move it to write a blog post instead. This post then started absorbing various draft posts I’ve had on this topic since this blog was started, morphing to include my broader thoughts on where…
While I won’t go so far as to diagnose myself with ADD without consulting a doctor, those who know me know I can be distracted quite easily. So recently, I decided to do something a little different with a personal project I started a few weeks ago (link to come). I wrote unit tests. That may seem rather uninspired…
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
When I started working on Rust in 2011, my daughter was about three months old. She’s now in sixth grade, and she’s started growing rapidly. Sometimes we wake up to find that her clothes don’t quite fit anymore: the sleeves might be a little too short, or the legs come up to her ankles. Rust is experiencing something…
I remember those days, oh so long ago, it seems like another lifetime. I haven’t used Pandas in many a year, decades, or whatever. We’ve all been there, done that. Pandas I mean. I would dare say it’s a rite of passage for most data folk. For those using Python, it’s probably one of the […]
Incident #210 Status Complete, one action item outstanding. Summary Sentinel consumed by wolf after repeated false alarms. Impact Loss of sentinel. No flock impact. Root causes Sentinel generated noisy alerts due to premature deployment, incomplete training, and overly monotonous task. Oncalls failed to respond to…
Recently, somebody shared on Twitter a new proof of the irrationality of √2. Its claimed advantage is that “it requires no knowledge of mathematics above the definition of what it means for a number to be irrational, and can be written almost in one line.” These claims are dubious: the usual proof, which I’ve…
~4 lines of Go to produce succinct, stable, URL-friendly slugs from timestamps.
This past month, I have been enthralled by the Rust programming language given its unique edge for writing memory-safe, modern programs. Over the years, several languages have emerged as the most preferred by engineers to write resilient, backend software. The tides have shifted from Java/C++ into Go and Rust, which…
PNG is my favourite file format of all time. Version 1.0 of the specification was released in 1996 (before I was born!) and the format remains widely used to this day. I think the main reasons it stuck around for so long are:
I tend to launch most programs on my Windows 10 laptop by typing the <Win> key, then a few letters of the program name, and then hitting enter. On my powerful laptop (SSD and 32 GB of RAM) th…
I implemented new --shuffle option for GNU make to simulate non-deterministic build order in parallel makefiles.