# gained (blogs) — RSS Amplifier

Recent posts from the 3 feeds in the RSS Amplifier directory that cover gained.

Page: <https://rssamplifier.com/topics/gained/blogs>  
Feed: <https://rssamplifier.com/topics/gained/blogs.md>

---

## [A Boolean PII Flag Is Not Enough](https://kore-nordmann.de/blog/a-boolean-pii-flag-is-not-enough.html?utm_source=rss)

_2026-08-19 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Every data catalog lets you tag a column as PII, true or false. For a platform processing student data under GDPR this single bit drops the questions a data protection officer actually asks: Does the column identify on its own or in combination? Is it raw, pseudonymised, or anonymised? Did a human assert the classification, or did a tool infer it? We classify on two axes plus provenance and…

## [Chapter 40 — Shell Job References with %1](https://www.coderancher.us/2026/08/14/chapter-40-shell-job-references-with-1/)

_2026-08-14 · R. Morgan · www.CodeRancher.Us_

Before reading the shell examples in this chapter, be explicit about the prompt transition: toyix is the kernel monitor. ush is the user shell. So when this chapter shows commands like: those commands must be typed inside the user shell after toyix run shell. Chapter 39 made /programs/ name usable as a launch target. That fixed Continue Reading "Chapter 40 — Shell Job References with %1"

## [Chapter 39 — Path-Based Program Launching with /programs](https://www.coderancher.us/2026/08/13/chapter-39-path-based-program-launching-with-programs/)

_2026-08-13 · R. Morgan · www.CodeRancher.Us_

Before reading the shell examples in this chapter, be explicit about the prompt transition: toyix is the kernel monitor. ush is the user shell. So when this chapter shows commands like: those commands must be typed inside the user shell after toyix run shell. Two other constraints still apply in this chapter: So cat README Continue Reading "Chapter 39 — Path-Based Program Launching with /programs"

## [Chapter 38 — Turning /programs into a Real Directory](https://www.coderancher.us/2026/08/12/chapter-38-turning-programs-into-a-real-directory/)

_2026-08-12 · R. Morgan · www.CodeRancher.Us_

Before reading the shell examples in this chapter, be explicit about the prompt transition: toyix is the kernel monitor. ush is the user shell. So when this chapter shows commands like: those commands must be typed inside the user shell after toyix run shell. In Chapter 37, Toyix gained its first real directory support at Continue Reading "Chapter 38 — Turning /programs into a Real Directory"

## [Innovation Tokens](https://kore-nordmann.de/blog/innovation_tokens.html?utm_source=rss)

_2026-08-12 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Dan McKinley's "Choose Boring Technology" gives you a budget of innovation tokens to spend on novel choices. I agree with all of it, and I want to refine one thing: a token is not denominated in how novel the technology looks from the outside. It is denominated in what your team already knows.

## [Chapter 37 — Directories, SYS\_READDIR, and ls](https://www.coderancher.us/2026/08/11/chapter-37-directories-sys_readdir-and-ls/)

_2026-08-11 · R. Morgan · www.CodeRancher.Us_

In Chapter 36, Toyix gained file metadata: The shell could now do: Now we are ready for the next filesystem milestone: This chapter adds: After this chapter: For compatibility with the previous chapters, /programs will remain a regular text file for now: The root directory / becomes the first actual directory. 1. What this chapter Continue Reading "Chapter 37 — Directories, SYS\_READDIR, and ls"

## [Chapter 36.5 &#8211; A Testing Detour and a Real Smoke Harness](https://www.coderancher.us/2026/08/10/chapter-36-5-a-testing-detour-and-a-real-smoke-harness/)

_2026-08-10 · R. Morgan · www.CodeRancher.Us_

Chapter 36 added SYS\_STAT, which was the right filesystem step. But it also exposed a testing problem that has been growing for a while. Right now, Toyix testing is split across three awkward places: That worked while the system was small. It does not scale well now that Toyix has: The biggest smell is that Continue Reading "Chapter 36.5 A Testing Detour and a Real Smoke Harness"

