Skip to content

Instantly share code, notes, and snippets.

@nvartolomei
nvartolomei / gist:4190212
Created December 2, 2012 18:06
bash maze generator
yes 'c=(╱ ╲);printf ${c[RANDOM%2]}'|bash
#!/usr/bin/env bash
# Check for jdk
if test ! $(which javac)
then
echo " x JDK not found. Please install it:"
echo " http://goo.gl/7mdf0"
echo
echo " Or check PATH"
exit
/**
* A "Left-leaning Red-Black Tree"
*
* http://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf
*/
public class LLRB<K extends Comparable<K>, V> {
public static void main(String[] args) {
LLRB<String, String> llrb = new LLRB<String, String>();
@nvartolomei
nvartolomei / latency.txt
Created June 3, 2012 16:57 — forked from jboner/latency.txt
Latency numbers every programmer should know
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns
Send 1K bytes over 1 Gbps network 10,000 ns 0.01 ms
Read 4K randomly from SSD 150,000 ns 0.15 ms
Read 1 MB sequentially from memory 250,000 ns 0.25 ms
Round trip within same datacenter 500,000 ns 0.5 ms
@nvartolomei
nvartolomei / gist:1397951
Created November 27, 2011 18:39
Functional C
#define lambda(return_type, function_body) \
({ \
return_type __fn__ function_body \
__fn__; \
})
// Use like this:
int (*max)(int, int) = lambda (int, (int x, int y) { return x > y ? x : y; });