Skip to content

Instantly share code, notes, and snippets.

View nponeccop's full-sized avatar

nponeccop

  • Barcelona, Spain
  • 15:40 (UTC +03:00)
View GitHub Profile
@nponeccop
nponeccop / ss-load.js
Created March 13, 2012 15:33
Proof of concept SocketStream load test
var io = require('socket.io-client')
var count = 0
function makeClient()
{
var socket = new io.Socket({
handshakeHeaders : { Cookie: 'connect.sid=XM77nAGuFBKumz6EtcK3buNN.RaRD21zOWZnwYNdX1QhQszvyT8K4uQHl1Qz2mNPv6kc' }
, host : 'localhost'
@nponeccop
nponeccop / api-naive.cpp
Last active December 12, 2015 02:59
File writing benchmark
#include <windows.h>
HANDLE f;
void my_open(char *fileName)
{
f = CreateFile(
fileName,
GENERIC_WRITE,
0,
@nponeccop
nponeccop / Foo.hs
Last active December 20, 2015 23:59
Reproduction of EclipseFP issue #135
foo = let
bar = 5
in case True of
True -> 1
@nponeccop
nponeccop / gist:6322227
Last active December 21, 2015 14:49
Hylomorphism example
{-# LANGUAGE DeriveFunctor #-}
import Data.Functor.Foldable
import qualified Data.Set as S
data Solve a x = Conquer a | Bottom | Divide x x deriving (Functor)
data Problem = Solution [Int] | Problem [([Int], S.Set Int)]
g n m = hylo phi psi $ Problem [([i], S.singleton i) | i <- [1..n-1]] where
psi (Solution is) = Conquer is
@nponeccop
nponeccop / upstream-cblrepo.sh
Created January 1, 2015 14:24
An extended diff with upstream cblrepo.db
#!/bin/bash
function list ()
{
cblrepo --db $1/cblrepo.db list $2 $3 | awk 'BEGIN{OFS="\t"}; { match($2, /(.*)-(.*)/, a);$2=a[1];$3=a[2]; print $1, $2, $3 };'
}
function mkjoin()
{
join <(list . $2 $3) <(list upstream-repos/$1)
@nponeccop
nponeccop / hoopl-boilerplate.hs
Created June 28, 2015 18:34
A minimal HOOPL example
{-# LANGUAGE GADTs, NoMonomorphismRestriction, StandaloneDeriving, Rank2Types #-}
import Compiler.Hoopl
import Prelude hiding ((<*>))
data Node e x where
Entry :: Label -> Node C O
Exit :: [Label] -> Node O C
instance NonLocal Node where
@nponeccop
nponeccop / superlist.cpp
Created July 26, 2015 17:00
List of subclasses without default of copy constructors with 1 allocation per node
#include <new>
template <typename T>
struct cons
{
cons<T> *next;
char fake;
};
class evil
{
@nponeccop
nponeccop / Unfold.hs
Created August 16, 2015 01:22
Unfolds, coalgebras and anamorphisms
{-# LANGUAGE DeriveFunctor #-}
import Data.Functor.Foldable
import Data.Function
unfold1 :: Unfold Int [Int]
unfold1 = xana coalgebra1
xana :: Unfoldable b => Coalgebra a b -> Unfold a b
xana = ana
@nponeccop
nponeccop / commands.md
Last active January 12, 2016 17:10
Proposed Components

Minimal Cloud Management Interface

We assume it's for OpenVZ scenario, so chroot isolation level is used.

The images are self-contained - they include enough metadata for starting and configuration. No incremental imaging and persistence are necessary for a minimal production-ready run. Stopping can delete the chroot as well, and packed images can be deleted just after unpacking.

No provision for per-deployment configuration is required for initial operations. If the same image is to be deployed with slightly different configurations, many different images should be prepared instead.

A rate-limited infinite auto-restart is a reasonable default that is enough for initial production operations.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.