Install the Node.js development tools

NPM

NPM is a package manager for the JavaScript programming language. Install it to be able to install other applications too using Node.js.

On macOS

  • In the terminal execute
brew install node

On Windows

  • Download the 64 bit version of the Windows Installer (.msi) from https://nodejs.org/en/download/
  • Start the installation
  • On the Tools and Native Modules select Automatically install the necessary tools
  • Press the Enter key to build the Node.js native modules
  • Press enter again to accept the license
  • Allow PowerShell to execute the scripts
  • When you see the message
    Packages requiring reboot: …
    press enter to close the window and reboot the computer

In case of errors

  • Run the Install Additional Tools for Node.js from the Start Menu to complete the failed installation

Install software development tools on Macintosh

There are tools and utilities software developers use to write, test and deploy code. These are some of them to make our life easier.

Commonly used applications

Text Editor

Visual Studio Code

Atom

  1. Download it from https://atom.io/
  2. Double click the downloaded ZIP file to extract the application,
  3. Drag the Atom application into Applications

Configure Atom

See Atom text editor configuration

Terminal Window

iTerm2

Install iTerm2, a smart terminal emulator to issue Bash commands and log into Linux servers.

See Install and configure iTerm2

Git

See Install Git on Macintosh

Install JQ

JQ is a JSON command line tool to read, write and convert data to an from JSON.

brew install jq

JSON in the browser

To automatically pretty print JSON responses in Chrome

Remote Desktop Client

Download the Microsoft Remote Desktop app from the App Store

  1. Open the App Store
  2. Search for “microsoft remote desktop”
  3. Click the Microsoft Remote Desktop icon
  4. Click the blue Get button
  5. Click the green Install App button

Docker Desktop

Kubernetes cluster management

OpenLens

OpenLens is the open source (free) version of the Lens application. Muhammed Kalkan provides binary builds and installation instructions on his GitHub page at ttps://github.com/MuhammedKalkan/OpenLens

The simplest is to install OpenLens with Brew using his builds:

brew install --cask openlens

Nice to have utilities

Window Manager

Rectangle

Rectangle is a window management app based on Spectacle, written in Swift.
Installation instructions are at https://github.com/rxhanson/Rectangle

  1. Install Rectangle with
    brew install --cask rectangle
  2. Configure iTerm for better resizing behavior with
    defaults write com.googlecode.iterm2 DisableWindowSizeSnap -integer 1

Comparison tools

diff-so-fancy

Smart diff visualizer that highlights the parts of the line that changed

  1. Install it
    brew install diff-so-fancy
  2. Configure Git to use it as the default diff tool
    git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"

Install the database management tools

Working with Windows servers from the Mac

If you want to work with Windows servers, you may need to run Windows applications on

Memory usage monitor

  1. Download  Dr. Cleaner Elite from the App Store to be able to monitor memory, CPU and network usage from the Menu Bar.

Install the DevOps development tools on Macintosh

AWS CLI

The Amazon Web Services command line interface installation will set up your workstation to launch instances in AWS from Test Kitchen. If you know you will work with AWS, see DevOps Engineering part 3. – Working with AWS for the AWS CLI installation.

Chef Development Kit

Terraform by Hashicorp

 Terraform Installation

  • Open a terminal window and execute
    brew install terraform

Vault CLI

Install the Vault CLI from https://www.vaultproject.io/downloads

Currently the command to install Vault is 

sudo chown -R $(whoami) /usr/local/bin
brew tap hashicorp/tap
brew install hashicorp/tap/vault

SQL Command

To be able to execute Microsoft SQL commands from the command line or through Terraform, install the MS SQL utility

  1. Install NPM, the JavaScript package manager
    brew install node
  2. Install SQL CLI
    npm install -g sql-cli
  3. Check the installation by displaying the version information
    mssql --version

More information on the tool is at https://www.npmjs.com/package/sql-cli

Rarely used tools

Packer

We use Packer to create custom AWS AMIs that contain the fundamental configuration and applications that are common in every instance we launch.

Install Packer

Graphviz

Graphviz is a Dependency Graph Visualization Software. We will use this utility to display the Terraform graphs.

To install execute the following in the terminal

brew install graphviz

VirtualBox

For the VirtualBox installation on your operating system see: VirtualBox


Vagrant

For Vagrant installation see Vagrant.

Ruby

Ruby is already a part of the operating system.


Refueling in SnowRunner

You can always refuel your truck at the Fuel Stations, but there are fuel trailers on the maps where you can also fill up the tank of your truck.

  1. Park your truck close to the fuel trailer, so the fuel tank of the truck is close to it. If the truck has a long bed, like the Azov 64131 with a sideboard bed and a crane installed, the tank is too far from the trailer to detect it when you back to the trailer. Approach the trailer with the side or the cab of the truck.
  2. In the menu select Refuel.
  3. Set the trailer as the source, and the truck as the target.

