Skip to content

Instantly share code, notes, and snippets.

View souenzzo's full-sized avatar
🚴‍♂️
💨 💨

Enzzo souenzzo

🚴‍♂️
💨 💨
View GitHub Profile
(time (let [baos (ByteArrayOutputStream.)
data [[:foo :bar]]]
(-> (apply uber/multidigraph data)
(uber/viz-graph {:save {:format :svg
:filename baos}}))
(-> (xml/parse (io/input-stream (.toByteArray baos)))
(assoc-in [:attrs :data] (pr-str data))
(xml/emit-str)
(.getBytes)
(io/input-stream)
(let [xparir-transform (fn [{:keys [initial-value transform-fn]}]
(fn [rf]
(let [old (volatile! initial-value)]
(fn
([] (rf))
([result] (rf result))
([result input]
(let [new (transform-fn input @old)]
(vreset! old input)
(rf result new)))))))]
(defn len [x]
(.length x))
(defn len2 [^String x]
(.length x))
(defprotocol ILengthable
(len3 [this]))
(extend-protocol ILengthable
String
(len3 [this] (.length this)))
@souenzzo
souenzzo / deps.edn
Last active April 23, 2019 03:49
import do not search for cljc files
;; should work, once it was required first
;; clj -Srepro -Sdeps '{:deps {import-bug {:git/url "https://gist.github.com/souenzzo/e23944fac595077f372aa662cde5ff91" :sha "fd49010c7fee88bc3fb705d5fd494718bbd16f18"}}}' -m ok
;; should fail, once import will not search for cljc files
;; clj -Srepro -Sdeps '{:deps {import-bug {:git/url "https://gist.github.com/souenzzo/e23944fac595077f372aa662cde5ff91" :sha "fd49010c7fee88bc3fb705d5fd494718bbd16f18"}}}' -m fail
{:paths ["."]
:deps {org.clojure/clojure {:mvn/version "1.10.1-beta2"}}}
(defn username-by-id
{::pc/kind pc/resolver
::pc/input #{:app.user/id}
::pc/output [:app.user/username]}
[{::keys [db]} {:app.user/keys [id]}]
{:app.user/username (-> (j/query db ["SELECT username FROM app_user WHERE id = ?"
id])
first
:username)})
(ns nondeps.core)
(defn -main
[target]
(let [f @#'clojure.core/load
paths (atom [])]
(with-redefs [clojure.core/load (fn [& path]
(swap! paths concat path)
(apply f path))]
button {
background-color: #c3c7cb;
border: none;
padding: 7px 20px 5px;
box-shadow: inset 1px 1px 0 1px #ffffff, inset 0 0 0 1px #868a8e, 1px 1px 0 0 #000;
}
@souenzzo
souenzzo / deps.edn
Last active September 26, 2021 10:52
Clojure version of "java quickstart" from gsheets. https://developers.google.com/sheets/api/quickstart/java
;; run with
;; clj -Sdeps '{:deps {gdocs {:git/url "https://gist.github.com/souenzzo/df540002607b15378f8014237e499fdd" :sha "fee00617c75fc24c74931aa4200f74666c5b66b6"}}}' -m gdocs
{:paths ["."]
:deps {org.clojure/clojure {:mvn/version "1.10.0"}
com.google.api-client/google-api-client {:mvn/version "1.28.0"}
com.google.oauth-client/google-oauth-client-jetty {:mvn/version "1.28.0"}
com.google.apis/google-api-services-sheets {:mvn/version "v4-rev566-1.25.0"}}}
@souenzzo
souenzzo / Main.java
Created March 9, 2019 16:40
Run with java --source 11 Main.java
import java.util.Objects;
public class Main {
public static void main(String[] args) {
var foo = new Object() {
String x = "aa";
};
Thread t;
t = new Thread(() -> {
if (Objects.nonNull(foo.x)) {
@souenzzo
souenzzo / deps.edn
Last active February 21, 2019 02:30
lacinia HTTP API with generators
{:paths ["."]
:deps {org.clojure/clojure {:mvn/version "1.10.0"}
com.walmartlabs/lacinia {:mvn/version "0.32.0"}
io.pedestal/pedestal.service {:mvn/version "0.5.5"}
io.pedestal/pedestal.jetty {:mvn/version "0.5.5"}
com.walmartlabs/lacinia-pedestal {:mvn/version "0.11.0"}
org.clojure/test.check {:mvn/version "0.10.0-alpha3"}
com.rpl/specter {:mvn/version "1.1.2"}}}