## [Chapter 35 — SYS\_SEEK and Rewindable File Descriptors](https://www.coderancher.us/2026/08/07/chapter-35-sys_seek-and-rewindable-file-descriptors/)

_2026-08-07 · R. Morgan · www.CodeRancher.Us_

In Chapter 34, Toyix gained its first tiny file layer: The shell could now do: But file descriptors were strictly forward-only. Once a file was read, its offset moved forward. There was no way to rewind, skip, or query position. This chapter adds: After this chapter, userland can do: And the shell gains a small Continue Reading "Chapter 35 — SYS\_SEEK and Rewindable File Descriptors"

## [Chapter 34 — First RAMFS and Core File APIs](https://www.coderancher.us/2026/08/06/chapter-34-first-ramfs-and-core-file-apis/)

_2026-08-06 · R. Morgan · www.CodeRancher.Us_

By the end of Chapter 33, Toyix could launch child processes, inspect child state from the shell, and request cooperative termination: At this point, Toyix can: The next major subsystem is files. This chapter adds the first tiny filesystem path: After this chapter, the user shell can do: This is not a disk filesystem yet. Continue Reading "Chapter 34 — First RAMFS and Core File APIs"

## [Chapter 33 — Process Termination and Kill Checks](https://www.coderancher.us/2026/08/05/chapter-33-process-termination-and-kill-checks/)

_2026-08-05 · R. Morgan · www.CodeRancher.Us_

By the end of Chapter 32, Toyix could launch child processes, wait for them, and keep exited children around as zombies until the parent collected them. For this chapter, we also extend the shell and syscall ABI just enough to inspect child state from user mode: That gives the shell basic process ownership and job-state Continue Reading "Chapter 33 — Process Termination and Kill Checks"

## [Accept your Doppler invite (Sponsored)](https://crawlproof.com/a/20qSbEAfzE92)

_2026-08-05 · **Sponsored**_

Create your Doppler account using the invite code you received.

## [Hexagonal Architecture vs. Microservices](https://kore-nordmann.de/blog/hexagonal_architecture_vs_microservices.html?utm_source=rss)

_2026-08-05 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Bounded contexts deserve boundaries. But a boundary is a code concern, and putting a network between two contexts because you want them separate is a mistake. In-process interfaces are far easier to debug and to keep consistent than network ones, for a concrete reason: one compiler spans both sides and will not let them drift. Nothing spans the network.

## [Chapter 32 — Process Ownership, Waiting, and Job State](https://www.coderancher.us/2026/08/04/chapter-32-process-ownership-waiting-and-job-state/)

_2026-08-04 · R. Morgan · www.CodeRancher.Us_

In Chapter 32, the user shell gained: That let a user process launch another user process: The flow worked: But the process model was too loose. Any process could wait for any PID. This chapter tightens that up. We will add: After this chapter, a child process belongs to the process that launched it: Then: Continue Reading "Chapter 32 — Process Ownership, Waiting, and Job State"

## [Chapter 31 — SYS\_EXEC, SYS\_WAITPID, and Shell-Launched Programs](https://www.coderancher.us/2026/08/03/chapter-31-sys_exec-sys_waitpid-and-shell-launched-programs/)

_2026-08-03 · R. Morgan · www.CodeRancher.Us_

In Chapter 30, Toyix gained its first user-mode shell: But the shell could not launch programs yet. The kernel monitor could run programs: but the user shell could not. This chapter adds the first user-facing process-control syscalls: At first, SYS\_EXEC still launches programs from the embedded program registry. We are not loading from a filesystem Continue Reading "Chapter 31 — SYS\_EXEC,…

## [Why 3D Software Visualisation Keeps Failing](https://kore-nordmann.de/blog/why-3d-software-visualisation-keeps-failing.html?utm_source=rss)

