Install Python
$ brew install readline sqlite gdbm
$ brew install python --universal --framework
$ python --version
Python 2.7
Symlinks...
#!/usr/bin/env python | |
# | |
# Proof of Concept: UDP Hole Punching | |
# Two client connect to a server and get redirected to each other. | |
# | |
# This is the client. | |
# | |
# Koen Bollen <meneer koenbollen nl> | |
# 2010 GPL | |
# |
require 'eventmachine' | |
require 'socket' | |
require 'kgio' | |
server = Kgio::TCPServer.new('0.0.0.0', 4242) | |
module Dispatch | |
def notify_readable | |
io = @io.kgio_tryaccept or return | |
EventMachine.attach(io, Server) |
Install Python
$ brew install readline sqlite gdbm
$ brew install python --universal --framework
$ python --version
Python 2.7
Symlinks...
# # your config.ru | |
# require 'unicorn_killer' | |
# use UnicornKiller::MaxRequests, 1000 | |
# use UnicornKiller::Oom, 400 * 1024 | |
module UnicornKiller | |
module Kill | |
def quit | |
sec = (Time.now - @process_start).to_i | |
warn "#{self.class} send SIGQUIT (pid: #{Process.pid})\talive: #{sec} sec" |
// Lack of tail call optimization in JS | |
var sum = function(x, y) { | |
return y > 0 ? sum(x + 1, y - 1) : | |
y < 0 ? sum(x - 1, y + 1) : | |
x | |
} | |
sum(20, 100000) // => RangeError: Maximum call stack size exceeded | |
// Using workaround |
As configured in my dotfiles.
start new:
tmux
start new with session name:
/** | |
* 分析豆瓣阅读查看电子书的逻辑 | |
* | |
* 主要用到的JavaScript为 | |
* 1. OzJS(管理模块) | |
* 2. jQuery(base库) | |
* 3. Backbone.js(web application框架) | |
* | |
* 过程分析 | |
* -------- |
data:text/html, <style type="text/css">#e{position:absolute;top:0;right:0;bottom:0;left:0;}</style><div id="e"></div><script src="http://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8"></script><script>var e=ace.edit("e");e.setTheme("ace/theme/monokai");e.getSession().setMode("ace/mode/ruby");</script> |
# | |
# At CoverHound, we use conditional validations all over the form. However, there is no proper way to do | |
# this in Rails. Instead, we can provide an array of attributes (validated_fields attribute) | |
# and ensure they are the only ones to get validated. | |
# | |
module ConditionalValidations | |
attr_accessor :validated_fields | |
def field_is_required?(field) |