[HN Gopher] Ask HN: Have you created programs for only your pers...
       ___________________________________________________________________
        
       Ask HN: Have you created programs for only your personal use?
        
       Curious to know if anyone has written programs for their own,
       regular, & personal use. And if so what they are? E.g. A colleague
       of mine tracks all of his homes energy use through a custom program
       which disaggregates the energy consumption per device and outputs a
       report to a tablet.
        
       Author : smarri
       Score  : 128 points
       Date   : 2022-04-13 19:05 UTC (3 hours ago)
        
       | luisbarrera wrote:
       | I made a bill splitting app for my friends and I. Decided to make
       | it into a company. https://www.producthunt.com/posts/splyt-pay
        
       | BozeWolf wrote:
       | For fun I made a tool to create 3d printable stamps (or tokens).
       | Upload image, download stl, print, have fun.
       | 
       | I will release it one day. The algorithm is super inefficient and
       | can be 10 times faster. But I am the only user.
       | 
       | View result (and save cpu cycles):
       | https://powpowstamp.com/designer/bc807d49-3899-4969-a342-528...
       | 
       | Upload a design (black/white outlines works best, see example)
       | https://powpowstamp.com/designer/
        
       | matheusmoreira wrote:
       | Absolutely. Most of the software I've written is for my personal
       | use. I enjoy automating and customizing things on my computer,
       | usually by plugging in my own scripts into the programmable
       | environments. I'm also extremely fond of reinventing the wheel on
       | purpose.
       | 
       | My biggest personal project is a streamlined android app I use to
       | easily track my own job performance and statistics. I can back up
       | my performance claims with real data, negotiate more valuable
       | terms and identify optimization opportunities. It's helped me
       | increase my profits by about 60% and also allowed me to work a
       | lot less hours because I know how much time I need to accomplish
       | each task and can optimize the use of my time accordingly.
       | 
       | I don't feel comfortable publishing things on github without at
       | least polishing them a bit first and I no longer have enough free
       | time or motivation to do it. Sometimes I come across an
       | interesting concept that I just have to implement to convince
       | myself it works and that I'm not insane for thinking it. Usually
       | lose interest after it's proven, finishing it is a lot of work
       | and it just feels pointless.
        
       | olivierduval wrote:
       | An SMS sending server on an Android phone, to send me OTP code
       | from my VPS
        
       | nicoburns wrote:
       | I have two that I use on my personal machine:
       | 
       | 1. A minimal "docker-compose without docker" tool. That allows me
       | to run a group of backend web services with a single command and
       | multiplex the terminal output.
       | 
       | 2. A browser chooser that I set as my default browser, and which
       | pops up a UI that allows me to choose which browser (and if
       | Chrome, which chrome profile) I want to open links in. Super
       | handy for making sure links get opened in the browser (profile)
       | that has the correct cookies for that account. There are other
       | tools that do this, but they are either written in Electron
       | (slow) or don't support chrome profiles, or don't support macs.
        
       | jdrc wrote:
       | yes, for my bookmarks. pinplz.com
        
       | BrianHenryIE wrote:
       | I have GoPros on my bike and often when I arrive to work/home I
       | forget to turn them off and the batteries die, so I wrote an app
       | so I can shout across the room, "Hey Siri, stop all cameras".
       | 
       | I don't use it anymore myself and got a bug report last week.
       | It's a couple of years since I've written any Swift at all, so
       | I'm not mad keen on working on it, and I feel a bit bad that I
       | have published it and it's not working. I never put the code on
       | GitHub because the reverse engineering of the Bluetooth was
       | somewhat incorrectly documented in the code and I didn't want to
       | share bad information. Now GoPro have an SDK I could use.
       | 
       | Similarly, I wrote a Siri Shortcut for checking where the nearest
       | Jump (bikeshare) bike is (Python on AWS Lambda). Then Uber sold
       | Jump to Lime and there is no API access for me anymore
       | (Sacramento).
       | 
       | https://www.youtube.com/watch?v=0RzahKxUYqc
       | 
       | https://apps.apple.com/ie/app/stoppro/id1453312416
       | 
       | https://gopro.github.io/OpenGoPro/demos/python/sdk_wireless_...
       | 
       | https://github.com/BrianHenryIE/Bikeshare-Siri-Shortcuts
        
       | ju-st wrote:
       | - a Python script that turns my loudspeakers off when no audio is
       | played by Windows (by toggling a smart plug over Wifi). Saves
       | quite a bit of energy.
       | 
       | - my TV loudspeaker is frequency corrected by a microcontroller
       | (so that the sound is better) and is connected by Bluetooth
       | (using an ESP32)
        
         | BozeWolf wrote:
         | Nice! I had the same idea for my dumb speakers, except that i
         | somehow want to detect my chromecast-audio is not playing/is
         | playing.
         | 
         | I used to do this with a relay connected to 5v usb of my tv.
         | But i got rid of my tv.
        
       | dadro wrote:
       | I combined a series of state collected freshwater bio/fisheries
       | data into a web app that maps it out per lake. I use it for
       | discovering and targeting specific fish species within a given
       | area (town/county). I used it with much success during ice
       | fishing season and have started using it for canoe trips to
       | target bucket list species I want to catch.
        
       | toast0 wrote:
       | I wrote a PPPoE client with failover so I can keep the session
       | even when one of my gateways fails or is rebooted (this lets me
       | do regular maintenance without interrupting my internet
       | connection); I put it on github[1], but I doubt anyone will use
       | it. I hope there are few people left with the scourge that is
       | PPPoE, and my OS choice means many people would need to switch
       | OSes to use it, so yeah. Also, I don't care to make it easy to
       | use or to promote it, really. (I've mentioned it once or twice
       | and did a Show HN that got less than ten votes, which I kind of
       | expected).
       | 
       | I've also got my personal (network) monitoring software, some
       | 'IoT' stuff to capture temperature and humidity data around my
       | house, and I'm working on a ESP32 based alarm clock pulling data
       | from iCalendar feeds.
       | 
       | [1] https://github.com/russor/ppp_thing
        
       | hkt wrote:
       | Lots of small scripts. Probably my biggest thing is a typing
       | program for my son which has videos my son likes as rewards for
       | typing. Just bash scripts and a custom prompt, but it is software
       | someone else uses so I consider it to be worthwhile. It is a form
       | of speech and language therapy.
       | 
       | (I'd release it but the videos are copyrighted - the clips might
       | come under fair use, but I don't know the law well enough to be
       | sure)
        
       | racl101 wrote:
       | Yes. Scratching your own itch is one of the funnest parts of
       | scripting.
       | 
       | I made simple script that converts DB ids output per line that
       | you'd get from a query into a comma separated line with a one
       | line bash script.
       | 
       | e.g. converts:
       | 
       | 1
       | 
       | 2
       | 
       | 3
       | 
       | to:
       | 
       | 1, 2, 3
       | 
       | Since I do a lot of querying it is very helpful. To achieve the
       | same thing in Excel is a fucking nightmare.
       | 
       | The cool part is when I feed it like 50000 lines of input how
       | relatively quick it does it.
       | 
       | alias onelinify="paste -d, -s -"
       | 
       | example usage (on macos): cat db-ids.txt | onelinify | pbcopy
        
       | iostream24 wrote:
       | Constantly. I make mini apps for all kinds of thing, but often to
       | modify existing data of some kind in a brutal batch fashion
        
       | tombert wrote:
       | I have a fairly large blu-ray collection (~300 movies, ~15
       | complete TV series). I rip them and serve them with Jellyfin,
       | which works, but due to codec annoyances, I need to transcode
       | them to run on web browsers, and the SBC I'm running Jellyfin +
       | ZFS on is not really fast enough to transcode in real time.
       | 
       | Since I have a ton of little SBCs sitting around my house, I
       | decided to write a clojure app the queues up and transcodes my
       | movies to H264. It uses Docker Swarm to handle distribution of
       | nodes, RabbitMQ to queue up the movies, and core.async to handle
       | local queuing within the application, and uses the Java NIO
       | filesystem stuff to handle any kind of atomicity.
       | 
       | It's hardly the "first" or the "best" at what it does, but the
       | advantage of writing your own is of course that you can tailor it
       | exactly to your setup, and of course it was fun to write.
       | 
       | https://gitlab.com/tombert/distributed-transcode
        
       | verit wrote:
       | Every so often I want to derive a fraction from a decimal value,
       | such as 0.571 => 4/7. The key point is I want good
       | approximations, not exact values. That is, I rather get 4/7 than
       | 571/1000. I had found a tool at one point that did it, but it
       | stopped working, so I made my own.
       | 
       | https://voces.github.io/dec2fract/
        
       | smm11 wrote:
       | I turned a photo gallery thing into an ecommerce site, tied to
       | Paypal, on a Mac maybe 20 years ago. Lot of PHP mucking-about,
       | with little idea what I was doing. No harm or foul, though, other
       | than I could have picked a different gallery app that already did
       | that.
        
       | rco8786 wrote:
       | A bunch! Budgeting software, fitness tracking, a small CRM for a
       | private preschool that my wife worked at, a command line
       | journaling tool, etc
        
       | RapperWhoMadeIt wrote:
       | I recently developed a command line chat app that I can self-
       | host, to chat with my friends from the terminal and regain
       | control over my chat data and metadata. I self host the back end
       | in Linode and just for the lolz and "Unix portability" I wrote it
       | entirely in C. I don't really expect this to be useful to anybody
       | else than me and the couple of friends that also use it. I can
       | now chat from the terminal during my working hours and my
       | colleagues think that I am doing something mystical in the
       | terminal or developing in Vim.
       | 
       | You can check it out at:
       | 
       | https://github.com/erodrigufer/papayaChat
        
       | bayindirh wrote:
       | I've written and still writing small tools to help with my work
       | or personal computing life all the time. Some of them live long
       | and become sophisticated tools, some of them stay as small
       | scripts to help with mundane tasks.
       | 
       | The most used one is a tools called Railgun
       | (https://github.com/hbayindir/railgun/) for sending e-mails from
       | command line via Mailgun.
       | 
       | I've also built a backup tool for SMB shares [0], a simple time
       | tracker [1], and a semi-sophisticated tool for helping me
       | managing PXEBoot symbolic links[2].
       | 
       | Currently I'm working on, albeit slowly, on a tool for organizing
       | Pocket (https://www.getpocket.com) items.
       | 
       | [0]: https://github.com/hbayindir/smb-backup
       | 
       | [1]: https://github.com/hbayindir/Daily-Log-Analyzer
       | 
       | [2]: https://github.com/hbayindir/Hex-IP-Toolkit
        
       | christophilus wrote:
       | Yeah. An app to let me control my 5k monitor's brightness in
       | Linux. Tons of little utilities, like my blog generator. A
       | Firefox send clone.
        
       | scriptstar wrote:
       | I built a Crypto prices chrome extension that shows the top 10
       | Crypto coins and their prices. All right under my browser, so I
       | don't have to go to any other website. It's so helpful, and I
       | love it. I use it every day.
       | 
       | https://chrome.google.com/webstore/detail/crypto-prices-in-y...
        
       | soco wrote:
       | A social media client to my and a friend presences: interacting
       | with followers, more with the more important ones, proposing new
       | ones to follow or some to unfollow (and doing that in bulk), and
       | a few other handy shortcuts. It runs serverless crashing maybe
       | once a month for always novel reasons and costs me like 60$ (AWS
       | costs) and a few hours of programming every month.
        
       | egypturnash wrote:
       | I had a nice little Python hack that would watch the weather and
       | set the color of a light in the foyer based on the weather, _and_
       | override that with a dim red at night because I really did not
       | want a bright blue light when I got up late on a rainy night. I
       | never set up the lights after moving across the country so it's
       | been dormant.
       | 
       | (There are services out there that can set the color of a light
       | based on the weather, OR on the time, but I've never found
       | anything that can do both.)
        
       | binkHN wrote:
       | Latest one is written in Kotlin and compiled to a single
       | executable.
       | 
       | While I know many here dislike "crypto," it's used to calculate
       | some details on some OpenSea NFTs I'm interested in. The details
       | on each NFT are varied, but two of these NFTs can have their
       | details combined to create a "more powerful" NFT. Don't think I
       | should bother going into more detail, but the code calculates
       | every permutation of the details for all the NFTs to identify the
       | best combinations. Didn't take long to write and I did it for fun
       | as I never compiled Kotlin down to a stand-alone executable and I
       | wanted to give it a try.
        
       | philmcp wrote:
       | I have repetitive strain injury in my hands which made it
       | difficult to play online poker (it's a lot of mouse moving and
       | clicking i.e. folding)
       | 
       | So I created a script which took a screenshot every 100ms, it
       | scanned the image and checked the cards I had.
       | 
       | If the cards were bad (e.g 2h7s), it clicked "fold" for me
       | automatically
        
         | sgjohnson wrote:
         | Auto-folders are explicitly banned by basically all online
         | poker sites.
         | 
         | They are practically cheating. Of course if it folds certain
         | hands a 100% of the time, then it's just horrible for you,
         | because no hand is a fold 100% of the time.
         | 
         | Even 72o is playable from the big blind if you're the one
         | closing the action and the price is right.
         | 
         | You should probably consider an autohotkeys script, or a mouse
         | with macro buttons.
        
       | runjake wrote:
       | The vast majority of my code and most of my git repos are for my
       | own personal use. Various utilities and glue code and one-offs.
        
       | stevenjgarner wrote:
       | I have written many web applications for my own use, where I do
       | not have to take the extra effort to bulletproofing applications
       | for unintended use (validation and verification requirements
       | etc). Three applications stand out:
       | 
       | 1) a web application to manage customer Q-tagged VLAN Ethernet
       | circuits within specific color-coded optical fibers of municipal
       | fiber-to-the-home cables (12, 36, 48 and 96 fiber cables). The
       | application enabled fiber optic physical plant to be optimized
       | for customer Ethernet circuits, reducing the cost of implementing
       | customers considerably below industry average.
       | 
       | 2) a double-entry bookkeeping system optimized for the monthly US
       | Bankruptcy Court Chapter 11 financial reporting requirements to
       | manage the same company as debtor-in-possession when our largest
       | customer(s) filed bankruptcy during the dot com bust (circa
       | 2001), forcing us to also file for protection. This enabled us to
       | successfully double our customer base, double our revenue and
       | retire all debt while reorganizing in bankruptcy.
       | 
       | 3) a general accounting web application emerged from these
       | experiences specializing in multi-currency accounting of
       | businesses specializing in asset management (features that
       | Quickbooks etc just do not have). This built on my personal
       | situation of being a citizen of more than one country.
       | 
       | All 3 of these were developed using PHP/MySQL and I have
       | refactored them over the decades up to PHP ver 8 / MySQL ver 8
       | running on the latest Ubuntu LTS server version. As I am the sole
       | user (with a few personal assistants), I have been able to focus
       | on the addition of features and capabilities rather than user
       | support, security and general hardening of the applications.
        
       | cryptocoder88 wrote:
        
       | jms wrote:
       | I made a command line music playing frontend. It has a list of
       | all my music as a flat text file, then if I run "music" it
       | shuffles randomly, or I can add a regex as an argument to pick
       | the files from the list. It works surprisingly well - given my
       | folder structure I can just type in "music <artist>" or "music
       | <genre>" or "music <specific song>" and it just does it. It also
       | has a flag for turning shuffle mode on or off.
       | 
       | Very simple, but very comfortable for me.
       | 
       | I also created my own TODO / dashboard app, where all tasks are
       | on a schedule (do this every x days) and I can enter a value each
       | time I complete a task. These then show up as graphs on my
       | dashboard - helpful for tracking weight etc. I also graph a bunch
       | of random things automatically in the same system (how many
       | unread emails I have).
       | 
       | It also tracks how many tasks are overdue so I can measure my
       | general ability to get stuff done, and if it gets overwhelming I
       | can tweak the settings so it just shows me a few things (or more
       | realistically I tweak the task to either not need doing/tracking,
       | or I slow down it's cadence).
        
       | csours wrote:
       | The most complicated one I created was a widget showing the
       | status of the factory where I was working at the time.
       | 
       | This wasn't strictly speaking for personal use, but I created it
       | and I was the only one who used it as far as I know.
       | 
       | The info was the same as the main status screen, but I made it
       | frameless and always on top of other programs, and gesture aware.
       | It was about 150 px by 700 px, with little blinkenlights for the
       | statuses. It hung out on the right side of my screen and I could
       | see at a glance whether things were running or not. There was a
       | button to summon the main screen for more details.
       | 
       | The main work was understanding how to handle windows, and UX
       | refinements.
        
       | hypertexthero wrote:
       | Here are two things I use often that I pieced together using code
       | made by people who can actually write good code:
       | 
       | 1. HTML Form to File.txt, to quickly create a post for publishing
       | with a static website generator like Hugo or Jekyll:
       | https://www.simongriffee.com/work/form-to-txt/
       | 
       | 2. Pasta Clock, for cooking pasta al dente, not al mush:
       | https://www.simongriffee.com/pastaclock/
        
       | conroy wrote:
       | Not for me, but I wrote a small program that emails my dad the
       | New York Times crossword every day so that he can print it out.
       | He could just log into the website and print it, but email is so
       | much easier for him.
        
       | raybb wrote:
       | I often write bookmarklets for my own use. For example a
       | bookmarklet to take me from Amazon/Goodreads to the
       | OpenLibrary.org page for the book. It as easy as grabbing the
       | isbn and then navigating but saves me a decent amount of
       | annoyance.
        
       | chimen wrote:
       | Yes. Typely [1]. Made it to aid in writing better articles for
       | myself and some employees at the time. Decided to put it up there
       | after a while and is now being used in many schools around the
       | world. This is the only one that was made for me initially - I
       | have a lot of other projects but they are made for aiding my
       | businesses or to try new ideas.
       | 
       | [1] https://typely.com
        
       | ashilfarahmand wrote:
       | Market Alerter - I created an app that alerts\emails you if your
       | chosen stock meets some condition. There are many other sites
       | that already do this. However, I wanted it to be able to
       | expressions of one or more stocks. For example, if you want to
       | monitor West Texas Intermediate (WTI) crude price or Brent crude
       | price, you can do it easily. If you want to monitor the crack
       | spread (WTI - Brent), existing solutions are limited. I made this
       | to allow monitoring of combinations of stocks\commodities.
       | 
       | Options Simulator - An extended family member asked me to create
       | a small simulator to help forecast the outcome when making
       | options trades.
        
         | miketery wrote:
         | That's neat! Did you use paid APIs or free yahoo ones? Are you
         | sharing code?
        
       | wvenable wrote:
       | I had access to flight information through an API that my work
       | pays for and I rarely care _exactly_ what day to arrive or
       | depart. So I created an application that would dump all flights
       | to a destination over a range of leaving and return dates. It
       | dumped all the data into SQL database so I could filter on price,
       | number and duration of layovers, class, etc. It was incredibly
       | useful for really dialing into what I wanted (no layover over 3
       | hours, less than $X, etc). Using Google flights is painful by
       | comparison.
       | 
       | Unfortunately I no longer have access to that API. The last time
       | I flew I did this process manually and slowly discovered I should
       | leave on a weekday and leave on a weekend for the best flight.
        
       | nathants wrote:
       | agr: like ag/ripgrep, but for search and replace. [1]
       | 
       | set-opt: ensure settings in conf files in /etc. [2]
       | 
       | s4: when i need to do distributed data processing and don't want
       | to import an apache project. [3]
       | 
       | bsv: when i need maximum performance data processing. [4]
       | 
       | tinysnitch: for monitoring network connections to/from my laptop.
       | [5]
       | 
       | new-gocljs: when i need to start a new fullstack web prototype.
       | [6]
       | 
       | cli-aws: when i need to work with aws from cli or go, and don't
       | want to import the cloudnative equivalent of an apache project.
       | [7]
       | 
       | aws-rce: when i need remote code execution on aws for great good.
       | [8]
       | 
       | 1. https://github.com/nathants/agr
       | 
       | 2.
       | https://github.com/nathants/bootstraps/blob/master/scripts/s...
       | 
       | 3. https://github.com/nathants/s4
       | 
       | 4. https://github.com/nathants/bsv
       | 
       | 5. https://github.com/nathants/tinysnitch
       | 
       | 6. https://github.com/nathants/new-gocljs
       | 
       | 7. https://github.com/nathants/cli-aws
       | 
       | 8. https://github.com/nathants/aws-rce
        
         | nicoburns wrote:
         | For agr, have you seen fastmod?
         | https://github.com/facebookincubator/fastmod
        
       | jonplackett wrote:
       | Yes. And it's a strange one.
       | 
       | I made a program to gender swap any text you put into it and then
       | got a book deal to rewrite and illustrate Fairy Tales. It's been
       | published around the world.
       | 
       | https://genderswappedfairytales.com
       | 
       | The idea is to shine a light on the original versions but it also
       | creates a lot of never-written-before characters. A lot of brave
       | princesses and lady-beasts, but also men desperately wanting
       | children and being rewarded for kindness.
       | 
       | I wrote the gender swap algorithm in Swift. It seemed like it
       | would just be a simple auto replace type thing when I started but
       | there's some weird things in English, for example with
       | his/him/her/hers where they don't swap back and forth sensibly
       | and you have to understand the context.
       | 
       | It was his > it was hers.
       | 
       | It was his sword > it was her sword
       | 
       | So I ended up down this rabbit hole of natural language
       | processing to break up each sentence into verbs, nouns etc to
       | work out the correct words to use. Even tried training an AI to
       | do it based on the finished swapped text but a whole bunch of
       | rules worked more reliably.
        
         | netsharc wrote:
         | The Inclusive Coding Bot (a stupid Github bot that went around
         | Github making pull requests replacing "he" with "they") guy
         | should've talked to you...
         | 
         | https://news.ycombinator.com/item?id=30877930
        
       | linseed_213 wrote:
       | Some of the popular restaurants in my town use a booking app
       | called Seven Rooms, which does not have a "notify me" feature
       | like Resy & OpenTable if there are cancellations on a date you're
       | looking for.
       | 
       | Made a bot to check for my desired dates and times and ping me if
       | something opens up.
        
       | monroeclinton wrote:
       | I've been building my own window manager. I still need to finish
       | a few things like a status bar/floating window system.
       | 
       | https://github.com/monroeclinton/mwm
        
       | noisepunk wrote:
       | Not really a program, but I put a script on aws that texts me in
       | the morning if it's a street sweeping day. Sometimes I forget to
       | move my car anyway...
        
       | Sohcahtoa82 wrote:
       | I have a strange problem with my monitor that I solved with a
       | program.
       | 
       | Basically, I use a USB switch to switch my mouse, keyboard, and
       | webcam between my personal desktop computer and the MacBook I use
       | for work. I tried a full KVM switch at first, but every time I'd
       | switch it to my MacBook, Windows on my PC would flip its shit.
       | With the primary monitor disconnected, it would move everything
       | to the secondary monitor, which was fine, except that when I
       | moved the KVM switch back to my PC, it would move everything back
       | to my primary display, whether or not it was originally on my
       | primary or secondary. Additionally, since my two monitors are
       | different resolutions, all my window sizing was wrong.
       | 
       | I tried to get around this by plugging my PC into my monitor's
       | Display Port and plugging the MacBook into an HDMI port and just
       | telling my monitor to switch inputs, and for the most part it
       | works, but at 1 PM every day, if my monitor is set to HDMI, it
       | drops the DP connection, making Windows think it lost the
       | monitor, putting me back at square one.
       | 
       | So I wrote a simple program in Python that sits in my
       | notification tray. I can tell it to save or restore all my window
       | positions. So if Windows loses the monitor, after it comes back,
       | I can restore everything to where it was.
       | 
       | As a bonus, I also added a "Easy Copy/Paste" menu to quickly copy
       | emojis like -\\_(tsu)_/- and tth_tth to my clipboard.
        
       | neogodless wrote:
       | Tracking Finances
       | 
       | I originally wrote a web app to track my finances in 2003 using
       | classic ASP and T-SQL. In early 2017, I rewrote it from scratch,
       | still using T-SQL, but with C#.NET and jQuery. Lets me review my
       | budget, ensure my net worth is heading in the direction I want,
       | make sure all my payments get made, and ensure my account
       | balances never get too low (with a light forecasting element.)
       | 
       | Ideally I'd open source it, focus on the API documentation so
       | anyone could write a back end, and iron out a few more front-end
       | bugs, but since it gets the job done _for me_ , the motivation
       | never quite strikes me.
       | 
       | https://github.com/jcbeck37/fi-retorch
        
         | random42_ wrote:
         | How do you ingest the transactions? I'd love to be able to
         | replace Mint!
        
       | fjabre wrote:
       | Yes I created http://lazyday.tv to help me find and track things
       | to watch. Ive been making use of it for several years now and
       | it's available to the general public for free. No sign ups
       | required. No ads displayed.
        
       | flobosg wrote:
       | To name a few:
       | 
       | * A script that emails me every day a list of new articles
       | published by a selection of academic journals. Using an RSS
       | reader for this turned out to be too messy.
       | 
       | * A script that generates Spotify playlists based on my liked
       | songs, optionally according to some criteria. The playlists can
       | be sorted according to specific song features (higher to lower
       | energy, for example).
       | 
       | * A zettelkasten engine, including search, rendering, and backup
       | of entries.
       | 
       | * A system to generate and upload backups of my photos from my
       | cameras' SD cards.
        
         | swores wrote:
         | I'd be curious to see the first script, if it's shareable?
        
           | flobosg wrote:
           | Sure! It is very rudimentary and some values are still
           | hardcoded, but I could do bit of clean-up and then upload it.
        
       | mathgladiator wrote:
       | So, I'm building a SaaS for primarily myself at this point.
       | 
       | https://www.adama-platform.com/
       | 
       | In a few years, I intend to embrace marketing. However, now I am
       | on the pathless path wandering. I'm writing a post about it, and
       | I'm kind of fine if no one uses it. Sure, it would be amazing if
       | others would see the neatness, but I'm not really in a space for
       | responsibility yet.
       | 
       | Perhaps, I'm going slow on building yet another deck builder with
       | it (as I'm looking into which components to buy versus build for
       | the IDE aspect), but I'm basically retired.
        
       | joshstrange wrote:
       | > A colleague of mine tracks all of his homes energy use through
       | a custom program which disaggregates the energy consumption per
       | device and outputs a report to a tablet.
       | 
       | This might not be in the "spirt" of this post but your colleague
       | might be interested in looking into Home Assistant. Don't worry,
       | there is plenty of space for custom scripts within HA, but it
       | might be a nice foundation for them to build on as it has energy
       | monitoring stuff built in as well as a way to visualize it all.
        
       | ggayan wrote:
       | My main group of friends with whom I play videogames on a daily
       | basis is on Telegram. We use voicechat and stream our gameplay on
       | discord for others to watch/comment in a more private setting
       | (other tools are too public). I wrote a bot that notifies on the
       | telegram group whenever someone starts a stream on discord so
       | others jump in and join the game/stream. Discord shares which
       | game/activity through their API so we know exactly what someone
       | is playing. I also add some personalized randomized spice
       | depending on who is streaming and what they are playing to the
       | telegram bot messages so we can laugh about it.
       | 
       | Whenever the bot has gone down (I turned off the home server or
       | whatever) my friends complain, so I know the bot is fulfilling
       | its purpose :)
        
       | lbutler wrote:
       | I work as a water engineer, specializing in building hydraulic
       | models so water utilities can simulate their network.
       | 
       | A big part of that is calibrating them which can be time
       | consuming, you look through hundreds of options. I create a few
       | web based apps to help grind through these tasks but ultimately
       | they were for my own use as a consultant to close projects
       | quickly.
       | 
       | I did pull out the engine as its own open source library for
       | other to use, and that ended up helping me get my current role
       | where I can now maintain it and be paid at the same time.
       | 
       | https://github.com/modelcreate/epanet-js
        
       | LeoPanthera wrote:
       | Hundreds! Doesn't everyone? Most of them are just bash scripts,
       | many of which have now reached a complexity so high that I wish
       | I'd started writing them in a different language but it's too
       | late now. The majority of the rest are Python.
       | 
       | Off the top of my head, the most used ones are:
       | 
       | * A replacement front-end for "tar" and various compressors
       | 
       | * A script to synchronize my music library to a compressed
       | version for playing in my car
       | 
       | * A secure-but-readable password generator
       | 
       | * A system to batch compress folders full of video files. (For
       | ripped blu-ray discs, mostly.)
       | 
       | * A replacement front-end for "ffmpeg", see above
       | 
       | * A "sanity check" program for my internet connection to see if
       | the problem is me, or Comcast
       | 
       | * A front-end for "rm" that shows a progress bar when deleting
       | thousands of files. (Deletes on ZFS are unusually slow.)
       | 
       | And lots more tiny things.
        
         | pdonis wrote:
         | _> Hundreds! Doesn 't everyone?_
         | 
         | I certainly have. Interestingly, one was the same "sanity
         | check" program for my internet connection, because of the same
         | ISP you mention. Amazing coincidence...I don't think. :-)
        
           | brk wrote:
           | Add another Comcast outage checker and logger to the pile.
           | Used to call and hassle them for outage refunds regularly.
        
             | inetknght wrote:
             | Chalk me up to that too. And my brother. Originally I'd
             | used Ping Plotter. When I went 100% Linux I stopped using
             | that. My brother ended up putting together a Grafana board
             | tied to influxdb & infping and monitors several friend and
             | family internet connections complete with alerts.
             | 
             | Here [0] is a screenshot of the Comcast cable connection
             | from a year and a half ago. I have since switched to AT&T
             | gigabit fiber. Here [1] is a screenshot from today.
             | 
             | [0]: https://knightoftheinter.net/img/20201102143900.png
             | 
             | [1]: https://knightoftheinter.net/img/Screenshot_20220413_1
             | 71934....
        
           | tessierashpool wrote:
           | I've written one too, if you count a simple shell alias for
           | ping google.com
           | 
           | Comcast "service" has probably driven the creation of more
           | trivial internet connection test programs than any college
           | course in the world.
        
         | lq0000 wrote:
         | > * A replacement front-end for "ffmpeg", see above
         | 
         | I have one of these too... It's kind of frightening how hard
         | ffmpeg is to use _without_ some kind of custom frontend. I have
         | probably dozens of bash /python scripts to invoke ffmpeg for
         | different common tasks.
         | 
         | - One to extract audio
         | 
         | - One to extract all the individual streams from a container
         | 
         | - A couple different transcoding scripts
         | 
         | - One specifically for gifs
         | 
         | - One to crop video
         | 
         | - A few that I can't remember the purpose of... and can't tell
         | from reading the source
        
         | parentheses wrote:
         | Links, please.
        
         | edpenz wrote:
         | > A secure-but-readable password generator
         | 
         | I love pronounceable passwords, but there's research indicating
         | that such generators typically produce lower than expected
         | entropy. Do you mind sharing what algorithm you use?
        
           | omaranto wrote:
           | I think the generator from xkcd sounds pretty good.
           | https://xkcd.com/936/
        
             | heyoni wrote:
             | Problem is so many websites have these arbitrarily low
             | password lengths that usually max out at 20 characters.
        
           | slowbdotro wrote:
           | Not OP, but I prefer memorable passwords, thus, correct-
           | battery-horse-staple style passwords in bash: (Install
           | cracklib, or any dict file)                 #!/bin/bash
           | pickaword() {
           | WORDFREQFILE=/usr/share/dict/cracklib-small;
           | WORDLENGTH=$1;             awk -v wordlength="$WORDLENGTH"
           | 'length($1) == wordlength {print $1}'
           | "$WORDFREQFILE"|shuf|head -n 1;              }       [[ ! -z
           | $1 ]] && numWords=$1 || numWords=4       separator="-"
           | count=0       currentWord=""       while [[ $count -lt
           | $numWords ]]; do          [[ $count != 0 ]] && echo -n
           | $separator         num=$((3 + RANDOM % 10))
           | word=$(pickaword $num)         echo -n "$word"
           | count=$(($count + 1));       done       echo ""
           | 
           | Edit: code formatting is hard. Source is: https://gitea.slowb
           | .ro/ticoombs/dotfiles/src/branch/main/bin...
        
           | wiredfool wrote:
           | I gave up on readable.                   with
           | open('/dev/urandom', 'rb') as f:             return
           | base64.urlsafe_b64encode(f.read(12))
        
           | stirfish wrote:
           | Something like                   cat /usr/share/dict | shuf
           | -n 4 | tr '\n' '-'
           | 
           | (inb4 unnecessary use of `cat`)
        
             | heyoni wrote:
             | https://porkmail.org/era/unix/award
             | 
             | (Sorry I had to)
        
         | ahmedalsudani wrote:
         | > Hundreds! Doesn't everyone?
         | 
         | Raising my hand in agreement!
         | 
         | A couple highlights:
         | 
         | - Video syncing library before those became cool (2014).
         | Originally built on top of firebase; now rewriting with my own
         | backend. Very slow going :)
         | 
         | - Twilio server + interface. I'm my own service provider
         | (thanks to Twilio)
        
         | [deleted]
        
       | mfarstad wrote:
       | I made a headless sqlite dbms (not nearly as feature rich as the
       | real thing) for my own embedded development. It can show the
       | values of any table, view specific cells, update cells with a
       | text editor interface, beautifies json, and takes in SQL queries
       | as well.
       | 
       | Got some bugs with formatting complex lines of text, but it works
       | well enough for me. I plan on porting to Rust one of these days.
       | 
       | https://github.com/mathaou/termdbms
        
       | doodpants wrote:
       | Heck yes, all the time. While it seems like the major computer/OS
       | vendors these days are trying to turn computers into limited
       | purpose appliances, I was first exposed to computers as a child
       | in the late 70's, when it was expected that anyone who owned a
       | computer would also want to program it for their own purposes. My
       | own personal projects tend not to be very large in scope, but can
       | be quite handy. Some examples include:
       | 
       | - A Pomodoro timer that has exactly the features and user
       | interface that I want
       | 
       | - A script to perform backups of select files and directories
       | from a source drive to a specified backup volume
       | 
       | - A "pixels-per-inch" calculator that allows me to compare the
       | resolutions of displays that I may be interested in purchasing;
       | by entering the width and height of a display in pixels, and its
       | diagonal in inches, it calculates the density in pixels-per-inch,
       | and the dot pitch in millimeters
       | 
       | - Various user-friendly graphical interfaces to aid in solving
       | different types of puzzles (think sudoku-like logic puzzles)
       | 
       | - Programs to actually solve various types of puzzles all on
       | their own (I've written over 70 of these in the last 10+ years!)
       | 
       | - Various command line scripts for code management tasks (i.e.
       | useful for sofware development itself)
        
         | mark-r wrote:
         | I have a pixels-per-inch calculator too, but mine is an Excel
         | spreadsheet. Lets me see all the displays I've been interested
         | in or own, even things like phones.
        
         | arprocter wrote:
         | For DPI I like this site: https://dpi.lv/
        
         | slig wrote:
         | >- Programs to actually solve various types of puzzles all on
         | their own (I've written over 70 of these in the last 10+
         | years!)
         | 
         | Cool, are these open source?
        
       | geocrasher wrote:
       | I wrote my own dns lookup tool in bash because most of the online
       | ones are terrible or can't be customized.
       | 
       | I made my own IP finder site because most of the online ones are
       | terrible (https://justyourip.com/)
        
         | pul wrote:
         | Ruurtjan from NsLookup.io here. Would love to hear your
         | feedback, since you probably can name a thing or two to improve
         | :)
        
       | mark-r wrote:
       | I've done many, but I'll highlight two today.
       | 
       | The first is a background program to monitor my kids time on the
       | PC. As their limit approaches it pops up a window with a timer
       | countdown. When the countdown reaches zero, they're logged off.
       | 
       | The second is for resizing images. I wasn't happy with the way my
       | image editor did it, and I wanted to do a deep dive on some
       | algorithms so I went for it. Gained some great insight while
       | working out all the bugs.
        
       | aynyc wrote:
       | I have many apps and scripts over the years, but the ones still
       | in use are:
       | 
       | 1. StrongLift 5x5 tracker. This is a python CLI based script that
       | tracks 5x5 (Strong Lift) program. I haven't used it in awhile,
       | but a few friends still do.
       | 
       | 2. HNews calendar style home page. I wrote this as a way to
       | reduce my daily HN screen time but don't want to miss anything.
       | So I created an app (django on raspberry pi) that downloads from
       | HN API and group HN articles by date and point in a calendar
       | style page. Pretty useful, but the code is still in Py2 and
       | awful.
       | 
       | 3. A crawler that downloads swim school class availability so I
       | can sign my kids up.
        
       | asdff wrote:
       | Any time I find myself doing something twice on a computer, I try
       | and think if it would be easy to write some tool and do it if the
       | value makes sense. Usually these are teensy little utilities that
       | might pull data from websites, wrangle text and handle common
       | files in my life, let me know upcoming meetings and connect to
       | them, or even just little hobbies like making a scraper and local
       | database of recipes vs manually going to that js heavy website
       | prone to link rot.
       | 
       | All these exist on the command line, some are short functions in
       | my bashrc, and some are more substantial written as discrete
       | scripts and run via launch daemons. Not having to worry about gui
       | or capturing each and every test case makes solutions fast and
       | only a couple to a few dozen lines most of the time. I don't
       | worry about awkard characters in my strings and all the esoteric
       | regex and special cases that would need to go into a production
       | ready script, because i simply don't use those characters in
       | strings or do anything funky that stack overflow comments like to
       | bring up as a potential pitfall. Makes it easy when I am my own
       | client. plus it makes it easy getting all these programs to some
       | new computer of whatever OS when all I need to do is pull a git
       | repo full of these scripts to install.
        
       | [deleted]
        
       | distracted_boy wrote:
       | I have written a bunch of applications but the most used
       | application that I have written that I actually use for myself is
       | my bookmarking application. So when I browse the Internet and I
       | find something from the Internet I want to save, I share it with
       | my Telegram bot that will send the link to my application via
       | webhooks. The app will then fetch the website's contents and save
       | the information to the database.
        
       | alsetmusic wrote:
       | This probably isn't quite what OP had in mind, but I put together
       | a number of Python and Bash scripts to control my home media
       | center. Then I used the iOS Alfred app to give them a front end
       | on my phone as a remote. I also made them actionable with various
       | flags so I could call them by typing them into the Mac Alfred
       | app.
       | 
       | Power on / off home theater device and set inputs Power projector
       | on / off and set inputs Make calls to both at the same time
       | working together Call AppleScripts to control music playing
       | through the stereo from a connected Mac mini
       | 
       | I also built a tool for a friend in Bash and AppleScript. It
       | watches a list of his favorite streamers and then calls to the
       | Downie video download app to begin recording their streams. He
       | runs it on a headless Mac mini checking each person in the list
       | every two minutes.
       | 
       | Of all the things I've made for myself or others, these are the
       | two that would most resemble a user-facing GUIable end-product.
       | 
       | edit: a letter
        
       | joseloyaio wrote:
       | I created a "darkmode" pdf reader. It helps a ton with my eyes.
       | Reading long papers on white background is something I don't like
       | so I changed it.
       | 
       | I created it for me but it is somewhat popular on github with
       | hundreds of stars already.
       | 
       | https://github.com/librepgp/NightPDF
        
       | EvanAnderson wrote:
       | Tons and tons of them over the years. I wish I'd kept better
       | track of them because I've caught myself reinventing the wheel
       | now and again.
       | 
       | - When I was a kid using a DOS PC I'd write them in Microsoft
       | QuickBASIC or Turbo Pascal and compile them to EXEs. (I used to
       | drag a few particularly useful ones around with me until a few
       | years ago when the prevalence of 64-bit Windows made running them
       | on a stock Windows machine impossible.) I had stuff there like a
       | random password generator, dumping files to VGA mode 13h (to
       | visually look for patterns in data), drop the DTR on a serial
       | port (to hang up a modem from the command line), search/replace
       | on INI files, and lots of others I've forgotten.
       | 
       | - I wrote a proto-Markdown text processor back in high school
       | when I was taking notes on a vTech Laser PC4[0]. It took files
       | from the vTech and rendered output files with Epson printer
       | formatting codes, centered text, made headings, etc.
       | 
       | - I regularly use a script I wrote to import my phone backups'
       | SMS logs and dump them into my IMAP mailbox. I love being able to
       | search all my email and SMS communication in the same interface.
       | 
       | - I have a podcatcher I wrote bolted onto my (heavily forked) tt-
       | rss[1] installation to download podcasts to a local webserver for
       | archiving and playing.
       | 
       | - My father persists in using a DOS accounting package for his
       | business. A small program I wrote ingests check printing output
       | from the DOS app (meant for dot matrix tractor-fed checks) and
       | reformats it for sheet-fed checks in a laser printer.
       | 
       | - Front-end scripts for lots of command line utilities so that I
       | don't have to remember obscure options for common tasks.
       | 
       | [0] https://oldcomputermuseum.com/laser_pc4.html
       | 
       | [1] https://tt-rss.org/
        
       | nicolaslem wrote:
       | I wrote an expense splitting web app that works with multiple
       | currencies and can export transactions in a format compatible
       | with GNU Cash (that I use) and Excel (that my partner uses).
       | Before that we were using an existing solution (Tricount) but its
       | limitations regarding currencies and export meant that we always
       | made mistakes.
        
       | brundolf wrote:
       | I made a desktop note-taking app for myself because I wasn't
       | happy with any existing options, and it's been great:
       | https://github.com/brundonsmith/writer
       | 
       | - Plaintext
       | 
       | - Single list of notes
       | 
       | - Notes are auto-titled based on the start of the content, and
       | auto-deleted when empty
       | 
       | - Sorted based on recently modified
       | 
       | - Pick a folder on startup, and notes are loaded from/saved to
       | the folder as plain text files (one note == one text file). I use
       | a folder that lives on my Dropbox so I get backup and syncing
       | 
       | - Text is centered and finite-width when full screen, so line
       | wrapping is natural
       | 
       | - All UI except your text disappears when typing, and reappears
       | when you move your mouse
       | 
       | - Light/dark mode toggle
       | 
       | - Made with Electron, so it's cross-platform and easy to modify
        
       | visox wrote:
       | Yes couple. Did some crawler for sports betting sites to find bet
       | arbitrage, was fun
        
         | AussieWog93 wrote:
         | That's amazing. Did you actually turn a profit?
        
       | [deleted]
        
       | notacoward wrote:
       | The only two programs I've written since my retirement were
       | entirely for personal use: one to help with attribute-point
       | assignments in an RPG, and one to pick apart GPS-data files
       | (Garmin FIT) to show me views that neither Garmin nor Strava
       | will. I'm fortunate that I have the skills to do this, but I
       | think in the future such "personal programming" will be
       | commonplace even for people who have never worked as programmers.
       | Meanwhile, knowledge of programming plus one other field is often
       | a ticket to stable employment with a good work/life balance
       | (unlike tech itself which tends to lack such balance).
        
       | alhirzel wrote:
       | For sure, I have written tools for photo management (offloading
       | from camera and getting them ranked and ready for a pass with
       | Darktable). I have a financial management system, task
       | management, a system for lecture slides (generating handouts,
       | lectures) and exams (generating keys and blanks and different
       | forms)... I figure half of HN does this! It would be an
       | interesting poll question.
        
       | DyslexicAtheist wrote:
       | most of what I use is only for me. it's a hobby to tinker. it's
       | mostly workflow tweaks or modules for i3/sway, security relevant
       | things based on netfilter / ebpf ... what all these things have
       | in common is satisfy my curiosity and learn about something new
       | on the way, other times they start out as a tinkering in a new
       | language are a total abomination begging me to be rewritten ...
        
       | Patrick_Devine wrote:
       | I was so bored at my last job that I wrote my own version of
       | Minesweeper that works in your terminal. You can try it out by
       | running: `docker run -it --rm ghcr.io/pdevine/bombitron`.
       | 
       | It works pretty well w/ Linux, and also iTerm2 on macOS (if you
       | enable mouse reporting events). It's a hot mess if you use
       | Terminal (but no one uses Terminal, right?)
        
       | DamnInteresting wrote:
       | I have a few homegrown tools, the most notable is one I use to
       | record narration for an audiobook-like podcast. I paste my script
       | into the software, then it will go through the script one
       | sentence at a time. I record and re-record it until I am happy
       | with the take, then it moves on to the next sentence. When I'm
       | done, I can download the audio as one merged WAV file.
       | 
       | I occasionally think about sprucing it up to offer for public
       | use, but it's the kind of task that never reaches the top of the
       | to-do list.
        
       | nilshauk wrote:
       | Some weeks ago I wrote a couple of bookmarklets, one of which was
       | this:
       | 
       | javascript:(function(){ location.href =
       | `https://nitter.net${location.pathname}` })();
       | 
       | You can take this JavaScript snippet and save it as a clickable
       | bookmark (hence the name bookmarklet) in you browser. I've named
       | this "re-open in Nitter". I deleted my Twitter account a while
       | back but sometimes I get handed a Twitter link. This snippet
       | let's me quickly re-open the link in Nitter which is a nag-free
       | way to browse Twitter without having an account. :)
        
       | phoehne wrote:
       | I wrote a set of python scripts to pull down economic and stock
       | market data. It pulls down several different data sets mostly
       | from the Fred API service at the Federal Reserve. Using Jinja
       | templates and Matplotlib for graphs, it builds a set of latex
       | files and spits out a PDF that I can review. That way I don't
       | have to look at 4 or 5 different sites to get the overall market
       | picture I want. Essentially my own newsletter... to myself...
       | okay, is that healthy?
        
         | roscrl wrote:
         | it is healthy! i did something similar with
         | https://econicles.com
        
       | phone8675309 wrote:
       | Yes - I wrote a full DVD authoring workflow to take weekly anime
       | fansubs and produce finished DVDs for friends with either bad
       | internet connections or who preferred to watch in their living
       | rooms.
       | 
       | This was before having an HTPC or media center was a mainstream
       | idea.
       | 
       | All you did was add in the video files sorted by file name in a
       | subdirectory and add a main menu image template, a main menu
       | audio file, and episode select image template (the layouts were
       | static so that the same dvdauthor XML could be used) and it would
       | stitch together a DVD with an intro video, main menu screen with
       | subtitle, play, and episode select options, and generate episode
       | select screens by taking thumbnails from the video files.
       | 
       | Last time I used it was about five years ago before same day/date
       | streaming of anime really took off. I still hack on it from time
       | to time. I don't really have a use for the output, but it's nice
       | to maintain it as the tools it use change/update and as I learn
       | new things.
        
       | smokel wrote:
       | Many.
       | 
       | One program that I am particularly happy with is a calendar
       | generator for Scribus.
       | 
       | The Python script generates a year calendar, which I then print
       | as a book. It helps me to plan my art career by week, by month,
       | and by quarter. The custom layout somehow makes me take all the
       | planning very seriously. And there is a lot of room for
       | sketching.
       | 
       | Another recent project is a personal mind map, which I can extend
       | to my own needs. It is heavily inspired by Kinopio, which,
       | unfortunately, is not open source.
       | 
       | I am always amazed that not everybody is using computers and
       | programming in this way.
        
       | dvh wrote:
       | Text editor, RSS reader, electronic schematic simulator,
       | perfboard designer, optics simulator, browser, git GUI client,
       | music player, expenses tracking app, spreadsheet app (I needed to
       | make simple manual edit in many csv files and waiting for office
       | just took too long, so I made just editor and it launches
       | instantly), numerous one time use chrome extensions, calculator,
       | libv8 based shell, video editor, ad blocker, ...
       | 
       | It usually reaches perfect usability for me very quickly, but to
       | make it usable for others or make it publishable would take
       | months.
        
       | gdulli wrote:
       | I used yt-dlp to download the metadata for the whole SNL youtube
       | channel, over 6000 clips. I loaded it into a database and wrote a
       | Flask app to let me browse through each episode quickly and
       | choose which clips to download. Now I have about 500 of my
       | favorite clips available locally on my Plex server.
        
       | rhn_mk1 wrote:
       | A backup solution. A bank statement scraper. An alarm clock. A
       | GPS track extractor. A time tracker.
       | 
       | More that haven't seen regular use or which are just
       | configuration.
        
       | sangupta wrote:
       | A simple server to send notifications to my phone, and an app to
       | view/receive. Now setting up alerts anywhere is super easy.
        
         | asdff wrote:
         | How did you go about rolling your own? I've used discord
         | webhooks for this.
        
           | sangupta wrote:
           | A simple HTML app packaged via Phonegap for mobile. Server
           | uses Google sign-in and rejects any sign-in apart from mine.
           | Has a URL to generate an OTP token that allows connecting a
           | mobile second in next 60 seconds. Once connected saves the
           | device token in a free-mLabs DB (encrypted). Similarly,
           | generate a webhooks URL for each service and wire. Hosted for
           | free on Heroku!
        
       | pengo wrote:
       | Dozens, at least. Everything from: NAS apps that download
       | television Electronic Programme Guides and automatically schedule
       | recordings; to personal radio stations that integrate text-to-
       | speech, calendar entries, local news headlines and the family
       | Slack channel with the music on my home server. Utilities for
       | managing the books I read and videos I watch, utilities to
       | randomly insert quotes in my email signatures. And that's before
       | we look at any of the work-related software.
       | 
       | Mostly these are written in Object Pascal via Lazarus and
       | compiled natively for the target platforms, or they're web apps
       | written in javascript and/or PHP. Many use SQLite for data
       | storage; some just use an .ini file if the data is simple and not
       | too volatile; a few are written against a MySQL back end.
        
       | bpye wrote:
       | I have written these sorts of things, but I do try and put them
       | up on GitHub if I think they'll be useful to other people. I
       | wrote a tool unimaginatively named wsl-ssh-pageant [0] which I
       | wanted because I use a YubiKey for my SSH key. It has been by far
       | my most popular GitHub project.
       | 
       | I do have other things as well, some on GitHub some not. A
       | scraper to notify me when a local gym booking website changes for
       | a time I'm interested in. A bridge between a BroadLink RM4 and
       | HomeKit for some fans [1] - I wanted to avoid home-assistant. A
       | script to grab my power consumption data. A shim to make gpg-
       | agent compatible with launchd's socket activation protocol [2].
       | 
       | [0] - https://github.com/benpye/wsl-ssh-pageant
       | 
       | [1] - https://github.com/benpye/hkrm4
       | 
       | [2] - https://github.com/benpye/launchd_shim
        
       | sbehere wrote:
       | I have created a personal finance tool that Works-For-Me and
       | requires no sharing of login credentials with third parties.
       | 
       | Something that scrapes financial transactions from bank and
       | credit-card accounts in a fully automated way where possible, and
       | semi-automated way where necessary, dumps those transactions into
       | a database, automatically categorizes them, and creates
       | dashboards for commonly used views and analyses.
       | 
       | I've blogged a bit about it here: https://sagar.se/blog/where-is-
       | the-money/
        
       | alphabettsy wrote:
       | A few. Working on replacing my Pi Zero W based garage door opener
       | with an esp32 for fun. The Pi had a basic service that accepted
       | HMAC signed Webhooks to open or close the door.
        
       | soren1 wrote:
       | I've been liberally trading cryptocurrencies for the past several
       | years and ended up with a bit of tax nightmare, with thousands of
       | trades across many exchanges. I found my self with little choice
       | but to write my own capital gains calculator. At the time I
       | needed it, I couldn't find a suitable open source solution, and I
       | have privacy concerns about paid services. It's no longer just
       | for "personal use", as I've recently published it on GH
       | https://github.com/dleber/capitalg
        
       | jrm4 wrote:
       | I live by them; I probably couldn't name them all, they've become
       | so embedded in my flow.
       | 
       | Probably the most important part of my flow is the following;
       | it's a method for doing a personal "inbox" GTD style, 100%
       | reliant on email + zim-wiki. I have a script that, when called
       | manually, searches for new "inbox-marked" emails (i.e. ONLY those
       | sent from me to me), and copies them to my zim notebook
       | (specifically, to the page corresponding to "today" in the
       | journal) as an open checkbox item.
       | 
       | Supporting that is-
       | 
       | - Desktop: a little shell script that pops open a zenity window
       | to send such an email
       | 
       | - Smartphone: An android app called Blitzmail that does that and
       | only that.(pops a window and sends to an address with no other
       | interaction)
       | 
       | This replaces a LOT of things for me and helps prioritize
       | immensely, (i.e. strongly prevents "email inbox as to-do list"
       | which is a bad idea)
        
       | ericfrazier wrote:
       | I write scrapers galore. Who needs APIs?
        
       | frakt0x90 wrote:
       | I once wrote a program to scrape the logs from some printers so I
       | could keep track of how much paper and ink was being used. It was
       | just for fun but I showed it to my teammates and we ended up
       | turning it into a leaderboard of who used the least amount of
       | resources. Then they replaced the printers and I didn't feel like
       | redoing it.
        
       | patch_collector wrote:
       | I'm a consultant who fills out a timecard every week. I made an
       | integration for Toggl (https://track.toggl.com) that summarizes
       | my week, and makes it easier to transfer my time into the
       | timecard. It's mostly for my personal use, though a few coworkers
       | also use it.
       | 
       | https://toggl.clayson.io
        
       | fxtentacle wrote:
       | Sure, all the time. Like when I automated sorting household and
       | tax paperwork.
        
       | Hithredin wrote:
       | The most simple one, but so useful that time:
       | 
       | This car cheap autoradio has no random nor memory. Everytime the
       | engine start, the music restart from the beginning.
       | 
       | Just coded at a stop a little python script for Nokia to
       | randomize the name of the music files of the usb stick.
        
       | sandruso wrote:
       | A webapp which helps with freestyling into rap beats. It throws
       | rhymes at you which u can use to keep it "flowing".
        
       | ta04122022 wrote:
        
       | ryandrake wrote:
       | I wrote a Poker 'tournament clock' application for macOS that I
       | use to run home games. There are many of these out there, mostly
       | commercial software, but I didn't really care for any of the
       | existing ones. I display it on my living room TV and it can be
       | remote controlled over the network from a phone or Apple watch at
       | the table. Never got around to releasing it, as it's mostly a
       | hobby project.
        
       | alexswensen wrote:
       | I recently wrote a tool that allows me to copy AWS secrets to
       | another aws account for testing. It ended up being far simpler
       | than doing a copy-paste for doing it repeatedly. I plan to write
       | a few more in the appropriately named repo.
       | 
       | https://github.com/AlexSwensen/useful-scripts
        
       | scythe wrote:
       | One that I use pretty often is `sortedcitations.lua`, which sorts
       | the citations in a LaTeX file according to their appearance in
       | the text. There are lots of fancy tools and bibliography
       | management, BiBTeX, etc, but in the vast majority of cases I just
       | want a single file with the citations in the right order.
       | 
       | https://gist.github.com/scythe/7cea80364bacf1f1ce6a67786bcbc...
        
       | meichenf wrote:
       | I have an ESP8266 running a tiny webstack on my local wifi that
       | is wired to a low voltage relay that turns on my hot water heater
       | (tankless). Combined this with a Apple shortcut so I can tell
       | Siri to turn on the device (send a post request to the unit).
       | Basically just a hacked together system to avoid using Homekit.
       | It's been running great for 6 years with no maintenance so no
       | complaints.
        
       | weakty wrote:
       | I'm always excited at the prospect of building new or better
       | tools that help me learn the way I want to learn. It's the best
       | low-stakes way for me to learn - especially if I'm not being
       | challenge by work or am just curious about how a programming
       | language works or other set of tools.
       | 
       | My latest is a language learning application to help practice
       | reading comprehension and vocabulary development. [1]
       | 
       | [1] https://github.com/theiceshelf/trunk
        
       | parentheses wrote:
       | So many, I've lost count. Many are private or work-related, but
       | these are the public ones:
       | 
       | https://github.com/bigH/git-fuzzy
       | 
       | https://github.com/bigH/auto-sized-fzf
       | 
       | https://github.com/bigH/interactively
       | 
       | https://github.com/bigH/dotfiles/tree/master/bin
       | 
       | https://github.com/bigH/dotfiles/blob/master/aliases/git.sh
       | 
       | https://github.com/bigH/dotfiles/blob/master/aliases/kubectl...
       | 
       | https://github.com/bigH/dotfiles/blob/master/functions/fzf.s...
       | 
       | https://github.com/bigH/dotfiles/blob/master/functions/core....
       | 
       | So much shell scripting and use of `fzf`. I make things I enjoy
       | and will be happy using and since I spend a lot of time in the
       | terminal, it makes sense to make things like this for me.
        
       | calderwoodra wrote:
       | I created a phone app once to function as an alarm clock I could
       | set for someone else. Kinda like a hotel "wake up call" except
       | this would call, ring for 10 seconds, hang-up and repeat for like
       | 20 minutes.
        
       | mikelevins wrote:
       | Sure. A list and inventory manager (actually for my mom). Several
       | programs for generating and managing parts of fictional
       | languages. Tools for creating and managing characters and teams
       | in multiplayer games. A bunch of versions of a couple of
       | programming languages. A wysiwig emacs-like editor. Several
       | artificial life programs. A simple paint program. Probably others
       | I'm forgetting.
        
       | krstffr wrote:
       | When starting my freelance career back in 2012 I had a pretty
       | simple idea on how to track time using only google calendar and
       | this tiny web app I wrote. Used it literally every workday since
       | then, and even got a colleague (another freelancer) to use it
       | with the quote "the first time tracker to ever work for me, and
       | I've tried a lot!". He is still using it last time I checked.
       | 
       | So I guess it is actually used by one more person than me!
        
         | uKVZe85V wrote:
         | Thanks for the story. Can you share a link, please? I've tried
         | a bunch, too, and not fully satisfied.
        
       | anfractuosity wrote:
       | I switched from Lightroom to Darktable and with Lightroom it
       | stored the images in folders "year/year-month-day/", so I made a
       | little script that copies the .jpg/.cr2 files from my camera to
       | the right directory based on their metadata. And then in
       | Darktable just re-import this current years directory.
       | 
       | I also created a very hacky script that uses the python paramiko
       | library to ssh to different hosts and spawn a python interpreter
       | which runs a python function remotely for things like grabbing
       | uptimes.
        
       | cracrecry wrote:
       | All the time.
       | 
       | I started using python scripts to invest in the stock market when
       | nobody did that and earned some money.
       | 
       | I modified a digital hygrometer and thermometer so I can register
       | the temperature cycles inside and outside my house. I also do it
       | with my plants in the garden.
       | 
       | I reverse engineer all my GPS(garmin) clocks so I can store or
       | upload GPS coordinates and tracks without some stupid and
       | inefficient web app that the manufacturer controls for me.
       | 
       | I reverse engineered and hacked the routers from old Internet
       | providers and posted the instructions on the internet for others
       | to replicate.
       | 
       | I scan and OCR and process every single ticket and receipt... Do
       | the same with books.
       | 
       | I also have friends that do the same kind of things so it is
       | kinda normal to do those things all the time.
        
         | rahimnathwani wrote:
         | "Do the same with books."
         | 
         | I'm curious: do you remove the binding so you can use an ADF,
         | use a book scanner, or just spend a lot of time on this?
        
       | turtle-cpt wrote:
       | I live in a city in Canada and it gets really cold waiting for
       | the busses during the winter.
       | 
       | For some reason my city doesnt have an app to track buses, so I
       | made my own (with a lot of help). Wrote it in Python, it tracks
       | the real time location of any bus number you enter. Took a long
       | time, but it works and now I can ping a bus and see how far away
       | it is before leaving the house.
       | 
       | There's usually a handful of busses on a single route, so I
       | sorted them by distance from my current location. It was easily
       | the funnest project I've done
        
       | scarecrowbob wrote:
       | How complex? I wrote a bash script that mounts my encrypted store
       | and opens my work applications. It's not exactly a big program,
       | but it's a procedure that I execute pretty often :D
       | 
       | I had a diary that I'd written in rails and used it for a couple
       | of years. I'd written a fretboard calculator to visualize playing
       | positions on my pedal steel guitar.
        
       | mgax wrote:
       | Yes
        
       | eslav wrote:
       | Certainly. Wound need to think a bit for a complete list, but two
       | fun ones come to mind:
       | 
       | Wrote an iOS app to help my kids learn to sing harmony (called it
       | HarmonMe)
       | 
       | Wrote a translator from English to phonetic symbols to help teach
       | an ESL class
        
       | valcron1000 wrote:
       | A PWA for splitting bills among friends. When we get a receipt we
       | usually split the cost based on what each of us actually consumed
       | (ex. Bob got 2 beers, Alice 3, etc.). I couldn't find a simple
       | app that could do that, so I wrote my own:
       | https://github.com/emlautarom1/Billy
        
         | luisbarrera wrote:
         | I built one on iOS and web. There's no manual input either.
         | https://www.producthunt.com/posts/splyt-pay
        
       | mdp2021 wrote:
       | Hundreds. Look, computers are tool builders and tools hosts, so
       | when you need a tool you build it, if an adequate solution is not
       | already available.
       | 
       | And tools can be anything: organizers, information accessors,
       | information processors, learning aids...
       | 
       | As already mentioned, months ago I had to build a full word
       | processor for Android. I just needed it and what was available
       | was faulty. Worth mentioning because I had to laugh in front of
       | the odd situation of having to build a Word Processor from
       | scratch in 2021 - but there you go, you may need anything.
        
       | spogbiper wrote:
       | i spent many hours as a kid writing programs for my own use on a
       | trs-80 that we owned exactly zero software for. turn it on and
       | start writing code because that's literally all you could do lol
        
       | kissgyorgy wrote:
       | I self-host everything, and I wrote an authentication framework,
       | which I call "Fancy Auth". It is configurable by YAML and works
       | like a proxy in front of all my web apps. It's like a glorified
       | Basic Auth, but can connect to LDAP, htpasswd files, can login
       | with QR Code and Magic Link or via SSH.
       | 
       | I plan to release it some day though.
        
       | omoikane wrote:
       | Last utility I wrote draws a calendar in the terminal, and
       | highlights the current date and also the date of the next full
       | moon. The full moon calculation is not accurate but good enough
       | for me. I run this daily.
       | 
       | https://uguu.org/src_aoba_pl.html
       | 
       | I did that because `cal(1)` broke for some reason, and I felt
       | like making some ASCII art.
        
       | joaomeloplus wrote:
       | - a search result tracker (https://github.com/joaomelo/attache) -
       | script runner to substitute package.json scripts
       | (https://github.com/joaomelo/sqript)
        
       | tristor wrote:
       | I don't know that I'd consider most of them "programs", but I've
       | written hundreds of small helper scripts of various sorts over
       | the years. Most of them aren't even published anywhere, not out
       | of a desire to keep them from the light, but more because I write
       | them, use them, and forget about them until they are rediscovered
       | years (decades?) later.
       | 
       | One of the simpler scripts I wrote that I actually published is a
       | little helper to output WiFi signal strength on Macs into
       | printable glyphs so that you can include it in your prompts on
       | the terminal.
        
       | kazinator wrote:
       | I created an accounting system for self-employment activities
       | that does everything: invoicing, tracking expenses and assets,
       | capital cost allowance depreciation of assets.
       | 
       | I have a web app called Tamarind (acronym for throwaway mail
       | alias randomization is not defeatable). I can create randomized
       | e-mail aliases there which instantly go live. Likewise, delete
       | them. Each entry is associated with a memo field that can contain
       | URL's (these get rendered into links). Also a date of creation.
       | The UI lets you edit the order: selecgt entries by checkbox and
       | move them up and down, or to the top or bottom. There is a regex
       | search box. It can authenticate the user using SASL or IMAP4. It
       | works by editing a mail aliases file; your mail server has to
       | know to include that one. It can work with the main /etc/aliases;
       | Tamarind will avoid modifying any parts of the file it doesn't
       | know about, confining itself to the area between its markers.
        
       | Arubis wrote:
       | Define "program"! I suspect you mean "a persistent thing saved to
       | disk that gets re-used", but a bash one-liner is its own program
       | in a sense.
        
       | deathanatos wrote:
       | I wrote a mapping program that could display maps, my location on
       | them, time estimates to a down-road position, etc.
       | 
       | "Why not Google Maps?"
       | 
       | Several reasons: Google Maps requires a cell connection. (They
       | have offline maps _now_ -- they didn 't at the time I built the
       | tool -- but my offline maps are far more controllable in what
       | data I pull down. And if I need data I haven't got, and I have a
       | cell signal, I can fetch it on the fly _and_ add it to the
       | offline cache.)
       | 
       | Google maps was much worse at the time about finding rest areas.
       | They're better marginally better now, but it's still pretty
       | tedious to do on mobile. (There's no general search for it; you
       | can search rest areas and usually get rest areas + junk, but you
       | also really want to also search at the same time for, e.g.,
       | Flying Js, Loves. Contextual knowledge about the road would be
       | good too, in case I'm on a turnpike. Also, still waiting for it
       | to realize that, if I'm looking for gas, food, etc. ... I want it
       | _downroad_.) Admittedly my own implementation could have been
       | better here, but I also lack the nice datasets that Google has...
       | 
       | OSM's map data is, in my opinion, better.
       | 
       | The GPS device I have can acquire a signal pretty much instantly.
       | The phone ... cannot. Useful in situations where we needed a
       | quick answer, b/c things are happening at 60mph.
       | 
       | Though, we did end up supplementing the program with the phone.
       | (On-the-fly routing is better in Maps, b/c it's a really tough
       | problem, and I didn't build an interface into OpenRoute or
       | whatever its called.)
       | 
       | OpenLayers is an _amazing_ library, too.
        
         | Aloha wrote:
         | the Next Exit is a phenomenal tool while travelling.
         | 
         | https://thenextexit.com/
         | 
         | I keep an older copy in my car for when I travel.
        
       | justjash wrote:
       | I've wrote a few, more like scripts to do something repetitive.
       | 
       | Wrote a script to scrape pictures off an old website from the
       | Wayback Machine.
       | 
       | Wrote another program that scraped some data from a posted Apple
       | Music playlist then used the data to generate a Spotify playlist
       | with the same songs.
       | 
       | I've written several other smaller things related to Arduino and
       | lighting but nothing too special.
        
       | rrab wrote:
       | I've recently made an email testing tool like mailhog. I like
       | mailhog but it didn't display recipients etc in a way that I
       | liked.
       | 
       | I am considering adding IMAP or POP3 to it to make checking
       | emails in popular clients easier
        
       | shayan01 wrote:
       | Like many people of this community I have written multiple
       | scripts and programs for my own use. Recently I was bored with
       | Tinder, so I wrote a small CLI to automate the likes on Tinder.
       | It's totally stupid and just likes everyone, but I found that
       | it's easier to filter out uninteresting candidates afterwards
       | instead of having to swipe manually in the app.
       | 
       | Another recent thing (this one is open source, search for
       | "5hay/notionbackup"): I wanted regular backups of my Notion
       | workspace, so wrote a little program in Go that does that. I'm
       | doing weekly backups and pushing it to my Google Suite with
       | rclone (encrypted).
        
       | bcrosby95 wrote:
       | Yes. Off the top of my head:
       | 
       | I've built a lot of "cheat" programs for games. Ranging from full
       | on bots to something that just gives me information to act upon.
       | 
       | I also built a very rudimentary market analysis program for Eve
       | Online back when I played, to help me play the market and
       | optimize what I would build/mine/etc.
       | 
       | I have a simple chrome plugin that will auto-fill a form for me
       | with random junk. This makes manually testing a UI with forms a
       | lot faster.
       | 
       | Back when I had a lot of DnD books in pdf form, I built a program
       | that would let me create a set of bookmarks across all the PDFs.
       | DnD likes to spread classes and spells across multiple books, so
       | this made it a lot easier to find stuff.
        
       | cecilpl2 wrote:
       | I wrote a web tool that automatically syncs all my brokerage
       | transactions from multiple brokerages (either using their APIs or
       | web scraping). It also grabs daily closing prices of my stocks
       | and relevant foreign exchange rates from public sources, and then
       | presents me with a bunch of graphs that I find relevant. It does
       | my capital gains tax calculations every year.
       | 
       | It took me probably 6 months of hacking on it in my free time.
        
         | BadCookie wrote:
         | I'm curious: Why did you choose to do this yourself rather than
         | use something like Personal Capital?
        
           | cecilpl2 wrote:
           | Personal Capital isn't available for Canadians.
           | 
           | In fact, there existed no other alternatives at the time
           | (~2017). Especially none that did things like adjusting the
           | cost basis of each security based on the foreign exchange
           | rate on the day of purchase, and tracking gain/loss correctly
           | in Canadian dollars. I also needed it to sync with my work's
           | group RRSP provider which doesn't offer a standard API.
           | 
           | I don't know if this market has improved in the last 5 years,
           | but I have a system I'm happy with now. :)
        
             | BadCookie wrote:
             | Thanks for responding!
             | 
             | I have the same issue with having multiple brokerage
             | accounts. I haven't signed up for Personal Capital because
             | I read that they try to upsell you on wealth management
             | services by phone periodically, plus I am uncomfortable
             | giving my brokerage login credentials to them (or any other
             | third-party service). So I was wondering if you were in the
             | same boat!
        
               | cecilpl2 wrote:
               | Yeah I was definitely uncomfortable about giving
               | brokerage logic credentials to anyone. Some brokerages
               | can give you a read-only API key you can supply to an
               | app, which is nice for systems like this. Maybe see if
               | yours do that?
               | 
               | Wealthica is a Personal Capital competitor. Maybe take a
               | look at them?
        
       | MisterBastahrd wrote:
       | Not for myself, but I once developed an app that would export
       | notes from my dad's Bible concordance app to google docs for
       | backup. At the time, I knew how to use the LAMP stack, so that's
       | what I used, LOL.
        
       | sumitgt wrote:
       | I wanted to record Jeopardy everyday.
       | 
       | A Tivo subscription was too expensive, so I built my own DVR
       | software to record from Locast. Worked like a charm until Locast
       | shut down.
       | 
       | I had to replace it with a bunch of cron jobs + shell scripts
       | which record using a local TV antenna connected to a NUC.
       | 
       | Puts out nice little mp4 files into a NFS which I can access
       | anywhere in the world over Tailscale.
        
       | Fergusonb wrote:
       | I created a program that allows me to control the max charge
       | level of my laptop battery on linux, and persists the change
       | through reboot. Written in rust, and I use it several times per
       | week.
       | 
       | I designed it for my system, but it should work on any linux
       | system with a battery, kernel version 5.4+, and systemd.
        
         | asdff wrote:
         | What do you use this for?
        
           | Jtsummers wrote:
           | Keeping your battery charged at 100% for extended periods can
           | reduce the overall life. Apple recently(?) switched to
           | charging phones and laptops to 80% and delaying the remaining
           | 20% until it was expected to be needed (like for the phone,
           | charging overnight completes before the alarm goes off, the
           | laptop will finish charging at the end of the workday before
           | I move from my desk to my living room). I don't know what
           | Windows does, and Linux is too large a target to make any
           | universal statement about how it might treat charging and
           | batteries.
        
       | POiNTx wrote:
       | Clockify polybar integration. Clockify is a time tracker tool.
       | Polybar is a UI bar for window managers like i3 or bspwm. I also
       | have a version that works on wayland and interacts with Waybar
       | but I haven't gotten around to cleaning it up and publishing it.
       | 
       | I click on it when I start working and click when I stop working.
       | 
       | https://github.com/woutdp/polybar-clockify
        
       | tedyoung wrote:
       | I created "Kid Money Manager", a tool to help manage my son's
       | virtual account. He wasn't old enough to open his own bank
       | account when I started, but we needed some way to track his
       | "earnings" (returning bottles for their deposits or gifts from
       | grandparents) and spending. It has both a Web UI and access via
       | SMS text messages. We mainly use the text messaging--entering
       | transactions at the store, etc.-- since I didn't want to write a
       | dedicated phone app for such a simple interaction.
       | 
       | Created it from scratch, live coding it on my
       | (https://JitterTed.Stream) Twitch channel (and some videos on my
       | YouTube channel at https://JitterTed.TV). Written using TDD in
       | Java + Spring Boot, deployed on Heroku and open-source at
       | https://github.com/tedyoung/kid-bank.
       | 
       | I also recently wrote "Format Hero" (https://formathero.dev),
       | because I could never remember which letters to use in Java's
       | DateTimeFormatter. Was also a good demonstration of Hexagonal
       | Architecture and, of course, I live coded it, TDDing all the way.
       | Source is at https://github.com/jitterted/format-hero. Still some
       | work to do on that one, but filled my immediate need.
       | 
       | [edit: added proper links for Stream/YouTube]
        
       | julianz wrote:
       | Lots. - A script and small sqlite DB to download all of a large
       | Youtube channel I wanted to keep. It meant I could just run "get-
       | next-video" whenever I had a spare moment and it would go and
       | grab another one. - A generator of sheets of math puzzles that
       | looked like the ones my kid was struggling with at school, so he
       | could practice (it worked!). - Currently working on something to
       | track homebrew fridge fermentation temps.
        
       | willcate wrote:
       | I wrote a radio station-style audio playback system, because I
       | didn't like the tiny few that existed for Mac OS
        
       | mattlock wrote:
       | I wrote this program for doing my vertigo exercises.
       | 
       | ruby -e '5.times {%w(left center right center).each{`say
       | #{_1}`;sleep 30}};`say exercise over`'
        
       | lucasdicioccio wrote:
       | I've recently written my own static-blog generator. On the one
       | hand, I got irritated trying or figured out I would quickly hit
       | limitations with the popular ones. On the other hand, the effort
       | I would have spent searching for and evaluating the hundreds of
       | existing other ones is on par with re-implementing my own.
       | 
       | I've written about the motivations and the architecture here:
       | https://lucasdicioccio.github.io/how-this-blog-works.html .
        
       | chasd00 wrote:
       | I created a program that outputs one of my kid's name if the day
       | of year is even, the other kid's name if it's odd. I use it to
       | determine who's turn it is to take a shower first. They'll argue
       | with me and each other all day long but for some reason they will
       | not argue with the computer.
        
         | srcreigh wrote:
         | has it been more than a year? How does Jimmy feel about going
         | first on Dec 31 (day 365) and Jan 1 (day 1)?
        
           | netsharc wrote:
           | I guess it could be change to count whether if the number of
           | days since Jan 1, 1970 up to today has been odd or even...
        
         | politelemon wrote:
         | Call it Shower Power
        
         | ghewgill wrote:
         | I do that too! One of my kids was born on an odd year, month,
         | and day, while the other was born on an even year, month, and
         | day. They know who is who and they don't argue with the
         | calendar. (We do it by day of month and we find another way to
         | decide if we need to on the 31st.)
        
         | oh-4-fucks-sake wrote:
         | Install a second shower-head and make them shower together.
         | Parallel processing is your friend here.
        
           | heyoni wrote:
           | Imagine how messy async showering would be?
        
         | amanzi wrote:
         | Love this!
        
       | perlgeek wrote:
       | Lots of small little scripts lying around in bin/, some of them
       | for extracting information or downloading stuff from certain
       | websites, some for small admin tasks.
       | 
       | Possibly the most useful for others is a small wrapper around
       | pdftk that splits a PDF file into smaller ones based on the
       | "bookmarks" (the chapter annotations that many PDF readers show
       | as outlines in a side bar).
        
       | xiphias2 wrote:
       | I'm travelling around the world and writing program to help me
       | categorize hotels / flights, show availability and weather for my
       | trips.
        
       | robotburrito wrote:
       | I wrote a ridiculously hard version of the NYTime's Spelling Bee
       | game because I didn't want to pay for it. It's not very good lol.
        
       | btrettel wrote:
       | Some recent small ones I wrote:
       | 
       | - wgetcheck (Python): Downloads a file with wget and verifies a
       | provided hash, for my convenience. Also automatically verifies
       | internal checksums in zip, gz, and other archives, and verifies
       | the size and MD5 checksum provided in a HTTP header. I'll
       | probably next add verifying the provided size of the file to
       | provide some sort of basic check for files without provided
       | checksums. This all would probably be better done by a browser
       | extension, so maybe I'll write one later.
       | 
       | - freeze (Python): A script to update a hash file (same format as
       | shaXXXsum) by adding new files and noting which no longer have
       | matching hashes. Optionally sets the files as immutable [0] to
       | prevent them from being modified or deleted. Intended to be used
       | on files which aren't supposed to change or change infrequently.
       | 
       | [0] https://en.wikipedia.org/wiki/Chattr (chattr +i)
        
       | iambateman wrote:
       | I'm building MoneyHabitsHQ.com out of a desire to use it myself.
       | I felt like the existing budget apps were way too complicated.
       | 
       | (That said, it's going to be made more widely available
       | eventually, so idk if that counts to OP.)
        
       | mavci wrote:
       | Hacker News is part of my daily life. I try to follow the top
       | stories every day when I have the opportunity. In order not to
       | miss important stories on my busy days, I prepared a notification
       | service. It was a very simple, ~40-line PHP script that sends me
       | notifications for stories with over 200 points. I have been using
       | this service for 7 months and I no longer worry about missing
       | important stories.
       | 
       | Finally, I made this service available to everyone so that it can
       | be useful to others. I have also obtained the necessary
       | permissions from the HN moderators to share such a service with
       | you. So, I hope you will not miss important stories from this
       | awesome platform with the help of this service.
       | 
       | https://hnn.avci.me
        
       | guessbest wrote:
       | I made an app for tracking feedings for my baby girl that
       | calculates oz per day. As far as I know, I am the only one that
       | uses it.
        
       | ghughes wrote:
       | I have a fun one. The front door to my house had an automatic
       | door opener, paired with a single-button remote control to unlock
       | and open the door. The remote control was annoying to carry and
       | use. (This was before IoT became a thing.)
       | 
       | I pried open the remote, soldered on an extra circuit bypassing
       | the push switch, and hooked it up to an Arduino. When a packet is
       | sent over serial, the Arduino simulates a button push:
       | const int basePin = 2;              void triggerRemote() {
       | digitalWrite(basePin, HIGH);             delay(2000);
       | digitalWrite(basePin, LOW);         }              void setup() {
       | pinMode(basePin, OUTPUT);             Serial.begin(9600);
       | }              void loop() {             if (Serial.available() >
       | 0) {                 Serial.read();
       | triggerRemote();             }         }
       | 
       | This was paired with a tiny web server to do the serial write:
       | #!/opt/bin/python2.6              PORT = 5525              import
       | BaseHTTPServer, SocketServer              class
       | LoccaHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
       | server_version = "LoccaServer/1.0"             def do_GET(self):
       | if self.path.startswith("/trigger"):
       | serial.write('A')                     self.send_response(200)
       | else:                     self.send_error(404)
       | serial = open("/dev/ttyACM0", 'wb', 0)              httpd =
       | SocketServer.TCPServer(("", PORT), LoccaHTTPRequestHandler,
       | False)         httpd.allow_reuse_address = True
       | httpd.server_bind()         httpd.server_activate()
       | httpd.serve_forever()
       | 
       | Finally I threw together an iPhone app with the most basic UI
       | imaginable: a static full-screen photo of the remote; tap once,
       | it fires off a HTTP request, and the door swings open:
       | - (IBAction)triggerRemote:(id)sender {             NSURL *url =
       | [NSURL URLWithString:@"http://10.0.8.48:5525/trigger"];
       | NSURLRequest *request = [NSURLRequest requestWithURL:url];
       | [NSURLConnection connectionWithRequest:request delegate:nil];
       | }
       | 
       | That's basically all of the code. Considering how much of a janky
       | hack this is, it worked great.
       | 
       | Ancient write-up with some photos:
       | https://web.archive.org/web/20120103180640/http://ghughes.co...
        
         | bdittmer wrote:
         | At one point I had a gist with a bunch of links to a web server
         | that controlled some home automation stuff. Add a link to your
         | Home Screen and you're good to go! Easy to share as well
        
       | betaanon wrote:
       | I've created a multithreaded python daemon which every 5 minutes
       | scrapes all currently online cammers on chaturbate and streams to
       | file the ones I've marked as favorites. I've got a text file with
       | tags for each favorited streamer so I can change which ones are
       | being downloaded depending on mood.
        
       | primitivesuave wrote:
       | I created a program that prints QR codes onto sheets of peel-and-
       | stick labels. When someone scans the code, they are directed to a
       | simple web app that manages food sharing with my four roommates.
       | 
       | We noticed that we buy a lot of the same things (bananas,
       | avocados, eggs, etc), so we implemented a system where anyone can
       | stick a QR code onto something they want to share, and anyone
       | else can scan it to record what they took. For example, this
       | morning I pulled a carton of eggs out of the fridge, scanned it,
       | recorded that I took 3, and a Splitwise expense was automatically
       | updated between me and the person who bought the eggs (much
       | easier and less awkward than handing someone 75 cents). Everyone
       | is logged into the application via Splitwise OAuth, and all
       | products/expenses/debts are automatically simplified within
       | Splitwise and updated via the API - so the app is pretty much a
       | wrapper over Splitwise specifically for granular sharing of food.
        
         | tdhz77 wrote:
         | It's like Web 3.0 for your fridge... make a market for
         | anything.
         | 
         | A roommate taking 3 eggs from me doesn't bother me. Firing off
         | a text, "Hey, I took 3 eggs" is all I need.
         | 
         | We really just don't like to share these days. That's the
         | problem we are now solving it appears.
        
           | yurishimo wrote:
           | Yea. I might set something like this up if I had awful
           | roommates or some special reason why we couldn't share.
           | Otherwise, a shared fund for pantry items seems like less
           | hassle for the same outcome.
        
       | sergnio wrote:
       | For you Elden Ring fans I created a little rune calculator app
       | for me and my friend. I thought to throw it on reddit, and
       | several thousand users later I'm happy I did!
       | 
       | I've spent <10 hours on it and did it to learn some next.js &
       | preact, and as a bonus, people have been using it.
       | 
       | https://golden-rune-calc.vercel.app/
        
       | neriymus wrote:
       | I was addicted to refreshing websites - twitter, reddit, etc etc.
       | So I wrote an extension to essentially pull new posts for me
       | every 10 minutes - its actually saved so much of my time.
       | 
       | https://github.com/neriymus/Fetcher if anyone's interested
        
       | touchngthevodka wrote:
       | I spent a week or two creating a trading tool for the popular
       | video game EVE Online. The tool identifies regional arbitrage
       | opportunities between large market hubs and allows me to
       | prioritise the movement of goods to maximise profit while
       | minimising time investment. It also helps me update orders
       | efficiently.
       | 
       | As it provides a decent competitive advantage I have no plans to
       | publicise it, although it is on Github as a portfolio piece.
        
       | urbandw311er wrote:
       | All the time. Most recent was a little node app to quickly create
       | Google Meet meeting links. For example when using MacOS Calendar
       | and wanting to schedule in a video call. There isn't an official
       | Google Meet API so you have to create a Google Calendar event via
       | the API and then add the meeting to that.
       | 
       | This was wrapped in a MacOS Automator workflow, which in turn was
       | wrapped by a keyboard trigger in BetterTouchTool. So now, when I
       | hit Cmd Shift M, a Google Meeting link is created and pasted
       | wherever my cursor happens to be!
       | 
       | It makes a little boing noise too when it pastes the URL which
       | never ceases to please me.
        
       | Bilal_io wrote:
       | I use Tutanota as my email provider. They're horrible with spam
       | management, and that's because they encrypt data and can't see
       | what I am sending/receiving. So I am almost done with a chrome
       | extension that helps me manage those spam emails, it lets me bulk
       | report to Tutanota, add spam rules for the email and domain, and
       | delete. I'll be open sourcing it and sharing it on HN once done.
        
       | seligman99 wrote:
       | A few come to mind:
       | 
       | A command line calculator. While it's on github, is really just
       | made for me because I wanted something to do quick math and
       | convert different units.
       | 
       | A note/todo app. Started it's life as just a text file in a git
       | repo, but now has a web front end, a simple TUI front end, and a
       | little backend so it can add repeating tasks or tasks future days
       | when they come along.
       | 
       | I also have a little python script running to control my exterior
       | Hue lights, turning them on at sunset and such. Just added a
       | thing today that turns on the lights in my office to full
       | brightness when I open Zoom. It's nice, but every time I go down
       | the rabbit hole of home automation, my SO rightly gets annoyed at
       | the silliness of it all.
        
       | Ocha wrote:
       | I created a program to use locally for testing emails. It creates
       | intermittent latency and errors on SMTP side and helps you catch
       | code that cannot handle SMTP/network issues (no retry,
       | synchronous code). Now I offer it as a hosted solution and use it
       | myself with every project I develop. If interested project name
       | is Mailsnag and it can be found at https://mailsnag.com/
        
       | hprotagonist wrote:
       | lots.
       | 
       | many of them live in my emacs config...
       | 
       | also, a TUI noaa weather interface, piles of little bespoke
       | automations, etc. None of it's portable, none of it's really
       | meant to be.
        
       | logbiscuitswave wrote:
       | Oh, sure. All the time. Sometimes if you need some solution to a
       | problem you need to invent it yourself.
       | 
       | Back in the day when I had a Windows phone, I used Microsoft's
       | Zune player to sync it - but I used iTunes for my actual library
       | management. This was a problem because all my playlists and
       | ratings were in iTunes and there was no clear migration path. I'm
       | pretty obsessive about organizing and cataloging my media files
       | so this was something I couldn't let stand. Unfortunately while
       | iTunes had a decent SDK, Zune had none (at least not a public
       | one).
       | 
       | I basically had to reverse engineer Zune's APIs to figure out how
       | to synchronize things like playlists and star ratings between the
       | two platforms. It was all a big ugly hack -- on the one side
       | using iTunes' documented but limited COM APIs, and on the other
       | using Zune's completely undocumented but thankfully also COM-
       | based APIs so I could at least try to infer some functionality
       | behind them via reflection. It was a precarious hack as well.
       | When it worked, it worked well enough, but any time the Zune
       | client software updated, parts of their API would change or break
       | and I'd have to try to figure out how to hack around them again.
       | 
       | All these years later, iTunes still has a COM SDK but it hasn't
       | been updated since 2004 so it's stuck only supporting some of the
       | most basic iTunes features for automation.
       | 
       | I can still use it for some CLI tools that I have where I can use
       | keyboard shortcuts to set star ratings on songs without having to
       | manually go in iTunes while using it. That way if I have a
       | playlist going in the background I can just press one of a set of
       | programmable keys to launch this little CLI tool to rate a song
       | on the fly without otherwise interrupting what I'm doing. Sadly
       | the SDK doesn't support the newer heart ratings, or things like
       | checking/unchecking songs from playlists.
       | 
       | I guess what I'm discovering from writing this post is I seem to
       | spend a lot of time trying to automate all my weird scenarios
       | around media management.
       | 
       | Lately I've been working on a project in my spare time to control
       | a BLE-based robotic cat toy. The company that made it stopped
       | supporting it and delisted their applications. This was a very
       | expensive toy that I didn't want to stop working because of the
       | whims of the company. It was a big challenge - I had to reverse
       | engineer their protocols, reverse engineer their applications,
       | and write something new to replicate the functionality. Just to
       | amp up the difficulty I also decided to build a standalone
       | ESP32-based device that I can use to control the robot without
       | even needing a phone. It's been a big challenge working with lots
       | of unfamiliar technology but it's also been a lot of fun learning
       | and experimenting with these new (to me) things.
        
       | ricg wrote:
       | Quite a few. Some I use regularly:
       | 
       | - Text snippet app to reply to support request emails. Use this
       | to reply to about a dozen emails each day. I have over 300
       | snippets.
       | 
       | - App to got through a folder with my bank statement PDFs and
       | produce a number of transaction and investment reports
       | (calculates IRR and other metrics).
       | 
       | - An app to simulate all possible portfolio combinations for a
       | given set of assets (this was before https://portfoliocharts.com)
       | 
       | - An egg timer that you can start before you set the time right
       | after you put the eggs into the water. Those seconds are
       | precious. Wrote this as a gift for somebody.
       | 
       | - App to generate monthly invoices for my app sales.
       | 
       | - A nice frontend to manipulate csv files.
       | 
       | While I was looking for an apartment, an app to look for new
       | listings and notify me right away (often the nice apartments
       | would already be gone by the time the daily email reached my
       | inbox).
       | 
       | A workout timer. Simple app that tells me the time every 15
       | seconds. Throws in the occasional Tony Horton quote for
       | motivation.
       | 
       | Oh, and a personal notes app, of course!
        
       | spike021 wrote:
       | I wrote a Mac utility "app" to display currently playing track
       | notifications using the system notification pop-ups a ways before
       | Spotify or Apple Music had it. People had previously done it with
       | Growl, but I was no longer using that and wanted it to "just
       | work" as part of Mac OS(X).
        
       | CameronBanga wrote:
       | I needed to hire a Ruby on Rails engineer a few years back, and
       | didn't have much experience with Rails. So took a weekend to
       | scratch an itch and created a web app where I could input a URL
       | to a YouTube video, and the app would then pull the audio from
       | the file and add it to a podcast RSS feed so that I could listen
       | later on my iPhone in Overcast.
       | 
       | It was super useful for a while, and never turned it into
       | anything more. Was handy for just listening to conference talks
       | and other content where the video wasn't very important.
        
         | sam_lowry_ wrote:
         | Sounds like NewPipe
        
           | CameronBanga wrote:
           | Yeah, I was using it for basically the same purpose as the
           | background player. But wanted on iOS, and then just used as
           | an excuse to play around and get a bit more familiar with
           | Rails. :)
        
       | paultannenbaum wrote:
       | I have a few, but the ones I get the most use out of is a scraper
       | that checks two very popular campground in CA right at midnight
       | when new reservations open up, and reports back what is
       | available. I have plans to automate the purchasing of the sites
       | if they meet certain criteria, but alas always busy with paid
       | work.
        
       | na85 wrote:
       | >Curious to know if anyone has written programs for their own,
       | regular, & personal use. And if so what they are?
       | 
       | I wrote an algorithmic trading bot in Common Lisp. Basically it
       | uses statistical arbitrage to buy low and sell high.
       | 
       | It runs continuously so I'm not sure if that fits the spirit of
       | your question.
       | 
       | Aside from various random shell scripts, I also wrote a python
       | script that would alert me via push notifications when my plants
       | need watering.
        
       | ffhhj wrote:
       | I made a domain scraping tool that found a nice 3 letter domain,
       | a few graphic editors for game design, html+js+php minifier, file
       | copiers to backup only certain files, and other automation tools.
        
       | Mc91 wrote:
       | I have written some programs...
       | 
       | An old IRC channel I was on migrated to Slack, so I wrote a
       | Python script that logs it in an IRC log-like format, like I use
       | to do on the IRC channel.
       | 
       | I wrote an Android app that tracks my movements if I am moving,
       | and sends it to a server. I wrote it all in about a week in 2018.
       | Have not had time to update it but it works well enough. Have not
       | done much with the data yet, but it has been useful when I am
       | trying to remember when I went somewhere and for things like
       | that.
       | 
       | I use other things, but they're mostly open source programs that
       | I modified slightly for my purposes.
        
       | eddywebs wrote:
       | Yes ! A simple todo list that remembers the state no signup
       | required >> https://eddywebs.com/todo
       | 
       | Best software comes from ones own need.
        
       | khaledh wrote:
       | I've written a quick and duty Django app to organize computer
       | history literature (papers, manuals, books, etc). Every document
       | includes an embedded pdf and is tagged with authors,
       | institutions, and topics. It supports cross-references between
       | documents. I also added a feature to mark a document as read and
       | when it was read.
       | 
       | It has helped me wrap my head around certain areas of computing
       | without getting lost in a pile of pdfs.
        
       | ricardonunez wrote:
       | Several over the years. Most recent one csv reader to work on
       | geojson files. A pomodoro time tracking, I want to make this one
       | a product. Local real estate Data visualizer, stats, charts, also
       | want to make it a product.
        
       | snide wrote:
       | My entire linux Desktop feels this way! It's my favorite part of
       | working in a barebones Linux distro like Arch. I've got to build
       | everything from the ground up. Need a screenshot program? OK...
       | let's pull in Flameshot. Where's it going to host that image?
       | Well, let's create a watch folder and shuttle everything off to a
       | GCP static bucket.
       | 
       | Window manager? I3... heh, let's build a bunch of scripts. Vim?
       | Well... man, that's a whole ecosystem of tooling I an hack
       | together and write against.
       | 
       | I do this as a designer. I'm actually not a fantastic programmer,
       | I just like the flexibility of building tools that are specific
       | to me. My entire desktop feels like a love letter to building
       | cool things the way I want.
        
         | nyolfen wrote:
         | https://i.imgur.com/CVpc7nD.mp4
        
       | abledon wrote:
       | i usually fork open source worktools and tweak the UI so it has
       | snappier hotkey interactions
        
       | jinglejelly wrote:
       | I wrote a web app in Django to automatically transcribe audio
       | interviews, annotate the transcriptions and extract audio
       | fragments. I started building it to help my wife with her MA
       | thesis, as an alternative to expensive social sciences software
       | like nvivo. Unfortunately, she finished her thesis before I
       | finished the app! I later used it to make a few radio
       | documentaries and I was going to try marketing it but it was too
       | much work to get it slick enough. In fact, even I was put off by
       | its lack of slickness and eventually stopped using it.
        
       | itsthecourier wrote:
        
       | joshstrange wrote:
       | I have a couple but the first that comes to mind is a tiny little
       | mac app I wrote that "jumps" my mouse between monitors. I use it
       | because I have 2 monitors in vertical orientation, one in
       | horizontal between them, and another smaller monitor above the
       | center monitor. Here is some ascii art of it:
       | +----------------+                          |                |
       | +------------+   |                |   +------------+         |
       | ! |   | !             !|   | !          |         |          ! |
       | | !             !|   | !          |         |          ! |
       | +----------------+   |            |         |            |
       | +-+----------------+-+ |            |         |            | |
       | | |            |         |            | |                    | |
       | |         |            | |                    | |            |
       | |            | |                    | |            |         |
       | | |                    | |            |         |            |
       | +--------------------+ |            |         |          ! |
       | | !          |         |          ! |                        | !
       | |         |          ! |                        | !          |
       | +------------+                        +------------+
       | ! = Where my mouse would get stuck
       | 
       | My little app helps to keep my cursor from getting "caught" on
       | the 2 vertical monitors. By default macOS treats the parts of my
       | vertical monitors that go above/below the middle monitor as hard
       | stops/walls so it's annoying if my mouse is too low/high that I
       | have to stop what I'm doing, drag my cursor up/down, then
       | continue moving across the monitors. Likewise, the only way to
       | get to the top monitor is to first go to the center monitor then
       | go up. I hated feeling like my mouse was running into walls
       | constantly so I wrote this app. If my cursor hits any of the old
       | "walls" then my app moves the cursor up/down until it lines up
       | with the bottom/top edge of the center monitor. Also if I'm
       | hitting a wall at the top of the vertical monitors it will jump
       | me over the "gap" to the to top-center monitor.
       | 
       | I looked for (and paid for) a couple of apps out there that claim
       | to do this or something similar but none of them worked for me. I
       | had never really written any Swift code but I was able to cobble
       | together enough code to make it work and in around 200 lines of
       | code I got exactly what I wanted. I wrote this over 2 years ago
       | and I haven't had to touch it since. In fact the first time I
       | rebooted I got confused at why my mouse was getting stuck because
       | I had grown so used to it (added my little "app" to login items
       | and everything has been smooth sailing ever since).
       | 
       | EDIT: Added "!" to the diagram to show all the places my mouse
       | would get "stuck" previously. I left out the ones on the center
       | monitor since they are harder to explain where I'd get stuck
       | going up (the edges since the bottom monitor is higher resolution
       | that the top one).
        
         | smarri wrote:
         | I love that you included the ASCII art!
        
       | vax425 wrote:
       | I made myself a Chrome extension called Headlamp that puts a red
       | dot by each link, button, text box, etc., and clears them as I
       | click or type while I'm testing a web app.
       | 
       | When I hand off a build to a client, if all the red dots are
       | gone, I know I've at least TOUCHED everything.
       | 
       | If I'm working with another engineer, we can both see the dots in
       | our browser and collaborate to clear them all while we test.
        
         | Trufa wrote:
         | Nice! Can you share it?
        
           | vax425 wrote:
           | Sure! It's not really bulletproof yet and could use some more
           | features, but I'd love to get your feedback and bug reports.
           | I'm thinking about turning it into real product...
           | 
           | https://headlamptest.com
        
             | swores wrote:
             | Cool product, it's something I'd personally be interested
             | in if free or one-off license, but as someone who just
             | dabbles now and then (but including sometimes for business
             | stuff) it's nowhere near worth the monthly cost for me. $50
             | one-off would frankly be possibly more than the value I'd
             | get, but I'd definitely buy it in the hope it would be
             | useful. (Appreciate, I'm not everybody and just because
             | that's where I fit it doesn't mean your pricing needs to be
             | aimed at me.)
        
               | vax425 wrote:
               | Thanks for the feedback!
               | 
               | It's free to use for now. I'd like to bill heavy
               | corporate users someday. Not sure what the criteria will
               | be for that.
        
             | testplzignore wrote:
             | > Headlamp is like having a second manager on the team.
             | 
             | I'm not sure I would use that endorsement...
        
               | vax425 wrote:
               | Good point! Wrote that many years ago. It's a side
               | project I'm resurrecting.
        
       | bradly wrote:
       | I created a program that I could point at any directory and it
       | would copy all the photos to my external backup drive. It would
       | organize them by year and month from either the metadata or the
       | filename. It would ignore duplicates based on file size or
       | timestamp. I had a low-resolution filter to make sure I wasn't
       | getting thumbnails.
       | 
       | I had photos on all sort of old phones, old laptops, and various
       | external drives for both me and my partner that I wanted to
       | organize to make sure nothing is lost. This program allowed my to
       | just run through everything and let to do all the hard work.
        
       | pklausler wrote:
       | I have been editing code for the last 15 years in an editor that
       | I wrote for myself only.
       | 
       | Most recently, I wrote a "wgrep" program that scans an input of
       | 5-letter words and extracts those that could be a Wordle
       | solution, given a guess and its result on the command line; and
       | another program that determines the best Wordle guess from a list
       | of remaining words (where "best" means "minimizes sum of squares
       | of counts of words with the same outcome").
        
       | Dedime wrote:
       | I wrote a quick program in Go to move a certain file from my
       | Downloads folder to my Google Drive folder, when the file is
       | detected. It's to help me backup with Tiddlywiki.
        
       | lmc wrote:
       | I had been accruing bookmarks in Google Bookmarks since 2008,
       | then saw it was going to be shut down[0]. I liked the workflow
       | and the core features seemed simple enough, so I made a cheap
       | clone - Strudel Bookmarks [1] (I was planning a move to Austria
       | at the time). The code is terrible so I never open sourced it.
       | Took it as an opportunity to try a couple of pieces of tech
       | out... much respect to Hasura[2].
       | 
       | [0]: https://9to5google.com/2021/07/20/google-bookmarks-
       | closure-m...
       | 
       | [1]: https://i.redd.it/uvrv7qsqtct81.png
       | 
       | [2]: https://hasura.io/
        
       | trafnar wrote:
       | I made a video player for studying languages (Chinese in my case)
       | its fully keyboard driven and allows marking areas of the video
       | to be looped, so I can play through the video and efficiently
       | mark all the areas with speech, then loop through those and
       | navigate between them. I can also write a note for each marked
       | area, which I use to transcribe and translate the video content.
       | 
       | I'll make it public in the near future.
        
       | Insanity wrote:
       | Yup, a couple.
       | 
       | Most recently:
       | 
       | A webapp to track my runs, a service which creates backups of my
       | google drive photos to AWS S3, a streaming app to monitor my
       | puppy when we have to leave him at home (with raspberry pi +
       | webcam).
        
       | syngrog66 wrote:
       | yes, tons. this was esp more common before the rise of the whole
       | "everybody must have a GitHub portfolio" culture and
       | handheld/spoonfed coding bootcamps & tutorials etc etc
       | 
       | vast majority of my own code has never been seen anywhere.
       | portion only by clients/employers because done for them. very
       | tiny slice in FOSS projects
        
       | rollcat wrote:
       | I wrote judo[1] because I was frustrated with Ansible. I wanted a
       | very basic tool that could do 80% of the work in 1% of the code.
       | It has one or two bugs, but I've been using it for personal and
       | work stuff since 2016 and I'm not looking back.
       | 
       | [1]: https://github.com/rollcat/judo
        
       | savanaly wrote:
       | I created two web apps to help when playing the boardgame
       | Gloomhaven. Both were coded in Elm and were done partly because I
       | had a need for them but mainly just for the joy of coding in Elm.
       | I'll link the github repos of both, the demo is linked in the
       | README for each.
       | 
       | The first app is Battle Objectives [0] which I made so that my
       | group could play with some "enhanced battle objectives" I found
       | online. The fan-made enhanced battle objectives are freely
       | available on Boardgame Geek but I didn't want to print out and
       | cut out all the cards so I coded them into an app. I linked this
       | app on BGG but didn't think it was getting any use from anyone
       | outside my personal Gloomhaven group. But I also found out while
       | writing this post that someone forked Battle Objectives to
       | translate it to German so I guess someone was using it! [1]
       | 
       | The second one is Hitdeck [2] which I made to automate the tedium
       | of reshuffling my hitdeck and of rebuilding it to add and remove
       | cards as the game went on.
       | 
       | Edit: I almost forgot I coded a complete emulation of a solo card
       | game called Friday [3] [4]. I enjoyed the card game a lot but
       | it's well suited to many fast paced rounds and I got tired of
       | having to shuffle all the cards so I made an app to emulate all
       | of that. It's unfortunately just for me because I never got
       | around to adding a tutorial or anything so unless you already
       | know the rules of Friday you'll be pretty lost trying to play.
       | 
       | [0] https://github.com/tristanpendergrass/battle-objectives
       | 
       | [1] https://github.com/ToM-Korn/kampfziele
       | 
       | [2] https://github.com/tristanpendergrass/hitdeck
       | 
       | [3] https://boardgamegeek.com/boardgame/43570/friday
       | 
       | [4] https://github.com/tristanpendergrass/legendary-barnacle
        
       ___________________________________________________________________
       (page generated 2022-04-13 23:00 UTC)