Live data from Hacker News

Writing Toy Software Is a Joy

jsbarretto.com

21–29 of 29 posts

Re: Writing Toy Software Is a Joy

#21
Most difficulty and time estimates are random. Chess engine 2 days? Like a really shitty chess engine maybe. Regex engine 4/10, 3 days. Again a really shitty regex engine. What's the point of doing a bunch of projects in a really shitty way?

Re: Writing Toy Software Is a Joy

#22
post #3

Like most estimates, these seem off by about 3x. At least if you're writing it for the first time.

Or more. Actually some of them seem inverted. Simple compiler takes 3 months but a GameBoy emulator takes 2 weeks? That’s not my experience at all.

I was wondering if that was time spent toying with the thing, not necessarily time to a complete or even functional result.

Re: Writing Toy Software Is a Joy

#23
My personal insight on this: toy projects are fun not because they're small in scope, but because there's no downside to failure.

Production/professional software has significant downsides when they fail (customer unhappiness, professional performance and incentives, etc).

It's also why toy projects open up very innovative pathways. You tend to not be conservative with them, and once in a while something amazing ends up working. Bringing this non-conservativeness to professional software is a skill once developed makes your growth shoot up.

Re: Writing Toy Software Is a Joy

#24
I, too, had infite time once, and loved spending most of it on coding.

I built a toy OS[0], compiler[1], crypto library[2], a bunch of other stuff, and had a blast.

Now, I have more obligations and more non-coding fun stuff I want to do.

For the programming that I do want to do, I don't particularly enjoy tracking latest breakages from upgrading a random React Native library or drinking from a Kool-Aid firehose of a VC backed open source solution that's going to get acquihired or pivot in 6 months.

I enjoy working with LLMs in turning silly little ideas I have into toy products without grinding through incidental software complexity swamp that is modern software engineering.

[0] https://github.com/senko/Hasenpfeffer

[1] https://github.com/senko/calcc

[2] https://github.com/senko/CyFER

Re: Writing Toy Software Is a Joy

#25
post #14

Earlier quoted context omitted.

Also what's up with this 1 week to make a hash map? In C it's only slightly harder than creating a growable array.

And a POSIX shell is only 3 days. It's an interesting list but the difficulty/time elements are all over the map.

I wrote a shell that's designed to be good enough for the things likely to be passed to system() and popen(). It probably took me a week. To make it a non-toy POSIX shell, I could see potentially taking me a year. The shell is nuts. There's a reason why Thompson got replaced with Bourne and Bourne got replaced with Almquist, and most people use Bash, and then a lot of people started using Zsh. It's simple enough to attract greenfield implementors, and complicated enough for them all to get improved upon.

Re: Writing Toy Software Is a Joy

#26
post #22

Earlier quoted context omitted.

Or more. Actually some of them seem inverted. Simple compiler takes 3 months but a GameBoy emulator takes 2 weeks? That’s not my experience at all.

I was wondering if that was time spent toying with the thing, not necessarily time to a complete or even functional result.

Yes, exactly. The point is to make a toy that proves the concept and gives you insight into the overall design, not to build something with polish!

Re: Writing Toy Software Is a Joy

#27
post #10
post #3

Like most estimates, these seem off by about 3x. At least if you're writing it for the first time.

IMO the difficulties are a bit off, if a 2D physics engine is 5/10, then orbital simulation cannot be 10/10 (even with the difficult stuff like J2 perturbation) ;)

The 10/10 was a copy & paste typo, sorry! Amended now.

Re: Writing Toy Software Is a Joy

#28
post #8

These are all great projects! When I find myself getting burnt out in my job I find that writing a little toy project usually helps be get back some spark. Some projects that weren't listed that I've enjoyed: - GUI based bot for a small video game - raft consensus algorithm - ray casting - simple b-tree or lsmtree storage engine I'll also second chip8 emulator as being a good quick fun one! It helps there are ROMs th…

All great ideas to add to my todo list!

Re: Writing Toy Software Is a Joy

#29
post #19

https://3nsi2a2rf4.alternative-accounting.com/game on mouse stop move over canvas wont be available for long, that's my idea of toy software, vibe coded the smallest multiplayer game I could think of, about 75% complete. Just taking territories and there's a link to the IP address so you are on the team of the country ip address belongs to. Not smart enough for real game development so have to live within limits of m…

That's a really neat little gizmo. Makes me want to spend more time playing around with web tech.
Post reply on HN