a.k.a. what to do when your ISP starts blocking sites :(
Set the SOCKS proxy to local SSH tunnel
networksetup -setsocksfirewallproxy "Ethernet" localhost 8080
To clear the domain and port
class FizzBuzz | |
def fizz | |
loop do | |
["", "", "Fizz"].each{|s| yield s} | |
end | |
end | |
def buzz | |
loop do | |
["", "", "", "", "Buzz"].each{|s| yield s} |
# Very (very) naive wordt segmentation algorithm for Chinese | |
# (or any language with similar characteristics, works at the | |
# character level.) | |
class Partitioner | |
attr_reader :ngrams | |
# +ngrams+ Enumerable list of ngrams | |
def initialize(ngrams, lookahead = 6) | |
@lookahead = lookahead | |
@ngrams = {} |
# treating a function as data | |
putter = ->(message) { puts message } | |
def deliver_message(message, handler) | |
handler.(message) | |
end | |
deliver_message("Hello, code as data!", putter) | |
# => Hello, code as data! |
## Configure eth0 | |
# | |
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 | |
DEVICE="eth0" | |
NM_CONTROLLED="yes" | |
ONBOOT=yes | |
HWADDR=A4:BA:DB:37:F1:04 | |
TYPE=Ethernet | |
BOOTPROTO=static |
'use strict' | |
koa = require 'koa' | |
app = koa() | |
note = console.log | |
time_logger = (next) -> | |
start = Date.now() | |
yield next | |
note "耗时: #{Date.now() - start} 毫秒" |
!!! 5 | |
%html | |
%head | |
%title= "Your Website" | |
%meta{ :content => "", :name => "description" } | |
%meta{ :content => "", :name => "author" } | |
%meta{ :content => "3 days", :name => "revisit-after" } | |
%link{ :href => "http://creativecommons.org/licenses/by/3.0/", :rel => "license", :title => "Creative Commons Attribution 3.0 Unported License" } | |
%link{ :href => "/feed", :rel => "alternate", :title => "Atom", :type => "application/atom+xml" } | |
%link{ :href => "/css/screen.css", :media => "screen", :rel => "stylesheet" } |
!!! 5 | |
%html | |
%head | |
%title= "Your Website" | |
%meta{ :content => "", :name => "description" } | |
%meta{ :content => "", :name => "author" } | |
%meta{ :content => "3 days", :name => "revisit-after" } | |
%link{ :href => "http://creativecommons.org/licenses/by/3.0/", :rel => "license", :title => "Creative Commons Attribution 3.0 Unported License" } | |
%link{ :href => "/feed", :rel => "alternate", :title => "Atom", :type => "application/atom+xml" } | |
%link{ :href => "/css/screen.css", :media => "screen", :rel => "stylesheet" } |
upstream your-app { | |
# fail_timeout=0 means we always retry an upstream even if it failed | |
# to return a good HTTP response (in case the Unicorn master nukes a | |
# single worker for timing out). | |
server unix:/tmp/your_app.socket fail_timeout=0; | |
} | |
server { | |
listen 80; |
# -*- mode: nginx; mode: flyspell-prog; ispell-local-dictionary: "american" -*- | |
### Nginx configuration for Drupal. This configuration makes use of | |
### drush (http:///drupal.org/project/drush) for site maintenance | |
### and like tasks: | |
### | |
### 1. Run the cronjobs. | |
### 2. Run the DB and code updates: drush up or drush upc followed by | |
### drush updb to run any DB updates required by the code upgrades | |
### that were performed. | |
### 3. Disabling of xmlrpc.xml, install.php (needed only for |