Ask HN: Programs that saved you 100 hours? (2022 edition)

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • AutoHotkey

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

    Ditto Clipboard Manager for Windows. Yes, I know W10/11 have it native now, but it's not as good as Ditto.

    https://ditto-cp.sourceforge.io/

    AutoHotKey

    https://www.autohotkey.com/

    And if deleting TikTok from my phone were an app, it would be nominated, because that saved me hundreds of hours I'm sure :D

  • steampipe

    Zero-ETL, infinite possibilities. Live query APIs, code & more with SQL. No DB required.

    Excited to see Steampipe shared here - thanks zJayv! I'm a lead on the project, so sharing some quick info below and happy to answer any questions.

    Steampipe [1] is open source and uses Postgres foreign data wrappers under the hood [2]. We have 90+ plugins to SQL query AWS, GitHub, Slack, Kubernetes, etc [3]. Mods (written in HCL) provide dashboards as code and automated security & compliance benchmarks [3]. We'd love your help & feedback!

    1 - https://steampipe.io

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • xsv

    A fast CSV command line toolkit written in Rust.

  • fzf

    :cherry_blossom: A command-line fuzzy finder

    Add fzf to get fuzzy search for your history. I reuse long complicated commands all the time by pressing Ctrl+R and then typing the first letters of a few words I remember using.

    https://github.com/junegunn/fzf

    It's also useful to remove duplicate commands and store infinite history. Add this to ~/.bashrc:

      export HISTFILESIZE=

  • k9s

    🐶 Kubernetes CLI To Manage Your Clusters In Style!

    K9s - https://k9scli.io/ Terminal (ncurses?) Kubernetes client

    Bash “wait” command to do multiple things in parallel without extra _stuff_. Eg

    (

  • Ditto

    Ditto is an extension to the Windows Clipboard. You copy something to the Clipboard and Ditto takes what you copied and stores it in a database to retrieve at a later time.

    Ditto Clipboard Manager for Windows. Yes, I know W10/11 have it native now, but it's not as good as Ditto.

    https://ditto-cp.sourceforge.io/

    AutoHotKey

    https://www.autohotkey.com/

    And if deleting TikTok from my phone were an app, it would be nominated, because that saved me hundreds of hours I'm sure :D

  • zsv

    zsv+lib: world's fastest (simd) CSV parser, bare metal or wasm, with an extensible CLI for SQL querying, format conversion and more

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

  • miller

    Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

  • jless

    jless is a command-line JSON viewer designed for reading, exploring, and searching through JSON data.

  • frangipanni

    Program to convert lines of text into a tree structure.

  • Home Assistant

    :house_with_garden: Open source home automation that puts local control and privacy first.

    Home Assistant [0] through bunch of automations we have around our home must’ve saved 100h in total for me and my partner so far.

    [0] - https://www.home-assistant.io/

  • redwood

    The App Framework for Startups

    RedwoodJS https://github.com/redwoodjs/redwood

    I launched my startup from 0 to first customer in 3 months thanks to this guy. Most of my time saved was because of a solid collection of libraries, brilliantly integrated together (backend to frontend), and I didn't have to suffer analysis paralysis every time I needed something.

  • Mosh

    Mobile Shell

    The Mosh SSH client for intermittent connectivity ( https://mosh.org/ ) has definitely saved me at least 100 hours. Too bad that it's only available for Windows as a Chrome extension, and Chrome will discontinue support for it starting in the new year. Really not looking forward to having to search for an alternative...

  • matrix-docker-ansible-deploy

    🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker

    Matrix Docker Ansible Deploy [1] allows me to unify all chat networks that I use under one single server (and, therefore, one single client), avoiding switching windows. I do believe it saved me hundred of hours...

    [1] https://github.com/spantaleev/matrix-docker-ansible-deploy

  • mpvacious

    Adds mpv keybindings to create Anki cards from movies and TV shows.

    mpv, mpvacious [1], and anki

    I've been learning spanish, and since hitting the intermediate stage outside of talking I mainly watch spanish shows or dubbed shows (Star trek TNG). I can create flash cards of difficult to understand phrases, or new words in seconds.

    I usually still edit them slightly depending on my purpose for the flashcard, but having > 2000 cards right now, I can't imagine what doing this by hand, or manual review would have cost me.

    [1] https://github.com/Ajatt-Tools/mpvacious

  • Propel

    Propel2 is an open-source high-performance Object-Relational Mapping (ORM) for modern PHP

    Just generate the classes from the database. Very fast to iterate from.

    https://propelorm.org/

  • kanata

    Improve keyboard comfort and usability with advanced customization

    kanata[1] and komokana[2].

    kanata is basically like QMK for any keyboard without the firmware requirement. I use kanata with my trusty old iMac keyboard which is to this day my favourite keyboard of all time. But now I have all the cool QMK-style layers with it.

    So that is awesome on its own, but where it gets even better for me, and this is where the seconds have really added up to hours, is that I wrote another piece of software which programmatically changes layers on kanata whenever a different window is focused in my tiling window manager.

    This has honestly changed -everything- for me. I no longer have to waste keys on my keyboard to switch layers, I no longer have to -think- about switching layers, I just focus another window with alt+hjkl and whatever keyboard layer I expect for any given application is automatically applied. Definitely one of those "you can never go back" experiences for me.

    [1]: https://github.com/jtroo/kanata

    [2]: https://github.com/LGUG2Z/komokana

  • komokana

    Automatic application-aware keyboard layer switching for Windows

    kanata[1] and komokana[2].

    kanata is basically like QMK for any keyboard without the firmware requirement. I use kanata with my trusty old iMac keyboard which is to this day my favourite keyboard of all time. But now I have all the cool QMK-style layers with it.

    So that is awesome on its own, but where it gets even better for me, and this is where the seconds have really added up to hours, is that I wrote another piece of software which programmatically changes layers on kanata whenever a different window is focused in my tiling window manager.

    This has honestly changed -everything- for me. I no longer have to waste keys on my keyboard to switch layers, I no longer have to -think- about switching layers, I just focus another window with alt+hjkl and whatever keyboard layer I expect for any given application is automatically applied. Definitely one of those "you can never go back" experiences for me.

    [1]: https://github.com/jtroo/kanata

    [2]: https://github.com/LGUG2Z/komokana

  • fastlane

    🚀 The easiest way to automate building and releasing your iOS and Android apps

    Mobile app build/deployToAppStore automation: https://github.com/fastlane/fastlane

  • z

    Pure-fish z directory jumping (by jethrokuan)

    Fish + Starship (https://starship.rs/) + z (https://github.com/jethrokuan/z). For me it is a really nice configuration, fast do do stuff & visually pleasant (it influences my comfort & motivation).

  • starship

    ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

    Fish + Starship (https://starship.rs/) + z (https://github.com/jethrokuan/z). For me it is a really nice configuration, fast do do stuff & visually pleasant (it influences my comfort & motivation).

  • mcfly

    Fly through your shell history. Great Scott!

    McFly[1] is a terminal history search replacement that is more context aware. The only downside is I am probably not memorizing the commands I use as much as I should.

    Flycut[2] has certainly saved me a lot of time and changed the way I write code. Have a good clipboard history has really changed my flow.

    [1]: https://github.com/cantino/mcfly

  • Flycut

    Clean and simple clipboard manager for developers

  • espanso

    Cross-platform Text Expander written in Rust

    Espanso [0] - such a useful text expander with easy inclusion of shell commands and many other features. I love this thing so much as someone in the medical field that I made my first ever open source contribution to it.

    0: https://espanso.org

  • miniforge

    A conda-forge distribution.

    miniforge, no need to deal with conda environments anymore. https://github.com/conda-forge/miniforge

  • dune

    A composable build system for OCaml.

    Dune (https://dune.build/) is the preeminent build tool for OCaml development. I don't love its input syntax (s-expressions), and I sometimes miss the ability to write high-level functions to reduce boilerplate (especially for unit tests), but it always gets the dependencies right, and it's fast. This is in stark contrast to some of my experiences with various other build systems, and I am super happy that the default option for OCaml build systems is so good.

  • gron

    Make JSON greppable!

    gron https://github.com/tomnomnom/gron

    It takes JSON input and produces flat, key-value output based on the path to the value. Usage with grep was obviously the original intention, but I've used it to help me better understand a given JSON's structure, too, which I then usually reflect back into a program that's consuming that JSON.

    It also supports "ungron" too, so, for example, `gron some.json | grep -v "thing I don't want" | gron -u > filtered.json" makes for quick filtering of a JSON. I find it more user friendly than jq's language.

  • git-time-metric

    Simple, seamless, lightweight time tracking for Git

  • Adminer

    Database management in a single PHP file

  • CyberChef

    The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis

  • scroll

    Tools for thought. An extensible alternative to Markdown.

    GoAccess: https://goaccess.io/. I don't miss Google Analytics at all.

    Loom. It's not open source I don't think but I'm digging it and excited when a public domain competitor comes out.

    Our https://scroll.pub/. It's far beyond markdown at this point. I am able to not only write better but also maintain thousands of pages of content by hand (well, most of the credit for that belongs to Apple M1s, Sublime Text, git, MacOS, and Github). The stuff we are doing with it now would just not be possible with anything else, and what we're coming out with next year is super exciting. It's all public domain.

  • GoAccess

    GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.

    GoAccess: https://goaccess.io/. I don't miss Google Analytics at all.

    Loom. It's not open source I don't think but I'm digging it and excited when a public domain competitor comes out.

    Our https://scroll.pub/. It's far beyond markdown at this point. I am able to not only write better but also maintain thousands of pages of content by hand (well, most of the credit for that belongs to Apple M1s, Sublime Text, git, MacOS, and Github). The stuff we are doing with it now would just not be possible with anything else, and what we're coming out with next year is super exciting. It's all public domain.

  • mm-autohotkey

    Discontinued Forms framework for Autohotkey

    Use official forum, it has tone of good examples.

    Here is something I did long time ago: https://github.com/majkinetor/mm-autohotkey

  • tridactyl

    A Vim-like interface for Firefox, inspired by Vimperator/Pentadactyl.

    There's also Tridactyl, which is a similar project, but more customizable. https://github.com/tridactyl/tridactyl

  • dsq

    Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.

  • fish-shell

    The user-friendly command line shell.

    The fish shell (https://fishshell.com/) and its fantastic auto-completion. It now replaces bash as the default shell on all my machine and is the first program I install when connecting to a fresh cloud instance.

  • dotrc

    My dotrc files have become pretty awesome over time.

    I've been using vim since perhaps 2004.

    Switched to IntelliJ in 2018 when writing Scala. IdeaVim is fine, it even lets me switch to normal mode with jk/kj [0]. What more could I want?

    I've been using IntelliJ for Scala, Elm, and Python, and still use (neo)vim for editing other languages and random files. I'm prepared to jump ship to vim+LSP on short notice.

    [0]: https://github.com/tasuki/dotrc/blob/master/.ideavimrc#L5

  • Surfingkeys

    Map your keys for web surfing, expand your browser with javascript and keyboard.

  • just

    🤖 Just a command runner

    Throwing my hat in the ring for Justfile. It's basically a streamlined make.

    https://github.com/casey/just

    Where it really shines are in places like monorepos where you may have many inter-related setup scripts, build commands or helper utilities.

    You define all of your commands in one file (or multiple if you want a hierarchy) and can run commands from any subdirectory.

    eg. You have a monorepo with a web server, and also a react-native app in separate directories, you can call `just build-app` in the web directory, or call just `start-server` when your terminal's current directory is 7 diretories deep in the mobile directory.

    The amount of time I have saved cd'ing around has honestly been amazing. It's worth it's weight in gold, especially on large projects.

  • scc

    Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go

    Going to say my own https://github.com/boyter/scc/ which I have used to turn down projects of "Oh we just need to do X"

    It allows me to evaluate the code-base quickly and see where potential issues are, and find hidden complexity in the code. I have said no a lot due to it. The only reason it exists was because I got caught out from another project, which wasted months of my time.

    Otherwise IntelliJ and the JetBrains IDE's in general.

  • hstr

    bash and zsh shell history suggest box - easily view, navigate, search and manage your command history.

    You should try hstr: https://github.com/dvorka/hstr

    It's saved me countless hours over the years as it's just so much better than regular CTRL-R. Works with regular Bash, no need to switch shells.

  • I believe they are currently working with the Docker team on a solution:

    https://github.com/docker/dev-environments/issues/70

  • cue

    The home of the CUE language! Validate and define text-based and dynamic configuration

    CUE Lang (https://cuelang.org/) for me. I had to build this massive clinical data collection system in REDCap and it's kind of a nightmare system to use.

    So I wrote a script in CUE to programmatically build my REDCap data dictionary to support flexible inputs.

  • automa

    A browser extension for automating your browser by connecting blocks

    Automa [0] is just another no-code extension to automate browser. I used it to scrape excel files from the website of an open-end fund, which does not expose public API for its daily NAV historical data. This extension not only saved me time to manually point and click 1000s of url, but also give me a reason to procrastinate teaching myself selenium.

    [0] https://www.automa.site/

  • jc

    CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

  • FreeTube

    An Open Source YouTube app for privacy

  • vimv

    Rename a list of files using a text editor (by ivanmaeder)

    https://github.com/ivanmaeder/vimv

    100%. I use this every day, esp. when editing my music library.

  • SmartTube

    SmartTube - an advanced player for set-top boxes and tvs running Android OS

    SmartTubeNext[1]

    In installed it on my Android TV instead of the official Youtube app and it saved me literal hours:

    - it blocks ads

    - it includes SponsorBlock, so sponsored segments, intros, "plz subscribe" are skipped

    - it allows me to block Shorts

    Anytime I have to use an official Youtube app, I remember how unusable it was. I even gave Youtube premium a try at some point, but SponsorBlock is just too good to ignore.

    [1]: https://github.com/yuliskov/SmartTubeNext

  • macOCR

    Get any text on your screen into your clipboard.

    https://github.com/schappim/macOCR - Get any text on your screen into your clipboard

  • NewPipe

    A libre lightweight streaming front-end for Android.

    I'm using NewPipe [1] but it's TV support is rather poor. For example, full screen is broken and some operations are accessible only via a swipe gesture.

    If you've used NewPipe, how does it compare to SmartTubeNext?

    [1] https://newpipe.net/

  • fsearch

    A fast file search utility for Unix-like systems based on GTK3

    Recently, in a another thread, I mentioned Fsearch. The developer is slowly, but consistently adding features (see roadmap).

    https://github.com/cboxdoerfer/fsearch

  • surfingkeys-conf

    🏄 A SurfingKeys config which adds 180+ key mappings & 50+ search engines

    Surfingkeys is more customizable and has more features. You can use Surfingkeys API with javascript to add more customizations. It's good for adding custom keybindings to certain websites. Look at this config repo to see what's possible with Surfingkeys: https://github.com/b0o/surfingkeys-conf

  • gc3

    Gram's Commander 3 - a dual-pane scriptable file manager for Unix and MS-DOS(!) I wrote back in the 80's.

    Dual-pane file managers like Midnight Commander. Been using these since the days of Norton Commander on DOS; I even wrote my own for Unix/DOS in those days before Midnight Commander came out and I got lazy (https://github.com/gramster/gc3). I would live in Midnight Commander if not for the constant “the shell is already running a command” bugs.

  • warpd

    A modal keyboard-driven virtual pointer

    warpd avoided me spending a lot of time going from the keyboard to the mouse,for simple point and clicks. Honestly it is super useful.

    https://github.com/rvaiya/warpd

  • kiwis

    🥝 open a keyword in a website's internal search

    this one saved me a lot of time over the years. not a 100 hours but its definitely something i could use maybe a hundred times a day.

    https://github.com/davebrny/kiwis

    basically when you want to search something, just highlight the word(s), press a hotkey then select a site from the list and it will open up the page directly

  • AutoHotkey

    :gear: My Autohotkey productivity suite that includes shortcuts, hotstrings, hotkeys, apps/utilities, AutoCorrect (by denolfe)

    I used to be a very heavy AHK user and developer a rather extensive config. Here is my config along with a boilerplate to help you start one that is similar:

    - https://github.com/denolfe/AutoHotkey

  • AutoHotkeyBoilerplate

    An AutoHotkey boilerplate to help jumpstart a script for personal productivity

  • Uno Platform

    Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.

    I am going to go with https://github.com/unoplatform/uno (cross-platform UI for anything from Linux/Windows/Mac on desktop, iOS/Android, or Web. Kind of like Flutter, just for C# devs.

  • Clipy

    Clipboard extension app for macOS.

  • Chocolatey

    Chocolatey - the package manager for Windows

    I don't use Windows that much, have used Ninite in the past, but these days I tend to use Chocolatey along with their GUI.

    https://chocolatey.org/

    https://community.chocolatey.org/packages/ChocolateyGUI

  • SaaSHub

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

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