Skip to content

Instantly share code, notes, and snippets.

View bruno-'s full-sized avatar
♦️
Async Ruby enthusiast

Bruno Sutic bruno-

♦️
Async Ruby enthusiast
View GitHub Profile
@jboner
jboner / latency.txt
Last active April 17, 2025 10:50
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
@patakijv
patakijv / gist:2719545
Created May 17, 2012 15:10
rails string to boolean migration while preserving existing data
class ChangeIgnoredToBoolean < ActiveRecord::Migration
# we should have been using boolean vs string for a flag instead of a string
def up
# preserve existing data
@saved_ignored_state = Message.all.map(&:ignored)
change_column(:messages, :ignored, :boolean, :default => false)
Message.reset_column_information
Message.all.each_with_index do |message,index|
message.update_attribute(:ignored,@saved_ignored_state[index] == 'true')
end
@jimbojsb
jimbojsb / gist:1630790
Created January 18, 2012 03:52
Code highlighting for Keynote presentations

Step 0:

Get Homebrew installed on your mac if you don't already have it

Step 1:

Install highlight. "brew install highlight". (This brings down Lua and Boost as well)

Step 2: