Skip to content

Instantly share code, notes, and snippets.

@nc6
nc6 / Foreign.chs
Created February 13, 2014 16:07
Bindings to ioctl for setting/getting window size.
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE EmptyDataDecls #-}
#include <sys/ttycom.h>
#include <sys/ioctl.h>
#c
typedef struct winsize winsize;
#endc
@nc6
nc6 / demo.html
Last active August 29, 2015 13:57
Smith Waterman Demo
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Smith-Waterman Demo</title>
</head>
<body>
<form>
<label for="word1">Word 1</label>
<input name="word1" id="word1" value="ACACACTA" />
@nc6
nc6 / hdup.hs
Created July 2, 2014 12:34
Test of behaviour using hDuplicateTo on multiple threads.
import GHC.IO.Handle
import Control.Concurrent (forkIO, forkOS, threadDelay)
import System.Directory (createDirectoryIfMissing)
import System.Environment
import System.IO
main ::IO ()
main = do
putStrLn "Writing to stdout"
mapM_ (createDirectoryIfMissing True) ["output_io", "output_os"]
@nc6
nc6 / Main.hs
Last active August 29, 2015 14:06
CNDF Maze-exploring challenge
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Lens
import Control.Monad (when)
import Data.ByteString.Char8 (ByteString)
import qualified Data.ByteString.Char8 as BS
import Data.ByteString.Lazy.Char8 (toStrict)
import Data.Char (toLower)
@nc6
nc6 / typeable.hs
Last active August 29, 2015 14:06
Problems with ConstraintKinds and Typeable
{-# LANGUAGE ConstraintKinds, GADTs #-}
{-# LANGUAGE DataKinds, PolyKinds, AutoDeriveTypeable #-}
{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}
import Data.Proxy
import Data.Typeable
data Foo (p :: (*, *))
data Dict ctx where
### Keybase proof
I hereby claim:
* I am nc6 on github.
* I am nclarke (https://keybase.io/nclarke) on keybase.
* I have a public key whose fingerprint is 2D84 857B 3ECB A75B 2CCE 0205 8EE7 C3E6 6B79 6305
To claim this, I am signing this object:
@nc6
nc6 / Main.hs
Created December 19, 2014 12:10
dumpNodeStats bug report.
{-# LANGUAGE LambdaCase #-}
module Main where
import Control.Applicative
import Control.Distributed.Process
import Control.Distributed.Process.Node
import qualified Network.Transport.TCP as TCP
@nc6
nc6 / Indent rules.tmPreferences
Last active December 13, 2015 21:29
Slightly modified preferences for OCaml indentation in Sublime Text 2.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Indent rules</string>
<key>scope</key>
<string>source.ocaml</string>
<key>settings</key>
<dict>
@nc6
nc6 / patchHardlinks.sh
Last active December 14, 2015 02:29
CVMFS doesn't allow for hardlink groups that exist outside of a single directory. As such, we need to convert any of these into symbolic links before trying to publish a repository. This script sorts that out.
@nc6
nc6 / app.models.dao.ParameterTypeDO.scala
Created April 25, 2013 08:58
Demonstration of the issue in playframework/play-slick#48. Results in an error: 'ReflectError: value ParameterTypes is not a package' during Slick DDL generation.
package models.dao
import play.api.db.slick.Config.driver.simple._
/**
* A parameter to a role type.
*/
private[models] case class ParameterTypeDO(id: Long, name: String, description: Option[String])
private[models] class ParameterTypes extends Table[ParameterTypeDO]("PARAMETER_TYPES") with StandardQueries[ParameterTypeDO] {