Skip to content

Instantly share code, notes, and snippets.

@JosephMoniz
JosephMoniz / test
Created December 5, 2011 20:39
test
test
net = require "net"
hashring = require "hashring"
zkplus = require "zkplus"
bouncy = require "bouncy"
{_} = require "UnderscoreKit"
ring = new hashring()
client = zkplus.createClient
servers: [{
@JosephMoniz
JosephMoniz / hn.hs
Created January 20, 2013 19:06
Hacker news reader from the command line
import Network.HTTP
import Text.HTML.TagSoup
import System
import System.Process
import Control.Monad
import IO
hackerNewsRSSFeedURL = "http://news.ycombinator.com/rss"
fileURLCache = ".hnCache"
package com.plasmaconduit.pipelines
sealed trait Pipeline[E, A] {
def map[B](f: A => A): Pipeline[E, A] = this match {
case Continue(n) => Continue(f(n))
case Done(n) => Done(n)
case Error(e) => Error(e)
}
@JosephMoniz
JosephMoniz / trait.js
Created December 28, 2013 21:38
js interfaces + services + decorators
var trait = require("../../util/trait");
module.exports = trait("UserServiceInterface", [
"createUser",
"createUserFromForm",
"getUserByEmail",
"authenticateUser",
"authenticateUserFromForm",
"isUserAdmin"
]);
@JosephMoniz
JosephMoniz / main.php
Last active January 3, 2016 23:19
Purely functional event loop in php because why not?
<?php
$loop = PureLoop::loop();
$ticked = $loop->flatMap(function(PureLoop $loop) {
return $loop->nextTick(function(PureLoop $loop) {
return StdIO::putStrLn("Hello from tick")->then(IO::of($loop));
});
});
$timed = $ticked->flatMap(function(PureLoop $loop) {
@JosephMoniz
JosephMoniz / HttpParser.scala
Last active August 29, 2015 13:55
Scala combinatorial http parser
package com.blackboxsociety.http
import scala.util.parsing.combinator._
sealed trait HttpMethod
case object HttpGet extends HttpMethod
case object HttpHead extends HttpMethod
case object HttpPost extends HttpMethod
case object HttpPut extends HttpMethod
case object HttpDelete extends HttpMethod
@JosephMoniz
JosephMoniz / future.scala
Created February 2, 2014 05:26
Y U NO TRAMPOLINE
import scalaz._
import scalaz.concurrent._
import Future._
object Main {
def lamePrint(s: String): Future[Unit] = async { next =>
println(s)
next()
}
<?hh // strict
namespace traitorous;
use traitorous\algebraic\Applicative;
use traitorous\algebraic\Functor;
use traitorous\algebraic\Monad;
use traitorous\algebraic\MonadOps;
final class IO<T> implements Functor<T>, Applicative<T>, Monad<T> {
@JosephMoniz
JosephMoniz / Build.scala
Created May 2, 2015 16:49
Install plasmaconduit
resolvers += "Plasma Conduit Repository" at "http://dl.bintray.com/plasmaconduit/releases",
libraryDependencies += "com.plasmaconduit" %% "plasmaconduit-framework" % "0.50.0"