SnowRunner – Alaska, USA (spoiler)

North Port

There is an unfinished oil pipeline north of the garage. The unfinished pipe on the road blocks the easy access to the north side of the map. To open the road

  1. Open the Contracts list
  2. The Black Bird company is looking for help with Pipeline Construction. Complete it and the road opens.
LocationHasNeeds
Service SiteDrilling spare parts
TaskWhatFromToNotes
Lost pipeLarge Pipe x1 (4 units long)– In the water north of the Drilling Site (crane needed) or
– West Factory or
– Port
Drilling siteA truck with a crane can pick it up north of the drilling site. No crane is needed at the port or the West Factory. Make sure the bed or trailer can hold a 4-unit long cargo because the pipe has to be “packed” to be available for unloading.
RoadblockMetal beams x1FactoryRoadblock north of the Garage
ContractWhatFromToNotes
Black Bird co.
Pipeline construction
Spare partsWarehouseOil pipe construction north of the Garage
Black Bird co.
Floating drill
Oil rig salvage semi-trailerService Site in the southeast cornerPortSaddle high needed

Mountain River

LocationHasNeeds
Service HubService spare parts
Consumables
Saw MillWooden planks
FactoryMetal beams
North Warehouse Small pipes
Medium pipes
Cement
Concrete slab
TaskWhatFromToNotes
Restoring The BridgeConcrete slab x1
Service spare parts x2
Bridge
Working StiffRepair a Caterpillar and take it to Saw MillSoutheast hilltopSaw Mill
Environmental issueCurtainside trailerNorthResearch zone
TunnelState
To White Valleyopen

Pedro Bay Alaska, USA

LocationHasNeeds
Stock LoadingWooden planks
TaskWhatFromToNotes
Dangerous RouteWooden planks x4Stock LoadingBridge (North)
Morrison’s LandslideWooden planks x4Stock LoadingLandslide (North)
Family TreasureCurtain side trailerBehind Weather Conditions in a meadowBoat Station
Weather ConditionsScoutWeather ConditionsBoat Station
Old Mack and Drowned Car HummerNorth of Family TreasureParking Lot
Pole DownWooden planks x2Stock LoadingFallen electric pole
Moving the StockOil barrels x1
Wooden planks x2
Oil fields (crane needed)
Stock loading
Factory

White Valley

LocationHasNeeds
AirportDrilling equipment ( 4 slots )
Oversized cargo ( 4 slots )
Consumables ( 1 slot )
West WarehouseSmall pipes (2 slots)
Medium pipes (2 slots)
Large pipe (4 slots)
Concrete blocks (1 slot)
Cement (1 slot)
TaskWhatFromToNotes
BridgeService spare parts x2 on a sideboard trailerOil Rig Service SiteBridge
Long BridgeWooden planks x2
Service spare parts x2
Logging Station
Service Hub
Long Bridge
Deep River DivingScout 800East of Long BridgeParking
Blocked TunelWarehouse or Factory
Warehouse
Concrete blocks x1
Small pipes x1
Nort-west tunnel

Unlock every truck and customization in SnowRunner

XD Development at https://www.youtube.com/watch?v=muuT6hI_Xek shows how to unlock everything in SnowRunner, but it is a very fast pacing video. You can watch it at half speed, or read the steps below:

  • Download the unlock_all.rar file from https://drive.google.com/file/d/1eW3jOi5UQCXiHtywJ40t8r0rToY1xm68/view
  • Install WinRAR from https://www.win-rar.com/start.html?&L=0
  • Open the Snow Runner game directory on your computer
    • If you installed from Epic, the game is at “C:\Program Files\Epic Games\SnowRunner”
  • Make a copy of the SnowRunner directory to be able to roll back the changes if anything goes wrong during the update
  • Move the downloaded unlock_all.rar file into the “C:\Program Files\Epic Games\SnowRunner” directory and open it with WinRAR
  • Create a temp directory in the “C:\Program Files\Epic Games\SnowRunner” directory
  • Copy the folders from the unlock_all directory in unlock_all.rar file into the “C:\Program Files\Epic Games\SnowRunner\temp” directory


  • Open the “C:\Program Files\Epic Games\SnowRunner\en_us\preload\paks\client” directory in File Explorer
  • Open the initial.pak file with WinRAR

  • Drag the directories from the “C:\Program Files\Epic Games\SnowRunner\temp” directory into the initial.pak file
  • Close both instances of WinRAR and start the SnowRunner game.
  • All free trucks and customizations should be unlocked.

