Table of Contents
- Computer: Recommended specs for computer.
- Dropbox: File storage.
- Windows Terminal: Terminal for Windows.
- Windows Subsystem for Linux: Run Linux on Windows.
- Scoop: Package manager for Windows.
- oh-my-posh: Better terminal prompt.
- Vim: Text editor to speed up your typing.
- Vimium: Google Chrome extension to speed up your Googling.
- Visual Studio Code: IDE to speed up your development.
- Git: Version control for champs.
- Docker: Container management.
- dotnet: .NET Core CLI for building .NET applications.
- Node: A JavaScript runtime.
- Python: Easy to read, learn, and use programming language.
- kubectl: Kubernetes CLI.
- kubectxwin: CLI for configuring Kubernetes contexts.
- kubenswin: CLI for configuring Kubernetes namespaces.
- Helm: Package manager for Kubernetes.
- Pulumi: Infrastructure as code.
- Lightshot: Screen capture tool.
- ScreenToGif: Screen capture tool, but GIFs.
- OBS Studio: Screen recording tool.
Computer
I use a Dell XPS 13 which I think is reasonably priced. It is also light and sturdy.
- RAM: 16 GB
- Processor: Intel i7
- Disk: 500 GB
When you setup make sure to first run Window Update to get any driver and BIOS updates. Then open ‘Turn Windows features on or off’ in the control panel and enable ‘Virtual Machine Platform’ and ‘Windows Subsystem for Linux’.
Dropbox
Dropbox is great for scanning documents. I personally keep a single ‘Documents’ folder with all my files and then just use the search when I need to find something. I use the file name convention
YYYY-MM-DD Description
so I can also look back historically. The iPhone app makes a really high quality scan and automatically adds timestamps. Installation
Windows Terminal
New terminal for Windows. Makes for a much better terminal experience.
Installation
Open the Windows Store and search for ‘terminal’. Then click ‘Install’.

Resources
Windows Subsystem for Linux (WSL)
Run Linux on Windows.
Installation
Open PowerShell and run
wsl --install
Install Ubuntu
wsl --install --distribution Ubuntu
Usage

