Skip to content

Instantly share code, notes, and snippets.

View ezhulenev's full-sized avatar
🏠
Working from home

Eugene Zhulenev ezhulenev

🏠
Working from home
View GitHub Profile
@ezhulenev
ezhulenev / folds.scala
Last active August 29, 2015 14:25 — forked from tonymorris/folds.scala
Fold exercises in Scala
trait MyOption[A] {
def fold[B](n: => B, s: A => B): B
// Define the usual Option API.
//
// * Constructors (on the object)
// some
// none
// * methods
// map
@ezhulenev
ezhulenev / gist:7602364
Created November 22, 2013 16:09
Datomic Schema
object DatomicPricing {
object Schema extends VersionedSchemaComponent("0.0.1") {
object ns {
val pricing = new Namespace("Pricing")
}
val isIndexed = true
val isComponent = true
val quoteId = Attribute(ns.pricing / "QuoteId", SchemaType.string, Cardinality.one).withUnique(Unique.identity)
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE RoleAnnotations #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
@ezhulenev
ezhulenev / gist:329efd28da8ca51d9f5f
Last active September 2, 2016 01:50 — forked from munhitsu/gist:1034876
Python on Mac OS + virtualenvwrapper
# In case you had some strange python installation
# NOTE: .pydistutils.cfg seems to be not compatible with brew install python
# areas I needed to clean before installation
# clean up ~/Library/Python
# clean up .local
# preconditions:
# xcode with command line tools installed
xcode-select --install
@ezhulenev
ezhulenev / spark-thred-safe.scala
Created August 11, 2015 22:16
Thread-safe Spark Sql Context
object ServerSparkContext {
private[this] lazy val _sqlContext = {
val conf = new SparkConf()
.setAppName("....")
val sc = new SparkContext(conf)
// TODO: Bug in Spark: http://stackoverflow.com/questions/30323212
val ctx = new HiveContext(sc)
ctx.setConf("spark.sql.hive.convertMetastoreParquet", "false")
@ezhulenev
ezhulenev / InstantInsanity.scala
Created April 25, 2017 16:42
Instant Insanity in Scala
object InstantInsanity extends App {
type Cube = Seq[Char]
val cubes: Seq[Cube] = Seq("BGWGBR", "WGBWRR", "GWRBRR", "BRGGWW").map(_.toSeq)
// Rotate a cube 90 degrees over its Z-axis, leaving up and down in place.
def rot: Cube => Cube = { case Seq(u, f, r, b, l, d) => Seq(u, r, b, l, f, d) }
// Twist a cube around the axis running from the upper-front-right
@ezhulenev
ezhulenev / InstantInsanity.scala
Created April 25, 2017 20:15
Type-Level Instant Insanity in Scala
object InstantInsanity extends App {
// scalastyle:off
def undefined[T]: T = ???
def ⊥[T]: T = undefined
trait R
trait G
trait B