Skip to content

Instantly share code, notes, and snippets.

View quinndiggity's full-sized avatar

Quinn Diggity quinndiggity

  • Vancouver, Canada
View GitHub Profile
@quinndiggity
quinndiggity / howto_nat_traversal.md
Created April 17, 2017 07:16 — forked from mildred/howto_nat_traversal.md
How To TCP NAT Traversal using Node.js and a STUN Server

How To TCP NAT Traversal using Node.js and a STUN Server

With the scarecity of IPv4 addresses, and IPv6 still not available at large, NAT traversal is becoming a necessity. Especially with the generalisation of Carrier-grade NATs that you can find on mobile connections. Even with IPv6 you may suffer NAT66. Imagine your mobile device that gets only a single Ipv6 address, and you want to share it on your computer.

The solution might be in a decentralized protocol for address attribution such

@quinndiggity
quinndiggity / README.md
Created February 1, 2017 01:18 — forked from nolanlawson/README.md
PouchDB map/reduce view specification

PouchDB map/reduce view specification

This document describes the proposed implementation for persisted map/reduce views in PouchDB. This is based on the ongoing discussion in pouchdb/mapreduce#12.

I decided to make this a formal-ish spec, because the dicussion was starting to go long and it was becoming unclear what implementation we were talking about.

Required API

A good commit message looks like this:
Header line: explaining the commit in one line
Body of commit message is a few lines of text, explaining things
in more detail, possibly giving some background about the issue
being fixed, etc etc.
The body of the commit message can be several paragraphs, and
please do proper word-wrap and keep columns shorter than about
@quinndiggity
quinndiggity / tweetnacl-indented.c
Created October 23, 2016 17:48 — forked from jedisct1/tweetnacl-indented.c
Indented version of @TweetNacl
#include "tweetnacl.h"
#define FOR(i,n) for (i = 0;i < n;++i)
#define sv static void
typedef unsigned char u8;
typedef unsigned int u32;
typedef unsigned long long u64;
typedef long long i64;
typedef i64 gf[16];