41554 blogs · [ { "id": "01a08779-4514-7348-b292-e973e05a1423", "title": "The AI Productivity Paradox: Why the AI Multiplier is Less Than 2x", "url": "https://www.forrestthewoods.com/blog/the-ai-productivity-paradox/", "published_at": "2026-04-12T15:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e107fda4", "title": "Language Server Protocol from Debug Symbols", "url": "https://www.forrestthewoods.com/blog/language-server-protocol-from-debug-symbols/", "published_at": "2024-08-12T15:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e1165cba", "title": "Using Jai's Unique and Powerful Compiler for Typesafe Units.", "url": "https://www.forrestthewoods.com/blog/using-jais-unique-and-powerful-compiler-for-typesafe-units/", "published_at": "2024-05-24T16:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e12b169c", "title": "WinDbg Time Travelling Debugger is Amazing Magic", "url": "https://www.forrestthewoods.com/blog/windbg-time-travelling-debugger-is-amazing-magic/", "published_at": "2024-05-12T12:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e20b498a", "title": "Proving Immediate Mode GUIs are Performant", "url": "https://www.forrestthewoods.com/blog/proving-immediate-mode-guis-are-performant/", "published_at": "2024-04-30T12:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e28048d4", "title": "Using Zig to Commit Toolchains to VCS", "url": "https://www.forrestthewoods.com/blog/using-zig-to-commit-toolchains-to-vcs", "published_at": "2024-01-06T23:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e2b40c70", "title": "Dependencies Belong in Version Control", "url": "https://www.forrestthewoods.com/blog/dependencies-belong-in-version-control/", "published_at": "2023-11-25T12:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e3045356", "title": "fts_autosln - Build Visual Studio Solutions from PDBs", "url": "https://www.forrestthewoods.com/blog/fts_autosln-build-visual-studio-soluions-from-pdbs/", "published_at": "2023-02-13T12:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e380d927", "title": "Learning Jai via Advent of Code", "url": "https://www.forrestthewoods.com/blog/learning-jai-via-advent-of-code/", "published_at": "2023-02-13T12:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e4713435", "title": "fts_depends - Windows Dependency Checker", "url": "https://www.forrestthewoods.com/blog/fts-depends-cli-dependency-checker/", "published_at": "2022-10-15T17:30:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e52ff2c0", "title": "Benchmarking Malloc with Doom 3", "url": "https://www.forrestthewoods.com/blog/global-variables-are-evil-and-unsafe/", "published_at": "2022-08-21T10:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e5684497", "title": "Benchmarking Malloc with Doom 3", "url": "https://www.forrestthewoods.com/blog/benchmarking-malloc-with-doom3/", "published_at": "2022-06-03T10:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e5882de4", "title": "Failing to Learn Zig via Advent of Code", "url": "https://www.forrestthewoods.com/blog/failing-to-learn-zig-via-advent-of-code/", "published_at": "2022-01-17T10:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e5f3a795", "title": "Things I Like about Python", "url": "https://www.forrestthewoods.com/blog/things-I-like-about-python/", "published_at": "2021-11-13T20:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e608a578", "title": "Embedding Source Code in PDBs (with Rust!)", "url": "https://www.forrestthewoods.com/blog/embedding-source-code-in-pdbs-with-rust/", "published_at": "2021-10-30T20:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e636befa", "title": "Debugging a Dynamic Library that Wouldn't Unload", "url": "https://www.forrestthewoods.com/blog/debugging-a-dynamic-library-that-wouldnt-unload/", "published_at": "2021-06-06T20:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e6f6c57f", "title": "Using Rust to Delete Gitignored Cruft", "url": "https://www.forrestthewoods.com/blog/using-rust-to-delete-gitignored-cruft/", "published_at": "2020-06-13T20:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e72b378f", "title": "Memory Bandwidth Napkin Math", "url": "https://www.forrestthewoods.com/blog/memory-bandwidth-napkin-math/", "published_at": "2020-02-02T20:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e7749137", "title": "How to Reload Native Plugins in Unity", "url": "https://www.forrestthewoods.com/blog/how-to-reload-native-plugins-in-unity/", "published_at": "2019-09-02T20:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e7c874d3", "title": "Should small Rust structs be passed by-copy or by-borrow?", "url": "https://www.forrestthewoods.com/blog/should-small-rust-structs-be-passed-by-copy-or-by-borrow/", "published_at": "2019-08-26T10:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e857a1f2", "title": "Measuring the Perception of Latency with a Haptic Glove", "url": "https://www.forrestthewoods.com/blog/measuring-the-perception-of-latency-with-a-haptic-glove/", "published_at": "2019-07-18T10:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e8ff0773", "title": "How to Debug Rust with Visual Studio Code", "url": "https://www.forrestthewoods.com/blog/how-to-debug-rust-with-visual-studio-code/", "published_at": "2019-03-18T20:01:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e9b713b4", "title": "Solving Advent of Code in Under a Second", "url": "https://www.forrestthewoods.com/blog/solving-advent-of-code-in-under-a-second/", "published_at": "2019-02-03T20:01:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973e9ed9f46", "title": "Learning Rust via Advent of Code", "url": "https://www.forrestthewoods.com/blog/learning-rust-via-advent-of-code/", "published_at": "2019-02-03T20:00:00+00:00" }, { "id": "01a08779-4514-7348-b292-e973ea671368", "title": "Saying Goodbye to Medium", "url": "https://www.forrestthewoods.com/blog/saying_goodbye_to_medium/", "published_at": "2019-01-21T22:00:00+00:00" } ] posts Claim your blog
Back to forrestthewoods.com
Blog · corpus.blog/blogs/forrestthewoods.com/posts

forrestthewoods.com

forrestthewoods.com

2026

2024

2023

2022

2021

2020

2019