Skip to content

Instantly share code, notes, and snippets.

@Javran
Javran / aaa.hs
Last active August 29, 2015 14:04
fun_coolshell_cn
import Data.Maybe
import Data.Char (toLower)
wds = zip "pvwdgazxubqfsnrhocitlkeymj" ['a'..'z']
translate x = case lookup x wds of
Nothing -> x
Just v -> v
main = putStrLn (map translate "Wxgcg txgcg ui p ixgff, txgcg ui p epm. I gyhgwt mrl lig txg ixgff wrsspnd tr irfkg txui hcrvfgs, nre, hfgpig tcm liunz txg crt13 ra 'ixgff' tr gntgc ngyt fgkgf.")
@max-mapper
max-mapper / chicago-inspections.rb
Created December 3, 2010 22:49
chicago restaurant health inspections
require 'net/http'
require 'uri'
require 'nokogiri'
url = URI.parse('http://webapps.cityofchicago.org/healthinspection/inspectionresultrow.jsp')
request = Net::HTTP::Post.new(url.path)
request.set_form_data({"REST"=>" ", "STR_NBR"=>"", "STR_NBR2"=>"", "STR_DIRECTION"=>"", "STR_NM"=>"", "ZIP"=>""})
@bang590
bang590 / stepEngine.js
Created October 22, 2012 09:29
stepEngine - simplify everyauth asynchronous resolution
var fs = require('fs'),
http = require('http');
var Promise = function(values) {
this._callbacks = [];
this._errbacks = [];
if (arguments.length > 0) {
this.fulfill.apply(this, values);
}
}
@solos
solos / offline_evernote.py
Created February 23, 2013 07:03
Offline evernote on android - solos's or diaosi's way to evernote pro.
#!/usr/bin/python
#coding=utf-8
import sqlite3
import os
from lxml import etree
def get_notes(ever_enex):
'''extract notes from .enex file'''
content = open(ever_enex, 'r').read()
#1
'(.+?)\{([\s\S.]+?)\}'
#2
'([\n\r\t\s\S]*?)(([\t\n])[a-zA-Z-]+?):(.+);([\n\t\s\S]*?)'
#3
'([\s]*?)([-]*?)([0-9]+)'
anonymous
anonymous / Lightbox-Widget.markdown
Created December 10, 2013 12:49
A Pen by famo.us.

Lightbox Widget

An example of a famo.us lightbox widget. The lightbox flips between thumbnail and detail view when an item is clicked. Edit the grid layout using the sliders. Animations are powered by both easing curves and physics animations.

A Pen by famo.us on CodePen.

License.

#!/bin/bash
cat all.json |
# curl 'http://www.khanacademy.org/api/v1/videos/localized/all' |
jq -r '
[
.[] |
{
title,
en_id:.youtube_ids["en"],
@JacksonTian
JacksonTian / api.js
Last active June 28, 2016 01:40
Go语言的actor并发模式更容易,一点都不绕,比如要实现一个API,API内部有两个http接口A,B并发调用,如果都在200ms内返回,则合并结果输出,如果B比A慢,且B耗时超过200ms,则丢弃B调用只返回A结果;用Go很容易实现这个逻辑,50行 - 牛,学到了,但看逻辑是不是A和B如果都超过200ms了就无结果输出?这种情况下需要等A返回了再返回 - 逻辑还可以再完善一下,如果ab都在200ms内返回应该在慢的那个返回时就触发,而不是等到200ms - 接着上面的需求,如果B之后还要根据B的结果来判断是否要调用C,然后B和C的结果和A join后再进入下一个阶段 用我自己的EventProxy库做了下重构 https://gist.github.com/4364823 加注释50行。
var callA = function (callback) {
setTimeout(function () {
callback({name: "a", data: "I am result A"});
}, Math.round(Math.random() * 300));
};
var callB = function (callback) {
setTimeout(function () {
callback({name: "b", data: Math.round(Math.random() * 300)) % 2 === 0});
}, Math.round(Math.random() * 300));
#!/usr/bin/env python
# coding:utf-8
import _env
from time import time
from urllib import urlencode
from urllib2 import urlopen as urlopen2
from urlparse import parse_qsl
from hashlib import md5
from urlgrabber import urlopen
import errno
@wintercn
wintercn / showboxes.js
Created May 21, 2013 06:34
显示页面的盒结构
function randomColor(){
return "rgb("+Math.floor(Math.random()*255)+","+Math.floor(Math.random()*255)+","+Math.floor(Math.random()*255)+")";
}
function showBoxes(window) {
var rects = [];
function getRects(node){
var range = window.document.createRange();
range.setStartBefore(node);
range.setEndAfter(node);