How to purchase all the goodies

Now you only need money to buy the trucks you now have access to. Check out Add money to your SnowRunner character.

Configure cron jobs in macOS

We will use the crontab command to schedule a daily backup of important files on our Macintosh.

  • Open a terminal window
  • If you only need access to your personal files continue to the next step
    • To be able to access protected files too, switch to sudo with
      sudo -i
      and enter your password.
  • Execute the command
    crontab -e
  • The VI editor opens, enter the scheduling command.
    This example runs every day at 11:00 pm, changes to the backup_scripts directory, executes the daily_backup.sh script and saves the cron logs in the /tmp directory
    0 23 * * * cd ~/Git/_Work/BACKUPS/backup_scripts && ./daily_backup.sh 2>&1 >> /tmp/cron.log

How to restore hidden and protected files from Time Machine backups

Time Machine backs up all necessary files to restore your computer in case of a disaster. Hidden directories are backed up, but you need root (sudo) permission to access some of them. The Time Machine restore process cannot restore protected files and directories one-by-one, only when you restore the entire machine backup.

This table shows the locations of some important files and directories on the Time Machine drive:

ItemLocationLocation on the Time Machine drive
cron jobs/var -> private/var/at/tabsBackups.backupdb/MY_COMPUTER_NAME/MY_BACKUP_DATE/Macintosh HD – Data/private/var/at/tabs
Google Chrome bookmarks/Users/MY_USER_NAME/Library/Application Support/Google/Chrome/Default/Volumes/Time Machine 1 Passport/Backups.backupdb/MY_COMPUTER_NAME/MY_BACKUP_DATE/Macintosh HD – Data/Users/MY_USER_NAME/Library/Application Support/Google/Chrome/Default

To view files in hidden directories with access restrictions on the Time Machine

  • Connect the Time Machine drive to your computer
  • In Finder navigate to the parent of the protected directory
  • Right-click the parent directory, and select Services, New Terminal at Folder
  • In the terminal execute
    pwd
    to get the current working directory
  • In the terminal execute
    sudo -i
    and enter your admin password
  • Copy the output of the pwd command to the clipboard
  • Change the directory by executing the command
    cd "/Volumes... "
    ( enclose the path in double quotes as it contains spaces )
  • Change into the protected directory to access the files

To restore files to the computer

When we access protected files on the Time Machine we use the “root” account to access them. If we copy the file to the computer the owner becomes “root” and the applications running under our regular account cannot access them.

To make the files accessible to the regular account we need to change the file permissions after copying them to the computer.

Restore Google Chrome bookmarks from Time Machine backup

  • Start Google chrome and save one bookmark to create the Bookmarks file with the correct ownership.
  • Start a terminal ( terminal #1 ) and open the time machine backup with “sudo” rights ( see table above ) to get the backup file location
  • Start another terminal ( terminal #2 ) and open the folder on the computer with “sudo” rights ( see table above )
  • In terminal #2 execute the command to copy and overwrite the Bookmarks file
    cp "/Volumes/Time Machine 1 Passport/Backups.backupdb/MY_COMPUTER_NAME/MY_BACKUP_DATE/Macintosh HD - Data/Users/MY_USER_NAME/Library/Application Support/Google/Chrome/Default/Bookmarks" .
    ( Double quotes are needed, as the path contains spaces, and don’t forget the dot at the end of the command )
  • Close Google Chrome and start it again to re-read the Bookmarks file.

Chef workstation configuration

Install the AWS EC2 drivers

Open a Bash or CMD window in the Chef cookbook folder

  • Install the kitchen-ec2 driver
    chef gem install kitchen-ec2

    More info on the ec2 driver at
    https://github.com/test-kitchen/kitchen-ec2
  • Add the gem folder to the path
    • On Macintosh
      • Add the path to the ~/.zshrc or ~/.bash_profile file
    • On Ubuntu
      • Add the path to the end of the file with gedit ~/.profilePATH=$HOME/.chefdk/gem/ruby/X.X.X/bin:$PATH
  • Open a new terminal window for the change to take effect
  • Install the  chef-zero-scheduled-task plugin
    chef gem install chef-zero-scheduled-task
  • Install the latest vagrant plugin
    chef gem install kitchen-vagrant

“0 available” cargo in SnowRunner

When you load your own truck with a crane in Snowrunner, make sure you ”pack the cargo”.

It is important to secure it for transport, but most importantly when you deliver it to the drop off location, if the cargo is unpacked, the cargo action shows “0 available”.

Solution

In the action menu select ”pack cargo” and enter the ”cargo action” again.