_2026-07-29 · Kore Nordmann · Kore Nordmann&#39;s Blog_

A zoomable 3D scene of your architecture, with domains as planes, services as boxes, and data flows as glowing particles, demos beautifully, and WebGL makes it a weekend project. But 3D software visualisation never failed for technical reasons. It fails for perceptual ones, and those have not changed: occlusion, an arbitrary Z axis, label degradation, and depth being one of the weakest visual…

## [Feature Flags Over Branches](https://kore-nordmann.de/blog/feature_flags_over_branches.html?utm_source=rss)

_2026-07-22 · Kore Nordmann · Kore Nordmann&#39;s Blog_

A while ago I promised to write more about feature flags. Here it is, as one flat rule: develop on main, and use feature flags. Long-lived feature branches are a problem you create for yourself, and most of the structural contortions teams adopt to cope with merge hell are there to solve a process problem with architecture.

## [Always Go With a Monorepo](https://kore-nordmann.de/blog/always_go_with_a_monorepo.html?utm_source=rss)

_2026-07-15 · Kore Nordmann · Kore Nordmann&#39;s Blog_

I made this argument to my team again last week, while a neighbouring team was busy splitting their monorepo into around eighty repositories. People reach for a second repository when what they actually want is a boundary, and a repository is a ruinously expensive way to draw a line you can draw for free in the filesystem.

## [There Is No Audience-Independent Architecture View](https://kore-nordmann.de/blog/there-is-no-audience-independent-architecture-view.html?utm_source=rss)

_2026-07-08 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Every team eventually asks for "the architecture diagram", singular, the one picture which explains the system to everyone. That diagram cannot exist, because usefulness and audience-independence trade off by construction. The standards knew this in 1995. The answer is one model, many audience-specific views, and a clear separation between structural views and cross-cutting perspectives.

## [Don&#39;t Do Code Reviews](https://kore-nordmann.de/blog/dont_do_code_reviews.html?utm_source=rss)

_2026-07-01 · Kore Nordmann · Kore Nordmann&#39;s Blog_

In the last post I argued against quality assurance as a separate activity. The same argument applies, almost word for word, to code reviews, and I am even less comfortable making it: at Qafoo we built a code review tool. On an internal product team the asynchronous pull-request review has become the default, and it is the wrong tool for almost everything we use it for.

## [Don&#39;t Do Quality Assurance](https://kore-nordmann.de/blog/dont_do_quality_assurance.html?utm_source=rss)

_2026-06-24 · Kore Nordmann · Kore Nordmann&#39;s Blog_

I co-founded a consultancy that sold software quality for roughly a decade. The advice I am most certain about after those years sounds like a contradiction coming from me: do not do quality assurance as a separate activity. The moment a dedicated QA role appears, the developers quietly stop owning the quality of their own work, and that is the wrong direction.

## [HTMX and Web Components Instead of React](https://kore-nordmann.de/blog/htmx-and-web-components-instead-of-react.html?utm_source=rss)

_2026-06-17 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Our data platform's frontends are catalogs, dashboards, and detail pages: request/response-shaped applications. We build them with server-side rendering, HTMX, and vanilla web components. The question is not "why not React", but which of our actual problems a client-side framework would solve. Walking through the inventory the answer was: none, at a price we would pay for a decade. As a bonus,…

## [PixelRift — Platforming with Level Editor (Sponsored)](https://crawlproof.com/a/MOTULwKdkPPk)

_2026-06-16 · **Sponsored**_

Includes a built-in level editor, campaign with elemental heroes, and boss encounters.

## [Style the Document, Not a Component Tree](https://kore-nordmann.de/blog/style-the-document-not-a-component-tree.html?utm_source=rss)

_2026-06-10 · Kore Nordmann · Kore Nordmann&#39;s Blog_

