<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dmytro Danylov</title>
    <description>The latest articles on DEV Community by Dmytro Danylov (@crazychief).</description>
    <link>https://dev.to/crazychief</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4056943%2F2262babd-032e-4e53-a4db-7fbdcb7b0db3.jpg</url>
      <title>DEV Community: Dmytro Danylov</title>
      <link>https://dev.to/crazychief</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crazychief"/>
    <language>en</language>
    <item>
      <title>Willpower is manual memory management — here's why I switched to garbage collection for my habits</title>
      <dc:creator>Dmytro Danylov</dc:creator>
      <pubDate>Fri, 21 Aug 2026 14:35:20 +0000</pubDate>
      <link>https://dev.to/crazychief/willpower-is-manual-memory-management-heres-why-i-switched-to-garbage-collection-for-my-habits-31d4</link>
      <guid>https://dev.to/crazychief/willpower-is-manual-memory-management-heres-why-i-switched-to-garbage-collection-for-my-habits-31d4</guid>
      <description>&lt;p&gt;I ran out of cognitive RAM three times.&lt;/p&gt;

&lt;p&gt;Each time, the same crash: I'd commit to a behavior, execute it for a few weeks, then watch it degrade as other priorities consumed my mental budget. The problem wasn't commitment. The problem was that I'd built habits on manual resource management — and manual resource management fails at scale.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Manual Memory Problem
&lt;/h2&gt;

&lt;p&gt;In software, manual memory management means the programmer explicitly allocates and frees memory for every object. It works in theory. In practice, it produces two failure modes: memory leaks (you forget to free) and dangling pointers (you free too early). Both crash the system.&lt;/p&gt;

&lt;p&gt;Willpower-based behavior management has the same failure modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Memory leak&lt;/strong&gt;: you start a habit and never release it, but you also never maintain it properly — it sits in your mental heap consuming resources without doing useful work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dangling pointer&lt;/strong&gt;: you execute a behavior in the wrong context, or you drop it entirely while the triggering condition still exists&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every "I should be doing this but I'm not" is a dangling pointer. The behavior was freed while the trigger was still live.&lt;/p&gt;

&lt;h2&gt;
  
  
  Garbage Collection: The Behavioral Refactor
&lt;/h2&gt;

&lt;p&gt;The behavioral equivalent of garbage collection: encode the habit once, let it run automatically, free cognitive resources for the work that actually needs them.&lt;/p&gt;

&lt;p&gt;What this looked like in practice:&lt;/p&gt;

&lt;p&gt;Three containers. Fixed allocation rules. The rules were set up once — one Sunday evening — and the system executed them every month without requiring me to be present for the execution. The habit ran. The balance fell. The cognitive overhead after setup: zero.&lt;/p&gt;

&lt;p&gt;This is not a productivity hack. This is behavioral architecture. The difference is who does the work: the person or the structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Developers Should Care
&lt;/h2&gt;

&lt;p&gt;You already know why manual memory management fails at scale. You chose languages with garbage collectors because the alternative doesn't scale past a certain complexity.&lt;/p&gt;

&lt;p&gt;Your habits are running on the same manual management model you abandoned in your code years ago.&lt;/p&gt;

&lt;p&gt;The question is not "how do I build more willpower?" The question is "where would I put a garbage collector?"&lt;/p&gt;

&lt;p&gt;Every recurring behavior that requires a daily decision is running on manual memory management. Every behavior that runs without you thinking about it is using GC.&lt;/p&gt;

&lt;p&gt;The system that resolved the financial problem wasn't impressive as engineering. It was impressive as architecture. It moved the behavior from the programmer (me) to the runtime (the system). The habit daemon runs. The balance falls. No cognitive overhead.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Refactor Pattern
&lt;/h2&gt;

&lt;p&gt;The same architecture applies across domains:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Decompose: what is the specific behavior, and what triggers it?&lt;/li&gt;
&lt;li&gt;Encode: what structure enforces this behavior without requiring me to be present?&lt;/li&gt;
&lt;li&gt;Free: what cognitive resources am I spending on manual management that could be automated?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The pattern is identical to refactoring: find the manual work, extract it into an automated structure, free the human layer for higher-order decisions.&lt;/p&gt;

