Some tiny personal programs I've written

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

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • pydigitize

    Command line tool to easily scan documents into OCRd PDF/A files for archival.

  • I can relate to the document scanning issue. In my case, I digitize all documents I get on paper. For this, I've written this wrapper: https://github.com/dbrgn/pydigitize

    It does the following steps:

    - Scan a document with any scanner that supports SANE (ADF supported)

    - Straightening and cleaning of scanned documents

    - Run OCR on PDF so that it becomes searchable

    - Generate PDF/A file for archival

    - Add keywords to the PDF file

    I've probably saved many hours with this script, even when taking into account the time it took me to write it.

    Tiny projects don't always save time, but they sure are gratifying when they work as intended!

  • vaccipy

    Automatisierte Impfterminbuchung für www.impfterminservice.de

  • This was done with a lot of collaborative effort in Germany:

    https://github.com/iamnotturner/vaccipy

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • hacker-scripts

    Based on a true story

  • aquinas

    Simple media player for folders of music.

  • In a similar vein - I wrote a command line media player for myself because I couldn't find one that did what I wanted. https://github.com/codabrink/aquinas/

  • backblaze-upload

    Discontinued Automatically uploads files to backblaze b2 from a folder (or s3)

  • Warning - it's hasty code. I plan to improve it in the future by adding features and switching the file structure to an iterator.

    I also wrote a very quick script/daemon that watches a folder for new files and uploads them to backblaze. https://github.com/codabrink/backblaze-upload/

  • OCRmyPDF

    OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched

  • Yep, but I prefer not to upload all my potentially private documents into a cloud service :)

    OCRmyPDF (https://ocrmypdf.readthedocs.io/) actually does a pretty good job! It also handles deskewing and all other stuff that's necessary for good OCR results.

  • red7-sim

  • One fun one is I was playing a game with friends and it felt super random to me. So I wrote a simulator and some simple strategies to see how effective these strategies were vs randomness. If the game is mostly strategy you would expect to see clear difference in all of the strategies. If the game is mostly random the good strategies would have a hard time differentiating them from each other consistently.

    https://gitlab.com/kevincox/red7-sim

  • SaaSHub

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

    SaaSHub logo
  • saime-bot

  • I did something similar to the vaccine appointment bot but to get my passport appointment, I'm Venezuelan, and let me tell you getting a passport is almost impossible due to all the corruption and mismanagement, so years ago the webpage to schedule the passport appointment was down for 99.9% of the times, I am not joking the page was only functional for a 10~15 minutes per week at random intervals of the day, there were facebooks groups of people doing watch reloading the page every few minutes ALL DAY LONG to catch it when it was working and then inform the rest when it was up, It was insane I decided to do a simple(not really tho) bot that did the polling and fill my data to the form, I was very happy to result and event more because I didn't have to bribe anyone(This is the "normal" method to get the passport and the sky is the limit of how much are they going to charge you)

    here is the code if someone is curious about it https://gitlab.com/wolfgang000/saime-bot/

  • cmdmp3

    Lightweight command-line MP3 players for Windows written in C

  • I wrote a command-line MP3 player in C for Windows. I just wanted to play with the media manger API's, but I've ended up using this to play MP3's in succession via a script.

    https://github.com/jimlawless/cmdmp3

    It doesn't work on all versions of Windows ... it depends on some configuration elements. This has been used in another developer's video game and I believe it's installed with an MP3 player library in node.js ( if you're running node.js under Windows. ) It also plays WAV files on Windows 10 (possibly 11) if you pass the name of a WAV file into the command-line.

    I needed a command-line emailer that would send an email with a very simple one-line body for my Mac. I also wanted to exercise Go's SMTP libraries while experimenting with trying to build a minimal emailer application.

    https://github.com/jimlawless/gsend

    I use this regularly. I used to use it on MacOS, but I use it more frequently on Windows.

  • gsend

    A command-line GMail emailer written in Go

  • I wrote a command-line MP3 player in C for Windows. I just wanted to play with the media manger API's, but I've ended up using this to play MP3's in succession via a script.

    https://github.com/jimlawless/cmdmp3

    It doesn't work on all versions of Windows ... it depends on some configuration elements. This has been used in another developer's video game and I believe it's installed with an MP3 player library in node.js ( if you're running node.js under Windows. ) It also plays WAV files on Windows 10 (possibly 11) if you pass the name of a WAV file into the command-line.

    I needed a command-line emailer that would send an email with a very simple one-line body for my Mac. I also wanted to exercise Go's SMTP libraries while experimenting with trying to build a minimal emailer application.

    https://github.com/jimlawless/gsend

    I use this regularly. I used to use it on MacOS, but I use it more frequently on Windows.

  • ShortcutCleaner

    A small app that periodically cleans shortcut links from your Windows desktopp

  • When I briefly returned to the Windows world, I wrote a quick-and-dirty application that would clean the shortcut links that installs would clutter my desktop with. https://github.com/MattGHarvey/ShortcutCleaner

  • fwf

    Interactively create sed/awk/grep/jq/etc commands with immediate feedback

  • May as well flog the little zsh thing I wrote here:

    https://github.com/ckp95/fwf/

    It lets you write sed/awk/jq/grep etc things interactively. You type in a UNIX filter, and on every keystroke it renders the result in a column on the right, which you can compare to the original on the left (watch the video demonstration on the link if that description doesn't make sense). I wrote it to make the feedback loop for text-processing as quick as possible. I use it all the time now.

  • svd_bin

    various tools + libraries, small or big, old'91 or new; most used are: vcs/, qini/ + aliases, filedir/, eee/, and audio-video

  • if anyone finds any of these useful...

    https://github.com/svilendobrev/svd_bin (terminal + sh setup , version-control, lots of commands for this or that)

    https://github.com/svilendobrev/svd_util (python stuff)

  • svd_util

    python utulity funcs, classes, small languages, frameworks, scripts. i tend to use most optz, attr, struct, py3, eutf

  • if anyone finds any of these useful...

    https://github.com/svilendobrev/svd_bin (terminal + sh setup , version-control, lots of commands for this or that)

    https://github.com/svilendobrev/svd_util (python stuff)

  • redshift-gui

    Ultra simple one-shot GUI for redshift

  • 6. Bookmarklet for setting playback speed of videos on the current page. I use this several times per day.

    [1]: https://github.com/Markussss/redshift-gui

  • userscripts

  • karaoke-sign-in

  • My friend invited me out to karaoke, but most of the songs I know aren't popular enough to be in karaoke systems. The local karaoke place has a song database online that you can query, so I wrote a script to query it for every artist I've listened to. I found out that Black Sabbath and Iron Maiden are surprisingly good picks for karaoke! https://github.com/vermarish/karaoke-sign-in

  • Lazy-Chicken

    Just a python script that helps me stay lazy, also useless to you

  • todo_markup.js

    A simple (and experimental) markup for todo focused notes.

  • time

    contracting departure calculator, optimized for lazy use (by cynoclast)

  • I wrote a small program to manage my contracting time after it being gently suggested that I stick to 40 hours and that overtime wasn't needed of me (calculate hours per day and when to leave Friday to hit 40.0). I wrote it so that usage was absolutely as lazy as possible. So typical use cases look like this:

    >$ tm 8:30-12:30 12:40-

    Time to leave: 16:40

    so as to hit 8.0 hours for the day.

    and

    >$ tm 8.5 9.27 8.83 8.87 9:45-1:23 1:33-

    14:11

    54 minutes

    is an example of when to leave (early!) on Friday to hit 40.0

    Note how you don't have to tell it AM/PM or use 24 hour time. Nor give it any special flags to tell it which calculation to run. And it just handles the rollover at noon for you.

    source: https://github.com/cynoclast/time (Java, because that's what I used at the time)

  • tpms-helper

    A bash script to automate Toyota tire pressure monitoring system testing via rtl_433.

  • https://github.com/rouyng/tpms-helper

    so far I have only tested it with Toyota sensors, so YMMV when used with other sensor types as I'm not sure if the rtl_433 output will be the same.

    I also wrote a blog post when I first figured out how to test the sensors with rtl_433, before I wrote the script. probably useful for background information:

  • eleven-vr-scoreboard

    Live scoreboard for the ElevenVR Table Tennis game, useful for streamers.

  • One of the most used "tiny program" I wrote [0] is a weird one to explain to non-technical people: a scoreboard UI to display the current score of your match on a stream when playing Eleven Table Tennis in VR. I see it being used quite frequently in Twitch streams.

    [0]: https://github.com/Cristy94/eleven-vr-scoreboard

  • nhs-vaccination-checker

    Check for earlier availability of second dose slots on NHS.uk

  • I did the same as well.

    https://github.com/GOATS2K/nhs-vaccination-checker

  • tessen

    an interactive menu to autotype and copy pass and gopass data

  • This may not be as impressive but I wrote a script to eliminate one of the primary roadblocks I faced when I moved to Wayland on my Linux desktop — a script to copy and autotype password store amd gopass data, kinda like rofi-pass

    https://github.com/ayushnix/tessen

  • PDFCollate

    Merge PDFs if your document scanner can't do duplex scanning

  • Funny, I also wrote some code to solve one of my printer problems. It doesn't do double-sided scanning so the script waits for two recently PDFs in a folder (while trying to be smart about not picking incompatible PDFs) and merge them in the right way: https://github.com/RomainGehrig/PDFCollate

    I could have worked the same amount of hours for a client and use the money to buy a duplex scanner, but where's the fun in that ?

  • eerlijke-indeling

    Eerlijke Indeling is an application to safely assign students to activities or workshops.

  • uBlock

    uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

  • An alternative is to just block YouTube recommendations on the client. You can use the 'My Filters' feature of uBlock. See https://github.com/gorhill/uBlock/wiki/Static-filter-syntax for details. Personally, I get along just fine with something like the following:

        youtube.com##ytd-watch-next-secondary-results-renderer

  • simple_grabber

    Grabs images from the SimpleDesktops RSS feed.

  • I wrote a very simple script to automatically download desktop wallpapers from http://simpledesktops.com/. I then cron'd it to place wallpapers in a folder, and Mac OS automatically rotates through the wallpapers randomly every hour. I love the idea of small, simple projects that make your life better.

    https://github.com/urbushey/simple_grabber

  • kindleServer

    This project serve HTML files (and a few more) saved in your computer with a UI suitable for Kindle web browser. On top of that, it include a Read Mode (thanks to ReadabiliPy) to display the text in a comfortable size without have to use the 'Article Mode' in Kindle web browser.

  • I save articles into HTML files with TagSpaces or SingleFile to read them later but I could not find a way to serve them easily to a Kindle Paperwhite and read them there.

    I create this simple project to fulfill this need. It was just a weekend project that it's already valuable for me.

    https://news.ycombinator.com/item?id=30669487

    https://github.com/edgartaor/kindleServer

  • SaaSHub

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

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

Suggest a related project

Related posts

  • Top 10 GitHub Repositories for Python and Java Developers

    21 projects | dev.to | 3 May 2024
  • Azure SDK is over 500 MB and growing on each release

    1 project | news.ycombinator.com | 3 May 2024
  • AI enthusiasm #9 - A multilingual chatbot📣🈸

    6 projects | dev.to | 1 May 2024
  • Install Asdf: One Runtime Manager to Rule All Dev Environments

    10 projects | news.ycombinator.com | 27 Apr 2024
  • A Rigorous Derivation of the Bubble Sort Curve

    1 project | news.ycombinator.com | 24 Apr 2024