# Chris Johnson's KB

Welcome

Welcome to Chris Johnson's Knowledge Base / Wiki / brain dump. If you want to learn more about me and my development work, head to <https://chrisltd.com>.

Inspired by [https://wiki.nikitavoloboev.xyz](https://wiki.nikitavoloboev.xyz/)


# Pages to Add

These are pages I plan on adding in the future

* Hardware I use
* Household stuff I use
* Cloud9 server setup
* Wine journal
* Media diet
* Hiking gear
* Travel gear
* Clothes Sizes
* Link to friends' digital gardens, like Chuck's <https://notes.cagrimmett.com>


# Apache

[Digital Ocean tutorial for Virtual Hosts](https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-18-04).

Enable site:`sudo a2ensite SITENAME`

Disable site:`sudo a2dissite SITENAME`

List apache modules:`apache2ctl -M`

Enable an apache2 module:`sudo a2enmod MODULENAME`

Disable an apache2 module:`sudo a2dismod MODULENAME`

Enable mod rewrite: `sudo a2enmod rewrite`

Reload server:`service apache2 reload`

Force reload the server:`sudo /etc/init.d/apache2 force-reload`

Apache file permissions:

```
chown -R www-data:www-data /folder/
chmod +r /folder
```

Virtual hosts directory: `/etc/apache2/sites-available/`

Virtual Host sample file:

```
<VirtualHost *:80>
  DocumentRoot /var/www/site
  ServerName site.example.com
  CustomLog /var/www/logs/site/access.log combined
  ErrorLog /var/www/logs/site/error.log
</VirtualHost>
```


# Docker

Start with a Docker Compose file:`docker-compose up`

Start with a Docker Compose file and run as a background daemon:`docker-compose up -d`

Force recreate & rebuild a Docker Compose containers:`docker-compose up --force-recreate --build`

Stop services with Docker Compose:`docker-compose stop`

Stop and remove services with Docker Compose:`docker-compose down`

Connect to container shell:`docker exec -it CONTAINER_NAME_HERE bash`

Build Docker Compose project:`docker-compose build`

Stop containers and removes volumes:`docker-compose down -v`

See Docker processes:`docker ps`

See Docker stats (CPU, Memory, Network):`docker stats`

View Docker Compose logs:`docker-compose logs`

Remove unused images:`docker image prune`

Remove stopped containers:`docker container prune`

Remove stopped containers older than a week: `docker container prune --filter "until=168h"`

Remove unused volumes:`docker volume prune`

Remove unused networks:`docker network prune`

Run all prunes:`docker system prune`

See all containers (even stopped containers):`docker ps -a --no-trunc`

Remove containers that haven't been used in weeks:`docker ps -a | grep Exited | grep "weeks ago" | awk '{print $1}' | xargs docker rm`

Remove container:`docker rm CONTAINER_NAME`

Remove image:`docker rmi IMAGE_NAME`

## Dumping and restoring postgres databases in Docker

Backup local database: `docker exec -t postgres_container_name pg_dump -d db_name -c -U postgres > dev_db.dump`

Import to local postgres in docker: `docker exec -i postgres_container_name pg_restore -U postgres -v -d db_name --clean < latest.dump`

## Documentation links:

* [Official documentation](https://docs.docker.com)
* [Docker Tips and Cheatsheet](https://blog.jez.io/2015/07/12/docker-tips-and-cheatsheet/)
* [Local WordPress dev with Docker](https://medium.com/@tatemz/local-wordpress-development-with-docker-3-easy-steps-a7c375366b9)
* [Persisting MySQL data with Docker](https://stackoverflow.com/questions/39175194/docker-compose-persistent-data-mysql/39208187#39208187)


# Gatsby

### Plugins

[gatsby-plugin-react-helmet](https://www.gatsbyjs.com/plugins/gatsby-plugin-react-helmet/)

gatsby-plugin-styled-components ([How to use](https://www.smashingmagazine.com/2020/07/styled-components-react/))

styled-bootstrap-grid

[gatsby-plugin-sass](https://www.gatsbyjs.com/plugins/gatsby-plugin-sass/)


# Git

### Commands

Remove a file from the repo without deleting it:`git rm --cached MYFILE.TXT`

Remove a directory from the repo without deleting it:`git rm --cached -r MYDIRECTORY`

Search through git branches: `git branch --all | grep -i MYSEARCH`

#### Reset remote "busted\_branch" with the contents of a "better\_branch"

Make sure everything is pushed up to your remote repository, then checkout your `busted_branch`:

```
git checkout busted_branch
```

Overwrite `busted_branch` with `better_branch`:

```
git reset --hard better_branch
```

Force the push to your remote:

```
git push -f origin busted_branch
```

Resolve conflicted file with "their" changes:

```
git checkout --theirs path/to/file
```

Resolve conflicted file with "our" changes:

```
git checkout --ours path/to/file
```

### Aliases to add to .gitconfig file

To prevent weird indenting, set paste mode in vim: `:set paste`

```
[user]
  name = Your Name
  email = your@email.com
[core]
  quotepath = false
  autocrlf = input
  editor = 'vim'
[push]
  default = simple
  autoSetupRemote = true
[alias]
  co = checkout
  ec = config --global -e
  up = !git pull --rebase --prune $@ && git submodule update --init --recursive
  cob = checkout -b
  cm = !git add -A && git commit -m
  save = !git add -A && git commit -m 'SAVEPOINT'
  wip = !git add -u && git commit -m "WIP"
  undo = reset HEAD~1 --mixed
  amend = commit -a --amend
  wipe = !git add -A && git commit -qm 'WIPE SAVEPOINT' && git reset HEAD~1 --hard
  bclean = "!f() { git branch --merged ${1-master} | grep -v " ${1-master}$" | xargs -r g:it branch -d; }; f"
  bdone = "!f() { git checkout ${1-master} && git up && git bclean ${1-master}; }; f"
  st = status
  logp = log --pretty=oneline --max-count=20
  subinit = !git submodule init && git submodule update
  mmain = !git fetch origin main && git merge origin/main
  mmaster = !git fetch origin master && git merge origin/master
```

When done pasting: `:set nopaste`

## GitHub CLI

Install on Mac: `brew install gh`

Auth: `gh auth login`

Check current PR check status: `gh pr checks`

Create PR: `gh pr create`

Check PR statuses: `gh pr status`

Merge PR: `gh pr merge`

Checkout PR: `gh pr checkout PR_NUMBER_HERE`

Edit PR: `gh pr edit`

Sources: <https://dev.to/thomaslombart/how-to-save-time-with-github-cli-b9n>


# GraphQL

Content to come


# iOS

### Cleaning Simulators & Test Device Files

List simulators in \~/Library/Developer/CoreSimulator: `xcrun simctl list devices`

Delete unavailable simulators: `xcrun simctl delete unavailable`

Delete simulator: `xcrun simctl delete DEVICE-ID-HERE`

Clear derived data: `rm -rf ~/Library/Developer/Xcode/DerivedData/*`

Delete old test device support files: `open ~/Library/Developer/Xcode/iOS\ DeviceSupport/`

Go into Xcode Organizer and delete old Archives.


# MySQL

Login:`mysql -u USERNAME -pPASSWORD`

Dump:`mysqldump -u USERNAME -pPASSWORD DATABASENAME > DUMP.SQL`

Restore:`mysql -u USERNAME -pPASSWORD DATABASENAME < DUMP.SQL`

Add user:

```
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
```

List databases:`SHOW DATABASES;`

Add database:`CREATE DATABASE databasename;`

Use database:`USE databasename;`

Drop database:`DROP DATABASE databasename;`


# Nginx

### [Setting up a virtual host](https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-virtual-hosts-server-blocks-on-ubuntu-12-04-lts--3)

Enable a site:`sudo ln -s /etc/nginx/sites-available/SITENAME /etc/nginx/sites-enabled/SITENAME`

Reload server:`sudo service nginx restart`

### Location of nginx config on Ubuntu

`/etc/nginx/nginx.conf`

### Documentation links:

* [Pitfalls](http://wiki.nginx.org/Pitfalls)
* [Quick Start](http://wiki.nginx.org/QuickStart)
* [Configuration](http://wiki.nginx.org/Configuration)


# NextJS

### Testing APIs with Postman (or Insomnia)

You'll need to login and [copy your Bearer token authorization](https://github.com/auth0/nextjs-auth0/issues/135) into your API tool of choice. If you're using Postman, there is an [Interceptor Chrome Extension](https://learning.postman.com/docs/sending-requests/capturing-request-data/interceptor) that simplifies this process.


# NodeJS

List global top level NodeJS packages: `npm list -g --depth 0`

### Yarn

[Selective dependency resolution](https://classic.yarnpkg.com/en/docs/selective-version-resolutions#search), aka, force a package to use a specific version of a dependency.

In your package.json file to rewrite the usage of left-pad in the d2 library you're importing:

```
  "resolutions": {
    "d2/left-pad": "1.1.1",
    "**/left-pad": "^1.1.2"
  }
```

`**` act as a wildcard if you'd like to change more than one parent library.


# Rails

### [RBEnv](https://github.com/sstephenson/rbenv/)

List current ruby version: `rbenv versions`

Set local/directory version of ruby:`rbenv local <VERSION>`

After installing a gem that adds new binaries (new commands):`rbenv rehash`

### [Ruby Gems](http://docs.rubygems.org/)

Updating gem system:`gem update --system --no-document`

### [Bundler](http://gembundler.com/)

Install gems from current bundle:`bundle install` **or:** `bundle install --without production`

Run an executable that comes with a gem in your bundle:`bundle exec <GEM COMMAND>`

Update one gem: `bundle update --conservative <GEM NAME>`

### [Rails](http://guides.rubyonrails.org/)

Create a new Rails project:`rails new <APP NAME>`

Create Rails database:`rake db:create`

Update Rails database:`rake db:migrate`**or:**`rake db:migrate RAILS_ENV=production`

Run Rails server:`rails server`

Rails console:`rails console --sandbox`

Rails console bypass model validation:`XXXXXX.update(admin: true) XXXXXX.save(:validate => false)`

### Capistrano

Deploy:`bundle exec cap TASKHERE deploy`

### Heroku

Create app:`heroku create`

Push app:`git push heroku master`

Auth Heroku: `heroku auth:login`

Open app:`heroku open`

Run console:`heroku run rails console`

Migrate database:`heroku run rake db:migrate`

If you want to run sqlite locally and pg on heroku, your gemfile needs to look like this:

```
group :development do
   gem 'sqlite3'
end

group :production do
   gem 'pg'
end
```

You may need to add the Ruby version to your gemfile as well:`ruby '1.9.3'`

To get your assets to properly compile on heroku, change your production.rb file to say true here instead of false:`config.assets.compile = true`

[Deploy to heroku through git](https://devcenter.heroku.com/articles/git).

Deploy with branch name other than master or main: `git push heroku my-branch:main`

### Dokku

Push app:`git push dokku master`

In your production group, you'll likely want these two gems:

```
gem 'pg' # postgres
gem 'rails_12factor' # for logging
```

SSH into server to run dokku commands. Use `dokku --help` for list of commands.

[Use git to deploy Heroku app](https://devcenter.heroku.com/articles/git).


# React

### Libraries

styled-bootstrap-grid or [bootstrap-styled](https://bootstrap-styled.github.io/bootstrap-styled/)

styled-components

react-helmet

[react-accessible-accordion](https://github.com/springload/react-accessible-accordion)

react-icons

Slider: [react-slick](https://github.com/akiran/react-slick), and slick-carousel for styles:

```
npm install slick-carousel --save
```

```
import "~slick-carousel/slick/slick.css"; 
import "~slick-carousel/slick/slick-theme.css";
```


# Security Tools

Check your open source dependencies for critical vulnerabilities.

**Yarn**

`$ yarn audit --level critical`

**NPM**

`$ npm audit | grep Critical -B3 -A10`

**Ruby Gems**

`$ gem install bundler-audit`\
`$ bundle audit`

Run all development projects through Docker, a virtual machine, or a remote machine to protect your system and other projects.

### Resources

* [NPM Advisories](https://www.npmjs.com/advisories)
* [NPM Security](https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities)
* [MacOS security and privacy guide](https://github.com/drduh/macOS-Security-and-Privacy-Guide)
* [Docker for Mac](https://github.com/docker/for-mac)
* [Using Node in Docker](https://www.docker.com/blog/keep-nodejs-rockin-in-docker/)
* [Bundler Audit](https://github.com/rubysec/bundler-audit)
* [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)

### Malicious NPM packages

* <https://blog.bitsrc.io/malicious-npm-development-kit-a02401e6537e>
* <https://www.twilio.com/blog/2017/08/find-projects-infected-by-malicious-npm-packages.html>
* <https://news.ycombinator.com/item?id=17283394>
* [https://www.google.com/amp/s/www.zdnet.com/google-amp/article/malicious-npm-packages-caught-installing-remote-access-trojans/](https://www.google.com/amp/s/www.zdnet.com/google-amp/article/malicious-npm-packages-caught-installing-remote-access-trojans/?authuser=0)<br>


# Shell (Linux)

## Shell Cheat Sheet

### File & Folder Operations

Delete a directory:`rm -r directory`

Delete file:`rm FILETODELETE`

New directory:`mkdir FOLDERNAME`

Copy file:`cp SOURCE DEST`

Copy folder:`cp -avr SOURCE DEST`

Watch file:`less +F YOUR.LOG`

Move/Rename folder:`mv OLD NEW`

### CURL

Download file:`curl -O URLHERE`

### Zipping & Uzipping

Unzip:`unzip FILENAME.ZIP`

Untar & Gzip:`tar -xzf FILENAME.TAR.GZ`

Ungzip: `gzip -d FILENAME.GZ`

Zip folder:`zip -er DESTINATION.ZIP FOLDER`

### Processes

Kill process:`kill -9 PROCESSID`

Kill process on port: `kill $(lsof -t -i:PORT_HERE)`

Find process:`ps -ef | grep PROCESS NAME`

Process list:`ps aux`

Root process list:`ps -u root`

Check memory usage in megabytes:`free -m`

List of ports in use: `sudo lsof -i -P -n`

### Permissions

Set all new files and folders to[ inherit the group of the current folder](https://unix.stackexchange.com/a/401751): `$ chmod -R g+s somefolder`


# SwiftUI

<https://fuckingswiftui.com>


# Ubuntu Server

## General

Check version: `$ cat /etc/lsb-release`

## [Securing new server](https://www.linode.com/docs/security/securing-your-server)

On remote server install [Fail2Ban](http://www.fail2ban.org/wiki/index.php/Main_Page):`sudo apt-get update && sudo apt-get install fail2ban`

Add folder for SSH keys:`mkdir -p ~/.ssh && sudo chmod -R 700 ~/.ssh/`

On your local machine create an SSH key pair if you haven't before:`ssh-keygen -b 4096`

Push SSH Key on local machine to remove server:`cat ~/.ssh/id_rsa.pub | ssh ROOT@EXAMPLE.COM 'cat >> ~/.ssh/authorized_keys'`

Verify SSH key connection, then disable password entry on remote server:`vim /etc/ssh/sshd_config`

Then change `PasswordAuthentication` from `yes` to `no`, save the file, and finally restart SSH:`sudo systemctl restart sshd`

Check recent SSH logins:`grep "Accepted" /var/log/auth.log`

## [Setup](https://developer.ibm.com/devpractices/devops/blogs/two-factor-authentication-for-ssh/) [2FA](https://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-16-04) [for SSH](https://ubuntu.com/tutorials/configure-ssh-2fa#1-overview)

Start a terminal session and type:`sudo apt install libpam-google-authenticator` To make SSH use the Google Authenticator PAM module, add the following line to the `/etc/pam.d/sshd` file:

```
auth required pam_google_authenticator.so
```

Also, so we don't get asked for a password, and instead use our SSH key for auth, comment out the line `@include common-auth`:

```
#@include common-auth
```

Modify `/etc/ssh/sshd_config` – change `ChallengeResponseAuthentication` from no to yes, so this part of the file looks like this:

```
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no # CHANGE THIS TO YES

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
```

Then add this to the same `/etc/ssh/sshd_config` file:`AuthenticationMethods publickey,keyboard-interactive`

In a terminal, run the `google-authenticator` command.

It will ask you a series of questions, here is a recommended configuration:

* Make tokens “time-base””: yes
* Update the .google\_authenticator file: yes
* Disallow multiple uses: yes
* Increase the original generation time limit: no
* Enable rate-limiting: yes

Store the 2FA stuff in your favorite auth manager, and keep a copy of the recovery codes.

Restart the sshd daemon using:`sudo systemctl restart sshd.service`

## [Installing WordPress](https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-ubuntu-20-04-with-a-lamp-stack)

Digital Ocean, start with [LAMP app](https://marketplace.digitalocean.com/apps/lamp), otherwise follow [these instructions](https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04) to get LAMP going.

Download WordPress, and setup the WP Config and Htaccess files:

```
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
touch /tmp/wordpress/.htaccess
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
mkdir /tmp/wordpress/wp-content/upgrade
```

Now, we copy the contents of the WordPress temp directory to our Apache2 site. We are using a dot at the end of our source directory to indicate that everything within the directory should be copied, including hidden files:`sudo cp -a /tmp/wordpress/. /var/www/MY_DIR`

Update the ownership with the chown and chmod commands.

```
sudo chown -R www-data:www-data /var/www/MY_DIR
chmod -R g+s /var/www/MY_DIR
sudo find /var/www/MY_DIR/ -type d -exec chmod 750 {} \;
sudo find /var/www/MY_DIR/ -type f -exec chmod 640 {} \;
```

Login to MYSQL:`$ mysql -u USERNAME -pPASSWORD`

Create a MySQL database and user (note these instructions will give the resulting user access to all databases):

```
CREATE DATABASE databasename;
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
```

Update the `wp-config.php` file to reference your new database and user name. Also update the SALT values.

Visit the site in your browser to finish the installation.

#### Additional PHP extensions

One of the themes I use requires mbstring which you can install like this: `$ sudo apt install php-mbstring`

&#x20;Then restart Apache: `$ sudo service apache2 restart`

## [Installing Rails](https://gorails.com/setup/ubuntu/16.04)

Install Ruby dependencies:`sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs`

Install Ruby with rbenv, be sure to change 2.2.2 with whatever Ruby version you want:

```
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.4.1
rbenv global 2.4.1
ruby -v

gem install bundler
```

Install NodeJS:`curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs`

Install Rails, change the version to the one you want:

```
gem install rails -v 5.1.3
rbenv rehash
rails -v
```

Install PostgreSQL:

```
sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common
sudo apt-get install postgresql-9.5 libpq-dev

sudo -u postgres createuser chris -s

# If you would like to set a password for the user, you can do the following
sudo -u postgres psql
postgres=# \password chris
```

Setting up a project with SQLite:`rails new myapp`

Setting up a project with PostgreSQL, you may need to edit `config/database.yml` to match the user you created earlier:`rails new myapp -d postgresql`

Run Rails dev server so you can [access it remotely](https://stackoverflow.com/a/30723007/648844):`rails s -b 0.0.0.0`

## Webpack

Increase file watching limit:

```
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```

## Firewall

I had to open up port 3000 to get browsersync on port 3000 to work with my local browser.

Check firewall status: `$ sudo ufw status`

Allow port access (port/protocal): `$ ufw allow 3000/tcp`&#x20;

Remove an allow rule: `$ ufw delete allow 3000/tcp`

## Postgres

Installing postgres on Ubuntu/Debian for dev

```
sudo apt update
sudo apt install postgresql postgresql-contrib
```

Log in to postgres and create the uprise db

```
sudo -u postgres psql
create database my_db;
\q
```

Allow passwordless connections for postgres dev:

```
sudo -u postgres psql
show hba_file;
\q
```

Copy result of command above, and edit in vim/nano

Change this line:

```
host    all             all             127.0.0.1/32            md5
```

To:

```
host    all             all             127.0.0.1/32            trust
```

Restart postgres:

```
sudo /etc/init.d/postgresql restart
```


# Vim

### Setup

1. Put these files in a clean .vim directory under your \~user directory
2. Create symlinks to the configuration files using these commands:

   ```
    cd ~
    ln -s ~/.vim/vimrc .vimrc
    ln -s ~/.vim/gvimrc .gvimrc
   ```
3. Install [Shell Scripts](https://github.com/ChrisLTD/shell_scripts).

### Plugins

1. [ctrlp](http://kien.github.com/ctrlp.vim/) – fuzzy project searching
2. [minibufexpl](http://www.vim.org/scripts/script.php?script_id=159) – to show buffer list at the top of the screen
3. [vim-surround](https://github.com/tpope/vim-surround) – wrapping text with html tags or other characters
4. [commentary](https://github.com/tpope/vim-commentary) – commenting and uncommenting lines
5. [vim-multiple-cursors](https://github.com/terryma/vim-multiple-cursors) – Sublime Text style multiple cursors
6. [EasyGrep](https://github.com/vim-scripts/EasyGrep) – Faster easier multifile text search
7. [vim-airline](https://github.com/bling/vim-airline) – Configurable status bar
8. [vim-gitgutter](https://github.com/airblade/vim-gitgutter) – Show git status lines in gutter
9. [vim-better-whitespace](https://github.com/ntpeters/vim-better-whitespace) – Show and remove whitespace at the end of lines
10. [nerdtree](https://github.com/scrooloose/nerdtree) – File browser
11. [vim-coffee-script](https://github.com/kchmck/vim-coffee-script) – Coffeescript syntax highlighting
12. [vim-css3-syntax](https://github.com/hail2u/vim-css3-syntax) – CSS3 & SASS syntax support
13. [vim-less](https://github.com/genoma/vim-less) – Syntax highlighting for Less, requires [vim-css3-syntax](https://github.com/hail2u/vim-css3-syntax)
14. [vim-fugitive](https://github.com/tpope/vim-fugitive) – Git wrapper, adds current branch to Airline status bar

### Additional files

The html transformation commands at the bottom of the vimrc file require scripts you can find in [my Scripts repository](http://github.com/ChrisLTD/shell_scripts). Those scripts should be installed in your \~/Scripts/ directory on Mac.

### Thanks to...

* Tim Pope for [Pathogen](https://github.com/tpope/vim-pathogen) and many other great Vim treats
* Jonathan Filip for the [Lucius color scheme](http://www.vim.org/scripts/script.php?script_id=2536)
* Mislav Marohnić for his [base Vim setup](http://mislav.uniqpath.com/2011/12/vim-revisited/)

### Plugins to try

1. [YouCompleteMe](https://github.com/Valloric/YouCompleteMe)
2. [syntastic](https://github.com/scrooloose/syntastic)
3. [ack.vim](https://github.com/mileszs/ack.vim) – Replacement for EasyGrep

## Keyboard Command Reference

* Open in Safari = \o
* Convert to markdown (add p tags) = \md
* Convert HTML to markdown = \ht
* Educate quotes = \6
* Convert html to entities = \7
* html encode = \[x decode = ]x
* Wrap line = put cursor on line, type yss then what you want to wrap (works with HTML tags)
* Replace surrounding character = cs\[old character]\[new character] (example, change double to single quotes: cs"')
* Comment selection = \\
* Comment line = \\\\
* Text search in project = :Grep regexp
* Change search options: :GrepOptions
* Search for current word in project = \vv
* Vertical selection = \[control-v]
* Multiple cursors = \[control-n] when on a word to start a cursor at the next matching word (\[control-p] to go back, \[control-x] to skip)
* Live multiline cursors = Create vertical visual selection, then press \[control-n]
* Search current directory = \[control-p], select ".." to go up a directory, \[F5] to refresh
* Remove trailing whitespace = :StripWhitespace
* Toggle NERD Tree = \[control-t]
* Full buffer NERD Tree = :Explore
* Create new file in NERD Tree = m, then press a
* Git commands, open in background temporarily = :Git \[command], use % to pass in current file
* Git commands, open in buffer = :Gcommit, :Gstatus, :Gdiff, :Gblame

### Helpful Shell Commands

* Put Vim in the background = \[control-z]
* Return Vim to the foreground = fg
* Open MacVim inside the terminal = mvim -v

### General Vim commands

* Escape insert mode = Esc or \[control-]]
* Undo = u
* Redo = \[control-r]
* Page up & page down = \[control-f] & \[control-b]
* Replace word = cw
* Switch buffers = \[control-tab] go backwards by adding shift
* Close buffer = :bd
* Next/Prev buffer = :bn :bp
* List buffer = :ls
* Start new file = :e newfile.txt
* Wrap line = put cursor in line, type yss then what you want to wrap... could be HTML
* Insert new line = o or O for line before
* Delete line = dd
* Delete until end of line = D
* Join next line with current line = J
* Go to line = line# gg
* Go to end of line = $
* Go to beginning of line = 0
* turn off auto indent = set noautoindent
* see buffer commands = :b\[tab]
* copy line into register = "\[letter]yy ([More on how to use registers](http://bit.ly/qTK4yi))
* see all registers = :reg
* system clipboard = "\*
* Vertical select = control+v then select your column, I to insert, d to delete, r to replace
* Window commands = control+w s split window, control+w hjkl move windows control+w c close window, control+q to quit a window
* Replace to end of line = c$
* Indent line = :>>
* Repeat last command = .
* find = :/\[text here]
* Find next = n (previous = N)
* Find and replace = %s/searchterm/replacementtext/c (% = whole file, c = confirm change), [more info](http://vim.wikia.com/wiki/Search_and_replace)
* Clear search highlight = :noh
* Text search in project = :vimgrep /regex/gj *\*/* (then use :cw to see a list of results, [more info](http://vimcasts.org/episodes/search-multiple-files-with-vimgrep/))
* Word complete = \[control-n] or \[control-p] in Insert mode
* Change case = gu (lowercase), gU (uppercase)
* Recording keystrokes = q\[buffer key], stop recording with q, play recording with @\[buffer key]
* Help for command = :help COMMAND
* List of commands = :command \[optional command] (use for when you have command conflicts)
* Run shell command from Vim = :!\[shell command]
* Close quickfix window = :ccl
* Enable word wrap = :set wrap (nowrap to disable)


# Mac

## App Favorites

I've left default Apple apps off this list (like Calendar, and Music), but I use those as well.

* [1Password](https://1password.com/) - Password vault
* [Acorn](https://flyingmeat.com/acorn/) - Image editor
* [Arq Backup](https://www.arqbackup.com/) - Backup archived files to B2 or S3
* [Backblaze](https://www.backblaze.com/) - Backup entire computer
* [Beekeeper Studio](https://www.beekeeperstudio.io) - Database editor (SQLite, MySQL, MariaDB, Postgres, CockroachDB, SQL Server, and Amazon Redshift)
* [BBEdit](https://www.barebones.com/products/bbedit/) - Lightweight text editor
* [Be Focused Pro](https://apps.apple.com/us/app/be-focused-pro-focus-timer/id961632517?mt=12) - Pomodoro timer
* [Boop](https://apps.apple.com/us/app/boop/id1518425043) - Text transformers
* [CodeRunner](https://coderunnerapp.com/) - Playground for different programming languages
* Creative Cloud - I use this just for Photoshop.
* [DaisyDisk](https://daisydiskapp.com/) - Helps cleanup old files
* [Dropbox](https://www.dropbox.com/) - Sync files
* [Encrypt.me](https://encrypt.me/) - VPN
* [Forecast](https://overcast.fm/forecast) - Edit tags for podcast mp3s
* [HandBrake](https://handbrake.fr/) - Convert video files
* [Hazel](https://www.noodlesoft.com/) - automate file cleanup and organization
* [HazeOver](https://apps.apple.com/us/app/hazeover-distraction-dimmer/id430798174?mt=12) - Darken inactive windows
* [Hidden](https://apps.apple.com/us/app/hidden-bar/id1452453066?mt=12) - Hide menu bar apps
* [ImageOptim](https://imageoptim.com/mac) - Batch compress images
* [Insomnia](https://github.com/Kong/insomnia) - HTTP / REST client (free)
* [IntelliJ](https://www.jetbrains.com/idea/) - IDE for web project
* [iTerm](https://www.iterm2.com/) - Terminal alternative with more features
* [Keyboard Maestro](https://www.keyboardmaestro.com/) - Text snippets, clipboard history, and OS automation
* [Maccy](https://github.com/p0deje/Maccy) - Lightweight clipboard manager
* [MenuBar Stats](https://apps.apple.com/us/app/menubar-stats/id714196447?mt=12) - Keep track of runaway apps
* [Moom](https://manytricks.com/moom/) - Window management
* [Monitor Control](https://github.com/MonitorControl/MonitorControl) - Control 3rd party monitors with system UI
* [Music Converter Pro](https://apps.apple.com/us/app/music-converter-pro/id468990782?mt=12) - Convert audio files
* [Patterns](https://apps.apple.com/us/app/patterns-the-regex-app/id429449079?mt=12) - Regex helper
* [Paw](https://paw.cloud/) - Debug HTTP requests
* [PGAdmin](https://www.pgadmin.org) - Postgres admin GUI
* [Piezo](https://rogueamoeba.com/piezo/) - Record audio
* [Postman](https://www.postman.com) - Debug HTTP requests (free)
* [Rectangle](https://rectangleapp.com) - Move and resize windows with keyboard shortcuts
* [Reeder](https://reederapp.com/) - RSS reader
* [Rest](https://apps.apple.com/us/app/rest/id661067914?mt=12) - Make yourself to take screen breaks
* [RH Timers](https://apps.apple.com/us/app/rh-timer-manage-your-time/id929960914?mt=12) - Until Siri can do timers
* [Scrutiny](https://peacockmedia.software/mac/scrutiny/) - Check links for websites
* [Sequel Pro](https://www.sequelpro.com/) - GUI for MySQL
* [Shortcat](https://shortcat.app) - Universal command palette
* [Soulver](https://acqualia.com/soulver/) - A better calculator
* [SourceTree](https://www.sourcetreeapp.com/) - Free Git GUI
* [SuperDuper!](https://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html)  - Full disk backup
* [Superkey](https://superkey.app) - Search and click on things by text, and remap a key to Hyper
* [Textual](https://apps.apple.com/us/app/textual-7/id1262957439?mt=12) - IRC client
* [Todoist](https://todoist.com/)  - Cross platform to do list service
* [ToothFairy](https://c-command.com/toothfairy/) - Connect to AirPods from menu bar
* [Transmit](https://panic.com/transmit/) - File transfer to remote&#x20;
* [TripMode](https://www.tripmode.ch/) - Throttle apps while on cellular data
* [Turbo Boost Switcher Pro](https://www.rugarciap.com/turbo-boost-switcher-for-os-x/) - Turn off CPU turbo boost while on battery power
* [Viscosity](https://www.sparklabs.com/viscosity/) - OpenVPN client
* [Visual Studio Code](https://code.visualstudio.com/) - Light code text editor (Use Github for settings sync)
* [Xnip](https://apps.apple.com/us/app/xnip-screenshot-annotation/id1221250572?mt=12) - Annotate screenshots
* [XScope](https://xscopeapp.com/) - Measure things on screen

### Apps to Consider

Great list of open source Mac apps: <https://github.com/serhii-londar/open-source-mac-os-apps>

List of Homebrew Casks: <https://formulae.brew.sh/cask/>

* [iStat Menus](https://bjango.com/mac/istatmenus/) - Keep track of runaway apps
* [BlockBlock](https://objective-see.com/products/blockblock.html) - Get alerts when apps try to install background processes
* [LuLu](https://github.com/objective-see/LuLu) - Open Source LittleSnitch alternative, blocks outgoing apps
* [Timer](https://github.com/Zeqiang-Lai/Timer-APP) - Open Source timer app
* [SwiftBar](https://github.com/swiftbar/SwiftBar) - Put the results of scripts in your menu bar
* [CleanShot X](https://cleanshot.com) - Screenshot tool
* [Suspicious Package](https://www.mothersruin.com/software/SuspiciousPackage/) - Inspect MacOS installers
* [Mouseless](https://mouseless.app) - Keyboard shortcut trainer
* [VimMotion](https://github.com/dwarvesf/VimMotionApp) - Vim like keyboard nav for Mac
* [Blurred](https://github.com/dwarvesf/Blurred) - Open Source alternative to HazeOver
* Parallels -Virtual Machines
* Time Out - Take breaks
* [LaunchControl](https://www.soma-zone.com/LaunchControl/) - Manage and debug system services
* [Homerow.app](https://www.homerow.app) - Search and click things by text
* [Wooshy](https://wooshy.app) - Search and click things by text
* [Red Lines Tools](https://apps.apple.com/us/app/red-lines-tools/id1469400117?mt=12) - Add guides to the screen
* [AltTab.app](https://alt-tab-macos.netlify.app) - Windows like Alt Tabbing interface
* [Multitouch.app](https://multitouch.app/) - Customize trackpad and mouse gestures
* [Raycast](https://www.raycast.com/) - Extensible launcher, like Quicksilver or Spotlight
* [Rewind.ai](https://www.rewind.ai/) - Search engine for everything you do on the Mac
* [Github CLI](https://cli.github.com) - Commands to help w/ Github
* [Scoot](https://github.com/mjrusso/scoot) - Another element based Vim like keyboard for Mac
* [Pomy](https://apps.apple.com/us/app/pomy/id1422640635?mt=12) - Pomodoro & eye strain timer
* [Intermission](https://apps.apple.com/us/app/intermission-breaks-for-eyes/id1439431081?mt=12) - Break timer
* [Breaktimer.app](https://github.com/tom-james-watson/breaktimer-app) - Break timer
* [TripMode App Store Version](https://apps.apple.com/us/app/tripmode/id1513400665?mt=12) - Control which apps have access to the internet
* [Little Snitch Mini](https://apps.apple.com/us/app/little-snitch-mini/id1629008763?mt=12) - See what apps are doing what on the internet
* [Exporter](https://apps.apple.com/us/app/exporter/id1099120373?mt=12) - export Apples notes files
* [Horo](https://matthewpalmer.net/horo-free-timer-mac/) - free timer app
* [RecurseChat](https://recurse.chat) - Run Mistral model and chat with it locally
* [Snippet](https://apps.apple.com/us/app/snippet-code-sharing/id1613020051?mt=12) - Generate beautiful code screenshots

### Retired Apps

* [Bartender](https://www.macbartender.com/) - Organize Mac menu bar
* Virtual Box - X86 virtual machines

## Keyboard shortcuts of note

* Dictation - Ctrl twice (needs to be set in System prefs) / Meh + D&#x20;
* Siri - Hold Opt Space / Meh + S
* Keyboard Maestro Macro - Meh + T
* Lock Screen / Put Display to Sleep - Ctrl Shift Q&#x20;
* Clipboard History (KM) - Ctrl Opt Cmd V&#x20;
* 1Password Autofill - Cmd &#x20;
* 1Password Global - Cmd Shit \\
* Shortcat (Superkey) - Right Cmd F

*(KM): Custom Keyboard Maestro shortcut*

*(Superkey): Right Cmd mapped to Hyper key using Superkey or Karabiner*

## Useful Terminal Commands

[Check disk stats like lifetime read and writes](https://twitter.com/never_released/status/1358539964460511233): `$ smartctl --all /dev/disk0`

2017 MacBook Pro (about \~3 years of usage):\
Data Units Read:                    746,318,540 \[382 TB]\
Data Units Written:                 100,074,549 \[51.2 TB]\
Power On Hours:                    1,349

Check system uptime: `$ uptime`

Check system sleep / wake cycles: `$ pmset -g log|grep -e " Sleep " -e " Wake "`

## Backup Exclusions

### Time Machine

* \~/.dropbox
* \~/Dropbox/.dropbox
* \~/Dropbox/.dropbox.cache
* \~/Library/Containers/com.docker.docker
* docker.driver.amd64-linux/Docker.raw
* \~/Library/Application Support/Developer/Xcode/iOS DeviceSupport
* \~/Library/Application Support/Developer/Xcode/watchOS DeviceSupport

### Backblaze

* \~/Library/Containers/com.docker.docker
* \~/Library/Application Support/NVIDIA
* docker.driver.amd64-linux/Docker.raw
* \~/Library/Application Support/Developer/coresimulator
* \~/Library/Application Support/Developer/Xcode/iOS DeviceSupport
* \~/Library/Application Support/Developer/Xcode/watchOS DeviceSupport

## Homebrew Packages

Get list of top level packages with `$ brew leaves`

* apr-util&#x20;
* aspell&#x20;
* autoconf&#x20;
* awscli&#x20;
* carthage&#x20;
* cmake&#x20;
* composer&#x20;
* cputhrottle&#x20;
* freetds&#x20;
* glib&#x20;
* gmp&#x20;
* heroku/brew/heroku&#x20;
* imagemagick&#x20;
* libpq&#x20;
* libsass&#x20;
* libxslt&#x20;
* libzip&#x20;
* lynx&#x20;
* mcrypt&#x20;
* pkg-config&#x20;
* python\@3.9&#x20;
* smartmontools&#x20;
* unixodbc&#x20;
* webp&#x20;
* yajl
* yarn

## Launchd services

List non-Apple services: `$ launchctl list | grep -v com.apple`\
(`-v` inverts the grep match)

[Remove service](https://osxdaily.com/2011/03/08/remove-an-agent-from-launchd/): `$ launchctl remove NameHere`

[More info about launchd](https://www.launchd.info) from the maker of [LaunchControl](https://www.soma-zone.com/LaunchControl/).

## Preventing a Mac From Waking Up Randomly

In Settings / Notifications / Do Not Disturb: Check the box to turn on Do Not Disturb when the Display is Sleeping (I also have it set to turn on DND from 10pm to 7am, when the screen is locked, and when mirroring)

Unconfirmed ideas:

In Settings / Battery / Power Adapter disable Wake for Network Access

In Settings / Bluetooth / Advanced disable Allow Bluetooth Devices to Wake This Computer

In Settings / Battery / Power Adapter turn off Sleep When Display is Off

## References

* <https://github.com/nikitavoloboev/my-mac-os>
* <https://github.com/serhii-londar/open-source-mac-os-apps>
* <https://github.com/learn-anything/macos-apps>
* <https://github.com/jaywcjlove/awesome-mac>
* <https://getenet.notion.site/Eighty-Shades-of-Option-Key-3c6e58feb5c848ee9d4c027f0b9d52e0>


# iOS

### App Favorites

I've left default Apple apps off this list (like Calendar, and Music), but I use those as well.

* [1Blocker](https://apps.apple.com/us/app/1blocker-for-safari/id1365531024) - Content blocker
* [1Password](https://apps.apple.com/us/app/1password-password-manager/id568903335) - Password vault
* [1Writer](https://apps.apple.com/us/app/1writer-markdown-text-editor/id680469088) - Dropbox text client
* [7 Minute Workout](https://apps.apple.com/us/app/7-minute-workout/id650762525) - 7 minute workout client
* [Audible](https://apps.apple.com/us/app/audible-audiobooks-originals/id379693831) - Audiobooks
* [Calca](https://apps.apple.com/us/app/calca/id635757879) - If you need something like Soulver for iOS
* [Be Focused Pro](https://apps.apple.com/us/app/be-focused-pro-focus-timer/id961632517?mt=12) - Pomodoro timer
* [CARROT Weather](https://apps.apple.com/us/app/carrot-weather/id961390574) - Weather with a bit of humor
* [Code Editor](https://apps.apple.com/us/app/code-editor-by-panic/id500906297) - Code editor and file transfer client
* [CheapCharts](https://apps.apple.com/us/app/cheapcharts-your-media-deals/id772046134) - Find out when iTunes movies are on sale
* [Decibel X Pro](https://apps.apple.com/us/app/decibel-x-pro-dba-noise-meter/id1257651611) - Measure ambient noise levels
* [Dark Noise](https://apps.apple.com/us/app/dark-noise/id1465439395) - White noise for focus or relaxation
* [Dropbox](https://apps.apple.com/us/app/dropbox-photo-cloud-storage/id327630330) - Sync files
* [Encrypt.me](https://apps.apple.com/us/app/encrypt-me/id473835722) - VPN
* [Flighty](https://apps.apple.com/us/app/flighty-live-flight-tracker/id1358823008) - Flight tracker
* [Gmail](https://apps.apple.com/us/app/gmail-email-by-google/id422689480) - email
* [Google Keep](https://apps.apple.com/us/app/google-keep-notes-and-lists/id1029207872) - Cross platform notes
* [Google Maps](https://apps.apple.com/us/app/google-maps-transit-food/id585027354) - Sorry Apple Maps
* [Goodreader](https://apps.apple.com/us/app/goodreader-pdf-editor-viewer/id777310222) - PDF reader
* [Inspect Browser](https://apps.apple.com/us/app/inspect-browser/id1203594958) - View source of web pages
* [Instapaper](https://apps.apple.com/us/app/instapaper/id288545208) - Read later service
* [Kindle](https://apps.apple.com/us/app/amazon-kindle/id302584613) - Book reader
* [Libby](https://apps.apple.com/us/app/libby-by-overdrive/id1076402606) - Library books
* [Linky](https://apps.apple.com/us/app/linky-for-twitter-and-mastodon/id438090426) - Text screenshots from articles
* [Long Day](https://apps.apple.com/us/app/long-day-day-planner/id1062689795) - Day planner 😊
* [MyFitnessPal](https://apps.apple.com/us/app/myfitnesspal/id341232718) - Meal planner
* [Palaver](https://apps.apple.com/us/app/palaver-irc/id538073623) - IRC Client
* [Paprika](https://apps.apple.com/us/app/paprika-recipe-manager-3/id1303222868) - Recipe database
* [PCalc](https://apps.apple.com/us/app/pcalc/id284666222) - The everything calculator
* [Pinner](https://apps.apple.com/us/app/pinner-for-pinboard/id591613202) - Pinboard client
* [Prompt](https://apps.apple.com/us/app/prompt-2/id917437289) - SSH client
* [Reeder](https://apps.apple.com/us/app/reeder-4/id1449412357) - RSS reader
* [Scannable](https://apps.apple.com/us/app/evernote-scannable/id883338188) - Use your phone camera to create scanned PDFs
* [Streaks](https://apps.apple.com/us/app/streaks/id963034692) - Habit tracker
* [Strong](https://apps.apple.com/us/app/strong-workout-tracker-gym-log/id464254577) - Workout planner / tracker
* [Todoist](https://apps.apple.com/us/app/todoist-to-do-list-tasks/id572688855)  - Cross platform to do list service
* [Unobstruct](https://apps.apple.com/us/app/unobstruct/id1255281426) - Remove persistent banners on web pages
* [Waking Up](https://apps.apple.com/us/app/waking-up-a-meditation-course/id1307736395) - Meditations
* [Yoga Studio](https://apps.apple.com/us/app/yoga-studio-mind-body/id567767430) - Yoga workouts

### Under Consideration

* [Vimlike](https://apps.apple.com/us/app/vimlike/id1584519802) - Vimium or Vimari like plugin for iOS


# ChromeOS

ChromeOS is mostly a portal to the web, but these are the somewhat obscure apps that help me get work done similar to what I can accomplish on MacOS.

## Chrome Apps

* Caret - Text editor
* [Secure Shell](https://chrome.google.com/webstore/detail/secure-shell-app/pnhechapfaindjhompbnflcldabbghjo?hl=en) - SSH and SFTP mounting

## Web Apps / PWAs

* [Amazon Cloud9](https://aws.amazon.com/cloud9/) - Web based development environment
* [Apple Music](https://music.apple.com/) - iTunes on the web
* Harvest - Timesheets (<https://yourAccount.harvestapp.com/time/m>)
* [Google Keep](https://keep.google.com/) - Notes
* [Photopea](https://www.photopea.com/) - Open / edit Photoshop files on the web

## Android Apps

* [Encrypt.me](https://encrypt.me/) - VPN
* [iA Writer](https://play.google.com/store/apps/details?id=net.ia.iawriter\&hl=en_US) - Dropbox text editor

## Linux Apps

* [Polari](https://wiki.gnome.org/Apps/Polari) - IRC
* Chromium - Backup web browser (if I need two accounts signed in at once) `$ sudo apt install chromium`
* Visual Studio Code - Code editor
* GIMP - Image editor

## Keyboard Settings

* Launcher -> Escape
* Ctrl -> Alt
* Alt -> Ctrl
* Escape -> Launcher
* Backspace -> Backspace
* Assistant -> Launcher
* Caps Lock -> Escape
* External Meta -> Ctrl

## System utilities

Check RAM usage: chrome://sys-internals/

Task Manager: Shift + Esc or Search + Esc


# Windows

I can get by working on Windows in a pinch. Using Power Toys to remap my keyboard to be more "Mac Like" with Alt Swapped for Control and Caps Lock mapped to Esc really helps.&#x20;

### App favorites

* [1Password](https://1password.com/) - Password vault
* [Affinity Photo](https://www.microsoft.com/store/productId/9NBLGGH35LXN) - Lighter weight and cheaper alternative to Photoshop
* [Appy Text](https://www.microsoft.com/en-us/p/appy-text/9nblggh51knm) - Text editor
* [Calca](https://www.microsoft.com/en-us/store/p/calca/9nhxz5159n41) - Better calculator
* [Cyberduck](https://www.microsoft.com/en-us/p/cyberduck/9nblggh43htb/0010) - SFTP client
* [Docker for Windows](https://docs.docker.com/docker-for-windows/wsl/) - Run apps in containers
* [Dropbox](https://www.dropbox.com/) - Sync files
* [Encrypt.me](https://encrypt.me/) - VPN
* [Foo IRC](https://www.microsoft.com/en-us/p/foo-irc/9wzdncrdct50/0010) - Chat client
* [Power Toys](https://github.com/microsoft/PowerToys) - Add Spotlight'esque search and swap ctrl and alt keys with Keyboard Manager
* [Stopwatch + Timer](https://www.microsoft.com/store/productId/9NBLGGGZKFMV) - What I use for pomodoros&#x20;
* [Todoist](https://todoist.com/)  - Cross platform to do list service
* [Ubuntu](https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6) - What a time to be alive
* [Visual Studio Code](https://code.visualstudio.com/) - Light code text editor
* [Windows Terminal](https://www.microsoft.com/store/productId/9N0DX20HK701) - A store app for some reason
* [Winstall.app](https://winstall.app/) - Web GUI for the WinGet package manager

### Apps under consideration

* 7-Zip
* HexChat
* HWMonitor
* Notepad++
* [Notepads](https://apps.microsoft.com/store/detail/notepads-app/9NHL4NSC67WM?hl=en-us\&gl=us\&ranMID=24542\&ranEAID=TnL5HPStwNw\&ranSiteID=TnL5HPStwNw-VH.o7fBFG1HY1Vre.ILzTA\&epi=TnL5HPStwNw-VH.o7fBFG1HY1Vre.ILzTA\&irgwc=1\&OCID=AID2200057_aff_7593_1243925\&tduid=%28ir__6vcch0rig0kfb3hpyf93prpvyf2xct33v11wn6p100%29%287593%29%281243925%29%28TnL5HPStwNw-VH.o7fBFG1HY1Vre.ILzTA%29%28%29\&irclickid=_6vcch0rig0kfb3hpyf93prpvyf2xct33v11wn6p100)
* Paint.NET
* Prime95
* RealTemp
* Sumatra PDF
* [Fluent Search](https://fluentsearch.net/) - search everything, including things on screen
* [Breaktimer.app](https://github.com/tom-james-watson/breaktimer-app) - Break timer
* [GWSL](https://apps.microsoft.com/store/detail/gwsl/9NL6KD1H33V3?hl=en-us\&gl=us\&rtc=1) - Run X Windows Linux apps on Windows
* [OpenInWSL](https://apps.microsoft.com/store/detail/openinwsl/9NGMQPWCG7SF) - Set WSL apps as the default file handler
* [ShareX](https://getsharex.com/) - screenshot tool
* [Feedlab](https://apps.microsoft.com/store/detail/feedlab/9WZDNCRDKRQ3?hl=en-us\&gl=us) - RSS reader
* [simplewall](https://github.com/henrypp/simplewall) - blocks all network traffic

I use the built in Win key search as an app launcher. I use the built in Snip & Sketch tool for screenshots. Check my ChromeOS list for some of the web apps I also use for productivity.&#x20;

**Power Toys Settings:**

Keyboard Manager:

* Caps Lock -> Esc
* Esc -> Caps Lock

(Optional) To make alt and ctrl more Mac like:

* Alt (Left) -> Ctrl (Left)
* Ctrl (Left) -> Alt (Left)
* Alt (Right) -> Ctrl (Right)
* Ctrl (Right) -> Alt (Right)

Shortcuts:

* Ctrl + Q -> Alt F4

PowerToys Run set to Ctrl + Space

**Misc. Settings:**

Go to clipboard settings and enable clipboard history.

Go to mouse pointer and set the cursor to a custom color of black. The default black cursor option is smaller and harder to see.

**Open VS Code within WSL 2:**

* In Windows Terminal, go to project folder
* `wsl code .`

**Links:**

* [Use Bitlocker on Windows 10 without a TPM module](https://www.windowscentral.com/how-use-bitlocker-encryption-windows-10)
* [Windows Dev with WSL 2](https://char.gd/blog/2019/windows-web-dev-with-wsl2)
* [Mac App Alternatives on Windows](https://docs.google.com/spreadsheets/d/1zHNhWfis0iJULrYAHOYPeMRGhNUVWVxInIn8YKswlIA/htmlview)
* [Ruby on Rails dev on Windows](https://www.hanselman.com/blog/RubyOnRailsOnWindowsIsNotJustPossibleItsFabulousUsingWSL2AndVSCode.aspx)
* [Windows 10 app list from Joseph Rooks](https://josephrooks.com/windows-10/)
* [Install WSL 2 in Windows 10](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
* [WSL 2 with Visual Studio Code](https://code.visualstudio.com/blogs/2019/09/03/wsl2)
* [Hanselman's 2021 Ultimate Developer and Power Users Tool List for Windows](https://www.hanselman.com/blog/scott-hanselmans-2021-ultimate-developer-and-power-users-tool-list-for-windows)
* [Switching to Windows](http://ignorethecode.net/blog/2021/02/02/switching_to_windows/)
* [Nitpicky Differences Between Windows and OS X](https://hellojason.net/blog/nitpicky-differences-between-windows-and-os-x/)
* [Awesome list of Windows apps](https://github.com/Awesome-Windows/Awesome)


# Browser Plugins

Browser plugins and extensions

### Cross browser

* [StopTheMadness](https://apps.apple.com/us/app/stopthemadness/id1376402589?mt=12) - Swiss army knife extension
* [Privacy Badger](https://privacybadger.org/) - block ads

### Chrome

* [Resource Override](https://chrome.google.com/webstore/detail/resource-override/pkoacgokdfckfpndoffpifphamojphii/related?hl=en) - Override urls in dev
* [Vimium](https://www.google.com/url?sa=t\&rct=j\&q=\&esrc=s\&source=web\&cd=\&cad=rja\&uact=8\&ved=2ahUKEwj936qlgsD7AhUbk4kEHaHXAzQQFnoECAwQAQ\&url=https%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Fvimium%2Fdbepggeogbaibhgnhhndojpepiihcmeb%3Fhl%3Den\&usg=AOvVaw0OTqNaj_KVNa9JwY5tDyQb) - Vim style navigation
* [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
* [React Context DevTool](https://chrome.google.com/webstore/detail/react-context-devtool/oddhnidmicpefilikhgeagedibnefkcf)
* [GraphQL Network Inspector](https://chrome.google.com/webstore/detail/graphql-network-inspector/ndlbedplllcgconngcnfmkadhokfaaln)

### Safari

* [Wipr](https://apps.apple.com/us/app/wipr/id1320666476?mt=12) - Ad blocker
* [Ka-Block](https://apps.apple.com/us/app/ka-block/id1335413823?mt=12) - Ad blocker
* [Vimari](https://apps.apple.com/us/app/vimari/id1480933944?mt=12) - Vim style navigation

### Mobile Safari

* [Unobstruct](https://apps.apple.com/us/app/unobstruct/id1255281426) - Remove annoying floating page elements
* Ka-Block! - Ad blocker
* AdGuard Pro - Ad blocker


# RSI Prevention

### Stretching

[Guitar stretches](https://www.youtube.com/watch?v=TSrfB7JIzxY)

### Strength Training

NSD Spinner

Wrist curls

Wrist extensions

### Yoga

Do every morning

Stretch out shoulders, and do foam rolling

### Alternate Keyboards and Pointing Devices

Normal keyboard

Split keyboard

Vertical mouse

Trackman Marble Mouse

Kensington Expert Trackball

Wacom Tablet

Magic Trackpad

Magic Mouse

Left & right hand

### Habits

Keep your wrists off the table or wrist wrests.

### Software

* Dice
* Rest / Time Out
* Streaks
* Due

### Resources

* [Keyboard Risk Factors](https://kinesis-ergo.com/solutions/keyboard-risk-factors/)


# Voice Control

## Software

* [Talon](https://talonvoice.com) - Cross platform, scriptable
* Voice Control - [Mac](https://support.apple.com/guide/mac-help/control-your-mac-and-apps-using-voice-control-mh40719/mac) and [iOS](https://support.apple.com/en-us/HT210417) system level
* [Speech Recognition](https://support.microsoft.com/en-us/windows/use-voice-recognition-in-windows-10-83ff75bd-63eb-0b6c-18d4-6fae94050571) - Windows system level
* [Serenade](https://serenade.ai) - Mac only for code editing


# AWS Cloud 9

Setting Up Cloud 9 Server using Amazon Linux

When creating your instance if you see this error:&#x20;

> The following resource(s) failed to create: \[Instance]&#x20;

It’s because you have a legacy account. Setting up a new server now requires you to explicitly pick a subnet in the advanced settings.

## Setting up SSH Keys

```
$ ssh-keygen -t rsa -b 4096 -C "your@email.com"
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub
```

Copy output to Github or Bitbucket where you're pushing and pulling your code from.

## Setting up Docker Compose

Instructions for installing docker compose <https://docs.docker.com/compose/install/#install-compose>

```
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
```

## Resize Cloud9 instance

Check space usage:

```
$ df -h
```

Follow these instructions: <https://docs.aws.amazon.com/cloud9/latest/user-guide/move-environment.html#move-environment-resize>


# Visual Studio Code

## Extensions

* CoPilot&#x20;
* CoPilot Labs&#x20;
* amVim
* change-case
* Color highlight
* ESLint
* Encode Decode
* Git Blame
* Git History
* GitHub Theme
* NPM Intellisense
* PaperColor Redux Theme&#x20;
* Path Intellisense&#x20;
* Peacock&#x20;
* Playwright Test for VSCode
* Rewrap


# Linux

Currently using Red Hat default install with Gnome.&#x20;

## App Favorites

* [Pop Shell](https://support.system76.com/articles/pop-shell/) - Tiling window management for Gnome

### Under Consideration

* [Foliate](https://johnfactotum.github.io/foliate/) - Ebook reader


# Podcasting

I currently co-host [The Wastebasket](http://wastebasketpodcast.com/) podcast with Jordan Mendenhall. We discuss technology, culture, and we review movie on each episode.

I hardly have a professional podcasting setup, but I think we sound decent. These are the tools we're currently using.

For microphones, we both use [Samson Meteor Mics](https://www.amazon.com/Samson-Meteor-Studio-Condenser-Microphone/dp/B004MF39YS/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=cd89772b08224f3814684032a4d54624\&language=en_US) connected with USB. I haven't tested to see if it really works, but we also use [this PEMOTech pop filter](https://www.amazon.com/PEMOTech-Microphone-Windscreen-Recording-Streaming/dp/B01J5OTVTC/ref=as_li_ss_tl?dchild=1\&keywords=pop+filter+samson+meteor+mic\&qid=1591817027\&s=electronics\&sr=1-4\&linkCode=ll1\&tag=chrisltd-20\&linkId=4ffd44d71eaf4ff23ea50f70534e54f0\&language=en_US) on our mics.

On the listening side, I use [Bose SoundLink Around Ear Wireless Headphones II](https://www.amazon.com/Bose-SoundLink-around-ear-wireless-headphones/dp/B0117RGG8E/ref=as_li_ss_tl?dchild=1\&keywords=bose+quietcomfort+wireless\&qid=1591816477\&s=electronics\&sr=1-4\&linkCode=ll1\&tag=chrisltd-20\&linkId=53003237613ba135435d25e1acb682bd\&language=en_US) wired into my laptop. Bluetooth is too flaky, and I don't want any lag.

We call each other using [Microsoft's Skype](https://www.skype.com/) service.

On the Mac, I can record both sides of the conversation on different audio channels using the app [Piezo](https://rogueamoeba.com/piezo/). Jordan records his side using [Audacity](https://www.audacityteam.org/).

I edit the show using [GarageBand](https://www.apple.com/mac/garageband/) on Mac and with [Ferrite Recording Studio](https://www.wooji-juice.com/products/ferrite/) on iPad using an Apple Pencil. Using Ferrite is actually kind of fun. Definitely worth trying if you find editing on your PC a chore.

When Jordan edits the show he uses [Audacity](https://www.audacityteam.org/).

I prep the final MP3 file with titles, show art, and notes using [Forecast](https://overcast.fm/forecast).

We host the show for free on [Anchor.fm](https://anchor.fm/), owned by Spotify.


# Setting up a new Mac

Moving to a new Mac takes some time. These are the steps I usually take when upgrading to a new machine.

1. Run Time Machine on the computer you're replacing&#x20;
2. Boot up the new computer and use Migration Assistant to load up your new computer with the contents of the Time Machine backup
3. Now that you're booted into your new system it's time to test out your machine.
4. But first, you'll need to re-sign into your Apple account in System Prefs under Apple ID. (The system will likely nag you to do this)
5. Use DirEqual to compare a few of your key document folders to your Time Machine backup to make sure Migration Assistant worked properly.
6. Make sure you can type on the keyboard. Test every key.
7. Make sure the speakers work (if you heard the startup chime, you're fine)
8. Test the web cam (Photo Booth should work).
9. Test the microphone (I used Skype, but you could use FaceTime).
10. Test the headphone jack (assuming your computer comes with one!)
11. Test the other ports like USB-C.
12. Test Bluetooth
13. Run Geekbench to see if you're getting advertised performance
14. Use [Speedtest.net](http://speedtest.net/) to see if your Wifi is OK
15. If you've gotten to this point, your new computer Your computer is ready to use and configure!
16. Setup your internal and external keyboards so that Caps Lock is set to Esc. Also setup any Windows keyboards so Alt is Cmd and the Win Key is Option.
17. Rename your computer in System Prefs / Sharing
18. Add any additional fingers to Touch ID prefs if your system has Touch ID.
19. Login in to your password manager (LastPass, 1Password, etc.). This should help with the other steps.
20. Set up Dropbox, you don't have to give it accessibility permissions
21. Enable Watch Unlock under System Prefs / Security and Privacy
22. Review your startup items. I had to add Rest, and BeFocused Pro to my list of startup apps
23. On your iPhone setup Text Message Forwarding to new Mac
24. Get an empty disk, and create a new Time Machine backup
25. [Uninstall Backblaze](https://help.backblaze.com/hc/en-us/articles/217666328-Uninstalling-Backblaze-Mac-Win-)
26. Reinstall Backblaze
27. Reboot
28. Open up Backblaze and have it [inherit the backup state ](https://help.backblaze.com/hc/en-us/articles/217666358-Inherit-Backup-State)from your last computer
29. Give Backblaze full disk permissions
30. Re-apply [Backblaze exclusions](https://kb.chrisltd.com/computing/mac#backblaze)

\ <br>


# Site Deploys

## Bitbucket

Go into the Repo settings / Pipelines / SSH Keys Add your destination server(s) to Known hosts&#x20;

Add `USER` and `PASSWORD` variables (if you're not using an SSH key) to the Repository variables

Add a `bitbucket-pipelines.yml` file. Here's a basic one for deploying to a SFTP server:

```
image: atlassian/default-image:2

pipelines:
  default:
    - step:
        name: 'Deploy to Staging'
        script:
          - echo "Your deployment to staging script goes here..."
    - step:
        name: 'Deploy MU-Plugins to Production'
        trigger: 'manual'
        script:
          - pipe: atlassian/sftp-deploy:0.5.7
            variables:
              USER: $USER
              SERVER: 'sftp.pressable.com'
              REMOTE_PATH: '/htdocs/wp-content/mu-plugins'
              LOCAL_PATH: 'wp-content/mu-plugins/*'
              PASSWORD: $PASSWORD
    - step:
        name: 'Deploy Theme to Production'
        trigger: 'manual'
        script:
          - pipe: atlassian/sftp-deploy:0.5.7
            variables:
              USER: $USER
              SERVER: 'sftp.pressable.com'
              REMOTE_PATH: '/htdocs/wp-content/themes/YOUR_THEME'
              LOCAL_PATH: 'wp-content/themes/YOUR_THEME/*'
              PASSWORD: $PASSWORD
```

## Github Actions

Potential Github SFTP action: <https://github.com/Creepios/sftp-action>

## Dandelion

<https://github.com/scttnlsn/dandelion>


# Dell U2720Q Monitor

<https://www.dell.com/en-us/work/shop/ultrasharp-27-4k-usb-c-monitor-u2720q/apd/210-avjv/monitors-monitor-accessories#support_section>

When connected to a Mac I set the scaling so it "Looks like 2304 x 1296". You may need to Alt click on "Scaled" in the Display settings in System Preferences to be able to pick this resolution.

In order to enable 60hz on MacOS I had to enable an HDR mode in the monitor's OSD:

> Display -> Smart HDR -> Changed from “Off” to “DisplayHDR”


# Moonlander Keyboard

my layout: <https://configure.ergodox-ez.com/moonlander/layouts/vKRjn/latest/0>

## References

* [Product page](https://www.zsa.io/moonlander/)
* [Aidan Scannell's Ergodox EZ setup](https://www.aidanscannell.com/post/how-rsi-made-me-a-better-developer/#ergodox-ez)

## Other Layouts

## Alternatives

* [ErgoDox EZ](https://ergodox-ez.com/)
* [Keyboardio Atreus](https://shop.keyboard.io/products/keyboardio-atreus) - small
* [Project: 0001](https://core-mechanics.com/produkt/project-0001/)
* [Dygma Raise](https://dygma.com/)
* [X-Bows Knight](https://x-bows.com/products/x-bows-knight-ergonomic-mechanical-keyboard)
* [Mistel Barocco](http://www.mistelkeyboard.com/products/d11cf7a73da49468e2a530b4cf18e76c)&#x20;


# Apple Silicon Macs

Interesting articles:

{% embed url="<http://blog.greggant.com/posts/2020/12/13/life-with-the-m1-macbook-air-as-developer.html>" %}

{% embed url="<https://arstechnica.com/gadgets/2020/11/we-are-giddy-interviewing-apple-about-its-mac-silicon-revolution/>" %}

{% embed url="<https://steipete.com/posts/apple-silicon-m1-a-developer-perspective/>" %}

{% embed url="<https://blog.logrocket.com/set-up-macbook-for-web-development-in-20-minutes/>" %}


# Structure


# Nuggets of Wisdom

If you’re avoiding a task, commit to doing it for just 10 minutes. Getting started is often the hardest part.


# Coffee Notes & Equipment

You know how different wines have different flavors? Coffee – without the milk and sugar – can be just as varied. The origin and variety of bean can influence the flavor, as well as how the seed was separated from the coffee fruit. The roast has a major impact on the flavor, is it lighter or darker. Plus, depending on how you prepare the coffee, you can bring out more of the flavors you prefer.

## Notes

Don't V60 decaf coffee. Use an immersion method like AeroPress or French Press. It just tastes weird otherwise.

Play with ratio of water to coffee, and grind size to adjust for flavor with any technique.

A good starting ratio is 1:16.

Use good water. If your water out of the tap tastes terrible, filter it or buy packaged water.

Use great beans.

Weigh everything with a scale so you can repeat good recipes and adjust in the future.

Lighter roasts are harder to extract than dark roasts, so you may need to brew for less time or grind coarser with dark roasts.

Keeping the coffee bed/slurry hot when doing a pour over is important. Using a plastic brewer helps retain heat (I used to use porcelain), and not waiting for the water to completely drain before the next pour also helps.

## Equipment

### Grinders

Electric Burr Grinder: [Baratza Encore](https://www.amazon.com/Baratza-Encore-Conical-Coffee-Grinder/dp/B007F183LK/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=506f78ac8127812a94bcf7c9032f63cd\&language=en_US)

Hand Burr Grinder: [Comandante C40](https://comandantegrinder.com)

### Brewers

* [AeroPress](https://www.amazon.com/AeroPress-Coffee-Espresso-Maker-Bitterness/dp/B0047BIWSK?\&linkCode=ll1\&tag=chrisltd-20\&linkId=1021f5e2a658f4b6f710681b16ba2e87\&language=en_US\&ref_=as_li_ss_tl)
* [V60](https://www.amazon.com/dp/B000P4D5F8?_encoding=UTF8\&psc=1\&linkCode=ll1\&tag=chrisltd-20\&linkId=44e4544c626aef91aed0e494d76848ae\&language=en_US\&ref_=as_li_ss_tl)
* [Bodum French Press](https://www.amazon.com/dp/B07HC22KQH/ref=as_li_ss_tl?th=1\&linkCode=ll1\&tag=chrisltd-20\&linkId=293e67eae30293ca055e27cfe4905e7f\&language=en_US)
* Bialetti [Aluminum](https://www.amazon.com/Original-Bialetti-Moka-Express-Stovetop/dp/B0000CF3Q6/ref=as_li_ss_tl?_encoding=UTF8\&pd_rd_i=B0000CF3Q6\&pd_rd_r=824f42e9-fc1d-45bb-8488-93ea1e090787\&pd_rd_w=AZjCe\&pd_rd_wg=ZqKzL\&pf_rd_p=7b36d496-f366-4631-94d3-61b87b52511b\&pf_rd_r=Q5E29HG6XRSEX1AX4S9K\&psc=1\&refRID=Q5E29HG6XRSEX1AX4S9K\&linkCode=ll1\&tag=chrisltd-20\&linkId=1a5a84cd47ea5008269747552da37b5d\&language=en_US) & [Stainless Steel](https://www.amazon.com/dp/B08556XV39?pd_rd_i=B07ZKZXM4B\&pd_rd_w=Ahlpd\&pf_rd_p=4269e1a0-a218-4fbd-9748-1cd337d2f2a5\&pd_rd_wg=veWc3\&pf_rd_r=QW0BRC2D0ZMVGC2X4KQ1\&pd_rd_r=d3a9b097-a9a5-4eba-a072-b2ac24743af2\&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzSFFBU0lPTkhROUFWJmVuY3J5cHRlZElkPUEwODM2NjU5MzFDVU5SOVZUSjJKRyZlbmNyeXB0ZWRBZElkPUEwMTY2OTIzMUVYOUVYUDZJNVhTSyZ3aWRnZXROYW1lPXNwX2RldGFpbCZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU\&th=1\&linkCode=ll1\&tag=chrisltd-20\&linkId=df7a89b79ac98c5a8d3c40abd19b7e38\&language=en_US\&ref_=as_li_ss_tl) Moka pot

### Misc.

* [Zulay Milk Frother](https://www.amazon.com/gp/product/B074ZL35DH)
* [Pyrex 1 Cup Measuring Cup](https://www.amazon.com/gp/product/B0000CFMZN) (for microwaving milk and frothing it)

### Future Purchases?

* [Zen Roast](https://zenroast.co)
* [Niche Zero Grinder](https://www.nichecoffee.co.uk)
* [Flair Signature Espresso Machine](https://flairespresso.com/products/espresso-makers/flair-signature/)
* [Gaggia Classic Espresso Machine](https://www.amazon.com/Gaggia-14101-Semi-Automatic-Pannarello-Cappuccino/dp/B0001KOA4Q)
* [Loveramics glassware](https://www.loveramics.com)
* [Square Mile Grind Size Sample Pack](https://shop.squaremilecoffee.com/products/grind-size-sample-pack)
* [1zpresso Travel Case](https://1zpresso.coffee/product/travelcase/)
* Origami [Aroma](https://loisthestore.com/collections/origami-coffee-tools-accessories/products/copy-of-origami-aroma-mug) [Mug](https://www.roguewavecoffee.ca/collections/origami-series-1/products/origami-aroma-mug)

##


# Coffee Beans

When I'm not buying bags of beans from local shops, or specific bags from specialty roasters, I get whole bean coffee delivered every couple weeks from [Counter Culture](https://counterculturecoffee.com/) or [Yes Plz Coffee](https://www.yesplz.coffee/). There is usually a couple days lag from when they roast their coffee and when it arrives in the mail, but that's a huge improvement over grocery store coffee that might have been roasted months and months ago. Switching to recently roasted beans is the biggest upgrade I made to the taste of coffee I was brewing.

## Beans List

I'll rate these beans with a thumbs up or down as I try them.

* [Variety Coffee: Gatomboya AA](https://varietycoffeeroasters.com/collections/coffee/products/gatomboya) 👍
* [Atomic Bali Kintamani Natural](https://www.drinktrade.com/bali-kintamani-htzaqpnq/p/4499) 👍
* [Oren's Papua New Guinea Mile High A](https://orenscoffee.com/offerings/papua-new-guinea-mile-high-a-2/) 👍
* [Vibrant: Café Giraldo](https://www.vibrantcoffeeroasters.com/collections/coffee/products/cafe-giraldo-antioquia)
* [Onyx](https://onyxcoffeelab.com) (Pink Bourbon Anaerobic, Colombian Gesha, Rwanda)
* [Wonderstate: Ethiopa Chelbessa](https://wonderstate.com/collections/all/products/organic-ethiopia-chelbessa)
* Counter Culture: [Hologram](https://counterculturecoffee.com/shop/coffee/hologram) & [Fast Forward](https://counterculturecoffee.com/shop/coffee/collection-fast-forward)
* [Ninety Plus: Kemgin](https://ninetypluscoffee.com/kemgin/)
* [Proud Mary: Burundi Gisha](https://proudmarycoffee.com/collections/wild/products/burundi-gisha-red-bourbon-natural)
* [Backroom: Cross Goat](https://www.backroomcoffeeroasters.com/coffees/cross-goat)
* [Passenger: Mario Moreno](https://www.passengercoffee.com/products/mario-moreno-2020?variant=33215785042000)
* [Vigilante: Ethiopia Worka Chelbessa](https://www.vigilantecoffee.com/collections/coffee-beans/products/ethiopia-chelbessa)&#x20;
* [Devoción Honey](https://www.devocion.com/collections/house-blends/products/coffee-colombia-honey) 👍👍
* [Devoción Wild Forest](https://www.devocion.com/products/coffee-colombia-wildforest) 👍

### Half Caffeine Blends

* [Onyx: Power Nap](https://onyxcoffeelab.com/products/power-nap) 👍
* [Kuma Coffee: Momma Bear](https://www.kumacoffee.com/collections/frontpage/products/momma-bear-new) 👍
* [Two Brothers: Half Brother](https://two-brothers-coffee-roasters.myshopify.com/products/half-brother-half-caf)
* [Vigilante: Ethiopia Half Caff](https://www.vigilantecoffee.com/collections/coffee-beans/products/ethiopia-half-caff) 👎
* [Red Rooster: Night Owl](https://redroostercoffee.com/shop/coffees/all/night-owl-half-caff)

### Decaf

* [Kuma Coffee: Costa Rica El Poeta Decaf](https://www.kumacoffee.com/collections/frontpage/products/costa-rica-decaf) 👍
* [Variety Coffee: Midnight Cowboy](https://varietycoffeeroasters.com/products/decaf)  👍
* [Merit Sugarcane Decaf](https://meritcoffee.com/products/sugarcane-decaf)
* [Equator Decaf Blend](https://www.equatorcoffees.com/products/decaf-equator-retail)
* [Regalia: Desvelado Decaf](https://regaliacoffee.com/products/desvelado-decaf)
* [Olympia Coffee: Decaf Asterisk](https://www.olympiacoffee.com/collections/coffee/products/decaf-asterisk-blend-organic)
* [Archetype Coffee: Home Decaf](https://drinkarchetype.com/collections/archetype-coffee/products/copy-of-home-model-blend)

### Robusta

* [Blue Bottle Robusta Blend No. 1](https://bluebottlecoffee.com/us/eng/product/robusta-blend)  👍
* [Nguyen Coffee Supply](https://nguyencoffeesupply.com/collections/vendors?q=Nguyen%20Coffee%20Supply): [True Grit](https://nguyencoffeesupply.com/collections/vietnamese-coffee-collection/products/grit-100-peaberry-robusta)
* [Càphê Roasters: Humility *Blend*](https://www.capheroasters.com/shop/ij4u6iafwh5go9jivx5wa0q8qztyr6)
* [Chestbrew: Big Bad Bear](https://chestbrew.com/product/big-bad-bear/) *Blend*
* [Copper Cow](https://coppercowcoffee.com/collections/coffee/products/whole-bean-dark-roast-8-oz-copper-cow-coffee) *Blend*


# AeroPress Recipes

## AeroPress

Slightly modified from James Hoffmann's [Ultimate AeroPress Technique](https://www.youtube.com/watch?v=j6VlT_jUVPc).

1. Run the rubber plunger side of the [AeroPress](https://www.amazon.com/AeroPress-Coffee-Espresso-Maker-Bitterness/dp/B0047BIWSK?\&linkCode=ll1\&tag=chrisltd-20\&linkId=1021f5e2a658f4b6f710681b16ba2e87\&language=en_US\&ref_=as_li_ss_tl) under water (this makes pressing the plunger smoother).
2. Grind 12 grams of beans on the 8 setting on the Baratza Encore or 15 clicks on the Comandante C40.
3. Boil about 10 oz / 280 g of water (you'll be using 200 g) on the stove top using a kettle ([mine is this glass model](https://www.amazon.com/CAF%C3%89-BREW-COLLECTION-Stovetop-Whistling/dp/B013JM253U/ref=as_li_ss_tl?dchild=1\&keywords=glass+kettle\&qid=1591909317\&sr=8-2\&linkCode=ll1\&tag=chrisltd-20\&linkId=516c42e37ea40e28e72143dcce080c10\&language=en_US)).
4. After the water is boiled, wet the paper filter in the AeroPress with a few drops.
5. Screw the filter and cap on the AeroPress, place on the mug, and pour in the ground coffee.
6. Quickly pour in 200 g of the hot water. Try to make sure you've wet all the grounds.
7. Press the plunger in the top just a bit then pull back up to create a vacuum and stop the draining.
8. Set a timer for 2 minutes and 30 seconds.
9. With 30 seconds to go, gently swirl the AeroPress (hold both the plunger and the bottom to make sure it doesn't come apart)
10. After the final 30 seconds, slowly press the plunger down on the AeroPress until it reaches the bottom.
11. Take off the cap, and eject the used coffee grinds into the garbage.
12. Stir your coffee.
13. Enjoy!

If you're curious about the AeroPress, the official site has pretty good instructions and some videos you can [check out](https://aeropress.com/use-it-now/getting-started/).

## Fellow Prismo (AeroPress "espresso")

Using the [Prismo attachment](https://www.amazon.com/Fellow-Pressure-Actuated-Attachment-AeroPress-Espresso-Style/dp/B079YBT2LJ?dchild=1\&keywords=fellow+prismo\&qid=1616157189\&sr=8-1-spons\&psc=1\&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUFFOVA0MDNUMEswOTAmZW5jcnlwdGVkSWQ9QTA0Nzg1MDFFQzRNUk1YTTNDNiZlbmNyeXB0ZWRBZElkPUEwNjk4MjMzMVpWRURVMVVLSEVIRSZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU%3D\&linkCode=ll1\&tag=chrisltd-20\&linkId=64f47e808f7a65d64fbdb6e979a4ce40\&language=en_US\&ref_=as_li_ss_tl) for an AeroPress you can get kind of close to an espresso-like concoction using the [official recipe](https://cdn.shopify.com/s/files/1/0057/6235/1219/files/NOTFORPRINTPrismo_WarningsV2_20171222.pdf?10029). I've upped the liquid amount a tad.&#x20;

1. Boil 100 g of water. You'll be using 55 g for the actual brew
2. Grind 20 g of coffee at the espresso setting on your grinder. (I use the finest setting on the [Baratza Encore](https://www.amazon.com/Baratza-Encore-Conical-Coffee-Grinder/dp/B007F183LK/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=506f78ac8127812a94bcf7c9032f63cd\&language=en_US))
3. Run the rubber part of the AeroPress under some water to get it ready. Cold water is fine.
4. Use some of the boiled water to preheat your cup. Keep the water boiling for the brew process. You want the water right off the boil when you start brewing.
5. Attach the Prismo to the AeroPress, and set on your cup
6. Pour in the grinds, and add 55 g of boiling water
7. Stir for 20 seconds. (I use the AeroPress stirring paddle)
8. Let it steep for 40 more seconds
9. Put the plunger in the top of the AeroPress and push it through
10. Take off the Prismo, and eject the used coffee grinds into the garbage.
11. Enjoy your "espresso"
12. When your done make sure to wash the Prismo and filter gently with some mild soap and let it dry.


# V60 Recipes

## Hario V60 One Cup

I'm using a plastic (plastic is better for keeping the brewer at the right temperature than ceramic) size [01 V60](https://www.amazon.com/Hario-Plastic-Coffee-Dripper-Clear/dp/B001HC9GIC?th=1\&linkCode=ll1\&tag=chrisltd-20\&linkId=b3db09c457ca13b25458475d0146fe52\&language=en_US\&ref_=as_li_ss_tl) with [01 sized filters](https://www.amazon.com/Hario-V60-Coffee-Filters-White-Tabbed/dp/B001U7CVEA?dchild=1\&keywords=v60+filter+01\&qid=1616157948\&s=home-garden\&sr=1-2\&linkCode=ll1\&tag=chrisltd-20\&linkId=e6450ad07f5c07fd359ea98e55cef840\&language=en_US\&ref_=as_li_ss_tl). This is adapted from [Hoffmann's 1 cup V60 recipe](https://www.youtube.com/watch?v=1oB1oDrDkHM).

1. Boil 10 oz / 300 g of water. You'll be using 9oz / 250 g of water for the coffee, and some of the rest to rinse the filter and warm your cup and cone.
2. Grind 15 grams of beans to about a table salt size (Setting 10 on the [Baratza Encore](https://www.amazon.com/Baratza-Encore-Conical-Coffee-Grinder/dp/B007F183LK/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=506f78ac8127812a94bcf7c9032f63cd\&language=en_US) or 20 clicks on the Comandante C40)
3. Run some of the hot water through your filter, cone, and into your mug to heat them up
4. Discard the water in your mug
5. Pour the grinds into the filter
6. With your finger create a little indentation in the middle of grounds to help with the bloom phase
7. Pour 50 g of the boiling water on the coffee and let it bloom for 45 seconds
8. While the coffee blooms, give the V60 a slight swirl, or a gentle stir
9. After the bloom, pour another 50 g of water over the course of 10 seconds in a circular pattern (don't pour in just one spot)
10. Let it drain for about 10 seconds
11. You should now have 100 g of water through the coffee
12. Repeat the process three more times until you get a total of 250 g of water
13. On the last pulse of water, do another swirl
14. Let it drain, and throw away the filter and coffee
15. Aim to finish drawdown by 3 minutes and 30 seconds
16. Stir the coffee in your mug
17. Enjoy

## Hario V60 Two cup

I'm using a plastic size [02 V60](https://www.amazon.com/Hario-Plastic-Coffee-Dripper-White/dp/B002IR1O3A?crid=2MTISHBLQ4I4Q\&keywords=v60+02+plastic\&qid=1671465551\&s=home-garden\&sprefix=v60+02+plastic%2Cgarden%2C121\&sr=1-2\&linkCode=ll1\&tag=chrisltd-20\&linkId=22c1158fbcb1ece384e82447eaee4a7e\&language=en_US\&ref_=as_li_ss_tl) with [02 sized filters](https://amzn.to/3jgAFUT). This is adapted from [Hoffmann's recipe](https://www.youtube.com/watch?v=AI4ynXzkSQo).&#x20;

1. Boil 18 oz / 510 g of water. You’ll be using 18 oz / 440 g of water for the coffee, and some of the rest to rinse the filter, and warm your cup and cone.
2. Grind 26 grams of beans to about a table salt size (Setting 10 on the [Baratza Encore](https://www.amazon.com/Baratza-Encore-Conical-Coffee-Grinder/dp/B007F183LK/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=506f78ac8127812a94bcf7c9032f63cd\&language=en_US) or 20 clicks on the Comandante C40)
3. Run some of the hot water through your filter, cone, and into your mug to heat them up
4. Discard the water in your mug
5. Pour the grinds into the filter and cone
6. With your finger create a little indentation in the middle of grounds to help with the bloom phase
7. Pour about 60 g of the boiling water on the coffee and let it bloom for 45 seconds
8. Over the next 30 seconds, pour the next 180 g of water so you have a total of 240 g.
9. Gently swirl the V60
10. Pour the remaining 200 g of water over the coffee over the next 30 seconds.&#x20;
11. Do a little stir in one direction, then a little stir in the opposite direction. This will move the coffee gently from the sides of the filter.
12. Let it drain a bit, then gently swirl the brewer one last time.
13. Let it drain, and throw away the filter and coffee
14. Aim to finish drawdown by 3 minutes and 30 seconds
15. Stir the coffee in your mug
16. Enjoy!


# Moka Pot Recipes

## Moka pot (Aluminum)

I'm using this 3 cup [Bialeltti Moka Express](https://www.amazon.com/Original-Bialetti-Moka-Express-Stovetop/dp/B0000CF3Q6/ref=as_li_ss_tl?_encoding=UTF8\&pd_rd_i=B0000CF3Q6\&pd_rd_r=824f42e9-fc1d-45bb-8488-93ea1e090787\&pd_rd_w=AZjCe\&pd_rd_wg=ZqKzL\&pf_rd_p=7b36d496-f366-4631-94d3-61b87b52511b\&pf_rd_r=Q5E29HG6XRSEX1AX4S9K\&psc=1\&refRID=Q5E29HG6XRSEX1AX4S9K\&linkCode=ll1\&tag=chrisltd-20\&linkId=1a5a84cd47ea5008269747552da37b5d\&language=en_US).

1. Boil water
2. Grind 17 grams of beans somewhere between espresso and medium grind. (Setting 12 on the [Baratza Encore](https://www.amazon.com/Baratza-Encore-Conical-Coffee-Grinder/dp/B007F183LK/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=506f78ac8127812a94bcf7c9032f63cd\&language=en_US))
3. Once the water is boiled, pour it into the bottom section of the Moka pot to right below the safety valve
4. Put your ground coffee into the coffee basket. Don't tamp.
5. Screw together the top and bottom of the Moka pot. Because you poured hot water into the bottom you'll likely need a towel or something to hold the bottom of the pot without burning yourself.
6. Put the pot on your smallest burner, and turn it to medium heat or whatever just covers the bottom with flame.
7. Open the top of the Moka pot so you can monitor the brewing
8. After the coffee starts coming out, turn the heat down low.&#x20;
9. Close the lid and take it off the heat as soon as the brewed coffee gets right beneath the bottom of the V of the pouring spout. (On my 3 cup model, that's about a third of the way.)
10. Run the Moka pot under cold water to stop the brewing process. Be careful, the Moka pot is still pretty hot.
11. Pour your coffee into a cup and enjoy.
12. Once the Moka Part is cool enough, take it apart, rinse the inside with warm water, and dry it with a towel or paper towel. Let it completely air dry before putting it back together and storing it.

## Moka pot (Stainless Steel)

I'm using this 4 cup [Bialeltti Venus Moka pot](https://www.amazon.com/dp/B08556XV39?pd_rd_i=B07ZKZXM4B\&pd_rd_w=Ahlpd\&pf_rd_p=4269e1a0-a218-4fbd-9748-1cd337d2f2a5\&pd_rd_wg=veWc3\&pf_rd_r=QW0BRC2D0ZMVGC2X4KQ1\&pd_rd_r=d3a9b097-a9a5-4eba-a072-b2ac24743af2\&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzSFFBU0lPTkhROUFWJmVuY3J5cHRlZElkPUEwODM2NjU5MzFDVU5SOVZUSjJKRyZlbmNyeXB0ZWRBZElkPUEwMTY2OTIzMUVYOUVYUDZJNVhTSyZ3aWRnZXROYW1lPXNwX2RldGFpbCZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU\&th=1\&linkCode=ll1\&tag=chrisltd-20\&linkId=df7a89b79ac98c5a8d3c40abd19b7e38\&language=en_US\&ref_=as_li_ss_tl). I've found the coffee it makes to be somewhat weaker and smoother than the aluminum models, so I've been experimenting with finer grind sizes to make it nearly as strong.

1. Grind 19 grams of beans somewhere just above espresso grind. (Setting 6 on the [Baratza Encore](https://www.amazon.com/Baratza-Encore-Conical-Coffee-Grinder/dp/B007F183LK/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=506f78ac8127812a94bcf7c9032f63cd\&language=en_US))
2. Pour good water it into the bottom section of the Moka pot to right below the safety valve
3. Put your ground coffee into the coffee basket. Don't tamp.
4. Screw together the top and bottom of the Moka pot.
5. Put the pot on your smallest burner, and turn it to medium heat or whatever just covers the bottom with flame.
6. Open the top of the Moka pot so you can monitor the brewing
7. After the coffee starts coming out, turn the heat down low.&#x20;
8. Take it off the heat as soon as the coffee coming from the spout turns a lighter color, almost clear.
9. Run the Moka pot under cold water to stop the brewing process. Be careful, the Moka pot is still pretty hot.
10. Pour your coffee into a cup and enjoy.
11. Once the Moka Part is cool enough, take it apart, rinse the inside with warm water, and dry it with a towel or paper towel. Let it completely air dry before putting it back together and storing it.


# French Press Recipes

## French press single cup

1. Boil water (you'll want a bit more than 8 oz / 225 g)
2. Coarsely grind 18 grams of beans (setting 28 on the [Baratza Encore](https://www.amazon.com/Baratza-Encore-Conical-Coffee-Grinder/dp/B007F183LK/ref=as_li_ss_tl?ie=UTF8\&linkCode=ll1\&tag=chrisltd-20\&linkId=506f78ac8127812a94bcf7c9032f63cd\&language=en_US))
3. Rinse your mug and French press with warm water
4. Pour the ground coffee into the French press (I'm currently using a [Bodum 12 oz model](https://www.amazon.com/dp/B07HC22KQH/ref=as_li_ss_tl?th=1\&linkCode=ll1\&tag=chrisltd-20\&linkId=293e67eae30293ca055e27cfe4905e7f\&language=en_US))
5. Pour, don't dump, 8 oz / 225 g of hot water into the French press. You can measure it, or on my Bodum that means filling it up to about a finger width below the top metal ring.
6. Stir the coffee to make sure all of the grounds are steeping.
7. Let the coffee steep for 4 minutes
8. Slowly tamp the coffee down with the French press plunger
9. Pour into your mug and enjoy


# Rocket League

**Controller Settings:**

Power slide and Air Roll => Left Bumper\
Scoreboard => X\
Reset => D-Pad Up\
Air roll right => Right Bumper

Steering and Aerial sensitivity 1.75\
Stick deadzone .15\
Dodge deadzone .85\
\
**Input buffer:** Classic

**Camera:**

FOV 100\
Height 110\
Distance 260\
Angle -3\
Stiffness .4

**Links:**

* [Pro Camera Guide](https://prosettings.net/rocket-league-pro-camera-settings-guide/)
* [My replays on BallChasing.com](https://ballchasing.com/player/steam/76561197970303282)


# Cocktails


# Favorite Recipes


# Whisky Reviews

## Laphroaig Triple Wood

Slightly peaty with the flavor of burned wood.

## Dalwhinnie 15

Finishes with slight notes of honey

## Glen Grant Reserve

Bourbonish, young

## Glen Grant 10

Notes of almond on the finish

## Dailuaine

Very tasty, mellow.

## Glenlivet 21

Chocolate notes

## Glenfarclas 10

Easy to drink. Smells of cherry.

## Glenfarclas 15

Spicy

## Caol Islay 12

## Oban 14

Did not like

## Bowmore 12

Just delicious

## Glengoyne 15

The favorite of the tour guide Gordon

## Glengoyne 21

Very smooth and subtle

## Tomatin 12

Grassy, I like it

## Craigellechie 13

Smooth subtle

## Aberfeldy 12

Very good. Well rounded.

## Springbank 10

Delicious. Sweet.

## Ardbeg Wee Beastie

Peppery. Punch in the mouth. Charcoal.

## Glen Grant 25

Peppery open. Smooth finish.

## Deanston 20

Starts off sweet and smooth, then comes in with a pleasant spiciness

## Deanston 12

Light. Sweet.

## Auchentoshan Three Wood

Heavy, spicy, hints of chocolate

## Bruichladdich Islay Barley 2011

Spicy hit on the tongue. Peppery on the backend. Strong.

## Bruichladdich Classic

Smoother than the Islay barley. Not peppery.

## BenRiach Smoky 10

Smoky nose, spicy finish.

## Kilchoman Sanaig

Smoky, smooth. Lovely.

## Aberlour 16

Really good. Slightly sweet. Mild spiciness.

## Glen Garioch 12

Residual heat. Crisp. A little sweet.

## Bunnahabhain 12

Smooth. Thick. Sweet with a bit of spice on the finish. Really good.

## Glen Grant 12

Light. Sweet. Smooth. Easy drink.

## Macallan 12 double cask

Smooth open. Little pepper on the finish. Caramel notes

## Macallan 15 double cask

Deep smooth open. Honey and chocolate finish

## Macallan 18 double cask

Silky start. Tannin flavors come in the he after taste. Very interesting. Dries out your mouth.

## Macallan rare cask 2021

Strong honey smell. Pepper. Hearty. A bit harsh. Thick.

## Dalmore Cigar Malt

Actually tastes like cigars. Leathery. Quite good.

## Blair Athol 23

Candy flavor in the back of my nose.

## Kilchoman Machir Bay

Smoke up front. A bit of sweet sour. The other Kilchoman is way better.

## Askaig 8 Years

Smells sweet. Smooth. Vanilla. Very tasty.

## Corsair Dark Rye

Smoky, peppery. Rich flavor. Smooth. Really good.

## Old Forester 1910

Smells incredibly sweet. Yogurt covered raisins. Light the tongue. Disappears quick. Oily mouthfeel. Hits in the back of the throat. Very interesting.

## Old Forester 1920

Smells like caramel. Long slow pepper burn. Sweet. Complex. Heavy.

## Maker’s Mark Cask Strength 20-05

Sweet smell. Mellow pepper after the sweetness. Maraschino syrup. Very easy to drink.

## Spice Tree Compass Box (Blended)

Oaky. Viscous. Pleasant spice kick.

## Elijah Craig Small Batch

Pepper hit. Spicy. Woody. Good.

## Bowmore Vault Edition

Corduroy.

## Glenfiddich 15

Nose smells a bit of raisin, molasses. Smooth, deep, a little vegetal on the finish. Delightful.

## Kikori (All rice)

Smells a bit like sake. Sort of evaporates in your mouth, like it’s high proof. But it’s only 82 proof. Interesting.

## Bruichladdich Port Charlotte

Smells like smoke. Tastes like licking charcoal.

## GlenLivet Caribbean Reserve

Smells a bit sweet. Tastes light, young, acidic. I don’t like it.

## Ledaig

Very good. Woody smell. Gentle smoke.

## Bowmore Vault

Smells like tart apples. Oily, salty. Very good. I really like it.

## Johnnie Walker Green Label

Oaky slightly sweet nose. Taste is light, slightly sweet, slightly smoky. Very tasty.

## Laphroaig Quarter Cask

Honey and smoke on the nose. Tastes oaky and slightly peaty. The finish dissipates quickly. Good, not great.

## Chattanooga 111 Cask

Smells a bit funky. Like overripe bananas. Tastes like cherry coke. Not much burn considering it’s 111 proof. Really tasty and interesting.

## Mortlach 16

Pleasant nose. Oak and sherry. Peppery and thick on the palate. Smooth. Slightly bitter aftertaste. Really good.

## Glenfiddich 14 Bourbon Reserve

Nose is like bourbon. Sweet. Light. Taste is a bit weak. Finish has a pleasant burn. Not my favorite.

## Jefferson’s Ocean

Sweet and mellow spice nose. Spice up front, then a smooth finish. Very good.

## Bunnahabhain Stiuireadair

Nose salted caramel. Fruit, smoke. Long fruit finish. Very good. I’d buy a bottle.

## Glenfarclas 17

Nose has sherry notes. Palate is also sherry with a bit of smoke and spice. Finish is long with spiciness.

## Glenrothes 11

Allspice nose. Spice forward on the palette. Deep chocolate finish.

## Templeton Rye

Nose is honey, slightly medicinal. Rye spice and honey palette. Residual low spice. Good stuff.

## Octomore 12.1

Nose is charcoal and caramel. Palette is complex. Smoke, mild sweetness, pepper, salt. Finish is lingering smoke. Amazing. I absolutely love it.

## Lagavulin 8

Nose sweet apple. Smooth palette with pepper, stone fruit. Finish is where the smoke comes in. Good.

## Laphroaig Cairdeas Cask

Nose is initially sweet, then you get hints of a campfire that’s been put out. Salty palette. Finish is chocolatey. Very good.

## Ardbeg An Oa

Nose is toffee. A bit funky. Palette is smooth. Oily. Not much flavor. A bit of a weird juxtaposition with the nose. Finish is a bit of lingering salt and smoke. It grew on me.

## Ardbeg 10

Sweet and peppery nose. Palette is smooth like the An Oa, with a bit of oil, but with more spice. Lingering spice on the finish. I like it. Between this and An Oa, I’d pick this.

## Garrison Brothers Bourbon

Nose is a bit of raisin and oak. Rounded palette. Not too sweet. Finish is just a little warm and spicy. Very easy to drink.

## Glengoyne 12

Butterscotch nose. Very interesting. Initial palette is a bit watery, but then it develops into the butterscotch on the finish. Interesting.

## Michters Rye

Good stuff.

## Oban 18

Molasses and raisins on the nose. Oily palette, finish brings back the molasses and raisins. Really tasty.

## Knob Creek Rye

Sweet peppery nose. A bit like a cigar. Smooth rich palette. Tasty on its own.

## Tobermory 12

Nose: salty sweet, a little hint of pepper. Palette

## Arran 10

Nose: rounded honey. Smooth and silky. Palette has a bit of citrus. Mellow but good.

## Glencadam 13

Nose is a bit sweet and vanilla. Palette is pepper.

## Singleton 12

Nose has the smell of apples. Palette is complex. Fruity, little to no alcohol burn. Lingering sweetness. Good. Not great.

## Corsair Triple Smoke

Nose is light and sweet, candied cherries. Taste is a bit oily, candy cane under tone.

## Pittyvaich 29 (1989 ghost)

Palette mellow fruitiness. Raisins on the palette. You feel the 102.8 at the end with some heat. Astringent. Very good.

## Highland Park 12

Nose: honey and sherry sweet. Palette is smooth and viscous. Soft sweetness. Good finish that develops a bit of spice. Pretty great for a 12 year.

## High West Double Rye

Nose has a nice rye spice. Palette is smooth with an underlying rye spiciness. Very tasty.

## Highland Park 18

Nose: honey and sherry sweet. Palette is smooth and viscous. Soft sweetness. Amazingly drinkable.

## Willet Bourbon

Smells a bit like rye. Smooth with a bit of spice. Tastes like a rye. Very good.

## Weller Special Reserve

Nose is sweet, oaky. Palette is a bit of spice and citrus. Back half is heat.

## Hudson Whisky NY Back Room Deal

Very odd. Weird smoke on the back end. Did not like.

## Linkwood 15

Sweet on the nose. Toffee on the palette. A bit of spice and smoke at the end. Very good.

## Aultmore

Gentle nose. Bits of sweetness and toffee. Palette is restrained. Spiciness, pepper.

## Scapa 2005

Vanilla spice on the nose. Gentle on the palette, a little bit of spice on the finish. Finish builds a bit of extra spice.

## Ardcore (Ardbeg 2022)

Smoky sweet nose. Pepper spice bomb on the palette. Finish leaves a mellow sweetness. Like cornbread.

## Fuji whisky

With added water, vanilla, sweet,

## Fuji Single Blended

More fruity flavors than the “whisky” version

## Fuji single grain

Spicier than the other two. Marmalade.

## Fuji 30 year (300 bottles ever made $3k-5k)

Nose: sweet, floral. Palette: rounded spiciness, sweet. Finish: long finish with the sweetness and then a bit of molasses.

## Woodford Reserve Master Distiller Selected

Nose: candy with a bit of cinnamon. Palette: alcohol spiciness, with a bit of honey. Finish: lingering spice. Really good.

## Great Jones Distillery

Bourbon: good 4 grain: harsh alcoholic aftertaste Rye: ok

## Jura 18

Sweet and woody on the nose. Light, sweet on the palette. Residual burn on the palette with a bit of sherry.

## Jura 10

Nose is shoe polish. A bit harsh. Palette is sort of how it smells. No real burn on the end. Lingers for a bit. Not that great.

## Dalmore 12

Nose has a bit of honey and cedar. Smooth on the palette. Residual burn. Really good.

## Longrow Red 11

Nose, sweet woody. Heat, peppery, sweet. Lingering heat and oak. Really nice.

## Deanston Oloroso 2008

Rich & spicy on the nose. Dry with sweet and spice. High proof burn on the finish. Very good. A little water opens it up nicely.

## Longrow Peated

Smoky peat on the nose, with a bit of sweetness. Palette is spice with a building peatiness. Finish is more sharp spice. Interesting.

## Kilchoman Loch Gorm

Tastes a bit peatier and spicier than the Sanaig. Less oily than the Machir Bay. Good, but I still like Sanaig better.

## Caol Isla 12

Palette is sweet, then it builds to a nice smokiness. Some residual heat. Very good.

## Kilchoman 7 Year Old Single Cask 2022

Nose is sweet and spicy. You can almost taste the Pedro Jimenez cask. The palette is a lot of alcohol since it’s cask strength. Then you get a lingering sweetness and spice. Reminds me a bit of a negroni in a whisky glass. I like it a lot.

## Lochlea Harvest

Amazing nose. Smells a bit like a spring forest. Palette is smooth. A bit oily. Costs your mouth with this pleasant fresh feeling. Quite good and bit sweet.

## Kilchoman Casado 2022

Tastes a lot like the Sanaig with a bit more residual heat

## Glen Allachie 2010 Single Oloroso Cask

Nose is deep. Maple syrup. Cask strength the alcohol bite is quite pronounced. But the Oloroso sherry still comes through. Quite good.

## Glen Allachie 8

Smells like a standard Speyside scotch. Palette is smooth with a bit of wood. Residual heat from the high proof. Added a few drops of water.

## Torabhaig

The nose is very smokey. Palette is spicy and smokey. More smoke on the finish. Very tasty. High proof.

## Laphroaig 16

Nose is floral, with some peat smoke. A bit like it’s been aged in rotted wood. Palette is subtle with some earrings. Heat and peat smoke builds on the finish.

## Ardbeg Heavy Vapors

Nose is very peaty, almost medicinal, grain alcohol. Palette is peat heavy, spicy, with some underlying sweetness. Finish is lingering smoke and alcohol bite. Quite tasty.

## Springbank 15

Nose reminds of me sage. The palette brings in some peat smoke, and sweetness. Finish is quick and effervescent. 5 drops of water really brings out the sweetness.

## Springbank 12 Sherry Cask

Nose is syrupy sweet. Palette is sweet with some oak ones. Finish is light. Very good.

## Campbelltown Loch

Nose is sweet, funky. Palette has sweetness, smoke and some other things I can’t pick out. Finish has some bite. Evolves on your palette.

## Glenrothes 12

Smells sweet. Palette has some bite. Smooth and sweet finish. Tasty.

## Glenrothes 18

Sweet from the Sherry casks. Smooth and gentle, unlike the 12. Finish lingers with the sweetness. Very good.

## Lagavulin 16

Nose is smoky with a bit of berry. Palette is juicy and smoky. Finish just sort of disappears. Excellent.

## Lagavulin 8

Nose is harsher than the 16. Smells more like grain alcohol. The palette is lighter. Palette fades fast just like the 16.

## Lagavulin 11 Charred Oak

Spicy on the nose. Burned tasting version of the 16. Quite good.

## Lagavulin Distillers Edition

Nose is very subtle. Sweet. Palette is smooth. Almost like port wine with smoke on the end. Tasty, but I like the 16 more.

## Glen Elgin 18

Nose has hints of apple and pear. Palette is smoky with a hint of sweetness. Finish goes away likely.

## Tobermory 12

Sweet and peaty on the nose. Peppery spice and sweetness on the palette. Very good.

## Kilchoman Evolution 12 Year

Nose has a bit of sweetness. The palette is light. Starts sweet and then turns to smoky. Lingering heat from the high proof. But it’s not strong. Very good.

## Springbank 10

Nose smells of a sherry cask. Palette is smooth and smoky. Finish turns super funky. Very good.

## Bunnahabhain 1988 Vintage Marsala Cask

Nose smells like a wine cask. Like a spicy sherry cask. Very light. Sweet, smoky. Finish evaporates quickly. Doesn’t need any water even though it’s cask strength.

## Glenglassaugh Revival

Nose is hot.Palette is briney. Oily. Ends with a (Closest to their new 12 year)

## Glenglassaugh 12

This one is bit smoother tasting than the Revival. More muted brine flavor. Good.

## Glenglassaugh Evolution

Super briney, but easier to drink. Funky. I like it. (equivalent to Sand End)

## Glenglassaugh Sand End

Amazing. Has a sort of honey taste to it. Gentle.

## Glenglassaugh Torfa

Palette is bananas. Sweet. Peaty. Funky. Amazing. (Equivalent to Port Soy)

## Glenglassaugh Port Soy

Good. A little too gentle compared to the Torfa. Not enough smoke.

## GlenDronach 12

Nose is sweet with hints of pine. Palette brings out more sweetness with a bit of residual heat. Finish stays on your tongue. Good stuff.

## Dalmore Port Wood

Nose is hard to determine. But I think I can smell a bit of the port cask. Palette has a bit of a bite, then you get a kick of ethanol that lasts into the finish. Adding a touch of water really smooths it out and makes it nice.

## Orange County Distillery Bourbon (37 months, 41%)

Nose is sweet with hints of honey. Palette is sweet with a bit of an iodine backend. Not bad.

## Glen Scotia Double Cask

Interesting nose. Has sort of a sweet candy syrup smell. Palette is strong. Finish hits you with the alcohol. Very interesting.

## Arran Malt Brodick Bay 20 Year

Nose is rich oak and honey. Palette starts with a bit of pine that builds into some fire from the high proof. Finish is a bit oily. Lingering deep sweetness. Very good.

## Mortlach 12

Sweet vanilla on the nose. Has a heavy mouthfeel. But it’s dry. The finish builds some heat. Quite interesting.

## Mortlach 16

Sweet and a bit of maple syrup on the nose. Palette is sweet with bits of dark chocolate. Dry, and the finish doesn’t build like the 12. Tastes amazing. (Sherry cask finished)

## Mortlach 20

Nose is very light. But it smells like brown sugar. The oak hits you on the palette. Finish is very extended. Great, but not quite as good as the 16 to me. (Early 1900s single malt style)

## Mortlach 2023 Katana’s 12 (Japanese whisky cask)

Smells like sugar with a bit of salt. Oily. Finish goes right to your nostrils. Strong but amazing.

## Sagamore Spirit

Nose is predominantly vanilla with a bit of tobacco. Palette brings in the rye spice. Finish is gentle, but dry. Pretty good sipping rye.

## Aberfeldy 12

Nose has hints of honey. Palette feels a bit watery. Spice notes from the barrel. Finish just leaves some heat. Easy to drink.

## J.J. Corry The Hanson Irish Whiskey

Nose vanilla forward with a hint of peach. Palette is very sweet. Almost like a bourbon. Finish is dry. Higher abv (46%) hits your nose.

## Lochlea Our Barley

Smells a bit funky. Like grain alcohol. Taste is quite good. But I don’t need to have this again.

## Uncle Nearest

Nose is heavy on the vanilla and caramel. At 50% the palette has quite the bite. Aftertaste is all sweet burn. Water opens it up quite a bit. Still not great.

## BenRiach The Sixteen

Nose has a lot of sherry sweetness. Palette is rich and sweet. Very tasty. I like this one a lot.

## Glen Moray

Smells very sweet. Palette is kind of harsh. Very almost briney. I don’t like it.

## Starward (Australian)

On the nose you can really smell the Solera cask.

## Jefferson’s Marian McClain (25th Anniversary)

Citrusy smell. Very rich. Maple syrup palette. Excellent.

## Octomore 14.3

The nose is very interesting. You get the peat and then heavy toasted cereal notes. Palette is light, you get more of those cereal flavors. Then the finish rolls in with smoke. Very interesting.

## Oban 11

Nose is sweet. Like cherries. Very hot. Needs water.

## Black Button Distilling Pre-prohibition bourbon

Nose is heavy cinnamon and black pepper. More of the pepper and butterscotch on the palette. It doesn’t have a lot of staying power, but it’s pleasant.

## Filey Bay Flagship Single Malt

Nose is sweet vanilla. It tastes a bit of grain alcohol. Very young. Not bad, but I don’t like it much.

## Octomore 14.2

Smells a lot like the 14.3. Toasted cereal notes with some underlying sherry sweetness. Taste is an odd mix. It’s got a peppery spice, with that underlying sweetness. Finish brings the cereal notes back in. Very tasty. Good.

## Frey Ranch Bottled-in-Bond Rye

Nose: oaky and peppery. Palette: hits you heavy with the rye. Syrupy. Tastes like it needs a bit more aging, but still good. Finish is heavy with the alcohol burn.

## Famous Grouse Smoky Black

Nose: sweet and smoky. Palette is sweet, almost like bourbon. Not my favorite.

## Octomore 14.1

Nose is heavy peat plus some vanilla. Palette brings in more smoke, then some grape flavor. Finish is hot. Quite good. Of the 14s, this one has the least of that cereal flavor. Adding some water really brings out the smokiness and more sweetness to the taste.

## Longmorn 18

Nose brings out notes of a sherry cask. Palette is a bit hot, but not enough that you’ll want to add water. Finish is light. Quite good.

## Stauning Rye Whisky

Nose is very peppery. Palette is heavy on the rye spice and pepper. Hot finish. Interesting, but not pleasant.

## Aberfeldy 16

Sweet Honey apple Light Pleasant. Easy to drink

## Aberfeldy 18 Tuscan

Nose is more mellow, dark cherries, caramel Still a bit watery mouthfeel More complex Grows on you

## Aberfeldy 18 Napa Valley Cab

Nose is difficult to place. Subtle sweetness. Palette is light and easy. A little residual heat. Good and easy to drink. I think I like the 18 better

## Breckenridge Port Cask Finish

The port cask aroma is strong on the nose. Palette is syrupy sweet and just a touch spicy. Very good.

## Silkie The Legendary Dark Silkie Irish Whiskey

Nose smells like brine and tobacco. On the palette you get oak and spice. Long finish of the same spice notes. It’s interesting.

## Bunnahahbian 12 Cask Strength

Nose smells like syrup and spice. Palette is hot because of the abv. Lingering cinnamon spice. Good stuff, but I like the regular 12 better. A few drops of water really open it up.

## Glen Moray 12 (pronounced Murray)

Sweet on the nose. Notes of honey. Easy on the palette with butterscotch and vanilla. Soft finish. Much better than the non-age statement Glen Moray.

## Glen Moray 15

I smell chocolate and sherry. Palette is very gentle but viscous. Delicious. Hangs out for a while on the finish.

## Glenfarclas 10

Corn on the nose, but not like bourbon. More grain and cereal on the palette. Tasty as always.

## Glenfarclas 12

Sweeter but more subtle than the 10. Palette is more viscous than the 10, but I still tastes notes of cereal. Dank.

## Glen Moray Marsala Wine Cask

Nose has hints of cherry liqueur. Allspice on the palette. Finish is pure spice but not overbearing. Develops nicely. Fantastic. Too bad it’s a limited edition

## Laphroaig Lore

Muted Laphroaig medicinal smell on the nose. Nice sweet smoke on the palette. A bit of a harsh finish, but it fades fast. Very interesting and delicious.

## Balvenie 25

Notes of Sherry and toasted cereal on the nose. Palette is interesting. You get an underlying heat and spiciness, but the rolling sweetness from the Sherry cask. Hints of allspice and ginger. Finish is hot, but not overwhelming. Unique and delicious.

## Sonoma Cherrywood Smoked Rye

Nose is big on vanilla and rye spice. Palette is very sweet. Finish is clean. Just lingering rye spice. It’s pretty good.

## Yellowstone American Single Malt

Nose has a lot of sweetness. Hints of corn, but a lot of honey. Palette is sweet too, but not cloying. Good, but not great.

## Laphroaig Sherry Oak Finish 10 year

Big Sherry sweetness on the nose. Palette has some of that Sherry sweetness, a bit of heat from the 96 proof, and then the iodine pear smoke flavor you normally get from a Laphroaig. The mix works surprisingly well together. Finish has some of the rolling sweetness and bitterness. One of my favorite Laphroaigs.

## Laphroaig Select

Noise has grassy corn nose. Very easy to drink. Low abv. Good mixer.

## Laphroaig 10

Smells sweeter than I remember. Much more residual heat than the Select. Finishes with that iodine flavor. I still love it. This was my first Scotch back when I was in my early 20s.

## Laphroaig Càirdeas (White Port and Madeira)

Nose is peat with some honey sweetness. Interesting. Finish is hot. Kind of harsh. Some water opens it up.

## Kilchoman PX Sherry Cask Matured

Nose smells like toasted cereal. Mix of sweet and smoky. Palette is very smooth. You get a finish with smoke and sweetness that lingers. Quite nice.

## Talisker Distiller’s Edition Amoroso Seasoned Cask

Sweet and smoky on the nose with a bit of funkiness. A bit watery on the palette, but you get a hint of vegetal flavor on the end. Interesting.

## Bushmills 21

Nose is sweet with toffee and a bit of molasses. Palette has a bit of citrus. A bit bitter on the finish. Good stuff, but not my favorite.

## Dalmore 12

Very sweet on the nose. Rich. Palette has some spice. You taste the sherry on the end. Good stuff.

## Dalmore Cigar Malt

Nose smells a bit more chocolaty with a tad bit of earthiness. Big spice bomb on the palette. Develops really nicely on the finish. Incredible.

## Dalmore King Alexander

Nose is strong with the chocolate orange. Palette is kind of thin. Finish is a bit harsh. Not my favorite.

## Dalmore 18

Nose is very different. Dull richness. Smells like sweet moss. Very sweet and gentle. No bite. Sweetness lingers on the palette. Very good.

## Dalmore Luminary #2

Nose has a bit of sweetness and ammonia. Palette is very creamy. The ammonia and sweetness comes back at the end. Salty, and a tad smoky. Amazing.

## Dràm Mòr

Nose smells like a bit like oak. A bit of turpentine. There’s a bit of wood, a touch of smoke. High proof. So it sort of develops into a bit of a bite then evaporates. It’s good, but not exactly an easy drink.

## Ardbeg Spectacular (2024)

Peat and port wine sweetness on the nose. Palette is a bit light with smoke and sweetness. Very dry. The alcohol bite lingers. It’s good.

## Whistlepig PiggyBack Bourbon

Nose has a lot of sweetness and some lingering spice. Palette is smooth. Finish is a bit odd, kind of bitter. Probably great as a mixer.

## Whistlepig PiggyBack Rye

Nose is very high on the alcohol, with a bit hit of rye. Palette is just spice on spice. The spice lingers on the finish. Very bold.

## Whistlepig 10 Year Small Batch Rye

Nose has rye spice but it’s more gentle and with a hint of honey. It has some roundedness on the palette. The finish is very nice. More of the honey as it goes.

## Whistlepig 15 Year Rye

Nose has notes of burnt caramel and a slight bit of rye spice. Palette . Finish is short on flavor but lingers with the heat.

## Whistlepig 18 Year

Nose is very sweet. Like molasses. Palette is incredibly smooth. A real treat.

## Arran Sherry Cask

Heavy sherry and alcohol burn on the nose. 55% is too hot. Hits like a hot bourbon. Better with some water. I would not buy again.

## Lagavulin The Distillers Edition

You can smell the sweetness of the Pedro Ximenez cask on the nose. Not too hot. Mellow on the palette. Toasty and a little sweet on the finish. I really like it.

## Bunnahabhain Fèis Ìle 2023

Nose has a bit of wheat. Palette is a bit hot, but mellows with sweetness from the sherry cask finish. Quite nice.

## Glentauchers 13

Smells a bit sweet and a grassy. Palette drops the sweetness for oiliness. I like it a lot. Pleasant.

## Milan & Greene Single Barrel Bourbon

Nose brings some sweetness and allspice. Palette is silky with more spice. Something kind of like cinnamon in the finish. Excellent.

## Highland Park 21

Nose has notes of spice and red candied apple. Palette is syrupy with developing spice notes. Notes. A little bit of a rye taste at the end. Complex and good.

## Balvenie Revelation of Cask and Character 19 year old

Rich Sherry sweetness on the nose. Woody, and sweet on the palette. Finishes with a kick of spice and heat. Very nice.

## Macallan Classic Cut 2023

Vanilla on the nose. A little bit sweet. Not particularly remarkable. Tasty.

## Kilkerran 8

Nose has notes of raisins. Sweet but hot. Palette isn’t as hot as it smells. It lingers for quite a bit. The sweetness comes in long after the burn leaves.

## AD Rattray Tomintoul distillery 17 year sherry

Nose is sweet, with a bit of oak. Heat from the high ABV, but it doesn’t drink like 57%. Great finish. Lingering sweetness. Very good

## AD Rattray 16 year Teaninich port finish

Nose is a bit briney. Not a lot of sweetness. Lots of pepper on the palette. The sweetness is there, but it’s deep in there. The heat lingers. Tannic, dry. Good. 57% percent.

## AD Rattray Strathmill 16 year bourbon hogs head 55.5%

Nose is toffee. Palette brings in even more burnt toffee, then the finish has a note of peppermint. Excellent.

## AD Rattray Tormore Rum Cask 58%

Nose has a deep funky molasses flavor. Maybe a bit of plum. Palette is hot at first. Spicy cinnamon on the finish. Needs water.

## AD Rattray Glen Rothes 11 year 65.9% sherry

Dry sherry nose. Very strong. Earthy. Tastes like grain alcohol. Haha. Why would they do this to us. Still kind of good. Ok. On second taste, it’s quite good. Has the briney flavor of a super dry sherry. A touch of sweetness. Almonds. Mascarpone. Torronne.

## Raasay Signature Draam

Nose has a cereal note. A little bit of alcohol burn on the palette with some rye spice. Slight smokiness, then it develops into a nice honey sweetness. Quite good.

## Raasay unpeated ex-rye

Nose, hint of cereal, sweetness. Palette is quite spicy. A bit harsh. Spice lingers.

## Raasay ex left band Bordeaux wine cask

Nose, smells like grain alcohol. Tastes a bit grainy, but then it’s sweet. It lingers with the sweetness.

## Raasay highland peated red wine cask

Nose, sweet with a tiny bit of smoke. Hits you with sweet smoke, and the sweetness lingers. Quite good.

## Raasay cask strength of signature Draam

Quite good. Stronger less mellow version of the signature from above.

## Raasay sherry cask

Smells like sherry. Palette is sweet. Sweet finish with a bit of pepper. Too sweet.

## Glen Allachie 30 Year

Nose is sweet with a bit of underlying spice. Palette hits you with the sherry’esque sweetness. Finish is syrupy. Quite good.

## Glenmorangie 12

Honey and vanilla sweetness on the nose. Light on the palette. Finish is a bit harsh with a bit of crisp apple. Not bad.

## Glenmorangie Lasanta (Sherry)

Nose has that sherry sweet raisin smell. A bit sweet on the palette. Develops into a rich sherry finish. Light and not syrupy. Quite beautiful.

## Glenmorangie Nectar 12 (old Sauternes expression)

Nose reminds me of burned caramel. Palette brings in some more sugar notes. Like a funnel cake. Finish is bright and citrusy. Interesting.

## Glenmorangie 18

Nose brings in a bit of the sherry, but still with more of that light bourbon cask smell. Palette is much more viscous. Finish is light with some sherry and spice. Quite nice.

## Glenmorangie Signet (Chocolate Malt)

Nose has lot of coffee, chocolate, and a touch of caramel. Palette has a bit of effervescent effect before the finish begins. Finish brings in more burnt coffee taste. It’s like the whisky version of a chocolate porter style beer. Interesting, but I don’t think I like it.

## Glenmorangie La Quinta (Port)

Nose is light. Palette is very smooth with a bit of a chocolatey sweetness. Quite good. More viscous than the Lasanta.

## Dalmore 15

Easy drinker. Caramel notes. Smooth finish. Good, but not exciting.

## Dalmore 15 vintage

Nose has a bit of spice. Palette brings in anise flavor. Finish is dry and spicy. Quite good.

## Dalmore 18

Dark cherry chocolate on the nose. Palette brings in tobacco notes. Finish is dry. Good.

## Dalmore 18 vintage

Smells like PX on the nose. Palette is spicy. Light. Disappears. Meh.

## Lagavin 11 offerman #4

Sweet peppery on the nose, residual smoke. Salty and sweet on the palette. Quite nice.

## Lagavulin 16 special edition PX

Smells like the sea with sweet raisins and some malted grains. Palette is sweet and smoky. Finish is dark chocolate. Very good.

## Oban 14

Sweet and smoky on the nose. A lot of salinity and slight peat flavor on the palette. Finishes with more and more smoke as it develops. Very good.

## Kings County Blended

A little grainy a little sweet. Tasty.

## Kings County Straight Bourbon

Tasty. Easy drinker.

## Kings County Rye 61%

Hot on the nose. Palette is hot. But it drinks well. Finish brings in a nice rounded rye spice. Quite good despite the proof.

## Kings County Spiced “Flavored” Whiskey

Woof.

## Compass Box Extinct Blends Quartet

Excellent. Light and slightly smoky.

## Ten Mile Distillery American Revolution (Chain that Saved America)

Nose has lots of wheat grain. Palette is very pleasant. A bit fruity and light. Quite tasty.

## Ten Mile Port Cask

Not as good as the other one, but it brings in some smooth sweet port notes. Good for dessert.

## Copper Fox Rye

Nose reminds me of molasses. Palette is very woody. Oakey. Don’t love it.

## Naked Malt

Nose is sweet. Maybe Oloroso Sherry? Palette is spicy with some lingering smoky sweetness. Quite good for the low price.

## Journeyman Featherbone Cask Strength Bourbon

Nose is hot, sweet and oaky. Palette is a bit harsh. Leathery, earthy. Finish lingers with dry spices. Like white pepper. Much better with a bit of water. More spicy. Nose has more vanilla.

## Kilchoman 15 year sherry cask

Nose has hints of sherry and toasted cereal. Finish is a bit short and hot. Pretty good. Not amazing. Water mellows it out quite nicely.

## Kilkerran 12

Nose is sweet with some cereal notes. A bit dank and funky. Palette is thin but you get some of the sherry notes. Finish brings in a bit of charcoal. Interesting easy drinker.

## Scapa 21

Nose is juicy and sweet. Reminds me of the syrup in a fruit cup. Palette is even more sweetness, with strong undertones of spice. The finish trades between spicy and sweet. Interesting.

## Ardbeg Vintage Y2K (23 year)

Nose has some grain, smoke, and some sherry sweetness. Palette is heavy on the smoke. Like a damp camp fire. A little sweetness and pepper on the palette. The finish is all lingering smoke. Very good.

## Booker’s Jimmy’s Batch 7 Year

Burnt Orange on the nose, then the palette brings in some vanilla. Hot since it’s 62%. Quite tasty.

## Teitessa Single Grain Japanese 30 Year

Nose was sweet. Palette had a lot of honey and a bit of spice. Nice long viscous finish. Very tasty.

## Compass Box Nectarosity

Nose is complex. Buttery, vanilla. Palette starts a bit spicy then immediately smooths out. Interesting. Good stuff.

## Compass Box Peat Monster

Nose smells like laphroaig, but a bit more intense. Palette is incredibly light. Finish brings in some vanilla oakiness. Very drinkable and tasty.

## Compass Box Crimson Casks

Nose is subtle, allspice, maple syrup. Palette is complex. It starts with cinnamon, and develops into dark chocolate. The spice lingers on the palette. Excellent.

## Compass Box Flaming Heart #8 (2025)

Hint of peat on the nose. Palette brings in more peat, and some of the sweet complexity of a sherry scotch. Lingers with a bit of vanilla and cereal grain. Quite nice.

## Compass Box Orchard House

Nose is light and sweet. A bit of green apple. Palette is a bit hot. Lingering honey on the finish. Good. I think some water could help.

## Compass Box Art and Decadence

Rich sherry sweetness on the nose. Palette is light. Brings in some brine and sweetness. Amazing.

## Compass Box Celestial

Nose smells a bit smoky with a bit of underlying fruitiness. Palette brings in more smoke. Lingering smoke and some tropical fruit flavors on the finish. Very good.

## Bruichladdich Black Art 11.1

Nose is heavy dark sherry. Palette starts rich and round. You get a bit of spice and black cherry on the finish. Amazing.

## Daftmill 2010

Nose is a bit of toffee and butterscotch. Finish has some fig notes. Hot since its cask strength. Very good.

## Glenrothes 25

The nose is heavy and sweet. Syrup with a bit of allspice. The palette is interesting. A bit oily, the sweetness doesn’t come through, then the finish has a bit of bite.

## Glen Allachie 8

Nose brings in some sherry sweetness, a bit of honey. Palette feels round with some cinnamon. Hard to describe. Finish brings in some spiciness. Quite good.

## Glen Allachie 12

Much sweeter nose than the 8. Notes is grade B maple syrup. Palette has a pleasant sweetness, but it’s a bit dull. The finish is a bit watery. I like the 8 more.

## Glen Allachie 15

Nose has a faint sweetness with some rye spice. Palette has a bit of blueberry. Finnish is spicy, but it doesn’t linger. Good but not terribly complex. Lighter than the others, so an easier drinker. Slightly better than the 12.

## Glen Allachie 10 (Cask Strength)

Nose is more honey and oak, very sweet. Palette is surprisingly light given the abv (58%). Finish is hot. Drinkable given the abv. Adding water brings in more spice. Tastes like New Orleans.

## Glen Allachie Meikle Toir (Cask Strength) 50%

Sweet peat on the nose, with that cereal note I love. Palette is gentle. Tastes a bit salty. I love it. Better than a similar tasting Octomore.

## Glen Allachie Madeira

Subtle honey molasses on the nose. Palette brings in a lot of spice. Quite good.

## Craigellachie 23

Nose is a bit spicy. Like green apple with cinnamon. Palette is almost a bit sour. Kind of oily. Spicy lingering finish. Very uinique and fun.

## Bowmore 12 (pronounced som’more bow more)

Nose has honey cinnamon and smoke. Palette brings in more spice and a medicinal quality. A tiny bit hot. Finish lingering sweetness and smoke. Quite good.

## Bowmore 15

It’s like the 12 but everything is more refined. Tastes a lot of sherry. Amazing.

## Bowmore 18

On the nose and palette more savory, buttery, leathery. Sherry hits hard. So good. Amazing.

## Bowmore 21 (Aston Martin)

Almost no nose. Very subtle. Palette starts light then develops some cinnamon spice and sweetness. Very good, but I prefer the 18.

## Bowmore 18 Manzanilla Finish

Nose smells like molasses with a hint of salt. Palette has lots of salinity and that sherry sweetness. Finish is rounded and sweet. Quite good.

## Fettercairn 24

Nose is amazing. A bit of honey and vanilla. Sweet on the palette. Long finish with some pleasant bitterness. Extremely good.

## Ledaig Triple Wood

Nose is very interesting. A bit of turpentine. The palette is light, almost effervescent. Like a camp fire. Quite good.

## Starward (Red wine cask)

Smells juicy and a bit like a cab or cognac on the nose. Palette is quite sweet. A bit sharp. Finish is hot. A few drops of water opens it up nicely.

## Kilchoman Sauternes

Nose has a bit of spice and something like butter. Despite being 50% abv, the palette is light, but the finish burns quite a bit with some smoke. Quite good.

## Arran Barrel Reserve

Light honey on the nose. Palette has a bit of fruitiness. Very light. Tasty and easy drinking. Would be a good replacement for my beloved Johnny Walker Green.

## Roseisle 12 Year (56%)

Stone fruit on the nose. A bit hot without some extra water. With some water, it’s quite good. Lots of sweetness. Vanilla.

## Glenfiddich 26 Cognac Cask Finish

Nose is very rich, like toffee. Palette is rounded with some lingering sweetness on the close. a bit woody like a bourbon. Powerful considering the age. Not an easy sipper, but excellent.

## Torabhaig Allt Gleann (pronounced Alt Glan)

Nose is peaty, but not as medicinal as laphroaig. A bit more sweetness. Palette brings in a bit of black pepper which lingers on the finish. Very good. Some water drops take away the bite, but it’s still tasty.

## Torabhaig Cnoc Na Moine

Nose has more barley than the Allt Gleann. A bit of sherry sweetness. Lighter, less peat. Disappears quickly. Easy drinker.

## Torabhaig Sound of Sleat

Barely again, but a little funkier on the nose. Palette is more medicinal than the other two. Water brings out more vanilla and oak flavors.

## Torabhaig Allt Gleann Batch Strength (61.1% ABV)

Too hot to nose. A bit of smoke. A bit of sweetness. Just disappears when you drink it. Interesting effect.

## Torabhaig Distillery Reserve 2019 PX Hogs Head (61.8% ABV) Bottled May 2025

Sweet bbq on the nose. Palette tastes even more like charred bbq chicken. Unique. Delicious.

## Murray McDavid Ben Nevis 11

Nose is incredibly earthy. Hits you with tons of spice on the palette. Great funky finish. Very lovely.

## Tenmile Battle of Stony Point (5 years)

Smells young. Lots of honey and vanilla. Palette chocolate and blueberry. Finish is smooth. Pleasant despite the age.

## Tenmile Battle of Groton Heights

Smells like a sherry cask. Sweet. Palette and finish is a bit spicier. Quite tasty.

## Tenmile Little Rest Classic V

Nose has some patchouli and vanilla. Palette is quite sweet. Very smooth. Easy drinker.

## Tenmile Little Rest Double Matured Rye Cask (Cask Strength \[Pinot noir finished in rye cask]) 60% abv

A bit too rich to nose. Palette is rich with some rye spice. Finish is amazing. Great bottle.

## Tenmile Little Rest Double Matured Pinot Noir Cask Strength 61.5%

Nose is ripe blackberries. Palette brings in a lot of honey. Very thick. Delicious.

## Compass Box - The Peat Monster Cask Strength (56.7% abv)

Nose is very smoky, with some molasses sweetness. Palette is shockingly smooth and sweet. But there is a big element of brine. Quite good.

## Ledaig Sinclair Series

Sweet and a little toasty on the nose. Palette is a bit oaky, and more peaty. Finish is all peat and heat. Very good.

## Glen Scotia Double Cask

Nose, honey and vanilla. Palette is a bit funky. Iodine on the finish. Interesting.

## Glen Scotia 21

Nose has a bit of overripe blackberry. Palette is incredibly light, more berries. Finish is on the sweet side. Very nice.

## Glen Scotia Mermaid (54% Abv)

Nose brings in black cherry with some salinity. Cinnamon on the palette. Oily. Disappears on the finish.

## Glen Scotia Victoriana

A bit of spicy molasses on the nose. Palette tastes like Dr Pepper at the start. Finish has a bit of that iodine flavor. Quite good, but not as easy drinking as the Mermaid.

## Glen Scotia 9 year festival (2024 56.2% ABV)

Nose has a bit of overripe spinach. Palette is also medicinal and funky. Not exactly my favorite. Interesting, but rough to drink.

## Cragganmore 12

Nose brings in some honey and smoke. Palette is light. Sweet with a bit of smoke on the tail end. Quite good.

## Knob Creek 18

Deep molasses like flavor. Hot but very tasty.

## Glendronach Ode to the Valley (Sherry & Port casks)

Nose has a bit of a medicinal quality, then it settles into baking spices on the palette. Hot on the finish.

## Roseisle 14

Nose brings in some honey and Fuji apples. Palette is spicy and hot at 55%.

## Bowmore 12 Sherry Oak Cask

A little bit smoky and sweet on the nose. Charcoal and brown sugar. Palette is gentle, low abv. Easy sipper. Very good.

## GlenAllachie 13 Madeira

Madeira sweetness on the nose. Quite hot at 54% abv. Really light sweetness on the palette that develops into a spicy heat. It’s pretty good. Not my favorite of the GlenAllachie line.

## Glengoyne 15

A bit of a maritime sweetness on the nose along with some allspice. Oily on the palette. Quite good.

## Kilchoman 18

Strong cereal notes on the nose. Spicy and sweet on the palette. Spicy finish. Lovely.

## Starward Lagavulin Edition

Nose has a lot of sweetness and ripe fruit. A bit of that Lagavulin iodine on the palette. Spicy on the finish.

## GlenAllachie 12

Licorice and vanilla on the nose. Palette is a bit spicy cinnamon and light with some sweetness. Finish lingers with the some heat. Quite tasty.

## GlenAllachie 7 Hungarian Oak

Nose has an oaky green apple aroma. Palette has more of that apple, creamy up front. Finish comes in quick and brings in some of that young grainy taste. Still quite tasty, but the finish is a bit harsh.

## GlenAllachie 12 Sauternes (UK exclusive)

Sweetness and strong allspice and nutmeg on the nose. Palette is more spice. Tingles all over my mouth. A party. Finish brings in more spice. Amazing.

## GlenAllachie 13 Madeira cask strength 54%

Nose has some of that dessert wine sweetness and some of that allspice from the Sauternes cask type whisky. Palette starts with a round sweetness, then the spice comes in. Finish is pleasant despite the abv. Amazing. I love this.

## GlenAllachie 2015 Cask Strength 58% (oloroso / Scottish oak)

Sweetness and strong Finish brings in more spice and finishes quickly. Doesn’t taste at all like it’s 58%.

## Caol Isla 13 Tokaji Wine Cask 55.2%

Nose has a bit of iodine and sweetness. Quite interesting. The palette is super smooth. Kind of meaty. Hot finish. Really good.

## Heaven Hill Grain to Glass Wheated Bourbon 53.3%

Nose reminds me of strawberry gushers. Palette has a bit of harshness from the heat. Complex. Good, not amazing.

## Heaven Hill Grain to Glass Rye 52.6%

Nose smells a bit like toast. Very pleasant. Rye spice right up front on the palette. Finish is long with a bit of allspice or clove. Good stuff.

## Russell’s Reserve Rye

Nose is subtle, a bit of rye. Palette is smooth, a bit like maple syrup. Finish is sweet and long. Good, but on the sweet side.

## Benriach 25 46%

Smells like a sherry cask whisky with some smoke. Palette is heavy on layered spices and sweetness. Peaty on the finish. Amazing.

## Blair Athol 23

Sherry and sweet on the nose. Finish is spicy and strong. Palette lays the sweetness on thick. Quite good. Not gentle for a 23 year.

## Loch Lomond Original (40%)

Nose has tons of banana bread, honey and bit of grain alcohol. Interesting up front. Palette is a bit thin. Fruity and a tiny bit peaty. Finish hits with a sudden punch of spice. Interesting sipper. Good.

## Loch Lomond 12 (46%)

Nose is a muted sweeter version of the original (more honey, a hint of banana bread). The palette is less thin. More fruity punch, a touch of smoke, and a tiny bit of alcohol burn on the finish. Great.

## Loch Lomond 14

Nose has more vanilla. Banana bread is Gina. Palette is oakier, vanilla, sweet. Spicier on the finish. More pleasant than the two above. Less personality but good.

## Loch Lomond 18

Funky on the nose. Smells like dusty peaches. Palette similar to the 14, oakier, vanilla, sweet, but rounder. Less spicy and hot on the finish, more woody. Very smooth.

## Loch Lomond 24 British Open 2024 Royal Troon (Manzanilla Sherry)

Dry cinnamon on the nose. A tiny bit spicy. Tickles the nose. Palette brings in some salinity. Finish brings in the cinnamon again. Delicious. Maybe one of the best most interesting whiskies I’ve had.


# Infinity Bottle

Templeton Rye

Johnnie Walker Green

Chattanooga Cask

Kilchoman Sanaig

Bunnahabhain 12

Maker’s Mark Cask

Laphroaig Quarter Cask

GlenFiddich 15

Old Forester 1910

Old Forester 1920

Old Forester Rye&#x20;

Weller Special Reserve

Fuji Whisky World Blend

Woodinville Straight Rye

Orange County Distillery Bourbon

Aberfeldy 12

Stauning Rye Whisky

Uncle Nearest 1856


# Favorite Wines


# Quotes

"Plan and prepare for every possibility, and you will never act. It is nobler to have courage as we stumble into half the things we fear than to analyse every possible obstacle and begin nothing. Great things are achieved by embracing great dangers." - Xerxes

"Problems don't age like a fine wine" - Rolf Dobelli

"This is the real secret of life - to be completely engaged with what you are doing in the here and now. And instead of calling it work, realize it is play." - Alan Watts

"The meaning of life is just to be alive. It is so plain and so obvious and so simple. And yet, everybody rushes around in a great panic as if it were necessary to achieve something beyond themselves." - Alan Watts

"A good plan, violently executed now, is better than a perfect plan next week" - George Patton

"There is one rule to be learned. Life is not you. Life is outside you. If it is outside, you must go toward it. You must go toward a person, and if he or she backs off it’s their fault. The essential thing to know is that life is in front of you. Go toward it." - Stella Adler


# Life

“This is the real secret of life -- to be completely engaged with what you are doing in the here and now. And instead of calling it work, realize it is play.” – Alan Watts


# Programming

What you create should be simple to understand and extend.

Use established technology as much as possible. You don't want to be the biggest or first customer to encounter a problem.

[Software doesn't rust.](https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/)

[Thorsten Ball - Professional Programming: The First 10 Years](https://thorstenball.com/blog/2022/05/17/professional-programming-the-first-10-years/)


# Diets

## Cutting&#x20;

1 gram protein per pound (4 cal per gram)\
.4 gram fat per pound (9 cal per gram)\
Fill the rest with carbs (4 cal per gram)

10-12 x Body Weight as s starting point for calories\
\
2-3 months max for cut\
\
Try to lose somewhere between .5 and 1 percent of body weight per week\
\
Swap in exercises that aren’t so fatiguing. Like stiff leg deadlifts instead of classic deadlifts.\
\
Fewer sets, but potential higher reps.\
\
Deload calories should be at maintenance calories. (Add \~15% calories back).

#### Sources

* <https://youtu.be/6-z9vaP3B64>
* <https://youtu.be/hjZTMrHHXVQ>
* <https://youtu.be/Js6CuY7EQhY>
* <https://youtu.be/VLlX6_2Ris8>
* <https://youtu.be/inPPdCuJ734>

## Maintenance&#x20;

Protein: 0.9g/lb. (2g/kg)\
Carbs: 2.5 to 3g/kg, about half that of peak mass phase\
Fat: The rest (around 1.25 to 1.5g/kg)\
Note: 1kg = 2.2 pounds

Maintenance phases after masses and cuts should be at least a month, up to as long as the cut itself. (60% to 100

#### Sources

* <https://www.t-nation.com/diet-fat-loss/tip-the-forgotten-importance-of-maintenance-phases/>


# Exercise Notes

## General

Mind muscle connection is key.

Make sure you're not doing junk volume. Consider what reps in reserve you're aiming for.

Breathe.

Engage your core.

## Leg Press

Focus on the quads\
\
Put your feet on the lower half of the plate, but no so low that your heels lift off at the bottom of the movement.\
\
Lower back as low as possible.\
\
Don’t let your lower back round.\
\
Get weight lifting shoes\
\
Legs should be wide enough that your knees can go to the sides of your stomach at the bottom\
\
Ask yourself, am I going low enough, is my back still tight?\
\
10-20 rep range will be best\
\
Don’t forcefully lock out your knees

## Shaul's strength standards for men

(BW = your own body weight)

**LIFT**\
Front Squat – 1.5x BW\
Dead Lift – 2.0x BW\
Bench Press – 1.5x BW

#### Source

* <https://youtu.be/8vk6rWMSxOk>
* <https://www.mensjournal.com/health-fitness/everything-you-know-about-fitness-is-a-lie-20120504>


# Personal Training Notes

## General

* Be aggressive/intense. You have to tear down the muscle to rebuild it
* Do the exercises you can do the most weight with. You’ll need to recruit more muscles and use more strength to do them.
* Aim for 6-8 reps. Go to failure.
* Add more weight when you can do 8 reps comfortably, then you're probably back at the 6 rep range
* 4 working sets per exercise
* warm up: zone 2 cardio for 3-5 minutes
* warm up for an exercise, lighter weight for a few reps
* 2-3 minutes rest between sets
* If your workouts are getting too long, do less sets/exercises rather than sacrificing rest
* If you're out of gas, take 3 big breaths and try another rep
* Shoulders and arms don't need much rest, so you could work them 4x a week, unlike chest, back, quads, hams
* Consider push, pull, legs, push split
* Add leg extension to leg day, it works a muscle that squats don't (rectus femoris?)

## Diet

* Aim for slightly above maintenance calories for body recomp (+200 calories)
* 1500 calories is way too low if you're body building
* Trainer likes Naked or Transparent Labs whey
* Eat 1 gram of protein  per pound of bodyweight daily, spread even over four to five meals&#x20;
* Eat 2-4 grams of carbs per pound of bodyweight daily, spread even over four to five meals. Low to no fat carbs like rice, potatoes , vegetables.
* Drink half your bodyweight in water daily&#x20;
* Meal Prep to ensure daily calories and protein are met

## Exercises

### Bench Press

* Exaggerate chest up
* Pin shoulders back
* Sternum is the target
* Use the safety pins
* Only move your elbows
* Don't move your shoulders
* Did 115 lbs for 6 reps

### Incline Bench Press

* aim for 45 degree angle
* you'll have to reach behind your head a little
* exaggerate chest just like normal bench press
* 1 from the back, 3rd vertical pin, 13 safety’s, 8 for the starting pin
* 13 safety pins, 6 for the incline
* Roll back to chest lift off

### Hex Bar Deadlift

* keep knees back at the bottom (it hurts otherwise)
* take a deep breath, make everything tense
* arms should be tense, locked
* lift with your chest
* tap at the bottom, go back up
* Move chest and lock in lower back
* Chest should should be higher than lower back
* Lift it slow at the bottom, don't jerk the bar off the ground
* Let air out at the top
* Normal trap bar weighs 45 lbs, Rep open trap bar weighs 70 lbs

### Chest Fly

* use machine
* bring hands together
* pause under tension when your arms out wide
* Start at pin 3 on the fly machine

### Pull up

* Use the box to help you to the bar
* Do 4 sets of max reps (currently \~5 reps)
* use neutral grip if elbows hurt
* Drop weight at the knees, then pull

### Squats

* Push knees out wide 14 safety 2 35s 115 x 6
* Everything I knew about fitness is a lie
* Belt - when your back hurts

### Row bent over

* Start at the top Pull to the sternum Soften knees a bit&#x20;
* Squeeze your shoulders together&#x20;
* Don’t start with your shoulders lower than your back

### Tricep dips

* Pop up&#x20;
* Lean forward&#x20;
* Don’t do assisted
* Aim for parallel&#x20;
* Make it your first exercise in a workout since it's so tough

### Walking lunge

* Forward and down at the same time&#x20;
* 8 reps then 30 seconds, 8 back, rest&#x20;
* Imagine you’re about to put the weights next to front foot&#x20;
* You can immediately pop back up

### Tricep cable

* Butt back
* Don’t move elbows

### Machine rows

* Lean forward&#x20;
* Don’t lean back so much&#x20;
* Squeeze the back&#x20;
* Hit your body &#x20;
* Deep breath in and pull

## Workout Schedule

* 3 or 4 Days a week
* 4 working sets per exercise&#x20;
* 6 to 8 reps per set
* 2-3 minutes of rest between sets

### Day 1

1. Pin Bench Press&#x20;
2. Dips (Only for 3 sets) &#x20;
3. Seat Fly&#x20;
4. Alternating Dumbbell Curl (Optional)
5. Cable Tricep (Optional)

### Day 2

1. Box Pull-ups&#x20;
2. Barbell Row&#x20;
3. Lat Pulldown &#x20;
4. Alternating Dumbbell Curl (Optional)
5. Cable Tricep (Optional)

### Day 3

*Only 6 reps for each*&#x20;

1. Pin Squat&#x20;
2. Hex Bar Deadlift&#x20;
3. Dumbbell Walking Lunge or Step Back Lunge


