←back to thread

296 points reverseCh | 1 comments | | HN request time: 0.383s | source

I recently came across the concept of "useless" programs - pieces of code that serve no practical purpose but are fun, creative, or challenging to write. These could be anything from elaborate ASCII art generators to programs that solve imaginary problems. I'm curious to hear about the most interesting or creative "useless" programs the HN community has written. What was your motivation? What unexpected challenges did you face? Did you learn anything valuable from the experience? Some examples to get the ball rolling: 1. A program that prints the lyrics of "99 Bottles of Beer" in binary. A text-based game where you play as a semicolon trying to find its way to the end of a line of code. A script that translates English text into Shakespearean insults. Share your creations, no matter how quirky or impractical. Let's celebrate the joy of coding for coding's sake!
Show context
jinay ◴[] No.41920264[source]
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

replies(12): >>41921284 #>>41921434 #>>41921458 #>>41921846 #>>41923054 #>>41923488 #>>41923997 #>>41924793 #>>41925039 #>>41925087 #>>41933954 #>>41936559 #
1. blacklion ◴[] No.41925087[source]
long-long time ago (think end of last century) friend of mine take contract to automatize gas-pump stations on long gas pipe. Stations were here, with analog gauges and valves.

Offer from some "big" business with digital / connected gauges and motorized valves were too much for customer. He wanted much, much cheaper.

There were special modems, which use pipe as data line (think something like 150 baud shared between all stations).

So, solution implemented by my friend was like:

1) Electric motor with gearbox to motorize valves, it was cheap, as standard electric motors are cheap and customer has its own mechanical shop, so everything was cobbled in-house from standard of-the-shelf components.

2) Modem for each station (it was inevitable)

3) Laptop with B/W web cam on each station.

4) Software which can read gauges from webcam shots.

5) Software which transmit values from all stations to central station and allows to manipulate valves from central station (no automation here, 24/7 human operators)

Laptops and cameras were not cheap from personal point of view, but like x100 cheaper than special gauges and valves offered by gas-pipe equipment manufacturer.

It was not called "computer vision" at this time.