Skip to content

Instantly share code, notes, and snippets.

package pw.ian.playground.cats
import cats._
import cats.implicits._
// runMain "pw.ian.playground.shapeless.KittensNullMonoid"
object NullTypeclass {
case class Moments(ct: Int)
implicit val momentsMonoid: Monoid[Moments] = Monoid[Moments]
package pw.ian.playground.shapeless
import cats._
import cats.implicits._
import cats.data.NonEmptyList
import cats.derived._, monoid._, legacy._
// runMain "pw.ian.playground.shapeless.KittensMonoidDerivation"
object KittensMonoidDerivation {
{"@timestamp":"2017-05-20T05:09:19.357+00:00","@version":1,"message":"error processing batch BR/7.8 (size 80)","logger_name":"asuna.nova.ingestor.Ingestor","thread_name":"ingestor-75","level":"WARN","level_value":30000,"stack_trace":"java.lang.NullPointerException: null
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:43)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:41)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:43)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:41)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:43)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:41)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:43)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:41)
\tat cats.derived.MkSemigroup$$anon$2.combine(semigroup.scala:43)
package io.asuna.cantor.model
/**
* A store supports read and write operations.
* Storage implementations should implement this.
*/
trait Store[K, V] extends Source[K, V] with Sink[K, V] {
/**
* Helper to treat this Store as a Source.
package io.asuna.cantor.model
import cats._, implicits._
import monix.eval.Task
import monix.cats._
/**
* A model that supports writes.
*/
trait Sink[K, V] {
package io.asuna.cantor.model
import monix.reactive.Observable
import monix.eval.Task
import cats._, implicits._
import monix.cats._
/**
* Something you can read from.
*/
syntax = "proto3";
package asuna.proto;
import "asuna/charon.proto";
import "asuna/enums.proto";
import "asuna/ids.proto";
import "asuna/rank.proto";
import "google/protobuf/timestamp.proto";

Keybase proof

I hereby claim:

  • I am macalinao on github.
  • I am ianm (https://keybase.io/ianm) on keybase.
  • I have a public key ASC3cwb1aGFrpzn2qfHIePPxb_2Cj7ou_o3oJEiWTcC9rQo

To claim this, I am signing this object:

Keybase proof

I hereby claim:

  • I am macalinao on github.
  • I am ianm (https://keybase.io/ianm) on keybase.
  • I have a public key ASC7WRDkUU1tTpVFoa_NQsQU0PLBB22-C8gCTD-2phPyAAo

To claim this, I am signing this object:

// Metrics stream
val metrics = PublishToOneSubject[String]()
// Metrics reporter
metrics.bufferTimed(10.seconds).foreach { vals =>
println("=== METRICS 10S ==")
vals.groupBy(identity).mapValues(_.length).foreach { case (str, ct) =>
println(s"${str}: ${ct} vals")
}
println("=== END METRICS ===")