I have been a die-hard Linux advocate the past 11 years. Four years ago I moved to Mac OS X because I felt increasingly frustrated over the state of the Linux desktop. I preferred using Linux on the desktop to using Windows because it beat having to use Windows every time. Mac OS X, however, presented a much better alternative, so I jumped ship. I haven’t looked back since. The fact that Unix is at the base of Mac OS X made it an attractive option for me. As I have said the past four years, it is hard not to use an operating system that offers a great UI on top of one of the best operating systems of the millennium.
I continue to use Linux to this day on servers, though. I find there is no better alternative for an operating system than Linux on a server. Having spent a good deal of time using Linux, you become accustomed to certain favourite applications and tools that sadly aren’t all readily available on Mac OS X. You can always run Linux as a virtual machine on your Mac, but it would be really splendid if you were to have natively those applications available on your Mac. For such applications, on Mac OS X there are two options:
On my first ever MacBook, I tried fink. It worked well for me that time, but it has been so long since then that I cannot really remember why I let it go. Instead, I welcomed Homebrew.
If you are coming to Mac OS X with a Linux background, Homebrew is the tool you cannot afford to miss out on. At the heart of it, it is a package manager for OS X. For me, it is more a way to get Linux applications to run natively on OS X. You can even create your own Homebrew packages if you’re savvy. I haven’t never needed to try, though.
I thought I’d share the applications I use on Homebrew regularly.
Life without diff is unthinkable. I diff a lot. It really helps to make my diff-heavy life colourfull. On all my Linux servers colordiff is available so whenever I want to use diff, colordiff is what comes to mind.
I use dnscrypt-proxy for two purposes: to of course secure my DNS traffic; and to bypass the silly restrictions imposed by my ISP which do not allow me to use any third-party DNS services, such as those offered by Google DNS or OpenDNS.
I have always loved typing tutors. In fact, finding a typing tutor and learning to touch type on one was the best thing I did as a high-school student. It changed the way I used computers forever. I can’t find for the life of me the particular DOS-based typing tutor I started out with. I wish I could. But for all intents and purposes, GNU Typist is pretty good at what it does.
If you don’t know how indispensable GnuPG (or PGP) is in this age, I feel sorry for you.
I call it top that is high on weeds. Once you go htop, top looks very bland and boring.
I cannot imagine using a Linux or Unix system without nmap on it. Incidentally, I have long history of using nmap.
Sadly, the openssl application that ships with OS X isn’t as readily updated as the frequency of openssl security advisories demand.
I’m a big fan of tcpdump. Luckily, OS X ships with a native tcpdump implementation. Setting up Wireshark is a bit of a pain though as you first, rather ironically, need the X server running on OS X. For protocol and traffic analysis, tcpflow is great.
If you show me someone who doesn’t need wget on shell, I will show you a liar. Somehow, OS X comes with curl, but not with wget. Although, you can use a combination of bash aliases and some switches to curl to achieve wget, it is not really wget until it is wget.
This is a recent discovery, though given the pliable nature of my memory, I have already forgotten where I discovered it. It is a nerdy little application that displays the real-time breakdown of statistics of network interfaces.
If you’ve got a favourite application on Homebrew, I’d like to hear from you.