Instantly share code, notes, and snippets.

# Jeff Fosterfffej

• Sort options
Created Jul 21, 2014
DynamicTimeWarpingWin.hs
View DynamicTimeWarpingWin.hs
 dtwWin :: V.Vector a -> V.Vector a -> (a -> a -> Int) -> Int -> Array (Int,Int) Int dtwWin x y cost window = runSTArray \$ do let n = V.length x m = V.length y maxCost = maxBound w = max window (abs (n - m)) -- constrain window size d <- newArray ((0,0),(m,n)) maxCost writeArray d (0,0) 0 forM_ [1..n] \$ \i -> forM_ [max 1 (i-w) .. min m (i+w)] \$ \j -> do
Created Jul 21, 2014
DynamicTimeWarping
View DynamicTimeWarping.hs
 dtw :: V.Vector a -> V.Vector a -> (a -> a -> Int) -> Array (Int,Int) Int dtw x y cost = runSTArray \$ do let n = V.length x m = V.length y maxcost = maxBound d <- newArray ((0,0),(m,n)) 0 forM_ [1..n] (\i -> writeArray d (0,i) maxcost) forM_ [1..m] (\i -> writeArray d (i,0) maxcost) forM_ [1..n] \$ \i -> forM_ [1..m] \$ \j -> do
Created Jul 14, 2014
Stable Marriage Problem
View StableMarriageProblem.hs
 import Data.List import Data.Maybe stableMatch :: (Eq m, Eq w) => [(m,[w])] -> [(w,[m])] -> [(m,w)] stableMatch ms ws = stableMatch' [] where stableMatch' ps = case unmarried ms ps of Just unmarriedMan -> stableMatch' (findMatch unmarriedMan ws ps) Nothing -> ps
Created Jul 22, 2013
View gist:6053800
 @mixin border { border: 1px solid #333; } article.post { background: #eee; @include border; } ul.menu { background: #ccc; @include border;
Created Apr 19, 2013
View gist:5419140
 private LiveDatabase RefreshLiveDatabase(LiveDatabase source, int whichDatabase) { source.Cleanup(); var original = whichDatabase == 1 ? m_DB1Original : m_DB2Original; return original.ToLive(); }
Created Nov 23, 2012
WWII Pigeon Message
View gist:4135446
 AOAKN HVPKD FNFJW YIDDC RQXSR DJHFP GOVFN MIAPX PABUZ WYYNP CMPNW HJRZH NLXKG MEMKK ONOIB AKEEQ WAOTA RBQRH DJOFM TPZEH LKXGH RGGHT JRZCQ FNKTQ KLDTS FQIRW AOAKN 27 1525/6
Created Oct 17, 2012
Best first search for factors and multiples
View FactorsAndMultiples.hs
 module FactorsAndMultiples where import Data.List import Data.Ord (comparing) isFom :: Int -> Int -> Bool isFom x y = x `mod` y == 0 || y `mod` x == 0 isSequenceValid :: [Int] -> Bool isSequenceValid [] = True
Created Jul 12, 2012
Expressions
View expressions.java
 public interface Expression { int evaluate(); } public class Constant implements Expression { private final int value; Constant(int value) { this.value = value; } public int evaluate() { return value; }
Created Jul 12, 2012
Top level.
View terribleTest.java
 @Test public void test() { Environment env = new Environment(); env.register(assign(\$("a"), plus(\$("b"), \$("c")))); env.register(assign(\$("c"), multiply(\$(2), \$("d")))); env.register(assign(\$("b"), \$(3))); env.register(assign(\$("d"), \$(2))); Assert.assertThat(env.valueOf(\$("a")), equalTo(7));
Created Jun 29, 2012
Sensible Not CensorShip
View SensibleNotCensorShip.html
 The responsibility for controlling a child's access to the Internet should lie with the parents, not with a central Government authority.
You can’t perform that action at this time.