Skip to content

Instantly share code, notes, and snippets.


Saul Shanabrook saulshanabrook

View GitHub Profile
xmnlab / MetaDSL-Example.ipynb
Created May 25, 2020
View MetaDSL-Example.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
brendanzab /
Last active Apr 15, 2020
🚧 A graph-based core for a dependently typed language. 🚧

A graph-based core for a dependently typed language


An overly-ambitious attempt to re-think the core calculus of dependent type theory by basing it on graphs as opposed to lambdas, Π-types, Σ-types, etc. The hope is that this might allow us to investigate dependency more closely, and allow us to refine programs to target different environments in an easier way than with traditional programming representations.


dylanscott /
Last active May 30, 2017
Travis Update to Docker 1.13
#!/usr/bin/env bash
set -euo pipefail
sudo sh -c 'echo "deb ubuntu-$(lsb_release -cs) main" > /etc/apt/sources.list.d/docker.list'
curl -fsSL | sudo apt-key add -
sudo apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get update
sudo apt-get -y install "docker-engine=1.13.1-0~ubuntu-$(lsb_release -cs)"
jasongilman /
Last active Aug 4, 2020
This describes how I setup Atom for Clojure Development.

Atom Clojure Setup

This describes how I setup Atom for an ideal Clojure development workflow. This fixes indentation on newlines, handles parentheses, etc. The keybinding settings for enter (in keymap.cson) are important to get proper newlines with indentation at the right level. There are other helpers in and keymap.cson that are useful for cutting, copying, pasting, deleting, and indenting Lisp expressions.

Install Atom

Download Atom

The Atom documentation is excellent. It's highly worth reading the flight manual.

cvrebert /
Last active Jul 22, 2020
Survey of screenshot-based CSS testing tools

Currently considering

Core Goals:

  • Can test in up-to-date versions of all major browsers
  • Can test on up-to-date versions of all major OSes
  • Can test in IE9 (because Bootstrap v4 will support IE9+)
  • Don't want to have to setup/maintain our own cluster of VMs running all the necessary OSes (and all the versions of Windows)
  • Workflow for management of reference/baseline/norm screenshots
gfredericks / with-local-redefs.clj
Last active Jun 27, 2019
thread-local version of with-redefs
View with-local-redefs.clj
(defn with-local-redefs-fn
[a-var its-new-value func]
(cast clojure.lang.IFn @a-var)
(alter-meta! a-var
(fn [m]
(if (::scope-count m)
(update-in m [::scope-count] inc)
(assoc m
::scope-count 1
::thread-local-var (doto (clojure.lang.Var/create @a-var)
wsargent /
Last active Aug 7, 2020
Docker cheat sheet
impressiver / raven-config.html
Last active Aug 6, 2020
Raven.js configuration for logging JavaScript exceptions to Sentry ( Without the added ignore options, you'll quickly find yourself swamped with unactionable exceptions due to shoddy browser plugins and 3rd party script errors.
View raven-config.html
<!-- Raven.js Config -->
<script src="{{ JS_PATH }}/lib/raven.js" type="text/javascript"></script>
<script type="text/javascript">
// Ignore list based off:
var ravenOptions = {
// Will cause a deprecation warning, but the demise of `ignoreErrors` is still under discussion.
// See:
ignoreErrors: [
// Random plugins/extensions
AkashaThorne / gist:3430820
Created Aug 23, 2012
TheEmpath repping 4over with class
View gist:3430820
~ #node.js
[20.16.16] < TheEmpath> so
[20.16.34] < TheEmpath> anyone else have a hot programmer girl in their office? o____O
[20.16.42] < Lorentz> I wiiish
[20.16.48] <@Nexxy> not appropriate.
[20.16.57] »¡« Signoff caaakeeey: #Node.js (Ping timeout: 260 seconds)
[20.17.32] < joshwnj> yeah guys, grow up
[20.17.38] < jerrysv> Nexxy: olynode was fun, you should have gone
[20.18.03] < TheEmpath> my boss came by and said "Here, a new subodinate" and its a very attractive female. the otherwise painfully quite engineering room suddenly came to life and its a problem :X
saulshanabrook / .gitignore
Created Jul 6, 2012
Analyze Unison log, and send email of changed files
View .gitignore
You can’t perform that action at this time.