RSSAmplifier

Blog

ForrestTheWoods

Technical articles for programmers, gamedevs, and the dev-curious.

forrestthewoods.comRSS feed ↗25 posts

Latest posts

The AI Productivity Paradox: Why the AI Multiplier is Less Than 2x

Why a 30x AI coding multiplier results in less than 2x total project speedup, explained via Amdahl's Law.

Language Server Protocol from Debug Symbols

Using Jai's Unique and Powerful Compiler for Typesafe Units.

Using Jai's Unique and Powerful Compiler for Typesafe Units.

Using Jai's Unique and Powerful Compiler for Typesafe Units.

WinDbg Time Travelling Debugger is Amazing Magic

Intro to WinDbg's amazing Time Travelling Debugger.

Proving Immediate Mode GUIs are Performant

Proving ImGui is performant by measuring power use.

Using Zig to Commit Toolchains to VCS

How Zig can simplify committing toolchains to version control.

Dependencies Belong in Version Control

Why dependencies should be committed to version control.

fts_autosln - Build Visual Studio Solutions from PDBs

fts_autosln: Build Visual Studio Solutions from PDBs

Learning Jai via Advent of Code

Learning the Jai programming language via Advent of Code

fts_depends - Windows Dependency Checker

A small CLI tool to help trackdown missing dependencies on Windows.

Benchmarking Malloc with Doom 3

Global variables are evil and unsafe. You should stop using them.

Benchmarking Malloc with Doom 3

Benchmarking worst case performance in malloc with Doom 3

Failing to Learn Zig via Advent of Code

My experience trying to learn Zig via Advent of Code.

Things I Like about Python

A list of things I like about the Python programming language.

Embedding Source Code in PDBs (with Rust!)

Technical deep dive into open source project fts_pdbsrc that embeds source code in PDB files.

Debugging a Dynamic Library that Wouldn't Unload

A rivetting tale of a curious bug with an unexpected conclusion.

Using Rust to Delete Gitignored Cruft

Technical explanation of fts_gitignore_nuke; a Rust-based tool for finding and delete cruft hidden by .gitignore files

Memory Bandwidth Napkin Math

An exploration into C++ memory throughput performance.

How to Reload Native Plugins in Unity

Quick guide to reloading NativePlugins in Unity to improve iteration time.

Should small Rust structs be passed by-copy or by-borrow?

Benchmarking Rust to determine if small structs should be passed by-copy or by-value.

Measuring the Perception of Latency with a Haptic Glove

A story about a software engineering project that led to an unexpected discovery.

How to Debug Rust with Visual Studio Code

A step-by-step guide for debugging Rust with Visual Studio Code.

Solving Advent of Code in Under a Second

Algorithms and optimizations used to solve all Advent of Puzzles in less than one second.

Learning Rust via Advent of Code

Details of my experience learnin Rust through the Advent of Code programming competition.

Saying Goodbye to Medium

Why I'm moving my blog from Medium to a static website.