I hereby claim:
- I am eethann on github.
- I am colab_ethan (https://keybase.io/colab_ethan) on keybase.
- I have a public key ASA2omRGFENL37kJnnEQcn4isnlUoVcm3vb-AduORQ9BeAo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| #!/bin/bash | |
| TMPFILE='/tmp/rofi-dmenu-taskwarrior' | |
| task rofi rc.verbose=nothing > $TMPFILE | |
| TASK=`rofi -dmenu -p "Task: " -i -input $TMPFILE` | |
| TASK_ID=`echo $TASK | cut -f1 -d' '` |
| ;; # Explorations for notating note sequences through numbers in different bases. | |
| ;; | |
| ;; This sketch explores an API to represent a note via a number of a fixed | |
| ;; number of digits in the base of the number of notes in the mode. | |
| ;; | |
| ;; Examples: 7r030 for C3, 7r072 for E7 (if major mode) | |
| ;; | |
| ;; This approach has the benefit of equivalence between addition and transposition: | |
| ;; | |
| ;; `(+ 7r013 7r010) => 7r023` and `(+ 7r011 7r006) => 7r020` |
| ;; TODO need to refactor this to put the entire let into the macro and use gensym form to escape | |
| ;; http://www.braveclojure.com/writing-macros/#6_1__Variable_Capture | |
| (defmacro apply-by-next-n-bar | |
| "Schedule a function by n bars in the future" | |
| [m bar-period & rest] | |
| (let [ | |
| next-bar-num (metro-next-periodic-bar m bar-period) | |
| ] | |
| `(apply-by-bar ~m ~next-bar-num ~@rest) | |
| ) |
| #!/bin/bash | |
| # Adapted PHP CodeSniffer pre-commit hook for git | |
| # | |
| # @author Ethan Winn <[email protected]> | |
| # @author Soenke Ruempler <[email protected]> | |
| # @author Sebastian Kaspari <[email protected]> | |
| # | |
| # See the original project README: | |
| # https://github.com/s0enke/git-hooks/tree/master/phpcs-pre-commit |
| ### | |
| # Below is a quick example of how CoffeeScript can be used to easily template JSON | |
| # | |
| # CoffeeScript has a few notable features for this role: | |
| # | |
| # 1. It has existential accessors, so you safely invoke nested properties w/o checking for their existence explicitly (`myObj.someOptionalProp?.someOtherOptProp?.val) | |
| # 2. Using the "do" constrution you can execute anonymous functions that return objects in place, allowing fairly straightforward conditional json properties and other pre-processing. | |
| # 3. Using multi-line object definitions and the underscore extend method, it's fairly literate to intermingle code with basic json values. | |
| # 4. It's object notation is nice. | |
| ### |
| # -*- mode: ruby -*- | |
| # vi: set ft=ruby : | |
| Vagrant::Config.run do |config| | |
| # All Vagrant configuration is done here. The most common configuration | |
| # options are documented and commented below. For a complete reference, | |
| # please see the online documentation at vagrantup.com. | |
| # Every Vagrant virtual environment requires a box to build off of. | |
| config.vm.box = "MyCentOS_base" |
| // An excerpt from a Mongoose model.js file for use with Express: | |
| // Sub-document to store parent ref along with it's value (a form of caching) | |
| var Parent = new Schema({ | |
| id: ObjectId | |
| , text: String | |
| }); | |
| // Main tree-node element schema | |
| var Branch = new Schema({ |
| /* mixin for background images */ | |
| /* from http://remy.bach.me.uk/2011/09/compass-background-image-mixin/ */ | |
| /* may also use compass `replace-text-with-dimensions` */ | |
| @mixin knockout($_img) { | |
| background:url($_img) no-repeat; | |
| display:block; | |
| height:image-height($_img); | |
| overflow:hidden; | |
| text-indent:-100%; | |
| width:image-width($_img); |
| _.mixin({ | |
| // ### _.objMap | |
| // _.map for objects, keeps key/value associations | |
| objMap: function (input, mapper, context) { | |
| return _.reduce(input, function (obj, v, k) { | |
| obj[k] = mapper.call(context, v, k, input); | |
| return obj; | |
| }, {}, context); | |
| }, | |
| // ### _.objFilter |