Skip to content

Instantly share code, notes, and snippets.

View whilo's full-sized avatar

Christian Weilbach whilo

View GitHub Profile
@whilo
whilo / minimal.svg
Created May 26, 2014 15:29
Minimal test case to trigger NPE in data.xml.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
(ns cljc.play)
(defn fib [x]
(if (or (= x 1) (= x 0)) 1
(+ (fib (- x 1)) (fib (- x 2)))))
(fib 30)
(defn msec []
@whilo
whilo / debug-chan.clj
Last active August 29, 2015 13:57
Debugging core.async channels.
(def chan-log (atom []))
(defn debug-chan [pre]
(let [c (chan)
lc (chan)]
(async/tap (async/mult c) lc)
(go-loop [m (<! lc)]
(swap! chan-log conj [pre m])
(recur (<! lc)))
c))
@whilo
whilo / hynn_example.hy
Created March 4, 2014 15:26
Simple Example of PyNN in Hy.
(import [toolz.itertoolz.core [concat cons count drop mapcat partition partial take-nth]])
(import [toolz.functoolz.core [compose complement]])
; (import [pyrsistent [pvec pmap pset]]) ; persistent data structures for python
(import [matplotlib [pyplot :as plt]])
(import [pylab :as p])
(import [numpy :as np])
;(import [scipy [optimize :as opt]])
(import [pyNN.nest [setup
create
connect
@whilo
whilo / d3-line-plot-test
Created February 1, 2014 15:49
Straight port from line plotting example to cljs.
(ns d3-line-plot-test)
(def margins {:top 20
:right 20
:bottom 30
:left 50})
(def totalwidth 960)
(def totalheight 500)
@whilo
whilo / gist:8504314
Created January 19, 2014 12:36
Windowing/layout experiments.
(ns slide.window
(:use [dommy.core :only [set-style!]]
[dommy.template :only [PElement]]))
(defprotocol PWindow
(parent [this])
(position [this])
(size [this])
#_(set-parent! [this par])
#_(set-position! [this pos])
@whilo
whilo / clj-like-func-data-fns
Created November 22, 2013 01:30
Clojure like functional data functions for hy sketch.
(import [pysistence [make_list make_dict]])
(defn atom [init-val])
(defn swap! [atom fn])
(defn massoc [as k v]
(kwapply (as.using) {k v}))
@whilo
whilo / gist:7363179
Last active December 27, 2015 17:39
RC4 in Clojure
(ns rc4.core)
(defn init-sbox [enc-key]
(let [k (mapv int enc-key)
L (count enc-key)]
(loop [s (into [] (range 0 256)) i 0 j 0]
(if (= i 256) s
(let [j (mod (+ j (s i) (k (mod i L))) 256)]
(recur (assoc s i (s j) j (s i)) (inc i) j))))))
@whilo
whilo / gist:7321697
Created November 5, 2013 16:27
CRDT braindump
;; Example repository-format for automatic server-side synching (p2p-web)
;; commutative merging must be possible, it is (almost) a converging and commutative distributed data type(?)
#_{:uuid "blib" ;; used to ensure universal identity on repo creation (cannot conflict)
:schema {:type "http://github.com/ghubber/geschichte" ;; might not change, if it does warn and drop merge
:version (max v1 v2)} ;; internal only, allows update to server side synching software
:public (or p1 p2) ;; might only turn to true, always false initially, allows public access to repo meta-data, no strong safety, all values are still distributed!; if false only read access from user itself allowed; must be true for pull-requests
:causal-order {12344 #{3774 23} ;; use uuids as commit ids, unionize, no conflicts, removal impossible
3774 #{12}
23 #{12}
@whilo
whilo / gist:5937694
Created July 5, 2013 22:44
Trying to extend protocol to native javascript DOM type with ClojureScript.
(defprotocol PWindow
(parent [this])
(position [this])
(size [this]))
(extend-protocol PWindow
js/HTMLDivElement
(parent [this] (.-parentNode this))