Configure a Fresh Mac for Development

You have a fresh install of Mac OS X Catalina, and all the latest updates installed. Now you want to do some web development with Ruby on Rails. I am writing this as a reference for myself, because I go through this process frequently. Installations Core Setup Login to iCloud Install Apps from App Store Install iTerm2 Install Franz and Telegram Install homebrew (which will also auto-install Appleā€™s “command line developer tools”) and some packages

Upgrade to Catalina with Homebrew, Ruby, & Java

I upgraded to Catalina, with Homebrew & Ruby, and this is how I did it flawlessly. Prepare If you don’t already have homebrew installed, do that first. Install all Software Updates available in the Apple Menu, up to and including Catalina. Hardware Haven’t had any hardware issues yet. Software In order… Xcode The upgrade will erase your previous XCode install. (Optional) (re)Install XCode from the App Store first. The XCode Command Line Tools will actually install fine even without XCode.

How I Go Again

I am upgrading my Hugo-based blog from v0.15 to v0.48 (extended)! Quite a mad leap. Update: As it turns out, extended won’t run on my (or any) shared hosting provider, and I am still building my site on my shared host. I know, that’s not cool anymore, but updating my deployment pipeline would require more time than I have. My Architecture Local is Mac I am using a Mac for this process.

Upgrade to El Capitan with Homebrew, Ruby, qt5, & Java

I upgraded to El Capitan, with Homebrew & Ruby, and this is how I did it flawlessly. … and Xcode and Java, etc. Prepare If you don’t already have homebrew installed, do that first, so you don’t have to deal with SIP issues. Install all Software Updates available in the Apple Menu, up to and including El Capitan. Hardware After the installs and forced reboots my 27” Thunderbolt display wouldn’t display anything.

My Git Commit Hooks

I quite envy a nice commit message. The Rails project has rules about commit messages that are tops. This is a great example from a great developer I know, which got merged into core. So now on my own projects I have cribbed, tweaked, and automated a tiny bit of of that sweet, sweet commit message honey. Naming your branch Step 1 I name my branches with a prefix that is one of: “hotfix”, “bug”, “feature”, or “candy”.

Fix The Nokogiri Warning

One of the most consistent warnings that has been with me through the years has been that Nokogiri was built against a version of libXML that is different than the version that is dynamically loaded. WARNING: Nokogiri was built against LibXML version 2.6.30, but has dynamically loaded 2.9.0 I had most recently, out of frustration, and due to sundry circumstances, resorted to the --use-system-libraries flag in my project’s bundler config just to get shit done.

How I Go

I am relaunching my blog! I have decided to use Hugo after much internal debate, and strong lobbying from all the sleazy corporate bag-men that are constantly trying to bribe me with buzz words . I will always Ruby and use it every day, but for my blog I gotta go. So easy, static and fast! As my first post I will document how I made this work.