Skip to content

Instantly share code, notes, and snippets.

@JustinShenk
JustinShenk / hetzner-dedicated-wipe-and-install-nixos.sh
Last active September 22, 2019 17:55 — forked from nh2/hetzner-dedicated-wipe-and-install-nixos.sh
Example script to install NixOS on a Hetzner dedicated server via the Hetzner rescue mode
#!/usr/bin/env bash
# Installs NixOS on a Hetzner server, wiping the server.
#
# This is for a specific server configuration; adjust where needed.
#
# Prerequisites:
# * Update the script to adjust SSH pubkeys, hostname, NixOS version etc.
#
# Usage:
@JustinShenk
JustinShenk / setup_instance.sh
Last active June 18, 2019 10:36
Setup Google Cloud instance for conda and jupyter notebook
#!/bin/bash
# Configure remote instance for jupyter notebook
# Justin Shenk - June 2019
# Create jupyter config, ip = 0.0.0.0
wget https://gist.githubusercontent.com/justinshenk/6c9ea44e46b481e49c51efd48569a0a2/raw/45b7f8b1443978b49a1b82ea86b6d13805988a08/jupyter_notebook_config.py -P ~/.jupyter
@JustinShenk
JustinShenk / jupyter_notebook_config.py
Last active June 27, 2019 14:15
Jupyter Notebook config for Google Cloud instance
c = get_config()
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
@JustinShenk
JustinShenk / background.js
Created May 13, 2019 17:30
Background script for Agreed - Slack Chrome Extension
chrome.commands.onCommand.addListener(function(command) {
if (command === "agree-first-reaction") {
chrome.tabs.executeScript({
code: `
function clickFirstReaction() {
const query = "div.c-reaction_bar > button:nth-child(1):not(.c-reaction--reacted)";
const reactionsToClick = document.querySelectorAll(query);
const beforeCount = reactionsToClick.length;
if (reactionsToClick.length) {
@JustinShenk
JustinShenk / background.js
Last active May 13, 2019 17:25
Agreed - Chrome Extension for agreeing with reactions on Slack
chrome.commands.onCommand.addListener(function(command) {
if (command === "agree-first-reaction") {
chrome.tabs.executeScript({
code: ` ... // code from clickFirstReaction.js
`
})
} else if (command === "agree-every-reaction") {
chrome.tabs.executeScript({
code: ` ... // code form clickEveryReaction.js
`
@JustinShenk
JustinShenk / agree.js
Last active May 12, 2019 11:22
Click the first reaction in an open Slack channel
// How to use: open Console (View -> Developer -> Developer Tools -> Console)
// and paste one of the following:
/**
* Agree with ~first~ reaction in active Slack channel, poll every 10 seconds.
**/
function clickFirstReaction() {
$("div.c-reaction_bar > button:nth-child(1):not(.c-reaction--reacted)").click()
}
var timerID = setInterval(clickFirstReaction, 10000);
@JustinShenk
JustinShenk / style_transfer_webcam.py
Created December 9, 2018 18:54
Neural style transfer with OpenVINO and webcam
#!/usr/bin/env python
"""
Copyright (c) 2018 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
#! /usr/bin/env python3
"""Run from root directory of repo https://github.com/lengstrom/fast-style-transfer to
create a .pb for use with OpenVINO.
"""
import sys
sys.path.insert(0, 'src')
import transform
import argparse
import tensorflow as tf
import os
@JustinShenk
JustinShenk / distance.py
Last active September 11, 2018 01:33
Posture Monitor Server for Walabot
#!/usr/local/env python
from __future__ import print_function
from sys import platform
from os import system
import WalabotAPI
try: # for Python 2
import Tkinter as tk
except ImportError: # for Python 3
import tkinter as tk
@JustinShenk
JustinShenk / idle-shutdown.sh
Last active January 22, 2024 20:45
Google Cloud Platform (GCP) instance idle shutdown
#!/bin/bash
# Add to instance metadata with `gcloud compute instances add-metadata \
# instance-name --metadata-from-file startup-script=idle-shutdown.sh` and reboot
# NOTE: requires `bc`, eg, sudo apt-get install bc
# Modified from https://stackoverflow.com/questions/30556920/how-can-i-automatically-kill-idle-gce-instances-based-on-cpu-usage
threshold=0.1
count=0
wait_minutes=60
while true