I hereby claim:
- I am micmarsh on github.
- I am micmarsh (https://keybase.io/micmarsh) on keybase.
- I have a public key whose fingerprint is 960F 064A BB01 F97C 1A15 FCE6 3B81 08D4 B735 857C
To claim this, I am signing this object:
| // Requires LanguageExt V5 | |
| using LanguageExt; | |
| using LanguageExt.Traits; | |
| namespace Kleisli; | |
| public readonly record struct Kleisli<M, A, B>(Func<A, K<M, B>> Invoke) : K<Kleisli<M, A>, B>, K<CoKleisli<M, B>, A> | |
| where M : Monad<M> | |
| { |
| (defn rand-int' | |
| ([seed] (rand-int' seed Integer/MAX_VALUE)) | |
| ([seed upper] (rand-int' seed 0 upper)) | |
| ([seed upper min] | |
| (-> (hash seed) | |
| (Math/abs) | |
| (mod (- upper min)) | |
| (+ min) | |
| (dec)))) |
| DROP TABLE test_notes; | |
| DROP TABLE billing_discount_notes; | |
| drop table billing_notes; | |
| DROP TABLE billing_discounts; | |
| CREATE TABLE billing_notes ( | |
| id SERIAL PRIMARY KEY, | |
| note text, | |
| created TIMESTAMP WITHOUT TIME ZONE, | |
| updated TIMESTAMP WITHOUT TIME ZONE |
I hereby claim:
To claim this, I am signing this object:
| import System.Directory as D | |
| import Data.List (sort, cycle) | |
| import Data.Set (fromList, member, Set) | |
| import Data.List.Split (chunksOf) | |
| import Data.Time.Calendar as C | |
| import Control.Monad (sequence_) | |
| -- Date parsing related functions | |
| slice :: Int -> Int -> [a] -> [a] |
| Verifying myself: My Bitcoin username is +micmarsh. https://onename.io/micmarsh |
| import System.Directory | |
| import System.IO (hFlush, stdout) | |
| import Control.Exception (try, SomeException) | |
| -- "Downloads" folders tend to get unwieldy. | |
| -- This will force a decision on every downloaded file, with | |
| -- a strong bias towards deletion. | |
| type RemoveResult = IO (Either SomeException ()) |
| #!/bin/bash | |
| # essentials | |
| sudo apt-get install git curl emacs24 vim cowsay | |
| # sublime | |
| sudo add-apt-repository ppa:webupd8team/sublime-text-2 | |
| sudo apt-get update | |
| sudo apt-get install sublime-text |
| (defn flip [function] | |
| (fn | |
| ([] (function)) | |
| ([x] (function x)) | |
| ([x y] (function y x)) | |
| ([x y z] (function z y x)) | |
| ([a b c d] (function d c b a)) | |
| ([a b c d & rest] | |
| (->> rest | |
| (concat [a b c d]) |
| COMPILED_COFFEE = ' < -' | |
| PLAIN_JS = '<-' | |
| thenify = (lines) -> | |
| [line, rest...] = lines | |
| if rest.length is 0 | |
| line | |
| else if line.search(PLAIN_JS) > 0 or line.search(COMPILED_COFFEE) > 0 | |
| [value, promise] = line.split if line.search(PLAIN_JS) > 0 then PLAIN_JS else COMPILED_COFFEE | |
| noSemiColon = promise.slice(0, -1) |