Skip to content

Instantly share code, notes, and snippets.

@rplevy
rplevy / bashrc-excerpt.el
Last active February 23, 2018 00:34
defshell, defshellonreg, defregexp
(defmacro defshell (name cmd)
`(defun ,name ()
(interactive)
(insert (shell-command-to-string ,cmd))))
(defmacro defshellonreg (name cmd &optional replace)
`(defun ,name (beg end)
(interactive "r")
(shell-command-on-region beg end ,cmd
(if ,replace (current-buffer) nil)
@rplevy
rplevy / htm2clj-region.el
Last active August 21, 2017 20:58
tool for generating (usually valid, or close to valid) sablono markup from raw html
(defun htm2clj-region (beg end)
(interactive "r")
(shell-command-on-region beg end
"html2clj"
(current-buffer)
t))
@rplevy
rplevy / xml->clj-region.el
Last active August 18, 2017 23:45
elisp wrapper on cljs script
(defun xml->clj-region (beg end)
(interactive "r")
(shell-command-on-region beg end
"xmlclj"
(current-buffer)
t))
# in my .bashrc
xmlclj() { planck -D funcool/tubax:0.2.0 -e "(require '[tubax.core :as tubax]) (require '[planck.core :refer [slurp]]) (require '[cljs.pprint :refer [pprint]])"'(pprint (tubax/xml->clj (slurp "'$1'")))'; }
# example: xmlclj /tmp/foo.xml
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
I verify that I am rplevy on mastodon.social
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.68
Comment: https://keybase.io/crypto
wsFcBAABCgAGBQJY4xcwAAoJEHPFfFFJo8mQ7LoQANVwr+sfT8tzZWCuyNsdLpsc
hPK3SmUTCLRYa/8Olvq2MO/ZWTyuHfhDiRWqmksSIdAoR5oyiz0RC4fCpuZY4QeZ
@rplevy
rplevy / aero-env.clj
Created June 15, 2016 00:47
integrate environ with aero
(defn keywordize [s]
(-> (str/lower-case s)
(str/replace "_" "-")
(str/replace "." "-")
(keyword)))
(defmethod aero/reader 'env
[opts tag value]
(get env (keywordize (str value))))
@rplevy
rplevy / example.clj
Last active June 11, 2016 05:13
temporal higher-order contract with clojure.spec
(require '[clojure.spec :as s])
(defn enforce [spec data-value]
(let [r (s/conform spec data-value)]
(if (= r :clojure.spec/invalid)
(throw (ex-info (str r) (s/explain-data spec data-value)))
data-value)))
(defn call-with-temporal-contract [f g contract-on-g]
(let [function-calls (atom [])]
Verifying that +rplevy is my blockchain ID. https://onename.com/rplevy
Verifying that +rplevy is my Bitcoin username. You can send me #bitcoin here: https://onename.io/rplevy
@rplevy
rplevy / keybase.md
Created September 28, 2014 04:07
keybase.md

Keybase proof

I hereby claim:

  • I am rplevy on github.
  • I am rplevy (https://keybase.io/rplevy) on keybase.
  • I have a public key whose fingerprint is 6382 805E 6D33 870C 9A42 40B3 73C5 7C51 49A3 C990

To claim this, I am signing this object: