Skip to content

Instantly share code, notes, and snippets.

View kordano's full-sized avatar
💻
Working on Datahike

Konrad Kühne kordano

💻
Working on Datahike
View GitHub Profile
@kordano
kordano / common_tx.clj
Created May 25, 2021 07:46
Common tx in Datahike
(require '[datahike.api :as d])
(def schema [{:db/ident :name
:db/cardinality :db.cardinality/one
:db/index true
:db/unique :db.unique/identity
:db/valueType :db.type/string}
{:db/ident :sibling
:db/cardinality :db.cardinality/many
:db/valueType :db.type/ref}
(require '[datahike.api :as d])
(def uri "datahike:mem://simple_recursion")
(d/delete-database uri)
(d/create-database uri :schema-on-read true)
(def conn (d/connect uri))
@kordano
kordano / encryption.clj
Created March 19, 2018 08:10
Public Private Key Encryption in Clojure
;; based on http://worace.works/2016/06/05/rsa-cryptography-in-clojure
(def cipher-algorithm "RSA/ECB/PKCS1Padding")
(defn key-pair-generator [length]
(doto (java.security.KeyPairGenerator/getInstance "RSA")
(.initialize length)))
(defn generate-keypair [length]
{:user
{:plugins [[cider/cider-nrepl "0.16.0-SNAPSHOT"]
[jonase/eastwood "0.2.5"]
[lein-kibit "0.1.6-beta2"]
[refactor-nrepl "2.4.0-SNAPSHOT"]]
:dependencies [[org.clojure/tools.nrepl "0.2.12"]]}}
@kordano
kordano / package.json
Last active December 16, 2015 18:02
webpack full react web app config and npm packages
{
"name": "WEB APP",
"version": "1.0.0",
"description": "DESCRIPTION",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --inline",
"start": "node_modules/.bin/babel-node server.js"
},
@kordano
kordano / url-param.cljs
Last active September 12, 2022 12:14
URL parameter parsing with clojurescript
(defn parse-params
"Parse URL parameters into a hashmap"
[]
(let [param-strs (-> (.-location js/window) (split #"\?") last (split #"\&"))]
(into {} (for [[k v] (map #(split % #"=") param-strs)]
[(keyword k) v]))))
@kordano
kordano / rnd-str.clj
Created October 30, 2014 22:12
Random string of length n
(defn random-string [n]
(let [chars (map char (concat (range 48 58) (range 65 91) (range 97 123)))]
(apply str (take n (repeatedly #(rand-nth chars))))))