Ask HN: Tools you have made for yourself?

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
  • manyssh

    One command line to control multiple SSH connections.

  • In the category of old unmaintained tools:

      - https://github.com/linkdd/manyssh : Before discovering ansible/puppet/etc...

  • i3tools

    Tools for i3wm

  • - https://github.com/linkdd/i3tools : For when I was using i3wm

  • 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
  • xautostart

    Python script to run all desktop entries in autostart directories

  • - https://github.com/linkdd/xautostart : Also for when I was using i3wm without a Display Manager

  • sushi

  • I wrote this (at work) to update versions in our projects from one place, and even partial versions. Saves me some headache and mental space every time. I know there are competitors but none I found was just simple, everything else was bloated with Git-integration or regex search instead.

    https://gitlab.com/MaxIV/app-maxiv-semver

  • habits-for-todoist

    Discontinued A habit app for Todoist

  • algo-drills

    A command line tool for memorizing algorithms in Python by typing them.

  • https://github.com/travisjungroth/algo-drills

    A tiny script that adds articles I want to see again onto my todo list:

  • SaaSHub

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

    SaaSHub logo
  • boomerang

    Script to send a link back to myself later (by travisjungroth)

  • adama-lang

    A headless spreadsheet document container service.

  • Not small, but myopic in a way.

    I've been tinkering on and off with my own programming language for the last couple of years: http://www.adama-lang.org/

    The key motivation is dealing with the complexities of managing all the state between people as they play a game with a strong boundary for privacy.

    I am debating what my next steps are with what I've learned. Do I focus on growing things around it, or do I abandon yet another project and do something that might actually achieve success.

  • botjagwar

    Bot scripts for Wiktionary

  • As a Wikimedian who used to spend sleepless nights editing on the Malagasy language Wikipedia and Wiktionary, I have been developing botjagwar (https://github.com/radomd92/botjagwar) on and off for the last 10 years. More details at https://github.com/radomd92/botjagwar/wiki/Backstory

    It's mostly bot scripts written in Python. Data is stored in a self-hosted PostgreSQL. In addition to a backend I'd written myself, I also use PostgREST. and a with a rather rustic front-end was written in 2020 (https://github.com/radomd92/botjagwar-frontend) as a COVID lockdown side-project. Other scripts also use Redis as a page cache to speed up operation involving a large number of page reads.

  • botjagwar-frontend

    Frontend of botjagwar

  • As a Wikimedian who used to spend sleepless nights editing on the Malagasy language Wikipedia and Wiktionary, I have been developing botjagwar (https://github.com/radomd92/botjagwar) on and off for the last 10 years. More details at https://github.com/radomd92/botjagwar/wiki/Backstory

    It's mostly bot scripts written in Python. Data is stored in a self-hosted PostgreSQL. In addition to a backend I'd written myself, I also use PostgREST. and a with a rather rustic front-end was written in 2020 (https://github.com/radomd92/botjagwar-frontend) as a COVID lockdown side-project. Other scripts also use Redis as a page cache to speed up operation involving a large number of page reads.

  • espanso

    Cross-platform Text Expander written in Rust

  • remarkable-cli

    An unofficial command line interface (CLI) for interacting with the Remarkable paper tablet.

  • I use this tool on a daily basis to offline backup my handwritten notes.

    https://github.com/awwong1/remarkable-cli

  • sysbox

    sysadmin/scripting utilities, distributed as a single binary (by skx)

  • I bundled together a small collection of sysadmin/scripting-tools here:

    https://github.com/skx/sysbox

    Those are probably amongst the things that I use most often which are non-standard.

  • streamlit

    Streamlit — A faster way to build and share data apps.

  • diffimg

    Differentiate images in python - get a ratio or percentage difference, and generate a diff image

  • I built this image differentiation tool to automate comparison of images generated by two different (one legacy, one replacement) image processing services: https://github.com/nicolashahn/diffimg

    Seems to have become useful for a lot of other people, which I didn't really expect.

  • focusTV

    OPENCV and Python can come together to help you binge-watch with this??!!!

  • programmer-calculator

    Terminal calculator made for programmers working with multiple number representations, sizes, and overall close to the bits

  • m4b-tool

    m4b-tool is a command line utility to merge, split and chapterize audiobook files such as mp3, ogg, flac, m4a or m4b

  • m4b-tool[1] - merge, split and edit audio books

    graft[2] - file transfer utility with mdns and sftp server

    look[3] - a log file watcher

    pilabor[4] - a hugo blog to manage my personal notes

    [1] https://github.com/sandreas/m4b-tool/

  • graft

    graft is a tool to find and transfer files written in go

  • look

    log viewer

  • ClipDate

    A very smol VSCode Extension to insert the current date.

  • SIM-Notes

  • SIM Notes, a wysiwig markdown notes taking tool, based on Notational Velocity. It's a tool I literally tailored to my needs: 100% flat markdown files, in-place rendering, no structure, no tags, but a powerful and fast search. It's my own perfect zettelkasten.

    Unfortunately I had to stop working on it when I had a burnout, so it's still buggy but good enough for me to use it every day.

    I'm very slowly working on a v2, with a simple localhost daemon and no Electron.

    https://github.com/scambier/SIM-Notes

  • git-split-diffs

    Syntax highlighted side-by-side diffs in your terminal

  • I wrote https://github.com/banga/git-split-diffs mainly to scratch an itch about not having side by side git diffs in the terminal, then ended up adding more fancy features like syntax highlighting and it got somewhat popular.

  • jid

    json incremental digger

  • server-text

    A simple service that allows you to run commands on the server using text

  • I created this tool for fun to experiment with my raspberry pi

    Its a tool that allows you to run server commands via text messages

    https://github.com/mtdevss/server-text

    Its a fun program to play around with

  • musicplayer

  • DIFAS

    Dependency Installer for Archaic Systems

  • I've built a tiny dependency installer targeted at old systems / clusters where you need to bootstrap modern libraries and tools from an old GCC.

    It's very small, just a few hundred lines of Bash.

    https://github.com/W4RH4WK/DIFAS

  • drive-py

    Disk comparison tool

  • drive.py

    Disc comare tool

    https://github.com/web3cryptowallet/drive-py

    I made it to work with unstructured data with any amount of size

  • KeenWrite

    Discontinued Free, open-source, cross-platform desktop Markdown text editor with live preview, string interpolation, and math.

  • Here's a shell script template that helps parse command-line options and informs its users of any necessary commands that are required to run the script successfully:

    https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdow...

    Example usage showing how to use the template script:

    https://github.com/DaveJarvis/keenwrite/blob/master/installe...

    A more recent version is available at:

    https://github.com/DaveJarvis/keenwrite/blob/master/scripts/...

  • oom-monitor

  • architect

    Simple Arch Linux bootstrap project (by jnsgruk)

  • I have a couple of projects that I’ve used over the years. My favourite is probably Architect, which is yet another Arch installer configured with a little bit of YAML and all in bash

    https://github.com/jnsgruk/architect

  • distribution

    Short, simple, direct scripts for creating ASCII graphical histograms in the terminal. (by wizzat)

  • I wrote an in-terminal histogram tool[0] because... that's when/where I always need histograms.

    [0] https://github.com/wizzat/distribution

  • front-matter-editor

    An Electron app for editing Markdown front matter

  • I made an editor for markdown front matter. Useful if you're building sites using Jekyll and similar.

    https://github.com/ognjenio/front-matter-editor

  • ComicReader

  • I have not found a good ebook reader that keeps my state on edge devices and syncs to a server my position. When I had more time to read manga I built this: https://github.com/gravypod/ComicReader

    It takes a folder of webp files and remembers your page on local storage. It's not perfect but it's ok. It also prefetches the next 10 or so pages which is fine for reading on a train.

    Another, tool that sends wake-on-lan packets and shutdown packets to a windows machine that allowed me to steam stream from a dedicated windows machine: https://github.com/gravypod/SteamStreamScripts

  • SteamStreamScripts

    Some small scripts I use to make steam streaming more managable.

  • I have not found a good ebook reader that keeps my state on edge devices and syncs to a server my position. When I had more time to read manga I built this: https://github.com/gravypod/ComicReader

    It takes a folder of webp files and remembers your page on local storage. It's not perfect but it's ok. It also prefetches the next 10 or so pages which is fine for reading on a train.

    Another, tool that sends wake-on-lan packets and shutdown packets to a windows machine that allowed me to steam stream from a dedicated windows machine: https://github.com/gravypod/SteamStreamScripts

  • zstat

    Bone-simple tool for generating basic numerical stats from stdin

  • inizio

    Todo.txt app derived from Todour (by shawnaxsom)

  • I've been working on a todo app built on todo.txt. It's a fork of another app, Todour, which I've heavily enhanced. It's a work in progress, it is ugly but very functional.

    https://github.com/shawnaxsom/inizio

    Being an engineering manager, a good todo system is a must. I need to be able to write to it quickly in an organized manner. I need it to filter quickly, being able to tell it "Show me all of my highest priority tasks that don't have anything to do with person XYZ who is out-of-office, hide learning tasks".

  • mac-screenshot-tracker

    Screenshot Tracker for Mac - Rewatch what you've worked on.

  • I was annoyed by the seemingly over-engineered tools for screen tracking, so I wrote one myself in ~50 LOC, which simply uses ffmpeg to create a screenshot every X seconds in a very low resolution:

    https://github.com/instance01/mac-screenshot-tracker

    It's super hackable and gets the job done.

  • jenkins-std-lib

    Bringing the Zen of Python to Jenkins.

  • https://github.com/DontShaveTheYak/jenkins-std-lib A Jenkins shared library with a couple cool things like running GitHub Actions on Jenkins.

    https://github.com/DontShaveTheYak/cloud-radar Unit and Functional testing of AWS Cloudformation templates. The unit testing part allows you to test locally without needing AWS creds.

    https://github.com/DontShaveTheYak/sebs Stateful Elastic Block Storage was created so that you could make sure that a AWS ec2 instance always had the same EBS volume mounted to it. Really handy for a Ec2 instance in an ASG with a count of 1.

  • cloud-radar

    Create Functional and Unit tests for Cloudformation Stacks.

  • https://github.com/DontShaveTheYak/jenkins-std-lib A Jenkins shared library with a couple cool things like running GitHub Actions on Jenkins.

    https://github.com/DontShaveTheYak/cloud-radar Unit and Functional testing of AWS Cloudformation templates. The unit testing part allows you to test locally without needing AWS creds.

    https://github.com/DontShaveTheYak/sebs Stateful Elastic Block Storage was created so that you could make sure that a AWS ec2 instance always had the same EBS volume mounted to it. Really handy for a Ec2 instance in an ASG with a count of 1.

  • sebs

    Create (S)tateful (E)lastic (B)lock (S)torage on AWS.

  • https://github.com/DontShaveTheYak/jenkins-std-lib A Jenkins shared library with a couple cool things like running GitHub Actions on Jenkins.

    https://github.com/DontShaveTheYak/cloud-radar Unit and Functional testing of AWS Cloudformation templates. The unit testing part allows you to test locally without needing AWS creds.

    https://github.com/DontShaveTheYak/sebs Stateful Elastic Block Storage was created so that you could make sure that a AWS ec2 instance always had the same EBS volume mounted to it. Really handy for a Ec2 instance in an ASG with a count of 1.

  • TLSential

    A server for providing short-lived TLS certificates to all services within a firewall restricted network.

  • At my company we used to pass around a single wildcard cert for our corporate domain. All servers, including many internal servers, all had the same long lived cert.

    I made a tool to make it easy for us to deploy Let’s Encrypt certs for internal only servers that would normally not be able to do an http challenge against LE.

    https://github.com/Imageware/TLSential

    One of the projects im most proud of. :)

  • dotter

    A dotfile manager and templater written in rust 🦀

  • prettycrontab

    A `crontab -l` pretty-printer

  • A bunch of shell scripts I've written over the years are available from https://git.marcofontani.it/mfontani/scripts

    Very useful ones:

    - evenodd, to colorize the background of lines of text so it's easier to see which start of text corresponds to which end of text

    - time-rollup, to time the time it takes to run a given command and provide percentage-based statistics on the execution

    - a wrapper around "jq" to make it DWIM w/regards to gzipped, bzipped, and zstd-compressed files

    I've also put some full-fledged binaries on github:

    - https://github.com/mfontani/prettycrontab which is a crontab pretty-printer which parses a possibly specially commented crontab to give you an overview of what's coming up next

    - https://github.com/mfontani/tstdin to timestamp your stdin, and provide when the line was received, how long it was since the start of the command, and how long it was since the last line was received. Useful to add at the end of a pipe to both log and perform analysis on the output and time it took to do stuff

    - https://github.com/mfontani/rofixec to "sorta template" a rofi (a X11 runner) runner so it picks commands from a given list (provided as yaml or json configuration) and executes the picked item in a background job

    - https://github.com/mfontani/git-recent which helps you pick the most recent branches you've worked on, very useful when paired with fzf for picking

    - https://github.com/mfontani/los-opinionated-git-tools instead contains a ton of useful little git-related scripts, from one which DWIMs the master/main/blead branch name to one which helps you reauthor the last commit, to one (git-rr) which helps you perform a git rebase with context info about the commits you're rebasing: which files they touched, etc - to make it easier to fixup together commits which touched the same file... which is an operation I do so often I've created a "git-fixup" script, which automates fixing up the currently committed file to the last commit which touched that file in the branch

  • tstdin

    timestamp STDIN

  • A bunch of shell scripts I've written over the years are available from https://git.marcofontani.it/mfontani/scripts

    Very useful ones:

    - evenodd, to colorize the background of lines of text so it's easier to see which start of text corresponds to which end of text

    - time-rollup, to time the time it takes to run a given command and provide percentage-based statistics on the execution

    - a wrapper around "jq" to make it DWIM w/regards to gzipped, bzipped, and zstd-compressed files

    I've also put some full-fledged binaries on github:

    - https://github.com/mfontani/prettycrontab which is a crontab pretty-printer which parses a possibly specially commented crontab to give you an overview of what's coming up next

    - https://github.com/mfontani/tstdin to timestamp your stdin, and provide when the line was received, how long it was since the start of the command, and how long it was since the last line was received. Useful to add at the end of a pipe to both log and perform analysis on the output and time it took to do stuff

    - https://github.com/mfontani/rofixec to "sorta template" a rofi (a X11 runner) runner so it picks commands from a given list (provided as yaml or json configuration) and executes the picked item in a background job

    - https://github.com/mfontani/git-recent which helps you pick the most recent branches you've worked on, very useful when paired with fzf for picking

    - https://github.com/mfontani/los-opinionated-git-tools instead contains a ton of useful little git-related scripts, from one which DWIMs the master/main/blead branch name to one which helps you reauthor the last commit, to one (git-rr) which helps you perform a git rebase with context info about the commits you're rebasing: which files they touched, etc - to make it easier to fixup together commits which touched the same file... which is an operation I do so often I've created a "git-fixup" script, which automates fixing up the currently committed file to the last commit which touched that file in the branch

  • rofixec

  • A bunch of shell scripts I've written over the years are available from https://git.marcofontani.it/mfontani/scripts

    Very useful ones:

    - evenodd, to colorize the background of lines of text so it's easier to see which start of text corresponds to which end of text

    - time-rollup, to time the time it takes to run a given command and provide percentage-based statistics on the execution

    - a wrapper around "jq" to make it DWIM w/regards to gzipped, bzipped, and zstd-compressed files

    I've also put some full-fledged binaries on github:

    - https://github.com/mfontani/prettycrontab which is a crontab pretty-printer which parses a possibly specially commented crontab to give you an overview of what's coming up next

    - https://github.com/mfontani/tstdin to timestamp your stdin, and provide when the line was received, how long it was since the start of the command, and how long it was since the last line was received. Useful to add at the end of a pipe to both log and perform analysis on the output and time it took to do stuff

    - https://github.com/mfontani/rofixec to "sorta template" a rofi (a X11 runner) runner so it picks commands from a given list (provided as yaml or json configuration) and executes the picked item in a background job

    - https://github.com/mfontani/git-recent which helps you pick the most recent branches you've worked on, very useful when paired with fzf for picking

    - https://github.com/mfontani/los-opinionated-git-tools instead contains a ton of useful little git-related scripts, from one which DWIMs the master/main/blead branch name to one which helps you reauthor the last commit, to one (git-rr) which helps you perform a git rebase with context info about the commits you're rebasing: which files they touched, etc - to make it easier to fixup together commits which touched the same file... which is an operation I do so often I've created a "git-fixup" script, which automates fixing up the currently committed file to the last commit which touched that file in the branch

  • git-recent

    Show / help pick the most recently checked out branches in a repo

  • A bunch of shell scripts I've written over the years are available from https://git.marcofontani.it/mfontani/scripts

    Very useful ones:

    - evenodd, to colorize the background of lines of text so it's easier to see which start of text corresponds to which end of text

    - time-rollup, to time the time it takes to run a given command and provide percentage-based statistics on the execution

    - a wrapper around "jq" to make it DWIM w/regards to gzipped, bzipped, and zstd-compressed files

    I've also put some full-fledged binaries on github:

    - https://github.com/mfontani/prettycrontab which is a crontab pretty-printer which parses a possibly specially commented crontab to give you an overview of what's coming up next

    - https://github.com/mfontani/tstdin to timestamp your stdin, and provide when the line was received, how long it was since the start of the command, and how long it was since the last line was received. Useful to add at the end of a pipe to both log and perform analysis on the output and time it took to do stuff

    - https://github.com/mfontani/rofixec to "sorta template" a rofi (a X11 runner) runner so it picks commands from a given list (provided as yaml or json configuration) and executes the picked item in a background job

    - https://github.com/mfontani/git-recent which helps you pick the most recent branches you've worked on, very useful when paired with fzf for picking

    - https://github.com/mfontani/los-opinionated-git-tools instead contains a ton of useful little git-related scripts, from one which DWIMs the master/main/blead branch name to one which helps you reauthor the last commit, to one (git-rr) which helps you perform a git rebase with context info about the commits you're rebasing: which files they touched, etc - to make it easier to fixup together commits which touched the same file... which is an operation I do so often I've created a "git-fixup" script, which automates fixing up the currently committed file to the last commit which touched that file in the branch

  • los-opinionated-git-tools

    A collection of Very Opinionated Git tools and aliases to aid my Git workflow. Will these aid yours?

  • A bunch of shell scripts I've written over the years are available from https://git.marcofontani.it/mfontani/scripts

    Very useful ones:

    - evenodd, to colorize the background of lines of text so it's easier to see which start of text corresponds to which end of text

    - time-rollup, to time the time it takes to run a given command and provide percentage-based statistics on the execution

    - a wrapper around "jq" to make it DWIM w/regards to gzipped, bzipped, and zstd-compressed files

    I've also put some full-fledged binaries on github:

    - https://github.com/mfontani/prettycrontab which is a crontab pretty-printer which parses a possibly specially commented crontab to give you an overview of what's coming up next

    - https://github.com/mfontani/tstdin to timestamp your stdin, and provide when the line was received, how long it was since the start of the command, and how long it was since the last line was received. Useful to add at the end of a pipe to both log and perform analysis on the output and time it took to do stuff

    - https://github.com/mfontani/rofixec to "sorta template" a rofi (a X11 runner) runner so it picks commands from a given list (provided as yaml or json configuration) and executes the picked item in a background job

    - https://github.com/mfontani/git-recent which helps you pick the most recent branches you've worked on, very useful when paired with fzf for picking

    - https://github.com/mfontani/los-opinionated-git-tools instead contains a ton of useful little git-related scripts, from one which DWIMs the master/main/blead branch name to one which helps you reauthor the last commit, to one (git-rr) which helps you perform a git rebase with context info about the commits you're rebasing: which files they touched, etc - to make it easier to fixup together commits which touched the same file... which is an operation I do so often I've created a "git-fixup" script, which automates fixing up the currently committed file to the last commit which touched that file in the branch

  • shpotify

    A command-line interface to Spotify.

  • A long time ago, before Spotify had support for multiple devices where one could act as a remote and control the other, I wrote a tool called Shpotify: https://github.com/hnarayanan/shpotify . It is a simple Bash/AppleScript.

    The primary usecase for me was to SSH tunnel into a media centre Mac in my living room and control music on Spotify. I released it on GitHub and it has grown a lot in popularity amongst people who like to do a lot of their computing in the shell.

  • AutoHotkey

    AutoHotkey - macro-creation and automation-oriented scripting utility for Windows.

  • Drove / automated a currency trading application using https://www.autohotkey.com/

    The amount of error handling probably made it more worthwhile to learn the actual automation language, but it worked.

  • pajamaSQL

    PHP SQL wrapper and model layer

  • I built up a web dev stack over the years while working on personal projects and client projects. First it was all together, but now it's separate libraries and a template app:

    db: https://github.com/ferg1e/pajamaSQL

  • corn-wand

    PHP functional library for generating HTML

  • bouncers-book

    PHP form validator

  • paper-cello

    Miscellaneous PHP functions

  • screen-name

    Template user-based website

  • template user-based app: https://github.com/ferg1e/screen-name

  • bluecircle-json-interface-generator

    A utility to read your Java JAX-RS methods, and generate TypeScript interfaces and AJAX calls to use those interfaces.

  • A tool that will read your Java REST endpoints, and make TypeScript interfaces and invocation functions, so you can pretend your React front-end is using DCE again like it's 1999.

    https://github.com/BlueCircleSoftware/bluecircle-json-interf...

  • A tool that will read your Java REST endpoints, and make TypeScript interfaces and invocation functions, so you can pretend your React front-end is using DCE again like it's 1999.

    https://github.com/BlueCircleSoftware/bluecircle-json-interf...

  • krapslog-rs

    Visualize logs in your terminal: ▂▃▃▃▃▃▅▅▅▅▃▃▅▅▆▇

  • A tool for visualizing log file volume over time in your terminal [1]. Useful for quickly getting a handle on traffic patterns during a production incident. This began as a scratch-the-itch project and was also the first useful thing I made in Rust. Two itches scratched :)

    A tool for visualizing ping latency as a heatmap [2]. My Macbook's wifi had developed a severe latency stutter every ~500ms that was driving me nuts when using interactive tools like SSH. It was very satisfying to visualize it and see the pattern, and it helped to narrow the list of possible causes.

    [1] https://github.com/acj/krapslog-rs

  • ping-heatmap

    A tool for displaying subsecond offset heatmaps of ICMP ping latency

  • BookStack

    A platform to create documentation/wiki content built with PHP & Laravel

  • I built a documentation platform [1] for work since I didn't want to worry about licensing costs (With something like Confluence) being a factor, limiting potential access, when it comes to documenting and sharing knowledge.

    I also wrote a simple little PHP script [2] to check (And email) SSL certificates to help keep on top of things.

    [1]: https://github.com/BookStackApp/BookStack

  • sslcheck

    Simple PHP script to check SSL expiry

  • pyleon

    My dumb way to package scripts.

  • wireguird

    wireguard gtk gui for linux

  • notes

    A zero dependency shell script that makes it really simple to manage your text notes. (by nickjj)

  • A whole bunch of little things, mainly command line tools.

    Most of them are open source and also have extensive documentation and a screencast video going over them.

    In no specific order:

    - https://github.com/nickjj/notes

    - https://github.com/nickjj/invoice

    - https://github.com/nickjj/wait-until

    And a few recent little scripts to solve specific things:

    - https://nickjanetakis.com/blog/using-ffmpeg-to-get-an-mp3s-d...

    - https://nickjanetakis.com/blog/a-shell-script-to-keep-a-bunc...

    - https://nickjanetakis.com/blog/bash-aliases-to-prepare-recor...

  • invoice

    Calculate a billable amount, hours and days logged for 1 or more projects. (by nickjj)

  • A whole bunch of little things, mainly command line tools.

    Most of them are open source and also have extensive documentation and a screencast video going over them.

    In no specific order:

    - https://github.com/nickjj/notes

    - https://github.com/nickjj/invoice

    - https://github.com/nickjj/wait-until

    And a few recent little scripts to solve specific things:

    - https://nickjanetakis.com/blog/using-ffmpeg-to-get-an-mp3s-d...

    - https://nickjanetakis.com/blog/a-shell-script-to-keep-a-bunc...

    - https://nickjanetakis.com/blog/bash-aliases-to-prepare-recor...

  • wait-until

    A zero dependency Bash script that waits until a command of your choosing has run successfully.

  • A whole bunch of little things, mainly command line tools.

    Most of them are open source and also have extensive documentation and a screencast video going over them.

    In no specific order:

    - https://github.com/nickjj/notes

    - https://github.com/nickjj/invoice

    - https://github.com/nickjj/wait-until

    And a few recent little scripts to solve specific things:

    - https://nickjanetakis.com/blog/using-ffmpeg-to-get-an-mp3s-d...

    - https://nickjanetakis.com/blog/a-shell-script-to-keep-a-bunc...

    - https://nickjanetakis.com/blog/bash-aliases-to-prepare-recor...

  • kvmgr

    KVM Manager Scripts

  • I made a little script for quickly spinning up KVM virtual machines on my testing rig. It just grabs a minimal Ubuntu image, preseeds it with a ssh key, clones a VM on the default NAT network, and sets up the disk size/CPUs/memory allocation. It's not meant to replace orchestration or config management tools, just for quick and dirty VMs.

    https://github.com/noahbailey/kvmgr

  • nixos-config

    ❄️ My NixOS configuration (by axelf4)

  • Spotify playlists are great but I would like to be able to shuffle from a combination of them. Playlist folders do not cut it because then all combinations must form a tree. So I made a shell script to create those combined playlists [1]!

    [1]: https://github.com/axelf4/nixos-config/blob/da60a70680984769...

  • qlip

    dead simple program that generates qr codes from your clipboard

  • I wrote qlip [0], a stupid-simple shell utility written in 5 lines of Rust that prints your clipboard as a QR code to stdout. I used it as a clipboard sharing utility before KDE Connect fixed their universal clipboard feature. It should compile for any platform that supports Rust, and you can install it to your system in a few seconds using `cargo install`.

    [0] https://github.com/toasterrepairman/qlip

  • bbam

    Better Bike Angels Map

  • I use NYC's bike share system (Citibike) quite a bit. Unfortunately the app's map of bike/dock availability [0] requires a lot of scrolling and tapping to get info, in my opinion. It definitely looks pretty, but it's not so functional. So, I built my own version [1] that is far more information dense, but much uglier.

    [0]: https://apps.apple.com/us/app/citi-bike/id641194843

    [1]: https://github.com/kevindong/bbam

  • hbr

    handbrake runner - runs HandBrakeCLI with settings specified in a keyfile. Allows for repeatable and easily modified encoding.

  • I wrote hbr (handbrake runner) [0]. It takes a global config, a per-file config, and individual outfile sections then calls HandBrakeCLI to encode video. I use it to encode movies/series from optical media.

    Additionally there is hbscan.py to generate a list of potential outfiles from handbrake's --scan argument. One day I'd like to integrate it with hbr (in C) using peg/leg [1]. Currently using pyparsing.

    This is still a lot of manual work, but it saves doing it twice. When you find a mistake in an encode there's a log with the file, and it's easy to go back and modify the keyfile and re-encode it.

    [0] https://github.com/epakai/hbr

    [1] https://www.piumarta.com/software/peg/ (not mine)

  • rofimoji

    Emoji, unicode and general character picker for rofi and rofi-likes

  • That was several years ago, and now [rofimoji](https://github.com/fdw/rofimoji) can do all UTF-8 characters (and custom ones), works on Wayland and is packaged for some distros. I'm so happy how my tiny project turned out and how many people helped with PRs and issues.

    Professionally, I (and the whole team) lost track of our deployed artifacts, as we're not on a release schedule but also not really on continuous deployment. Mainly, we released when someone noticed that a release has been running stably on staging for a while.

  • sourcemapper

    Discontinued wip of some source map injection idea

  • nosh

    Run programs without a shell.

  • Program that interfaces AutoHotKey and youtube-dl so that I can easily play or download things with shortcuts. Haven't played a youtube video from the actual website in years (don't tell anyone).

    Program that lets me keep track of the last time I did something (brush teeth, exercise, vacuum the floors, etc), which motivates me to do these things more regularly.

    Program to convert between various units of bits, mostly so that I could do a calculation regarding download speeds.

    Program to run programs without a shell, so that I could run certain commands on startup (it was faster to implement than to find an existing solution) [1].

    Library to dump various useful information out of a Pokemon ROM, so that I could play the game more efficiently [2].

    Playing card library, so that I could simulate certain solitaire games and figure out the chances of winning [3].

    Program to quickly parse and generate markdown files from source code comments, existing solutions being too complex or not working quite the way I wanted [4]. This one ended up being a real winner, because it let me stop worrying about presentation and get back to writing code/documentation.

    There's this sort of multi-tool I've been working on for game development on Roblox (very niche) [5]. A high-level overview is that it uses scripting to streamline certain workflows that would otherwise be tedious, such as parsing proprietary file formats, interacting with web APIs, or assembling a project into a final product. It's a winner because it lets me make even more tools for myself.

    [1]: https://github.com/Anaminus/nosh

  • pkm

    Extracts data from pokemon ROMs. (by Anaminus)

  • cards

    Playing cards (by Anaminus)

  • qdoc

    Convert documentation within a Lua script into a Markdown file.

  • rbxmk

    A tool for processing Roblox files.

  • ZXing

    ZXing ("Zebra Crossing") barcode scanning library for Java, Android

  • - give my name + phone number to people (avoids spelling issues and typos).

    I simply wrote some text corresponding to a wifi network and a vcard (see [0] for how this looks like) and show that text as QR code.

    [0]: https://github.com/zxing/zxing/wiki/Barcode-Contents

  • macOCR

    Get any text on your screen into your clipboard.

  • I wrote a free Mac app to OCR any text on screen[1].

    macOCR is a command line app that enables you to turn any text on your screen into text on your clipboard. When you envoke the ocr command, a "screen capture" like cursor is shown. Any text within the bounds will be converted to text.

    You could invoke the app using the likes of Alfred.app, LaunchBar, Hammerspoon, Quicksilver, Raycast etc.

      [1] https://github.com/schappim/macOCR

  • Etsy-API-to-Jekyll

    Really simple scripts to interface with the Etsy API and retrieve data in Jekyll-friendly formats.

  • Yes, it's open source. Here's the link [1].

    I'm sure there's some sort of rule against posting code this bad on HN, bit worried it'll get my hacker status revoked :). Was a total Ruby n00b when I wrote this (still am) - haven't even worked out how to handle offsets in the Etsy API.

    Anyway, it does a good job of creating Jekyll collection items from Etsy listings – here's the site I'm building with it, though it's still a work-in-progress [2].

    [1] https://github.com/MattKevan/Etsy-API-to-Jekyll

    [2] https://dev.thedoveandtheseagull.com

  • pdftilecut

    pdftilecut lets you sub-divide a PDF page(s) into smaller pages so you can print them on small form printers.

  • destyle.css

    Opinionated reset stylesheet that provides a clean slate for styling your html.

  • I wrote my own CSS reset stylesheet because I was tired of copying over the same additions to normalize.css on every new project and wanted to install it directly from npm.

    https://github.com/nicolas-cusan/destyle.css

  • css-named-colours-picker

    Interactive tool for exploring and selecting CSS named/extended colours. Implemented as a filterable (multi-column) sortable table widget. Useful for choosing colours for web development.

  • LuaTextProcessor

    Simple preprocessor that can transform text files with lua functions

  • pico8-deploy

    An easy way to export and deploy PICO-8 projects to itch.io

  • - a Makefile to export and upload pico8 games to itch.io: https://github.com/tducasse/pico8-deploy

  • js-db

    A very tiny js in-memory database, using native JavaScript objects

  • - a tiny in memory database in JavaScript, that I used as a way to keep a global state server side in a multiplayer game https://github.com/tducasse/js-db

  • Espial

    Espial is an open-source, web-based bookmarking server.

  • ProcessAffinityControlTool

    PACT is a library and a tool that allows you to section off different processes in to different cores/threads on your CPU automagically.

  • listtosql

    VS Code extension making it easy to take a list of values and create a SQL list from it.

  • moviematch

    find movie on yts from IMDB's watchlist (by navyad)

  • Small application to get listing of torrents from IMDB's watch list: https://github.com/navyad/moviematch

  • swuniq

    A command-line tool for deduplicating entries in a file or stream with constant memory usage

  • https://github.com/mterron/swuniq

    Like uniq but works on unsorted input to be used as a pipe filter with constant memory usage.

    Feels like this should exist before I made it but all the options that I could find had unbounded memory requirements. I use it in long running pipelines all the time.

  • sigla

    Discontinued Technology agnostic code generator written in python

  • dockly

    Immersive terminal interface for managing docker containers and services

  • 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

  • Argc: Easily create feature-rich CLIs in bash

    1 project | news.ycombinator.com | 4 Mar 2024
  • Show HN: A CLI tool that enables you to remove files easily and safely

    8 projects | news.ycombinator.com | 20 Feb 2024
  • How To Change Your Zoom Background With Code

    2 projects | dev.to | 9 Jan 2024
  • Saving Linux Desktop. Unifying repositories is the only way

    2 projects | /r/linux | 7 Dec 2023
  • inshellisense: IDE style command line auto complete

    1 project | /r/linux | 10 Nov 2023