macos

Escaping characters on the command line by Joseph Palumbo

While doing some housekeeping on my computer I ran into a situation where I wanted to delete all files that had a (1) in the name.

I started by listing all files that ended in .jpg

$ ls *.jpg
Screenshot 2019-10-07 13.50.50.jpg

I thought I could delete those files using basically the same syntax on the command line, but this is what I got when I tested it out.

Screenshot 2019-10-07 13.53.37.jpg

After Googling around I found this article on apple.stackexchange.com that helped me figure it out.

You can use the \ to escape characters on the command line, like this:

$ ls *\(1\).jpg
Screenshot 2019-10-07 13.56.02.jpg

Which lead to this solution:

Screenshot 2019-10-07 13.58.09.jpg

Finder Tags and Terminal by Joseph Palumbo

As I’m focusing on organizing and decluttering my digital life, I’ve started using the MacOS tag feature introduced back in Mavericks. It’s a powerful tool that can be used to create some simple, elegant, and scalable solution to folder and file organization.

The problem is that I use Terminal at least half the time to work with my folders and files and Apple does not provide an out-of-the-box solution for adding/removing tags from CLI. So say ‘hello’ to tag, a fantastic solution working with tags from MacOS Terminal.

Read More

My Brew Packages by Joseph Palumbo

If you're a hardcore MacOS (Mac OS X) user, than you no doubt know about Brew. Here is a list of the Brew packages I install almost immediately and what they do. 

But first, a few useful commands that might come in handy if you're not familiar with using Brew. 

Command Purpose
brew search [package] Lists all available forumla (aka packages). Additionally if you want to get further information about that package before installing it, add the package name to the command and it will detail relevant information like version number, dependencies, etc.
brew list Shows all of your installed packages.
brew install [package] Installs the specified package.

And here are some of the Brew packages that I find indispensable. 

tmux - Terminal multiplexer. Like screen, but way better

jq - Lightweight and flexible command-line JSON processor. Great for cleaning up messy and unreadable JSON output from scripts. 

awscli - The official AWS command-line interface. Don't bother trying to install the AWS CLI using the instructions found in AWS' documentation, the brew install is so much easier and organized. 

htop - The description for this package simply reads, "Improved top (interactive process viewer)", but I don't think that does it justice. If you need to find out what's running and utilizing resources on your computer, htop is second to none in this department. 

neofetch - Fast, highly customizable system info script. In short, if you need some quick info about. your system, install and run neofetch for an output like the one below. 

Screenshot 2018-08-14 09.26.35.jpg

python3 - MacOS ships with 2.7.X, but if you need to build or run something using Python3, Brew is the fasted and easiest way to install it on your Mac. 

tree - If you need a visual representation of a file or directory structure, tree is the perfect package for you. It displays directories as "trees" with an optional color output. It can be a littler verbose, but that's not always a bad thing. 

Screenshot 2018-08-14 09.33.35.jpg

tag - Manipulate and query tags on MacOS files.

Mac App: Browserism by Joseph Palumbo

Classify this one as a Mac App recommendation, which I plan to do more of because I've been uncovering a lot great Mac apps and utilities lately. 

246x0w.png

In my own words, Browserism is an app that manages all your browsers for you. And while I know it has a number of great features, the one that I can't live without any more is the ability to tell Browserism which browsers should open specific links. 

My use case is that sometimes I use my personal MBP for work. I use Safari for personal browsing and Chrome for work. It used to be that if some Slacked or emailed me a link, it would either open in Safari (my default browser) or I'd have to remember to right-click it and tell it to open in Chrome. 

Browserism allows me to set rules stating that certain domains (i.e. zendesk, confluence, salesforce, et.c) should be opened by Chrome regardless of where I click them. 

Browserism-1.png

In addition to setting these global rules, I can also decide on a link-by-link basis which browser I want to use to open it. 

Probably the best $1.99 I've spent so far this year. If you're a fan of using multiple browsers, Browserism is definitely worth getting.