Skip to content

Instantly share code, notes, and snippets.

extern crate tokio_core;
extern crate futures_cpupool;
extern crate futures;
use std::time::Duration;
use std::thread;
use futures::stream::{self, Stream};
use futures_cpupool::CpuPool;
use tokio_core::reactor::Core;
#![feature(i128)]
#![feature(i128_type)]
use std::u128;
use std::net::{Ipv4Addr, Ipv6Addr};
use ipnetwork::IpNetwork;
// Convert 128-bit number to ipv6 address.
fn decimal_to_ipv6(n: u128) -> Ipv6Addr {
Ipv6Addr::new(
@danneu
danneu / image-upload-server.js
Created February 11, 2018 00:44
This is a naive impl of a node server that accepts image uploads at POST /uploads/:uuid but will stream inflight-uploads from GET /uploads/:uuid.
// curl -X POST --data-binary "@../massive.jpg" http://localhost:3001/uploads/xxx
// curl -X POST --data-binary "@../massive.jpg" http://localhost:3001/uploads/xxx --limit-rate 32k
'use strict'
const fs = require('fs')
const { EventEmitter } = require('events')
const express = require('express')
const PORT = 3001
// Since an Encoder and Decoder live as long as a Codec, I'd
// like for them both to share a reference to one instread
// of cloning it.
//
// And do I want refs or slices in this sort of situation? I seem to pick one at random.
// EXAMPLE
fn main() {
@danneu
danneu / 0-index.js
Last active November 21, 2017 22:34
// Middleware function creates a `ctx.render('homepage', { title, foo })`
// function on the koa context.
const reactRenderware = (root, _opts = {}) => {
const defaultOpts = () => ({ locals: {} })
const { locals: globals, opts } = { ...defaultOpts(), ..._opts }
const { extname } = require('path')
const React = require('react')
const ReactDOMServer = require('react-dom/server')
const Master = require(path.join(root, 'master.jsx'))
return async (ctx, next) => {
@danneu
danneu / .js
Created November 9, 2017 20:42
{
console.log('=== body validation')
const body = {
uname: 'foo',
email: 'me@example.com',
pass1: 'secret',
pass2: 'secret',
}
const v = Validator.succeed(body)
.andThen(() => {
@danneu
danneu / .js
Created November 9, 2017 18:37
import { v, validate } from '.'
async function run() {
const body = {
uname: ' foo ',
pass1: 'secret',
pass2: 'secret',
nums: [1, 2, 3],
users: [{ uname: 'foo' }, { uname: 'bar' }],
a: { b: 42 },
@danneu
danneu / .js
Created November 9, 2017 14:25
const fs = require('fs')
const { join } = require('path')
module.exports = { crawlSync, crawlAsync }
function crawlSync(path) {
let cache = new Map()
const stats = fs.statSync(path) // <-- A
if (stats.isFile()) {
@danneu
danneu / .js
Created November 9, 2017 06:24
import { v, validate } from '.'
async function run() {
const body = {
uname: ' foo ',
pass1: 'secret',
pass2: 'secret',
nums: [1, 2, 3],
users: [{ uname: 'foo' }, { uname: 'bar' }],
a: { b: 42 },
@danneu
danneu / .vimiumrc
Last active September 21, 2017 19:22
map keybinding customations for the vimium browser plugin (rip vimperator, rip pentadactyl, rip firefox)
map <c-p> previousTab
map <c-n> nextTab
map d removeTab
map u restoreTab
map <c-o> goBack
map <c-i> goForward
map <c-d> scrollPageDown
map <c-u> scrollPageUp