Recreational Programming

jslakro 123 points 47 comments October 13, 2026
www.cphiri.dev · View on Hacker News

Discussion Highlights (19 comments)

vitalnodo

Nice presentation, I've been asking myself about exactly this lately. Speaking for myself, I like to build a small copy of some big project, and then I put big hopes on it and start feeling guilty that it's unfinished. It turns into a kind of ban on picking up anything else, while the big one keeps getting put off too. And here there are so many different styles and approaches laid out.

smnplk

Shout out to Tsoding [1]. He is my favorite recreational programmer. [1] - https://www.youtube.com/@TsodingDaily

sublinear

> Style 4: The Problem Solver I was looking for this one. It's far beyond a mere "style". It breaks the entire premise. Being a "problem solver" means you live with the code you write on a daily basis the same way as anyone with any other skill such as woodworking or sewing/knitting. For the people who think writing code (without AI) is so hard that they make it a separate "thing" away from their usual life, I have to also wonder whether they can cook their own breakfast.

bitwize

A Proustian "eating the madeleine" moment occurred when I booted my MiSTer into TI-99/4A mode and began typing programs in TI BASIC, redefining characters and drawing little images with them on screen. In the midst of a tech hellscape, I suddenly remembered why I loved programming to begin with.

passive

I did not like how this handled scrolling, made my navigation feel constrained. Maybe I was supposed to use the keyboard to navigate? It doesn't seem particularly clear.

mintflow

Like the points in this presentation, recently I kept thinking it seems I need find the joy of fiddling and learning, not build some thing for money but for fun only. Have been used some spare time to learn common lisp and write a manual project, still use web based AI as a quick search method. But I managed to learn some common lisp and how to do cffi in common lisp and - use gtk4 cffi binding to start a GUI app - write a ghostty cffi to encode/decode terminal escape sequences - write a libssh2 cffi to communicate with a ssh server Hope I can build a minimal SSH Terminal using common lisp to keep on experiment and exploration

markus_zhang

I’m definitely strong type 2, strong in the sense of I don’t care about activities of other types, not in the sense that I’m very good at programming. I have a bunch of abandoned repos. I used to want to finish some of them, so perhaps I can show them to some people and get a in-domain job, but recently I realized that it is probably impossible for me to do so. I don’t have success because I don’t chase it. I chase fun and that’s what I should expect, not other things like career switch or monetary rewards.

mrandish

