Rendered at 14:40:59 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
mrandish 13 hours ago [-]
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.
dd8601fn 10 minutes ago [-]
> The sales rep who answered the phone must have taken pity on me because he mailed the CPU manual for free.
You almost want to find out if that person is still around, to thank them.
glimshe 13 hours ago [-]
This is a great life story. I had similar beginnings as a curious child but no PC Magazine Product of the Year! I'm sure you'll find many people here who also started curious and with no friends who cared or had even seen a computer.
Is there an equivalent to that today? As soon as a cool technology appears, there are startups selling something within a few weeks. What is the "weird" kid doing today?
mrandish 11 hours ago [-]
> but no PC Magazine Product of the Year!
Well, hitting the first home run took about a decade full of base hits and more than a few strike-outs on the way to figuring out what I needed to know to do a tech startup well.
> What is the "weird" kid doing today?
Over the last decade I've spent increasing pro bono time trying to 'pay it forward' talking to classes and groups of erstwhile entrepreneurs, so I've heard versions of that question a LOT. It actually took me a couple years before I realized there is no 'right' answer because the right thing for each person differs depending their unique personality, skills, interests, context and life journey.
The most helpful thing I can share isn't a guess about which target you should aim for but rather some advice about how to approach your journey. First, I hope you want to be a tech entrepreneur because that's the only thing I know about. I have no idea what skills will be in demand to get a high-paying, secure job or how to get promoted. I had to become an entrepreneur because I was terrible at being an employee.
I never aimed for my guess at what would be "hot" next and I doubt my guess would be right anyway. Every time I found success it was by starting with a real problem some customer actually had. Initially that customer was me or a friend but it doesn't matter. It just has to be a serious enough problem that motivated customers are actively looking for new and better solutions than what exists. Then figure out a way to solve their problem better enough that they'll actually buy it. It doesn't have to be perfect in every way, just better enough in most ways and perfect in at least one way.
In fact, some of my best products became hits by cleverly solving one part of a problem SUPER well, but only did so at the cost of some odd downsides in other areas. Here's a generic example of the pattern that worked: my friends and I all desperately wanted a Zig-Zag Widget but good ones were stupid expensive and the ones ordinary schmoes like us could afford Zigged and Zagged like shit. But while we were bitching about this sorry-ass state of affairs over pizza and beer one night we theory-crafted how it might be possible to make a Zig-Only Widget ordinary mortals could afford. The dumb idea was by not Zagging at all, it just might be able to Zig even better than the best. Since we all had no Zig or Zag, that seemed like a trade-off we might be pretty okay with. Turns out other people were too... especially after we worked on adding some 'pseudo-Zag' features that worked around the worst parts of not Zagging. And that's how we came up with the world's best Zig (but no Zag) and sold it at 1/4th the price of even a half-assed Zig-Zag. Not really new technology, just a very clever mixture of the exact right old tech with a little new stuff, some clever UX innovations and cool workflow integrations. Blam! First Product of the Year.
If prototyping dozens of different iterations and trying each one out with real, live problem-having customers and listening empathetically for hours to their constant complaints, ridiculous demands and occasional awesome suggestions sounds like fun, then you may have found your calling. If you just want to write great code for a good paycheck and be left in peace, then, my friend, run the other way. :-) It's ironic because I got into making products because I loved programming but after the first few years, I wasn't writing much code anymore. It was invaluable that I'd learned the business by starting as a self-taught, down-to-the-metal, assembly language, real-time graphics programmer because I was able to identify and hire programmers far more skilled than I'd ever been but after the first million in revenue and 20th employee I personally spent more time writing or reviewing ad copy and legal contracts than code. But that's also invaluable because as the company grew and various fires flared up in every part of our business, I got pretty damn good at doing marketing, sales, PR, finance and even legal stuff myself when necessary. And all that was the best prep ever for being able to run the place when we hit a hundred million in sales and hundreds of employees.
I used to hate the constant looming threat of existential doom always hovering over our tiny startup. Then one day I finally understood that the constant stream of scary new challenges were there to force me to keep growing and learning new skills. not only survive, but to level up and feel the satisfaction of summitting ever higher peaks. I hope you'll find the same on your journey. The best part is now that I'm retired, I'm back to programming in 8-bit assembler and 4K of RAM, except now I have a rather expansive collection with every model Atari, Commodore, Sinclair and Amstrad ever sold. :-)
glimshe 6 hours ago [-]
I'm retired too, but after the opposite journey, one of a successful employee. :) Thanks for the insights!
bananaboy 9 hours ago [-]
I love this! Thanks for sharing!
thwarted 7 hours ago [-]
> Turns out typing in long listings from B&W hobbyist zines and then finding all the typos was a fine way to learn.
My mom and I used to take turns reading the code from the magazines out loud while the other typed the code into our Commodore 64. She used to say things like "I was just having fun, typing in the games and playing them, but thwarted was actually learning something" (no, my mom doesn't call me "thwarted").
dgeiser13 48 minutes ago [-]
> two PC Magazine Product of the Year
What were these products?
diegolas 2 hours ago [-]
this comment put a smile on my face
ktm5j 20 minutes ago [-]
Programming for fun as a kid was a great way to learn.. however as an adult burnout is a killer, if I don't leave work at work then I turn into a mess pretty quickly. I'm pretty confused about how they think "recreational programming" prevents burnout, it sure doesn't in my experience.
prophesi 10 hours ago [-]
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.
vrighter 4 hours ago [-]
if any of them are doing it because they feel they have to then that's not recreational programming. That's resume filling.
RugnirViking 3 hours ago [-]
something about metrics and targets. When I got my first programming job, one of the reasons they hired me, apparently, was because I knew what components I had in my PC at home. If they had published the question beforehand and everybody knew to study it, it would no longer have made sense to use that question as a filter. You want the people who knew this stuff anyway, with no expectation of reward
d-u-d-e 7 hours ago [-]
That's not the goal of recreational programming though. You don't do it for the ROI. It may have a ROI, but I don't do this for that, I do it because I am genuinely curious.
prophesi 6 hours ago [-]
[dead]
smnplk 15 hours ago [-]
Shout out to Tsoding [1]. He is my favorite recreational programmer.
I saw another guy I'm trying to find, he's Asian, one of the projects he did was make a map from raw OSM nodes I think. But he used a "niche" language like Zed and worked directly with GL idk was trying to find him. One of those really really good programmers. His videos are in English. The map is like Brooklyn or some part of NY.
He's the "doing ui in c to piss of react devs" guy, right?
ykonstant 2 hours ago [-]
Ooh that's interesting, can you point me to the exact videos?
ge96 9 hours ago [-]
tsoding is
glouwbug 14 hours ago [-]
I always champion Bisqwit too
bitwize 13 hours ago [-]
Tsoding's streams are so my jam. Right up there with Bisqwit.
metaltyphoon 9 hours ago [-]
Mista Azosin!
1dontknow_ 4 hours ago [-]
Is this a slideshow or what exactly? I mean clearly its not an article, but also slideshow Id expect more images and make it more skimmable and have a sense whats front or back and which page Im at.
Im sorry I really wanted to read what you wrote but please put it in a proper form because right now its uncomfortable.
a3w 2 hours ago [-]
reveal.js , press o for menu. Or ? for this help:
```
KEY ACTION
N , SPACE Next slide
P , Shift SPACE Previous slide
← , H Navigate left
→ , L Navigate right
↑ , K Navigate up
↓ , J Navigate down
Alt + ←/↑/→/↓ Navigate without fragments
Shift + ←/↑/→/↓ Jump to first/last slide
B , . Pause
F Fullscreen
G Jump to slide
ESC, O Slide overview
```
passive 14 hours ago [-]
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.
kmoser 10 hours ago [-]
Navigation was easy. What I didn't like was having no idea where I was and how much farther there was to go. It was like the world's least intuitive HyperCard stack.
brabel 9 hours ago [-]
There is a progress bar of sorts on the right side, little squares tell you where you are.
oneeyedpigeon 41 minutes ago [-]
On all browsers? I can't see what you're referring to on Chrome, macOS.
vostrocity 9 hours ago [-]
This looks like it was meant to be presented to a live audience.
randfur 7 hours ago [-]
It really needed prev/next buttons, using the scroll wheel with such a long debounce was laborious.
praet 12 hours ago [-]
Besides arrow keys, hjkl (vim-style) apparently also works for navigation
severak_cz 3 hours ago [-]
I can definitely see myself in there. I am mostly problem solver but each problem it's also place for explorign new ideas and/or developing some in-house library which gets reused over and over. Also I get easily distracted and thrown into some ADHD sidequest and end up with font tool which can also render maps.
I feel that. I got into programming because of video games. At some point I wanted to know how they are made and wanted to create something on my own. Through a friend I got known to BlitzBasic3D and shortly after BlitzMax. I learned to program while making games, just for me, most things never got released. I spent hours deep into the mornings at time and loved it. It's quite some years since I felt like that and had the energy and motivation to go on and on without hesitation.
I studied computer science and became a paid software engineer, all the experiences with BlitzMax laid out a good foundation for me (RIP Mark Sibly and thank you for your work), and while I like what I do, I don't love it like I did this game programming back then. These days I tend to look out for opportunities to create something that pays my bills or ultimately frees me of having to be employed but often enough I don't get myself to work on it because it's work after my paid work without knowing if that pays out and then the thought "Is it worth my time?" comes up even though the project itself might be even really interesting to pull off.
From time to time I looked back into game programming and every time I felt that little flame light up again. It's been a while now and I even have 2 ideas that I'd like to see implemented. After reading this I realize how much I crave this kind of programming currently. Should probably spend some time doing that :)
grahar64 5 hours ago [-]
I would add what I think I am to Styles:
6. The Perfectionist
. Solves the problems every different way they can think of looking for the perfect abstraction
. Obsesses over finding the correct name for things. The right name will make the thing better
. Moves code around until it finds a home. Where the code lives is important
. Shares work only when beautiful
LastTrain 12 hours ago [-]
This describes me, or described me - AI has brought on some existential feelings about programming as a hobby for the moment.
acedTrex 6 minutes ago [-]
Im very depressed over all this, to me it feels like all the beauty of the world has been sucked out, or at the very least blanketed in so much noise its impossible to discern.
brabel 8 hours ago [-]
I use AI to program at my job but at home I am trying to keep writing everything by hand. It’s very tempting to just let the AI do stuff for me when it gets tiring, especially when tests are failing and I know the AI could fix it for me in seconds while I have to spend hours figuring it out, but I try my best to do it without AI. I just ask the AI questions sometimes for things I would have used StackOverflow in the dark ages. I feel like people need to do this if they want to keep being programmers in the old fashioned way! Junior programmers especially.
globnomulous 4 hours ago [-]
Agreed, though the very existence of these tools changes the feeling of doing the work, which I can only assume changes the result in the brain. I hate the idea that these tools affect what my brain does and the value it attached to an activity even when I choose not to use the tool.
acedTrex 5 minutes ago [-]
> and the value it attached to an activity even when I choose not to use the tool.
My exact feelings, its so unpleasant
9 hours ago [-]
sergent_moon 1 hours ago [-]
Not trying to be a dick, but as soon as I see two "not" statements, I usually stop reading.
monkmartinez 11 hours ago [-]
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!
soulofmischief 10 hours ago [-]
I'd love to know more about how hobby programming and your professional firefighter career intersect, this sounds very interesting.
cobbzilla 2 hours ago [-]
I can't speak to firefighting, but in many ways emergency medicine is remarkably similar to debugging software: you're presented with a problem, it's manifesting some symptoms and you have to determine the root cause. Sometimes a clock is ticking.
If you actually enjoy the process of debugging, discovering root causes and fixing things, emergency medicine can be quite rewarding & fulfilling on very human level.
Fair warning: There are also some really bad experiences you will never un-see, if you're not ready for that I would stay away. Seeing death is objectively worse than the most catastrophic datacenter outage.
DonHopkins 8 hours ago [-]
In my professional DevOps role I'm firefighting all the time, and in my professional programmer role I'm arsoning fires all the time, but I'd also love to hear how real firefighters apply programming skills!
tjansen 7 hours ago [-]
Interesting idea (on a web site that is hard to use).
AI taught me that I don't really like programming per se. I was very good at it, I believe, but it's never been what I really wanted. I want to build stuff. AI let's me do it faster than ever before. But more important: it takes care of the boring, tedious stuff that caused me to abandon far more projects than I completed.
So far, 2026 has been my most productive year, by great margin. Things that I wouldn't have even dreamed of starting became possible. And the pace keeps accelerating.
lonelos 6 hours ago [-]
This is exactly my experience. It's interesting to see how some people are completely drained by agentic development (even though their management is not forcing them to be 10x engineers), and others thrive. I’d say those of us who thrive are in the minority, though.
The only thing that bothers me about this new era is that many projects are built on shaky foundations, as it is easier to ship, and expectations of delivery speed are often unrealistic. But that is more of a question of prioritizing quality and reliability, and not an inherent feature of development with AI.
prxm 54 minutes ago [-]
what is your metric for "productivity" exactly? generating more and more lines of code? we have always had a way to do that which is called copy pasting. now what we have is a tool that vaguely understands the problem at hand and performing the copy pasting in a stochastic manner. do you get your llm to bring a novel solution to a problem that hasnt been explored before? otherwise, i seem to fail to see the value in this process. what is it that you are getting out of it that makes you "more productive". do you even learn anything new when you are not even the one doing the work. what is the point of anything at this point.
sudo-bendg 7 hours ago [-]
I would add to the "what it's not" with one extra point, building without the expectation of others using the product. Not even buying, just using.
beej71 9 hours ago [-]
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.
privong 3 hours ago [-]
I'm not sure I follow...were there ever (many) jobs in the ham radio community? There have been people making/selling kits and radios, but it is _amateur_ radio, so was inherently non-commercial.
beej71 53 minutes ago [-]
I don't mean to suggest ham radio and hackers followed the same historical trajectory; rather that hacking will become as ham radio has always been.
GMoromisato 13 hours ago [-]
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.
Hydraulix989 13 hours ago [-]
Too bad it is all over after this year because AI killed it all :(
emptybits 11 hours ago [-]
One of the first slides clarifies that recreational programming is INTRINSICALLY MOTIVATED. I agree with this definition.
So if an external factor like LLM prowess “killed it all” for you, I would suggest you may not have been intrinsically motivated in the first place.
Long live recreational programming. It’s fun and, personally, it’s satisfying building things close to the metal.
Lerc 6 hours ago [-]
I definitely align with a lot of styles 2, 3, and 4
I have many years of expeiments, a selection of just 3
But lots of things like evolving pictures, palettes, or little creatures. Fluid simulation, cellular automata. Fluid simulation in cellular automata. Enough game Jams that I no longer know how many games I have made.
I have done all sorts of things, I am undeterred by AI. For some things I will now get AI to explore entire ideas. Other things I will do entirely myself, and many things will be varying degrees of each.
I see more opportunities for exploration. If you can see further by standing on the shoulders of giants, why begrudge a personal giant assistant?
scronkfinkle 13 hours ago [-]
I feel you're missing the point. AI has no impact on recreational programming, it's about satisfying your personal curiousities and interests. I'm currently hand rolling a database project in rust because I find writing rust is fun. If you're pausing to ask yourself "what's the use if you can just use AI" then you may not have liked programming intrinsically to begin with, but instead the second order effects it gave you.
bemtevi 12 hours ago [-]
It somewhat does have an impact on it, because a cool part of recreational programming for SOME people is to share their hobby with others, but the value that others will place on that sharing is diminishing with AI. It's just human nature to value something less or find it less impressive when it can easily be made with a machine.
argee 12 hours ago [-]
The internet is increasingly full of the types of people it's pointless sharing anything nascent with anyway. I'm sure a local meetup will see your side project very differently than a subreddit or hacker news (the latter will even send armies of bots to take you down).
bemtevi 2 hours ago [-]
True! But that doesn't mean we should exacerbate the situation and make it worse....
jmkr 12 hours ago [-]
This is how I feel, I like to share the cool thing I did and be part of creative spaces with other people, but I feel those spaces have gotten smaller, or changed.
d-u-d-e 7 hours ago [-]
It seems to me that you are still doing it to showcase it to others. I understand it feels great to talk about it with people understanding the effort you put in, but it really is a personal thing IMO.
bemtevi 3 hours ago [-]
No, this is just a fringe perspective based on the hyper-introvert bias in a lot of people on this forum....
kscarlet 12 hours ago [-]
I was so pissed when I wrote a cool data visualization tool then some people at work immediately assume Claude did it.
sixtyj 10 hours ago [-]
Would you stop swimming just because chlorine started being added to the pool water?
I like to swim.
(Just in case: Above is metaphor attempt.)
9 hours ago [-]
weezing 6 hours ago [-]
Well at least that's different because you have choice to use slop generator to vibe code or not and the chlorine is there no matter if you want it or not.
brandonmenc 12 hours ago [-]
You can still write a program even though AI can do it.
You can still build a table from scratch even though you can buy one from Ikea.
etc etc
iperov 8 hours ago [-]
why? Has AI taken away your permission to create useless things?
DonHopkins 8 hours ago [-]
You must be holding it wrong, because I'm using AI to bring lots of old dead code back to life!
If anything, I'm having more fun with programming since the lying machine was invented
whateveracct 9 hours ago [-]
you can just not use AI
iperov 8 hours ago [-]
That's the whole point: they can't, because even in any useless "fun" programming there was motivation that it might be useful to someone in the future, or simply to fill the internet with information.
But now there is absolutely no usefulness in creating useless projects.
whateveracct 8 hours ago [-]
sounds like a psychological skill issue
DonHopkins 8 hours ago [-]
Some people aren't into recreational programming, and think it's more fun to complain about AI and post unoriginal comments like "AI Slop" and "Stochastic Parrot" that are even less interesting and original than the AI slop and stochastic parroting that they're criticizing.
If you want to call something AI Slop, and parrot terms from papers you've never read and whose meaning you don't actually understand, then please at least write in complete sentences and explain exactly what it was that made you think it was AI Slop, and what you think of the paper that coined the term "Stochastic Parrot", because your drive-by one-line anti-AI comments are much more tedious and unoriginal than anything an LLM can generate.
whateveracct 7 hours ago [-]
the comment you are replying to is a complete sentence
I checked it out several months later and the UI issues are still there.
I try to extrude a sketch (you know, a basic and critical feature in a CAD program) and click on add profile and it does nothing, it doesn't even explain what I did wrong.
You get the diagnostics "warning
Select a derived sketch region or planar face before previewing extrude.
feature-preview-missing-profile"
but no matter how you select the sketch ahead of time, it doesn't change anything.
I think this comment I just wrote was an even bigger waste of time than just saying "AI slop", "stochastic parrot" and it was really stupid of me to even bother spending time on this.
whateveracct 7 hours ago [-]
people use Ai for stuff they don't care about
that's kinda the gist of it
i don't wanna use software that nobody cares about
charcircuit 9 hours ago [-]
If anything AI super charged it. I'm taking on more and more ambitious projects and am able to make tremendous progress in just a weekend.
xyzzy_apps 13 hours ago [-]
If painters have a canvas then programmers have a buffer.
testerius 6 hours ago [-]
THIS IS IT.
I know and understand it. However I see a lot of people being sad and angry because of LLMs/AI agents. I would like to add to this website section about LLMs/AI. You can use them or not at all if you want. I guess nobody forces you to use "magic" AI in your hobby projects.
epolanski 4 hours ago [-]
You could practice the magic in your 9-5 too before.
If you do so now, your coworker has built two features and automated some other job in the time you found the best design pattern for a particular problem.
testerius 3 hours ago [-]
Yeah. During job use AI if you have to (or just change job if you can). In your free time do programming by hand if you really need. I can understand it but some people can not handle it. I read on Hacker News, Reddit and some other places that people are sad and angry about LLMs/AI. They usually say some shit such as no more problem solving or AI do all work for them.
epolanski 3 hours ago [-]
> people are sad and angry about LLMs/AI
When you have made a life and career out of a particular skillset, like writing code, the fact that a machine is now doing your job is a hard swallow pill.
You will keep the denial and finding all the cons for as long as you can.
"Oh, but it's not clean", "Oh, but it's a spaghetti mess".
Because accepting that the previous points don't matter anymore in the overwhelming majority of cases, and the technology keeps getting better at each release is difficult.
It is sad after all. I enjoyed the magic and craft too. Now I'm a borderline meat relay, who'se added value is only because business and product people are too lazy to instruct the tools.
jackling 1 hours ago [-]
It's actually worse than that. In a repo where there is a heavy amount of AI code, it becomes impossible to manually write code. The AI code favors obtuse, unmaintainable mess (from the standpoint of a non-AI dev). Constantly overwriting your changes, large comments, hacky logic, overly-defensive programming, misunderstandings that the LLM made that cause you to waste hours debugging.
I've come to the realization that AI code bases are effectively AI-only code bases, unless one is using AI as just a code-autocomplete, then that seems mostly fine. But most devs are using it as an end2end implementation tool, having it 1-shot full features, and then iterating on them with the agent afterwards. The amount of churn and terrible code stops the manual coder from doing anything effectively.
In my own team's codebase, I'm confident that we would actually be further along without AI, and that AI coding is a hindrance (although AI debugging seems to be a pretty good tool). It is made worse that everyone does code reviews with AI now, and it constantly gets things wrong, and when its right, it's usually for the most basic, unimportant issues (again with the overly defensive coding style). This waste the manual coder time trying to figure out if the issue its requesting a fix for is an actual problem or not.
mintflow 14 hours ago [-]
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
atan2 3 hours ago [-]
Worth including a mention of pikuma.com here as well.
markus_zhang 14 hours ago [-]
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.
Waterluvian 13 hours ago [-]
I have so many abandoned repos. Once I see the finish line and I know exactly how they solve the problem, it stops being interesting to me.
makapuf 8 hours ago [-]
I, like the author, stopped worrying leaving aside unfinished projects. I cobsider learning or having fun was the project, and that I did finish. And I frequently come back to projects a while after.
vitalnodo 15 hours ago [-]
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.
DonHopkins 8 hours ago [-]
My rule of thumb is that if you've been talking about how cool doing something would be for longer than it would take you to do it, you should "Shut Up 'N Play Yer Guitar".
Now that AI makes it so easy to play yer guitar, there's a lot more shutting up to do!
jackling 2 hours ago [-]
Curious to get other's thoughts, but I recently got into a disagreement with a coworker when I stated that you can't be programming as a hobby if an AI writes the code for you. You could be developing software but if you're not actually writing the code, then you're not hobbyist programmer.
There is a big difference IMO between someone who wants to code traditionally and one that uses AI when it comes to developing software. And this difference illustrates what's a software developer to a programmer.
bitwize 15 hours ago [-]
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.
markus_zhang 13 hours ago [-]
I keep seeing posts about MiSTer on X and HN. Maybe I should get one.
platevoltage 13 hours ago [-]
It's a fun little device, I recommend it. It gives me a break from this world of slop.
iperov 8 hours ago [-]
That text sounds like a programmer's depression in the era of AI.
__m 7 hours ago [-]
Yeah, i too am sad that my hobby is no longer the biggest part of my job, it’s still fun to create things though.
sonderotis 10 hours ago [-]
Loved this presentation. I personally know the presenter and he presented it at a hackathon :)
sublinear 15 hours ago [-]
> 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.
ivolimmen 7 hours ago [-]
I am style 4 and 5. I run 2 websites I use daily myself. And yes I can cook. And no I do not use LLM's
globular-toast 7 hours ago [-]
I've been lucky enough that that for most of my career so far I've been able to do a lot of stuff that I genuinely enjoy. In other words, I've been paid to do recreational programming. It hasn't all been like that, but there's been enough to keep me happy.
It's changing now, though. I don't really get joy from programming any more. I used to do things because they were challenging. I would ask myself "can I really do this" and the joy came from seeing that, yes, I really can. But now the answer to "can I do this" is increasingly just "yes". Actually doing it is just work at that point. I don't get joy from being a mindless button pusher.
vandyswa 13 hours ago [-]
Painful website, tho
DonHopkins 9 hours ago [-]
"Recreational Programming" sounds like a fun legal alternative to "Medical Programming" that you don't need 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.
>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:
I've been using Claude to recreationally develop a PDP-7 and Type 340 vector graphics display emulator for the web browser, 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 assemblxy 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 fun time hacking his CForth into CADroid (a circuit editing system developed at LucasFilms) as an extension language and macro system.
Since then, Mitch developed his Sun Forth system into OpenFirmware for the boot ROMs of systems like the Sparcstation, PowerPC Mac, and the OLPC. So naturally 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 then Mitch used Claude to whip up a PDP-7 Forth in one day, with Turtle Graphics!
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.
" --- NEXT: the inner interpreter ---
" Only LAC/LAW-tag cells fall through to "dac i 012"; CAL/JMP-tag cells
" transfer control elsewhere and never reach it.
next: xct i 010 " pre-increment IP, execute the thread cell
dac i 012 " push AC (only reached by constant/variable cells)
jmp next
Now that Forth runs like a bat out of hell, I'm hacking virtual hardware devices for the PDP-7, and controlling and visualizing 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!
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 emulator as a virtual device cabinet, which 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.
Then I made a Forth program that draws an animation of the Ultimate Machine on the 340 display, with a switch activated by the light pen. It's not a "simulation" -- it's an actual interactive visual representation of the emulated Ultimate Machine device state that FORTH controls via IOT instructions, the same way it controls the 340 display and light pen!
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 (check out the tool tips the emulator user interface shows you when you point at the graphics):
Instead of halting there, for even more Turing completeness, 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 instructions and tape via DMA from of the same 18-bit core memory as the PDP-7 and 340 display.
The 340 display and the Turing Machine are both co-processors that execute their own instructions from the shared 18-bit core memory of the PDP-7, which generates code for them to execute, and controls them via IOT instructions.
The Turing Machine device issues an interrupt when its head page faults off the edge of the tape window in core, so the PDP-7 can implement virtual memory to support "infinite" tape.
Forth => Turing Machine Compiler I made based on Christopher Cherniak's "TM*" courseware from the "Philosophy and Computers" course I took from him in the 1980's:
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.
You almost want to find out if that person is still around, to thank them.
Is there an equivalent to that today? As soon as a cool technology appears, there are startups selling something within a few weeks. What is the "weird" kid doing today?
Well, hitting the first home run took about a decade full of base hits and more than a few strike-outs on the way to figuring out what I needed to know to do a tech startup well.
> What is the "weird" kid doing today?
Over the last decade I've spent increasing pro bono time trying to 'pay it forward' talking to classes and groups of erstwhile entrepreneurs, so I've heard versions of that question a LOT. It actually took me a couple years before I realized there is no 'right' answer because the right thing for each person differs depending their unique personality, skills, interests, context and life journey.
The most helpful thing I can share isn't a guess about which target you should aim for but rather some advice about how to approach your journey. First, I hope you want to be a tech entrepreneur because that's the only thing I know about. I have no idea what skills will be in demand to get a high-paying, secure job or how to get promoted. I had to become an entrepreneur because I was terrible at being an employee.
I never aimed for my guess at what would be "hot" next and I doubt my guess would be right anyway. Every time I found success it was by starting with a real problem some customer actually had. Initially that customer was me or a friend but it doesn't matter. It just has to be a serious enough problem that motivated customers are actively looking for new and better solutions than what exists. Then figure out a way to solve their problem better enough that they'll actually buy it. It doesn't have to be perfect in every way, just better enough in most ways and perfect in at least one way.
In fact, some of my best products became hits by cleverly solving one part of a problem SUPER well, but only did so at the cost of some odd downsides in other areas. Here's a generic example of the pattern that worked: my friends and I all desperately wanted a Zig-Zag Widget but good ones were stupid expensive and the ones ordinary schmoes like us could afford Zigged and Zagged like shit. But while we were bitching about this sorry-ass state of affairs over pizza and beer one night we theory-crafted how it might be possible to make a Zig-Only Widget ordinary mortals could afford. The dumb idea was by not Zagging at all, it just might be able to Zig even better than the best. Since we all had no Zig or Zag, that seemed like a trade-off we might be pretty okay with. Turns out other people were too... especially after we worked on adding some 'pseudo-Zag' features that worked around the worst parts of not Zagging. And that's how we came up with the world's best Zig (but no Zag) and sold it at 1/4th the price of even a half-assed Zig-Zag. Not really new technology, just a very clever mixture of the exact right old tech with a little new stuff, some clever UX innovations and cool workflow integrations. Blam! First Product of the Year.
If prototyping dozens of different iterations and trying each one out with real, live problem-having customers and listening empathetically for hours to their constant complaints, ridiculous demands and occasional awesome suggestions sounds like fun, then you may have found your calling. If you just want to write great code for a good paycheck and be left in peace, then, my friend, run the other way. :-) It's ironic because I got into making products because I loved programming but after the first few years, I wasn't writing much code anymore. It was invaluable that I'd learned the business by starting as a self-taught, down-to-the-metal, assembly language, real-time graphics programmer because I was able to identify and hire programmers far more skilled than I'd ever been but after the first million in revenue and 20th employee I personally spent more time writing or reviewing ad copy and legal contracts than code. But that's also invaluable because as the company grew and various fires flared up in every part of our business, I got pretty damn good at doing marketing, sales, PR, finance and even legal stuff myself when necessary. And all that was the best prep ever for being able to run the place when we hit a hundred million in sales and hundreds of employees.
I used to hate the constant looming threat of existential doom always hovering over our tiny startup. Then one day I finally understood that the constant stream of scary new challenges were there to force me to keep growing and learning new skills. not only survive, but to level up and feel the satisfaction of summitting ever higher peaks. I hope you'll find the same on your journey. The best part is now that I'm retired, I'm back to programming in 8-bit assembler and 4K of RAM, except now I have a rather expansive collection with every model Atari, Commodore, Sinclair and Amstrad ever sold. :-)
My mom and I used to take turns reading the code from the magazines out loud while the other typed the code into our Commodore 64. She used to say things like "I was just having fun, typing in the games and playing them, but thwarted was actually learning something" (no, my mom doesn't call me "thwarted").
What were these products?
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.
[1] - https://www.youtube.com/@TsodingDaily
Im sorry I really wanted to read what you wrote but please put it in a proper form because right now its uncomfortable.
``` KEY ACTION N , SPACE Next slide P , Shift SPACE Previous slide ← , H Navigate left → , L Navigate right ↑ , K Navigate up ↓ , J Navigate down Alt + ←/↑/→/↓ Navigate without fragments Shift + ←/↑/→/↓ Jump to first/last slide B , . Pause F Fullscreen G Jump to slide ESC, O Slide overview
```
See https://github.com/severak
I studied computer science and became a paid software engineer, all the experiences with BlitzMax laid out a good foundation for me (RIP Mark Sibly and thank you for your work), and while I like what I do, I don't love it like I did this game programming back then. These days I tend to look out for opportunities to create something that pays my bills or ultimately frees me of having to be employed but often enough I don't get myself to work on it because it's work after my paid work without knowing if that pays out and then the thought "Is it worth my time?" comes up even though the project itself might be even really interesting to pull off.
From time to time I looked back into game programming and every time I felt that little flame light up again. It's been a while now and I even have 2 ideas that I'd like to see implemented. After reading this I realize how much I crave this kind of programming currently. Should probably spend some time doing that :)
6. The Perfectionist
. Solves the problems every different way they can think of looking for the perfect abstraction
. Obsesses over finding the correct name for things. The right name will make the thing better
. Moves code around until it finds a home. Where the code lives is important
. Shares work only when beautiful
My exact feelings, its so unpleasant
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!
If you actually enjoy the process of debugging, discovering root causes and fixing things, emergency medicine can be quite rewarding & fulfilling on very human level.
Fair warning: There are also some really bad experiences you will never un-see, if you're not ready for that I would stay away. Seeing death is objectively worse than the most catastrophic datacenter outage.
AI taught me that I don't really like programming per se. I was very good at it, I believe, but it's never been what I really wanted. I want to build stuff. AI let's me do it faster than ever before. But more important: it takes care of the boring, tedious stuff that caused me to abandon far more projects than I completed.
So far, 2026 has been my most productive year, by great margin. Things that I wouldn't have even dreamed of starting became possible. And the pace keeps accelerating.
The only thing that bothers me about this new era is that many projects are built on shaky foundations, as it is easier to ship, and expectations of delivery speed are often unrealistic. But that is more of a question of prioritizing quality and reliability, and not an inherent feature of development with AI.
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.
So if an external factor like LLM prowess “killed it all” for you, I would suggest you may not have been intrinsically motivated in the first place.
Long live recreational programming. It’s fun and, personally, it’s satisfying building things close to the metal.
I have many years of expeiments, a selection of just 3
https://k8.fingswotidun.com/static/ide/?gist=ad96329670965dc...
https://c50.fingswotidun.com/
https://lerc.neocities.org
But lots of things like evolving pictures, palettes, or little creatures. Fluid simulation, cellular automata. Fluid simulation in cellular automata. Enough game Jams that I no longer know how many games I have made.
I have done all sorts of things, I am undeterred by AI. For some things I will now get AI to explore entire ideas. Other things I will do entirely myself, and many things will be varying degrees of each.
I see more opportunities for exploration. If you can see further by standing on the shoulders of giants, why begrudge a personal giant assistant?
I like to swim.
(Just in case: Above is metaphor attempt.)
You can still build a table from scratch even though you can buy one from Ikea.
etc etc
https://hyperties.org/databases/playground/sun-founders-big-...
If you want to call something AI Slop, and parrot terms from papers you've never read and whose meaning you don't actually understand, then please at least write in complete sentences and explain exactly what it was that made you think it was AI Slop, and what you think of the paper that coined the term "Stochastic Parrot", because your drive-by one-line anti-AI comments are much more tedious and unoriginal than anything an LLM can generate.
also i never said "stochastic parrot" lollol
what a weird non sequitur
https://news.ycombinator.com/item?id=48070022
I checked it out several months later and the UI issues are still there.
I try to extrude a sketch (you know, a basic and critical feature in a CAD program) and click on add profile and it does nothing, it doesn't even explain what I did wrong.
You get the diagnostics "warning
Select a derived sketch region or planar face before previewing extrude.
feature-preview-missing-profile"
but no matter how you select the sketch ahead of time, it doesn't change anything.
I think this comment I just wrote was an even bigger waste of time than just saying "AI slop", "stochastic parrot" and it was really stupid of me to even bother spending time on this.
that's kinda the gist of it
i don't wanna use software that nobody cares about
I know and understand it. However I see a lot of people being sad and angry because of LLMs/AI agents. I would like to add to this website section about LLMs/AI. You can use them or not at all if you want. I guess nobody forces you to use "magic" AI in your hobby projects.
If you do so now, your coworker has built two features and automated some other job in the time you found the best design pattern for a particular problem.
When you have made a life and career out of a particular skillset, like writing code, the fact that a machine is now doing your job is a hard swallow pill.
You will keep the denial and finding all the cons for as long as you can.
"Oh, but it's not clean", "Oh, but it's a spaghetti mess".
Because accepting that the previous points don't matter anymore in the overwhelming majority of cases, and the technology keeps getting better at each release is difficult.
It is sad after all. I enjoyed the magic and craft too. Now I'm a borderline meat relay, who'se added value is only because business and product people are too lazy to instruct the tools.
I've come to the realization that AI code bases are effectively AI-only code bases, unless one is using AI as just a code-autocomplete, then that seems mostly fine. But most devs are using it as an end2end implementation tool, having it 1-shot full features, and then iterating on them with the agent afterwards. The amount of churn and terrible code stops the manual coder from doing anything effectively.
In my own team's codebase, I'm confident that we would actually be further along without AI, and that AI coding is a hindrance (although AI debugging seems to be a pretty good tool). It is made worse that everyone does code reviews with AI now, and it constantly gets things wrong, and when its right, it's usually for the most basic, unimportant issues (again with the overly defensive coding style). This waste the manual coder time trying to figure out if the issue its requesting a fix for is an actual problem or not.
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
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.
https://www.youtube.com/watch?v=fKMk6fcKbwE
Now that AI makes it so easy to play yer guitar, there's a lot more shutting up to do!
There is a big difference IMO between someone who wants to code traditionally and one that uses AI when it comes to developing software. And this difference illustrates what's a software developer to a programmer.
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.
It's changing now, though. I don't really get joy from programming any more. I used to do things because they were challenging. I would ask myself "can I really do this" and the joy came from seeing that, yes, I really can. But now the answer to "can I do this" is increasingly just "yes". Actually doing it is just work at that point. I don't get joy from being a mindless button pusher.
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 develop a PDP-7 and Type 340 vector graphics display emulator for the web browser, 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 assemblxy 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 fun time hacking his CForth into CADroid (a circuit editing system developed at LucasFilms) as an extension language and macro system.
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 systems like the Sparcstation, PowerPC Mac, and the OLPC. So naturally 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 then Mitch used Claude to whip up a PDP-7 Forth in one day, 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.
PDP-7 Forth — Mitch Bradley, 26 September 2026:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
PDP-7 Forth, by Mitch Bradley:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
PDP-7 Forth Source Code, NEXT: The Inner Interpreter:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
Now that Forth runs like a bat out of hell, I'm hacking virtual hardware devices for the PDP-7, and controlling and visualizing 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 emulator as a virtual device cabinet, which 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, with a switch activated by the light pen. It's not a "simulation" -- it's an actual interactive visual representation of the emulated Ultimate Machine device state that FORTH controls via IOT instructions, the same way it controls the 340 display and light pen!
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 (check out the tool tips the emulator user interface shows you when you point at the graphics):
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
Instead of halting there, for even more Turing completeness, 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 instructions and tape via DMA from of the same 18-bit core memory as the PDP-7 and 340 display.
The 340 display and the Turing Machine are both co-processors that execute their own instructions from the shared 18-bit core memory of the PDP-7, which generates code for them to execute, and controls them via IOT instructions.
The Turing Machine device issues an interrupt when its head page faults off the edge of the tape window in core, so the PDP-7 can implement virtual memory to support "infinite" tape.
Live Demo:
https://hyperties.org/cabinet/turing/
Turing Engine:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
Forth => Turing Machine Compiler I made based on Christopher Cherniak's "TM*" courseware from the "Philosophy and Computers" course I took from him in the 1980's:
https://github.com/SimHacker/WillWrightShowForFood/blob/main...
https://terpconnect.umd.edu/~cherniak/philcomp/
https://terpconnect.umd.edu/~cherniak/PhlCogSci.pdf
Ostensibly the real use is for education, but I actually did it because it was fun, and I felt like working with Mitch and programming Forth again.
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