Skip to content

Instantly share code, notes, and snippets.

View patmaddox's full-sized avatar
🤔
Trying to figure out how to look up comments I've left

Pat Maddox patmaddox

🤔
Trying to figure out how to look up comments I've left
View GitHub Profile
@patmaddox
patmaddox / 1_use-toggle.js
Last active April 2, 2020 15:35
toggles and hooks
import { useState, useCallback } from 'react';
export default function useToggle(initialState) {
const [isOn, setIsOn] = useState(initialState);
const turnOn = useCallback(() => setIsOn(true), [setIsOn]);
const turnOff = useCallback(() => setIsOn(false), [setIsOn]);
const toggle = useCallback(() => setIsOn(prevState => !prevState), [setIsOn]);
return { isOn, turnOn, turnOff, toggle, setIsOn };
}
@patmaddox
patmaddox / fluid_srp.rb
Created September 18, 2019 18:18
SOLID in Ruby is fluid
class Foo1
def foo
puts "hello foo"
end
end
module FooModule
def foo
puts "hello foo"
end
@patmaddox
patmaddox / _README.md
Last active April 7, 2019 02:05
dorico custom instrument groups

To add custom instruments, you need to modify some XML files under /Applications/Dorico 2.app/Contents/Resources. Only do this if you're comfortable doing something like that!

I have included the complete file contents here so you can just replace the existing files on disk. You will overwrite the following files in the Resources folder:

This configuration will create a new "Parts" instrument group at the top of the list. It provides three instruments:

@patmaddox
patmaddox / 01_README.md
Created April 7, 2019 01:19
dorico custom instruments

To add custom instruments, you need to modify some XML files under /Applications/Dorico 2.app/Contents/Resources. Only do this if you're comfortable doing something like that!

For instruments.xml and instrumentnames_en.xml, you will add new entries. I placed them after the Pianoforte entry.

If your computer isn't set to English, choose the correct localization file for your system.

For instrumentFamiliesDefinitions.xml you will replace the existing keyboards entry (essentially you add instrument.keyboard.piano.alias.part to the `` element for Keyboards.

.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178, 191); background-color: rgb(40, 44, 52); overflow: auto; }
.markdown-preview:not([data-use-github-style]) > :first-child { margin-top: 0px; }
.markdown-preview:not([data-use-github-style]) h1, .markdown-preview:not([data-use-github-style]) h2, .markdown-preview:not([data-use-github-style]) h3, .markdown-preview:not([data-use-github-style]) h4, .markdown-preview:not([data-use-github-style]) h5, .markdown-preview:not([data-use-github-style]) h6 { line-height: 1.2; margin-top: 1.5em; margin-bottom: 0.5em; color: rgb(255, 255, 255); }
.markdown-preview:not([data-use-github-style]) h1 { font-size: 2.4em; font-weight: 300; }
.markdown-preview:not([data-use-github-style]) h2 { font-size: 1.8em; font-weight: 400; }
.markdown-preview:not([data-use-github-style]) h3 { font-size: 1.5em; font-weight: 500; }
.markdown-preview:not([data-use-github-style]) h4 { font-size: 1.2em; font-weight: 600; }
.markdown-preview:not([da
@patmaddox
patmaddox / foobarbaz.rb
Created September 5, 2018 17:23
module madness
module Foo
def baz
"I am from foo!"
end
end
module Bar
def baz
"I am from bar!"
end
sed -E 's:href=\"help[^\.]*\/([^\.]+)\.html\":href=\"#x\1\":g' print-export-source.html > print-export-source-proc.html
wkhtmltopdf --page-size "Letter" --dpi 765 --footer-spacing 4 --print-media-type --footer-center "[page] of [topage]" --footer-font-name "Helvetica Neue" --footer-font-size 11 --footer-line --footer-spacing 5 --header-spacing 5 --header-line --header-center "Tinderbox v7 Manual" --header-font-name "Helvetica Neue" --enable-toc-back-links toc --toc-header-text "Tinderbox v7 Manual - Table of Contents" --toc-text-size-shrink 1 --toc-level-indentation 4em "print-export-source-proc.html" "Tinderbox v7 Manual v7–2-0.pdf"
# N.B. extra --dpi 765 arg only needed for v0.12.4
# why a macro...
defmacrop d(sign, coef, exp) do
quote do
%Decimal{sign: unquote(sign), coef: unquote(coef), exp: unquote(exp)}
end
end
# instead of a function?
def d(sign, coef, exp) do
%Decimal{sign: sign, coef: coef, exp: exp}
def foo(f)
case f
when /funky/
puts "so funky"
when /chicken/
puts "so chicken"
else
puts "bugawk"
end
end