Skip to content

Instantly share code, notes, and snippets.

View davidkellis's full-sized avatar

David Ellis davidkellis

View GitHub Profile
@silviorelli
silviorelli / gist:ad8e1d80bdc0245eb7e7
Created February 3, 2016 09:34
Install Ruby 1.8.7 on Mac OSX 10.11 El Capitan with rbenv
brew install apple-gcc42 openssl libyaml libffi
xcode-select --install
export CC=/usr/local/bin/gcc-4.2
export CFLAGS='-g -O2'
export RUBY_CONFIGURE_OPTS=--with-openssl-dir=`brew --prefix openssl`
export CONFIGURE_OPTS=--with-openssl-dir=`brew --prefix openssl`
rbenv install 1.8.7-p375
brew install autoconf leveldb automake python shtool glog libtool popt #maybe more
prerequisites
git clone https://github.com/rescrv/po6.git
git clone https://github.com/rescrv/busybee.git
git clone https://github.com/rescrv/Replicant.git
wget http://cityhash.googlecode.com/files/cityhash-1.1.0.tar.gz
a fix for os x to current MASTER:
https://github.com/mreiferson/e/commit/5b6b369e8a334675c62232f58d291ea4ded243b0
@jeffreyolchovy
jeffreyolchovy / LRUCache.scala
Created August 6, 2012 21:19
LRU cache implementation in Scala
import akka.stm._
import scala.collection.immutable.ListMap
case class LRUCache[A, B](private val MAX_ENTRIES: Int)
{
protected val cache = Ref(ListMap.empty[A, B])
def getOrElse(key: A)(fn: => B): B = {
get(key).getOrElse {
val result = fn
@katylava
katylava / git-selective-merge.md
Last active February 27, 2024 10:18
git selective merge

Update 2022: git checkout -p <other-branch> is basically a shortcut for all this.

FYI This was written in 2010, though I guess people still find it useful at least as of 2021. I haven't had to do it ever again, so if it goes out of date I probably won't know.

Example: You have a branch refactor that is quite different from master. You can't merge all of the commits, or even every hunk in any single commit or master will break, but you have made a lot of improvements there that you would like to bring over to master.

Note: This will not preserve the original change authors. Only use if necessary, or if you don't mind losing that information, or if you are only merging your own work.