Skip to content

Instantly share code, notes, and snippets.

@ear
ear / scan.c
Last active September 4, 2018 19:38
scanner(FILE *fd) {
beginning:
c = fgetc(fd);
switch (c) {
case ' ': goto beginning;
case '\n': return TOKEN_NEWLINE;
default: fseek(fd, -1, SEEK_CUR);
}
...
@ear
ear / a.cpp
Created August 28, 2018 22:42
🤐.cpp
#include <algorithm>
#include <array>
#include <iostream>
template<typename T, size_t N>
struct vec {
T v[N];
T* begin() { return &v[0]; };
T* end() { return &v[N]; };
const T* begin() const { return &v[0]; }
@ear
ear / Main.hs
Last active August 23, 2018 22:40
1monad2interpreters - Intertwined by one effect: `listen`
{-# LANGUAGE GADTs #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TypeApplications #-}
import Control.Monad
import Control.Monad.Free
import System.Random
@ear
ear / A.hs
Last active November 22, 2017 16:46
min (unif(0,1),unif(0,1)) ~~ ??
module Main where
import Data.List (splitAt, foldl')
import Control.Monad (forM_)
import System.Random (randomRs, getStdGen)
import System.Environment (getArgs)
import qualified Data.Map.Strict as M
main = do
[size, digits, columns] <- map read <$> getArgs :: IO [Int]
@ear
ear / MNIST.hs
Created November 15, 2017 15:46
MNIST
{-# LANGUAGE TypeApplications #-}
module Main where
import Prelude hiding (readFile)
import Data.Binary
import Data.Binary.Get
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
@ear
ear / Indexing.hs
Last active November 8, 2017 19:30
thinking about indexing
{-# LANGUAGE TupleSections #-}
import Data.List (findIndex)
import Control.Arrow ((&&&))
import Numeric.LinearAlgebra
data NN = NN { nnWs :: [Matrix R], nnBs :: [Vector R] }
nn = NN [ matrix 2 [6,7,8,9], matrix 2 [-6,-5,-4,-3], matrix 1 [-2,-1] ]
@ear
ear / C.hs
Created November 1, 2017 21:54
module Main where
import Data.List (unfoldr, mapAccumL, foldl')
import Data.Matrix
import Data.Foldable (sum)
import System.Random
layers = [28*28,16,16,10]
@ear
ear / twitch-beta.css
Last active October 8, 2017 12:38
twitch user styles for https://go.twitch.tv/*
/* more readable chat */
.chat-list,
.chat-input textarea,
.video-chat,
.video-chat__input textarea {
font-size: 18px !important;
font-family: -apple-system !important;
font-weight: 500 !important;
color: hsl(0,0%,90%) !important;
line-height: 1.2 !important;
@ear
ear / shiftjis.hs
Last active August 13, 2017 22:08
module Main where
import System.Environment (getArgs)
import Data.ByteString (ByteString)
import qualified Data.ByteString as B
import Data.Text.ICU.Convert
import Data.Text.Encoding as T
@ear
ear / glsl.frag
Created July 30, 2017 16:52
glsl fun example
#ifdef GL_ES
precision mediump float;
#endif
uniform vec2 u_resolution;
#define PI 3.14159265358979
uniform float u_time;
float stroke(float x, float s, float w) {