iTerm2: Add Keystroke to move between words

On a Mac, I use iTerm2 as my default terminal due to the added features, such as auto-copy and the ability to split multiple terminals. One nuance was not having the ability to move between words (like in vim); however, I found the below how-to on Stack Overflow — where else? ūüôā

  1. Go to Preferences, Profile, Keys.
  2. Set your left ? key to act as an escape character.
  3. Locate the current shortcut for ? ? or create a new one, with the following settings:
    • Keyboard Shortcut: ??
    • Action: Send Escape Sequence
    • Esc+: b
  4. repeat for the ?? keyboard shortcut with the following settings:
    • Keyboard Shortcut: ??
    • Action: Send Escape Sequence
    • Esc+: f

From this point, you can use Option + [left/right arrow keys]. Yass, productivity skill level increase! Later.

Remote Development with Visual Studio Code

I recently came across Windows Subsystem for Linux, as I’ve been a Mac and JetBrains Rider user since 2012. I discovered the Remote development extensions for VS Code and discovered how much of a gem it is.

Here are the pages I went over to learn more about it (note this is a work-in-progress):

The Seven Wastes of Software Development

Based on Toyota’s lean manufacturing, the same concepts apply to agile software development. They are:

  1. Partially Done Work: Work in Progress, e.g. Code not checked in, code not tested, test cases not executed, requirements analyzed but not developed, etc.
  2. Extra Features: features fully developed, tested and delivered to the end user, but was never used
  3. Relearning:  Spending effort in learning something more than once because of loss of information. This loss occurs due to lengthy delays or task switching or handoffs.
  4. Handoffs: Passing a piece o information from one team member to another, which may cause loss or change in information. For example, communicating customer requirements from a customer representative to the analyst, then a team leader, and finally to a developer.
  5. Delays: These are time intervals in which one or more team members are idle waiting for input from another activity. For example, waiting for staffing in a project, approval processes, lengthy feedback loops, requirements gathering, etc.
  6. Task Switching: Interruptions during execution, which causes huge ineffectiveness in time usage, like switching focus or priorities, working on more than one thing at a time, serving multiple customers at a time, fixing issues while developing new features, etc.
  7. Defects: Defect waste is not only the time spent in testing and fixing the defect, but also the time it lies undetected, which causes subtle undetected issues in the operations at the customer site.

Use this in your retrospectives to gain insight and improve your team’s efficiency and productivity.

Mac OS Catalina: “invalid active developer path” error

After upgrading to Catalina, I encountered the error below. Seems Xcode was no longer available.


xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Try the following in your terminal; otherwise, head to https://developer.apple.com/download/more/ and download Xcode manually.


xcode-select --install

How to add environment variables in Mac OS X

Adding here for reference (tried this in Mac OS X Mojave):


# To set an environment variable, enter the following command:
launchctl setenv variable "value"

# To find out if an environment variable is set, use the following command:
launchctl getenv variable

# To clear an environment variable, use the following command:
launchctl unsetenv variable