Skip to content

Instantly share code, notes, and snippets.

View theronic's full-sized avatar

Petrus Theron theronic

View GitHub Profile
theronic / build.boot
Created March 8, 2016 08:04
Cannot get boot-http :not-found handler to work when running `boot dev`
View build.boot
:source-paths #{"src/cljs" "src/clj"}
:resource-paths #{"resources"}
:target-path "target"
:dependencies '[[org.clojure/clojure "1.7.0"]
[adzerk/boot-cljs "1.7.228-1" :scope "test"]
[com.cemerick/piggieback "0.2.1" :scope "test"]
[weasel "0.7.0" :scope "test"]
[org.clojure/tools.nrepl "0.2.12" :scope "test"]
[adzerk/boot-cljs-repl "0.3.0" :scope "test"]
theronic / wefix-tools.clj
Created February 13, 2017 11:58
WeFix Tools
View wefix-tools.clj
light table
theronic /
Created February 14, 2017 08:18
WeFix Intern Getting Started

You need boot-clj.

Reagent, because you want to see stuff quickly:

lein new tenzing your-app +reagent
cd your-app
boot dev

nREPL server started on port 63518 on host Should start up on port 3000. If you change something in the .cljs file, it should update live in your browser.

theronic / boot.profile
Created February 15, 2017 15:00
Put this in your ~/.boot/boot.profile
View boot.profile
(defn- generate-lein-project-file! [& {:keys [keep-project] :or {:keep-project true}}]
(require '
(let [pfile ((resolve ' "project.clj")
; Only works when pom options are set using task-options!
{:keys [project version]} (:task-options (meta #'boot.task.built-in/pom))
prop #(when-let [x (get-env %2)] [%1 x])
head (list* 'defproject (or project 'boot-project) (or version "0.0.0-SNAPSHOT")
(prop :url :url)
(prop :license :license)
theronic /
Created February 24, 2017 12:20
Mock Implementation of Missed Revenue Calculations
import unittest
from datetime import datetime
THE_PAST = datetime(2000, 1, 1, 9)
THE_FUTURE = datetime(2000, 1, 1, 17)
if __name__ == '__main__':
theronic /
Last active July 24, 2017 16:59 — forked from t-io/
Install most of my Apps with homebrew & cask
echo Install all AppStore Apps at first!
# no solution to automate AppStore installs
read -p "Press any key to continue... " -n1 -s
echo '\n'
echo Install and Set San Francisco as System Font
ruby -e "$(curl -fsSL"
echo Install Homebrew, Postgres, wget and cask
ruby -e "$(curl -fsSL"
View advanced.js
#!/usr/bin/env node
if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) {
Math.imul = function (a, b) {
var ah = (a >>> 16) & 0xffff;
var al = a & 0xffff;
var bh = (b >>> 16) & 0xffff;
var bl = b & 0xffff;
// the shift by 0 fixes the sign on the high part
// the final |0 converts the unsigned value into a signed value
return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
theronic / deps.clj
Created February 28, 2018 08:00
Convert Clojure project.clj :dependencies to deps.edn style
View deps.clj
; using Clojure 1.9
(require '[clojure.pprint :as pprint])
(defn xform-dep [[lib version & korks]]
(let [args (into {} (apply hash-map korks))]
[lib (merge {:mvn/version version} args)]))
(defn xform-deps
"deps.edn utility function by @theronic 2018-02-28
Transforms a collection of project.clj :dependencies to deps.edn style
theronic / clj-nrepl.clj
Created March 1, 2018 10:01
How to start an nREPL using Clojure CLI tools using clj
View clj-nrepl.clj
$ clj -Sdeps '{:deps {org.clojure/tools.nrepl {:mvn/version "0.2.12"}}}'
Clojure 1.9.0
user=> (use '[ :only (start-server stop-server)])
user=> (defonce server (start-server :port 7888))
;; now connect to port 7888. there's probably a way to do this in one line.
theronic /
Created October 11, 2018 10:53
Start ClojureScript nREPL
# I'm no longer smart enough to learn DSLs to start my favourite language REPL.
# If anyone from Cognitect is reading this, AFAIC this stuff is the biggest barrier to Clojure adoption.
# Edit your deps.edn file:
# {:deps {org.clojure/clojure {:mvn/version "1.9.0"}
# org.clojure/clojurescript {:mvn/version "1.10.339"}
# ;; ...other deps.
# }