Skip to content

Instantly share code, notes, and snippets.

@majk-p
majk-p / iomain.scala
Last active May 28, 2024 07:44
Reproduce issue with non-daemon threads spawned by datadog agent
//> using dep "com.datadoghq:dd-trace-api:1.34.0"
//> using dep "org.typelevel::cats-effect:3.5.4"
import datadog.trace.api.civisibility.*
import cats.effect.*
object HelloIOApp extends IOApp.Simple {
val run = IO.delay {
println("Hello!")
@majk-p
majk-p / main.scala
Last active May 27, 2024 14:11
Reproduce issues with Datadog agent not stoping when using manual testing api
//> using dep "com.squareup.okhttp3:okhttp:4.12.0"
//> using dep "com.datadoghq:dd-trace-api:1.34.0"
import okhttp3.*
import datadog.trace.api.civisibility.*
object HelloApp extends App {
println("Hello!")
val testSession =
CIVisibility.startSession("my-project-name", "my-test-framework", null)
@majk-p
majk-p / aws.scala
Last active January 10, 2024 08:47
Reproduction of bug where using AT_TIMESTAMP kinesis iterator breaks Localstack
import cats.effect.IO
import cats.Endo
import cats.implicits.*
import io.laserdisc.pure.kinesis.tagless.KinesisAsyncClientOp
import software.amazon.awssdk.core.async.AsyncRequestBody
import software.amazon.awssdk.services.kinesis.model.GetRecordsRequest
import software.amazon.awssdk.services.kinesis.model.GetShardIteratorRequest
import software.amazon.awssdk.services.kinesis.model.ListShardsRequest
import software.amazon.awssdk.services.kinesis.model.ShardIteratorType
@majk-p
majk-p / weaver.test.scala
Created December 15, 2023 14:03
Workaround for "Scala211 doesn't support inline modifiers" when printing scala meta tree and weaver
//> using scala "2"
//> using dep "org.scalameta::scalameta:4.8.14"
//> using test.dep "com.disneystreaming::weaver-cats:0.8.3"
//> using testFramework "weaver.framework.CatsEffect"
import cats.Eq
import cats.Show
import weaver._
import scala.meta._
@majk-p
majk-p / weaver-scala-meta.test.scala
Created December 15, 2023 12:24
Reproduction example of "Scala211 doesn't support inline modifiers" when printing scala meta tree and weaver
//> using scala "2"
//> using dep "org.scalameta::scalameta:4.8.14"
//> using test.dep "com.disneystreaming::weaver-cats:0.8.3"
//> using testFramework "weaver.framework.CatsEffect"
import scala.meta._
import scala.meta.contrib._
import scala.meta.dialects.Scala3
import weaver._
@majk-p
majk-p / main.scala
Created December 15, 2023 11:35
Reproduction example of "Scala211 doesn't support inline modifiers" when printing scala meta tree
//> using scala "2"
//> using dep "org.scalameta::scalameta:4.8.14"
import scala.meta._
import scala.meta.dialects.Scala3
object Codegen {
def codeWithInline =
source"""
object Generated {
@majk-p
majk-p / optics.sc
Created July 11, 2023 21:29
Introduction to Optics
//> using scala "3.3.0"
//> using dep "dev.optics::monocle-core:3.2.0"
//> using dep "dev.optics::monocle-macro:3.2.0"
import monocle.syntax.all._
case class Product(id: String, name: String, price: Double)
case class Shelf(id: String, product: Product)
case class Display(id: String, kind: "Ambient" | "Chilled", shelves: List[Shelf] )
case class Alley(id: String, displays: List[Display])
@majk-p
majk-p / error.scala
Created July 3, 2023 08:38
MatchError: null with endpoint output initialized after endpoint definition - http4s server interpreter
//> using scala "3.3.0"
//> using dep "org.typelevel::cats-effect:3.5.1"
//> using dep "com.softwaremill.sttp.tapir::tapir-core:1.6.0"
//> using dep "com.softwaremill.sttp.tapir::tapir-cats:1.6.0"
//> using dep "com.softwaremill.sttp.tapir::tapir-http4s-server:1.6.0"
//> using dep "com.softwaremill.sttp.tapir::tapir-swagger-ui-bundle:1.6.0"
//> using dep "org.http4s::http4s-ember-server:0.23.22"
//> using dep "org.slf4j:slf4j-simple:1.7.36"
import cats.effect.ExitCode
@majk-p
majk-p / error.scala
Last active July 3, 2023 08:38
MatchError: null with endpoint output initialized after endpoint definition - swagger interpreter
//> using scala "3.3.0"
//> using dep "org.typelevel::cats-effect:3.5.1"
//> using dep "com.softwaremill.sttp.tapir::tapir-core:1.6.0"
//> using dep "com.softwaremill.sttp.tapir::tapir-cats:1.6.0"
//> using dep "com.softwaremill.sttp.tapir::tapir-swagger-ui-bundle:1.6.0"
import cats.effect.ExitCode
import cats.effect.IO
import cats.effect.IOApp
@majk-p
majk-p / derive-show.scala
Last active April 23, 2023 20:26
Scala-cli script to demostrate Show typeclass derivation with kittens
//> using dep "org.typelevel::kittens:3.0.0"
//> using dep "org.typelevel::cats-core:2.9.0"
import cats.Show
import cats.implicits.given
import cats.derived.*
case class Person(name: String, surname: String, age: Int)
given Show[Person] = semiauto.show