Writing toy software is a joy
181–190 of 318 posts
Re: Writing toy software is a joy
#182> Perhaps you’re a user of LLMs. I get it, they’re neat tools. They’re useful for certain kinds of learning. But I might suggest resisting the temptation to use them for projects like this. Knowledge is not supposed to be fed to you on a plate. I get where this is coming from, and I even agree with it today, but I also want to tag it as "don't cache this opinion too hard". It's interesting to notice when and how our…
Obviously, you're welcome to do as you please though, mileage may vary, etc.
Re: Writing toy software is a joy
#183Earlier quoted context omitted.
I would just add that gen AI can actually be a fantastic aid when you're building some toy projects just for yourself. I am primarily a backend engineer, though I am capable on the front end, just not particularly fast. I am especially slow at the voodoo that is CSS. In the past, I would have been turned off from doing some end-to-end personal projects because I know I would have been bogged down just battling CSS fo…
The joy of personal projects is they can look like shit! You'd also be surprised how much you can learn by just screwing around with something for a day. A big part of the whole exercise for me was getting out of my comfort zone and learning that I can learn. I'm primarily backend as well, and came up through the ops side (as opposed to formal CS), which always led to a lot of imposter syndrome, so a lot of the benef…
When I have gen AI create a starting point for the CSS for me, I still go over every line, and I always have to do a bunch of fixes and edits to get this to look how I want. Frankly, dicking around with the esotera of CSS is something I absolutely don't want to do and don't care about - it's really just reminding me of syntax that I forget because I don't do it often enough. This is also why I find gen AI invaluable for shell scripting. Hunting through reams of man pages doesn't make me learn any faster than just looking at the specific arg flags gen AI outputs (and potentially asking AI more about the details of that command). I just don't do enough shell scripting to really remember the command/arg specifics long term for things I don't commonly do.
Re: Writing toy software is a joy
#184> Perhaps you’re a user of LLMs. I get it, they’re neat tools. They’re useful for certain kinds of learning. But I might suggest resisting the temptation to use them for projects like this. Knowledge is not supposed to be fed to you on a plate Am I the only one using LLMs as if they were a search engine? So before LLMs I was searching on Google things like "pros cons mysql mongodb". I would read the official document…
Search finds you sources then you can decide if you trust them. AI generates code and you have no idea if what it generated was perfect, slop or almost perfect but bad in some major way.
Re: Writing toy software is a joy
#185Earlier quoted context omitted.
I would just add that gen AI can actually be a fantastic aid when you're building some toy projects just for yourself. I am primarily a backend engineer, though I am capable on the front end, just not particularly fast. I am especially slow at the voodoo that is CSS. In the past, I would have been turned off from doing some end-to-end personal projects because I know I would have been bogged down just battling CSS fo…
A good reality check is: if a stranger asks you about a specific part of your toy project, would you be able to explain it? If you can't, it means there's something there you don't understand, and you lost an opportunity to learn. Of course, this is also true for reusing libraries and stuff. Within a job, what matters is the _team learning_, and it's roughly the same idea. At least one person in the team should be ab…
E.g., like I said, previously I would have been turned off from doing some projects because I wouldn't have spent a ton of time dicking around with things that are just inefficient. Now I have gen AI create a starting point, and it's very clear to me "Ah, this is how I would use grid layout to get what I want". I can tweak things and it's very clear to me how things are working.
Re: Writing toy software is a joy
#186This is quite an impressive list, and many of the things ranking low in difficulty for the author would have been quite high for me. It's definitely inspiring, makes me want to dust off a toy of my own. That said, I feel the conclusion on learning with LLMs deserves some more nuance. It really depends on how you use them. This is a terrible prompt for learning: > Implement this solution for me This is an AMAZING prom…
If I want to learn about the structure of ELF binaries, I don't figure it out from first principles. I can't: the decisions that went into its design where highly specific to its history and the sensibilities of its creators, and in a modern context a lot of those decisions are near enough random. These are the sorts of things you should use specs, docs, Google, and maybe an LLM for.
What I'm talking about is, I guess, 'constructive' learning. I might not be able to build my own ELF parser through guesswork, but I probably can write a binary format of my own and a simple OS kernel to read it, given enough time. It probably won't look much like ELF, but the process of discovery that'll happen will teach me about why ELF came to be and what problems is solving, and also about the wider design space that sits around it.
My suggestion is that you should not use an LLM's help for the latter.
I like to think of it this way: if you bolted me to a chair in a room with nothing but a laptop, a text editor, and a compiler, what might I be able to create if you left me for 10 years? What couldn't I create because I wouldn't have sufficient implementation-specific information?
Re: Writing toy software is a joy
#187I've written a ton of throwaway toy applications for personal use. The tip I can share is: publish them on GitHub. You'll find out some of them are useful to a lot of people. I have multiple toy repos with 20+ stars and one with 200+ stars. Just put one screenshot and simple instructions to run on README.md, no need to write a manual. As simple as `npm install && npm run start` is enough instruction for most. The scr…
I've been using vhs ( https://github.com/charmbracelet/vhs ) to script gif creation- really showcases CLI workflows if you're demoing multiple commands. Examples: https://github.com/bbkane
Re: Writing toy software is a joy
#188GameBoy Advance game (difficulty = 3/10, time = 2 weeks) Wow! Physics engine (difficulty = 5/10, time = 1 week) What?? Threaded Virtual Machine (difficulty = 6/10, time = 1 week) I— POSIX shell (difficulty = 4/10, time = 3-5 days) Ok... I can't believe this person :D But regardless of the time estimates, I appreciate the idea!
I have to assume the author listed these times based on how long it would take for someone to follow along with the blogs that they linked to, which demonstrate stripped down simple versions of these things. Like the POSIX shell example just implements a few basic things, but leaves out a lot (and says so).
Oftentimes I find that I enjoy one of the projects so much that I take it further than 'toy', but that usually ups the time estimate by an order of magnitude.
Re: Writing toy software is a joy
#189> Perhaps you’re a user of LLMs. I get it, they’re neat tools. They’re useful for certain kinds of learning. But I might suggest resisting the temptation to use them for projects like this. Knowledge is not supposed to be fed to you on a plate Am I the only one using LLMs as if they were a search engine? So before LLMs I was searching on Google things like "pros cons mysql mongodb". I would read the official document…
The few times I've used LLMs as question answering engines for anything moderately technical, they've given subtly-but-in-important-ways incorrect information such that taking them at face value would've likely lost me hours or days of pursuing something unworkable, even when I ask for references. Whether or not the "references" actually contain the information I'm asking for or merely something tangentially related…
This is basically the only thing I use it for. It's great at it, especially given that Google is so terrible these days that a search describing what you're trying to recall gets nothing. Especially if it involves a phrase heavily associated with other things.
For example "What episode of did happen?" In the past, Google would usually pull it up (often from reddit discussion), but now it just shows me tons of generic results about the show.
Re: Writing toy software is a joy
#190Problem/Truth is that writing toy software is not profitable - that's not to say one must always work on profitable things; what i mean is that it's being kept unprofitable, because in a hyper-saturated monopolized attention economy, every piece of "toy" software that isn't a video game or a plugin to some proprietary app ecosystem is essentially an act of subversion, an attempted "theft" or piracy of what the Compan…