References
Scoop
Package manager for Windows.
Installation
Set the execution policy.
Set-ExecutionPolicy RemoteSigned -s CurrentUser
Install scoop.
iex (New-Object net.webclient).downloadstring('https://get.scoop.sh')
Install sudo.
scoop install sudo
This allows you to run a command as an ‘Administrator’.
Add extras and versions buckets.
scoop bucket add extras
scoop bucket add versions
Usage
Search for packages
scoop search vim
Install a package
scoop install vim
References
oh-my-posh
Better prompt.
Installation
Install with Scoop.
scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
Open your profile.
vim $env:PROFILE
Add the following line to the top of your profile to use the ‘paradox’ theme.
Invoke-Expression (oh-my-posh --init --shell pwsh --config "$(scoop prefix oh-my-posh)/themes/paradox.omp.json")
References
Vim
Text editor to speed up your typing. It takes a little while to get used to but the persistence pays of in the long run.
Installation
scoop install vim
Usage
Open vim in current directory.
vim .
Open a file in vim
vim ./my-file.txt
Resources
Vimium
Google Chrome extension to speed up your Googling. Use Vim keybindings to navigate around the browser.
Installation
Head to Vimium homepage and click the ‘Install’ button. Or search for ‘Vimium’ in the Chrome Web Store and install from there.
Usage
j,k
: used to scroll up and down respectively.d,u
: used to page up and down respectively.f-{other}
: used to show links on page and then navigate to{other}
which was the shown link.?
: show the rest of the keybindings and other help.
Visual Studio Code
IDE to speed up your development.
Installation
scoop install vscode
Usage
Open current directory in VS Code.
code .
Open file in VS Code.
code ./my-file.txt
References
Git
Version control for champs.
Installation
scoop install git
git config --global credential.helper manager-core
git config --global core.autocrlf true
Usage
Initialize a new repository.
mkdir my-repo
cd my-repo
git init
Add a file to track.
echo "hello" > hello.txt
git add hello.txt
Commit changes.
git commit -m 'added hello.txt'
Docker
Container management.
Installation
Usage
View running containers
docker ps -a
View local images
docker images
Pull image from DockerHub
docker pull bash
Run a container
docker run -it bash
dotnet
Cross platform toolchain for developing .NET applications.
Installation
scoop install dotnet-sdk
Usage
Create a new F# console application
dotnet new console -lang F# -n my-fsharp-app
Run F# Interactive
dotnet fsi
Microsoft (R) F# Interactive version 12.0.0.0 for F# 6.0
Copyright (c) Microsoft Corporation. All Rights Reserved.
For help type #help;;
> let x = 1;;
val x: int = 1
> let y = 2;;
val y: int = 2
> x + y;;
val it: int = 3
Node
A JavaScript runtime.
Installation
scoop install nvm
List available versions.
nvm list available
| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
| 17.8.0 | 16.14.2 | 0.12.18 | 0.11.16 |
| 17.7.2 | 16.14.1 | 0.12.17 | 0.11.15 |
| 17.7.1 | 16.14.0 | 0.12.16 | 0.11.14 |
| 17.7.0 | 16.13.2 | 0.12.15 | 0.11.13 |
| 17.6.0 | 16.13.1 | 0.12.14 | 0.11.12 |
| 17.5.0 | 16.13.0 | 0.12.13 | 0.11.11 |
| 17.4.0 | 14.19.1 | 0.12.12 | 0.11.10 |
| 17.3.1 | 14.19.0 | 0.12.11 | 0.11.9 |
| 17.3.0 | 14.18.3 | 0.12.10 | 0.11.8 |
| 17.2.0 | 14.18.2 | 0.12.9 | 0.11.7 |
| 17.1.0 | 14.18.1 | 0.12.8 | 0.11.6 |
| 17.0.1 | 14.18.0 | 0.12.7 | 0.11.5 |
| 17.0.0 | 14.17.6 | 0.12.6 | 0.11.4 |
| 16.12.0 | 14.17.5 | 0.12.5 | 0.11.3 |
| 16.11.1 | 14.17.4 | 0.12.4 | 0.11.2 |
| 16.11.0 | 14.17.3 | 0.12.3 | 0.11.1 |
| 16.10.0 | 14.17.2 | 0.12.2 | 0.11.0 |
| 16.9.1 | 14.17.1 | 0.12.1 | 0.9.12 |
| 16.9.0 | 14.17.0 | 0.12.0 | 0.9.11 |
| 16.8.0 | 14.16.1 | 0.10.48 | 0.9.10 |
Install the latest LTS.
nvm install 16.14.2
Use installed version.
nvm use 16.14.2
Usage
Run JavaScript REPL.
node
Welcome to Node.js v14.17.0.
Type ".help" for more information.
> var x = 1;
undefined
> var y = 2;
undefined
> x + y
3
Resources
Python
Easy to read, learn, and use programming language.
Installation
Install
pyenv
scoop install pyenv
List available versions
pyenv install --list
:: [Info] :: Mirror: https://www.python.org/ftp/python
3.8.9
3.8.10
3.9.0
3.9.2
3.9.6
Install latest version.
pyenv install 3.9.6
Set latest as global version.
pyenv global 3.9.6
Usage
Check version.
python --version
Run Python REPL.
python
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 1
>>> y = 2
>>> x + y
3
References
kubectl
Kubernetes CLI.
Installation
scoop install kubectl
Update your
KUBECONFIG
environment variable and (optionally) add an alias.vim $PROFILE
$env:KUBECONFIG = "C:\Users\<user>\.kube\config;"
Set-Alias k kubectl
Then reload your profile.
. $PROFILE
Usage
k get pods --all-namespaces
kubectxwin
CLI for configuring Kubernetes contexts
Installation
Clone the repository.
git clone https://github.com/thomasliddledba/kubectxwin.git
Add the executable to the PATH and (optionally) add an alias.
vim $PROFILE
$env:Path += ";C:\<path to kubectxwin repo>\bin"
Set-Alias ktx kubectxwin
Reload your profile.
. $PROFILE
Usage
View contexts
ktx ls
Change context
ktx set docker-desktop
Switched to context "docker-for-desktop".
kubenswin
CLI for configuring Kubernetes namespaces
Installation
Clone the repository.
git clone https://github.com/thomasliddledba/kubenswin.git
Add the executable to the PATH and (optionally) add an alias.
vim $PROFILE
$env:Path += ";C:\{path to kubenswin repo}\bin"
Set-Alias kns kubenswin
Reload your profile.
. $PROFILE
Usage
View namespaces
kns ls
Change namespace
kns set kube-system
Helm
Package manager for Kubernetes.
Installation
scoop install helm
Usage
Install a chart (i.e., package).
helm install stable/postgresql --name my-postgres
List charts.
helm list
Show status of chart.
helm status my-postgres
Pulumi
Infrastructure as code.
Installation
Install using Scoop.
scoop install pulumi
Usage
Create a new project.
mkdir pulumi
pulumi new kubernetes-typescript
Preview the changes.
pulumi preview
Update the resources.
pulumi up
Resources
Lightshot
Screen capture tool. (Used for most of the images in this post.)
Installation
Usage
Take a screen shot by pressing the
PrtScr
button on your keyboard. You can then select an area on your screen, add lines or arrows, and save or copy the image to your clipboard.Resources
ScreenToGif
Screen capture tool, but GIFs.
Installation
Usage
Start ScreenToGif.
Drag the window around the area you would like to record and press
F7
to start recording. Press F8
to stop recording.
Resources
OBS Studio
Screen recording tool.