Top
Best
New

Posted by bundie 6 days ago

Writing toy software is a joy(blog.jsbarretto.com)
816 points | 313 commentspage 2
josefresco 6 days ago|
Vibe coding via Claude has re-ignited my passion for fun, side programming projects. After a few false starts, I figured out the tooling, processes and in just a few weeks I've built several apps and I'm having new ideas consistently:

-Family calendar/weather dashboard

-Bluesky reader that allows you to hide posts you've "seen"

-Work PM dashboard to make time tracking more gamified and dare I say... fun?

-Chrome Reddit extension that hides posts after viewing for X seconds

-A WordPress plugin to replace a plugin no longer maintained

What I love and had to get used to was looking/using these apps and being happy with them being only 90%. Initially I had Claude make many UI enhancements but I learned to just let most stuff go and focus on the function and building new stuff, not refinement.

snarf21 6 days ago|
I struggle with Claude fixing a bug and not giving me the updated output. Like explicitly having to ask it for the fix 6 times while it insists the update is in the output. Did you ever have that happen?
josefresco 6 days ago|||
I read some good advice: give Claude 3 bites at the apple and then burn the session and start over. I find if Claude doesn't get it ready the first or second time the chances of a successful outcome drop considerably. Also "Projects" was a nice low setup way of giving context.
nlh 6 days ago||
^^ this. Also, not only burn the session - sometimes you need to burn Claude. I'll often find the same problem that Claude struggles with is pretty easy for O3 + GPT 4.1 (or vice versa).
rokkamokka 6 days ago||||
Personally, I just fix the bug myself. It's way less aggravating for me than prompting back and forth many times.
dpkirchner 6 days ago|||
I haven't seen this, unless I don't understand exactly what you mean. I can ask it questions about my code and get answers most easily if I explicitly say "don't write any code".
notepad0x90 6 days ago||
I have a couple of projects like this and I'm not sure if they'll ever see the light of day. I enjoy writing code, simple as that. Only a small part of my day job is coding, but honestly, it's more like a hobby than anything.

The whole thing with getting people to like your work, using it for clout or padding your resume has an appeal to it that I won't dismiss, but all that takes the fun out of it.

I just don't have much else I actually enjoy in life, so ruining it with peer-pressure, chasing clout, impressing people, worrying about career prospects is a buzz-kill. I used to think that if I am passionate about something like this and I get really good at it, maybe it will help my career and prospects but the real world doesn't work that way. it sucks the joy, fun and passion out of you if you let it.

All that to say it is perfectly fine to like coding for the sake of enjoying it and nothing more. Others play a sport (or watch it), work on arts & crafts, or raise chickens or whatever, I code. I am not particularly skilled or great at coding either, I just enjoy it, and that's it.

If you have fun coding, be protective of your joy! even if you don't take it to the extreme like I do. that's my only point.

ethinton 6 days ago|
I love this take, and I’m reminded of the important idea that while we all are encouraged to be productive, our own joy is also an important thing for us to produce.
kgwxd 6 days ago||
I've abandoned tons of toy code but I have 1 thing I wrote in a weekend for myself that I've been mostly blindly using ever since. I just realized while typing this that it's been 8 years. It's a Firefox add-on that I only published to the "store" because running a local-only add-on is a PITA.

It takes regex(s), searches attribute values and/or inner text, and applies a given CSS rule to elements that match. The UI is awful (regex escaped to be inside a json string escaped to be inside a textarea all parsed by javascript) but I know how to use it.

It can probably be used for many things, but I just use it to set visibility: none on elements that link to sites I don't ever want to see (facebook, twitter, linkedin, popular pay/register-walled sites, etc). For example, my HN and reddit views just have blank lines where links any of those sites would normally be. For the most part, I add a site once, and forget they ever existed (except when their CEOs do awful things).

_benton 6 days ago||
Possibly tangential, but I've really been enjoying writing software with very minimal tech stacks with no dependencies (or very few). Go works well for this, but really any language that lets you create a file and just start writing straightforward code is sufficient. As soon as I need to use some CLI to scaffold out a project with tens or hundreds of files, or pull in a ton of dependencies, I kind of check out. It's fine when you have a team and a big serious project, but in my free time I really just enjoy having a couple files of straightforward code and that's it.
didip 6 days ago||
Big time! Almost all of my interesting knowledge came from toy projects I made to solve my own problems (or zero problem solved but it was fun so I did it anyway).

