Skip to content

Instantly share code, notes, and snippets.

View usbuild's full-sized avatar

Qichao Zhang usbuild

View GitHub Profile
from google.protobuf import service
from test_pb2 import TestService_Stub, TestService, TestMessage, TestClientService, TestClientService_Stub
import asyncore, threading, socket, struct
class ServerService(TestService):
def setStub(self, ch):
self.stub = TestClientService_Stub(ch)
def Test(self, controller, reply, done):
msg = TestMessage()
@usbuild
usbuild / jquery.at.complete.js
Created December 24, 2012 11:45
a plugin to simulate at prompt
/**
* Created with JetBrains PhpStorm.
* User: Usbuild
* Date: 12-12-20
* Time: 上午10:21
*/
(function ($) {
$.fn.at_complete = function (options) {
var opts = $.extend({}, $.fn.at_complete.defaults, options);
#!/usr/bin/env bash
set -o errexit #abort if any command fails
me=$(basename "$0")
help_message="\
Usage: $me [-c FILE] [<options>]
Deploy generated files to a git branch.
Options:
function loadScript(js, cb) {
var script = document.createElement("script");
script.src = js;
script.onload = function() {
if (cb) { cb(); }
};
document.querySelector("body").appendChild(script);
}
function loadCSS(css, cb) {
@usbuild
usbuild / shm_queue.cpp
Last active March 29, 2018 08:52
a circular queue using shared memory, eventfd and unix domain socket
//
//#pragma once
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#include <stddef.h>
#include <string>
#include <sys/time.h>
#include <time.h>
@usbuild
usbuild / raft.py
Last active April 2, 2018 07:55
a naïve implmentation of raft consensus algorithm
import sys
from flask import Flask, jsonify, request
from threading import Thread, Lock
from collections import defaultdict
import time
import urllib
import random
import logging
import json
@usbuild
usbuild / co.cpp
Created November 7, 2018 09:21
A Simple cpp coroutine implementation
#include "co.hpp"
#include <assert.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <map>
#include <mutex>
using namespace pm::common;
@usbuild
usbuild / vimrc
Last active December 4, 2018 01:56
set nocompatible
filetype off
set nu
colo desert
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Bundle 'gmarik/vundle'
Bundle 'tpope/vim-fugitive'
@usbuild
usbuild / debian_init.sh
Last active December 12, 2018 03:29
debian ubuntu server initialize
#!/usr/bin/env bash
#install tmux git subversion wget uuid-dev liblzma-dev libgdbm-dev libncurses5-dev libbz2-dev libssl-dev libreadline-dev libsqlite3-dev libffi-dev
if [[ 1 -eq 2 ]]; then
echo "set-option -g default-shell /bin/zsh" > ~/.tmux.conf
mkdir ~/usr
mkdir ~/download
@usbuild
usbuild / cbind.c
Last active December 29, 2018 09:46
implement C closure! you can pass closure to external c apis via function pointer.
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#define CODE_SIZE 200
typedef union slot_t {