Ask HN: Programs that saved you 100 hours?

629 points by zJayv ↗ HN
I learned about a ton of useful CLIs, desktop apps, and SaaS products from this thread (https://news.ycombinator.com/item?id=13887237).

But it was posted 3 years ago, and perhaps some useful stuff has emerged in the interim, hence my starting this thread.

530 comments

[ 3.1 ms ] story [ 378 ms ] thread
BeyondCompare (cited in the original thread), especially the folder comparison feature. Saved my sanity when our team's shared directory stopped syncing silently on my laptop and I had to figure out which files I needed to sync manually.

WizTree (https://antibody-software.com/web/software/software/wiztree-...) is a freeware Windows utility (man, typing this took me back to 1997) that lets you quickly see which files are hogging your disk space. Think "df GUI for Windows". Especially useful to track down large application files hidden in the depths of system folders.

BeyondCompare is an absolute workhorse for me. It's kind of amazing how many unrelated tasks involve directory and file comparison.
Meld [0] (written with GTK so available on Windows, Linux, and possibly Mac but I don't know about that last one) is another tool in the first category.

WinDirStat [1] (Windows) for the second. It is also available in the super-useful PortableApps format [2], which is always nice.

[0]: https://meldmerge.org/

[1]: https://windirstat.net/

[2]: https://portableapps.com/apps

WinDirStat is extremely slow compared to WizTree, give WizTree a try :)
`ncdu` is my preferred Linux ncurses equivalent to windirstat
Second that. Cannot imagine living without Beyond Compare.
AraxisMerge (pretty -- ahem -- comparable to BeyondCompare). A good visual diff tool is a must-have; I can't imagine life without one.
WorkOS (https://workos.com/) if you need to support single sign-on (SSO) for your app.

SSO is free, and they offer other enterprise-focused features, like directory sync and audit trails.

How would that compare to keycloak?
I'm not familiar with Keycloak. I glanced at their docs briefly, and it looks like Keycloak manages your users for you?

WorkOS only handles SSO, so all of our users are still stored in our own database. This is one of the big reasons we went with WorkOS as opposed to something like Auth0 or AWS Cognito.

(mine are all not particularly new)

ShareX (windows): screenshot > optionally annotate > upload to ftp > copy url to clipboard

But I can also paste from the clipboard:

- if it's a file: upload to ftp, copy link to clipboard

- if it's text: upload to ftp, custom URL makes it load in my org-mode or markdown web-render

Multi-line Calculators with Variables and evaluating each line:

OpalCalc (Windows) | Soulver (Mac) | NaSC (Linux)

Violentmonkey (Userscripts in the browser: custom js for all kind of shenanigans. use it for rudimentary semi-automated testing and small improvements)
SikuliX: last resort for automation when AHK can't do it. Finds where to click or type visually. (e.g. good for android emulators)
java fueled pain in the ass to run though, nothing for day-to-day helper scripts
installers for windows:

- Chocolatey (package manager)

- Ninite (auto-installs 80% of the programs I and the family might need on a fresh windows install)

Org-mode: just can't go back for my profession (product management. Need to jot down fast, than sort loads and keep track of todos)
I spent roughly three months late last year working on my workflow. Figuring out what I was good at, not so good at, and what I'd forever found impossible to do without fear of punishment or shame. Slowly, I learned how I worked best and leveraged these lessons in design of the new work flow. Of course, the solution was far simpler than before. The lessons were often exactly what was exhaustively explained in books about habit and routine.

Anyway, my workflow is centered around directories and files accessed from Sublime. Every directory is major subject area or project. One directory is the Control Center - filled with documents that drive my work day and planning. Things like Work Journal, Weekly, Master, Research Depot, etc., are all referenced every day - sometimes dozens of times.

Table Editor package for Sublime to create logs, reference tables, checklists (option v = √). Also great for tracking my micro workouts - calisthenics every hour to keep the pump bumping.

Code folding works to hide "folders" of data within a text document so I can access things quickly from their header line. This is particularly handy in the Research Depot file. Exempli gratia, I have NPRs Music recommendations of 2020 folded up to one visible line with checkboxes of albums I've tried. Another folded area is on Stinging Nettle uses.

My zettlekasten system was moved to Sublime as well. It got its own directory. Added a time stamp package for naming the file from the first line with a CMD-T, and some simple markdown, each file is a zettle. I use Zettlr for exploring the notes - but Sublime for editing. Perfect mix for me.

It's not so much this all saved me 100 hours, but my productivity is up 1000%. No hyperbole. My writing, projects, chores, fitness and client labor are all up by extraordinary levels. My down time is more relaxing, work more pleasurable, and creativity is like a real psychic adventure. And, it should also be noted I've been on Sublime for maybe ten years, or so it seems.

  Sublime
    TableEditor
    Code Folder feature
    Tabbed directories - combined windows view
  Zettlr 
  Monodraw - but looking at the markdown diagramming tools...
Would you be open to sharing more about your workflow? 1000% increase in productivity is a bold statement!
Heh...maybe less bold if you could have seen how terrible my productivity was before!

But sure, I'm happy to share. It's now next up on the article hopper. To be shared here and on my blog / gopher site soon.

I'm very interested, what's the URL of your blog?
How does your zettlekasten system work?
For writing HTML & CSS, definitely the Emmet plugin: https://emmet.io/

I still find myself in situations where I need more than Markdown but less than React; as a result I just need to quickly get some HTML on a page. Emmet lets you expand a snippet similar to a CSS selector into full-fledged markup, complete with attributes.

+1 for emmet.

I love the plag in.

For writing and reading HTML, http://slim-lang.com hits the spot for me.

Elegant, clean, readable, an absolute pleasure to work with.

Compared to it HAML feels exhausting and writing/reading HTML... unacceptable.

Omnisharp for emacs: troll your friends and co-workers by writing C#/dotnet in emacs! Omnisharp enables "intellisense" or whatever it's called nowadays, in emacs, via Company mode or similar. The code completion is a huge time saver.

Also, honorable mention for magic wormhole, a finally sane way to move arbitrary files between devices.

I started writing custom yasnippet snippets (in GNU Emacs) to write kubernetes yaml files.

If you ever had to write a non trivial deployment by hand you know what I'm talking about.

Probably a given on Mac: iTerm2 Terminal Emulator https://www.iterm2.com/

Less of a given, still Mac: Rectangle Tiling Window Organiser https://rectangleapp.com/

For Linux I would use Xmonad to achieve the same as the two programs above.

I have been using Spectacle (https://www.spectacleapp.com/) for years wishing it had mouse driven window snapping. I even once tried to implement it myself but gave up. I just tried Rectangle by your suggestion and it is absolutely amazing. Thank you.
I have been looking for a Windows alike snapping tool for Mac. Just tried Rectangle and it works just fine, thank you!
Check out yabai for a great macOS tiling manager.
Been using spectacle for years but since it's no longer maintained I had to moved to rectangle. Very similar, love it
Plugging my own tool, but I wrote a Chrome extension that checks websites for SEO, speed, and security best practices (it's a crawler so it can check 100s of pages in a few minutes):

https://www.checkbot.io/

It saved me a lot of time and caught tons of mistakes before they got to production while working on multiple websites as a contractor

For example, I was assisting a team on one sprawling dynamic website with a lot of SEO and performance issues - the site had been hacked together over the years such that editing one page would usually break groups of unrelated pages in unexpected ways. My extension helped me get on top of which pages were dependent on each other, to prioritise what was worth fixing, and to confirm improvements had been made without breaking anything.

Here's a couple (albeit macOS focused) favorites of mine:

- Deliveries: macOS / iOS package tracking https://itunes.apple.com/us/app/deliveries-a-package-tracker...

- Screenotate: OCR all of your screenshots with metadata like program/webpage https://screenotate.com

- The Tagger: lightweight macOS utility to tag music / fetch metadata from discogs https://deadbeatsw.com/thetagger/

- youtube-dl: Download any video / song online https://github.com/ytdl-org/youtube-dl/

It was fun thinking of these, I actually put together a blog post a while back listing my favorite software. Would love to revisit it soon: https://lukemil.es/blog/software-i-like

PS: youtube-dl is not macos-specific, there is a windows build and many linux distros like ubuntu have packages
Apart from Arch, Fedora and [insert your fast-paced distro here] I wouldn't recommend to use the package manager's version of youtube-dl, because it's almost always too old.

Quoting the bug section of the Readme[1]

> Note that Ubuntu packages do not seem to get updated anymore. Since we are not affiliated with Ubuntu, there is little we can do. Feel free to report bugs to the Ubuntu packaging people - all they have to do is update the package to a somewhat recent version. See above for a way to update.

[1]: https://github.com/ytdl-org/youtube-dl/blob/master/README.md...

I have used the package coming from Chocolatey and haven't had any issues at all

    choco install youtube-dl
And for those who don't know, youtube-dl supports many, many other sites besides YouTube, including Vimeo, TikTok, Dailymotion, Twitch, YouKu, LiveLeak, Streamable and more.

Full list: https://ytdl-org.github.io/youtube-dl/supportedsites.html

The youtube-dl crew really does a good job, when you have an issue with a supported website, just picking the last commit generally solve the problem.
I'd be careful with package tracking. While I don't know if that particular app resell your purchase data. That one is paid, so they may not need to right now, but they may change that in the future. I know many other similar (Slice, Unroll.me, etc.) products do. It's an easy, high ROI monetization strategy.
Hasura [https://hasura.io] Graphql API and Subscription for any Postgres DB

Keycloak [https://www.keycloak.org] OpenID Auth Server

nREPL + Cider [https://github.com/clojure-emacs/cider] Clojure's Network Repl and Emacs integration for live coding Clojure

Company Mode [https://company-mode.github.io] Emacs autocomplete mode

I'll second Hasura there (presumably an alternative like Postgraphile would have led to a similar result)
Fascinating to see OpenID here. Where do you use it? I thought it was pretty much dead, so implemented IndieAuth recently which does what I want, replacing OpenID’s functionality.
Keycloak is an IdP. It does everything, including OIDC (which is very widespread) and SAML. I assume when they say "OpenID", they mean OIDC.
Pretty much dead and replaced by what? (I am curoous as I thought it was a well established standard)
As stated, the poster is talking about OIDC, not the predecessor OpenID.
Ah right, thanks. I read "OpenID" but was thinking "OpenID Connect" and was surprised by the depreciation.
For what / How do you use Keycloak?
We use it as the Auth layer for our web apps. Generally inside a docker container exposed at id.someappname.com
Karabiner, Keyboard Maestro & Alfred for me. Probably more than 1000 hours at this point. Need to update my macOS repo with more tools I use now.

https://github.com/nikitavoloboev/my-mac-os

I'm surprised I had to scroll this far down to find this.

I've been using my own version of 'hyper key'[1] for years now. I map capslock to ctrl (in OSX), then ctrl-space to 'ctrl, command, option' in Karabiner, so that I have a 'namespace' of my own hotkeys, which I assign to apps in apptivate[2] to quick switch, and finally I make it so that if I tap caps without hitting another key, it actually hits escape. I use a two-button combo for hyper instead of just capslock so that capslock on its own is just ctrl, and I can use all the default readline shortcuts.

[1] https://stevelosh.com/blog/2012/10/a-modern-space-cadet/#s14... [2] http://www.apptivateapp.com/

I have been using Karabiner to use vim bindings within OS. CAPS + h/j/k/l... to move up/down... . It's easier than moving your hand to direction keys.
https://chocolatey.org/ - The Package Manager for Windows, similar to yum / apt

It has tons of software packages.

It's got a different philosophy, but I've had a nice time with scoop

https://scoop.sh/

The difference is that it (largely) stays confined within a directory without even needing elevated privileges and such for installs (which brings peace of mind for community installs). Repository is more centralized and automated too it seems.

Not perfect in a few edge cases, like other programs expecting a certain install location. Overall enormous time saver.

With this thing I scripted a great part of my Windows setup, but ultimately switched to Linux, was very interesting though.
For desktop workflows I've started a spreadsheet documenting various utilities and os defaults I've depended on across mac/win/linux: https://docs.google.com/spreadsheets/d/148zTJUwfVv9xfDcpSoH3...

Intent was to explore if I still could be as productive doing a variety of things (general administrivia, writing, design, code) outside of MacOS. So it's organized less around a specific app but rather a workflow/concept.

Ideally I'd love to see a git-backed static website around this so people could fork/collect/share their workflows across environments visually.

- Emacs (with evil mode) and org-mode. The hours gained far outweigh the hours put in (and the hours put in were fun).

- Yabai on mac for not having to think about moving windows around.

- Pomodoro (now through org-mode) for helping focus (and saving hours, in a round-about-way.)

- Removing as much advertising from my life as possible. (Ublock origin, deleting social networks when possible)

Anyone know what the best way to set up Emacs on macOS is?
(comment deleted)
I keep a clone of the main GNU Emacs git repository and build the emacs-27 branch (27 is the upcoming release) every few days on my MacBook (and the master branch on my Linux workstation).
I just use this version. https://emacsformacosx.com/ I have a one line shell script that then lets me start Emacs from the cmd line. something like

    open -A [path to applications/emacs startup] $@
This supports emacs —daemon
That is what I use.

Additionally in my .bashrc I have:

  EMACS="/Applications/Emacs.app/Contents/MacOS/Emacs"
  EMACSPOS="-g 140x66+655+23 --fullheight"
  e() { ( $EMACS $EMACSPOS "$@" & ) }
I also have it in the dock, but sometimes environment variables are not set up properly.

For this case, I create a plist file ~/.MacOSX/environment.plist and can add stuff to it like this:

    add_plist PATH "$PATH"
where:

  add_plist () {
    /usr/libexec/PlistBuddy -c 'Delete :'"$1" ~/.MacOSX/environment.plist >/dev/null
    /usr/libexec/PlistBuddy -c 'Add :'"$1"' string "'"$2"'"' ~/.MacOSX/environment.plist >/dev/null
  }
I wrote the last reply from my phone. The command is simply

/Applications/Emacs.app/Contents/MacOS/Emacs “$@“

The script goes into /usr/local/bin or wherever that’s in your path.

How is your experience with Yabai ? I just read about it but reluctant to try it . How stable is it ? Can we switch spaces with it ?
It's perfectly stable, but I didn't see it do anything that Amethyst can't do, and yabai requires you to run with SIP disabled
I run yabai just fine with SIP disabled.

You only need to disable SIP if you want features that require it like window opacity/stickyness/...

It's great. So far so good. I think I can switch spaces using skhd (by the same developer) [1] alongside it. I can definitely send windows to spaces, but still use ctrl + right/left arrow to navigate spaces. [1] https://github.com/koekeishiya/skhd
Didn't know Yabai! Thanks for sharing. Will have a look at it and probably give it a try.

I am using Amethyst [1] right now as a "tile" window manager which is easy to set up and works as intended.

[1] : https://ianyh.com/amethyst/

I've been using Spectacle [1] for 3 years now and it's been great. Note: it appears to have been discontinued in favor of Rectangle [2]

It's the first thing I landed on after switching to primarily OSX at work (I used i3 when I had a Linux dev box) so I'm not sure if it's the best among the alternatives; but I've been pretty happy with it.

[1]: https://www.spectacleapp.com/

[2]: https://rectangleapp.com/

Another great tool is Hammerspoon [1] for Mac. It has a lot of plugin and allowed me to get rid of a lot of small tools. It’s free and open source. It allows me to set key shortcut for my app, windows manager, timer “à la pomodoro”, caféine (screen does not go to sleep), etc... cannot live without it!

[1] https://www.hammerspoon.org

Any idea how to delete this social network (hacker news)? It's the last one I still use.
Set `noprocrast` in your profile to `yes`.
I had to look it up. very fun.

There are three new fields in your profile, noprocrast, maxvisit, and minaway. (You can edit your profile by clicking on your username.) Noprocrast is turned off by default. If you turn it on by setting it to "yes," you'll only be allowed to visit the site for maxvisit minutes at a time, with gaps of minaway minutes in between. The defaults are 20 and 180, which would let you view the site for 20 minutes at a time, and then not allow you back in for 3 hours. You can override noprocrast if you want, in which case your visit clock starts over at zero.

I tried to look for a way to delete my account yesterday but I did not find such a thing :<
Same, mostly, other than the fediverse. Anything with ads and targeted marketing is more the problem, imo.
Maybe not 100hrs, but ~40 Regex Buddy $40. regex tester, debugger and in a lesser extent, regex applier.
Regex 101 has probably saved 100 hours for me: https://regex101.com

(Back when I was looking for something like this, Regex Buddy always popped up in the search results but it didn't look good enough to fire up a windows VM just to use it. The auto-generated explanations based on your regex/test data from regex101 have proven to be tremendous debugging aids.)

Overcast says its Smart Speed feature has saved me 30 hours (over the last ~5 months), so I expect it to save me 100 hours within a year. It is especially useful for podcasts and language learning material with a lot of pauses, but I have become used to it, and so I now keep it enabled for most audiobooks that I load into Overcast just to get the dynamic playback speed.
How does it work? Does it really change the speed dynamically? Or it just trims the silences like pocketcasts?
Based on my observations and the details that Marco has blogged about, it seems to use a silence-detection algorithm that rapidly adjusts playback speed, so the silences are not cut out in a jarring manner, but rather played through at a typical 2.5-4x.
I'm at 173 hours! I've liked Overcast (I've been a premium customer for two years), but I find myself wishing it has better features now. It feels like it was the best a couple years ago but hasn't done much since. Smart Speed is the one thing that has kept me from switching to something else so far.
296 hours myself. I have also been pleased with Overcast until just recently. Now that I am stuck at home, I went from listening to all my podcasts from my phone to listening to most of them from my computer. Overcast's lack of desktop app and pretty poor web interface are causing me to consider switching for the first time.
I don't love its web interface. But its ability to do the smartspeed thing + sync the played status to my phone for when I move from my desk to walking the dogs has been enough to stave off the switch for me.

What are you thinking about switching to?

I haven't yet spent much time researching alternatives. One podcast I used to listen to is now a Spotify exclusive. I use that to stream music and I really like how their desktop and mobile apps work together. I was thinking of giving them a try for podcasts until I realized it didn't seem possible to import an RSS feed. That would eliminate the ability to listen to Patreon supported podcasts which is a deal breaker for me.
I use Pocket Casts specifically for the synchronization between my phone and the web interface.
I switched from Overcast to Pocketcasts. Everything I liked about Overcast plus playlists I can figure out how to use.
When software grows I notice there can be a lot of dev done on features I don't end up using. I don't use CarPlay, watch, Smart Speed, Voice Boost, or playlists.

Last year it looks it launched a sharing interface with what looks like a non-trivial backend to it. In January, a rewrite of Voice Boost and support for Air Play 2 was released. So it's pretty actively developed.

What kind of features do you think is lacking? I feel like I have very simple needs. The only time I've wanted for something is occasionally wishing to use it on my desktop and the web interface is okay-ish for those brief periods.

Maybe this will be unpopular, but I feel like speeding up podcasts is really disrespectful to the creator. It'd be incredibly rude to tell someone in real life that they're talking too slow, and in my opinion this is the same thing. Podcasts don't need to be so transactional.
> in my opinion this is the same thing

It definitely isn't the same thing. I kinda understand why you think that way, but it's pretty much completely illogical (see avoiding ever skim reading anything written by someone, or never fast forwarding any filmed media where a person is speaking).

Devon Think.

Having a local search engine with annotations is incredibly useful.

There's a name I haven't heard in a loooong time.
I’ve been looking at Devon Think but finding it a little hard to understand how best to leverage it. Would you mind sharing how you use it?
Jupyter Notebook. And before that iPython (compared to the vanilla Pyton REPL).

Though these are hardly secret tools :)

- 1Password password manager

- PDFill Free PDF Tools - indispensable for dealing with any bureaucratic tasks - cutting/rearranging pages, etc

Uber Eats
Mealprep blows uber eats out of the water. plus no chance of someone spitting in your food
And less exploitation of your fellow humans.
Spitting in your food? Huh?
There was a time when this worked great.

Now I feel like many doesn't work on Google

How so?

Sure, it’s true some of the operators come and go, but I assure you some of the most important ones still work fine and Google one a daily base asks me if I am a bot.

Happy to answer any questions if there’s something specific you’re having an issue with.

Here's an example that I don't quite understand yet.

[nhs inurl:mcusercontent.com] = 2 hits.

[covid-19 nhs inurl:mcusercontent.com] = 90 hits.

[covid-19 "nhs" inurl:mcusercontent.com] = 90 hits.

I'd expect that first one to include all the second, but it doesn't. I thought maybe the second is ignoring the NHS word, so I wrap it in double quotes to force it to be included and it returns the same results.

Google has always had variations between the [query keywords] results of the “Google indexes” AND the “literal website keyword instances/indexes”; that’s not new, unrelated to search operations aside from the fact that advanced search operators make this more easy to see.

(In fact, the article I linked to references this as a way to do quality assurance on Google’s indexing on content on your own domains.)

———

Note that the sum of the counts for the following three queries:

[“aaa” AND “bbb” site:domain.com]

[“aaa” AND -“bbb” site:domain.com]

[-“aaa” AND “bbb” site:domain.com]

...in theory should equal count of this query:

[“aaa” OR “bbb” site:domain.com]

...in practice though, they never have; by never, since Google first released their search results.

——

Further, while counts frequently are over 1000, only the first 1000 search results are viewable, and vast majority of searches only pull the first 10 results and review an even smaller percentage of those 10 results.