BEM and CSS Modules solve scoping at the cost of making every element a one-off, and a pile of isolated components is not a design language. We style semantic HTML elements directly, constrain every color and distance to CSS variables, and use a small web-component base class instead of a framework. These old-fashioned rules matter more than ever now that LLMs generate frontend code faster than…

## [Nothing Shared, Everything Gained: What It Cost to Finish](https://kore-nordmann.de/blog/nothing-shared-everything-gained-what-it-cost-to-finish.html?utm_source=rss)

_2026-05-20 · Kore Nordmann · Kore Nordmann&#39;s Blog_

I left the start-up world not because I failed, but because I'd optimized for the wrong metric — I was building systems that scaled while being the system that wasn't. This is the post I wasn't sure I'd write, about why "Nothing Shared, Everything Gained" needed me to stop before it could be finished.

## [Nothing Shared, Everything Gained: Boring Scales](https://kore-nordmann.de/blog/nothing-shared-everything-gained-boring-scales.html?utm_source=rss)

_2026-05-13 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Every few years our industry discovers a new way to make software development complicated, but most web applications are not technically interesting — the interesting part is the domain. My book is deliberately boring: four layers, strict dependency direction, stateless services, and it worked the same way for five engineers and for seventy.

## [Nothing Shared, Everything Gained: The Architecture](https://kore-nordmann.de/blog/nothing-shared-everything-gained-the-architecture.html?utm_source=rss)

_2026-05-06 · Kore Nordmann · Kore Nordmann&#39;s Blog_

The entire architecture in the book fits into one sentence: Controller → Service → Gateway → Storage, with strict dependency direction and one job per layer. A distillation of practical experience, not a new methodology: four concepts that, put into perspective, prevent most structural problems from ever appearing.

## [Nothing Shared, Everything Gained: The Thesis](https://kore-nordmann.de/blog/nothing-shared-everything-gained-the-thesis.html?utm_source=rss)

_2026-04-29 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Writing testable code is essential, but writing tests is not — at least not immediately, because comprehensive suites for code that might get cut next sprint are waste, not discipline. The actual non-negotiable is pushing side effects to the edges so that the code between them stays stateless, local, and changeable without fear.

## [Nothing Shared, Everything Gained: The Problem](https://kore-nordmann.de/blog/nothing-shared-everything-gained-the-problem.html?utm_source=rss)

_2026-04-22 · Kore Nordmann · Kore Nordmann&#39;s Blog_

A team that hadn't shipped anything in six months, controllers with NPath complexity causing integer overflows, 2000-line methods, and session arrays nobody understood — and twenty-five days later they were shipping again. The same pattern repeated across more than a hundred teams over seven years, and the common thread was always side effects.

## [Nothing Shared, Everything Gained: The Origin Story](https://kore-nordmann.de/blog/nothing-shared-everything-gained-the-origin-story.html?utm_source=rss)

_2026-04-15 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Ten years ago I started writing a book about software architecture and then life happened: I co-founded a company, scaled it to seventy engineers, got acquired, and burned out. I expected the manuscript to be obsolete by now. Instead, the decade in between proved the ideas worked. The finished book is available at codethatships.com.

## [Fast Fashion for Code: How the Power Grab Masks a Quality Crisis](https://kore-nordmann.de/blog/fast-fashion-for-code-how-the-power-grab-masks-a-quality-crisis.html?utm_source=rss)

_2026-03-31 · Kore Nordmann · Kore Nordmann&#39;s Blog_

Vendors promise the industrialization of software development. What AI code generation delivers is fast fashion: cheap, disposable, and hiding a massive structural shift in power from the people who build software to the companies that control the means of generating it.

## [From Commerce to Campus: A New Stack, A New Purpose](https://kore-nordmann.de/blog/university-software-architect-why-i-am-building-a-data-platform-for-students.html?utm_source=rss)

_2026-03-19 · Kore Nordmann · Kore Nordmann&#39;s Blog_

