Skip to content

Instantly share code, notes, and snippets.

View kevin-lee's full-sized avatar
🏠
Working from home

Kevin Lee kevin-lee

🏠
Working from home
View GitHub Profile
@kevin-lee
kevin-lee / 1-XShapeIn2DCollection.md
Last active October 13, 2019 12:10
Fill 2D collection to draw X shape / Multiplication table

Drawing X shape in 2D collection

Common Error Type

case class Error(message: String)
@kevin-lee
kevin-lee / fibonacci.hs
Last active June 14, 2018 14:32
Examples of Fibonacci number function
fib 0 = 0
fib 1 = 1
fib 2 = 1
fib n = fib (n - 1) + fib (n - 2)
-- Get the 100th number
fib 100
-- But it takes too long.
-- You can do it with zipWith like the following line and it works much faster
fibs = 0 : 1 : 1 : zipWith (+) (drop 1 fibs) (drop 2 fibs)
@kevin-lee
kevin-lee / README.md
Created February 25, 2017 10:38
Shellscript to install fonts for macOS and Linux

How to Use

# Move the the folder where the fonts are available. This script supports only otf and ttf.
# Then simply run the script like
$ ./path/to/script/install-fonts.sh 

Or you can add an alias to the ~/.bashrc or ~/.zshrc

alias install-fonts='/path/to/script/install-fonts.sh' 
@kevin-lee
kevin-lee / JProfiler-with-Docker.md
Created August 10, 2016 15:55
JVM Profiler with Docker

JProfiler with Docker

Docker

DockerFile

DockerFile should have JProfiler installation.

RUN wget <JProfiler file location> -P /tmp/ && \
  tar -xzf /tmp/<JProfiler file> -C /usr/local && \
  rm /tmp/<JProfiler file>
@kevin-lee
kevin-lee / StringInterpolation.scala
Last active August 26, 2017 07:15
Customized String interpolation example
/**
* @author Kevin Lee
* @since 2016-04-09
*/
object StringInterpolation extends App {
implicit class EscapeNewLineAndDoubleQuote(val sc: StringContext) extends AnyVal {
def esc(args: Any*): String = {
val strings = sc.parts.iterator
val expression = args.iterator
let primes :: [Integer]
primes = sieve [2..]
where sieve :: [Integer] -> [Integer]
sieve (x : xs) = x : sieve [n | n <- xs, n `mod` x /= 0]
-- It works even without parameter types specified yet it is always good to have the type information
-- as it tells the users of the function how to use it.
-- It can also help you implement the function.
-- primes without parameter types (Uncomment it if you want to try).
@kevin-lee
kevin-lee / WordCount.scala
Last active January 15, 2016 12:16
Word Count Code Examples
/**
* @author Kevin Lee
* @since 2016-01-15
*/
object WordCount extends App {
def wordCount(lines: String): Map[String, Array[Int]] =
lines.split('\n')
.map(_.trim)
.map(_.split("[\\s]+"))
.zipWithIndex
@kevin-lee
kevin-lee / TakeLinks.md
Last active September 7, 2015 05:13
Take all the names and URLs from HTML
@kevin-lee
kevin-lee / SomeMapExample.java
Last active August 29, 2015 14:25
Some Java 8 example code
package cc.kevinlee.examples;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import static cc.kevinlee.examples.KeyValPair.*;
/**