Skip to content

Instantly share code, notes, and snippets.

View rocketpages's full-sized avatar

Kevin Webber rocketpages

View GitHub Profile
public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {}
public interface Publisher<T> {
public void subscribe(Subscriber<? super T> s);
}
public interface Subscriber<T> {
public void onSubscribe(Subscription s);
public void onNext(T t);
public void onError(Throwable t);
in ~> f1 ~> bcast ~> f2 ~> merge ~> f3 ~> out
bcast ~> f4 ~> merge
object GraphExample {
import akka.actor.ActorSystem
import akka.stream.ActorMaterializer
import akka.stream.scaladsl._
import FlowGraph.Implicits._
import scala.util.{ Failure, Success }
import scala.concurrent.ExecutionContext.Implicits._
implicit val system = ActorSystem("Sys")
implicit val materializer = ActorMaterializer()
@rocketpages
rocketpages / keybase.md
Created July 26, 2014 23:44
keybase.md

Keybase proof

I hereby claim:

  • I am rocketpages on github.
  • I am kvnwbbr (https://keybase.io/kvnwbbr) on keybase.
  • I have a public key whose fingerprint is A584 324C 87CD 0C37 2CB1 FB51 1799 9823 161C B8E8

To claim this, I am signing this object:

@rocketpages
rocketpages / gist:6050358
Last active December 20, 2015 01:39
Very naive and simple example of filtering out conflicting appointments based on availabilities for an appointment scheduler.
def getAvailabilities(date: Date, length: String): Seq[AvailableTime] = {
val at = AvailableTime(None, new Date(System.currentTimeMillis()), "10", "30")
val at2 = AvailableTime(None, new Date(System.currentTimeMillis()), "10", "45")
val at3 = AvailableTime(None, new Date(System.currentTimeMillis()), "11", "15")
val at4 = AvailableTime(None, new Date(System.currentTimeMillis()), "14", "30")
val at5 = AvailableTime(None, new Date(System.currentTimeMillis()), "15", "45")
val at6 = AvailableTime(None, new Date(System.currentTimeMillis()), "16", "15")
val at7 = AvailableTime(None, new Date(System.currentTimeMillis()), "17", "30")
val times = Seq(at, at2, at3, at4, at5, at6, at7)
@rocketpages
rocketpages / gist:6050355
Created July 21, 2013 23:08
A crude appointment scheduling conflict system
def getAvailabilities(date: Date, length: String): Seq[AvailableTime] = {
val at = AvailableTime(None, new Date(System.currentTimeMillis()), "10", "30")
val at2 = AvailableTime(None, new Date(System.currentTimeMillis()), "10", "45")
val at3 = AvailableTime(None, new Date(System.currentTimeMillis()), "11", "15")
val at4 = AvailableTime(None, new Date(System.currentTimeMillis()), "14", "30")
val at5 = AvailableTime(None, new Date(System.currentTimeMillis()), "15", "45")
val at6 = AvailableTime(None, new Date(System.currentTimeMillis()), "16", "15")
val at7 = AvailableTime(None, new Date(System.currentTimeMillis()), "17", "30")
val times = Seq(at, at2, at3, at4, at5, at6, at7)
@rocketpages
rocketpages / gist:6050354
Created July 21, 2013 23:07
A crude appointment scheduling conflict finder
def getAvailabilities(date: Date, length: String): Seq[AvailableTime] = {
val at = AvailableTime(None, new Date(System.currentTimeMillis()), "10", "30")
val at2 = AvailableTime(None, new Date(System.currentTimeMillis()), "10", "45")
val at3 = AvailableTime(None, new Date(System.currentTimeMillis()), "11", "15")
val at4 = AvailableTime(None, new Date(System.currentTimeMillis()), "14", "30")
val at5 = AvailableTime(None, new Date(System.currentTimeMillis()), "15", "45")
val at6 = AvailableTime(None, new Date(System.currentTimeMillis()), "16", "15")
val at7 = AvailableTime(None, new Date(System.currentTimeMillis()), "17", "30")
val times = Seq(at, at2, at3, at4, at5, at6, at7)
@rocketpages
rocketpages / gist:3784907
Created September 25, 2012 22:40
An example of heterogeneous collections using the Visitor pattern
public class App
{
public static void main(String[] args)
{
// The main collection
Collection<Visitable> visitables = new ArrayList<Visitable>();
visitables.add(new VisitableInteger(5));
visitables.add(new VisitableString("Kevin"));
visitables.add(new VisitableInteger(17));