Skip to content

Instantly share code, notes, and snippets.

View sql.clj
;; virtual fields map to multimethods that implement helpers
(sql/load :rental_ads 42 :car :user :picture_url)
;; => "https://..."
;; multimethods can look at meta information for maps
(meta rental-ad)
;; => {:table :rental_ads}
@tgk
tgk / sql.clj
Created Jun 26, 2020
Alternative to load-object
View sql.clj
;; alternative strategy for navigating maps
(def rental-ad {:id 42, :car_id 56, :name_and_model "Peugeot 208"})
(follow rental-ad :name_and_model)
;; => "Peugeot 208"
(follow rental-ad :car)
;; => {:user_id 3, :car_type_id 5}
@tgk
tgk / aarhus_0001.clj
Created Jan 9, 2017
Notes from the first aarhus.clj meetup and dojo
View aarhus_0001.clj
;; Purpose of aarhus.clj and these meetups
;;; To get better
;;; To meet other Clojure peeps in Aarhus/East Jutland
;; Intro round
;;; Name, interests, experience with Clojure?
;; Agenda
;; Me talking (< 30m)
@tgk
tgk / pruttemaskine.ino
Created Oct 23, 2016
Fart machine for Rosalina - source
View pruttemaskine.ino
void fart(int pitch) {
int duration = random(300, 1000);
tone(8, pitch, duration);
delay(duration);
noTone(8);
}
int fartPitch() {
View gist:9562a094037361978c6382bd06d405e1
http://static.boredpanda.com/blog/wp-content/uploads/2015/01/magic-realism-paintings-rob-gonsalves-100.jpg
https://twistedsifter.files.wordpress.com/2012/04/adding-monsters-to-thrift-store-landscape-paintings-chris-mcmahon-2.jpg?w=800&h=644
http://static.boredpanda.com/blog/wp-content/uploads/2014/07/re-directed-paintings-david-irvine-gnarled-branch-9.jpg
https://static1.squarespace.com/static/52784cdde4b07cdbb003018f/537abe38e4b0ff62ffbb6786/56036d26e4b008bd0ad827f0/1443065129884/Cat-in-Window-Painting-HOME.jpg
http://gohighbrow.com/wp-content/uploads/2015/03/paintings1.jpg
http://static.boredpanda.com/blog/wp-content/uuuploads/colorful-paintings-leonid-afremov/colorful-paintings-leonid-afremov-17.jpg
http://www.thisiscolossal.com/wp-content/uploads/2016/03/finger-4.jpg
http://webneel.com/daily/sites/default/files/images/daily/01-2014/4-indian-gandhi-paintings.preview.jpg
https://afremov.com/image.php?type=P&id=17833
http://static.boredpanda.com/blog/wp-content/uploads/2015/11/pop-culture-characters-thrift-s
@tgk
tgk / spec_test.clj
Created Sep 12, 2016
A very small script for running spec tests. I have a lein alias for running the main function and that works quite well.
View spec_test.clj
(ns spec-test
(:require [clojure.pprint]
[clojure.spec.test]
[clojure.tools.namespace.repl :refer (refresh)]))
(defn run-analysis
[]
(clojure.spec.test/instrument)
(let [results (clojure.spec.test/check)
failures (remove (comp true? :result :clojure.spec.test.check/ret) results)]
View gist:ff513c551981cff34dcaa0e833fcb62a
## Tilfældigheder
## Vi kan printe ting ud til skærmen med "puts"
# puts "Hejsa"
## Det kan vi bruge til at undersøge funktioner
## "rand" giver os et tilfældigt kommatal mellem 0 og 1:
# puts rand
@tgk
tgk / data.tsv
Created Jul 21, 2014
Adapted line chart
View data.tsv
date close
1-May-12 0.114
27-Apr-12 0.12
@tgk
tgk / quilt_proposal.edn
Created May 14, 2014
An attempt at understanding Quilt
View quilt_proposal.edn
;; These notes describe the snapshots of a shared state between
;; pariticipants in a system co-ordinated using CRDT methods, hopefully
;; matching the Quilt notes from @cemerick at
;; http://writings.quilt.org/2014/05/12/distributed-systems-and-the-end-of-the-api/
;; The ambition is to built systems where network failures, replays
;; etc. can be safely ignored (instead of just being ignored).
;; Maintaining the "timestamps" for the append only database is the only
;; thing I feel I don't grok. There are some notes at the end of the
;; gist. Hoping for feedback or pointers!
View user.clj
(ns user
(:require [schema.core :as s]
[schema.utils :as s-utils]))
(defn filter-walker
"Creates a walker which replaces sub-trees in values of maps with nil
if they do not conform to schema."
[schema]
(s/start-walker
(fn [schema]