Minor updates to Kevin Schaul's reusable radar chart of whiskey flavors.
Data source: https://www.mathstat.strath.ac.uk/outreach/nessie/nessie_whisky.html
(defmacro deftrack | |
"Defines an instrument with frequency, duration, volume, position and wet pre-defined. | |
NB: these variables will shadow any instances in a wider scope. | |
(deftrack simple [vibrato 3] | |
(* (saw frequency) (sin-osc vibrato)) ; Signal | |
(adsr)) ; Envelope | |
(simple :frequency 440 :position -1 :wet 1) |
# EPIC Daily “Blue Marble” API | |
The API URL is: http://epic.gsfc.nasa.gov/api/images.php | |
This gets you a list of the latest day’s images & metadata. | |
OR | |
http://epic.gsfc.nasa.gov/api/images.php?date=YYYY-M-D&w=X&e=Y |
Minor updates to Kevin Schaul's reusable radar chart of whiskey flavors.
Data source: https://www.mathstat.strath.ac.uk/outreach/nessie/nessie_whisky.html
#! /bin/bash | |
# | |
# -SCOPE | |
# This script will replace the shared library files lwjgl.so and libopenal.so | |
# contained in the minecraft lwjgl *natives-linux.jar with those in a specified | |
# directory and update the associated sha1sum. | |
# The purpose of this is to enable playing of "standard" minecraft | |
# on non x86 / i386 chipsets running linux. Eg. ARM. | |
# | |
# -IMPORTANT |
/data/backup/$TODAY#!/bin/bash -e | |
read -r YESTERDAY TODAY <<<$( | |
python3 -c ' | |
import datetime | |
def day_to_slot(n): | |
return bin(n)[::-1].index("1") | |
n = datetime.date.today().toordinal() | |
print(day_to_slot(n - 1)) | |
print(day_to_slot(n)) |
;; Roger's Simple .emacs | |
;; ---------------------------------------------------------------------- | |
;; global variables & settings | |
(setq auto-save-default t | |
auto-save-interval 1000 | |
delete-auto-save-files nil | |
make-backup-files nil | |
require-final-newline t | |
compile-command "make -k " |
#!/bin/bash | |
# This script will copy the newly compiled lwjgl.so and libopenal.so | |
# from the specified directory into the correct minecraft jar file. | |
# It will then compute and update the correct sha1sum. | |
# | |
# First Arguement (Required): | |
# Path to the directory containing: | |
# lwjgl.so and libopenal.so | |
# |
(ns apples.core | |
(:require [play-clj.core :refer :all] | |
[play-clj.g2d :refer :all] | |
[play-clj.math :refer :all])) | |
(declare apples main-screen) | |
(def speed 14) | |
(defn- get-direction [] | |
(cond |
TLDR: if you've got a bunch of delays in series, for example all-pass filters in a reverb, put them all in a single big buffer and let them crawl over each other for a perf win!
recently I was fiddling around with my hobby reverb code, in preparation for porting it onto a smaller/slower CPU.
I'd implemented a loop-of-allpass filters type reverb, just like everybody else, and indeed, I basically had the classic 'OOP'ish abstraction of an 'allpass' struct that was, say, 313 samples long, and... did an allpass. on its own little float buffer[313]
. (well, short integer, not float, but thats not relevant) I'll write out the code in a moment.
but then I was browsing the internet one night, as you do, and stumbled on this old post by Sean Costello of Valhalla DSP fame - noting the sad passing of Alesis founder and general all-round DSP legend, Keith Barr. https://valhalladsp.com/2010/08/25/rip-keith-barr/
It's worth a read just for his wonderful anecdote about the birth of the midiverb - which spawned the thou
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ant sim ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
; Copyright (c) Rich Hickey. All rights reserved. | |
; The use and distribution terms for this software are covered by the | |
; Common Public License 1.0 (http://opensource.org/licenses/cpl.php) | |
; which can be found in the file CPL.TXT at the root of this distribution. | |
; By using this software in any fashion, you are agreeing to be bound by | |
; the terms of this license. | |
; You must not remove this notice, or any other, from this software. | |
;dimensions of square world |