Ports & Packages
FreeBSD is my preferred OS thanks to ZFS, disk encryption, the wholly-owned base system, ports/packages, jails for securing network services, and the community.
A few years ago, I found myself looking for a new OS for day-to-day use. I'd been using Mac OS X for several years because my employer provided a MacBook Pro and I really loved the nice, clean Aqua UI on top of a POSIX compliant core. However, I was setting up a desktop, didn't want to spend a fortune on Apple hardware, and wasn't sure I liked the direction Apple was heading with OS X by making it more like iOS. My requirements pretty much boiled down to security (including support for full-disk encryption), stability, flexibility, software freedom, and a thriving community for those inevitable times when I would need some wisdom. If you're reading this blog, I probably don't need to tell you why Windows was ruled out before the competition started.
An incompatibility with glib 2.42 causes MySQL Workbench to display a blank results grid. Here's how to patch the source code and recompile the port on FreeBSD.
There's one area where I simply don't like using the command line and that's SQL queries. When I'm working with a database, I appreciate having a decent GUI. That's why I was frustrated when I launched MySQL Workbench and found that the output was blank with no results being displayed for any query. The table editor also showed no data—no column names, indexes, nothing.
FreeBSD 10.2 and higher use mismatched repos for packages and ports. This shell script simplifies updating your ports tree from the current quarterly branch.
Beginning with FreeBSD 10.2, binary packages installed using pkg are built from a quarterly SVN branch that only receives security and build updates once it's created. The goal is to provide a more stable software repository than the ports tree, which is constantly being updated and may even include broken ports at times. However, portsnap uses the latest/HEAD branch for the ports tree. Since mixing quarterly packages with current ports could lead to trouble, you have to choose one of these paths: