Skip to content

Instantly share code, notes, and snippets.

@Mortimerp9
Mortimerp9 / TimeTable.scala
Created January 30, 2014 00:36
Store twitter Time in Slick 2 tables.
import scala.slick.driver....simple._
import com.twitter.util.Time
class TimeTable(tag: Tag) extends Table[(Int, Time)](tag, "timetable") {
implicit val twitterTimeMap = MappedColumnType.base[Time, Long](
{ time => time.inMillis },
{ millis => Time.fromMilliseconds(millis) }
)
@Mortimerp9
Mortimerp9 / HelloAkka.scala
Created January 31, 2014 11:48
TypedActorRef for akka using unboxed tagged types. This does not type the messages, it only allows you to require a particular type of actor when taking `ActorRef` as parameter. This is useful when you are passing actors reference around and you are sure of the implementation type of this actor. It makes reading complex Akka code a bit easier, b…
//Hello world from https://github.com/typesafehub/activator-hello-akka
import TypedActorRef._
import akka.actor.{ActorRef, ActorSystem, Props, Actor}
import akka.pattern.ask
import akka.util.Timeout
import scala.concurrent.duration._
val system = ActorSystem("helloakka")
@Mortimerp9
Mortimerp9 / gist:9097361
Created February 19, 2014 17:46
(_<o.O) java cat.
public class Bar {
class O {
int O = 0;
}
int _ = 10;
O o = new O();
Boolean foo = (_<o.O);
@Mortimerp9
Mortimerp9 / keybase.md
Created March 18, 2014 13:05
Keybase proof

Keybase proof

I hereby claim:

  • I am Mortimerp9 on github.
  • I am mortimer (https://keybase.io/mortimer) on keybase.
  • I have a public key whose fingerprint is 67A4 6F85 0705 0682 E304 956F B74C 491C 79F0 062D

To claim this, I am signing this object:

class MyArgs extends FieldArgs with ConfigArgs {
override val configPrefix = "com.example.config"
@Required
var env: String = "dev"
var timeout: Option[Duration] = None
@Required
var db1: SQLArgs = new SQLArgs {}
@Required
var db2: SQLArgs = new SQLArgs {}
import com.quantifind.sumac.FieldArgs
class HelloArgs extends FieldArgs {
var message: String = "world"
}
import com.quantifind.sumac.ArgMain
object HelloMain extends ArgMain[HelloArgs] {
def main(args: HelloArgs) {
println(s"Hello ${args.message}")
}
}
import com.quantifind.sumac.{FieldArgs, ArgMain}
class RangeArgs extends FieldArgs {
var from: Int = 0
var to: Option[Int] = None
@FileExists
var file: File = _
}
class FileRange extends ArgMain[RangeArgs] {
def main(args: RangeArgs) {
val lines = scala.io.Source.fromFile(args.file).getLines
trait SQLArgs extends FieldArgs {
@Required
var url: String = _
@Required
var driver: String = _
@Required
var user: String = _
@Required
var password: String = _
}
trait EnvArgs extends FieldArgs {
@Required
var env = _
}