&lt;p&gt;Willpower is manual memory management. Systems are garbage collection. I stopped malloc-ing discipline.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Principle
&lt;/h2&gt;

&lt;p&gt;Write once. Run everywhere. Free the programmer.&lt;/p&gt;

&lt;p&gt;The behavior is the code. The system is the runtime. When the runtime handles execution, the programmer is free to build the next system.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post was originally published on &lt;a href="https://crazychief-ltd.com/blog/willpower-failed-systems-worked" rel="noopener noreferrer"&gt;The System Builder&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>systems</category>
      <category>habits</category>
      <category>architecture</category>
    </item>
    <item>
      <title>From Book to Spreadsheet to System: Turning Financial Principles into Behavioral Code</title>
      <dc:creator>Dmytro Danylov</dc:creator>
      <pubDate>Wed, 12 Aug 2026 17:27:20 +0000</pubDate>
      <link>https://dev.to/crazychief/from-book-to-spreadsheet-to-system-turning-financial-principles-into-behavioral-code-52ge</link>
      <guid>https://dev.to/crazychief/from-book-to-spreadsheet-to-system-turning-financial-principles-into-behavioral-code-52ge</guid>
      <description>&lt;p&gt;I read a financial literacy book and highlighted every principle that mattered. Fixed allocations. Behavioral consistency. Decision fatigue elimination.&lt;/p&gt;

&lt;p&gt;The balance didn't move for three weeks.&lt;/p&gt;

&lt;p&gt;Then I built a spreadsheet. Three containers. Fixed percentage rules. A SUM formula. Not impressive as engineering. Impressive as behavior architecture.&lt;/p&gt;

&lt;p&gt;Five months later, the balance was gone.&lt;/p&gt;

&lt;p&gt;This is a story about the gap between knowing and doing, and why that gap is always a systems problem, never a motivation problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with Principles
&lt;/h2&gt;

&lt;p&gt;Principles without execution are just specifications. In software, we know this: perfect specs without a working build are documentation, not software. The document looks like progress. The document is not progress.&lt;/p&gt;

&lt;p&gt;The same applies to any domain. You can read every principle of financial literacy and still make no progress. Reading is ingestion. Building is digestion.&lt;/p&gt;

&lt;p&gt;The book gave me ingredients. The spreadsheet gave me a system that actually consumed them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture: Decompose, Prototype, Harden, Reapply
&lt;/h2&gt;

&lt;p&gt;The spreadsheet was a behavioral prototype. Three containers. Fixed allocation rules. The rules were encoded so I couldn't override them even if I wanted to. A system you can override is not a system. It's a suggestion.&lt;/p&gt;

&lt;p&gt;This is the same architecture I use when building software:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Decompose: Break the principle into specific, actionable components. Not "save more" but "this container gets 20% on the 1st of every month."&lt;/li&gt;
&lt;li&gt;Prototype: Build the minimum viable structure. A spreadsheet. A habit. A timer. Something that runs without you.&lt;/li&gt;
&lt;li&gt;Harden: Let it run long enough that the behavior becomes automatic. Five months. The method hardened, not just the balance.&lt;/li&gt;
&lt;li&gt;Reapply: The pattern transfers. Read a principle, decompose it, prototype it, harden it. This works in finance, in code, in any domain.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why This Matters for Developers
&lt;/h2&gt;

&lt;p&gt;You already think in systems. You understand why a spec without implementation is worthless. You understand why a framework doesn't ship a product — an implementation does.&lt;/p&gt;

&lt;p&gt;Apply that same thinking to your own behavior architecture. The frameworks you read about personal productivity, financial literacy, habit design — they're specifications. What did you build from them?&lt;/p&gt;

&lt;p&gt;The gap between knowing and doing is the same in code and in life. The book gives you requirements. The system cooks them automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Sequence
&lt;/h2&gt;

&lt;p&gt;Read → Decompose → Prototype → Harden → Reapply&lt;/p&gt;

&lt;p&gt;The book gave me the principles. The spreadsheet proved them. That's the sequence.&lt;/p&gt;

