Skip to content

Instantly share code, notes, and snippets.

Tristram Oaten 0atman

View GitHub Profile
@0atman
0atman / departures.py
Last active Apr 7, 2019
A simple airport-style departures system. Hacked together in an hour
View departures.py
import os
import time
import datetime
from datetime import timedelta
from terminaltables import SingleTable
from colorclass import Color
FIVE_MINS = timedelta(minutes=5)
@0atman
0atman / some-clojure-test.clj
Last active Nov 8, 2018
test pattern with eftest
View some-clojure-test.clj
(comment "repl experiments"
(do ; run this block to repeatably run the test
(use 'your-ns :reload-all)
(require '[eftest.runner :refer [run-tests find-tests]])
(run-tests (find-tests 'your-ns.your-test)
{:report eftest.report.pretty/report})))
View how-to-work-with-0atman.md
Key Action
cpp Evaluate the form under the cursor
K Look up the symbol under the cursor with (doc)
[ d Look up the symbol under the cursor with source
[ Ctrl+D Jumps to the definition of a symbol
gf "go to file" command, works on namespaces.
View macro-example.clj
(defmacro conditional-run
""
[conditional form]
`(when (= conditional true)
(-> test-system ~form)))
(defmacro conditional-run-with-prepend
""
[conditional form]
`(when (= conditional true)
@0atman
0atman / Makefile
Created Jul 2, 2018
A bootstrap makefile for docker-based projects
View Makefile
help: prerequisites
@echo "Usage: make [command]"
@echo "Commands:"
@echo "up Run server"
@echo "stop Stop server"
@echo "rebuild Rebuild docker image (when requirements change)"
@echo "ps Show running server"
@echo ""
@echo "Commands can be chained, for example: make up ps logs"
@echo ""
@0atman
0atman / init.vim
Created May 15, 2018
current vim config
View init.vim
" Install vim-plug first
" curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" vim-plug {{{
call plug#begin()
" Visual marks
Plug 'kshenoy/vim-signature'
View matlock.html
<html>
<head>
</head>
<body>
<script type='text/javascript' src='https://darksky.net/widget/default/53.137156,-1.551774/uk12/en.js?width=100%&height=350&title=matlock, uk&textColor=333333&bgColor=FFFFFF&transparency=false&skyColor=333333&fontFamily=Default&customFont=&units=uk&htColor=333333&ltColor=C7C7C7&displaySum=no&displayHeader=yes'></script>
</body>
</html>
@0atman
0atman / thread.py
Last active Jan 5, 2018 — forked from anonymous/chain.py
clojure `->`-style functional threading
View thread.py
from functools import reduce
def thread(*args):
"functional thread, inspired by clojure and https://stackoverflow.com/a/17122666/333294"
caller = lambda x, y: y(x)
return reduce(caller, args[1:], args[0])
@0atman
0atman / pmap.py
Last active Nov 9, 2017
A process-based pmap with sensible defaults, ready to go
View pmap.py
from multiprocessing import Pool
def pmap(f, collection, size=10):
"""
Applies `f` in parallel over `collection`.
Pool `size` has a sensible default of 10.
"""
with Pool(size) as p:
return p.map(f, collection)
@0atman
0atman / ministore.py
Last active Oct 9, 2017
A thin rest wrapper around a python shelf
View ministore.py
#!/usr/bin/blaze pex flask flask-restful --
import shelve
from flask import Flask, request
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
with shelve.open('ministore.db') as db:
You can’t perform that action at this time.