Skip to content

Instantly share code, notes, and snippets.

View kpmeen's full-sized avatar
👾

Knut Petter Meen kpmeen

👾
View GitHub Profile
#!/bin/bash
if [[ $# -ne 1 ]]; then
echo "usage: $0 doc.md"
echo
echo 'Output will be printed to stdout, so you probably want to pipe to'
echo 'pbcopy or to a file or something.'
exit 1
fi
@kpmeen
kpmeen / TablePrinter.scala
Last active March 5, 2022 12:52
Scala code for generating an ASCII table for a given data set. The implementation handles ANSI colours by depending on Fansi (https://github.com/lihaoyi/fansi) by Li Haoyi.
import fansi.Str
import org.slf4j.LoggerFactory
import scala.util.Try
import scala.util.control.NonFatal
object TablePrinter {
val logger = LoggerFactory.getLogger(TablePrinter.getClass)
@kpmeen
kpmeen / copy.scala
Created December 7, 2016 07:01 — forked from Baccata/copy.scala
import shapeless._
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// THE IMPLICIT CLASS THAT ALLOWS TO CALL #copy ON ANY SEALED TRAIT INSTANCE
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
object copySyntax {
implicit class CopySyntax[TypeToCopy](thingToCopy: TypeToCopy) {
@kpmeen
kpmeen / curr_ip.sh
Created November 28, 2016 07:58
Find current IP from shell script on OSX.
export CURR_IP_ADDRESS=$(ifconfig | awk '/inet /{print substr($2,0)}' | awk 'END{print}')
@kpmeen
kpmeen / pre-commit
Created October 16, 2016 09:28 — forked from schmmd/pre-commit
Scalariform Precommit
#!/bin/sh
exec scala -savecompiled "$0" $@
!#
//
// Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com>
// Modified 2014 AI2 <http://www.allenai.org>
//
// This script will check that the commit is correctly formatted. It only checks files that are to be committed.
// To be run this file should be at `.git/hooks/pre-commit`.
#!/usr/bin/env bash
#
set -euo pipefail
unset SBT_OPTS JVM_OPTS JDK_HOME JAVA_HOME
: ${TRAVIS_SCALA_VERSION:=2.11.8}
: ${SBT_TARGET:=$*}
: ${SBT_TARGET:=test}
@kpmeen
kpmeen / visual-studio-code.plugin.zsh
Created October 7, 2016 06:50
oh-my-zsh plugin for opening files with M$ Visual Studio Code.
# Visual Studio Code
# https://code.visualstudio.com/Docs/setup
local _vsc_paths > /dev/null 2>&1
_vsc_paths=(
"$HOME/Applications/Visual Studio Code.app"
"/Applications/Visual Studio Code.app"
)
for _vsc_path in $_vsc_paths; do
@kpmeen
kpmeen / keybase.md
Created August 26, 2016 05:28
Verifying myself

Keybase proof

I hereby claim:

  • I am kpmeen on github.
  • I am kpmeen (https://keybase.io/kpmeen) on keybase.
  • I have a public key whose fingerprint is 12E5 E9A3 377A E4A8 91A6 4BE7 F1CC 77FF 5B74 E217

To claim this, I am signing this object:

@kpmeen
kpmeen / IO.scala
Created August 11, 2016 16:39 — forked from jdegoes/IO.scala
A pedagogical implementation of the IO monad in Scala in 14 LOC
case class IO[A](unsafePerformIO: () => A) {
def map[B](ab: A => B): IO[B] = IO(() => ab(unsafePerformIO()))
def flatMap[B](afb: A => IO[B]): IO[B] =IO(() => afb(unsafePerformIO()).unsafePerformIO())
def tryIO(ta: Throwable => A): IO[A] =
IO(() => IO.tryIO(unsafePerformIO()).unsafePerformIO() match {
case Left(t) => ta(t)
case Right(a) => a
})
}
object IO {
@kpmeen
kpmeen / testspark16.scala
Created June 27, 2016 08:37 — forked from ahoy-jon/testspark16.scala
Spark Datasets Api + Shapeless Tags
package com.cym_iot.training.testspark16
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.catalyst.encoders.ExpressionEncoder
import org.apache.spark.sql.{Dataset, Encoder, SQLContext}
import org.apache.spark.{SparkConf, SparkContext}
import shapeless.tag
import shapeless.tag.@@