&lt;p&gt;Knowledge without a vessel evaporates. Build the vessel first.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post was originally published on &lt;a href="https://crazychief-ltd.com/blog/book-principles-became-system" rel="noopener noreferrer"&gt;The System Builder&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>systemsthinking</category>
      <category>habitdesign</category>
      <category>behaviorarchitecture</category>
      <category>methodovertheory</category>
    </item>
    <item>
      <title>The spreadsheet that eliminated debt in five months — and what it taught me about system design</title>
      <dc:creator>Dmytro Danylov</dc:creator>
      <pubDate>Wed, 05 Aug 2026 13:56:39 +0000</pubDate>
      <link>https://dev.to/crazychief/the-spreadsheet-that-eliminated-debt-in-five-months-and-what-it-taught-me-about-system-design-jg5</link>
      <guid>https://dev.to/crazychief/the-spreadsheet-that-eliminated-debt-in-five-months-and-what-it-taught-me-about-system-design-jg5</guid>
      <description>&lt;p&gt;The spreadsheet had three columns: label, amount, balance. SUM formulas. No macros. No automation beyond basic arithmetic. It looked like a training exercise.&lt;/p&gt;

&lt;p&gt;In 2023, this spreadsheet ran a monthly rhythm that eliminated credit debt in five months. Not because it was clever. Because the habit underneath it ran without willpower.&lt;/p&gt;

&lt;p&gt;What followed is what I found.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;There was income and a credit balance. The standard developer response to debt: build a better tracker. Categorize everything, visualize the trajectory, optimize the payoff schedule.&lt;/p&gt;

&lt;p&gt;I did not do that. I built a progressive allocation system instead.&lt;/p&gt;

&lt;p&gt;Every income payment divided through three containers by fixed percentage: necessities, debt repayment, everything else. The percentages never changed. Month one: same as month two, month three, month five. Income arrives, percentages execute, debt receives its fixed share.&lt;/p&gt;

&lt;p&gt;No optimization. No decisions after setup. The spreadsheet tracked what was happening. That was all it did.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Worked
&lt;/h2&gt;

&lt;p&gt;The system required no daily attention. Income arrives, numbers go into the spreadsheet, allocation runs. Three steps. Same process every time.&lt;/p&gt;

&lt;p&gt;The feedback loop was the shrinking debt balance. Not gamification, not notifications. Just a number moving in the right direction. Month by month the balance fell. Month five: zero.&lt;/p&gt;

&lt;p&gt;The spreadsheet was the UI. The system was the behavior underneath.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Reveals About System Design
&lt;/h2&gt;

&lt;p&gt;The gap between the tool and the system is the gap between what you see and what makes it work.&lt;/p&gt;

&lt;p&gt;Most finance apps try to be better tools. Better categorization, smarter dashboards, fancier visualizations. They solve the wrong problem. The problem is not how to make money management more elegant. The problem is how to make it run without the user having to think about it.&lt;/p&gt;

&lt;p&gt;The spreadsheet worked because it encoded a behavior I had already proven could run without supervision. An app would have failed in the same way most apps fail: it would have asked me to start something instead of amplifying something already running.&lt;/p&gt;

&lt;p&gt;This is the same problem space as software architecture. You can build a system that requires constant intervention, or you can build one that runs. The difference is not the technology. It is the design decision about where the behavior lives.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Principle
&lt;/h2&gt;

&lt;p&gt;Build the habit first. Prove it runs without willpower. Then encode it.&lt;/p&gt;

&lt;p&gt;If you productize before the habit exists, you are building infrastructure for a behavior that has not yet been proven. The spreadsheet worked because the allocation behavior was already functioning. The tool held a shape that had been filled with something real.&lt;/p&gt;

&lt;p&gt;This applies to invoicing pipelines, deployment systems, content workflows. The principle is the same: products encode habits. When the habit comes first, the product amplifies it. When the product comes first, it holds a shape with nothing inside.&lt;/p&gt;

&lt;p&gt;The behavior is the code. The tool is just where it runs.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Cross-posted from &lt;a href="https://crazychief-ltd.com/blog/habit-not-spreadsheet-eliminated-debt" rel="noopener noreferrer"&gt;The System Builder blog&lt;/a&gt;. This is the first piece in a series on building systems that work without you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>software</category>
      <category>systemdesign</category>
    </item>
  </channel>
</rss>
