Skip to content

Instantly share code, notes, and snippets.

View amsross's full-sized avatar
💭
this isn't facebook

Matt Ross amsross

💭
this isn't facebook
View GitHub Profile

Keybase proof

I hereby claim:

  • I am amsross on github.
  • I am amsross_side (https://keybase.io/amsross_side) on keybase.
  • I have a public key ASALXda8H2gLEfQ5_8oDv-G-bpWP1amx1zkDJsR799Codgo

To claim this, I am signing this object:

@amsross
amsross / monad-transformers.re
Last active March 25, 2020 20:41
Monad Transformers build on `bs-bastet`
module Infix = BsBastet.Infix;
module Interface = BsBastet.Interface;
module type Monad = {include Interface.MONAD;};
module type Def = {
type m('a);
type t('a);
include Interface.MONAD with type t('a) := t('a);
@amsross
amsross / keybase.md
Created March 28, 2019 14:05
Keybase proof

Keybase proof

I hereby claim:

  • I am amsross on github.
  • I am amsross (https://keybase.io/amsross) on keybase.
  • I have a public key ASC2U3AgCv4lcYmQP2_PoNE1yIvjezql522pvcOw85K7Tgo

To claim this, I am signing this object:

const { warn, info, trace } = require('./logger')
const { EventEmitter } = require('events')
const h = require('highland')
const q = require('request')
warn('\nstarting')
const rand = (min, max) => Math.ceil(Math.random() * (max - min)) + min
const gen = tag => h(push => setInterval(() => {
push(null, ([ tag, Date.now() ]))
@amsross
amsross / streams-are-awesome.js
Last active February 23, 2018 21:20
npm i --save mississippi faker ramda
const { each, from, through } = require('mississippi')
const { internet: { avatar, email, password } } = require('faker')
const { pick } = require('ramda')
const highWaterMark = 1
const objectMode = true
const getUsers = count => from({ objectMode, highWaterMark }, (size, next) => {
if (--count < 0) return next(null, null)
next(null, {
@amsross
amsross / client.js
Last active December 3, 2017 00:18
Stream compressed contents of piped (or supplied) file names to a unix socket
console.time('time to pipe')
const { createReadStream } = require('fs')
const { Socket } = require('net')
const { createDeflate } = require('zlib')
const through = require('through2')
const { argv } = require('yargs')
const { fromArray, filter, reject, split } = require('./helpers')
const HANDLE = '/tmp/listener.sock'
@amsross
amsross / highland-ap.js
Created November 21, 2017 20:03
Almost an Apply with Highland
const h = require('highland')
const putRecord = ip => record => domain => record(ip)
.flatMap(record => h.of({
[`/domains/${domain}/records/${record.name}/${record.type}`]: record
}))
const ips = h([
'127.0.0.1',
'10.0.0.1',