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 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

Git: Command to fix corrupted repository

I occasionally get fatal, such as:

error: cannot lock ref 'refs/remotes/origin/AB-123': is at dffbe642f088781a5e485227927e141ddb73443a but expected e377921a6d00f4d4c0463774990e03343683177e

Rebasing doesn’t work, but if you do the following it will resolve it:

git gc --prune=now

This guarantees to remove all git garbage.

NOTE: Make sure all your code has been committed before doing this.