Mac - Tools for Homebrew
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).
antigen
This is a kind of plugin tool to extend ZSH with themes and features.
cowsay
ASCII-art cows saying things.
_____
< moo >
-----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
curl
The essential file download tool, this is also very useful for making POST requests and checking server headers.
emacs
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.
figlet
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.
git
A newer version of git, replacing the antique version provided by Apple.
git-flow
Git extensions to support Git Flow; this can be useful to start/finish features from the command line.
git-review
Git extension for Gerrit; this allows one-line push-to-review, so long as the changes have been squashed to a single commit.
gnupg
Encryption for privacy; this is useful mostly to scramble files containing passwords.
htop-osx
This alternative to ‘top’ gives a better output in my opinion, and is highly configurable.
jenv
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.
john-jumbo
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).
maven
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.
midnight-commander
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.
OpenSSL
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.
phantomjs198
Headless web browser, useful for doing headless things like Cucumber testing. Now deprecated in favour of newer versions of PhantomJS or headless Chrome.
python
The Python scripting language is needed by a lot of other things. Watch out which version - 2 and 3 don’t play well together.
rbenv
Manage Ruby version.
ruby
The Ruby language, to replace the antiquated version provided by Apple.
sslscan
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.
tmux
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.
tree
Display the tree of the current directory as ASCII-art; this is useful for visualising and for documentation.
watch
Run a command every N seconds and display the output on a clean screen. I find this useful for monitoring processes.
zsh
An alternative to the bash shell usually installed everywhere; I prefer this for the auto complete options and the readiness of themes.