Skip to content

Instantly share code, notes, and snippets.

import shapeless._
case class MyClass(field1: String, field2: Int)
def fieldName[A](fieldKey: Witness.Lt[_ <: Symbol])(implicit mkl: MkFieldLens[A, fieldKey.T]) = {
lens[A] >> fieldKey
fieldKey.value.name
}
println(fieldName[MyClass]('field1))
@charmby
charmby / trapezium.py
Created March 18, 2018 15:43 — forked from samrat/trapezium.py
Definite integration using the trapezium rule
from __future__ import division
def trapezium(f, n, a, b):
'''
f- function [f(x)]
n- number of trapeziums
a- lower limit
b- upper limit
Returns definite integral of f(x) from range a to b
'''
@charmby
charmby / Json2JavaMap.scala
Created August 29, 2017 12:26 — forked from schmohlio/Json2JavaMap.scala
parse Json to Generic Java Map in Scala, similar to Jackson.
import com.google.gson.Gson
import java.util.{Map => JMap, LinkedHashMap}
type GenericDecoder = String => JMap[String, Object]
val decoder: GenericDecoder = {
// Gson instances are apparently thread-safe, so curry...
val gson: Gson = new Gson()
// LinkedHashMap preserves ordering. use HashMap if not required.
x => gson.fromJson(x, (new LinkedHashMap[String, Object]()).getClass)
@charmby
charmby / main.scala
Created April 25, 2017 14:15 — forked from atamborrino/main.scala
Spark Streaming Kafka at-least-once with manual offset commit in Zookeeper (i.e not using Spark Streaming checkpoints that may be not recoverable after code changes)
import kafka.common.TopicAndPartition
import kafka.message.MessageAndMetadata
import kafka.serializer.StringDecoder
import com.samsung.sami.common.Curator
import org.apache.spark.streaming._
import org.apache.spark.streaming.kafka._
import org.apache.spark.{Logging, SparkConf}
import org.scalactic.{One, Bad, Good}
import scala.util.control.NonFatal
@charmby
charmby / main.scala
Created April 25, 2017 14:15 — forked from atamborrino/main.scala
Spark Streaming Kafka at-least-once with manual offset commit in Zookeeper (i.e not using Spark Streaming checkpoints that may be not recoverable after code changes)
import kafka.common.TopicAndPartition
import kafka.message.MessageAndMetadata
import kafka.serializer.StringDecoder
import com.samsung.sami.common.Curator
import org.apache.spark.streaming._
import org.apache.spark.streaming.kafka._
import org.apache.spark.{Logging, SparkConf}
import org.scalactic.{One, Bad, Good}
import scala.util.control.NonFatal
@charmby
charmby / redisStream.scala
Created April 25, 2017 14:14 — forked from atamborrino/redisStream.scala
Parallel SCAN per node on a Redis Cluster as an Akka Stream Source
import akka.NotUsed
import akka.stream.scaladsl.Source
import redis.clients.jedis.{Jedis, JedisCluster, ScanParams}
import scala.collection.JavaConverters._
import scala.concurrent.Future
class RedisStream(maxNodeParallelism: Int)
(implicit jedisCluster: JedisCluster,
blockingEC: RedisBlockingEC) {
@charmby
charmby / Deserialization.scala
Created February 3, 2017 13:15 — forked from ramn/Deserialization.scala
Object serialization example in Scala
import java.io._
@SerialVersionUID(15L)
class Animal(name: String, age: Int) extends Serializable {
override def toString = s"Animal($name, $age)"
}
case class Person(name: String)
// or fork := true in sbt
@charmby
charmby / 0_reuse_code.js
Created July 17, 2016 09:56
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@charmby
charmby / imouto.hosts
Last active October 8, 2016 05:15 — forked from phoenixlzx/imouto.hosts
google host
#+BEGIN
#+UPDATE_TIME 2014-09-04 16:30:00
#+MESSAGE
#######################################################################
#
# imouto.host
#
# 主页:https://plus.google.com/100484131192950935968/posts
#
# #Ver : 2.11.0468 Sakura Chiyo