Skip to content

Instantly share code, notes, and snippets.

@maruks
maruks / Sudoku solver clojure
Created November 3, 2011 11:04
Sudoku solver
(ns sudoku.core
(:use clojure.set)
(:use [clojure.contrib.seq :only [find-first]]))
(defn select-row [vek i]
(let [start (- i (rem i 9))
end (+ start 9)]
(set (for [e (range start end)](vek e)))))
(defn select-column [vek i]
package dream;
import sleep.Sleeper;
public class Dream {
int num = 0;
public void dream(final Sleeper s) {
if (num++ < 10) {
Thread thread = new Thread(new Runnable() {
public void run() {
@maruks
maruks / core.clj
Created June 18, 2012 22:06
my code from code dojo 8
(ns code-dojo.core
(:use [code-dojo.core] [clojure.math.combinatorics] [clojure.java.io :only (reader)])
(:use [speclj.core]))
(def dictionary
(map #(.toLowerCase %)
(line-seq (reader "english_words.txt"))))
(defn same-length [len coll]
(filter #(= len (count %)) coll))
@maruks
maruks / load_theme.el
Created September 30, 2012 14:44
Load custom emacs 24 theme with no confirmation
(defun l0ad-theme (name)
(interactive
(list
(intern (completing-read "Load custom theme: "
(mapcar 'symbol-name (custom-available-themes))))))
((load-theme name t)))
@maruks
maruks / avalanch.clj
Created October 31, 2012 23:09
code from LSCC October Hands-on session - Experimenting with self organized criticality
(def size 50)
(def avalanche-threshold 3)
(def empty-table (vec (repeat size (vec (repeat size 0)))))
(defn adjacent-cells [x y]
(filter #(and (not (neg? (first %))) (not (neg? (second %))) (< (first %) size) (< (second %) size))
(list [x (inc y)] [x (dec y)] [(inc x) y] [(dec x) y])))
(defn avalanche [table cells-to-increment avalanches]
@maruks
maruks / fibo_dojo.clj
Created November 19, 2012 21:41
London Code Dojo Late Nov
(ns sandbox.fibo-dojo)
(def fib (cons 1 (cons 2 (lazy-seq (map + (rest fib) fib)))))
(def indexes (iterate inc 0))
(defn cons-one? [xs prev]
(if (seq xs)
(if (and (= 1 prev) (= (first xs) prev)) true
(cons-one? (rest xs) (first xs)))))
@maruks
maruks / fibo_dojo.clj
Created November 20, 2012 12:00
Zeckendorf's_theorem in clojure
(ns sandbox.fibo-dojo)
(def fib (cons 1 (cons 2 (lazy-seq (map + (rest fib) fib)))))
(def indexes (iterate inc 0))
(defn cons-one? [xs prev]
(if (seq xs)
(if (and (= 1 prev) (= (first xs) prev)) true
(recur (rest xs) (first xs)))))
@maruks
maruks / init.el
Created October 15, 2013 22:12
emacs lisp function that compiles current buffer and runs speclj tests in repl buffer
(defun compile-run-tests (arg)
(interactive "P")
(let ((oldbuf (current-buffer)))
(save-buffer)
(nrepl-load-current-buffer)
(nrepl-switch-to-relevant-repl-buffer nil)
(insert "(run-specs)")
(nrepl-return)
(unless arg
(switch-to-buffer-other-window oldbuf))))
@maruks
maruks / init.el
Created October 18, 2013 12:43
displays value of lest sexp in a popup
(defun eval-popup (arg)
(interactive "P")
(let* ((result (nrepl-eval (nrepl-last-expression)))
(val (plist-get result :value))
(err (plist-get result :stderr)))
(pos-tip-show
(or val err))))
(eval-after-load 'clojure-mode
'(define-key clojure-mode-map (kbd "\e\ee") 'eval-popup))
@maruks
maruks / enc-flac.sh
Created December 7, 2013 22:20
WAV->FLAC encoding/tagging script
!/usr/bin/env ruby
if ARGV.length < 4
puts "Usage: enc-flac artist year album picture"
exit
end
artist = ARGV[0]
date = ARGV[1]
album = ARGV[2]