by greenSunglass on 10/17/23, 8:05 AM with 254 comments
by rpastuszak on 10/19/23, 7:22 AM
- https://lines.potato.horse → the uncolouring book
- https://meat-gpt.sonnet.io → MeatGPT
- https://tidings.potato.horse → Medieval Content Farm
- https://butter.sonnet.io → You deserve butter.
- https://mrr.sonnet.io → Mrr
- https://mrrr.sonnet.io → Mrr (physically accurate)
Some of those just very elaborate blog posts, over-engineered as I found it easier to express myself through playing with code, rather than solving a real problem.
Longer list (including some accidentally useful stuff): https://sonnet.io./projects
by josephg on 10/18/23, 10:01 PM
So instead, I'm trying to have a lot more fun with the code I write and I'm finding I've been writing way more code. Its flowing more easily. I've recently written my own protobuf-style library for binary serialization (to try out some fun ideas around schema evolution). And at the moment I'm writing a simple CRDT based local first database. I got the first data syncing yesterday! Its really exciting.
Its funny - over the years I've written a lot of code to solve Serious Problems and I've written a lot of code on a whim, to scratch my own itch. Ironically, the code I'm most proud of has often ended up being the stuff I did for fun. I find I keep coming back to maintain and improve the fun projects, but the serious projects languish and die once I move on.
by kierstennordin on 10/18/23, 11:58 PM
Maybe it's the practice, but I feel like it's also our tendency to talk ourselves out of an idea if we can't fully see an end-product we're excited about. It feels like a smart decision, especially if you're overly analytical—you're saving wasted time! But it's also a sure fire way to make sure you never create anything at all. I've had a lot of "useless" software projects remain "useless", but I've also had some that have found more utility in the journey.
We're landing among a few cliches here (you miss 100% of the shots you don't take!, etc. etc.), but you get it.
by Minor49er on 10/18/23, 11:14 PM
I made a static site generator for an item catalog. The catalog is simple and doesn't change much. I was debating on which database system to employ and ultimately just decided that I'll drop everything into a static array right in the codebase. It's one less dependency to think about and works perfectly fine for my purposes
by BiteCode_dev on 10/19/23, 7:34 AM
I worked with him on a lot of fun projects, because we get along well, and he really doesn't know what he is doing, copy / pasting all other the place, no archi, no design, bad naming... Half of the time he's not sure what the code is really doing.
And it works.
I noticed how in the end he accomplished more than I did. He didn't sweat the small stuff, he worked more, way more, as well. He didn't write unit tests, but he always tested everything manually again and again by playing with the result like a kid.
In the end I embraced the idea.
I wanted to code a contact software because all the ones I tried didn't do what I wanted. I didn't, I just used django-admin and called it a day instead of trying to craft some slick UI. I've been using that terrible stack of forms for 10 years, and it did the job.
I needed a cli for totp years before any existed, I just fired Python and dumped, in clear text, the seeds in TOML. Took me half a decade to add encryption to it, because symlinking the file from a veracrypt container was sufficient and required little work.
2 months ago I wanted a timer to top up a time budget when I do sport, and consume it when I play video games (https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_...). I just splatted a wall of tailwind regurgitated by chatgpt and pupetted by HTMX. Turns out it was just enough. I show that to my friends that were asking me wtf I was doing with this, and 4 people asked me an account, one a trial for doctors for addiction programs (!). Don't even have a register form, I hard coded them :)
Wish I told my young self to stop being so obsessed with doing things right or even working on important problems. I never managed to reach "right" in my entire life anyway.
by fifafu on 10/18/23, 10:15 PM
~12 years later thousands of people have used that little useless app (KeyboardCleanTool, a very small free app to block all keyboard / touch bar input). People have used that app in ways I'd never have imagined (e.g. letting toddlers hack on their keyboards or letting their cats sleep on the laptop).
What is useful or not is really subjective.
by thesarl on 10/18/23, 9:55 PM
Unfortunately, needs get in the way. Under threat of starvation I must be productive. I care about those I am productive with, and I feel guilty when not producing. It drains my motivation even in my personal time.
It's amazing to see so many people with the stability and freedom to express themselves. Those who have the means to go to the Recurse Center, or those with many personal projects or a myriad of blog posts describing their escapades. I'm envious, but happy for them. Most have worked hard to get to where they can carve out a life like that for themselves. I'd love to do that too.
The only way to do so, it seems, is to burn more life on productivity. With enough years burnt in sacrifice, perhaps luck will be tempted to grant me the right to live. It's funny.
I'll enjoy writing more useless software then.
by steve_adams_86 on 10/18/23, 10:53 PM
That’s a great way to make software a chore. I’ve since become comfortable creating useless stuff. It’s fun. I reiterate existing ideas in new ways because I don’t care if it has been done already. I will even do it in the same way someone else did if it’s just for kicks, like covering someone else’s song. You learn, you have fun, it’s worthwhile. And sometimes you find ways to improve it!
I learned this by getting into writing firmware. It was too daunting to be useful all the time, and I had to really let my ego deflate and get out of the way. It turned out to be a ton of fun, writing crappy code to do stupid things. It also turned out to be an awesome way to get out of my own way and let myself learn and experience ideas in a low-pressure and enjoyable way.
Plus as others have mentioned, useless stuff winds up being surprisingly useful. Every useless thing I’ve done in the last couple of years has wound up contributing useful code, if not insights and knowledge, that I didn’t expect. It’s great.
by smcameron on 10/19/23, 12:42 AM
One good thing (for me) about it was that once a month, I was forced to come up with some little project to show off, just in case nobody else brought anything to the table, the table wouldn't be empty (only happened a couple times in 2 years or so). One of those little projects[1] turned out really cool and I'm quite proud of it, and it's not entirely useless.
by susam on 10/18/23, 10:29 PM
CFR Brackets: https://susam.net/cfr.html
Demo: https://susam.net/cfr.html#3
Source: https://github.com/susam/cfr
It is a very minimal drawing language that supports only 5 commands: C (change colour), F (move forward), R (rotate), [ (begin block), and ] (repeat block). The commands are slightly inspired by the Logo programming language. The minimal nature is inspired by P′′. However, unlike both, this is not Turing complete.
No practical usage is intended. I wrote it for fun and I am hoping to have some more fun with it trying to draw interesting shapes using it while keeping the input code as small as possible.
“I think that it's extraordinarily important that we in computer science keep fun in computing.” -- Alan J. Perlis
by ramesh31 on 10/18/23, 9:37 PM
This is my number one advice to anyone interested in game dev. Don't think that you need to sit around and come up with the most amazing novel mechanics and flashy graphics or novel-length story. Just start making games. Implement Chess, or Go, or Poker. Learn how engines work and focus on the core of what actually makes a game fun and engaging. Some of the best studios today cut their teeth on silly shovelware titles, and so should you.
by fiddlerwoaroof on 10/18/23, 9:24 PM
by lucasfcosta on 10/18/23, 10:02 PM
I think it's worth quoting PG on this one:
> Just as trying to think up startup ideas tends to produce bad ones, working on things that could be dismissed as "toys" often produces good ones. When something is described as a toy, that means it has everything an idea needs except being important. It's cool; users love it; it just doesn't matter. But if you're living in the future and you build something cool that users love, it may matter more than outsiders think.
by keernan on 10/19/23, 5:14 AM
I spent a huge percentage of my non-working life programming. I created a lot of software I implemented in my own firm, starting with a timekeeping/billing program in 1981 before computers existed in law firms. In many ways, my firm was my "home lab". It was what brought me joy.
I retired from law in 2019 and I now spend 100% of my free time learning c; bash; linux; networking; virtualization; with assembly, rust, lisp, and more on my agenda. And I do it for the same reason I always have: because playing with computers is a blast!
by CharlieDigital on 10/18/23, 10:20 PM
Unfortunate for me, none of them generated any revenue.
But it's been a fantastic experience refining a lot of the rough edges on how to build faster. Biggest gain for me has been speed; each project, I get a bit faster because I've ironed out some unknown along the way. It's crazy looking back how much I built in 6-ish months.
[1] https://coderev.app, https://zeeq.ai
[3] e.g. https://github.com/CharlieDigital/hekaton, other contract projects
by notakio on 10/19/23, 12:34 PM
by smith-kyle on 10/18/23, 11:07 PM
by liampulles on 10/19/23, 6:39 AM
Don't confuse exploratory learning code with production code, respect the boundary (IMO)
by Barrin92 on 10/18/23, 10:58 PM
At some point I got sick of watching The Office for the 20th time or just aimlessly clicking around on Youtube. Programming is a hell of a lot more stimulating even if no good software comes out of it.
by atum47 on 10/18/23, 11:09 PM
by mattlondon on 10/19/23, 10:00 AM
Here on HN I feel like there is some pressure to make money, and on a lot of comment threads there is always someone who pops up to mention their little side project they started for the lolz that now makes them 100k/month in passive income or whatever.
We need to give ourselves a break and do things for fun.with no expectations that anyone else will ever even see it not care!
by marc_abonce on 10/19/23, 2:58 AM
I mean, obviously I'm never going to use it, but it was a fun read.
Hurl language: https://ntietz.com/blog/introducing-hurl/
HN discussion: https://news.ycombinator.com/item?id=36393673
by _benj on 10/19/23, 1:47 AM
Not just that, but even though I didn’t know it (since I was having fun…) I was also learning!
The concepts, principles and techniques that I learned from that project are far from useless!
by hutzlibu on 10/19/23, 7:42 AM
The magic feeling when something simple and elegant works faster and better then the hacky mess, this is to me the magic of programming. Not writing useless software for the sake of it. It is fine if most side projects don't go anywhere, but I think I rather wrote too much useless code in my life, which was draining and for me keeping the sparks fly was achieved very strongly yesterday, with simple, elegant and useful code. A work of art I am proud of. I want to do more of that.
And when I am done coding, I rather go outside and do something else.
by whartung on 10/19/23, 1:24 AM
* Lexers, Parsers, Compilers
* Shortest path, traveling salesman
* Physics sims, numerical methods
* Discrete event simulation
* Document formatter
* Tried to add a GUI Tab pane context and lifecycle to Java CDI. Yea, that just doesn’t work. Lipstick on a pig in a square hole.
* Object based drawing program (i.e. MacDraw, not MacPaint). Lots of Edison progress, I know hundreds of things that don’t work. (Anyone write one of these?)
* An interesting DB and query language that had some novel temporal capabilities.
Currently fighting with a “spreadsheet engine”, though I’m teetering on the abyss of machine learning and might step off.If it needs graphics or a GUI, it’s Java. If not I tend towards Common Lisp or Elisp.
by chankstein38 on 10/19/23, 2:01 PM
A lot of times I don't have the energy for it since I spend all day doing it but I got into development because I wanted the freedom to make my computer do whatever I wanted not for the cash. I taught myself as a child, well before I even cared about making money. I just wish there was something else as lucrative. I'd love to switch careers but I'm not willing to give up the income.
by rockbruno on 10/19/23, 8:03 AM
by lsferreira42 on 10/22/23, 9:32 PM
https://namechecker.leandrosf.com/ -> Check if your pretended project name is already used in somewhere
https://github.com/lsferreira42/bli -> a brainfuck interpreter that is intended to help you understand brainfuck
https://github.com/lsferreira42/nadb -> a threaded key value store with memory buffering
https://github.com/lsferreira42/hnpes -> a hackernews chrome extension to find previous posts of the url your are browsing
All of them work, but not at all usefull hahahaha
by temporallobe on 10/20/23, 12:55 PM
by winddude on 10/19/23, 3:25 AM
It's all fun and joy until you come back to it 1 or 1.5 years later, and resources are now throttled because they're so over used because of the explosion in AI. The fun seems to go away when you come back to an old project, and things have changed.
by nicbou on 10/19/23, 7:33 AM
I run a content website for a living. There are off-the-shelf tools for that.
6 years in, it runs on its own static site generator. It was a blast to build. I also spent a month or two writing a German tax calculator because there were no nice ones. Surprisingly, it became the most popular page on the website. Likewise, my citizen office's appointment finder garnered a lot of positive press.
If I were minmaxing this website as a job, it would be one long pitch for various products. Or perhaps an endless series of keyword-targeted posts.
Instead it's a playground for my ideas. These long detours on pleasant roads yielded a website that has some magic to it. It's a lot more to me than just a job.
by m463 on 10/19/23, 12:06 AM
by FridgeSeal on 10/19/23, 2:36 AM
Do things to explore the design space, explore the most-unconventional idea, do something because it sounds hilarious, because who knows, you might just come up with something awesome, or your work/thoughts/failures/successes might inspire someone else and in turn they get the bump they need to solve some new problem! I don’t think this is limited to just “writing software” either, I suspect it applies basically everywhere.
by azhenley on 10/18/23, 11:54 PM
by quickthrower2 on 10/19/23, 1:48 AM
I find JS with few/no libraries and frameworks quite a good spot for fun web based projects. Make it a static site if possible. Use local storage. Amazing how productive you can be on the feature without the weight of all the backend and frontend boilerplate!
I also like Elm for such projects. It is a satisfying language to get stuff done in. I can’t explain why, just a personal thing.
by francisofascii on 10/19/23, 1:49 PM
Ha. My day job is where I write useless software. My side projects are actually the useful stuff. (only half joking)
by qup on 10/18/23, 11:25 PM
by mortallywounded on 10/19/23, 11:54 AM
With that being said, it's your personal site and anything goes. If it's complete enough to be useful/educational/usable then by all means release it.
I hesitate to release anything too early because the internet is full of half-complete projects (devblogs for X game that never make it past episode 2, yet another todo app, a create react app with one commit, "template projects").
by distract8901 on 10/19/23, 1:09 AM
I wouldn't really call these programs useless, but I could definitely live without them. The way I like to think about it is making little programs that make my computer suck less.
by alhadrad on 10/19/23, 12:10 PM
- https://github.com/akoerner/buzzword_bingo → Generate buzzword bingo cards for all of your meetings
- https://github.com/akoerner/cdbuff → Grandpa's memory pills for the 'cd' command
by diimdeep on 10/19/23, 5:41 AM
by lencastre on 10/18/23, 9:29 PM
by bashmelek on 10/19/23, 12:53 AM
by pard68 on 10/19/23, 12:49 AM
by franze on 10/19/23, 7:13 AM
https://updownredgreenetc.franzai.com/
click the icon that matches the word (red word -> red icon, green word -> green icon, up word -> up icon, so easy)
http://lalo.li/lsd/ - LSD refactored and now in color
https://flapimoji.franzai.com/ - a flapy bird implementation in emojis
https://ashtanga-muskeln.franzai.com/ - a german yoga anatomy learning app and quizz
same for yoga vokabulary - https://ashtanga-vokabeln.franzai.com/
https://github.com/franzenzenhofer/lighthouse-script - a bulk google lighthouse testing suit
https://github.com/franzenzenhofer/thisismy - thats hard to explain, its a file and website text extracter minyfier copy to clipboard command line tool
https://github.com/franzenzenhofer/qrpwd - backup encrypted data as qr images in your google photos / whatsapp / fb photo streams
by brennaw1 on 10/19/23, 7:29 PM
by zX41ZdbW on 10/19/23, 12:58 AM
by byteknight on 10/19/23, 3:47 AM
"Time You Enjoy Wasting Is Not Wasted Timed"
by brainlessdev on 10/19/23, 12:14 PM
by derelicta on 10/19/23, 8:20 AM
by wwader on 10/19/23, 4:47 PM
- https://github.com/wader/jqjq
- https://github.com/wader/flac.tcl
In most cases i learned way more then i expected. Even made some friends.
by incomingpain on 10/19/23, 12:20 PM
This week's project has been a django app for my house which doesn't seem to do anything useful yet?
requests -> beautifulsoup -> to track website changes? Changes every time! Ugh.
Weather forecast stuff but again useless because forecasts are terrible.
by stevefan1999 on 10/19/23, 1:38 AM
by Lukeisun on 10/19/23, 2:39 PM
by JaDogg on 10/20/23, 3:55 PM
by slmjkdbtl on 10/19/23, 1:49 AM
by PredictorX1 on 10/19/23, 1:33 PM
by gv83 on 10/19/23, 6:33 AM
by antidnan on 10/18/23, 9:52 PM
by NoGravitas on 10/19/23, 3:50 PM
by MichaelRo on 10/19/23, 6:09 AM
I'm not saying don't work on your own stuff, but if you're going to invest a significant amount of your life into something, ideally it should also have the potential to earn you some money. Unless you're already rich and your problem is boredom instead of money like for the 99.9% of us.
I'm doing just that. I have a long running project that I built for myself, which was tangentially useful in experimenting various software architecture designs but the key part in this project is that it's "business driven". So if I understood something it's the employer's focus on the business rather than the tendency of developers to get lost in the useless beauty of technicalities.
I seldom build a feature for the fun of it, mostly I just need the damn thing to work. And when I do build the feature, it's almost never the most bleeding-edge aggressive optimized version, it takes me weeks and months to think about an use-case so running getting results in 10 seconds versus 100 seconds is absolutely irrelevant, actually relevant if getting 10 seconds instead of 100 takes me another couple hours of thinking.
Recently I am dabbling with the idea of starting another personal side project and again, it's gonna be something of potential commercial value. No harm combining the pleasant with the useful, in fact being useful rather than useless is what keeps me going.