Skip to content

Instantly share code, notes, and snippets.

View ASRagab's full-sized avatar
👨‍💻

Ahmad Ragab ASRagab

👨‍💻
View GitHub Profile
@ASRagab
ASRagab / ConnectionLevel.scala
Created February 24, 2016 00:45
Simple Connection Level Akka Http Example
package httpclient
import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import akka.http.scaladsl.model.StatusCodes._
import akka.http.scaladsl.model.{HttpRequest, HttpResponse}
import akka.http.scaladsl.unmarshalling.Unmarshal
import akka.stream.ActorMaterializer
import akka.stream.scaladsl._
@ASRagab
ASRagab / build.sbt
Last active February 22, 2016 02:48
Sample build.sbt for cross compiled scala.js project with scalatest
name := "scalajs root project"
scalaVersion := "2.11.7"
lazy val root = project.in(file(".")).
aggregate(crossedJVM, crossedJS).
settings(
publish := {},
publishLocal := {}
)
trait Database[S, T] {
def objectsFrom[U <: Option[Seq[S]]](action: U)(implicit toDTO: S => T) : Option[Seq[T]] = {
action match {
case Some(result) => Some(result.map(toDTO))
case None => Some(Seq.empty)
}
}
def rowsFrom[V <: Option[Seq[T]]](action: V)(implicit toDAO: T => S) : Option[Seq[S]] = {
@ASRagab
ASRagab / BerkeleyData.scala
Created November 15, 2015 05:35
Apache Flink Local: Berkeley Data and the Simpson Paradox
import org.apache.flink.api.scala._
object BerkeleyData {
def main(args: Array[String]) {
val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment
val path = "/path/to/Berkeley.csv"
case class Admission(status: String, gender: String, dept: String, number: Double = 0.0)
val data = env.readCsvFile[Admission](
@ASRagab
ASRagab / gist:5938686
Created July 6, 2013 04:54
Processing Gist which draws a Bubble Chart..manually or as manually as one gets in Processing
Company[] companies;
PFont font;
void setup()
{
String[] company = loadStrings("Testdata.csv");
size(800,800);
background(255);
noStroke();
smooth();