Skip to content

Instantly share code, notes, and snippets.

View sleexyz's full-sized avatar

Sean Lee sleexyz

View GitHub Profile
@sleexyz
sleexyz / Flowtype.md
Last active February 12, 2017 19:54
Flow stuff
@sleexyz
sleexyz / classroomUnit.coffee
Last active January 25, 2017 23:19
Higher Order Components with Recompose. We build `ensureContentLoadedBeforeMount` compositionally
e = require 'react-e'
{Component} = require 'react'
{HOC, generateClass} = require './utils/HOC'
lettersActions = require './actions/letters'
classroomUnitsActions = require './actions/classroom_units'
module.exports = generateClass 'ClassroomUnit',
HOC.ensureContentLoadedBeforeMount
key: 'letters'
@sleexyz
sleexyz / HOC1.coffee
Last active January 25, 2017 22:40
Higher order components without recompose. We build `ensureContentBeforeMount` HOC compositionally.
{createElement} = require 'react'
e = require 'react-e'
{build: _build} = require 'utils/container_helpers'
_ = require 'lodash'
#
# Utilities
#
{-# LANGUAGE GADTs #-}
module Jam_2016_12_02 where
import Util
output = toProgram $ vec4 (v, v, v, 0.1)
-- & (const (bbF1 (texture2D channel2) uvN * 0.1))
& (+ (bbF2 1 (texture2D backBuffer) uvN * 0.9))
-- & (+ (bbF2 2 (texture2D backBuffer) uvN * 0.45))
-- & (+ (bbF2 4 (texture2D backBuffer) uvN * 0.3))
import React, {createClass, createElement, PropTypes} from "react";
const e = createElement;
const Fullscreen = (Component) => createClass({
displayName: 'Fullscreen',
getInitialState() {
return {
width: window.innerWidth,
height: window.innerHeight
};
@sleexyz
sleexyz / parseReqAndThen.js
Created December 7, 2016 20:00
higher order middleware
const parseReqAndThen = (reqParser, onSuccess) => {
return (req, res, next) => {
const parseResult = reqParser(req);
if (typeof parseResult !== 'undefined') {
const successApp = connect()
.use(onSuccess(parseResult))
.use((req, res) => {next();});
successApp(req, res);
return;
}
@sleexyz
sleexyz / middleware.js
Created November 22, 2016 00:53
Build an application from middleware passed in variadically
const connectMiddleware = (...middleware) => (req, res) => {
const doAt = (i) => () => {
if (i === middleware.length) throw new Error ("MockError: out of middleware!");
middleware[i](req, res, doAt(i+1));
};
doAt(0)();
}
module.exports = connectMiddleware;
@sleexyz
sleexyz / vis.go
Created November 20, 2016 03:51
bytebeat visualization... too slow...
package main
import "os"
import "bufio"
func main() {
filename := os.Args[1]
audioFile, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0600)
@sleexyz
sleexyz / vis.hs
Last active November 20, 2016 01:05
visualize bytebeat
{-# LANGUAGE BangPatterns #-}
-- | Visualize bytebeat. currently doesn't print fast enough...
module Main where
import Control.Monad
import Data.Bits
import qualified Data.Char as C
import Data.List
import System.IO
import System.Environment
#!/usr/bin/env bash
# example:
#
# > ./together "foo" "bar" "baz"
#
# runs foo, bar, baz as child processes
# ctrl-c will kill all
PID="$$"