Ask HN: What's the most creative 'useless' program you've ever written?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • subleq

    This is marginally useful, but I wrote a small ‘subleq’ playground — it’s an instruction set with just one instruction, “SUBtract and branch if Less-than or EQual to zero”.

    https://github.com/incanus/subleq

    It was fun to see how simple a model of computation could actually be.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • standup-comedy

    Practice standup comedy with AI

    Recently did a standup comedy app where an AI laughs at my jokes: https://github.com/btahir/standup-comedy

  • IONs

    Library of Intuitive Ordinal Notations (IONs)

    My Library of Ordinal Notation Systems shows a way you can systematically write more and more complex code, with no end---even if you had access to strong AGIs, they could never "finish" the exercise. https://github.com/semitrivial/IONs

  • BMP_to_Prime

    Creates a prime number from a bmp

    I made a small C program that would use GMP to generate a prime number from a bmp image. I was inspired by a Youtube video but I can’t remember what it was anymore.

    https://github.com/Fethbita/BMP_to_Prime

  • systemd-dining

    Dining Philsophers implemented in the Unix Programming Environment

    Solving the Dining Philosophers problem using systemd

    It gave me the chance to play with some old unix concepts in an nspawn container.

    https://github.com/brightbox/systemd-dining

    As well as incorporating the Philosopher’s Song and some profound statements into the journal.

  • larch

    Generalized graph traversal

  • cursed-typescript

    TypeScript's type system is Turing complete - let's abuse that!

    I have a repository where I make classic programs (game of life, sudoku solver, brainfuck interpreter, etc) but entirely within Typescript's type system

    https://github.com/ruyili/cursed-typescript/

  • retroSynthwave

    A retro synthwave "demo scene"

    https://github.com/victorqribeiro/retroSynthwave

  • triad

    An esoteric language based on three-character identifiers

    I like to write a lot of little programming interpreters and compilers that don't have a whole lot of purpose other than to experiment with a concept. One of these was a little language I called Triad ... an esoteric programming language that used three-letter identifiers because I could quickly treat them like a base-26 int and index an array of 17576 entries, avoiding having to use a hash table implementation.

    You can see the C source code for a simple command interpreter that permits three-letter subroutine identifiers here.

    https://github.com/jimlawless/triad

    I have some other versions that had placeholders for built-in operations that would have made the language Turing-complete but I soon lost interest.

  • gotermimg

    Display images and play gifs in your 256 color terminal!

    Nyancat terminal animation in perl: https://gist.github.com/moshen/1417991

    On the slightly more useful side...

    gotermimg to play gifs in the terminal: https://github.com/moshen/gotermimg

  • pywal

    Discontinued 🎨 Generate and change color-schemes on the fly.

    It's a cool problem. Did you ever see the pywal project? It has a few backends for generating palettes, I think the best is the imagemagick one in wal.py

    https://github.com/dylanaraps/pywal/tree/master/pywal/backen...

    Also, I guess dylanaraps has archived all his projects and taken up farming? Fair enough

  • genact

    🌀 A nonsense activity generator

  • obnoxious.css

    Animations for the strong of heart, and stupid of mind.

  • elevator.js

    Finally, a "back to top" button that behaves like a real elevator.

  • hipku

    Encode any IP address as a haiku

    JS library to encode IP addresses as haiku

    https://github.com/gabemart/hipku

    the demo is long since dead but the lib is just a file, should still run

  • candidCamera

    tessel camera project

  • timekeeper

    Telling the time from an image with computer vision (PyTorch + OpenCV) (by JinayJain)

    When I was first learning computer vision, I wrote a program that could tell the time from an image of a clock [1]. I had no purpose for it besides the fact that it seemed like a cool problem to try and solve.

    Years later, I get an email from a stranger in Korea, asking me how to run my program. Why would he want to use my silly program? Turns out you can adapt the code to read analog pressure gauges which is really useful for chemical plants. Goes to show that there's often a use for most things.

    [1] https://github.com/jinayjain/timekeeper

  • tatanka

    I wrote a bot / agent in Go that after installing it once in an AWS EC2 instance would starting checking and bidding on AWS spot instances and replicate itself there.

    It would check the API, “buy” a spot instance and inject a startup scrip to download itself.

    Totally useless. But fun.

    Code is here: https://github.com/tnolet/tatanka

  • auto-giphy-movie

    AutoGiphyMovie lets you search Giphy for gifs, converts them to videos, attach a soundtrack and stitches it all together into a movie

    I built https://github.com/mohapsat/auto-giphy-movie a long while back for fun. It lets you search Giphy for gifs, uses ffmpeg to convert them to videos, concatenate the chinks, attach a soundtrack and stitches it all together into a movie

  • pentatone

    This python thinks it's a guitar

    A guitar simulator: https://github.com/MatrixManAtYrService/pentatone

    A friend was excited to teach me to play the guitar and I was excited to teach him to code so I wanted to make some common ground for us to play with.

  • encom-boardroom

    📈 Web tribute to the Tron: Legacy Boardroom Scene

    Can’t believe it’s been a decade since I built this stuff… but I used to enjoy recreating futuristic UIs from movies. Tons of fun, wish I had time and energy for this type of play still.

    E.g. https://github.com/arscan/encom-boardroom

  • react-lang-selecta

    Language selector component with random flag emojies

    react-lang-selecta: https://github.com/MarcAbonce/react-lang-selecta

    A language selector component that shows random (but still accurate) flags for each given language.

    So if you give it, for example: English, Portuguese and Chinese it might render the flags of South Sudan, Macau, and Macau.

    I always noticed how websites sometimes pick arbitrary flags in their language dropdowns even when they're not even trying to represent those specific regions. Wikipedia even has an article describing this topic: https://en.wikipedia.org/wiki/Flag_icons_for_languages

    So I thought about making a React component lib just to make fun of that idea. It's not that creative nor good but I had fun writing it.

  • Margaret

    Are you there god?

  • God

    Ruby process monitor

    I wrote a script to monitor the process monitor God [1]. which I called Margaret [2], playing off the famous Judy Blume book, "Are You There God? It's Me, Margaret". [3]. Silly, but I enjoyed the low effort joke.

    1. http://godrb.com/

  • DeepLabCut

    Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans

    Thanks for sharing this. The blog article on building your pipeline was a fun read! Your solution has a nice blend of heuristics and DL.

    If you’re ever interested in revisiting this click project, you could check out DeepLabCut [0]. A blogpost highlighted a toy example of training a DLC model to recognize clock arms [1], which may or may not be more consistent than your Canny approach :)

    [0] https://github.com/DeepLabCut/DeepLabCut

    [1] https://guillermohidalgogadea.com/openlabnotebook/training-y...

  • RanDraw

    Records keystrokes to create random images

    I found the GitHub repo too although I am a little embarrassed by the code now

    https://github.com/prashantsengar/randraw

  • trainbot

    Watches a piece of train track, detects trains, and stitches together images of them.

  • metamorphic_polymorphic

    Examples of Metamorphic and Polymorphic code

    I wanted to learn metamorphic coding.

    I end up writing a program which creates a copy of itself which is different to the previous copy, but still functions the same.

    https://github.com/jwbensley/metamorphic_polymorphic/tree/ma...

  • fireworks-text

    A fireworks inspired approach for explosive text for the New Year

  • esp32.bf

    branfuck on esp32 because why not?

  • nanopond

    Nanopond: minimal artificial life system in C

  • gevey-2023

    This code[1] takes a Gevey[2] phrase (eg: Ganexlje tots qibate vuiteerjat, yu vaelaem vosubz djaont nexljate veihat. Ûdx leugxoisqeu veihakjeu seti, sneinov galeugxe árj mondz dxeute tadiljt.[3]) and turns it into a string of letters that can be displayed by my Gevey native script font[4] in a browser.

    [1] - https://github.com/KaliedaRik/gevey-2023/blob/main/src/lib/n...

    [2] - My constructed language. I started working on it after my first week of French lessons, at which point I decided: "I can build a better language than that!" - 50 years later I'm still working on it and, no, it's not better than French ... yet.

    [3] - The builders worked very quickly, they easily built a bridge over the river. Travelling is easier now, but not enough travellers stop here anymore.

    [4] - https://github.com/KaliedaRik/gevey-2023/blob/main/static/fo...

  • CommentCPP

    add confusing comments to an existing source file

    A script which replaces all comments in a file with confusing yet plausible-looking alternatives - https://github.com/tiniuclx/CommentCPP

    I did this seven years ago - way before generative AI came around to do it in twice time and 1000x more expensive ;)

  • pynum

    An implementation of positive integer arithmetic in Python

    Back at university I found out about Python's operator overloading and decided to reimplement integers:

    https://github.com/bjackman/pynum

  • radialRepeat

    Photoshop radial repeat script for CS2+

    Only thing I have posted online currently: a Photoshop script to radially-repeat the current layer, making for interesting graphics! Assign it to a key-command, draw some stuff and press the key-command each time to progressively refine your artwork! Fun stuff. https://github.com/amatecha/radialRepeat

  • patchy-py

    Copy paste for pro's

    https://github.com/bobjansen/patchy-py

    Patchy.py allows you to keep define a Python function as the result of another function and a diff.

  • sisyphus

    Toy stack concatenative language implemented in AWK (by fairplay)

    Great thread!

    I wrote stack concatenative language while learning AWK https://github.com/fairplay/sisyphus and it was one of the most pleasant programming experience in 2024.

  • least-toxic-todo-2024

    I made a todo app in a mixed up tech stack (nextjs Backend, Go Frontend, Postgres in the browser): https://github.com/refactorerer/least-toxic-todo-2024

    I was probably furious about web development again, so I thought maybe it's fun to do something completely crappy and broken by design on purpose.

    It was really fun to do, but I also wanted to challenge myself in writing about it. I do not think that this satire project/article did a lot to improve my writing, but hey at least I did it and finished it. I do think however that it could have become much funnier had I put a little more effort into it. Also tried to get it out there by making an X account and engage with the htmx guy, but I learned that my X game is too weak and I gave it up afterwards.

    I definitely want to do some project like this again, I like the idea of doing something useless and/or plain wrong.

  • computational-thread-art

    Code that renders an image as a series of lines connecting pins around a circular frame (for more detail, see my Medium page).

    With your description, ChatGPT tells me it may be this one:

    https://github.com/callummcdougall/computational-thread-art

    Is it? :)

  • I had an exercise bike that came with a heart-rate band monitor, but it only pairs with the stationary bike. I wanted to use it for running to show heart rate zones. So I wrote an android app that pairs with the band, gets reading and make some nicer display. I had no idea how to write flutter, or talk to bluetooth devices, but github and chatGPT helped a lot.

    https://github.com/kernyan/HeartRateBandHacking

  • q8ball

    very cool, I made something similar, https://github.com/derekburgess/q8ball

  • QR-to-QR

    Enables a pair of phones that have front facing cameras to share text using QR codes.

    QR-to-QR: https://github.com/sradc/QR-to-QR

    The app lets phones send messages to eachother via QR codes. The two phones have to be put face to face.

  • spoonie

    Spoonerisms for the entire web!

    I wrote a Chrome extension called Spoonie[1] that modifies text on websites into spoonerisms[2]. Very useless, but very fun.

    [1] https://github.com/postmalloc/spoonie

  • writer

    a CLI to write without restraint (by smcalilly)

    - writer - a CLI to write notes: https://github.com/smcalilly/writer

  • - added oblique strategies to the banglejs app store: https://github.com/smcalilly/oblique-strategies-bangle-js

  • firebuild

    Convenience of containers, security of virtual machines (by combust-labs)

    https://github.com/combust-labs/firebuild

    Build firecracker vmms from dockerfiles. Learned a ton, never did anything with it but I want believe it influenced a bunch of people to look deeper into firecracker.

  • analog_gauge_reader

    Open framework for reading analog gauges, deployable on real world robotic systems

    At ETH we worked on an analog pressure gauge reading project. In the larger project, we wanted to read analog pressure gauges in oil refineries. https://github.com/ethz-asl/analog_gauge_reader

  • sandwichbot

    A helpful sandwich virtual assistant

    https://github.com/JonD-libera/sandwichbot

  • repiet

    A compiler for the esoteric language Piet, targeting multiple backends.

    I'm a lover of esoteric languages, and Piet[1] captured my imagination more than any other. So, I wrote a compiler for the language[2].

    And since I love code golf, I wrote most of the compiler in the extremely tortured form that only fellow golfers can love. But I balanced the golf with extensive comments, as a bit of an experiment on the varied advice that we receive as programmers about comments.

    Just recently, I made a friend! And by "friend" I mean that another human has written another Piet compiler[3] and it's a beautiful project and we were delighted to discuss our tortuous projects that we wrote for pure fun! So I've gotta plug his compiler too, because it's written in safe Rust! Too cool!

    [1] https://www.dangermouse.net/esoteric/piet.html

    [2] https://github.com/boothby/repiet

    [3] https://github.com/pwang00/pietcc/

  • pietcc

    Piet interpreter and retargetable compiler written in Rust using LLVM as a backend

    I'm a lover of esoteric languages, and Piet[1] captured my imagination more than any other. So, I wrote a compiler for the language[2].

    And since I love code golf, I wrote most of the compiler in the extremely tortured form that only fellow golfers can love. But I balanced the golf with extensive comments, as a bit of an experiment on the varied advice that we receive as programmers about comments.

    Just recently, I made a friend! And by "friend" I mean that another human has written another Piet compiler[3] and it's a beautiful project and we were delighted to discuss our tortuous projects that we wrote for pure fun! So I've gotta plug his compiler too, because it's written in safe Rust! Too cool!

    [1] https://www.dangermouse.net/esoteric/piet.html

    [2] https://github.com/boothby/repiet

    [3] https://github.com/pwang00/pietcc/

  • pulsar

    Micro creative coding playground (by Stanko)

    I love creative coding. I'm mostly focused on the visual stuff, especially generating vector files for pen-plotting. That said, I'm very proud of Rayven, my small vector 3D engine that mimics hand hatching:

    https://muffinman.io/blog/sneak-peek-of-rayven/

    I would say it is 80% done, but it needs to be polished for a public release. I do plan to release it, and I would love to prepare a proper talk about it.

    There are also other small tools I created, like Pulsar (micro creative coding playground) and Vertigo (turning raster images to SVGs). Both are open source and available here:

    https://muffinman.io/pulsar/

  • diff-actor

    Act out diff's between files in Emacs

    Many years ago, I made an emacs script that plays back diffs between files as live edits in the emacs buffer: https://github.com/nma83/diff-actor

    My nefarious intent was to make my screen at work look like I am editing code from remote login :).

  • gut

    For when you mistype `git`. (by dom111)

    Exactly the tools that inspired me:

    https://github.com/dom111/gut

  • Bad-AppKit

    Bad Apple but with Cocoa (I know it's not AppKit)

  • ascii_project

    CLI tool for ascii text generation in python

  • Bin

    My command line tools (by tobylane)

    I wrote a bash script to put a colour dot in the mac menu bar to represent the CPU temperature. I barely used it when I was on Intel, and it doesn't work on Apple Silicon. It's now only possible to ask for the thermal pressure, and be told a descriptor, always 'Nominal' in my case. I wrote the change but haven't pushed it.

    https://github.com/tobylane/Bin?tab=readme-ov-file#tempinbar

  • mtcx

    Makers Territory

    I love all of these projects mentioned here. A year ago, I wrote a Manifesto to attempt and write fun applications like these. This is such a good "Ask HN" post. I wish there's more of such posts here.

    For those interested, here's the Manifesto: https://github.com/mohnish/mtcx

  • bubbleos

  • FollowingEye

    Simple eye looking at the face (android app)

  • yummychars

    it's a terminal snake game that uses tmux to capture your terminal content and serve that as food for the snake

    there are no scores or anything just gobbling up characters to clear your screen

    written in go

    https://github.com/willofdaedalus/yummychars

  • GREED

    RTS Programming game based on C++ (by PHANTOM9009)

    you can see the project here at my website: https://aiplaygrounds.in

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: Design Directory with over 1000 Curated Design Tools

    1 project | news.ycombinator.com | 7 Dec 2024
  • refilelabs - image VS squoosh - a user suggested alternative

    2 projects | 29 Nov 2024
  • Llama-OCR: An Open-Source Llama 3.2 Based OCR Tool

    6 projects | news.ycombinator.com | 15 Nov 2024
  • Replacing Only the Background of an Image with AI Generation Using the Stable Diffusion Web API

    2 projects | dev.to | 8 Nov 2024
  • Passport Photos

    2 projects | news.ycombinator.com | 6 Nov 2024

Did you konow that Python is
the 2nd most popular programming language
based on number of metions?