Skip to content

Instantly share code, notes, and snippets.

View vemv's full-sized avatar
🎷
smooth opurrator

vemv vemv

🎷
smooth opurrator
View GitHub Profile
@vemv
vemv / gist:3250136
Created August 3, 2012 18:18
file unzipper
(ns vemv
(:require [clojure.java.io :as io]
[clojure.string :as string])
(:import [java.util.zip ZipInputStream]
[java.io FileOutputStream]))
(defmacro while-let
"The composition of a side-effects based while, and a single-binding let, ala if-let.\n\nAvoids loop/recur redundance."
[[sym expr] & body]
`(loop [~sym ~expr]

Publishing jars to Maven easily

Occasionally one needs to use a hacked .jar:

  • You need to modify a .jar (clojure/java) in-place
  • You built a cljsjs package, and want to upload the generated .jar
  • There's some obscure java .jar that is not in Maven.

Leiningen support for floating jars has never been official, and doesn't seem to work with cljsjs.

@vemv
vemv / json_libs_equivalence_test.clj
Last active August 12, 2020 11:10
json-libs-equivalence-test
(ns json-libs-equivalence-test
"Includes code derived from:
https://github.com/metosin/jsonista/blob/211306f04bb15d7232b536cf6c6d8ecfeae0512d/LICENSE
https://github.com/dakrone/cheshire/blob/4525b23da1c17decba363202402a8a195d21705f/LICENSE"
(:require
[cheshire.core :as cheshire]
[clojure.data.json]
[clojure.java.io :as io]
[clojure.test :refer [are deftest is testing]]
[jsonista.core :as jsonista]

Keybase proof

I hereby claim:

  • I am vemv on github.
  • I am vemv (https://keybase.io/vemv) on keybase.
  • I have a public key ASCkeXyHMIHdU_Rz5d7eBXm-XusfXJGsOxpkcKOEeU1UzAo

To claim this, I am signing this object: