[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)