After fifteen years of founding companies and scaling commerce platforms, I'm now a software architect at FernUni Hagen, building a Learning Analytics data platform that helps students succeed, with a Modern Data Stack and consent-first design for highly sensitive data. I made the switch for meaning and work-life balance, and found both, plus an amazing team to work with.

## [Women in IT: The Structural Problem Nobody Wants to Fix](https://kore-nordmann.de/blog/women-in-it-the-structural-problem-nobody-wants-to-fix.html?utm_source=rss)

_2026-03-09 · Kore Nordmann · Kore Nordmann&#39;s Blog_

I've conducted over 1,000 interviews and hired around 70 developers. My experience is clear: women with comparable qualifications consistently deliver better work, not because they're inherently better, but because the system forced them to be. Meanwhile, most companies' DEI efforts are pinkwashing, hiring still runs through bro networks…

## [Trade Bitcoin & Ethereum (Sponsored)](https://crawlproof.com/a/9KzntLx5yilD)

_2026-03-08 · **Sponsored**_

Buy, sell and margin trade BTC & ETH with fiat currencies

## [Why I Built Hejme, Part 3: Families Define Themselves](https://kore-nordmann.de/blog/why-i-built-hejme-part-3-families-define-themselves.html?utm_source=rss)

_2026-01-27 · Kore Nordmann · Kore Nordmann&#39;s Blog_

I'm in a boring traditional marriage, but I built Hejme for complex families: divorced, blended, geographically scattered. Why? Because everyone I talked to had the same need: share with exactly the right people, not some platform's template. You decide who's family. The software should just make it easy.

## [I am thirty-eight years old](https://eev.ee/blog/2025/07/21/i-am-thirty-eight-years-old/)

_2025-07-22 · Eevee · fuzzy notepad_

There are several old, personal events that I’ve been rotating in my head for a very long time. I’m finally writing about them because I’ve just had the staggering realization that they all form one singular story. In some cases I’d never made the connection; in other cases I just plain forgot that things which happened within hours of each other were related. This isn’t pleasant to write, and it…

## [The rise of Whatever](https://eev.ee/blog/2025/07/03/the-rise-of-whatever/)

_2025-07-04 · Eevee · fuzzy notepad_

This was originally titled “I miss when computers were fun”. But in the course of writing it, I discovered that there is a reason computers became less fun, a dark thread woven through a number of events in recent history. Let me back up a bit.

## [Anise lives](https://eev.ee/blog/2025/06/10/anise-lives/)

_2025-06-10 · Eevee · fuzzy notepad_

(a post rescued from Cohost, originally Aug 2024) Some backstory may be necessary.

## [🔞 vignettes](https://eev.ee/blog/2025/04/21/vignettes/)

_2025-04-22 · Eevee · fuzzy notepad_

vignettes is the spicy visual novel we’ve been plugging away at for the past year or so. It’s about transformation and sex and conflict and magic tricks. I think it’s pretty good! But I’m biased, so you’ll have to draw your own conclusions. By… playing it…? It’s currently ten bucks on itch , but : we’ll be adding more stories over time, and slightly bumping the price every time. So this is…

## [Eevee gained 4,219 experience points…](https://eev.ee/blog/2025/01/17/eevee-gained-4219-experience-points/)

_2025-01-18 · Eevee · fuzzy notepad_

Eevee grew to level 38! It’s been a few years since I did one of these. My birthday in 2022 was kind of overshadowed by the loss of our darling cat Pearl . But I think I’d like to get back into it, to christen the redone website.

## [Fresh start](https://eev.ee/blog/2024/12/03/fresh-start/)

_2024-12-03 · Eevee · fuzzy notepad_

I hit a point where I just didn’t like this website any more. It was too… stuffy . Posts kept getting longer, more elaborate, more time-consuming to write. I didn’t recognize the tone any more, and when I look back at older posts, those are way snarkier than they need to be. I think I was trying to be taken seriously-but-not-too-seriously, and the voice that developed as a result was just really…

