{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-13-recreational-programming/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "You guys are getting paid?\n\n## Show of hands:\n\nHow many of you learned programming because it was fun?\n\n## Part 1\n\n## What is Recreational Programming?\n\n## Definition\n\nProgramming for the joy of programming itself - not for work, not for money, not for external requirements.\n\n## What it looks like:\n\n- Building things because you're curious how they work\n- Exploring new languages just to see what they feel like\n- Solving problems that only exist in your head\n- Creating tools for problems you don't actually have\n- Writing code that makes you smile\n\n## What it's NOT:\n\n- Side hustles or potential startups\n- Skill building for career advancement\n- Following tutorials step-by-step\n- Grinding through coding challenges for interviews\n- Building what others expect you to build\n\n**The key distinction:** Internal motivation vs. external pressure\n\n## Why it matters:\n\n- Prevents burnout by reconnecting with intrinsic motivation\n- Develops intuition through low-stakes exploration\n- Maintains long-term passion for the craft\n- Often leads to unexpected breakthroughs and learning\n\n## Part 2\n\n## The Recreational Programming Spectrum\n\n## Style 1: The Live Explorer\n\n- Builds in public through streams or blogs\n- Shows the messy process: dead ends, bugs, restarts\n- Community becomes accountability and energy source\n- Projects range from practical tools to pure experiments\n\n## Style 2: The Deep Diver\n\n- Obsesses over understanding how things really work\n- Builds toy versions of complex systems\n- Values learning over shipping\n- Often has multiple \"educational\" implementations\n\n## Style 3: The Creative Technologist\n\n- Uses code as artistic medium\n- Generative art, music synthesis, interactive installations\n- Technology serves creative vision\n- Often blends programming with other disciplines\n\n## Style 4: The Problem Solver\n\n- Scratches personal itches with code\n- Tools that solve tiny annoying problems\n- \"Good enough\" solutions that work for them\n- Often accidentally builds useful things\n\n## Style 5: The Language Explorer\n\n- Constantly trying new languages and paradigms\n- Implements same concepts across different languages\n- Drawn to unusual or experimental languages\n- Code as intellectual curiosity\n\n## Part 3\n\n## Common Patterns Across All Styles\n\n## Permission to Build \"Useless\" Things\n\n- No business case required\n- Curiosity is sufficient justification\n- Failed experiments still teach valuable lessons\n\n**Key insight:** ROI doesn't apply to recreational programming\n\n## Follow Energy, Not Plans\n\n- Switch projects when excitement fades\n- Multiple abandoned repos are exploration, not failure\n- Boredom is data about what interests you\n\n**Key insight:** Boredom is data, not defeat\n\n## Document the Journey\n\n- Share process, not just results\n- Teaching forces deeper understanding\n- Creates connection with others on similar paths\n\n**Key insight:** Narrate your decisions\n\n## Embrace the Learning Process\n\n- Beginner's mind in new domains\n- Comfortable with not knowing\n- Process over product\n\n**Key insight:** Progress over perfection\n\n## Part 4\n\n## Your Personal Programming Playground\n\n## The Environment\n\n- Dedicated \"experiments\" folder/repo\n- No production concerns: minimal setup, no CI/CD pressure\n- Quick project initialization scripts\n- Version control optional\n\n## Approaches You Can Try\n\n- Weekly Experiments (2-4 hours exploring one new thing)\n- Scratch-Built Challenges (Build toy versions of tools you use)\n- Itch-Scratching Projects (Solve your own annoying problems)\n- Teaching Projects (Build something while explaining it)\n- Cross-Language Challenges (Same problem, different languages)\n\n## The Mindset Shifts\n\n- \"What if...\" instead of \"I should...\"\n- Progress over perfection\n- Learning over shipping\n- Curiosity over productivity\n\n## Part 5\n\n## Real Examples in the Wild\n\n## Zikani Nyirenda - *The Practical Experimenter*\n\n- Creates random but useful tools: browser automation, file organizers, Git utilities\n- Experiments across Go, Rust, Python, Vue, and React\n- \"What small problem can I solve today?\" approach to coding\n- Perfect example of scratching personal itches through code\n\n[github.com/zikani03](https://github.com/zikani03)\n\n## Jeremiah Chienda - *The Full-Stack Experimenter*\n\n- Explores different architectural patterns and frameworks\n- Builds tools that solve real problems while learning new technologies\n- Shows how recreational programming can span the entire tech stack\n\n[github.com/liwoo](https://github.com/liwoo)\n\n## Tsoding Daily - *The Live Explorer*\n\n- Streams 4+ hours daily building random projects from scratch\n- Built his own text editors, programming languages, ray tracers\n- Shows complete process including failures and debugging\n- \"Let's see what happens if...\" approach to everything\n\n## ThePrimeagen - *The High-Energy Problem Solver*\n\n- Creates CLI tools and Neovim plugins for personal workflow optimization\n- Infectious enthusiasm for dev tools and performance\n- Reacts to and critiques other developers' code/approaches\n- Makes optimization and tooling feel like extreme sports\n\n## Casey Muratori - *The Systems Deep Diver*\n\n- Handmade Hero: Building a complete game from scratch on stream\n- Explains every single line of code and system design decision\n- No libraries, understanding everything from first principles\n- Demonstrates that you can build modern software without frameworks\n\n## Ben Eater - *The Educational Builder*\n\n- Builds computers on breadboards, explains every component\n- Creates video series on how CPUs, memory, and networks actually work\n- Takes months to build what you could buy for $5\n- Makes hardware fundamentals accessible and fascinating\n\n## Dan Luu - *The Deep Technical Investigator*\n\n- Writes detailed blog posts investigating performance mysteries\n- Benchmarks everything: keyboards, terminals, programming languages\n- Turns curiosity about \"why is X slow?\" into multi-thousand word research\n- Demonstrates how recreational investigation can uncover industry-wide issues\n\n**Each represents a different path back to programming joy**\n\n## Closing Challenge\n\nPick one experiment:\n\n1. Build the worst possible version of a tool you use daily\n2. Spend 2 hours with a language you've been curious about\n3. Document yourself solving a small problem\n4. Fork an interesting project and mess with it\n5. Try live coding or streaming your process\n\n**The only rule:** Stop if it stops being fun.\n\n## Final Thought\n\n\"The goal isn't to become any of these programmers. It's to remember why you started coding and keep that curiosity alive alongside your career.\"\n",
  "authors": [
    "jslakro"
  ],
  "captured_at": "2026-10-14T07:29:10.775073046+00:00",
  "category": "news",
  "content_html": "<p>You guys are getting paid?</p>\n<h2>Show of hands:</h2>\n<p>How many of you learned programming because it was fun?</p>\n<h2>Part 1</h2>\n<h2>What is Recreational Programming?</h2>\n<h2>Definition</h2>\n<p>Programming for the joy of programming itself - not for work, not for money, not for external requirements.</p>\n<h2>What it looks like:</h2>\n<ul>\n<li>Building things because you're curious how they work</li>\n<li>Exploring new languages just to see what they feel like</li>\n<li>Solving problems that only exist in your head</li>\n<li>Creating tools for problems you don't actually have</li>\n<li>Writing code that makes you smile</li>\n</ul>\n<h2>What it's NOT:</h2>\n<ul>\n<li>Side hustles or potential startups</li>\n<li>Skill building for career advancement</li>\n<li>Following tutorials step-by-step</li>\n<li>Grinding through coding challenges for interviews</li>\n<li>Building what others expect you to build</li>\n</ul>\n<p><strong>The key distinction:</strong> Internal motivation vs. external pressure</p>\n<h2>Why it matters:</h2>\n<ul>\n<li>Prevents burnout by reconnecting with intrinsic motivation</li>\n<li>Develops intuition through low-stakes exploration</li>\n<li>Maintains long-term passion for the craft</li>\n<li>Often leads to unexpected breakthroughs and learning</li>\n</ul>\n<h2>Part 2</h2>\n<h2>The Recreational Programming Spectrum</h2>\n<h2>Style 1: The Live Explorer</h2>\n<ul>\n<li>Builds in public through streams or blogs</li>\n<li>Shows the messy process: dead ends, bugs, restarts</li>\n<li>Community becomes accountability and energy source</li>\n<li>Projects range from practical tools to pure experiments</li>\n</ul>\n<h2>Style 2: The Deep Diver</h2>\n<ul>\n<li>Obsesses over understanding how things really work</li>\n<li>Builds toy versions of complex systems</li>\n<li>Values learning over shipping</li>\n<li>Often has multiple &quot;educational&quot; implementations</li>\n</ul>\n<h2>Style 3: The Creative Technologist</h2>\n<ul>\n<li>Uses code as artistic medium</li>\n<li>Generative art, music synthesis, interactive installations</li>\n<li>Technology serves creative vision</li>\n<li>Often blends programming with other disciplines</li>\n</ul>\n<h2>Style 4: The Problem Solver</h2>\n<ul>\n<li>Scratches personal itches with code</li>\n<li>Tools that solve tiny annoying problems</li>\n<li>&quot;Good enough&quot; solutions that work for them</li>\n<li>Often accidentally builds useful things</li>\n</ul>\n<h2>Style 5: The Language Explorer</h2>\n<ul>\n<li>Constantly trying new languages and paradigms</li>\n<li>Implements same concepts across different languages</li>\n<li>Drawn to unusual or experimental languages</li>\n<li>Code as intellectual curiosity</li>\n</ul>\n<h2>Part 3</h2>\n<h2>Common Patterns Across All Styles</h2>\n<h2>Permission to Build &quot;Useless&quot; Things</h2>\n<ul>\n<li>No business case required</li>\n<li>Curiosity is sufficient justification</li>\n<li>Failed experiments still teach valuable lessons</li>\n</ul>\n<p><strong>Key insight:</strong> ROI doesn't apply to recreational programming</p>\n<h2>Follow Energy, Not Plans</h2>\n<ul>\n<li>Switch projects when excitement fades</li>\n<li>Multiple abandoned repos are exploration, not failure</li>\n<li>Boredom is data about what interests you</li>\n</ul>\n<p><strong>Key insight:</strong> Boredom is data, not defeat</p>\n<h2>Document the Journey</h2>\n<ul>\n<li>Share process, not just results</li>\n<li>Teaching forces deeper understanding</li>\n<li>Creates connection with others on similar paths</li>\n</ul>\n<p><strong>Key insight:</strong> Narrate your decisions</p>\n<h2>Embrace the Learning Process</h2>\n<ul>\n<li>Beginner's mind in new domains</li>\n<li>Comfortable with not knowing</li>\n<li>Process over product</li>\n</ul>\n<p><strong>Key insight:</strong> Progress over perfection</p>\n<h2>Part 4</h2>\n<h2>Your Personal Programming Playground</h2>\n<h2>The Environment</h2>\n<ul>\n<li>Dedicated &quot;experiments&quot; folder/repo</li>\n<li>No production concerns: minimal setup, no CI/CD pressure</li>\n<li>Quick project initialization scripts</li>\n<li>Version control optional</li>\n</ul>\n<h2>Approaches You Can Try</h2>\n<ul>\n<li>Weekly Experiments (2-4 hours exploring one new thing)</li>\n<li>Scratch-Built Challenges (Build toy versions of tools you use)</li>\n<li>Itch-Scratching Projects (Solve your own annoying problems)</li>\n<li>Teaching Projects (Build something while explaining it)</li>\n<li>Cross-Language Challenges (Same problem, different languages)</li>\n</ul>\n<h2>The Mindset Shifts</h2>\n<ul>\n<li>&quot;What if...&quot; instead of &quot;I should...&quot;</li>\n<li>Progress over perfection</li>\n<li>Learning over shipping</li>\n<li>Curiosity over productivity</li>\n</ul>\n<h2>Part 5</h2>\n<h2>Real Examples in the Wild</h2>\n<h2>Zikani Nyirenda - <em>The Practical Experimenter</em></h2>\n<ul>\n<li>Creates random but useful tools: browser automation, file organizers, Git utilities</li>\n<li>Experiments across Go, Rust, Python, Vue, and React</li>\n<li>&quot;What small problem can I solve today?&quot; approach to coding</li>\n<li>Perfect example of scratching personal itches through code</li>\n</ul>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/zikani03\">github.com/zikani03</a></p>\n<h2>Jeremiah Chienda - <em>The Full-Stack Experimenter</em></h2>\n<ul>\n<li>Explores different architectural patterns and frameworks</li>\n<li>Builds tools that solve real problems while learning new technologies</li>\n<li>Shows how recreational programming can span the entire tech stack</li>\n</ul>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/liwoo\">github.com/liwoo</a></p>\n<h2>Tsoding Daily - <em>The Live Explorer</em></h2>\n<ul>\n<li>Streams 4+ hours daily building random projects from scratch</li>\n<li>Built his own text editors, programming languages, ray tracers</li>\n<li>Shows complete process including failures and debugging</li>\n<li>&quot;Let's see what happens if...&quot; approach to everything</li>\n</ul>\n<h2>ThePrimeagen - <em>The High-Energy Problem Solver</em></h2>\n<ul>\n<li>Creates CLI tools and Neovim plugins for personal workflow optimization</li>\n<li>Infectious enthusiasm for dev tools and performance</li>\n<li>Reacts to and critiques other developers' code/approaches</li>\n<li>Makes optimization and tooling feel like extreme sports</li>\n</ul>\n<h2>Casey Muratori - <em>The Systems Deep Diver</em></h2>\n<ul>\n<li>Handmade Hero: Building a complete game from scratch on stream</li>\n<li>Explains every single line of code and system design decision</li>\n<li>No libraries, understanding everything from first principles</li>\n<li>Demonstrates that you can build modern software without frameworks</li>\n</ul>\n<h2>Ben Eater - <em>The Educational Builder</em></h2>\n<ul>\n<li>Builds computers on breadboards, explains every component</li>\n<li>Creates video series on how CPUs, memory, and networks actually work</li>\n<li>Takes months to build what you could buy for $5</li>\n<li>Makes hardware fundamentals accessible and fascinating</li>\n</ul>\n<h2>Dan Luu - <em>The Deep Technical Investigator</em></h2>\n<ul>\n<li>Writes detailed blog posts investigating performance mysteries</li>\n<li>Benchmarks everything: keyboards, terminals, programming languages</li>\n<li>Turns curiosity about &quot;why is X slow?&quot; into multi-thousand word research</li>\n<li>Demonstrates how recreational investigation can uncover industry-wide issues</li>\n</ul>\n<p><strong>Each represents a different path back to programming joy</strong></p>\n<h2>Closing Challenge</h2>\n<p>Pick one experiment:</p>\n<ol>\n<li>Build the worst possible version of a tool you use daily</li>\n<li>Spend 2 hours with a language you've been curious about</li>\n<li>Document yourself solving a small problem</li>\n<li>Fork an interesting project and mess with it</li>\n<li>Try live coding or streaming your process</li>\n</ol>\n<p><strong>The only rule:</strong> Stop if it stops being fun.</p>\n<h2>Final Thought</h2>\n<p>&quot;The goal isn't to become any of these programmers. It's to remember why you started coding and keep that curiosity alive alongside your career.&quot;</p>\n",
  "content_markdown": "You guys are getting paid?\n\n## Show of hands:\n\nHow many of you learned programming because it was fun?\n\n## Part 1\n\n## What is Recreational Programming?\n\n## Definition\n\nProgramming for the joy of programming itself - not for work, not for money, not for external requirements.\n\n## What it looks like:\n\n- Building things because you're curious how they work\n- Exploring new languages just to see what they feel like\n- Solving problems that only exist in your head\n- Creating tools for problems you don't actually have\n- Writing code that makes you smile\n\n## What it's NOT:\n\n- Side hustles or potential startups\n- Skill building for career advancement\n- Following tutorials step-by-step\n- Grinding through coding challenges for interviews\n- Building what others expect you to build\n\n**The key distinction:** Internal motivation vs. external pressure\n\n## Why it matters:\n\n- Prevents burnout by reconnecting with intrinsic motivation\n- Develops intuition through low-stakes exploration\n- Maintains long-term passion for the craft\n- Often leads to unexpected breakthroughs and learning\n\n## Part 2\n\n## The Recreational Programming Spectrum\n\n## Style 1: The Live Explorer\n\n- Builds in public through streams or blogs\n- Shows the messy process: dead ends, bugs, restarts\n- Community becomes accountability and energy source\n- Projects range from practical tools to pure experiments\n\n## Style 2: The Deep Diver\n\n- Obsesses over understanding how things really work\n- Builds toy versions of complex systems\n- Values learning over shipping\n- Often has multiple \"educational\" implementations\n\n## Style 3: The Creative Technologist\n\n- Uses code as artistic medium\n- Generative art, music synthesis, interactive installations\n- Technology serves creative vision\n- Often blends programming with other disciplines\n\n## Style 4: The Problem Solver\n\n- Scratches personal itches with code\n- Tools that solve tiny annoying problems\n- \"Good enough\" solutions that work for them\n- Often accidentally builds useful things\n\n## Style 5: The Language Explorer\n\n- Constantly trying new languages and paradigms\n- Implements same concepts across different languages\n- Drawn to unusual or experimental languages\n- Code as intellectual curiosity\n\n## Part 3\n\n## Common Patterns Across All Styles\n\n## Permission to Build \"Useless\" Things\n\n- No business case required\n- Curiosity is sufficient justification\n- Failed experiments still teach valuable lessons\n\n**Key insight:** ROI doesn't apply to recreational programming\n\n## Follow Energy, Not Plans\n\n- Switch projects when excitement fades\n- Multiple abandoned repos are exploration, not failure\n- Boredom is data about what interests you\n\n**Key insight:** Boredom is data, not defeat\n\n## Document the Journey\n\n- Share process, not just results\n- Teaching forces deeper understanding\n- Creates connection with others on similar paths\n\n**Key insight:** Narrate your decisions\n\n## Embrace the Learning Process\n\n- Beginner's mind in new domains\n- Comfortable with not knowing\n- Process over product\n\n**Key insight:** Progress over perfection\n\n## Part 4\n\n## Your Personal Programming Playground\n\n## The Environment\n\n- Dedicated \"experiments\" folder/repo\n- No production concerns: minimal setup, no CI/CD pressure\n- Quick project initialization scripts\n- Version control optional\n\n## Approaches You Can Try\n\n- Weekly Experiments (2-4 hours exploring one new thing)\n- Scratch-Built Challenges (Build toy versions of tools you use)\n- Itch-Scratching Projects (Solve your own annoying problems)\n- Teaching Projects (Build something while explaining it)\n- Cross-Language Challenges (Same problem, different languages)\n\n## The Mindset Shifts\n\n- \"What if...\" instead of \"I should...\"\n- Progress over perfection\n- Learning over shipping\n- Curiosity over productivity\n\n## Part 5\n\n## Real Examples in the Wild\n\n## Zikani Nyirenda - *The Practical Experimenter*\n\n- Creates random but useful tools: browser automation, file organizers, Git utilities\n- Experiments across Go, Rust, Python, Vue, and React\n- \"What small problem can I solve today?\" approach to coding\n- Perfect example of scratching personal itches through code\n\n[github.com/zikani03](https://github.com/zikani03)\n\n## Jeremiah Chienda - *The Full-Stack Experimenter*\n\n- Explores different architectural patterns and frameworks\n- Builds tools that solve real problems while learning new technologies\n- Shows how recreational programming can span the entire tech stack\n\n[github.com/liwoo](https://github.com/liwoo)\n\n## Tsoding Daily - *The Live Explorer*\n\n- Streams 4+ hours daily building random projects from scratch\n- Built his own text editors, programming languages, ray tracers\n- Shows complete process including failures and debugging\n- \"Let's see what happens if...\" approach to everything\n\n## ThePrimeagen - *The High-Energy Problem Solver*\n\n- Creates CLI tools and Neovim plugins for personal workflow optimization\n- Infectious enthusiasm for dev tools and performance\n- Reacts to and critiques other developers' code/approaches\n- Makes optimization and tooling feel like extreme sports\n\n## Casey Muratori - *The Systems Deep Diver*\n\n- Handmade Hero: Building a complete game from scratch on stream\n- Explains every single line of code and system design decision\n- No libraries, understanding everything from first principles\n- Demonstrates that you can build modern software without frameworks\n\n## Ben Eater - *The Educational Builder*\n\n- Builds computers on breadboards, explains every component\n- Creates video series on how CPUs, memory, and networks actually work\n- Takes months to build what you could buy for $5\n- Makes hardware fundamentals accessible and fascinating\n\n## Dan Luu - *The Deep Technical Investigator*\n\n- Writes detailed blog posts investigating performance mysteries\n- Benchmarks everything: keyboards, terminals, programming languages\n- Turns curiosity about \"why is X slow?\" into multi-thousand word research\n- Demonstrates how recreational investigation can uncover industry-wide issues\n\n**Each represents a different path back to programming joy**\n\n## Closing Challenge\n\nPick one experiment:\n\n1. Build the worst possible version of a tool you use daily\n2. Spend 2 hours with a language you've been curious about\n3. Document yourself solving a small problem\n4. Fork an interesting project and mess with it\n5. Try live coding or streaming your process\n\n**The only rule:** Stop if it stops being fun.\n\n## Final Thought\n\n\"The goal isn't to become any of these programmers. It's to remember why you started coding and keep that curiosity alive alongside your career.\"\n",
  "dateCreated": "2026-10-14T07:29:10.775073046+00:00",
  "date_created": "2026-10-13T22:33:33+00:00",
  "date_modified": "2026-10-13T22:33:33+00:00",
  "date_published": "2026-10-13T22:33:33+00:00",
  "description": "You guys are getting paid? Show of hands: How many of you learned programming because it was fun? Part 1 What is Recreational Programming? Definition Programming for the joy of programming itself - not for work, not for money, not for…",
  "external_url": "https://www.cphiri.dev/presentations/recreational-programming",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/hnrss-org/2026/10/2026-10-13-recreational-programming.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/hnrss-org/2026/10/2026-10-13-recreational-programming.md"
  },
  "id": "urn:aggr:item:6cd033c3ae88e0392f754d8196f40baaebbf1621",
  "isBasedOn": {
    "@id": "https://www.cphiri.dev/presentations/recreational-programming"
  },
  "mainEntity": {
    "@id": "https://www.cphiri.dev/presentations/recreational-programming",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-13-recreational-programming/#webpage"
    },
    "author": [
      {
        "@type": "Person",
        "name": "jslakro"
      }
    ],
    "dateModified": "2026-10-13T22:33:33+00:00",
    "datePublished": "2026-10-13T22:33:33+00:00",
    "headline": "Recreational Programming",
    "timeRequired": "PT4M",
    "url": "https://www.cphiri.dev/presentations/recreational-programming",
    "wordCount": 877
  },
  "name": "Archived snapshot: Recreational Programming",
  "preview": null,
  "reading_minutes": 4,
  "replicated_at": null,
  "source": "hnrss-org",
  "source_name": "Hacker News: Front Page",
  "summary": null,
  "tags": [],
  "temporalCoverage": "2026-10-14T07:29:10.775073046+00:00",
  "title": "Recreational Programming",
  "url": "https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-13-recreational-programming/",
  "word_count": 877
}