Skip to content

Instantly share code, notes, and snippets.

View robcowie's full-sized avatar

Rob Cowie robcowie

  • Recycleye
  • Leeds/London, United Kingdom
View GitHub Profile
@gre
gre / easing.js
Last active September 5, 2025 07:01
Simple Easing Functions in Javascript - see https://github.com/gre/bezier-easing
/*
* This work is free. You can redistribute it and/or modify it under the
* terms of the Do What The Fuck You Want To Public License, Version 2,
* as published by Sam Hocevar. See the COPYING file for more details.
*/
/*
* Easing Functions - inspired from http://gizma.com/easing/
* only considering the t value for the range [0, 1] => [0, 1]
*/
EasingFunctions = {
@bpsm
bpsm / gist:1858654
Created February 18, 2012 10:31
g[un]zip input to output
(ns clj-gunzip.core
(:require [clojure.java.io :as io])
(:require [clojure.string :as str])
(:import java.util.zip.GZIPInputStream
java.util.zip.GZIPOutputStream))
(defn gunzip
"Writes the contents of input to output, decompressed.
input: something which can be opened by io/input-stream.
@huffman
huffman / elixir.rb
Created March 2, 2012 03:50
Elixir Homebrew recipe
# Install this recipe with:
# brew install --HEAD https://raw.github.com/gist/1955470/c58bda92f07147afff64a86d0c2d8ef65adb9cd6/elixir.rb
require 'formula'
class Elixir < Formula
homepage 'http://elixir-lang.org/'
head 'https://github.com/elixir-lang/elixir.git'
depends_on 'erlang'
@cliffxuan
cliffxuan / coroutine_io.py
Created May 9, 2012 18:45 — forked from markwatson/coroutine_io.py
A python IO class that writes to a coroutine.
import io
class CoroutineIO(io.TextIOBase):
"""
Creates an writable IO interface to a coroutine.
"""
def __init__(self, coroutine):
"""
Creates a new IO object with a coroutine. The
coroutine should take no arguments.
@jboner
jboner / latency.txt
Last active October 16, 2025 23:33
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
@minimal
minimal / s3_update_futures.py
Created August 15, 2012 11:27
Update s3 metadata concurrently with futures
from boto.s3.connection import S3Connection
from futures import ThreadPoolExecutor
import futures
connection = S3Connection('id', 'key')
import logging
logging.basicConfig(level=logging.INFO)
@jaberg
jaberg / ipython-virtualenv.py
Created November 1, 2012 15:49 — forked from bsweger/ipython-virtualenv.py
(Linux) make iPython virtual env aware
#------------------------------------------------------------------------------
# Make things VirtualEnv aware (Linux version).
# More info: http://www.swegler.com/becky/blog/2011/08/28/python-django-mysql-on-windows-7-part-3-ipython-virtual-environments/
# add this to the end of ipython_config
# (or course, for virtualenvs created via --no-site-packages, it would
# be much easier just to install iPython)
#
# Also consider sourcing this file from ipython_config with execfile().
#
#------------------------------------------------------------------------------
@Foredoomed
Foredoomed / Leiningen.sublime-build
Created November 18, 2012 04:31
Leiningen.sublime-build
# Copy the following and place it a file called Leiningen.sublime-build in the Sublime user packages folder (~/.config/sublime-text-2/Packages/User on Linux).
# Select this as the build system for the project using Tools/Build System/Leiningen.
# You can then bring up the Sublime Command Palette (ctrl+shift+P on Windows/Linux) and issue any of the commands # (build, documentation, clean, run, test, etc). By default, build is bound to ctrl+b and run to ctrl+shift+b.
{
"cmd": ["lein", "compile", ":all"],
"working_dir": "$project_path",
"variants": [
{ "cmd": ["lein", "marg", "-m", "-d", "docs"],
@mbostock
mbostock / .block
Last active January 10, 2024 01:25
World Tour
license: gpl-3.0
redirect: https://observablehq.com/@mbostock/world-tour
@FZambia
FZambia / tornado_on_twisted.py
Last active December 10, 2015 08:28
Tornado simple application running on Twisted. Some simple handlers to test using Twisted Deferred, InlineCallbaks, deferToThread, callLater functionality.
#!/usr/bin/env python
#
# Copyright 2009 Facebook
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#