Skip to content

Instantly share code, notes, and snippets.

:octocat:
Setting status

Rocky Madden rockymadden

:octocat:
Setting status
Block or report user

Report or block rockymadden

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 present.rockymadden.com.md

name: inverse layout: true class: center, middle, inverse


#Gist => Deck


View keybase.md

Keybase proof

I hereby claim:

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

To claim this, I am signing this object:

@rockymadden
rockymadden / combinators.js
Created Feb 20, 2018 — forked from Avaq/combinators.js
Common combinators in JavaScript
View combinators.js
const I = x => x;
const K = x => y => x;
const A = f => x => f(x);
const T = x => f => f(x);
const W = f => x => f(x)(x);
const C = f => y => x => f(x)(y);
const B = f => g => x => f(g(x));
const S = f => g => x => f(x)(g(x));
const P = f => g => x => y => f(g(x))(g(y));
const Y = f => (g => g(g))(g => f(x => g(g)(x)));
View link.rockymadden.run.json
@rockymadden
rockymadden / dev-portal-pitch.md
Last active Feb 23, 2016 — forked from greglindahl/dev-portal.md
Developer Portal pitch
View dev-portal-pitch.md

The Pitch

Let's move to a modern approach for our developer documentation and, generally, improve developer experiences by creating a focused developer portal. Let's unify our documentation efforts, use documentation to reduce customer success needs, use documentation to improve experiences, and create a one-stop-shop for anything a developer might need. Additionally, lets make it conceptually simple and easy to maintain and support. This idea is not new, in fact nearly every modern API company uses this approach:

View socat-examples.md

Effectively tail a file and serve it up via a browser:

socat -T0.05 -u FILE:/var/log/syslog,ignoreeof TCP4-LISTEN:12345,fork,reuseaddr

Simple file server

@rockymadden
rockymadden / multi_key_crypto.sh
Created Oct 9, 2015 — forked from kennwhite/multi_key_crypto.sh
OpenSSL command line recipe for multi-public key file encryption. Any single private key paired to one of the public keys can decrypt the file.
View multi_key_crypto.sh
#!/usr/bin/env bash
#
# Example of multiple key AES encryption for text files using the openssl v. 0.9.8+ command line utility
# Uses n public certs as key for MIME PKCS envelope, any individual private key can decrypt.
#
# If standard RSA ssh keys exist, these can be converted to public certs as well (and ssh keys can decrypt)
#
# To sign (and verify) the encrypted file, one of the private keys is required, see:
# http://www.openssl.org/docs/apps/smime.html#EXAMPLES for openssl smime examples
# or http://www.openssl.org/docs/apps/cms.html#EXAMPLES for cms utility (OpenSSL v. 1.0+)
@rockymadden
rockymadden / hubdecrypt.sh
Created Oct 9, 2015 — forked from rgbkrk/hubdecrypt.sh
Encrypt a (short) file using someone's public key from github
View hubdecrypt.sh
#!/usr/bin/env bash
# HubCrypt
# ========
#
# Decrypt a file encrypted using hubencrypt (ok, it's just openssl + rsautl +
# your SSH keys). It needs the private key that matches your last public key
# listed at github.com/<user>.keys
#
@rockymadden
rockymadden / bcrypt-cost-guidelines-moores-law.md
Last active Aug 27, 2015
bcrypt cost guidelines based upon moose's law
View bcrypt-cost-guidelines-moores-law.md
Date Iterations Cost
1/1/2000 64 6
7/1/2001 128 7
1/1/2003 256 8
7/1/2004 512 9
1/1/2006 1,024 10
6/1/2007 2,048 11
1/1/2009 4,096 12
6/1/2010 8,192 13
@rockymadden
rockymadden / csp-pong.js
Last active Aug 29, 2015
CSP based pong in ES6 JavaScript.
View csp-pong.js
"use strict";
const csp = require("js-csp");
const setup = (table) => {
const player = function*(name) {
let ball;
while((ball = yield csp.take(table)) !== csp.CLOSED) {
ball.hits += 1;
You can’t perform that action at this time.