Skip to content

Instantly share code, notes, and snippets.

View silky's full-sized avatar

Noon van der Silk silky

View GitHub Profile
@silky
silky / umap_sparse.py
Created August 22, 2018 23:43 — forked from johnhw/umap_sparse.py
1 million prime UMAP layout
### JHW 2018
import numpy as np
import umap
# This code from the excellent module at:
# https://stackoverflow.com/questions/4643647/fast-prime-factorization-module
import random
#!/usr/bin/env stack
-- stack script --resolver lts-12.0
-- --package diagrams
-- --package diagrams-lib
-- --package diagrams-cairo
-- --package random
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Diagrams.Prelude
import Diagrams.Backend.Cairo.CmdLine
@silky
silky / BumpSound.hs
Created June 21, 2018 07:23
Script to bump sound using `amixer` from `alsa-utils`
#!/usr/bin/env stack
-- stack script --resolver lts-8.12
-- --package turtle
-- --package string-conv
-- Compile like:
-- > stack exec --package turtle --package string-conv -- ghc --make BumpSound.hs
{-# LANGUAGE OverloadedStrings #-}
@silky
silky / spectre.c
Created January 4, 2018 06:23 — forked from ErikAugust/spectre.c
Spectre example code
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#ifdef _MSC_VER
#include <intrin.h> /* for rdtscp and clflush */
#pragma optimize("gt",on)
#else
#include <x86intrin.h> /* for rdtscp and clflush */
#endif
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE ScopedTypeVariables #-}
import Language.Haskell.Interpreter
import Text.InterpolatedString.Perl6
import Control.Exception
import Control.Monad
import Data.Traversable
format :: Either InterpreterError Bool -> String
--Roughly based on https://github.com/Gabriel439/Haskell-Morte-Library/blob/master/src/Morte/Core.hs by Gabriel Gonzalez et al.
data Expr = Star | Box | Var Int | Lam Int Expr Expr | Pi Int Expr Expr | App Expr Expr deriving (Show, Eq)
subst v e (Var v') | v == v' = e
subst v e (Lam v' ta b ) | v == v' = Lam v' (subst v e ta) b
subst v e (Lam v' ta b ) = Lam v' (subst v e ta) (subst v e b )
subst v e (Pi v' ta tb) | v == v' = Pi v' (subst v e ta) tb
subst v e (Pi v' ta tb) = Pi v' (subst v e ta) (subst v e tb)
subst v e (App f a ) = App (subst v e f ) (subst v e a )
@silky
silky / char-rnn.hs
Created November 8, 2017 22:58 — forked from nurpax/char-rnn.hs
Some char-rnn generated Haskell based on training with the GHC HEAD source code
-- buildPatSynDetails, so this is a mempty, even the type
-- we generate the same location here.
hsConDeclDetails _ = pprPanic "tcLHsBindsCtOrigin" (ppr val_val_binds)
--------------------
zonkForeignCall :: FlexibleInfo -> CoreBind
-> Maybe FreeVars -- True <=> supplied EndBinds
-> RecFlag
-> Cts -> ForeignOpt Id
@silky
silky / lds.py
Created October 16, 2017 21:34 — forked from fcostin/lds.py
simple demo low disrepancy sequence -- Halton sequence in 2d using bases (2, 3)
from itertools import izip
def decompose(b, n):
k = 0
while n:
r = n % b
q = (n-r)/b
yield (r, k)
k += 1
n = q
import System.MIDI
import System.MIDI.Utility
import Control.Concurrent
import Control.Monad
import Data.Maybe
import Data.IORef
import Data.Tuple
import Data.Map hiding (filter, map)
import Prelude hiding (lookup, null)