Skip to content

Instantly share code, notes, and snippets.

zhangsen / import.rb
Created Jun 14, 2012 — forked from dnagir/import.rb
Import a blogger archive to jekyll (octopress version, allows quotes in titles)
View import.rb
require 'rubygems'
require 'nokogiri'
require 'fileutils'
require 'date'
require 'uri'
# usage: ruby import.rb my-blog.xml
# my-blog.xml is a file from Settings -> Basic -> Export in blogger.
data = ARGV[0]
zhangsen / gist:3082270
Created Jul 10, 2012
braindead downloader
View gist:3082270
import threading, sys
import urlparse, httplib
is_done = False
class Downloader(threading.Thread):
def __init__(self, url, buf, n, semin, semout):
self.buf = buf
self.bufn = n
self.semin = semin
View simple-template.rb
# Rails template: rspec, guard, spork, libnotify, capybara
# $ rails -T -m <path-to-me>
gem_group :development, :test do
gem 'rspec-rails'
gem 'guard-rspec'
gem 'guard-spork'
gem 'spork'
zhangsen /
Created Jun 17, 2012
0-1 knapsack with exact total weight and minimal total value
# weight: cable length
# total weight: target span
# value: 1 for each cable
# want minimum number of cables, i.e. minimum total value
def knapsack_01_exact_min(weights, values, W):
# 0-1 knapsack, exact total weight W, minimizing total value
n = len(weights)
zhangsen /
Created Sep 7, 2011
# This piece of code is in the public domain.
# <>
from datetime import datetime
def get_age(date):
'''Take a datetime and return its "age" as a string.
The age can be in second, minute, hour, day, month or year. Only the