Skip to content

Instantly share code, notes, and snippets.

Avatar

Arunav Sanyal Khalian

View GitHub Profile
@Khalian
Khalian / mac_installations.sh
Last active Sep 15, 2020
Installations for new Mac
View mac_installations.sh
#!/bin/sh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# Brew installations
brew cask install alacritty
brew install git
brew install byobu
brew install mosh
brew install openssh
brew install python3
View .vimrc
set runtimepath+=~/.vim_runtime
source ~/.vim_runtime/vimrcs/basic.vim
source ~/.vim_runtime/vimrcs/filetypes.vim
source ~/.vim_runtime/vimrcs/plugins_config.vim
source ~/.vim_runtime/vimrcs/extended.vim
try
source ~/.vim_runtime/my_configs.vim
catch
View typeclass.scala
// Inspiration : https://alvinalexander.com/scala/fp-book/type-classes-101-introduction
// Purpose : Adhoc polymorphsim
// Define some types
case class Dog(name: String, breed: String)
// Define the type class
trait Animal[A] {
def sound(a: A): Unit
}
@Khalian
Khalian / TypeHierarchy.scala
Last active Feb 21, 2020
TypeHierarchy.scala
View TypeHierarchy.scala
// A classic definition of functor, applicative and monad.
trait Functor[T[_]] {
def apply[A](a: A): T[A]
def map[A, B](f: A => B)(a: T[A]): T[B]
}
trait Applicative[T[_]] extends Functor[T[_]] {
def pmap[A, B](f: T[A => B])(a : T[A]) : T[B]
}
@Khalian
Khalian / higher_kinded_types_graph_search_bfs_dfs.scala
Created Feb 1, 2020
higher_kinded_types_graph_search_bfs_dfs
View higher_kinded_types_graph_search_bfs_dfs.scala
import scala.annotation.tailrec
import scala.collection.immutable.{Queue, Stack}
sealed trait Tree[T] {
def value: T
}
case class Node[T](value: T, children: List[Tree[T]]) extends Tree[T]
case class Leaf[T](value: T) extends Tree[T]
@Khalian
Khalian / simpleWebServer
Last active Jan 4, 2019
Simple command line webserver
View simpleWebServer
Simple server init : python -m SimpleHTTPServer 8000
Simple get request : echo -e "GET / HTTP/1.1" | nc localhost 8000
@Khalian
Khalian / nvimsymlinks
Last active Oct 21, 2018
nvim symlinks to vimrc
View nvimsymlinks
View gist:8ac14ca7b5b4033473d2d2850a610282
sealed trait Addable[T] {
def add(a: T, b: T): T
}
object AddableInstances {
implicit val intAddable = new Addable[Int] {
override def add(a: Int, b: Int): Int = a + b
}
}
@Khalian
Khalian / s3bucketRM.sh
Last active Jun 20, 2019
Remove s3 buckets bulk
View s3bucketRM.sh
#!/bin/sh
if [ $# -ne 1 ]
then
echo "Usage: ./s3bucketRM.sh bucketNameSubstring"
exit 1
fi
for bucket in $(aws s3 ls | awk '{print $3}'| grep $1); do aws s3 rb "s3://${bucket}" --force ; done
@Khalian
Khalian / install.sh
Created Aug 8, 2018
Arunav's pimped up installation of rad stuff
View install.sh
# This is to be used in environments without proper yum usage.
# Mosh
sudo yum -y install autoconf automake gcc gcc-c++ make boost-devel
sudo yum -y install zlib-devel ncurses-devel protobuf-devel openssl-devel
wget https://mosh.org/mosh-1.3.0.tar.gz
tar xf mosh-1.3.0.tar.gz -C /tmp/
cd /tmp/mosh-1.3.0
./configure
make -j7
You can’t perform that action at this time.