Skip to content

Instantly share code, notes, and snippets.

Chris McCormick chr15m

Block or report user

Report or block chr15m

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
chr15m / microtest.hy
Created Aug 29, 2019
Hy testing microframework
View microtest.hy
; *** Test harness
; Note: works in Hy 0.11.1 - needs to be upgraded for recent Hy
(defn print-expression [expr]
(+ "(" (.join " " (list-comp (cond [(= (type x) HyExpression) (print-expression x)]
[(= (type x) HyString) (+ "\"" x "\"")]
[True (str x)]) [x expr])) ")"))
(defmacro test-case [expr]
(quasiquote (do
chr15m / vintage-old-school-console-effect-css.html
Created Mar 15, 2019
Vintage old-school console effect boilerplate HTML and CSS
View vintage-old-school-console-effect-css.html
<!DOCTYPE html>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<title>Vintage console</title>
function log(message) {
document.getElementById("log").textContent += message + "\n";
chr15m / websockets.js
Created Jul 6, 2018
Minimal Javascript websocket client/server
View websockets.js
// server
ws = require('ws');
wss = new ws.Server({ port: 8033 });
wss.on('connection', function(s) {
console.log("got connection", s);
s.on('message', function incoming(message) {
console.log("received", message);
chr15m / picore-usb-tether.txt
Created Jul 2, 2018
Get USB tethering working on piCore (Tiny Core Linux)
View picore-usb-tether.txt
tce-load -wi net-usb-4.9.22-piCore-v7
modprobe cdc_ether
modprobe usbnet
ifconfig -a
ifconfig usb0 up
sudo /sbin/udhcpc -b -i usb0 -x hostname:$HOSTNAME -p /var/run/
chr15m / browser-tab-communication-via-localstorage.html
Created Jun 8, 2018
Demo of communicating between tabs via the localStorage storage event
View browser-tab-communication-via-localstorage.html
<!DOCTYPE html>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
body {
font-family: Arial, Sans-serif;
max-width: 600px;
margin: 1em auto;
chr15m /
Created May 6, 2018
BitTorrent mainline DHT UDP ping shell script example
echo -n $'d1:ad2:id20:\x23\x71\x0c\x1c\xb4\x50\x7d\x87\x29\xb8\x3f\x87\x2c\xc6\xa2\xa4\x4c\x39\x73\x67e1:q4:ping1:t1:01:y1:qe' | nc -u 6881
#!/usr/bin/env python
# two hex encoded strings coming in on stdin
# will get xored and output as a hex encoded string
import fileinput
lines = [l for l in fileinput.input()]
print hex(int(lines[0], 16) ^ int(lines[1], 16)).replace("0x", "").rstrip("L")
chr15m / pr
Created Aug 14, 2017
Open a GitHub pull-request page from the command line
View pr
#!/usr/bin/env python
import webbrowser
import subprocess
def git(*args):
return subprocess.check_output(["git"] + list(args))
remote, branch = git("rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}").split("/")
repo = git("config", "--get", "remote." + remote + ".url").split(":").pop().replace(".git", "").strip("\n")
chr15m / extract-latest-log-date.awk
Last active Jun 22, 2017
Extract only the latest log lines from apache/nginx logs
View extract-latest-log-date.awk
#!/usr/bin/awk -f
# Usage:
# zcat -f access.log.* | ./extract-latest-log-date.awk > latest-log.txt
# pre-compute months field lookup
chr15m / find-pis
Created Dec 12, 2016
Find Raspberry Pi devices on your local networks.
View find-pis
# get broadcast addresses for each network
net=`ifconfig | grep -o -E "Bcast:(.*?) " | cut -f2 -d":"`
# loop over networks running the scan
for n in $net;
# first find SSH machines silently to prime the arp table
nmap -T4 -n -p 22 --open --min-parallelism 100 "$n/24" | grep -e "scan report for" -e "ssh" > /dev/null
You can’t perform that action at this time.