Skip to content

Instantly share code, notes, and snippets.

View daveyarwood's full-sized avatar

Dave Yarwood daveyarwood

View GitHub Profile
@daveyarwood
daveyarwood / .bashrc
Created May 10, 2018 00:20
Taskwarrior "task ready count" in Bash prompt
tasks_ready() {
which task >/dev/null || return
tasks_ready=$(task ready 2>/dev/null | grep -E '[0-9]+ tasks?')
if [[ -n "$tasks_ready" ]]; then
echo " ($tasks_ready ready)"
fi
}
PS1='\u@\h:\w$(tasks_ready) \$ '
@daveyarwood
daveyarwood / wpgtr-ch3.clj
Created January 27, 2014 00:37
why's (poignant) guide to ruby in clojure - chapter 3
; ex. 1:
(repeat 5 "Odelay!")
; ex. 2:
(when-not (re-find #"aura" "restaurant") (System/exit 0))
; ex. 3:
(map clojure.string/capitalize ["toast" "cheese" "wine"])
; ex. 4:
@daveyarwood
daveyarwood / random-bongos.alda
Created April 24, 2017 00:30
randomly generated bongos
(defn random-bongos
[ticks vol-min vol-max]
[(octave 4)
(set-duration 0.25) ; 16th notes
(let [notes (-> #{[:c] [:c :sharp] [:d] [:d :sharp] [:e]}
(->> (map #(note (apply pitch %))))
(conj (pause)))
rand-note #(rand-nth notes)
rand-vol #(vol (+ vol-min (rand-int (- vol-max vol-min))))
tick #(vector (rand-vol) (rand-note))]
#!/usr/bin/env ruby
template = <<~HEREDOC
{{plural noun}} are {{color}},
{{plural noun}} are {{color}},
{{food}} is {{adjective}},
and so are you.
HEREDOC
def prompt(type)
@daveyarwood
daveyarwood / alda-repl-session
Created November 14, 2016 13:18
alda voice continuation example
$ alda repl
Nov 14, 2016 8:12:00 AM com.jsyn.engine.SynthesisEngine start
INFO: Pure Java JSyn from www.softsynth.com, rate = 44100, RT, V16.7.3 (build 457, 2014-12-25)
Preparing MIDI system... done.
█████╗ ██╗ ██████╗ █████╗
██╔══██╗██║ ██╔══██╗██╔══██╗
███████║██║ ██║ ██║███████║
██╔══██║██║ ██║ ██║██╔══██║
██║ ██║███████╗██████╔╝██║ ██║
@daveyarwood
daveyarwood / gist:28f135b0241f29826fd6
Created March 26, 2015 20:41
clj-image2ascii.core rules
$ boot -d clj-image2ascii repl
boot.user=> (require '[clj-image2ascii.core :refer :all])
nil
boot.user=> (convert-image
#_=> (get-image-by-url (java.net.URL. "http://evansheline.com/wp-content/uploads/2011/06/cute-cat.jpg (40KB) "))
#_=> 60 false)
{:width 60, :height 58, :color? false, :image <long-ass string here>}
@daveyarwood
daveyarwood / pixelrain.mml
Created January 24, 2015 18:16
pixel rain
#TITLE Pixel Rain
#COMPOSER Quitasol
#PROGRAMER 2005 Dave Yarwood
#BANK-CHANGE 0,1
#BANK-CHANGE 2,2
@v2 = { 15 12 10 8 6 3 2 1 0 }
@v3 = { 15 15 14 14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 6 6 5 }
@v0 = { 11 8 6 4 2 1 0 }
@v1 = { 11 11 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 }
(defn fizz-buzz [n]
(let [s (str (when (zero? (rem n 3)) "Fizz")
(when (zero? (rem n 5)) "Buzz"))]
(if (empty? s) n s)))
(doseq [x (map fizz-buzz (range 1 101))]
(println x))
(def fizz-buzz
(->> (map vector (range 1 101) (repeat 100 ""))
(map (fn [[i s]] [i (if (zero? (rem i 3)) (str s "Fizz") s)]))
(map (fn [[i s]] [i (if (zero? (rem i 5)) (str s "Buzz") s)]))
(map (fn [[i s]] (if (= "" s) i s)))))
(doseq [x fizz-buzz] (println x))
(defn fizz-buzz [n]
(cond
(zero? (rem n 15)) "FizzBuzz"
(zero? (rem n 3)) "Fizz"
(zero? (rem n 5)) "Buzz"
:else n))
(doseq [x (map fizz-buzz (range 1 101))]
(println x))