Skip to content

Instantly share code, notes, and snippets.

Echo Nolan enolan

Block or report user

Report or block enolan

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
View perf-subsample.hs
#!/usr/bin/env stack
-- stack --resolver lts-13.29 script --package regex-tdfa,conduit,bytestring,random-fu
-- Given a perf 'script', as emitted by 'perf script -i', subsample
-- at 0.1 probability to make the script small enough to load into e.g.
-- speedscope.
{-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}
import Conduit
enolan / default.nix
Created Mar 2, 2019
Nix derivation for RimWorld
View default.nix
with import <nixpkgs> {};
stdenv.mkDerivation {
name = "Rimworld-2150";
src = requireFile {
name = "";
sha256 = "41f50499a8e39d11fa1eebfc3c5ae3e12a064b92f5a8af55680373b0aed6d81c";
message = "dude download the thing";
buildInputs = [autoPatchelfHook unzip gcc-unwrapped gtk2-x11 gdk_pixbuf glib];# libglvnd

Keybase proof

I hereby claim:

  • I am enolan on github.
  • I am enolan ( on keybase.
  • I have a public key ASDmhKeVmn1_S7L6MqdTyJHph_95THOYiMIfhkulkVKCZwo

To claim this, I am signing this object:

enolan / gist:054bac17dde53ea0e139945c29c8ddb5
Last active Mar 13, 2017
Put your homework solutions here!
View gist:054bac17dde53ea0e139945c29c8ddb5
If you'd like to share your solution to the homework, please paste it as a comment here and we'll look at it.
It's totally okay if you got stuck.
enolan /
Created Mar 4, 2017
Bash scripts for making a noise when a process finishes
# I often start some command that takes a while (compiling, building containers, model training),
# then go and fuck around on the internet while waiting for it to finish. These scripts play the
# SCV "job's finished" sample from StarCraft when the process exits :)
# Usage:
# $ thing-that-takes-a-while ; talk
# Or, if you realize the thing's going to take a while after it starts:
# $ waitprocess $PID
enolan / gist:5820f9c504aabba17e83ce612c75ddc5
Created Feb 10, 2017
vagrant up failure for calagator
View gist:5820f9c504aabba17e83ce612c75ddc5
enolan at behemoth in ~/mystuff/code/calagator [master]
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/trusty64' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Loading metadata for box 'ubuntu/trusty64'
default: URL:
==> default: Adding box 'ubuntu/trusty64' (v20170202.1.0) for provider: virtualbox
default: Downloading:
View gist:25aad1613c42fee5fcbf
C:\Users\Echo\Desktop\temp> stack build --only-snapshot --prefetch --dry-run --verbose
Version 1.0.2 x86_64
2016-01-20 21:08:18.524518: [debug] Checking for project config at: C:\Users\Echo\Desktop\temp\stack.yaml @(stack_17sBDK7EAGnHgWa8uDWGI4:Stack.Config src/Stack\Config.hs:660:9)
2016-01-20 21:08:18.525518: [debug] Loading project config file stack.yaml @(stack_17sBDK7EAGnHgWa8uDWGI4:Stack.Config src/Stack\Config.hs:683:13)
2016-01-20 21:08:18.527518: [debug] Trying to decode C:\Users\Echo\AppData\Roaming\stack\build-plan-cache\x86_64-windows\lts-3.16.cache @(stack_17sBDK7EAGnHgWa8uDWGI4:Data.Binary.VersionTagged src/Data\Binary\VersionTagged.hs:55:5)
2016-01-20 21:08:18.541519: [debug] Success decoding C:\Users\Echo\AppData\Roaming\stack\build-plan-cache\x86_64-windows\lts-3.16.cache @(stack_17sBDK7EAGnHgWa8uDWGI4:Data.Binary.VersionTagged src/Data\Binary\VersionTagged.hs:64:13)
2016-01-20 21:08:18.542519: [debug] Trying to decode C:\Users\Echo\AppData\Roaming\stack\indices\Hackage\00-index.cache @(stack
View stack.yaml
# For more information, see:
# Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2)
resolver: lts-4.2
# Local packages, usually specified by relative directory name
- '.'
# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
View cookieclicker.js
// rev 6 (updated for cookieclicker 2)
// use as bookmarket:
javascript:var Util = { maxBy: function (arr, gt) { 'use strict'; return arr.reduce(function (p, c) { if (gt(p, c)) { return p; } else { return c; } }); }, buildingValue: function (b) { 'use strict'; /* I don't think Orteil has any idea how JavaScript is supposed to work*/ return b.cps(b)*Game.globalCpsMult/b.price; }};function Automaton() { 'use strict'; this.plannedBuy = false; this.rafId = 0; this.controlPanel = {};}Automaton.prototype.update = function () { 'use strict'; var buybuildings = document.getElementById("buybuildingscheckbox").checked; var buyupgrades = document.getElementById("buyupgradescheckbox").checked; var click = document.getElementById("clickcheckbox").checked; var goldenClick = document.getElementById("goldencheckbox").checked; if (click) {document.getElementById("bigCookie").click(
View atleasttwo.idr
import Decidable.Equality
%default total
AtLeastTwo : Type -> Type
AtLeastTwo ty = Sigma (ty,ty) (\(a,b) => Not (a = b))
atLeastTwoNats : AtLeastTwo Nat
atLeastTwoNats = ((0,1) ** absurd)
atLeastTwoBools : AtLeastTwo Bool
You can’t perform that action at this time.