Skip to content

Instantly share code, notes, and snippets.

View pieter-van-prooijen's full-sized avatar

Pieter van Prooijen pieter-van-prooijen

View GitHub Profile
@pieter-van-prooijen
pieter-van-prooijen / yo.clj
Last active November 14, 2019 20:35 — forked from vijaykiran/yo.clj
(ns clojure-meetup-2019-11.core
(:require [clojure.java.io :as io]))
(defn split-name [x]
(let [[_ letters id checksum] (re-find #"^(.+)-(\d+)\[([a-z]{5})\]$" x)]
[letters (Long/parseLong id) checksum]))
(defn freq-comparator [[a-ltr a-freq] [b-ltr b-freq]]
(let [freq-result (compare a-freq b-freq)]
(if (zero? freq-result)
@pieter-van-prooijen
pieter-van-prooijen / forkme.clj
Last active August 14, 2019 19:26 — forked from skuro/forkme.clj
Nonograms dojo
(ns nonogram.core
(:require [mikera.image.core :as image]
[mikera.image.dither :as dither]))
;; create column and row wise matrices
(defn create-matrices [image-path]
(let [img (-> (image/load-image image-path)
(image/resize 20 20)
#_(dither/dither (dither/mono-palette-function)))]
[(for [x (range 20) y (range 20)]
@pieter-van-prooijen
pieter-van-prooijen / README.clj
Last active July 17, 2019 19:15 — forked from skuro/README.md
Clojure meetup #115
(ns chess.core
(:require [clojure.string :as string]))
(def board
{[:a 1] [:R :w]
[:b 1] [:N :w]
[:c 1] [:B :w]
[:d 1] [:Q :w]
[:e 1] [:K :w]
[:f 1] [:B :w]
@pieter-van-prooijen
pieter-van-prooijen / readme.clj
Last active February 13, 2019 20:13 — forked from skuro/readme.org
Meetup #111 solutions
```
(ns clojure-dojo-2019-02-13.core)
(defn board [width height]
(into {} (for [x (range width)
y (range height)]
[[x y] (rand-nth [:blue :red])])))
(defn neighbours [board width height x y step-x step-y]
(let [end-x (if (neg? step-x) -1 width)
@pieter-van-prooijen
pieter-van-prooijen / forkme.clj
Last active December 12, 2018 19:39 — forked from skuro/forkme.md
Advent of Clojure solutions
(ns adventofcode2015.core)
(defn step [[row column value]]
(let [new-value (mod (* value 252533) 33554393)
max-depth (dec (+ row column))
new-row (if (= column max-depth) (inc max-depth) (dec row))
new-column (if (= column max-depth) 1 (inc column))]
[new-row new-column new-value]))
@pieter-van-prooijen
pieter-van-prooijen / README.md
Created March 8, 2017 20:02 — forked from Gonzih/README.md
markov-chain-meetup-dojo
# fork this gist and provide your solution
(ns nonogram.core
(require [mikera.image.core :as image]
[mikera.image.dither :as dither]))
(defn create-matrix [image-path]
(let [img (-> (image/load-image image-path)
(image/resize 20 20)
(dither/dither (dither/mono-palette-function)))]
@pieter-van-prooijen
pieter-van-prooijen / berlin-clock.cljs
Last active July 20, 2016 18:59 — forked from skuro/berlin-clock.cljs
Berlin Clock kata as implemented at the Amsterdam Clojurians cljs dojo, meetup #80
(ns dojo.core
(:import [goog.date.DateTime])
(:require [reagent.core :as reagent :refer [atom]]
[reagent.session :as session]
[secretary.core :as secretary :include-macros true]
[accountant.core :as accountant]))
;; -------------------------
;; Views
@pieter-van-prooijen
pieter-van-prooijen / core.clj
Last active March 9, 2016 20:22 — forked from skuro/README.md
Lotsa advocaat
(def containers [50 44 11 49 42 46 18 32 26 40 21 7 18 43 10 47 36 24 22 40])
(defn distribute [volume containers filled]
(let [first-c (first containers)
left-over (- volume (or first-c 0))]
(println volume first-c filled)
(cond
(nil? first-c) nil