But a few years have past and want to see what's emerged since. Although can be new to you vs. released in 2021 or 2022 necessarily.
Things I've come across in the meantime:
* mock AWS services https://github.com/spulec/moto
* query cloud services https://github.com/turbot/steampipe
* munge CSV https://github.com/johnkerl/miller https://github.com/BurntSushi/xsv
* page json https://github.com/PaulJuliusMartinez/jless
* text to tree structure [I use this as a hack to version control my music library] https://github.com/birchb1024/frangipanni
Easily has saved me hundreds of hours so far, being able to view function prototypes quickly, pull up documentation as an overlay on the code, jumping to the next error, and even down to getting simple things like enumerated 'case' labels inside of a switch statement.
jq, perl, grep, gnu textutils, gnu parallel, bash, xargs, gkrellm, nload.
Make deserves a special shout out. If you think it's only useful for building software, you've completely missed the point (similarly, if you think some language-specific tool is superior, you're doing things completely wrong):
Anyway, this document saved me at least 10,000 hours:
https://www.gnu.org/software/make/manual/html_node/index.htm...
Other peoples' python has the distinction of being the only software in my -1000 hours saved category. (And if you consider maintaining code written in the above "write only" languages, you'll realize how big of a feat that is!)
Obligatory Spolsky intro to Excel: https://www.youtube.com/watch?v=0nbkaYsR94c
DBeaver: use a consistent interface for practically any data store. Wanna SELECT and JOIN CSVs? It can do that too.
https://www.mail-tester.com/ - Fantastic email server settings troubleshooter.
Excel / Calc / Gnumeric: I don't even know macros, just the functions, sorting, filtering, and pivot tables enable good productivity. And sometimes fun, I chose my current video card, and optimized my Factorio gameplay with Calc.
BASH, jq, sed, grep, tr, cut, Geany, regexes: it's fantastic to be able to work with text. Log parsing and other text tasks turn into a puzzle game, where I win fast, and it's usually faster than to use anything else, especially for one-offs.
Although be warned, it can also have the "side-effect" (functional programming pun!) of making you somewhat insufferable as you try to convince everyone around you that functional programming is amazing.
I haven't touched the Windows Search utility since I found it.
As a manager & parent with only occasional bursts of time to code (some work, mostly side/fun stuff), Copilot has turned out to be incredibly useful in smoothing over all of the small things I'm slow at because I don't do them daily. And especially since I have limited time, I just want to get the damn thing working and am quite happy to
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.
It has easily saved me over 100 hours by preventing me from continuously scrolling through youtube recommendations.
https://chrome.google.com/webstore/detail/replace-youtubes-h...
Keeping an eye out for software that you barely use, as this is the kind with the most potential to truly save me time.
Fluent search Spotlight on steroids, for windows. Apart from being a search/launcher, it has a bunch of atrociously good features. It lets you use a custom search indexing backend, which brings me to...
Everything A search indexer backend for windows. Really great search.
---
[1]: https://scribe.rip/@einarum/speed-up-ansible-with-mitogen-b3...
[2]: https://mitogen.networkgenomics.com/ansible_detailed.html
ChatGPT - I use this as a private tutor (it's great for biomedical stuff) to check my understanding and ask it to correct me if I'm wrong.
This year I added Miller [0] to my list; a tool to process tabular data, similar to sed, awk, etc. It handles csv, tav, json lines, etc. in a consistent way. I like the delimited key-value pairs format, which allows me to write simple oneliners in bash to collect some data (e.g. "ip=x.x.x.x,endpoint=/api/x") and use Miller to crunch the results. Not sure it saved me 100h, but it was one of the biggest time savers this year!
https://wiki.nikiv.dev/macOS/apps/karabiner
On order of 100 hours, this year I'd say it's Sublime Merge, VSCode, Height (to manage projects) and Telegram.
Things like Ctrl-D to highlight multiple instances of a word, plus the ability to put on Caps checking in the search bar first so you're only highlighting correctly capitalized versions. Make the same change in multiple locations. Saves so much time.
Knowing how to highlight a letter, a word, a line at a time.
Ctrl-shift-down to make your cursor span multiple lines at the same point, and have copy/paste respect the copied text from the respective lines.
So many things add up to hours upon hours of time saved, and frustration avoided.
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.
It's a PDF viewer that automatically finds and previews references in documents, even when the PDF doesn't have links. Makes reading some math books a very enjoyable experience instead of a chore.
https://ditto-cp.sourceforge.io/
AutoHotKey
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
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.
[1] https://raw.githubusercontent.com/rasteric/z3s5-lisp/main/do...
Being able to edit text by piping it through shell commands and back into the buffer is pretty darn useful. In this case, it's not vi alone that provides the benefit, but whatever.
Macros and registers can be super handy when you have to do the same thing over and over in a big file. Sure, I could write a script, but sometimes it's just easier to do it by hand once and repeat the macro thousands of times.
Once you are able to commit certain operations to muscle memory, you can really whip around. For instance 'vapgq' selects around the current paragraph and formats it.
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/spantaleev/matrix-docker-ansible-deploy
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.
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.
For this reason, I don't have any default AWS credentials configured: I always specify an AWS_PROFILE manually when it's needed ;)
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.
This one tool has saved me hundreds of hours back in my support days (both at previous sidejobs and family members' houses) in downloading, installing, and _updating_ basic applications. I could leave the tiny Ninite executable on their desktop with the instruction to just run it once a month and it would keep all their stuff up to date.
[1] https://ninite.com/ Install or Update Multiple Apps at Once
at least that's what i tell myself.
[1] https://chrome.google.com/webstore/detail/instant-data-scrap...
My own app, not even at the Alpha stage, has already saved me and my team 100s of hours of parsing JSON results in Postman.
1. open source
2. hundreds of pre-built taps and targets (for apis and databases)
3. supports incremental and full refresh
4. don't need to write any SQL and it creates and loads tables for you
Stitch, Meltano, and (sort of) Airbyte also use it
https://www.youtube.com/watch?v=jvPPXbo87ds
into embedded video urls like this
https://www.youtube.com/embed/jvPPXbo87ds?autoplay=1
bypassing ads and running video in full browser window.
Since I watch a lot of youtube I think it might have saved me 100 hours of waiting so I can press Skip Ad button.
I probably should just use AdBlock but where's the fun in that.
I used to program in Vim/Neovim. Using a full-blown IDE is a real productivity boost when programming in for example Rust, which is what I write the most, and use CLion for the most.
CLion has Vim emulation also. So I still have normal mode, insert mode, and most other main features of Vim that I know and love :)
It allows me to quickly evaluate server interactions in my software, without having to program in all kinds of logging.
Time savings screenshot: https://imgur.com/a/KjFhWRH (Disclosure: I liked the product so much that my fund ended up investing.)
Website: http://blaze.today/
Chrome extension: https://chrome.google.com/webstore/detail/text-blaze/idgadac...
Slickrun, floating command line for Windows https://bayden.com/slickrun/
Autohotkey - shortcuts, text expander and scripting for everything https://www.autohotkey.com/
Total Commander, still the best file manager on Windows https://www.ghisler.com/
CyberChef - The "Cyber Swiss Army Knife" - single file web app for all kinds of conversions, encryption, encoding, compression and data analysis https://gchq.github.io/CyberChef/
Adminer - lighweigt database manager https://www.adminer.org/
Hammerspoon for window management is also amazing, though I recently switched to Phoenix because it can be configured in TypeScript. It allows me to have hotkeys to swap to specific apps or toggle between groups of apps.
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 2 - https://steampipe.io/docs/develop/overview 3 - https://hub.steampipe.io/
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.
Does anyone know of a similar library for GCP? Searched and not been able to find anything and I miss it dearly
also alias to create jupyter kernel for activated environment:
mkkernel() {
if [ -n "$1" ]; then
KERNEL_NAME=$1
elif [ -z "$VIRTUAL_ENV" ]; then
echo "Pass either kernel name as argument or activate virtualenv"
return 1
else [ -z "$1" ]
KERNEL_NAME="$(basename $VIRTUAL_ENV)"
echo "No kernel name provided, using name from virtualenv $KERNEL_NAME"
fi
pip install ipykernel
python -m ipykernel install --user --name=$KERNEL_NAME
}
I'm a product designer. I spend a significant amount of time taking screenshots—dropping them in Figma, slacking them to PMs and annotating them for engineers. The tool keeps screenshots suspended on your desktop until you decide what to do with them—save, annotate or copy it to clipboard. It doesn't save the screenshots if you don't want it to, so it prevents a ton of clutter.
Not to mention it has video recording that I frequently use to create video walkthroughs for features I'm working on.
The tool is a pretty expensive Mac App, but worth every penny.
Also the commonality of fast networks really hit me this year. I was using free wifi at a small coffee shop in Tokyo and was transferring files to my apartment in Los Angeles at ~20MB/s. That's faster than my local LAN was 15 years ago over 5,000 miles of ocean, so cheap that they give it out for free if you buy a coffee. Absurd
Aeon Timeline
ObservableHQ - particularly the discovery that I can use most of it locally and privately for free. I've tried with quarto so far, but I think there are other ways too.
What I want is a way to instantly switch between dag and tree data structures: graph for visual editing, tree for easy data entry. So something that would analyze/cluster intelligently to minimize links when converting to tree, for when children have multiple parents.
I'm using it for format conversion, data processing, querying external data, as a calculator, etc...
clickhouse-local --input-format Parquet --output-format JSONEachRow --query "SELECT * FROM table" < data.parquet > data.jsonl
cat books.ndjson | clickhouse-local --query "SELECT author, avg(rating) FROM table GROUP BY author"
clickhouse-local --query "SELECT * FROM url('https://datasets.clickhouse.com/hackernews.native.zst') LIMIT 10"
$ clickhouse-local
ClickHouse local version 22.13.1.1.
milovidov-desktop :) SELECT extractTextFromHTML(*) FROM url('https://news.ycombinator.com/', RawBLOB)
[1]: https://clickhouse.com/docs/en/operations/utilities/clickhou...
I've used it so much that it is second nature at this point, and moving to any other editor without my ever growing set of macros, etc would significantly impact my productivity.
* array-like proxy-based ORM: https://www.npmjs.com/package/better-sqlite3-proxy the schema and typescript definition can be generated from erd text in above format
* a composible and typescript-friendly json parser for data validation: https://www.npmjs.com/package/cast.ts
I'm not sure if they save 100 hours but they're definitely timer savers for me as an educator that need to create lots of web projects frequently.
Same with Terraform. The provider ecosystem is so extended that you can just grab them and make infrastructure rapidly, instead of using some cloud-specific language and syntax
BASH Alfred Applescript NodeJS bbedit
in a zillion combinations to make things fast and easy. I have a bad memory so I have tons of BASH aliases and .bashrc terminal reminder files. I use Alfred, for example, to record 'time clientA 1 do an hour of work' in a tenth of a second. I use Alfred and AppleScript to shuffle windows around as I focus attention or finish things. bbedit's find/replace/regex stuff is better than anything I have ever seen. I use it to munge files in crazy ways. I have a set of files that act as a NodeJS ad hoc workspace. (Need to change the GUID on the records in a tsv file? Not a problem.)
And when I do something that has ongoing value, Alfred and/or bbedit give me a way to add them to the toolkit.
With a swipe of four fingers, I can turn a set of windows into a tiled configuration by "shoving" them where I need to go.
When I press Caps Lock, which I've rebound in Karabiner to F16 and then bound F16+various modifiers to Activate/Hide Application in BTT, I can switch between IntelliJ, Chrome, Figma, Slack, Notion, so fast that I feel like I have 3x as many monitors as I do - which, whether paired with actual monitors or on the road, is absolutely game-changing.
Knowing that I can context-switch immediately and get everything I need on screen, just so, lets me wear a lot more hats than I otherwise could have. There's an argument that I'm able to deliver results at a level as if I had 100 more hours every month!
ChatGPT at it's worst saves me an hour a day.
Call it carvkings law.
Block websites so you can focus on work. Different blocklists and different sessions makes it easy for me to stay focused during the week. Best investment in myself I ever made.
Git / SVN / CVS - never having to worry about if I can undo my way back to the last combination of files that worked its a superpower that we mostly take for granted, but I was over 20 when I learned it.
JUnit - again, being able to experiment fearlessly.
The are valid criticisms of Coplilot around copyright but I'm not using it to generate whole algorithms. It just knows your code and what you are trying to do.
It’s a small ORM with nice features and it saved me a ton of time. Just generate the classes from the database. Very fast to iterate from.
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 [2]: https://github.com/TermiT/Flycut
Automatic UV unwrapping.
Tmux + tmux continuum is another utility that saves many hours. I use it only on remote machines though.
Ffmpeg cli for fast lossless cutting of video. (Apparently there is nice gui for that, never tried though)
The idea of having all news (Youtube, Twitter, blogs etc.) centralized in one app saved me a bunch of seconds every day looking for new content.
If you create your own clis in the format
appname mainoperation flags args/files
writing bash_completion scripts is easier.I believe git, yum, apt clis are popular for this reason.
I can't imagine the amount of time wasted if bash_completion didn't exist. I would have probably wasted 10000 hours writing guis.
Beyond Compare, to compare differing versions of large codebases, which - for reasons I won’t go into, are just stored in filesystems, rather than accessed via some version control platform like git.
Sublime Text, because multicursor, and fast searching of large codebases, the ability to edit everything, the plugin api, and just blazing performance on massive codebases.
This is the SaaS I'm most excited about this year.
It has saved me hundreds of hours of debugging since I first started using it in 1990. The very first day it found a ‘write past end of array’ in some code written by a Pascal programmer which was doing a[sizeof(a)] = ‘\0’; that would have stymied us for days.
As for a large code base I found ripgrep + rg.el (the interface in Emacs) to be pure gold!
Docker, but these days I take it as granted.
So I wrote a script in CUE to programmatically build my REDCap data dictionary to support flexible inputs.
It is an automated test runner for JS / TS code with a great integration with ides. It has made writing tests and refactoring so much more productive.
Bash “wait” command to do multiple things in parallel without extra _stuff_. Eg
(
dothing.sh &
slow_stuff.sh &
more.sh &
wait
)
This is a updated win32 version of XTreeGold if anyone ever used that back in the day. Allows many file system operations (view, copy, sort, tag) based on keyboard shortcuts in a text-console view.
It’s really a time saver as a launcher, running little scripts, asking input and doing whatever after works, calling native DLL Windows functions…. It’s a big helper of your own workflows
QMK (keyboard's firmware, helps me do things an order of magnitude faster)
Helps avoid password resets and makes logins in apps much easier.
* All time King keeps on giving: MS Excel
* MS Visio… last good Sequence Diagrams etc
* Adobe Illustrator… keep visual scrapboards
* Perl one liners with cygwin getclip/putclip
* DBeaver SQL gui
* StreamDeck with Autohotkey custom actions
* SimpleNote - your notes everywhere when you need them for creation, reference and search
You invoke 'vimv' in a directory and the resulting editor is a directory list for your pwd ... and you can edit it as a text document.
When you save and exit, all of your file (re)naming is committed to the directory.
I set it up for making screenshots, building, sending to slack & submitting an app to App and Play Store. Saves time by minimising boring work, double win.
My new job is a matter of surviving a TON of information sent by a ton of different people each day. And Obsidian has been the tool to organize that information deluge.
It could be an image, some app or website that has disabled text selection, a pdf, image based email signature etc. I made this for myself, copying text out of everything, it turns out a few other people also like it...
Hacker news is software that definitely took at least that for me!
If you know Perl you get instant access to many many powers which you otherwise have to use 10s to 100s of tools to get it done.
I don't know of a better, easier, and faster productivity tool.
Feels like doing parkour on the command line!
we're saving our customers (and ourselves) hundreds if not thousands of hours by not having to write and maintain glue code for their dev tools
Made me more efficient, must have net saved me 100 hours.
Also WireGuard. Who has the mental stability to setup OpenVPN or similar these days, even with things like Openswan? Yuck.
- silversearcher ag
- total commander
- Obsidian
- chrome extension: "I don't care about cookies" will remove all the annoying gdpr cookie popups.
- espanso : highly customizable text expander (eg type :myip to replace it with your current ip using your fav scripting language)
- sqlyog : sql client with awesome power features I never seen before: eg schema and data comparision between 2 db sources.
- manictime: a time tracking software which also takes screenshots. You can then go back and see what you did and how long.
Here's a specific example of how ChatGPT has saved me time: I asked it to make some text I wrote shorter and more likely to succeed, and it suggested eliminating the entire second half of it as it takes away from my point and isn't likely to achieve the result I want. That actually ended up saving me the work associated with the entire second half of my proposal.
Others have had it make recipes and meal plans, by just listing what they had at home and asking it to list recipes using those ingredients. It is superhuman in many of its abilities.
I would write a caveat but don't feel like it. I'll just ask ChatGPT: "I consider you almost superhuman but in no more than 15 words summarize the caveats or ways in which it would be wrong to consider you superhuman. Be extremely brief and specific, get right to the point."
it's answer: "I am a machine learning model and not a human."
So, there's your caveat. It's a machine learning model and not a human.
---
*
[Prompt: What pieces of software that most users don't use is most likely to save me 100 hours - keep your answer brief and specific.]
It's difficult to determine what specific software may save you 100 hours without knowing more about your specific needs and workflows. However, here are a few suggestions for software that may be helpful in increasing efficiency and saving time:
Task management and productivity software: Tools like Trello, Asana, and Todoist can help you organize and prioritize your tasks, set deadlines, and track progress. These tools can help you stay on top of your work and reduce the time you spend on tasks that don't align with your goals.
Text expansion and automation software: Applications like TextExpander and Alfred allow you to create custom abbreviations that expand into longer phrases or blocks of text. This can save you a significant amount of time if you frequently type out the same phrases or long emails.
Text and code editors: Advanced text and code editors like Sublime Text, Atom, or Visual Studio Code can save you time by providing features such as syntax highlighting, code completion, and project management. These tools can help you write and edit code more efficiently and make it easier to navigate large codebases.
File management software: Applications like Hazel and Dropbox can help you automate file management tasks, such as organizing and renaming files, and keeping your files synced and backed up. This can save you time and reduce the risk of data loss.
It's important to keep in mind that the software that will be most helpful in saving you time will depend on your specific needs and workflows. It may be helpful to spend some time identifying the tasks that take up the most time in your work and looking for tools that can help you streamline those processes.