Skip to content

Instantly share code, notes, and snippets.

Alex Johnstone alexjj

Block or report user

Report or block alexjj

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
alexjj / docker-compose.yml
Created Nov 29, 2019
Sample docker-compose with Traefik v2.0 and Lets Encrypt
View docker-compose.yml
version: "3.7"
image: bitwardenrs/server:latest
container_name: bitwarden
- /home/alex/docker/bitwarden:/data
restart: unless-stopped
alexjj /
Created Jan 7, 2019 — forked from rgreen13/
Python script to fetch stock prices for gnucash using api. Since Quotes::Finance fetching from Yahoo finance no longer works, it is an alternative.
# INSTALL DEPENDENCIES BEFORE RUNNING: pandas, sqlite3, sqlalchemy, requests
# There is one thing you have to do though: gnucash needs to know the price's currency and it needs a guid (unique identifier)
# for this. This guid is unique for each installation, so you need to find yours and assign it to CURRENCY_GUID.
# OR: you can just leave it, and the script will fetch the currency from the last price added
import pandas as pd
import sqlite3
import sqlalchemy
from sqlalchemy import create_engine
import time
View passwordbreakerexcel.vba
Sub PasswordBreaker()
'Breaks worksheet password protection.
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
alexjj /
Created Sep 10, 2017 — forked from paulc/jail.conf
FreeBSD ZFS Jail
[ -z "${DEBUG}" ] || set -x
JAIL_RELEASE=${JAIL_RELEASE:-$(sysctl -n kern.osrelease | sed -e 's/-p[0-9]*$//')}
JAIL_ARCH=${JAIL_ARCH:-$(sysctl -n hw.machine_arch)}
alexjj / Swap sign in qif
Last active Aug 14, 2016
Switch sign in bank qifs to fix import errors with YNAB
View Swap sign in qif
import sys
def main(argv):
for inFilename in argv:
if not inFilename.endswith('.qif'):
print "Error: expected QIF file"
raw_input("Press enter to get outa here...")
return 1
outFilename = inFilename.replace('.qif', '.negated.qif')
alexjj /
Created Mar 11, 2016
Help output of bean-report


Generated with bean-report FILENAME.beancount {report name}


    Print out the trial balance of accounts matching an expression.
    Print out a balance sheet.
alexjj /
Last active Dec 21, 2015
HandbrakeCLI a folder
# Change this to specify a different handbrake preset. You can list them by running: "HandBrakeCLI --preset-list"
PRESET="AppleTV 3"
if [ -z "$1" ] ; then
alexjj /
Last active Nov 13, 2015
HSBC US .csv to YNAB
# A simple script to convert csv from Money Management Tools website to be readable by YNAB.
# YNAB wants: Date,Payee,Category,Memo,Outflow,Inflow
__author__ = "Alex Johnstone <>"
#Input file from HSBC US
import_csv = 'ExportData.csv'
#Drop any transaction prior to this date
cutoffdate = '2015-09-01'
#List unique values in a DataFrame column
#Convert Series datatype to numeric, getting rid of any non-numeric values
df['col'] = df['col'].astype(str).convert_objects(convert_numeric=True)
#Grab DataFrame rows where column has certain values
valuelist = ['value1', 'value2', 'value3']
df = df[df.column.isin(value_list)]
alexjj /
Created Jul 28, 2015
FreeBSD Ports update check script
/usr/sbin/portsnap fetch update && \
/usr/local/sbin/portmaster -L --index-only | egrep '(ew|ort) version|total install'
echo -n "Last update: "
date -r `pkg query %t | sort | tail -n1` "+%Y%m%d"
You can’t perform that action at this time.