Signs of aging governed by dead pixels or unwonted pixelated lines fluctuating around my screen indicated that my three-year-old lappy was done with, well at least for the display part. Not to mention the prominent battery issues (it’s an HP) that always made it an inconvenience in terms of portability. (dies under ten minutes without the plug-in, plus the battery is never fully charged!)
This led to the moment where I decided a switch was needed, but which one should I go for? I began searching on the net, consulted my friends, and after much thought, research & 1:1 model comparisons, (which were mostly set up by anecdotal sessions from YouTubers) I decided to opt for the MacBook Pro 16”, investing my entire GSoC funding. (+ a bit more for the necessary accessories) Being a Windows/Linux user for quite a few years now, I was a bit reluctant to undergo the transition to OS X, thinking that the former options were mostly better - I must admit that I was wrong, as it ended up being a better experience!
To begin with, MacOS is a UNIX operating system (possessing the filesystems, timezones, and everything else that falls under UNIX compliant machines), with a shell that can cover all necessities of a programmer. Another advantage (mostly regarding testing) is that it features cross-compatibility (can switch to other OS’es, but the reverse is generally not very convenient) in a favourable way (a must for iOS developers). Apple’s addons like trackpad gestures and ease of access/mobility throughout the system provide additional padding to the above. Or at least that’s what I understood within a day of experimenting with my new unit. I’ll be discussing the pros and cons of the MBP-16” in general (not many) from my standpoint/experience, but I’ll cover my setup first, the one that I followed in all aspects (physical, software-related, preference-based) within a day of purchase.
Physical Setup
- MacBook Pro 16-inch - The costlier version, with core differences being the i9 processor, 16MB cache and 1TB SSD, instead of an i7 processor, a 12MB cache and a 0.5TB SSD for the base version. Among relatively minor differences, the integrated graphics are slightly better with the higher clocked AMD Radeon Pro 5500M, instead of the 5300M equivalent. (reason for it being a minor one is that it can be upgraded)
- Service Addon - AppleCare Protection Plan (APP): Going for the one plus two extension, (default is a one year warranty with ninety days of complimentary technical support, whereas this includes support/service until three years from the date of the MBP purchase) which should take care of my servicing needs (primarily concerned about stuff such as the battery) uptil the endpoint of my masters (‘23, + suitable with the worldwide support available!) for the least. Highly recommended for LTS.
- Docking Station (Type-C to 3x Type-A) - To take care of my old USB Type-A connections, since this laptop has all four Thunderbolt 3 ports (a bidirectional USB-C).
Software Setup
- Open the Terminal1. Three select directions (among many) to do so:
- Applications > Utilities > Terminal
- Spotlight Search (Command+Space) > Terminal
- Open Launchpad (or invoke its Gesture with the inner 1-3/4 pinch) > Other > Terminal
- Install Xcode: (for CLI tools such as Homebrew)
xcode-select --install
- Install HomeBew via Github:
# ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install Git and configure credentials:
brew install git brew tap microsoft/git brew install --cask git-credential-manager-core # check config: cat .gitconfig
- Install Cask:
brew install cask
- Install, search, upgrade and get help for OS X applications available via this convenient package manager:
# Search, if known to be available brew search appname # Install, if in the mood brew cask install appname # Update, if required brew cask upgrade # Get help, if stuff is documented brew cask help
- Can upgrade multiples in a list:
brew cask upgrade $(brew cask list)
- For re-installing and updating to the latest, add the
--greedy
flag.
1For changing the shell to bash (default is zsh), use: (List of available shells can be viewed by using cat /etc/shells
)
chsh -s /bin/bash
Can upgrade it via Homebrew.
For my first application, I went with Git and set up my credentials (can check via git config --list
). (Also added the syntax highlighting via git config --global color.ui true
)
Invisible clutter
While initializing Git on a folder and checking the files via git status
, I’ve noticed that an extra dotfile named .DS_store
gets created. Turns out that it stores attribute-based configuration information for the folder but by all means (to me) is an unnecessary addition. Needless to say, I removed it, and you can do so too:
# Option 1: Remove the file (.DS_Store)
# 1(a) from the current directory:
diff <(ls) <(ls -a) | grep .DS_Store | xargs rm -f # use ls -lh or echo rm to verify
# The first part (the output of which is passed to grep) basically lists the difference between the regular ls and the one with hidden files included (-a flag; latter being a superset of the former), showing the hidden files in a directory - one of my redundant tricks ;)
# 1(b) from all subdirectories, in addition to (a):
rm -rf $(find . | grep .DS_Store)
# or:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
# or:
find . -name .DS_Store -delete
Problem with simple deletion of the file is that it will pop up again for changes in the folder configuration. Thus, a better approach would be to add the filename to the .gitignore
:
# Option 2: Ignore the file (preferred)
# Create the gitignore file if you haven't already:
touch .gitignore
# Add the filename for git to ignore in an instance of the opened (can literally use the open command) gitignore file, or:
echo '.DS_Store' >> .gitignore
# Feel free to check with git status to verify its disappearance :)
Setting Up Preferences
Proceed with caution, since these are based on my personal preferences :)
- System Preferences
- Control Unit changes: Start by something as simple as enabling right clicks for both the Trackpad & Mouse (via System Pref.), then adjust the sensitivity accordingly (increased my tracking speed to traverse faster throughout the big screen in its entirety).
- Enabling visual information from the toolbar: Stuff such as including the battery percentage and showing the path bar and status bar (for Finder) from the view option. (+ set up scroll bars to be shown always: System Preferences > General > Show scroll bars set to ‘Always’)
- Dock tidiness: Check ‘Minimize windows into application icon’ to avoid extra dock cluttering.
- Mission Control: Set keystrokes for viewing all open windows and ones for the current application (fn and Right Option for me) + Set up Hot Corners, (one leaving the display on sleep being a must!) and use Command + Option to avoid triggering it by just the cursor position.
- Keyboard changes: Enable field switching for all controls, i.e. switch to the next field via the Tab key. (navigation: Keyboard > Shortcuts > ‘All controls’ check)
- Desktop
- Remove cluster of never-gonna-use apps from the Dock, then resize and left-align it, just the way I find it convenient. (gonna hide it anyway after I’m familiar with all the keyboard shortcuts)
- Set up Finder preferences of folders. (for instance, selecting all folders to be displayed along the sidebar of the Finder/FileSystem)
- Use stacks to avoid clustering of similar file types.
- Installations
- For monitoring the system activity and core components (memory and CPU/GPU usage, process states and networking, sensors and ports, etc.) that I’m concerned with, I’m using iStat Menus
- Chrome for browsing + Dark mode extensions for everything (enabling the experimental feature, + YouTube, Gmail: Themes > Dark)
- Lightshot for quick screenshots (default trigger for screenshots is
Cmd + Shift + 4
, which can be customized) - Homebrew + Cask to take care of quick application installations (starting with Git!)
- MS Office applications for composing assignments and seminar material (I’m just using my free lifetime keys/versions as a MSP :)
Pros
- Sound quality couldn’t be any better, honestly impressed!
- The trackpad is amazing. Very delicate, with enough space to use my fingers conveniently. Gestures operate smoothly as well.
- Touch Screen works smoothly, posing as a convenient alternative for traversing websites, switching brightness/sound levels, activating Siri etc.
- 16 gigs of ram is a fair enough deal to handle many higher-end applications simultaneously, but the ability to extend it till 64 gigs is a sweet deal. Might as well go for it in the long run, but gotta be wary of the possible risks. (cold boot attack maybe?) The same applies to the SSD, wherein extending upto 8TB is possible.
- Better graphics (as compared to previous MacBooks, although I haven’t used any of them) to handle multimedia more efficiently. Should be ideal for rendering models in Solidworks/Blender. Sadly, will have to drop some Microsoft based accessories, such as my Animotica Pro lifetime edition, which was a great video editor.
- Decent camera/webcam, with the quality being better in contrast to the same 720p units from other laptops. (vs Dell XPS 17 for instance)
- Suitable for developing iOS applications, if I ever fall into that line.
Cons
- Catalina doesn’t support 32-bit apps. (supported until Mojave/10.14) This doesn’t tend to be a big problem, but for the ones using a ton of 32-bit apps, the transition can feel a bit cumbersome. I had to invest quite a bit of time setting up a new driver for a USB stick dongle (which previously used a 25-bit application/software interface) after contacting the company’s support.
- Almost everything is costlier (plus some applications which were previously free for me now have paid versions for macOS!), which I presume is because Apple takes 30% off from the App Store developers’ earnings on each application. The greediness is high, but I guess that’s how it is.
- Apple has its integrated services and does not allow much customization on that part.
- Highly prone to damage from any type of liquid, including plain water. Corrosion plays its role and can damage the logic board and other components even with a minor spill, resulting in a costly affair. Condensation can be another factor as well (operation in extremely cold conditions must be avoided), although still relatively rarer than liquid spills. And finally, keep in mind that liquid damage doesn’t fall under the Applecare protection plan (:
Shortcuts
Jotting down the ones I’ll probably use a lot, for quick reference: (check the official list here)
Functionality | Keys |
---|---|
Cut | Cmd + X |
Copy | Cmd + C |
Undo | Cmd + Z |
Paste | Cmd + V |
Save document | Cmd + S |
Print document | Cmd + P |
Hide/Show Dock | Cmd + Option + D |
Open selected item | Cmd + O |
Switch between tabs | Cmd + Tab |
Delete selected file(s) | Cmd + BackSpace |
Use App. in full-screen | Ctrl + Cmd + F |
Cycle through windows | Cmd + ~ |
Duplicate selected file(s) | Cmd + D |
Use Spotlight from Finder | Cmd + Option + Space |
Show/Hide Spotlight Search | Cmd + Space |
Hide foreground application | Cmd + H |
Hide background applications | Cmd + Option + H |
Anirban | 09/20/2020 |