Skip to content

Instantly share code, notes, and snippets.

Murphy Randle mrmurphy

Block or report user

Report or block mrmurphy

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View keybase.md

Keybase proof

I hereby claim:

  • I am mrmurphy on github.
  • I am murphyrandle (https://keybase.io/murphyrandle) on keybase.
  • I have a public key whose fingerprint is 3507 3BDF F37D 7B17 C16B B354 2904 F387 57B7 F1BB

To claim this, I am signing this object:

View Handler.re
open Pom;
type middleware('context, 'result) =
(Express.Request.t, Express.Response.t, 'context) =>
pomWithError('result, Express.complete);
type handler('context) =
(Express.Request.t, Express.Response.t, 'context) => pom(Express.complete);
let _onError500 =
View Pom.re
type pomWithError('data, 'err) = Js.Promise.t(Result.t('data, 'err));
type pom('data) = pomWithError('data, unit);
module JsPromise = {
let make = () => {
let resolver = ref(ignore);
let p =
Js.Promise.make((~resolve, ~reject as _) =>
resolver := (a => resolve(. a))
);
@mrmurphy
mrmurphy / ynab_to_db.js
Created Feb 23, 2019
A little program to save your YNAB transactions to a SQLite Database for fast and easy querying
View ynab_to_db.js
const ynab = require("ynab");
const SQL = require("sql-template-strings");
const sqlite = require("sqlite");
let personalAccessToken = process.env.YNAB_ACCESS_TOKEN;
let client = new ynab.API(personalAccessToken);
async function go() {
const db = await sqlite.open("./transactions.sqlite");
@mrmurphy
mrmurphy / Handler.re
Created Aug 7, 2018
Type Safe Reason Express Handlers
View Handler.re
/* Prom is a library that provides
<$> (map)
and
>>= (bind, or flatMap)
for promises.
*/
open Prom;
/*
A Handler is a more functional and type-safe way of dealing with composable "middleware" in the express chain.
View Knex.re
type queryBuilder;
type t = (. string) => queryBuilder;
type querySql('options) = {
.
"method": string,
"options": 'options,
"bindings": array(string),
"sql": string,
View gist:68906c18cc2c49623556edd6890e4594
Verifying my Blockstack ID is secured with the address 18Fj9tXaLucYW57miX6oteLJaN8AHcgDkq https://explorer.blockstack.org/address/18Fj9tXaLucYW57miX6oteLJaN8AHcgDkq
View Dayone auth checklist.md

dayone.me

  • Log in to dayone.me
  • Log in to dayone.me with apple auth
  • Forgot password?
  • Create account
  • Link Apple ID
  • Unlink Apple ID
  • Change Password
  • Change Email Address
  • Add email address (apple only accounts)
View Lenses.elm
module Model.Lenses exposing (..)
-- other imports omitted
import Monocle.Optional as MO
import RemoteData
entryInList : String -> MO.Optional (List Entry) Entry
entryInList id =
{ getOption = List.Extra.find (\entry -> entry.id == id)
You can’t perform that action at this time.