Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Justin Shenk justinshenk

🎯
Focusing
View GitHub Profile
@justinshenk
justinshenk / draftback.txt
Created Dec 12, 2017
Analyze Google Docs user contributions and activity
View draftback.txt
Span Duration User # Revisions
Sat, 9/30/2017, 12:56:47 PM - 1:00:18 PM 00:03:31s Justin Shenk 372
Sat, 9/30/2017, 1:16:02 PM - 1:29:42 PM 00:13:40s Justin Shenk 1136
Sat, 9/30/2017, 1:45:20 PM - 2:19:19 PM 00:33:59s Justin Shenk 948
Sat, 9/30/2017, 4:28:13 PM - 4:29:14 PM 00:01:00s 06287517911256457317 38
Sat, 9/30/2017, 4:44:12 PM - 5:03:57 PM 00:19:44s Justin Shenk 750
Sat, 9/30/2017, 8:34:08 PM - 8:40:02 PM 00:05:54s Justin Shenk 42
Sat, 9/30/2017, 8:48:53 PM - 9:11:03 PM 00:22:10s 06287517911256457317 1204
Sat, 9/30/2017, 9:11:04 PM - 9:11:04 PM 00:00:00s Justin Shenk 2
Sat, 9/30/2017, 9:11:04 PM - 9:11:07 PM 00:00:03s 06287517911256457317 6
@justinshenk
justinshenk / index.html
Last active Feb 20, 2018
Hilbert Basis
View index.html
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<script src="https://d3js.org/d3.v4.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<style>
body {
@justinshenk
justinshenk / scheduleMe.js
Last active Apr 25, 2018
Schedule me at the Auslanderbehörde Osnabrück
View scheduleMe.js
/**
* @author Justin Shenk <shenk.justin@gmail.com>
*
* This script schedules the next available meeting in a given month by
* continuous reloading and automatically filling out a form.
*
* INSTRUCTIONS:
* - Replace the personal details below with your information.
* - Navigate to the scheduling site.
* - Select iFrame as context: In Firefox, open the Web Console (Tools > Web
@justinshenk
justinshenk / distance.py
Last active Sep 11, 2018
Posture Monitor Server for Walabot
View distance.py
#!/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 / generate_videos.py
Last active Dec 6, 2018
Compare Videos with Lukas Kanade Optical Flow Parameters
View generate_videos.py
import subprocess
videofile = 'crowd_trimmed.mp4'
cmds = [
'--maxCorners=10', '--maxCorners=50', '--maxCorners=100',
'--qualityLevel=0.1', '--qualityLevel=0.8', '--minDistance=2',
'--minDistance=40', '--winSize=5', '--winSize=100', '--blockSize=2',
'--blockSize=20', '--criteria_params1=5', '--criteria_params1=20',
'--criteria_params2=0.01', '--criteria_params2=0.08',
@justinshenk
justinshenk / style_transfer_webcam.py
Created Dec 9, 2018
Neural style transfer with OpenVINO and webcam
View style_transfer_webcam.py
#!/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
@justinshenk
justinshenk / agree.js
Last active May 12, 2019
Click the first reaction in an open Slack channel
View agree.js
// 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 / background.js
Last active May 13, 2019
Agreed - Chrome Extension for agreeing with reactions on Slack
View background.js
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 / background.js
Created May 13, 2019
Background script for Agreed - Slack Chrome Extension
View background.js
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 / setup_instance.sh
Last active Jun 18, 2019
Setup Google Cloud instance for conda and jupyter notebook
View setup_instance.sh
#!/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
You can’t perform that action at this time.