<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Bernard Katamanso - Blog</title><description>Technical deep-dives on software engineering, systems architecture, and AI.</description><link>https://www.adjarnor.dev/</link><item><title>What These Statements Look Like in Code</title><link>https://www.adjarnor.dev/blog/applying-36-things-to-code/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/applying-36-things-to-code/</guid><description>Principles are only as good as the code they produce. Here are six of the 36 statements applied to real TypeScript code, showing before and after what each principle looks like when you actually write it.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>What a Struct Actually Is</title><link>https://www.adjarnor.dev/blog/what-a-struct-actually-is/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/what-a-struct-actually-is/</guid><description>A struct is a compiler-verified contract about where every field lives in memory. This article compares C, C++, and Zig to show what that contract actually guarantees—and what it doesn&apos;t.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Why Structs</title><link>https://www.adjarnor.dev/blog/why-structs/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/why-structs/</guid><description>Structs solve real problems in production code: parameter explosion, scattered state, and fragile function signatures. Here are the patterns that show up again and again.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>What Is a Struct?</title><link>https://www.adjarnor.dev/blog/what-is-a-struct/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/what-is-a-struct/</guid><description>A struct is a user-defined composite type that combines multiple variables into a single object. Here is what structs are, why we need them, and how they map to memory.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>What Is a Polyfill?</title><link>https://www.adjarnor.dev/blog/what-is-a-polyfill/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/what-is-a-polyfill/</guid><description>Polyfills let you write modern JavaScript without leaving legacy browsers behind. Here is how they work under the hood and why they matter.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Object in the Machine</title><link>https://www.adjarnor.dev/blog/lifeblood-of-git/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/lifeblood-of-git/</guid><description>Git stores everything as objects named by their content. This post covers the three object types (blobs, trees, commits) and how they chain together to form Git&apos;s immutable history.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>Hello, I&apos;m Bernard Katamanso</title><link>https://www.adjarnor.dev/blog/hello-world/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/hello-world/</guid><description>A proper introduction: who I am, what I build, why I write, and where to find me around the web.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate></item><item><title>LLM Reasoning: From Next-Token Prediction to Constrained Decoding</title><link>https://www.adjarnor.dev/blog/llm-reasoning-foundations/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/llm-reasoning-foundations/</guid><description>A first-principles look at autoregressive transformers, the hallucination problem, and how constrained decoding can ground LLM outputs in structured knowledge.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate></item><item><title>36 Things We Keep Learning About Software</title><link>https://www.adjarnor.dev/blog/36-statements-for-good-code/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/36-statements-for-good-code/</guid><description>After sixty years of software engineering, what have we actually learned? These 36 statements are a distillation of recurring truths about complexity, abstraction, data layout, and organizational boundaries that keep appearing across decades of research and practice.</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Explicit Errors and Functional Cores</title><link>https://www.adjarnor.dev/blog/explicit-errors-functional-cores/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/explicit-errors-functional-cores/</guid><description>Error handling doesn&apos;t have to be an afterthought. By treating errors as values, separating business logic from side effects, and pushing I/O to the edges, you can build TypeScript systems that are easier to reason about, test, and trust.</description><pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Understanding Generics</title><link>https://www.adjarnor.dev/blog/understanding-generics/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/understanding-generics/</guid><description>How do we write code that is both reusable across types and safe at compile time?</description><pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Autocomplete with Tries in Go</title><link>https://www.adjarnor.dev/blog/autocomplete-with-tries-in-go/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/autocomplete-with-tries-in-go/</guid><description>A deep dive into implementing autocomplete using tries in Go.</description><pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate></item><item><title>The Elegance of Bit Shifting in Subset Generation</title><link>https://www.adjarnor.dev/blog/elegance-of-bit-shifting/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/elegance-of-bit-shifting/</guid><description>How the left shift operator transforms subset generation from a complex combinatorial problem into straightforward binary operations.</description><pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Two-Pointer Technique</title><link>https://www.adjarnor.dev/blog/two-pointer-technique/</link><guid isPermaLink="true">https://www.adjarnor.dev/blog/two-pointer-technique/</guid><description>Moving zeros, removing elements, finding container areas. These problems may look different but they share the same pattern. Scanning with one pointer while tracking with another.</description><pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate></item></channel></rss>