- Boil some water in a kettle.
- Measure out 34.5 grams of beans on a kitchen scale, and grind them finely in a conical burr grinder.
- Put a No. 4 filter (I use Melitta) in a dripper sitting over a server.
- When the water comes to a boil, pour a little into the dripper to wet the filter, then discard the water that collects in the server. (Keep the kettle boiling.) Replace the dripper, and add the ground beans to the filter.
- Pour less than ½ cup of just-off-the-boil water over the coffee. Don’t pour so fast that the grounds start rising up the sides of the filter. (The idea is to let the water “wet” the grounds, unlocking flavors, in preparation for the bigger hot-water hit to come.) About 30 seconds later, pour in enough water to let the grounds rise three-quarters of the way up the filter, while breaking up any visible clumps of coffee on the surface by shaking the kettle a little. About 45 seconds later, repeat, letting the grounds rise up no higher than they did on the first pour.
- When the cof
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| I like LYAH as a reference and cheat-sheet but I found it a little slow for | |
| learning Haskell. | |
| Here's my recommended order for just learning Haskell: | |
| http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ 80% completion | |
| here is fine if you feel your attention waning, the next thing will address | |
| hammering in things like functors and monads via typeclasses. | |
| https://github.com/NICTA/course/ this will hammer in the lessons in a very |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <TinkerKit.h> | |
| TKMosFet mos(O0); | |
| // TKPotentiometer pot(I0); | |
| int val = 10; | |
| void setup() { | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| trevorhartman at host-174-45-234-173 in ~/work/sunset on master! | |
| ± ./deploy.sh | |
| DEPLOY SUNSET | |
| | | |
| \ / _\/_ | |
| .-'-. //o\ _\/_ | |
| -- / \ -- | /o\ | |
| ~^~^~^~^~^~^~^~^~^~^-=======-~^~^~^~~^~^~^~|~~^~^|^~ | |
| THANKS FOR ALL THE FISH | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (def bal | |
| (insta/parser | |
| "expr = group | |
| <cmd> = word (space word)* | |
| sub-expr = <dollar> <lparen> group <rparen> | |
| <group> = lparen cmd rparen | cmd | |
| <word> = sub-expr | group | #'[^ ()]*' | |
| space = <' '>+ | |
| <dollar> = '$' | |
| <lparen> = '(' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "abc/xyz.lol" split("/").reduceLeft((a, b) => b) // => Array[String] = Array(abc, xyz.lol) | |
| "abc/xyz.lol" split("/") reduceLeft((a, b) => b) // => String = xyz.lol | |
| "abc/xyz.lol".split("/").reduceLeft((a, b) => b) // => String = xyz.lol | |
| // Why does the first line result in the full Array? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Caused by: clojure.lang.ExceptionInfo: :peer/timeout Transaction timed out. {:db/error :peer/timeout} | |
| at clojure.core$ex_info.invoke(core.clj:4227) | |
| at datomic.error$raise.invoke(error.clj:24) | |
| at datomic.error$raise.invoke(error.clj:20) | |
| at datomic.peer$await_tx_result.invoke(peer.clj:75) | |
| at datomic.peer.Connection.transact(peer.clj:125) | |
| at datomic.api$transact.invoke(api.clj:64) | |
| at datomico.db$transact.invoke(db.clj:55) | |
| at datomico.db$transact_BANG_.invoke(db.clj:61) | |
| at datomico.db$load_schemas.invoke(db.clj:67) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- find the elements of two 3-element sets whose cartesian products, when multiplied | |
| -- form a 5-element set | |
| setMembers = head [[a, b, c, d, e, f] | a <- [1..10], b <- [2..14], c <- [4..20], d <- [6..24], | |
| e <- [7..25], f <- [6..30], | |
| length [a, b, c, d, e, f] == length (nub [a, b, c, d, e, f]), | |
| length (nub [x*y | x <- [a, b, c], y <- [d, e, f]]) == 5] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| change :: Int -> [Int] -> [[Int]] | |
| change amt [] = [[]] | |
| change amt [d] = [replicate (quot amt d) d] | |
| change amt (d:denoms) = | |
| if d <= amt then | |
| reverse [0..(quot amt d)] >>= \x -> | |
| [(replicate x d) ++ c | c <- (change (amt - (x*d)) denoms)] | |
| else | |
| change amt denoms |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| object BT { | |
| case class BNode(v: Int, l: Option[BNode], r: Option[BNode]) | |
| val bt = BNode(5, | |
| Some(BNode(4, Some(BNode(3, None, None)), None)), | |
| Some(BNode(10, None, | |
| Some(BNode(15, None, None))))) | |
| def bt2Sorted(bt: BNode, l: List[Int] = List[Int]()): List[Int] = { | |
| bt match { |