For example, I wanted to know if I can make 1 Kubernetes cluster span multi region, multi cloud. So I slapped TailScale for networking, replaced etcd with multi-region PostgreSQL Aurora, and span the Kubelets between my Raspberry Pi, Digital Ocean VMs, and AWS EC2. And then as the "customer app", I run CockroachDB, rqlite, and tiDB on it (one at a time, I don't want to burn money for this).

It was janky, zero SLA, I likely mis-tuned all the databases, and cost a bit of money :(. But it totally worked, all the db nodes can discover each other. I was satisfied and that's enough.

Another example would be writing my own Raft-backed database, similar to the ToyDB Rust project posted here. Is the DB useful? No. But it is so much fun and I learned a lot.

My AWS S3 bucket and private Git repo are a graveyard full of toy projects. My own Dropbox clone, Pinterest clone, Delicious clone, subset of Google Maps clone, etc. etc. are all RIP in there.

otoolep 6 days ago||
rqlite[1] creator here, happy to answer any questions.

If you're interested in writing Raft-backed databases you might be interested in my talk at GopherCon 2023. It walks through doing exactly that, step by step: https://www.youtube.com/watch?v=8XbxQ1Epi5w

[1] https://rqlite.io

FirmwareBurner 6 days ago||
>I wanted to know if I can make 1 Kubernetes cluster span multi region, multi cloud

Can I ask what you had running on that cluster?

didip 6 days ago||
As of right now? Nothing important. If I want to use it day-to-day, then I have to care about SLA, then I have to be the sysadmin of that thing.

Not exactly fun :)

What's interesting is that the TailScale network allows the local daemon be exposed on the internet with small settings change. Pretty revolutionary for personal/home IoT projects.

rubicon33 6 days ago||
> In 2025, the beauty and craft of writing software is being eroded. AI is threatening to replace us (or, at least, the most joyful aspects of our craft) and software development is being increasingly commodified, measured, packaged, and industrialised. Software development needs more simple joy, and I’ve found that creating toy programs is a great way to remember why I started working with computers again.

Sad but true. I especially feel that comment about losing the most “joyful” part.

klabb3 6 days ago||
> AI is threatening to replace us (or, at least, the most joyful aspects of our craft)

I don’t like this either but every time I use LLMs it feels like we’re talking about completely different things. It moves waaay to fast and makes bad decisions at every turn, if I accepted them all it would be complexity deadlock within a week tops. Pooping out boilerplate sure but then you’re generally holding it wrong anyway (or there’s an opportunity to automate things). Plus even if you don’t have the time to automate it, sure, but then are you enjoying the act of shitting out your own boilerplate?

Out of the things I consider fun the LLM is at best a good rubber duck. It needs constant hand-holding, sometimes polluting the context window (and physical space) with a barrage of poorly written code. Code is bad, we’re trying to minimize it. No? At least that’s how I think: what’s the minimum* amount of code that can solve this problem?

*: minimum in a brain complexity sense, not char count. They correlate strongly though

coolcoder613 6 days ago||
I find using the LLM as a rubber duck helpful, even if, no, especially if I do not even end up pressing send. Just writing out the problem leads me to the answer.
danielbln 6 days ago||
I have more joy than ever working on toy software while using LLMs. My joy comes from building things, thinking architecture, components, creative solutions that create something new and exciting. Hand-setting lines of code is NOT what brings me joy personally, it's a means to an end. Dancing with agentic LLMs is so much fun to me. I can however understand that if the code part is what brings you joy, then we're probably not moving in a direction that pleases you. For those of us who like to build, first and foremost, it's heaven.
tines 6 days ago||
I don't think the hand-setting lines of code is really the part that brings these people joy, the joy is in understanding. LLM-like tools do not create understanding in the user, who is farming out the understanding in order to get results quickly.

I understand the draw and usefulness of this, but just clarifying, it's not the typing that matters, it's what is going on (or not going on) in one's mind.

akkartik 6 days ago||
Ha, these "toys" are quite ambitious. Here are my joyful toys: https://akkartik.itch.io/carousel/devlog
heikkilevanto 6 days ago||
The first example in the article, a regex engine, clicked for me. I had read the book on beautiful code #, and the first short story was about a regex thing by none other than Dennis Ritchie. As Fate would have it, my job required me to make a tool for web scraping. Inspired by that book I created a pattern matching language for dom trees. And a click and point tool to create those patterns. At the best time or company had a full time person maintaining maybe 10k patterns to scrape days from library catalogs... It was not a toy project, but it did feel like, even if I got paid to do it.

# Andy Oran, Greg Wilson: "Beautiful code"

cellularmitosis 5 days ago|
Took a minute to track that down (Oran is spelled Oram?) https://www.oreilly.com/library/view/beautiful-code/97805965...
declan_roberts 6 days ago||
This is one thing I don't get about the LLM people. For most of us who are professionals, writing software is not very hard, and it is in fact fun!

I don't need to let a computer write my software. I already know how, and I enjoy it. I need the computer to do the hard part (gathering requirements, speaking with stakeholders, etc).

Software is a joy.

marginalia_nu 6 days ago|
There are several sources of joy in programming. Some lean more toward the process and exploration of the problem domain, others more toward the outcome and impact.

I had a shift of perspective at some point where I realized that software wasn't just fun to create, but you can solve problems with it, including your own, which is incredibly rewarding and kinda feels like wizardry.

Ultimately I find both to be enjoyable, though in terms of career and life outcomes, focusing on solving real problems and producing tangible outcomes has had more of an impact than noodling with neat implementations that nobody but me cared about.

Turns out if you solve your own problems (or just publicly work toward solving them), there are often other people who also struggle with the sam problems, who may throw money your way ;-)

aldousd666 6 days ago|
I've done a lot of these kinds of projects. I got really sucked into a rabbit hole with the parser/interpreter/compiler that I was stuck (happily) in "I need to understand this so I will build one" mode. I eventually built a database server and query language for it. (for a business) This was in 2009, but I highly identify with his method of learning by doing for fun!
More comments...