Skip to content

Instantly share code, notes, and snippets.

Petrus Theron theronic

Block or report user

Report or block theronic

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
theronic /
Last active Dec 22, 2019 — forked from antoinevg/
How to compile a version of Rust for the Xtensa to compile for ESP32

Like this:

# Use absolute paths, since relative paths like ~/Projects won't be expanded.

# - deps ------------------------------------------------------------------

sudo port install ninja  # or brew install ninja
cargo install xargo

# - build llvm ------------------------------------------------------------
theronic /
Created Oct 11, 2018
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.
# }
theronic / clj-nrepl.clj
Created Mar 1, 2018
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 / deps.clj
Created Feb 28, 2018
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
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 /
Last active Jul 24, 2017 — 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"
theronic /
Created Feb 24, 2017
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 / boot.profile
Created Feb 15, 2017
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 Feb 14, 2017
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.

View wefix-tools.clj
light table
You can’t perform that action at this time.