Skip to content

Instantly share code, notes, and snippets.

Avatar
😘
Taking care of my daugther

Nepomuk Seiler muuki88

😘
Taking care of my daugther
View GitHub Profile
@muuki88
muuki88 / LogSearch.scala
Created Jul 28, 2013
Future Composition with Scala and Akka
View LogSearch.scala
import scala.concurrent._
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits._
import scala.util.{ Success, Failure }
import akka.actor._
import akka.pattern.{ after, ask, pipe }
import akka.util.Timeout
object LogSearch extends App {
@muuki88
muuki88 / jenkins-sbt.groovy
Created Nov 2, 2016
Jenkins 2.0 SBT build pipeline
View jenkins-sbt.groovy
node {
stage('Git') {
git 'https://github.com/muuki88/activator-play-cluster-sample.git'
}
stage('Build') {
def builds = [:]
builds['scala'] = {
// assumes you have the sbt plugin installed and created an sbt installation named 'sbt-0.13.13'
sh "${tool name: 'sbt-0.13.13', type: 'org.jvnet.hudson.plugins.SbtPluginBuilder$SbtInstallation'}/bin/sbt compile test"
}
@muuki88
muuki88 / KeyValueStore.serialization.ts
Created Sep 14, 2018
KeyValueStore Serialization
View KeyValueStore.serialization.ts
const deserializeBoolean = (value: string) => value === 'true';
const deserializeString = (value: string) => value;
const deserializeNumber = (value: string) => parseInt(value);
const serializeBoolean = (value: boolean) => value ? 'true' : 'false';
const serializeString = (value: string) => value;
const serializeNumber = (value: number) => number.toFixed();
/**
* Each key-value storage key needs a function to deserialize its string value
* from the database into its own type. Each type is specified in KeyValueStorage.
View KeyValueStore.v3.ts
type KeyValueStorage = {
'setting1': boolean;
'setting2': string;
'setting3': number;
};
/** all possible keys for the key-value storage */
type KeyValueStorageKey = keyof KeyValueStorage;
interface UserStorage {
@muuki88
muuki88 / KeyValueStore.v2.ts
Created Sep 14, 2018
KeyValue Storage - Typed Keys
View KeyValueStore.v2.ts
type UserStorageKey = 'setting1' | 'setting2' | 'setting3';
interface UserStorage {
/** set a value for a specific key */
set(key: UserStorageKey, value: string): void;
/** get the value for a specific key. If not present return null*/
get(key: UserStorageKey): string | null;
}
@muuki88
muuki88 / KeyValueStore.v1.ts
Created Sep 14, 2018
KeyValue Storage - Untyped
View KeyValueStore.v1.ts
interface UserStorage {
/** set a value for a specific key */
set(key: string, value: string): void;
/** get the value for a specific key. If not present return null*/
get(key: string): string | null;
}
@muuki88
muuki88 / gist:3378004
Created Aug 17, 2012
Tycho JGit Timestamp builder
View gist:3378004
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho.version}</version>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho.version}</version>
View keybase.md

Keybase proof

I hereby claim:

  • I am muuki88 on github.
  • I am muki (https://keybase.io/muki) on keybase.
  • I have a public key whose fingerprint is ADDD 9B3B 0F47 EAD3 6D9B C1B9 59B7 C730 340E 30A7

To claim this, I am signing this object:

View WeatherApi.scala
package net.gutefrage
import com.twitter.finagle._
import com.twitter.finagle.http.service.HttpResponseClassifier
import com.twitter.server.TwitterServer
import com.twitter.util.Await
import io.finch._
import io.finch.circe._
import io.circe.generic.auto._
import net.gutefrage.temperature.thrift._
View WeatherApiContext.scala
// user endpoint which sets a UserContext
val userMean: Endpoint[MeanForUser] = get("weather" / "mean" / "user" :: long) { userId: Long =>
val userContext = UserContext(userId)
Contexts.broadcast.let(UserContext, userContext) {
client.mean().map(mean => Ok(MeanForUser(mean, userId)))
}
}