Skip to content

Instantly share code, notes, and snippets.

View extesy's full-sized avatar
💭
I may be slow to respond.

Oleg Anashkin extesy

💭
I may be slow to respond.
View GitHub Profile
@jboner
jboner / latency.txt
Last active June 2, 2025 03:01
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
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 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@omarstreak
omarstreak / badlevinshtein.js
Created July 9, 2012 19:09
Naïve Levinshtein
// create a 2d array
function createGrid(rows, columns) {
var grid = new Array(rows);
for(var i = 0; i < rows; i++) {
grid[i] = new Array(columns);
for(var j = 0; j < columns; j++) {
grid[i][j] = 0;
}
}
return grid;
@omarstreak
omarstreak / FasterLevinshtein.js
Created July 9, 2012 20:29
Fast non-optimal one step lookahead Levinshtein
// create a 2d array
function createGrid(rows, columns) {
var grid = new Array(rows);
for(var i = 0; i < rows; i++) {
grid[i] = new Array(columns);
for(var j = 0; j < columns; j++) {
grid[i][j] = 0;
}
}
return grid;
@piscisaureus
piscisaureus / pr.md
Created August 13, 2012 16:12
Checkout github pull requests locally

Locate the section for your github remote in the .git/config file. It looks like this:

[remote "origin"]
	fetch = +refs/heads/*:refs/remotes/origin/*
	url = [email protected]:joyent/node.git

Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/* to this section. Obviously, change the github url to match your project's URL. It ends up looking like this:

@akshaal
akshaal / macro.scala
Created August 18, 2012 17:59
Scala 2.10: annotated fields macro
/** Akshaal, 2012. http://akshaal.info */
import language.experimental.macros
import scala.reflect.macros.Context
import scala.annotation.Annotation
/**
* Macros for traversing over annotated elements.
*
* See http://www.akshaal.info/2012/08/scala-210-annotated-fields-macro.html for more information.
@Nurdok
Nurdok / python_conversion.md
Last active February 5, 2025 05:47
Python Conversion

Python Number Conversion Chart

From To Expression
@desandro
desandro / require-js-discussion.md
Created January 31, 2013 20:26
Can you help me understand the benefit of require.js?

I'm having trouble understanding the benefit of require.js. Can you help me out? I imagine other developers have a similar interest.

From Require.js - Why AMD:

The AMD format comes from wanting a module format that was better than today's "write a bunch of script tags with implicit dependencies that you have to manually order"

I don't quite understand why this methodology is so bad. The difficult part is that you have to manually order dependencies. But the benefit is that you don't have an additional layer of abstraction.


@jroper
jroper / MyManagedResource.scala
Last active November 4, 2021 10:20
Play resource routing
class MyManagedResource extends ResourceController[String] {
def index = Action(Ok("index"))
def newScreen = Action(Ok("new"))
def create = Action {
Redirect(MyInjectableResource.reverseRoutes.index())
}
def show(id: String) = Action(Ok("Show " + id))
# coding=UTF-8
import nltk
from nltk.corpus import brown
# This is a fast and simple noun phrase extractor (based on NLTK)
# Feel free to use it, just keep a link back to this post
# http://thetokenizer.com/2013/05/09/efficient-way-to-extract-the-main-topics-of-a-sentence/
# Create by Shlomi Babluki
# May, 2013
@gufranco-zz
gufranco-zz / railsInstaller.sh
Last active September 22, 2020 19:48
How to install Ruby, Git, Rails, PostgreSQL and MySQL on Ubuntu
#!/bin/sh
# System update
sudo apt-get update
# Curl
sudo apt-get -y install curl
# Git
sudo apt-get -y install git-core