9 ms·
Write more "useless" software
- slmjkdbtl 3y agoIt's annoying to constantly face questions like "Why do you make this?" when it's always just "for fun!!"
- ykonstant 3y agoStop having fun! ٩(╬ʘ益ʘ╬)۶
- fiddlerwoaroof 3y agoI’ve learned a lot by just rewriting stuff that already works. Not because I need the new software, but because making something compatible is a great way to discover the edge cases of the existing software.
- ronsor 3y agoReimplementing other software is one of the most rewarding exercises in frustration that exist.
- sowbug 3y agoIt's surprisingly fun to focus on the how, rather than the what, with the safety net of knowing the what will still be something worthwhile.
- ozim 3y agoJust like drawing, everyone draws still life to train or figure out their issues. It doesn’t matter that there are dozens of those drawings made by all the people.
- flukus 3y agoAlmost 20 years ago we had to write our own database with indexing for a software dev class. It was crap by every definition possible But that learning experience and having a rough idea of what sql is doing under the hood is still useful to me every day.
- cellularmitosis 3y agoReimplementing classic games (Pong, Tetris, Snake) sits at a great spot along the effort-to-reward curve.
- lencastre 3y agoI’m building my own de duplication because I found some edge cases
- ramesh31 3y ago>A terrible chess engine and UI, riddled with bugs, which taught me about GUI programming and game programming, and led to a more thorough understanding of how chess engines work. 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.
- slmjkdbtl 3y agoI majored in Game design in college, every semester we would make one game for the final project. To be honest a lot of my classmates suck at making games, but still, we can get a good laugh and fun time when playing the "bad games". That's when I really started to love games, they don't need to be "good" to bring joy! That's also when I got into communities like Glorious Trainwrecks[0] that focuses on making "bad" games, a lot of people I see there are the most creative people I've seen in my life. [0] https://www.glorioustrainwrecks.com/ https://www.glorioustrainwrecks.com/
- antidnan 3y agoHN Hug of death?
- thesarl 3y agoI love writing expressive, joyful software. To learn or explore. It's what hooked me, and what keeps me programming. 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.
- HeyLaughingBoy 3y agoLike so many things in life, if you put it off "until I can afford it," you'll probably never have it.
- deleted 3y ago[deleted]
- josephg 3y agoI absolutely agree. I went to clown school recently (thats a whole story) and I realised I've been focusing way too much on trying to get projects "right" or "do them well". This is really silly. Life is for living, and I squeeze the fun out of software when I try too hard to do it "right". 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.
- nocoiner 3y agoCongrats on your admission to Princeton!
- deleted 3y ago[deleted]
- itsmemattchung 3y ago> clown school Please please please elaborate on this. I can probably guess what clown school is but ... what's the motivation here?!
- reidjs 3y agoHe doesn't have to justify his desire to go to clown school. https://www.youtube.com/watch?v=mwUk19cWarI https://www.youtube.com/watch?v=mwUk19cWarI
- dackerlunghack 3y ago[dead]
- lucasfcosta 3y agoTotally agree with the sentiment. Also, "useless" is a totally subjective label. 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.
- deleted 3y ago[deleted]
- fifafu 3y agoApple once rejected an app of mine for being "useless". App review even called me to tell me my app is useless and will not be approved to the Mac App Store. ~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.
- deleted 3y ago[deleted]
- alsetmusic 3y agoI’m aware of your app. Seems pretty brilliant to me. My mother accidentally turned on our computer (Mac IIsi) when cleaning while I was a kid. I successfully turned that into the justification for why we needed the After Dark screensaver. Flying toasters soon graced my screen. Ah, nostalgia…
- bGl2YW5j 3y agoI've benefitted from your app! Thank you for the awesome anecdote.
- mysterydip 3y agohow did you get it approved?
- NL807 3y agoFortunately macOS apps don't have to be installed through the Appstore system. There are third party stores.
- BHSPitMonkey 3y agoI wonder how long that will remain true.
- 3y ago
- CharlieDigital 3y agoIn 2023, I've written a LOT of useless software. I've built 1 feature complete product [0], 2 kinda-feature complete products [1], and a bunch of half-finished stuff. 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. [0] https://turas.app https://turas.app [1] https://coderev.app https://coderev.app, https://zeeq.ai https://zeeq.ai [3] e.g. https://github.com/CharlieDigital/hekaton https://github.com/CharlieDigital/hekaton, other contract projects
- susam 3y agoThis is very timely because I completed writing a useless software just a few minutes ago: CFR Brackets: https://susam.net/cfr.html https://susam.net/cfr.html Demo: https://susam.net/cfr.html#3 https://susam.net/cfr.html#3 Source: https://github.com/susam/cfr 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
- steve_adams_86 3y agoI used to feel like writing useful software was the mark of a competent software developer, and I wouldn’t allow myself to spend time doing things which weren’t overtly useful in ways which were easy to communicate. 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.
- Barrin92 3y agoone of the reasons to write more 'useless' software is I think also that for most people it's a straight up better use of their recreational time. 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.
- smith-kyle 3y agoMy pride and joy: http://lipsislips.com http://lipsislips.com
- interleave 3y agoThat was unexpectedly fun :D Turns out: Lips _are_ lips!
- arcastroe 3y agoMy girlfriend and I had fun with this, thanks for sharing! As a sidenote, letsencrypt.com is free :)
- dingi 3y agoThis is a funny little game man. Thanks for sharing.
- atum47 3y agoWhat do you mean useless? Dial is going to revolutionize the way people insert numbers. https://github.com/victorqribeiro/dial https://github.com/victorqribeiro/dial
- asalahli 3y agoWoah, let me know when the kickstarter campaign for a physical version is live!
- Minor49er 3y agoThis is not just about writing "useless" software, but also advocating for avoiding so-called "best practices" in small projects 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
- donglitao 3y agoI have a friend who incorporates everything he learns into his open-source projects. Initially, it was a showcase of his best practices, and now his open-source projects have gained significant popularity.
- penjelly 3y agoi dont consider "not using a database" as a "best practice". a best practice is more like: use the best tool for the task at hand. What you describe would be in-line with this example.
- Minor49er 3y agoFair point. But what if there suddenly needs to be a huge expansion in the catalog? What if I need to change or modify several attributes suddenly? How can this thing scale? Ack!
- NoGravitas 3y agoStop scaling! 30 years of public use of the Internet, and still no use found for making sites scale to millions of people!
- sanderjd 3y agoThen you add a database.
- tommychillfiger 3y agoSeems like you're agreeing with the person you're replying to. They said the article advocates for avoiding best practices for small projects, and then they provided an example of when they did that - they avoided a "best practice" because it wasn't really practical or important for the task.
- qup 3y agoI think this recent thread ("Half-baked projects") has a similar theme, and I really enjoyed it: https://news.ycombinator.com/item?id=37857231 https://news.ycombinator.com/item?id=37857231
- z500 3y agoMan I always miss these. I have so much half-baked stuff to show off!
- azhenley 3y agoSee my blog post from 2021, “Why I prefer making useless stuff” https://austinhenley.com/blog/makinguselessstuff.html https://austinhenley.com/blog/makinguselessstuff.html
- famahar 3y agoThe link seems to be dead
- azhenley 3y agoSorry, fixed. I forgot all my academic URLs are now dead.
- syndicatedjelly 3y agoI just read Part 1 of your Teeny Tiny Compiler series and thought it was fantastic.
- kierstennordin 3y agoI feel like this is one of the unintuitive things about any "craft". If you do more of it, period, it generally still makes you better in the end. Write bad short stories. Throw ugly pots. Paint wonky landscapes. 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.
- burntalmonds 3y ago“I am always doing what I can’t do yet in order to learn how to do it.” --Van Gogh
- wodenokoto 3y agoWhen I was skateboarding as an early teen I remember wondering if “keep trying” would eventually end up in learning to do an ollie or just become excellent at failing at doing an ollie.
- harph 3y agoSkateboarding taught me the power of perserverance, and muscle memory. That and Quake 3: Defrag trickjumping.
- m463 3y agohttps://web.archive.org/web/20231018213232/https://ntietz.com/blog/write-more-useless-software/ https://web.archive.org/web/20231018213232/https://ntietz.co...
- smcameron 3y agoA long time ago I used to run a meetup group, the "Houston Recreational Computer Programming Group", which was almost but not quite entirely concerned with showing off useless fun software projects. Was a lot of fun, though I've moved away and I'm not sure the town I'm in now is large enough to muster such a group or if I have the energy to run such a group anymore. 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. [1] https://github.com/smcameron/gaseous-giganticus https://github.com/smcameron/gaseous-giganticus
- reaperman 3y agoThank you for your work helping to build the culture of TX/RX labs. They've really thrived since then.
- pard68 3y agoSeeing everything as a new startup or money maker is so unhealthy. There is a whole world to live in and explore and chasing money will never help you find it.
- lasagna_coder 3y agointerestingly, i find that many of the things that also make money aren't even really useful, they just exist and people want them for some obscure reason. so you're right, and also it might actually lead to making money anyway because what might seem useless doesn't exclude valuable.
- bashmelek 3y agoI’ve recently come to the conclusion that “real artists shitpost”. They will play with their craft and make something stupid, all as a form of recreation and expression.
- zX41ZdbW 3y agoI like writing useless software because its use, if any, will exceed initial expectations. Examples: https://reversedns.space/ https://reversedns.space/ https://github.com/ClickHouse/NoiSQL https://github.com/ClickHouse/NoiSQL https://pastila.nl/ https://pastila.nl/
- ydant 3y ago> https://reversedns.space/ https://reversedns.space/ That's a really cool visualization of the IPv4 space. It's fun to look at it like that. Thank you for sharing. Did you consider adding an option for lookup in the tooltip and/or coloring by ASN info? It seems it'd be really interesting to see the clusters that would emerge from that.
- distract8901 3y agoWriting dumb little programs to automate some trivially annoying task is one of my favorite things to do. I get to play around with UI design, or build some hideous monstrosity out of reflection and polymorphic generic classes. I get to play with parts of the language I don't normally use. Who cares if it's ugly or slow? It runs once a week, it doesn't matter so long as it works. 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.
- whartung 3y agoI’ve done lots of “useless” software. * 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.
- stevefan1999 3y agoIn my eyes nothing is useless. Even the useless machine [1] is not so useless after all! [1]: https://en.wikipedia.org/wiki/Useless_machine https://en.wikipedia.org/wiki/Useless_machine
- _benj 3y agoI wrote a useless CHIP-8 emulator and it’s the most fun I’ve had in year with computers! 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!
- quickthrower2 3y agoIt doesn’t have to be useless. Scratching your own itch can be fun. Especially if you forgo “SaaSifying” it and just knock something up quickly that is rough and ready. You don’t need authn flows and price pages or even Tailwind components if it is just for you! 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.
- FridgeSeal 3y agoI really agree with this take. I think the software and designs people stumble upon when they do things for fun and pure curiosity yield can yield interesting and thought-provoking stuff, that you wouldn’t have otherwise encountered when in “productivity” mode. 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.
- lasagna_coder 3y agoyeah, imagine only creating software when you know it's useful by every measure.
- marc_abonce 3y agoThe "useless" programming language that OP created is actually pretty interesting. It only uses exception throwing and catching as the only control flow and apparently that's enough to do pretty much anything. I mean, obviously I'm never going to use it, but it was a fun read. Hurl language: https://ntietz.com/blog/introducing-hurl/ https://ntietz.com/blog/introducing-hurl/ HN discussion: https://news.ycombinator.com/item?id=36393673 https://news.ycombinator.com/item?id=36393673
- rottc0dd 3y agoMy man! It is definitely useful in while writing a deeply complex recursive code. The procedure is kind of a walking two sub trees in parallel and making changes to existing subtrees while walking. But, if the recursive procedure fails we should revert the tree. And the code is recursive methods calling other recursive methods. I once used such thing along with command pattern for remembering the code to be executed if the recursive procedure succeeds. And while doing that, if anything fails, we can just throw away the list of commands collected and execute it later if the whole recursive procedure succeeds. The control flow was exactly this.
- winddude 3y agoWell I'm winning than. I've written so much useless software, and projects, and starts of projects. 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.
- shnock 3y agoWhat kinds of resources?
- winddude 3y agocommoncrawl at the moment. But also used to have some stuff using the old reddit (through pushshift) and twitter apis. Plus some old classified crawlers, where sites have taken a more proactive approach.
- syndicatedjelly 3y ago> 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. What does this mean?
- winddude 3y agoNo yesterday, I just tried to spin up an old project using common crawl, which is hosted on AWS open data, seems like it's gotten quite popular since I lasted worked on it, and they're experiencing throttling from over usage, maybe even ddos (or just a really bad developer). But seems to be a pretty common thing with stuff related to data and crawling. Everyone is cracking down on crawlers, adding paywalls, removing previously free APIs, so coming back to old projects in that domain seems to be impossible.
- syndicatedjelly 3y agoWhat's the lesson to be learned from that experience?
- byteknight 3y agoOne of the most impacted "sayings" I once heard that made me think like no other before it. "Time You Enjoy Wasting Is Not Wasted Timed"
- keernan 3y agoI first learned about computers in 1970 when I took the only computer course my college offered: a one semester course of Fortran. In 1977 I passed the bar and became a trial attorney. In 1978 I bought a Tandy Model I. I spent lots of hours developing expertise in a courtroom over the ensuing 40+ years. But my love was playing with programming (mainly basic; dBase; FoxBase; FoxPro; VB; VBA). 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!
- diimdeep 3y agoFor individual play, exploration, and edification certainly do it, but sharing such software is careless. Consider keeping it to yourself, otherwise label it clearly for what it is: an experiment, a joke, or a personal challenge. Otherwise it clutter the ecosystem, divert newcomers from battle tested tools, poses security threats, deludes perception of quality by sending message that thoroughness and quality control aren't essential, diverts community to spent time on "useless" projects instead of addressing real-world challenges.
- HeyLaughingBoy 3y agoOr there's my take: release early, release often, release everything.
- lasagna_coder 3y ago> clutter the ecosystem what ecosystem? > diverts community to spent time on "useless" projects what community? > addressing real-world challenges. what challenges? i'm curious to know what the criteria or thresholds are for releasing vs not releasing.
- deleted 3y ago[deleted]
- diimdeep 3y agoecosystem of packages, libraries, gems, crates or what the fuck people calling this things these days. community of programmers within different technology stacks. challenges to make software simpler, smaller and faster, to maintain software and prevent modern bloat from eating up gigahz of cycles on many cores.
- NoGravitas 3y agoHonestly, all those things sound cool and good. Anything that reduces the value of software to capital is great in my book.
- MichaelRo 3y agoLet's play "devil's advocate" and ... advocate writing LESS "useless" software. 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.
- syndicatedjelly 3y ago> 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. This is a sad, sad way to live life
- teddyh 3y ago> This is a sad, sad way to live life That’s just how living under capitalism is like for the people who aren’t the lucky few who have a great job doing something they like. If you want a world without the need to earn money, advocate for and implement UBI. Until then, don’t disparage people trying to earn money.
- syndicatedjelly 3y agoThank you for the lecture, Karl
- gv83 3y agowrite all you want, but if your useless software has to be maintained by other people, think really hard about it. and write it properly. I had maintained way too many "don't lose the play factor!!111one" codebases at ${dailyjobs}.
- liampulles 3y agoI think there is a balance: I try to write useless explorative software that has no expectations beyond learning in my spare time, and at work I try and focus my time on very pragmatic, focused, "useful" work. Don't confuse exploratory learning code with production code, respect the boundary (IMO)
- godshatter 3y agoI agree with this, even with my own projects. When I write code I go for pretty code that is designed well for what it's doing and doesn't have much cruft. I refactor if the next thing I want to add doesn't match what I've built, and figuring out how to replace it in a minimal yet clear to read way is where I get my fun from, I've mostly figured out. I'm an organic designer and a code artist, I guess. Having said that, when I step into territory that's new to me I'll write the worst code imaginable without the normal restraints just to get something that works, then spend a week painstakingly trying to figure out why each piece works and how it's supposed to work and refactoring it into a nice relatively clean design. At work I will write an exploratory bit of code, through it away once it runs correctly, and rewrite it in the code it needs to live in afterwards.
- liampulles 3y agoI agree with your approach - I think I did not write clearly enough, and I should say that when I say exploratory code in this context, I'm thinking about trying out new libraries, languages, etc. Certainly if one is on a new project or in a new domain, the code has to be exploratory at first.
- franze 3y agosome of my recent useless software with an audience of mostly 1 (me) https://updownredgreenetc.franzai.com/ 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/ http://lalo.li/lsd/ - LSD refactored and now in color https://flapimoji.franzai.com/ https://flapimoji.franzai.com/ - a flapy bird implementation in emojis https://ashtanga-muskeln.franzai.com/ https://ashtanga-muskeln.franzai.com/ - a german yoga anatomy learning app and quizz same for yoga vokabulary - https://ashtanga-vokabeln.franzai.com/ https://ashtanga-vokabeln.franzai.com/ https://github.com/franzenzenhofer/lighthouse-script https://github.com/franzenzenhofer/lighthouse-script - a bulk google lighthouse testing suit https://github.com/franzenzenhofer/thisismy 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 https://github.com/franzenzenhofer/qrpwd - backup encrypted data as qr images in your google photos / whatsapp / fb photo streams
- rpastuszak 3y agoI love writing useless software! Here's some useless software I wrote this year: - https://lines.potato.horse https://lines.potato.horse → the uncolouring book - https://meat-gpt.sonnet.io https://meat-gpt.sonnet.io → MeatGPT - https://tidings.potato.horse https://tidings.potato.horse → Medieval Content Farm - https://butter.sonnet.io https://butter.sonnet.io → You deserve butter. - https://mrr.sonnet.io https://mrr.sonnet.io → Mrr - https://mrrr.sonnet.io 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 https://sonnet.io./projects
- danielovichdk 3y agohttps://meat-gpt.sonnet.io https://meat-gpt.sonnet.io most hilarious thing I have seen on the internet for a long time. Gold!
- halffullbrain 3y agoMarvellous. I asked it: Which opinions do you tender? and Do you need a beefy GPU? The result really was food for thought.
- LoganDark 3y agoWoah, what are you using to render the brush strokes in The Uncoloring Book?
- rpastuszak 3y agoRendering is done via SVG (and a bit buggy), the stroke thickness is calculated via perfect-freehand (by Steve Ruiz, the guy behind tldraw)
- LoganDark 3y ago> the stroke thickness is calculated via perfect-freehand thank you! yeah I noticed the bugginess, the thing seems to be lagging behind my actual cursor because it tries to smooth things out to within a few % of the brush's radius. kind of distracting, but tolerable.
- nicbou 3y agoThere is also an hybrid of work and play where you put way too much work into a marginally useful feature because it's fun. 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.
- BiteCode_dev 3y agoLearned that by coding with a friend I considered a terrible coder. 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_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22a55399-553f-4115-af1c-273e48634a11_563x654.png 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.
- eitland 3y agoI noticed years ago that if I started by doing everyting correctly (naming my project etc) it would likely be doomed. After I started letting my projects have the names my IDE assignes until they have proven themselves to be interesting my success rate seems to have increased. I think this is related to the same underlying thing you describe.
- justsomehnguy 3y ago
- hutzlibu 3y agoI rather came to a different conclusion yesterday: I want to write less, but more beautiful code. Simple, elegant and powerful. And getting the job done. I am kind of sick of useless boilerplate, wrapper, workaround, ductaping ... 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.
- rockbruno 3y agoThe fact that everything needs to have a "purpose" (not just with tech, but with life in general) is something I continuously struggle with. I know I'm not supposed to care about it but I have a really hard time applying it in practice.
- derelicta 3y agoNext useless project: a program that mimicks some "schizo"-memes about CIA-Mind control. Goal is to somehow make it look like the one in the memes, publish it somewhere and see how many folks actively launch that piece of software. Will probably integrate some basic facial recognition like OpenFace n something.
- Cthulhu_ 3y agoWhy software when you could also make it a creative outing for yourself?
- derelicta 3y agoIt's a creative outing for myself. But dw, when I leave work, I tend to avoid getting in front of my computer as soon as I'm home ahah. Jogging remains my first love, even tho I'm not really good at it.
- deleted 3y ago[deleted]
- mattlondon 3y agoUseless and also "non-profitable". 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!
- mortallywounded 3y agoI think it's great to engage with your muse. See what happens and learn something along the way. You don't need to "release" this software on the world. 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").
- alhadrad 3y ago- https://github.com/akoerner/8ball https://github.com/akoerner/8ball → bash magic 8 ball that pulls the good entropy from random.org - https://github.com/akoerner/buzzword_bingo https://github.com/akoerner/buzzword_bingo → Generate buzzword bingo cards for all of your meetings - https://github.com/akoerner/cdbuff https://github.com/akoerner/cdbuff → Grandpa's memory pills for the 'cd' command
- brainlessdev 3y agoI made a fortune database from Marcus Aurelius's Meditations. You can go "fortune /path/to/meditations" and get a random paragraph from the book. But you need to build it first. https://github.com/fnune/meditations-fortune https://github.com/fnune/meditations-fortune
- incomingpain 3y agoWoot, I'm doing this right! 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.
- notakio 3y agoThe article contains solid advice that certainly transcends coding, alone; in my free time, I try to essentially "find work". Sometimes that work consists of writing software to solve weird little home "problems" that may or may not be actual problems. Sometimes that means building something as a joke, just for fun. Sometimes that work consists of over-engineering a water heater box-turned-space shuttle for my daughter. Or recording my dog's wheezing and turning it into "classic industrial" music. It all feeds the same internal need, though; to learn, to build, and to produce something, rather than to passively consume other people's products. It keeps my brain alive, and I find improved performance/innovation in other work-related projects, as a result of just staying active, mentally.
- Sohcahtoa82 3y agoCurious if you've tried any "work" games. Factory building games (Factorio, Dyson Sphere Program, Satisfactory, Captain of Industry, etc.), programming games (Human Resource Machine, 7 Billion Humans, anything by Zacktronics), or colony sims (Rimworld, Oxygen Not Included, Banished)?
- notakio 3y agoI have not. I'm afraid I am a gaming luddite, though for no particular reason other than having a lengthy list of mental "to-dos" in front of it.
- PredictorX1 3y agoThis is a great way to exercise programming skills in preparation for "more serious" projects.
- NoGravitas 3y agoWhat a way to take all the fun out of it.
- francisofascii 3y ago> When you spend all day working on useful things, doing the work, it's easy for that spark of joy to go out. Ha. My day job is where I write useless software. My side projects are actually the useful stuff. (only half joking)
- chankstein38 3y agoThis is what keeps me saying I love programming. I do it professionally as well but am burnt out and tired of the job. However, in my free time, I still fall down obsessive rabbit holes writing weird little apps that modify an image in a unique way or a wave file or modding one of my favorite games. 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.
- Lukeisun 3y agoHow do you guys get ideas for “useless” software? I’d like to do some more personal projects but I always get stuck at what I want to even do
- NoGravitas 3y agoEverything I write outside of work hours is specifically useless, if only to keep my work from being used by the enshittification company or the MIC. Yeah, my software is Open Source, have fun trying to find a way to monetize a gopher-to-gemini proxy.
- wwader 3y agoSome joke/useless software i've written: - https://github.com/wader/jqjq https://github.com/wader/jqjq - https://github.com/wader/flac.tcl https://github.com/wader/flac.tcl In most cases i learned way more then i expected. Even made some friends.
- gropo 3y ago[dead]
- brennaw1 3y agoWhy craft when you can play? Great to see a refreshing perspective amidst the hustle and grind of the tech world. Next time someone asks why I spent my weekend making a digital potato, I'll just link them to this article. On a side note, there's a secret brilliance in 'useless' software: it reveals the pure essence of the coder's joy and curiosity.
- temporallobe 3y agoI have quite a few of my own personal projects (apps, scripts, utilities, etc.), and I would say most of these would probably be useless to anyone but me, but it’s fun and satisfying to create, especially in a cold corporate/enterprise environment where all the joy is sucked out of software development.
- JaDogg 3y agoAnyone know if there is something like `The Recurse Center` in London ? would be cool to join something like this. :)
- lsferreira42 3y agoI do a lot uf useless and experiment software, like these: https://namechecker.leandrosf.com/ https://namechecker.leandrosf.com/ -> Check if your pretended project name is already used in somewhere https://github.com/lsferreira42/bli https://github.com/lsferreira42/bli -> a brainfuck interpreter that is intended to help you understand brainfuck https://github.com/lsferreira42/nadb https://github.com/lsferreira42/nadb -> a threaded key value store with memory buffering https://github.com/lsferreira42/hnpes 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
- devilsAdv0cate 3y ago[dead]