The definition perfectly describes how I started out in computers in 1981. Brought home a 4K, 8-bit computer from Radio Shack that I could barely afford and hooked it to the TV. Had never touched a computer before, zero prior knowledge and only had the manual in the box (which was surprisingly good). No one I'd ever met owned a computer at home or used one at work and I'd never really considered that you could make money with computers. I just thought the games seemed fun and the idea of learning about programming seemed cool. Turns out typing in long listings from B&W hobbyist zines and then finding all the typos was a fine way to learn. Teaching myself assembler was harder because I had no docs. I was so clueless I actually looked up Motorola in the phone book and called to ask where I could get a manual. The sales rep who answered the phone must have taken pity on me because he mailed the CPU manual for free. I still have the purple reference card and remember the common opcodes by heart ( https://colorcomputerarchive.com/repo/Documents/Datasheets/M... ) The first time I made money was about 18 months later when I wrote a pretty handy disk utility program. Stayed up all Friday night finishing it. Copied onto floppies I sold for $5 at the local user's group Saturday morning. Made $140 and got my first 28 customers. That was enough to get me hooked on making software and selling it. ~40 years, three startups, over a dozen products, hundreds of good people employed, a couple million customers and two PC Magazine Product of the Year awards later - I regret nothing. Started on a lark to learn and have fun. Much was learned, fun was had. Wonderful journey - highly recommend.

GMoromisato

Recreational programming is great! I'm always reinventing the wheel because it's more fun for me to (e.g.,) write my own XML parser than to learn some library. But, IMHO, the difference between writing programs for fun and writing programs that other people find valuable is like the difference between masturbating and making babies. The former is fun, the latter is fulfilling. There is nothing wrong with having fun. But if you ever find yourself unsatisfied with all your half-built projects, maybe consider writing software that other people value or even love. Yes, it can be frustrating to try (and often fail) to satisfy others. But seeing someone enjoying your software is an amazing feeling. It makes you feel proud, useful, and talented all at once.

vandyswa

Painful website, tho

xyzzy_apps

If painters have a canvas then programmers have a buffer.

Hydraulix989

Too bad it is all over after this year because AI killed it all :(

LastTrain

This describes me, or described me - AI has brought on some existential feelings about programming as a hobby for the moment.

monkmartinez

Thats me!!!! More than 20 years of hobby programming. It has never been a better time to be a recreational programmer and I have never been more excited with all the changes! As someone that started making html pages with dial-up, I am just gobsmacked with LLM's! Programming has helped me immensely in my career as a professional firefighter and I hope to have a second act in tech... we'll see!

sonderotis

Loved this presentation. I personally know the presenter and he presented it at a hackathon :)

prophesi

Recreational programming used to be one of the rubrics to hire a software developer. If you have an intrinsic motivation to code, it would often be more valuable than your credentials. That's why junior devs would push up sites showcasing their resume of random projects they've done outside of education in order to give them an edge over their competition. Some companies would even encourage some time on the clock for working on side projects to prevent burnout. At the same time, some of the workers in the industry were disgruntled that you were expected to enjoy coding in your spare time to keep up. While some truly just wanted to do it because they were good at it, and would rather turn off the software dev brain after work to do other things they enjoy in life. With the advent of high-performing LLM's for coding, though, it seems more important to showcase how you can harness AI for your recreational projects than the projects themselves. It's a bit of a catch-22 for junior devs though. I still think it's good rubric to get into programming if you like to do it recreationally, but these are just a few of my thoughts on how it can be problematic.

jan_m_savage

maybe use a shade of gray on black bg? white is too hard on the eyes.

beej71

I kinda wonder if the hacker community is going to eventually be like the ham radio community in that there are no more jobs in it, and we just have the dedicated enthusiast tinkerers working on the side.

DonHopkins

"Recreational Programming" sounds like a legal alternative to "Medical Programming" that you don't need to get a prescription from your doctor to do. I prefer the term "Pleasure Programming", to de-emphasize how addictive it is. >Permission to build useless things. I prefer the term "Ultimate Things", to de-emphasize how useless they are. https://en.wikipedia.org/wiki/Useless_machine >The Italian artist Bruno Munari began building "useless machines" (macchine inutili) in the 1930s. He was a "third generation" Futurist and did not share the first generation's boundless enthusiasm for technology but sought to counter the threats of a world under machine rule by building machines that were artistic and unproductive.[ >The version of the useless machine that became famous in information theory (basically a box with a simple switch which, when turned "on", causes a hand or lever to appear from inside the box that switches the machine "off" before disappearing inside the box again) appears to have been invented by MIT professor and artificial intelligence pioneer Marvin Minsky, while he was a graduate student at Bell Labs in 1952. Minsky dubbed his invention the "ultimate machine", but this nomenclature did not catch on. The device has also been called the "Leave Me Alone Box". So here's a live demo of an ultimate thing I pleasure programmed: https://hyperties.org/cabinet/ultimate/ What this is: I've been using Claude to recreationally developing a PDP-7 and Type 340 vector graphics display emulator, in order to run an early CAD system called PIXIE, which has the first known radial menus, driven by a light pen, developed at Cambridge in the late 1960's, whose 128 pages of PDP-7 assembly language source code the author Heinz Lemke scanned and sent me. Once I got it working, I told Mitch Bradley about how much I wanted a Forth system for it. Mitch has written useful things like OpenFirmware and CForth, and I was his summer intern at Sun in 1987, where we had a great time hacking his CForth into CADroid (a circuit editing system developed at LucisFilms) as an extension language. https://github.com/MitchBradley/openfirmware https://github.com/MitchBradley/cforth http://www.art.net/~hopkins/Don/lang/forth.html Since then, Mitch developed his Sun Forth system into OpenFirmware for the boot ROMs of many like the Sparcstation, PowerPC Mac, and the OLPC. So I thought it would be fun to run Forth on the same machine that ran PIXIE, mainly because I'd love to work together and hack Forth with Mitch again after all these years, but also because Forth was the perfect language for the PDP-7. So Mitch whipped up a PDP-7 Forth in one day with Claude, with Turtle Graphics! https://github.com/MitchBradley/pdp7forth https://hyperties.org/cabinet/forth/ It turns out that the PDP-7 instruction set is ideal for Forth. It has an "XCT" instruction for indirectly executing other instructions, which makes the Forth inner interpreter loop only require 3 instructions. https://github.com/SimHacker/WillWrightShowForFood/blob/main... https://github.com/SimHacker/WillWrightShowForFood/blob/main... Now I'm hacking virtual hardware devices for the PDP-7 and controlling them with Forth. First I made an "Ultimate Machine" device for the PDP-7, inspired by Claud Shannon and Marvin Minsky, whose only purpose is to turn itself off! https://en.wikipedia.org/wiki/Useless_machine Bruno Munari called it a "Useless Machine", but Minsky was more compassionate, and appreciated its purpose of turning itself off as being ultimately useful, so he renamed it the Ultimate Machine. I think there are some deep implications to the halting problem, but I can't quite put my finger on it the way the Ultimate Machine puts its finger on its own off switch. The Ultimate Machine emulator plugs into the PDP-7 as a virtual device cabinet that has its own device control IOTs that augment the PDP-7 instruction set. DEC sold a lot of "plug-in instruction sets in a cabinet" like the Type 340 vector graphics display, its light pen, character generator, subroutine executer, advanced math instructions, etc. https://gunkies.org/wiki/Type_340_Precision_Incremental_Disp... The Ultimate Machine device, an emulator of device 56 with its registers, phases and IOTs: https://github.com/SimHacker/WillWrightShowForFood/blob/main... https://github.com/SimHacker/WillWrightShowForFood/blob/main... Then I made a Forth program that draws an animation of the Ultimate Machine on the 340 display. It's not a "simulation" -- it's an actual visual representation of the emulated Ultimate Machine device state that FORTH controls via IOT instructions! The Forth 340 view, with the IOT words, the hand, lid and lamps, and the light-pen switch, so you can turn it on (and off) with the light pen: https://github.com/SimHacker/WillWrightShowForFood/blob/main... Then for even more fun, I made a Turing Machine device, which is like the 340 display in that it not only adds device control IOT instructions, but also executes its own Turing Machine code out of the same 18 bit core memory as the PDP-7 and 340 display. https://hyperties.org/cabinet/turing/ https://github.com/SimHacker/WillWrightShowForFood/blob/main... Ostensibly the real use is education, but I really did it because it was fun. Forth, the 340, and co-processors in one core: what the cabinet teaches: https://github.com/SimHacker/WillWrightShowForFood/blob/main... Here's a demo video that tries to explain it: PIXIE and FORTH on PDP-7 Cabinet Emulator with Type 340 Vector Graphics Display: https://www.youtube.com/watch?v=lo8kdY-5i6c

Semantic search powered by Rivestack pgvector
9,386 stories · 88,435 chunks indexed