Skip to content

Instantly share code, notes, and snippets.

View jokester's full-sized avatar
💭
not my photo / still alive as of 2025-05

Wang Guan jokester

💭
not my photo / still alive as of 2025-05
View GitHub Profile
@carlosmn
carlosmn / newly-unreachable.rb
Created February 6, 2012 23:47
A libgit2 implementation of git fsck --unreachable
#!/usr/bin/env ruby
require 'rubygems'
require 'rugged'
require 'set'
def objects_in_tree(repo, tree, objs)
tree.each do |e|
objs << e[:oid]
if e[:type] == :tree then
@jboner
jboner / latency.txt
Last active September 7, 2025 15:23
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
@martinsik
martinsik / apd-php54.diff
Created August 11, 2012 07:39
Patch file for APD 1.0.1 that fixes bugs for PHP 5.4
--- php_apd.c.orig 2004-09-28 05:25:59.000000000 +0200
+++ php_apd.c 2012-08-11 10:59:29.000000000 +0200
@@ -70,7 +70,7 @@
/* List of exported functions. */
-function_entry apd_functions[] = {
+zend_function_entry apd_functions[] = {
PHP_FE(override_function, NULL)
PHP_FE(rename_function, NULL)
@ChrisLundquist
ChrisLundquist / splitter.rb
Created December 19, 2012 22:12
split apart a monolithic repo into several smaller ones while preserving commit history.
#!/usr/bin/env ruby
BASE_REMOTE_URL = "[email protected]:chef"
folders = ARGV
pwd = Dir.pwd
folders.each do |folder|
name = folder.split("/").last
name = name.gsub("-","_")
clone_command = "git clone chef/ #{name}"
system clone_command
Dir.chdir name
@KartikTalwar
KartikTalwar / Documentation.md
Last active September 5, 2025 03:41
Rsync over SSH - (40MB/s over 1GB NICs)

The fastest remote directory rsync over ssh archival I can muster (40MB/s over 1gb NICs)

This creates an archive that does the following:

rsync (Everyone seems to like -z, but it is much slower for me)

  • a: archive mode - rescursive, preserves owner, preserves permissions, preserves modification times, preserves group, copies symlinks as symlinks, preserves device files.
  • H: preserves hard-links
  • A: preserves ACLs
require 'delegate'
class HiddenDelegator < SimpleDelegator
def initialize(obj)
super
end
def class
__getobj__.class
end
@yefuchs
yefuchs / gfw_contributors.md
Last active April 11, 2025 14:50
GFW Contributers

#The Great Firewall (GFW) Contributors List

注:数据来源为 dblp 和 cndblp, 下面括号中的数字表示 dblp 中显示的跟方滨兴合作论文的数量

###Binxing Fang (方滨兴)

中国工程院院士,北京邮电大学教授,中国科学院计算技术研究所网络方向首席科学家
http://en.wikipedia.org/wiki/Fang_Binxing

@aras-p
aras-p / preprocessor_fun.h
Last active September 8, 2025 11:28
Things to commit just before leaving your job
// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
@plentz
plentz / nginx.conf
Last active September 4, 2025 06:17
Best nginx configuration for improved security(and performance)
# to generate your dhparam.pem file, run in the terminal
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

Desugar Scala Expressions

Use the compiler

scala -Xprint:typer -e "class A(val i: Int)" prints the desugarred expression after the typer phase. Use scala -Xshow-phases to get a list of all phases.

Or use a macro in the REPL

Paste this into a REPL session or in a file loaded with the :load command: