Skip to content

Instantly share code, notes, and snippets.

View retroryan's full-sized avatar

Ryan Knight retroryan

  • Park City, Utah
View GitHub Profile
View NumService.scala
import zhttp.service.{ChannelFactory, Client, EventLoopGroup}
import zio.{Tag, ZEnvironment, ZIO, ZLayer}
trait NumService:
val get: ZIO[Any, Throwable, Int]
final case class NumServiceLive(c: ChannelFactory, e: EventLoopGroup) extends NumService:
val url = ""
val get: ZIO[Any, Throwable, Int] =
val request =
retroryan / gist:7448032411c415330cc5fd81ff549b3b
Last active July 13, 2018 07:09
Event-Sourcing with FaunaDB
View gist:7448032411c415330cc5fd81ff549b3b
#create class
CreateClass({ name: "ledger" })
#create index
source: Class("ledger"),
terms: [{ field: ["data", "clientId"] }],
values: [{ field: ["data", "counter"] }],
retroryan / gist:faa2ad045242c2617f72021bf72a864b
Last active July 13, 2018 06:43
Introduction to Fauna Shell
View gist:faa2ad045242c2617f72021bf72a864b
#Create a Class
CreateClass({ name: "orders" })
#Create an Index
name: "orders_index",
source: Class("orders"),
values: [{ field: ["data", "orderId"], reverse:true }, { field: ["ref"] }],
serialized: true
View bch

Keybase proof

I hereby claim:

  • I am retroryan on github.
  • I am binaryknight ( on keybase.
  • I have a public key ASD4qP7q58L0A88jrHOloskDr5ixa3CT77MWpbiEtxO5Cwo

To claim this, I am signing this object:

View CoffeeHouse Decider
override val supervisorStrategy: SupervisorStrategy = {
val decider: SupervisorStrategy.Decider = {
case Guest.CaffeineException =>
case Waiter.FrustratedException(coffee, guest) =>
barista.tell(Barista.PrepareCoffee(coffee, guest), sender())
OneForOneStrategy()(decider orElse super.supervisorStrategy.decider)
View QueryType
sealed abstract class QueryType[T] {
val data: T
case class IntQueryType(data: Int) extends QueryType[Int] with Ordered[IntQueryType] {
def compare(that: IntQueryType): Int = -
case class StringQueryType(data: String) extends QueryType[String] with Ordered[StringQueryType] {
def compare(that:StringQueryType):Int =
retroryan / spark streaming windowing.scala
Created November 2, 2015 17:54
spark streaming windowing example
View spark streaming windowing.scala
import org.apache.spark.streaming.kafka.KafkaUtils
import org.apache.spark.streaming.Time
import kafka.serializer.StringDecoder
import org.joda.time.DateTime
import org.apache.spark.sql.SaveMode
import sqlContext.implicits._
val ratingsStream = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topics)
val msgs = ratingsStream.transform {
View atoi.scala
import scala.annotation.tailrec
def atoi(chList:List[String]):Int = {
def atoiAccumulator(chList: List[String], accumulator: Int): Int = chList match {
case Nil => accumulator
case head :: tail =>
val tensMult = scala.math.pow(10, tail.length).toInt
val nxtAccumulator = (head.toInt * tensMult) + accumulator
View DseSparkContextFactory
class DseSparkContextFactory extends SparkContextFactory {
import SparkJobUtils._
type C = SparkContext with ContextLike
def makeContext(config: Config, contextConfig: Config, contextName: String): C = {
val conf = configToSparkConf(config, contextConfig, contextName)
val sparkMaster = "dsetool sparkmaster".!!.trim