Skip to content

Instantly share code, notes, and snippets.

View oluies's full-sized avatar

Örjan Lundberg oluies

  • Sweden
  • 10:44 (UTC +02:00)
  • X @oluies
View GitHub Profile
@seanparsons
seanparsons / gist:812488
Created February 5, 2011 14:30
Local Map-Reduce in less than 60 lines of code.
import java.util.concurrent.atomic.AtomicInteger
import akka.actor._
import akka.actor.Actor._
import akka.dispatch.Future
case class Reduce(val size: Int)
case class MappingDetail[T](val item: T, val reducer: ActorRef)
class MapperActor[T, U](val mapping: (T) => U) extends Actor {
object Unless {
def unless[T](test:Boolean)(code: => T) = { if (!test) code }
}
import Unless._
unless(seq.isEmpty) {
println("We gots us some stuff!")
}
@viktorklang
viktorklang / CQRS_ES_Actor.scala
Created February 1, 2011 15:05
CQRS and EventSourcing using Akka Actors
import scala.collection.mutable.ListBuffer
import akka.actor.{Actor,ActorRef}
import akka.actor.Actor._
import akka.routing.{ Listeners, Listen }
//Represents a domain event
trait Event
//A builder to create domain entities
trait EntityBuilder[Entity] {
@kkung
kkung / parser.scala
Created January 19, 2011 04:57
poor irc packet parser in scala
import scala.util.parsing.combinator._
class IrcParser extends RegexParsers {
/*
RFC1459 2.3.1 Message format in 'pseudo' BNF
<message> ::= [':' <prefix> <SPACE> ] <command> <params> <crlf>
@buka
buka / fboauthakka.scala
Created December 30, 2010 05:28
Connecting Facebook OAuth with Akka REST...
/**
* Garrick Evans
* 29 Dec 2010
*/
import akka.http._
import akka.actor._
import net.smartam.leeloo.client._
import net.smartam.leeloo.client.request.OAuthClientRequest
import net.smartam.leeloo.client.response. {OAuthAuthzResponse, GitHubTokenResponse}
scala> import net.debasishg.domain.trade.dsl._
import net.debasishg.domain.trade.dsl._
scala> import Trades._
import Trades._
scala> import scalaz._
import scalaz._
scala> import Scalaz._
@ueshin
ueshin / WordCount.scala
Created December 14, 2010 15:21
MapReduce in Scala
object WordCount {
def main(args: Array[String]) {
import mapreduce._
import _root_.scala.io.Source
def textInputFormat(lines: Iterator[String], offset: Long = 0): Stream[(Long, String)] = {
if(lines.hasNext) {
val line = lines.next
@etorreborre
etorreborre / gist:730097
Created December 6, 2010 10:17
An implicit pearl in Scala
/**
* An answer from Jason Zaugg on the scala-internals mailing list
*
* Implicit parameters can have defaults.
*/
scala> implicit def OptionalImplicit[A <: AnyRef](implicit a: A = null) = Option(a)
OptionalImplicit: [A <: AnyRef](implicit a: A)Option[A]
scala> implicitly[Option[Ordering[Int]]]
@debasishg
debasishg / gist:729080
Created December 5, 2010 13:32
ascii artwork for arrows
// joining of 2 arrows
(>>>) :: arr a b -> arr b c -> arr a c
(>>>)
a -- (f) --> b -- (g) --> c
// works on pairs
// f: a -> b
// g: a -> c
scala> val l = List(1,2,3)
l: List[Int] = List(1, 2, 3)
// pattern matching
scala> l match {
| case s if s.forall(even(_)) => Some(l)
| case _ => None
| }
res37: Option[List[Int]] = None