Skip to content

Instantly share code, notes, and snippets.

@drakezhard
drakezhard / webrtc.cljs
Created February 21, 2017 03:57
WebRTC
(ns webrtc.app)
(def gum (js* "Modernizr.prefixed('getUserMedia',navigator);"))
(defn webrtc-ready []
(let [on-success (fn [stream] (let [video (. js/document (querySelector "video"))
Window (.-URL js/window)
media (Window.createObjectURL stream)]
(set! (.-src video) media)))
on-error (fn [err] (. js/console (log (str "navigator.getUserMedia error: ") err)))
@drakezhard
drakezhard / heart.cljs
Created February 21, 2017 03:54
Heart
(ns heart.app
(:require [quil.core :as q :include-macros true]
[quil.middleware :as m]))
(set! *print-length* 10)
(defn rotate-x [theta x y]
(- (* x (Math/cos theta))
(* y (Math/sin theta))))
@drakezhard
drakezhard / sierpinski.cljs
Created February 21, 2017 03:48
sierpinski triangle
(ns sierpinski-triangle.app
(:require [quil.core :as q :include-macros true]
[quil.middleware :as m]))
(defn setup []
(q/frame-rate 30)
{:corner-2 [(/ (q/height) 4) (/ (* -1 (/ (q/height) 2) (Math/sqrt 3)) 2)]
:corner-3 [(/ (q/height) 2) 0]
:triangles [[0 0 (/ (q/height) 2) (* -1 (/ (q/height) 2) (Math/sqrt 3)) (q/height) 0]]
:max-iterations 5})
@drakezhard
drakezhard / gist:16c0ec687e3b5c73b86b
Created March 10, 2016 07:04
clojure map naive implementation
(defn my-map [f coll]
(loop [acc []
c coll]
(if (empty? coll)
acc
(let [frst (first c)
rst (rest c)
new-val (conj acc (f frst))]
(if (empty? rst)
new-val
@drakezhard
drakezhard / latex_gen
Created October 27, 2014 10:07
It generates an image grid with hyperlinks in latex
#!/usr/bin/env ruby
files = File.open(ARGV.first) do|file|
Marshal.load(file)
end
latex = File.open(ARGV.last,'w')
files.each do |x|