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