Skip to content

Instantly share code, notes, and snippets.

View jonfriesen's full-sized avatar
🪐
hey there!

Jon Friesen jonfriesen

🪐
hey there!
View GitHub Profile

Keybase proof

I hereby claim:

  • I am jonfriesen on github.
  • I am jonfriesen (https://keybase.io/jonfriesen) on keybase.
  • I have a public key ASBfnWKFBT-cEAQ5AbDFsBd0E_5T7q_93lSbrtLH1IyTcgo

To claim this, I am signing this object:

@jonfriesen
jonfriesen / wsl-go-install.sh
Last active January 26, 2018 22:06
Script to install Go 1.8.3 on Linux and WSL (Windows Subsystem for Linux)
#!/bin/bash
set -e
GVERSION="1.8.3"
GFILE="go$GVERSION.linux-amd64.tar.gz"
GOPATH="/mnt/d/GoPath/"
GOROOT="/usr/local/go"
if [ -d $GOROOT ]; then
echo "Installation directories already exist $GOROOT"

Hello! What's your background, and what are you working on?

Good Morning! I'm Simon Bennett, a 25-year-old software engineer from the UK. I've always enjoyed building projects for myself on the side and teaching developers. When I am not consulting, I am working on my SaaS SnapShooter - a DigitalOcean backup server

SnapShooter provides a secure and easier way for DigitalOcean users to back up their droplets and volumes. DigitalOcean is very limited in only offering weekly backups and retention of the last four. This was not good enough for me at work so I built a system that enables hourly backups. SnapShooter also offers volume backups which is not offered by DigitalOcean.

Since launching in February to date, SnapShooter has taken 150,000 backups, managing 2,000 droplets and volumes and has 44 paying customers at a MRR of $834.

What motivated you to get started with SnapShooter?

@jonfriesen
jonfriesen / docker-builder.sh
Created July 24, 2018 21:15 — forked from didip/docker-builder.sh
Small helper script that automates Docker building and pushing
#!/bin/bash
set -ex
PARENT_DIR=$(basename "${PWD%/*}")
CURRENT_DIR="${PWD##*/}"
IMAGE_NAME="$PARENT_DIR/$CURRENT_DIR"
TAG="${1}"
REGISTRY="hub.docker.com"
@jonfriesen
jonfriesen / docker-compose.yml
Created March 13, 2019 20:08
Spins up PostgreSQL & pgAdmin4 (username: pgadmin4@pgadmin.org password:admin)
version: '3.5'
services:
postgres:
container_name: postgres_container
image: postgres
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
PGDATA: /data/postgres
@jonfriesen
jonfriesen / auto-update-vscode.sh
Created August 11, 2019 19:53
script to auto update vs code
#!/bin/bash
wget https://vscode-update.azurewebsites.net/latest/linux-deb-x64/stable -O /tmp/code_latest_amd64.deb
sudo dpkg -i /tmp/code_latest_amd64.deb
@jonfriesen
jonfriesen / mongo-status-checker.docker-compose.yml
Created July 25, 2018 18:15
Shows how to create a docker mongo status checker and run command after it connects successfully
version: '3.0'
services:
mongo:
image: mongo
ports:
- "27017:27017"
- "28017:28017"
environment:
MONGO_INITDB_ROOT_USERNAME: mongoadmin
MONGO_INITDB_ROOT_PASSWORD: secret
[connection]
id=DO - NYC3
uuid=<COPY_FROM_DUMMY>
type=vpn
autoconnect=false
metered=2
permissions=user:<YOUR_LINUX_USERNAME>:;
timestamp=1581433754
[vpn]
@jonfriesen
jonfriesen / main.go
Created March 17, 2020 17:43
Generate SSH key pair in Go
// Note: There were a couple blogposts I used to write this but for the life of me can't seem to find them. Will update with references if I do.
// generateSSHKeyPair creates a private & public key pair
func generateSSHKeyPair(bitSize int) (privateKey []byte, publicKey []byte, err error) {
// generate private key
pKey, err := generatePrivateKey(keySize)
if err != nil {
return nil, nil, errors.Wrap(err, "failed to create private key")
}
@jonfriesen
jonfriesen / .travis.yml
Last active March 20, 2021 08:23 — forked from ryboe/.travis.yml
Example .travis.yml for Golang with CodeCov.io integration
language: go
# Only the last two Go releases are supported by the Go team with security
# updates. Any versions older than that should be considered deprecated.
# Don't bother testing with them. tip builds your code with the latest
# development version of Go. This can warn you that your code will break
# in the next version of Go. Don't worry! Later we declare that test runs
# are allowed to fail on Go tip.
go:
- 1.9