Tools for Mac Homebrew
Here’s a list of common tools for OSX Homebrew, at least in my setup. Now in non-random alphabetical order (mostly).
This is a kind of plugin tool to extend ZSH with themes and features.
ASCII-art cows saying things.
_____ < moo > ----- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
The essential file download tool, this is also very useful for making POST requests and checking server headers.
Forget Sublime, this is the mother of all text editors. You could live in here, it’s so roomy and has all mod-cons. It’s virtually an operating system in itself.
ASCII-art banners with a selection of typefaces. Useful for making pretty console output.
__ _ _ _ / _(_) __ _| | ___| |_ | |_| |/ _` | |/ _ \ __| | _| | (_| | | __/ |_ |_| |_|\__, |_|\___|\__| |___/
There’s an option to produce banners with only # symbols that I use in configuration files mostly because this is a comment character. This has the advantage of being visible in the ‘minimap’ feature in text editors like Sublime making it much easier to jump to the right section.
A newer version of git, replacing the antique version provided by Apple.
Git extensions to support Git Flow; this can be useful to start/finish features from the command line.
Git extension for Gerrit; this allows one-line push-to-review, so long as the changes have been squashed to a single commit.
Encryption for privacy; this is useful mostly to scramble files containing passwords.
This alternative to ‘top’ gives a better output in my opinion, and is highly configurable.
Manage versions of Java. I personally don’t use this, but it seems to crop up in ‘how to set up development environment’ guides quite frequently.
Password cracking toolkit; this is a last ditch tool if you forget a GPG passphrase (oops), or if you want to check that *your* password is secure (eek).
Installing Maven via brew is possibly the easiest way to get it, particularly on newer Macs where Apple have chosen not to install it at all.
If you’ve ever used Norton Commander, this is somewhat similar but for the Terminal console. It’s quite handy to use to explore directories and run commands.
You might think that the Apple-provided version is good enough, but there are (were in OSX 10.10) some significant deficiencies in the supplied toolchain. For me it was the lack of support for ProxyJump directives that I needed to use with multi-hop SSH sessions that forced the issue. The tradeoff is the lack of support for the Keychain, which may be a good thing depending on your point-of-view.
Headless web browser, useful for doing headless things like Cucumber testing. Now deprecated in favour of newer versions of PhantomJS or headless Chrome.
The Python scripting language is needed by a lot of other things. Watch out which version - 2 and 3 don’t play well together.
Manage Ruby version.
The Ruby language, to replace the antiquated version provided by Apple.
I use this tool all the time to check SSL / TLS certificates and to collect domain names that may need further investigate assuming they aren’t using wildcards. It’s been super-useful.
Tip: use the –no-heartbleed option so you don’t need to use sudo.
Terminal Multiplexing. Basically this is split panels on the same terminal tty, allowing for each to behave independently much like a text-based windowing system. In truth, I rarely use this. I prefer screen generally, but it does have some advantages. Integration with iTerm2 is good.
Display the tree of the current directory as ASCII-art; this is useful for visualising and for documentation.
Run a command every N seconds and display the output on a clean screen. I find this useful for monitoring processes.
An alternative to the bash shell usually installed everywhere; I prefer this for the auto complete options and the readiness of themes.