Skip to content

Instantly share code, notes, and snippets.


Josh Graham delitescere

View GitHub Profile
delitescere /
Last active Apr 10, 2018
Check a pwned password from the macOS / bash command line
pwned-passwd ()
history -d $((HISTCMD - 1));
sha=$(printf $1 | sha1sum | cut -d' ' -f1 | tr [:lower:] [:upper:]);
count=$(curl -Ss$prefix | grep $suffix | cut -d':' -f2);
[ -n "$count" ] && echo $count >&2 && return 1;
return 0;
delitescere / index
Last active Aug 6, 2017
JSON Home file 3
View index
{"api":{"title":"Scan Data","links":{"describedBy":"","author":""}},"resources":{"tag:":{"hints":{"formats":{"application/edn":{},"application/json":{}},"allow":["GET"],"authSchemes":[{"scheme":"Bearer"}]},"href":"/scan/"},"tag:":{"hints":{"formats":{"application/edn":{},"application/json":{}},"acceptRanges":["items"],"acceptPut":["application/json","application/edn"],"acceptPost":["application/json","application/edn"],"allow":["GET","POST","PUT","DELETE"],"authSchemes":[{"scheme":"Bearer"}]},"hrefVars":{"scan-id":""},"hrefTemplate":"/scan/{scan-id}"}}}
delitescere / index.html
Created May 23, 2017
Handlebars client-side templates
View index.html
<!DOCTYPE html>
<script src=""></script>
delitescere /
Last active May 8, 2019
Portola (OpenJDK using musl) on Alpine

Get the JDK source (per the OpenJDK instructions):

hg clone
cd portola
bash ./

You need an existing Alpine with an already-built JDK. I have a Docker image of Alpine with glibc-based Zulu JDK:

delitescere /
Last active Nov 12, 2018
cd .. with less fuss
# cd .. with multiple jumps or jump up to name
..() {
if [ "-" = "$1" ]; then cd -; return; fi; # return to previous directory
if [ "/" = "$1" ]; then cd /; pwd; return; fi; # jump to root
if [ -z "$1" ]; then cd ../; pwd; return; fi; # jump up one
declare -i count=$1; # get a jump count
if [ $count -eq 0 ]; then # wasn't a number, look for name
local go=$(while [ "/" != "$PWD" ] && [ "$(basename $PWD)" != "$1" ]; do cd ..; done; pwd);
# jump up to named directory, or don't move if name wasn't found
if [ "/" != "$go" ]; then cd $go; else return; fi;
delitescere / project.clj
Last active Jun 23, 2017
Mostly Java-based lein project with JUnit and Log4J2 (main.clj is still entry point)
View project.clj
(defproject com.example/foo "0.1.0"
:description "Does fooness"
:url ""
:license {:name "Copyright ©2014 Josh Graham"}
:aliases {"dist" ["do" ["clean"] ["test"] ["uberjar"]] ;$ lein dist # create distribution JAR
"debug" ["with-profile" "dev,debug" "run"]} ;$ lein debug # run for a 'remote' debugger
:aot :all
:auto-clean false ;"dist" alias does the full cycle
:clean-targets ^{:protect false} [:target-path :junit-results-dir]
:dependencies [
View gist:3d9dc010d0894afba759
For @ctford, 16-Sep-2013
You get your algorithms for nothing and your theorems for free
I want my
I want my
I want my AST
Now look at that IO
delitescere / gist:898624cba15b0e2e1644
Last active Aug 29, 2015
As My Compiler Gently Weeps
View gist:898624cba15b0e2e1644
Written for my buddy Charles Miller, 28-Aug-2013:
I look at you all see the tests there that're failing
While my compiler gently weeps
I look at the heap and I see it needs mark/sweeping
Still my compiler gently weeps
I don't know why nobody told you
How to unfold your data
I don't know how someone controlled you
You can’t perform that action at this time.