
Programs that have saved me 100+ hours - dshacker
http://sadacaraveo.com/programs-that-have-saved-me-more-than-100-hours-by-automating-repetitive-tasks
======
roryisok
AutoHotKey

[https://www.autohotkey.com/](https://www.autohotkey.com/)

Create scripts to automate all kinds of things, usually triggered by keyboard
/ mouse conditions.

Here are a few - these are small things, but they can incrementally save hours
and hours

\- CTRL+@ - pastes my email address at the cursor

\- ALT+MouseWheel - Page up / Page down

\- ]d - send the current date and time to the cursor

\- CAPSLOCK - sets transparency of window to 75 as long as caps is held down

\- #t - open [http://e.ggtimer.com](http://e.ggtimer.com)

It's also set up as a universal spell-correct and intellisense for SQL/ JS /
PHP etc independent of IDE

\---

ShellJump

[https://github.com/kjerk/shelljump](https://github.com/kjerk/shelljump)

Set up jump locations and shortcuts so that you can quickly move between
project folders in powershell

\---

Renamer

[http://www.oldware.org/software.php?swid=74](http://www.oldware.org/software.php?swid=74)

The original authors site isn't available anymore, not sure why because this
was a super useful utility. Its like Ant Renamer or File Renamer or any of
those, but I just prefer this one's simplicity

\---

Mp3Tag

[http://www.mp3tag.de/en/](http://www.mp3tag.de/en/)

Bulk edit Id3 tags on mp3 files (if anyone has mp3s anymore)

\---

NimbleText

[http://nimbletext.com/](http://nimbletext.com/)

Simple tool to repeatedly format text. Like foreach for plain text

~~~
jewbacca
BetterTouchTool ([https://www.boastr.net/](https://www.boastr.net/)) is kinda
like an AutoHotKey for OS X -- but on top of custom keyboard shortcuts, it
also allows you to configure custom trackpad gestures.

It's easily saved me 100+ hours -- a half-second at a time, 400 times a day.
And probably a couple cases of RSI, a couple inches of finger contortion at a
time.

The economy of motion is as far beyond keyboard shortcuts as keyboard
shortcuts are beyond hunting around with a mouse. It's crime more people don't
use it.

~~~
marmshallow
What are your favorite or most-used shortcuts?

~~~
jewbacca
This is a relatively fresh reinstall, and I've only been adding gestures as
they come up [0] -- so this should be pretty representative of my top usage
(slightly reordered for organization):

[https://i.imgur.com/qvAOmHA.png](https://i.imgur.com/qvAOmHA.png)

\----

I think I can say with a fair amount of confidence that 3 Finger Tap (open in
new tab), Pinch In/Out (close/open tab), and Rotate Left/Right (change tab)
are my most used custom gestures.

With 3 Finger Swipe Left/Right (back/forward) configurable in vanilla system
preferences, but done in BTT for consistency, and 4 Finger Swipe Up (Show
Desktop)/Down (Mission Control) with their directions reversed from the system
defaults [1].

Really, every one of the gestures on there is pretty indispensable to me
feeling comfortable using a computer. Going back to keyboard shortcuts for the
same actions (eg, when I'm using someone else's computer) feels like hunting-
and-clicking menu items with a mouse.

\----

[0] Import/Export is a thing, but I usually use a reinstall as an opportunity
to tighten things up.

[1] Because this way makes _way_ more intuitive sense to me. Swipe Up = Swipe
Away = "GTFO windows". What hell, Apple HCI engineers?

------
AdmiralAsshat
I'd have to throw most of the standard UNIX utils in there: grep, awk, cut,
sed, sort, uniq, and of course, vim.

Outside of the tech world, people seem to think that grabbing some columns out
of a file and rearranging them or pasting them somewhere else is some kind of
sorcery.

~~~
rsync
One unix based utility that has saved me _incredible amounts of time_ is
'vimv'.[1]

You run vimv and you get your pwd, in the editor, and you can edit it _like a
text file_. Then just quit and save and all of your filename changes get
committed to that directory.

It's an extremely fast way to do a bunch of random and irregular edits to a
big directory full of files.

[1] [https://github.com/ivanmaeder/vimv](https://github.com/ivanmaeder/vimv)

~~~
photon-torpedo
This sounds similar to 'vidir', which is available in Debian/Ubuntu in the
package 'moreutils'. Indeed very useful for editing large directories.

~~~
bartvk
Interesting. It's packaged for macOS, too. Install Homebrew via
[https://brew.sh/](https://brew.sh/) then type

$ brew install moreutils

------
zafiro17
I came here expecting someone to recommend 'make' \- and some others to link
to interesting make resources. I'm kind of surprised no one has.

Make is a utility that's seemed super useful to put into use for non-
programming tasks. In my case: take a LaTeX file, create a PDF from it, run
tex2html on it and ftp the results up to some web server, run pandoc on it to
create a dated epub, etc. But my initial forays into learning make were
frustrating and I gave up. Is anyone using make to automate workflow
processes, or is that wishful thinking?

~~~
kazinator
The thing about make is that it's a tool for reducing how much computation has
to take place when an _incremental rebuild_ takes place.

This is done at the cost of great obfuscation of the build process.

If you can suffer the cost of a full rebuild each time you change something,
it is far clearer to have a linear script which executes certain steps one by
one.

Such a script can be sped up for incremental builds with some judicious checks
like "run this command which makes A out of B, only if A doesn't exist or is
older than B".

(P.S. I don't want to overlook make's ability to parallelize builds on
multiple cores. That _can_ just be scripted too, with utilities like GNU
Parallel.)

~~~
flukus
Make doesn't really force an incremental build. It's also quite trivial to
have a semi-incremental build, where the build unit is libraries not object
files.

I'm yet to see a tool that doesn't become just as obfuscated for complex
builds though, you're script for instance (bash? python?), is probably just as
illegible to someone new to it.

~~~
kazinator
Make doesn't force an incremental rebuild, but that is what it is for. It lets
us write a set of rules, which are evaluated as one big whole to determine the
minimal set of actions that has to be taken to bring every implicated target
up to date. That is pretty much the definition of "incremental rebuild".

If a program is made of libraries, such that when we change a single source
file, the entire library which contains the .o has to be re-archived, and then
the entire program made up of all those libraries has to be re-linked, that is
still an "incremental build".

You might possibly be mixing up "incremental link" (optimized way to just
update a function or object file in a previously linked program image) with
"incremental build" (compiling only parts of a program in response to a small
change).

------
tombert
Man, I'm pretty convinced that Vim macros have single-handedly saved me years
of my life. They're so incredibly useful that it's made Vim one of the first
things that I install on any machine.

~~~
vdnkh
Am I missing out by not learning Vim? I know enough to get by for git purposes
(renaming all picks to s is amazing), but I feel like I'm really productive
with Webstorm. There's a ton of great shortcuts and great features (multi-
cursoring, intelligent refactoring, customizable search directories,
integrated terminal, etc.) that I feel outplay anything I could do with Vim.

~~~
Kenji
No. I used vim for half a year and then went back to notepad++ and similar for
plain editing. The bottleneck in programming is thinking anyway, and not
typing. It does not make a difference. For serious coding, I recommend a
serious IDE.

~~~
c22
For me the bottleneck is finding where I need to read something to understand
and then going back to where I need to add or change something.

~~~
douche
An IDE with half-decent code browsing capabilities, then. Like VS with
ReSharper, or IntelliJ and derivatives.

~~~
flukus
Any that don't suck at windowing? They all want to show only one, or at best
two files at a time. They're primitive compared to the windowing capabilities
of vim/emacs/tmux.

~~~
douche
No, not really... prior to 2017, that was one of my biggest gripes with Visual
Studio - opening multiple editor windows in one instance would quickly chew up
enough memory to hit the 32-bit process limit and start page thrashing. Why, I
have no idea, but that's what I've seen consistently the past few years in VS
2013 & 2015.

~~~
flukus
Does it do better now? Can you have 12 windows arranged at once? If so, please
tell me how because I spend most of my day in VS. but time and time again I
need to open shit in vim, just to get a clear overview.

~~~
douche
Far as i know, no. I was settling for having 2-3 editor windows open at once.
2015 was such a pig I avoided it. 2017 can handle it so far. I wouldn't bet on
big solutions 100k+ lines of code though.

------
roryisok
Some more I forgot about:

Chocolatey

[http://chocolatey.org](http://chocolatey.org)

Apt get for Windows, although I would argue its actually better because
there's just one central repo, so you don't have to add some long repo before
you can install Telegram

\----

Postman

[https://www.getpostman.com/](https://www.getpostman.com/)

The fastest way to test APIs - create GET and POST requests easily and view
the results any way you like.

Most of the tools I've mentioned in this and my other comment are listed on
Scott Hansleman's "Ultimate Developer and Power Users Tool List for Windows"
\-
([https://www.hanselman.com/blog/ScottHanselmans2014UltimateDe...](https://www.hanselman.com/blog/ScottHanselmans2014UltimateDeveloperAndPowerUsersToolListForWindows.aspx))
which is probably the most definitive list out there for this kind of stuff
(for windows). It's not been updated since 2014, so there are a few newer
alternatives - in particular Foxit reader is kind of a mess these days, there
are far better alternatives.

Be sure to check out the comments for lots of extra tools in the format "I
can't believe you didn't mention {x}, I can't live without it"

~~~
vram22
Thanks for your shares in this thread, Postman and Hanselman's list, which I
had seen a few years earlier, but not checked recently.

In what way is Foxit reader a mess, and what are those alternatives?

~~~
bbernoulli
I like Sumatra PDF, very lightweight.

[https://www.sumatrapdfreader.org](https://www.sumatrapdfreader.org)

~~~
krylon
One thing I like about SumatraPDF is that it saves the position within a file,
so if I open a file again, say, after a reboot, I am back at the same
position.

------
autogol
Everything - instant search in Windows
[https://www.voidtools.com/](https://www.voidtools.com/)

~~~
Aldo_MX
I can't simply recommend "Everything" enough. Imagine the accuracy of `find`
with the speed of `locate`.

My main PC has 8Tb of storage in 4 HDDs, with "Everything" I can find any file
immediately.

Too bad Windows is the platform people love to mock. I hadn't been able to
find a tool as efficient as Everything for Linux or OS X.

------
bastijn
Xplorer2 (or another TC clone) allow me to filter my folders under a shortcut.
I have a set of custom filters for my tasks that directly show the files I
need. Combine it with the other nifty power user actions in those Explorer
replacements and I easily save an couple of hours a week. The dreadful wait
when you see your colleagues having 10 explorers open finding your file to
have a quick peek. Additional bonus points for the custom user actions to fire
up different cmd shells in ConEmu under a shortcut, open the proper editor,
open in your favorite diff tool without having to select etc.

Resharper (is that a tool?). No need to explain I guess. You use Visual
studio, you get resharper. Can't live without it anymore.

The ability to write bash/powershell/your favorite script language. Everything
I do more than twice turns into a script and is added as user action in my
xplorer2 under a shortcut.

ShareX gif capture. My company has email attachment max sizes too small to
send proper mp4 longer than 1 min. The gif capture has lower quality
(sometimes Horrible) but is good enough for sharing bugs which require
investigation before they can be submitted. Instead of having to type I
capture the gif and send to our test engineers to turn into proper PR/ticket.
Saves time writing it all out and makes me actually share random issues found
during doing other stuff.

P.s. Try irvanfiew on Windows beats the bulk resize thing in OP.

------
noir_lord
Intellij with PHP and Python plugins has saved me ~200 hours in 3 years (very
conservatively assuming 15m a day 5 days a week 52 weeks a year).

I suspect in terms of lost time I _didn 't_ have to spend debugging and other
stuff it's probably 3-4 times that minimum.

------
lindgrenj6
Definitely ack ([https://beyondgrep.com/](https://beyondgrep.com/)). It
basically is grep but designed for source code. First off it can be downloaded
as a single file (Perl script FTW!), so easy to deploy. Secondly, by default
it automatically searches recursively, prints out the filename, and line
numbers of matches. It also uses PCRE for its regexes which is really nice.

But by far the most time saving feature I have is the type searching
functionality in it! For example, one can type 'ack --java System.out' and it
will search ONLY the java files! No more 'find . -name *.java -exec grep -Hni
System.out {} \;'. And you can add custom types easily through your .ackrc, it
is a very well put together piece of software.

(PS: If you're trying it, definitely try out 'ack --bar')

~~~
curuinor
If you mention ack, you gotta mention silver search (ag):

[https://github.com/ggreer/the_silver_searcher](https://github.com/ggreer/the_silver_searcher)

~~~
lloeki
If you mention the silver searcher (ag), you gotta mention the platinum
searcher (pt) :)

[https://github.com/monochromegane/the_platinum_searcher](https://github.com/monochromegane/the_platinum_searcher)

Since it's pure Go, there's your static binary which makes it easily
deployable again.

~~~
fanf2
If you mention ack, ag, and pt, you also have to mention ripgrep (rg)
[https://github.com/BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep)
which has the usability features of the newer grep-alikes but is as fast or
faster than gnu grep.

------
galfarragem
This freeware (for personal use) saved me dozens of hours renaming files:
[http://www.bulkrenameutility.co.uk/Screenshots.php](http://www.bulkrenameutility.co.uk/Screenshots.php)

~~~
jaskerr
The OS X* equivalent is A Better Finder Rename:
[http://www.publicspace.net/ABetterFinderRename/](http://www.publicspace.net/ABetterFinderRename/)

When installed, you can use the app or call it as a service.

Not sure if it's as full-featured as Bulk Rename Utility, but it's close.
[regex replace is hidden under Advanced & Special, which will tell you a bit
about their target market.]

* Available for OS X 10.[12]-11, and macOS 10.12

------
mooreds
* 'set -o vi' in bash lets me search my command history with the same keys as moving around vi

* git + sql scripts

* simplenote (notes across devices) Semi-automation of pieces of my job captured in these notes.

* zapier if I'm trying to connect two web apis.

~~~
vram22
In bash:

$_ in a command gets substituted by the last argument of the last command you
typed - happens to be useful surprisingly often. Simple example: copy a file
to some other directory, then cd or pushd to that directory:

$ cp some_file /long/path/to/directory

# cd $_

But there are many other cases where I regularly find it useful.

_ also evaluates to result of the last expression in the Python interactive
shell, and probably in IPython (command-line version) as well - need to
confirm it about IPython.

Edited for formatting of commands above.

~~~
ryandrake
Another useful bash thing: !! (which substitutes the last command you entered)

cat /really/long/path/to/something/only/readable/by/root

cat: Permission denied (goddamnit)

sudo !!

~~~
waterhouse
What if you need to run a third version of the command, or a version that
involves deletions, e.g. "less /really/long/path/to/..."?

    
    
      bash-3.2$ less /var/log/authd.log.0.gz 
      "/var/log/authd.log.0.gz" may be a binary file.  See it anyway? 
      bash-3.2$ 
    

I type: control-P control-A meta-D zcat control-E | SPACE less

    
    
      bash-3.2$ zcat /var/log/authd.log.0.gz | less
    

On the OS X terminal, you have to configure it to treat option as meta before
the meta-D above will work. I forget whether common Linux terminals require
such configuration. (Edit: zless would work just as well here, and on Linux
"less" appears to basically have the functionality of zless.)

~~~
mwpmaybe
With set -o vi:

    
    
        <ESC> k cw zcat <ESC> A <SPACE> | <SPACE> less <CR>
    

Very natural for any Vi user: go up a "line", change the first word, then
append.

------
rayalez
For me it is i3wm - an amazing window manager. After using it for a few days
you will never want to go back to using standard mac/linux wm, it is
incredibly fast and convenient.

Another one is, of course, Emacs. By far the most useful and brilliant tool in
my toolbox.

~~~
diminish
After wasting my life in IDEs like Borland , VS, Eclipse , NetBeans ( which I
still consider ok ) I broke my resistance and moved to emacs, i3wm, and
command line tools. I have become extremely productive last 5 years.

When I see such productive articles coming I can't keep but smiling and
thinking ( but you could to this or that easily using wdired or macros or...)

------
petercooper
Over the years I've found I've saved the most time less from apps I've found
but more the ability to write off-the-cuff single-use Ruby scripts. Whether
scraping, renaming, fetching, etc, it can be a huge effort saver.

~~~
bigiain
Same, except

s/Ruby/Perl/

(One of the guys I work with does this with Java - which always seems an odd
choice to me. The best sysadmin I've ever worked with did everything in bash,
which feels odd to me for opposite reasons (ever seen anyone doing SQL
database connections in shell???). But the underlying message holds: "learn
and use a programming language, it pretty much doesn't matter which one,
whatever you're most comfortable with - and then use it when the simple tools
don't work for you...")

~~~
petercooper
I was a Perl developer for 8 years before Ruby and I think it's where I got
the habit from - it's a very 'Perl thing' to do! :-)

Java does seem an odd choice. I don't disrespect Java, but for very quickly
loading in data, making changes, etc, it's going to be far from a few lines I
suspect..

~~~
peteretep
I wonder if people still voluntarily move from Perl to Ruby, other than for
financial reasons. I had to dive into Python and Ruby for my dissertation. I
didn't like Python, but I completely understood how it would be possible to.
Ruby just felt like a less predictable Perl with more immature tooling.

~~~
krylon
I haven't used Ruby in years, but I used it a lot for toy projects at home,
and I recently looked at a few of these, and I was kind of impressed - even
after years, and almost without any comments, the code was still very readable
and rather beautiful. Ruby can be very elegant and pleasant to use; I have
never used it for web applications, though.

(At work, I use Perl quite a lot, though. I recently have started trying to
use Go for problems I normally use Perl for. But the jury is still out on how
well that works.)

------
walrus01
re: entry #1, if you are at all proficient with a unix/linux/bsd command line,
learn to use the command line tools for the ImageMagick library. There are a
great many things you can accomplish with the "mogrify" CLI tool to batch
manipulate images, and integrate it into workflow/shell scripts.

~~~
btown
One of the problems with ImageMagick especially, but complex CLI interfaces in
general, is that the _discoverability_ of features is limited by the
separation between parameter-specification and documentation. No matter how
streamlined or thorough (and there's often a tradeoff between the two!) your
man page is, the documentation on a flag won't be at the same place that you
type the flag, and unless you can speed-read a list of flags, you aren't hand-
held towards the most common options. And if it's something you use in
infrequent time-crunches (as with OP), then you won't commit the flags to
muscle memory.

Of course, the tradeoff is that you can't easily script this way. If the
software gives you complicated pipelines and allows you to save them, though,
sometimes you don't need to. I'd love to see more GUIs that, instead of (or in
addition to) doing processing internally with calls to the low-level library,
allowed you to copy out a command line version of the command which you could
further customize for scripting. But it's rare to see that kind of feature.

~~~
greggman
Just fyi

[http://www.adobe.com/devnet/photoshop/scripting.html](http://www.adobe.com/devnet/photoshop/scripting.html)

And at least last time I used it you could record an action and convert to
script.

------
gshakir
Some top rated commands on 'commandlinefu.com' has saved many hours. The key
sequence to kill a hung ssh connection has been a life saver.

------
NaOH
On the Mac, I think the combination of capability and customizability makes
Keyboard Maestro well worth buying for any advanced user. Or, as the software
overview describes it, "The only limit to Keyboard Maestro is your
imagination!"

And while I have no idea how the information is calculated, the About dialog
says the software has saved me 6 months (~4,000 hours). It may well be more
than that since I've used KM for about 10 years now and that information is a
recent addition.

~~~
mthoms
Keyboard Maestro is indeed the best tool in its class, but I think the motto
should actually be:

"The only limit to Keyboard Maestro is your ability to tolerate the disastrous
user interface"

~~~
NaOH
I've worked with the developer in the past on some aspects of the app, and
he's responsive and open-minded. I wouldn't say the interface is
disastrous—more like it's not well-suited to helping the user put its
capabilities to use. Whether my assessment or yours is more accurate, the
bottom line is that the interface has ample room for improvement. My problem,
though, is that I've never conceived of a solution that's so much better it's
worth sharing with the developer because 1) users will benefit, and 2) it's an
interface that can accommodate the app's evolving capabilities through at
least a few major revisions.

------
unhammer
Apart from Emacs and Unix in general, lately I've come to depend on some
simple readline shortcuts in bash:

$ cat ~/.inputrc "\e\C-k": shell-kill-word "\e\C-a": "awk
'BEGIN{OFS=FS=\"\\\t\"; } { }'\C-b\C-b\C-b" "\e\C-w": "\C-w\C-y >
/tmp/temporary-inputrc && mv -f /tmp/temporary-inputrc \C-y" "\e\C-f": "find .
-type f -print0|while read -rd '' f; do ; done\e-b\C-b\C-b\C-b\C-b\C-b\C-b"
"\e\C-i": "\C-awhile true; do ( \C-e ); inotifywait -q -e modify -e
close_write _; done\e51\C-b " "\e[A": history-search-backward "\e[B": history-
search-forward "\ep": history-search-backward "\en": history-search-forward

So if I've typed "make -j && grep foo|sed 's,b,x,g'|./run", and then hit
ctrl+alt+i, that'll turn into

while true; do ( make -j && grep foo|sed 's,b,x,g'|./run ); inotifywait -q -e
modify -e close_write _; done

meaning whenever I save a file in that directory, the command runs again.

~~~
nathyong
Looks like some of your text got a little mutilated by the pseudo-markdown
parser; perhaps copying that into a gist or paste would be better? I'm really
curious what some of what you've copied does.

~~~
unhammer
Sorry, that was quite unreadable! My full inputrc is at
[https://gist.github.com/unhammer/130df5f3ebf61724d36f60c4bb1...](https://gist.github.com/unhammer/130df5f3ebf61724d36f60c4bb19ba97)

------
arjie
xargs is a remarkable time saver. jq for JSON parsing and selecting at the
CLI. ^X^E at the shell to edit command in $EDITOR. for loops at the shell.
until at the shell. atd for "run this in two hours".

IntelliJ for everything. Extract methods and interfaces auto-modifying to
support close duplicates. Signature changes. That sort of thing.

Rsync. Zsync allowed me to even get Linux back in the day (thank you Ubuntu).

------
baseh
When working with Excel, there is an addon (paid) called KUTOOLS that saved me
a lot of time. It has a bunch of preset operations like removing duplicates,
merging multiple sheets, bulking changing rows etc.

Another text editor worth mentioning is EMEDITOR that has tons of macros and
handles larger files much better than Sublime

------
peteretep

        > What are your 100 hour time savers?
    

`perl`

------
buserror
Mostly:

    
    
      function ff() { find ${2:-.} -name "*$1*" ; }
      function gg() { grep -n $* ; }
      function ggr() { grep -rn --exclude-dir=.git $1 ${2:-.} ; }
      function ggi() { grep -in $* ; }
      function ggri() { grep -rin --exclude-dir=.git $* ${2:-.} ; }
    

Oh, and that one:

    
    
      # display a man page as pdf window
      function pman() {
        local pdf="/tmp/pman-$RANDOM.pdf" \
            (man -t $* | ps2pdf - >$pdf && mupdf -r 96 $pdf 2>/dev/null )&
      }

~~~
vram22
Speaking of man pages, this script is tiny but useful (IMO):

m, a Unix shell utility to save cleaned-up man pages as text:

[https://jugad2.blogspot.in/2017/03/m-unix-shell-utility-
to-s...](https://jugad2.blogspot.in/2017/03/m-unix-shell-utility-to-save-
cleaned-up.html)

------
kazinator
TXR!

[http://www.nongnu.org/txr](http://www.nongnu.org/txr)

------
peapicker
Beyond Compare

[https://www.scootersoftware.com/](https://www.scootersoftware.com/)

Especially with integrated source control and remote sessions to manage source
on multiple server types and platforms. Very customizable rules for compares
and folder structure / filename case etc.

I used to use Araxis Merge, but Beyond Compare, with a tiny bit of
customization, is in my opinion a far superior tool.

------
wwarner
My current faves, far from exhaustive \- tac: for very large log files \-
emacs: remote file editing, regex replace across matching files, macros,
rectangle cut/paste, ... \- xargs -P <n>: use all the cores! for fanning work
out across a pool of <n> processes; web scraping, processing lots of files at
once \- docker: fast, precise and resusable image building

------
techwizrd
For me, it'd have to be the fish shell, fishmarks (a directory bookmarks
plugin I wrote), and vim/neovim.

------
vanous
After spending last two days researching, followed by an hour of programming,
this one can hopefully save you some time: automatize web browser tasks with
imacros [1]. I use it to feed CSV data to database.

I tested multiple other options like Custom Style Script [2] and others but
while being ok during initial tests, for some reason nothing worked on my
typo3, js based backend website.

[1] [https://addons.mozilla.org/en-US/firefox/addon/imacros-
for-f...](https://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/)
[2] [https://addons.mozilla.org/nn-NO/firefox/addon/custom-
style-...](https://addons.mozilla.org/nn-NO/firefox/addon/custom-style-
script/)

------
kilroy123
Are there other sites with these kind of automating tips and tricks? I would
love to automate more in my life.

~~~
vram22
Lifehacker runs such articles somewhat regularly, I think. I don't read that
site often, mostly when I come across such a tool published on it, that I get
to hear about on some other site. But I've found some of the posts there to be
good.

Interestingly, IIRC, Gina Trapani, who I think was/is an editor or writer
there, had herself written a utility for to-do lists called todo.txt or some
such name. It was supposed to be lightweight and only need and use text files,
so could be used almost anywhere.

------
guilhas
Windows here. * SharpKeys - swap capslock and escape. * Keepass - password
manager. * AutoHotkey - a lot of stuff, ex. Escape + scroll truns volume up or
dow, Alt + x closes windows * Wox - launcher with plugins * Everything - fast
file search by name * Tablacus - file explorer with plugins

------
speps
Greenshot - [http://getgreenshot.org/](http://getgreenshot.org/)

This is THE best screenshot tool on Windows, I've installed it on every
machine I use. It also has an editor where you add text, highlight, circle
things, etc.

~~~
peapicker
Just tried it. It has fired my old capture tool, thanks!

------
abrkn
You can store screenshots in a custom folder like this:

    
    
        # Store screenshots in ~/temp/screenshots
        mkdir -p ~/temp/screenshots
        defaults write com.apple.screencapture location ~/temp/screenshots

------
tezza
autohotkey ... task specific ad hoc scripting

* mouse moves

* keyboard input

* raising lowering windows

* one keypress -> multiple effects

create an edit -> launch -> debug tight loop ? no problem

dismiss annoying Lotus Notes dialog warning box -> no problem

enter 5000 multi tabbed entries from a CSV into a custom gui -> no problem !!

~~~
arca_vorago
If you like autohotkey or autoit, I highly suggest trying out sikuli sometime.
I have been able to do some pretty cool things with it due to the image
recognition engine.

------
gagabity
FastStone Photo Resizer is an excellent batch image resizer/watermarker for
Windows that is free
[http://faststone.org/FSResizerDetail.htm](http://faststone.org/FSResizerDetail.htm)
.No affiliation.

------
Glyptodon
Phatch on Linux can do a lot (all?) of what PhotoBulk does.

(Obv. ignoring more command line oriented tools.)

------
jotux
The macro recorder in Notepad++ has saved me tons of time processing or
parsing files.

------
lukego
Unifdef

[http://dotat.at/prog/unifdef/](http://dotat.at/prog/unifdef/)

Saved me 100+ hours _this week_ :-). Thanks, Tony Finch &co!

------
LaFolle
Apart from many unix utilities (grep, awk, vim) etc, tmux has definitely
changed the way i work. Simple idea of session -> window -> pane takes away
all the friction of switching between tabs and windows.

------
rc_bhg
Writing bash scripts and backing them up to github saves me tons of time.

~~~
chatmasta
I make a habit of writing any sequence of two or more commands as a shell
file, no matter how simple. This way if I need to reference it later I don't
need to grep through my history on every box.

~~~
yjftsjthsd-h
In the opposite vein, it can be helpful to stick something like ` #useful` or
` # description ` on the end of a command you expect to need again, so you can
easily grab from history with C-r

~~~
reddit_clone
Yep. Super useful. I figured it out only recently! I ssh into many servers
with IP addresses and weird hostnames. Now I add #server-description at the
end of the command and I can get back to it instantly.

~~~
lozf
I prefer to use a short memorable name as an alias in `~/.ssh/config`, so with
keys set up properly ànd a suitable alias in .zshrc I can connect with 4-6
keystrokes, and take full advantage of zsh's auto-completion across hosts (way
better than in bash).

~~~
chatmasta
I still have no easy solution to the "same box" changing IP's because you
booted up a new test cluster. I guess that's the point of DNS.

------
mmargerum
Napkin . I use it every day many times a day to make screen shots with quick
annotations

[http://aged-and-distilled.com/](http://aged-and-distilled.com/)

------
asymmetric
Does anyone know if something like Hazel exists for Linux?

I know I could basically write scripts and start them with SystemD timers/cron
but.. not sure it'd be worth the effort doing it all myself.

~~~
dflock
Maybe this:
[https://github.com/benjaminoakes/maid](https://github.com/benjaminoakes/maid)

------
agumonkey
Gnu Parallel ?

------
asomorjai
BBEdit (barebones.com) on macOS.

\- Perl regexp's

\- Worksheets for thing you'd want to remember

\- Process Duplicates Lines / Process Lines Containing

\- Nice set of Markup tools

\- Diff

\- Support all kinds of versioning systems

Araxis Merge (x-platform) for text, image, folder diffs.

------
cylinder
You can bulk resize in Photoshop, just FYI.

~~~
dshacker
I know, you could also create a macro to watermark every picture, or create a
special export setting. But I wanted to give tips that didn't require a lot of
technical expertise, so that it is available for everyone. Also, getting
photobulk ($10 once) vs getting photoshop ($10 a month) is cheaper if you
don't have photoshop.

------
dagw
FME. Simply no better tool for slicing and dicing all manner of spatial data.

------
Markoff
how is photobulk better than irfanview?

also for renaming i find built in TCMD multi rename tool quite powerful

------
Kenji
Whoa, when I click on this link, it automatically closes the tab it resides
in!

At first I thought this was an elaborate meta joke since not reading articles
would save me thousands of hours, but I think it is a bug. I am using the
latest google chrome with a very restrictive uMatrix that blocks pretty much
all cross-site requests that are not images, and Ad-Block.

~~~
dshacker
Weird, I'm using posthaven.com it is pretty useful as a blogging tool. Check
if you can open it :)

~~~
Kenji
I tested some more. It closes/crashes the tab when I do not allow requests
from facebook.com in frames in uMatrix. I didn't investigate further though,
I'm tired from a long and busy day.

