Skip to content

Instantly share code, notes, and snippets.

@jrudolph
jrudolph / build-yugabyte-locally.md
Last active May 4, 2024 11:54
How to build yugabyte locally
{
"nodes": [
{"id": "n1", "group": 1},
{"id": "n2", "group": 1},
{"id": "n3", "group": 1},
{"id": "n4", "group": 1},
{"id": "n5", "group": 1},
{"id": "n6", "group": 1},
{"id": "n7", "group": 1}
],
@jrudolph
jrudolph / BetterTestOnly.scala
Last active October 23, 2019 08:05
sbt camel case and dot expanding testOnly see https://asciinema.org/a/276464?t=20 for a demo
// copy into project
import sbt._
import Keys._
import Def._
import sbt.Def
import sbt.Defaults.allTestGroupsTask
import sbt.Defaults.loadForParser
import sbt.Project.inConfig
import sbt.internal.util.complete.DefaultParsers
@jrudolph
jrudolph / SimpleQuicClientMain.scala
Last active February 20, 2020 16:45
"Simple" "Http/3" "client"
import java.math.BigInteger
import java.net.DatagramPacket
import java.net.DatagramSocket
import java.net.InetAddress
import java.security.KeyPairGenerator
import java.security.MessageDigest
import java.security.SecureRandom
import java.security.interfaces.ECPrivateKey
import java.security.interfaces.ECPublicKey
import java.security.spec.ECPoint
@jrudolph
jrudolph / JmhCompletion.scala
Created April 30, 2019 21:05
A smart sbt parser for the most used jmh parameters (copy to project dir and use jmh:runny)
package akka.sbt.jmh.completion
import java.io.FileInputStream
import java.util.Collections
import pl.project13.scala.sbt.SbtJmh.JmhKeys.Jmh
import sbt._
import Keys._
import org.openjdk.jmh.runner.BenchmarkList
import org.openjdk.jmh.runner.BenchmarkListEntry
@jrudolph
jrudolph / script.sh
Created October 11, 2018 09:39
Biometrisches Passfoto erstellen zum selbst Ausdrucken
# use persofoto.de to crop a foto to the right dimensions
# then use this script to lay it out on a 1600x2312 jpg to print as 9x13
montage mein-passfoto.jpg mein-passfoto.jpg mein-passfoto.jpg mein-passfoto.jpg -geometry 622x898+89+129 out.jpg
@jrudolph
jrudolph / THX.scala
Created September 8, 2018 11:04
8-bit THX Deep Note sound generation with Scala
import java.util.concurrent.ThreadLocalRandom
import javax.sound.sampled._
// Program to generate THX Deep Note sound according to the sheet music
// published to celebrate its 35th birthday
// https://twitter.com/THX/status/1000077588415447040
object THX extends App {
val sampleRate = 44100f
val af = new AudioFormat(
sampleRate,
@jrudolph
jrudolph / GraphStageOrGraphDSL.md
Created December 18, 2017 16:28
Should I use GraphStage or GraphDSL?

In general, performance differences are usually negligible as long as they don't turn up during benchmarking (you probably know what people say about premature optimization...).

So, it's mostly a matter of style. Writing a GraphStage is the lowest level you can implement something in akka-stream. It's very explicit and somewhat predictable what happens but the amount of code to write can be quite cumbersome and with a growing number of ports, managing the state space and all the possible interactions can be quite a challenge.

Wiring up predefined combinators using the GraphDSL is therefore often recommended. In the best case it's just "plug and play". On the other hand, it also introduces new degrees of freedom and non-determinism as elements flow

@jrudolph
jrudolph / CleanupImports.scala
Last active January 17, 2018 13:07
Cleanup Imports for sbt 1.0
/*
* Copyright (C) 2009-2017 Lightbend Inc. <http://www.lightbend.com>
*/
import sbt._
import Keys._
package sbt {
object Access {
def compilerReporter = sbt.Keys.compilerReporter
@jrudolph
jrudolph / analysis.txt
Last active April 6, 2021 16:54
Scala 2.13 Release Train
TargetVersion: Scala 2.13 LastVersion: Scala 2.12