Skip to content

Instantly share code, notes, and snippets.

View terrywang's full-sized avatar

Terry Wang terrywang

View GitHub Profile
@terrywang
terrywang / vcheck.c
Last active August 29, 2015 13:56
Check Linux VM hardware assisted virtualization type {Xen HVM,KVM,VMware}. Based on the C program written by http://www.vpsee.com
/*
* Use CPUID opcode from EAX register to determine Linux VM Virtualization type {Xen HVM,KVM,VMware}
* Based on the c program written by http://www.vpsee.com ;-)
*/
#include <stdio.h>
#include <string.h>
#define HYPERVISOR_INFO 0x40000000
#define CPUID(idx, eax, ebx, ecx, edx) \
@terrywang
terrywang / match.java
Created February 17, 2014 02:39
Java code backup ;-) To Compile: javac Match.java Usage: java Match <pattern> <text>
/**
* The Match class implements Brute Force pattern matching.
*
* @author Terry Wang
* @version 0.2
*/
public class Match {
/** variable to record the position of matching */
private static int position = 0;
@terrywang
terrywang / .conkyrc
Last active October 12, 2015 02:18
Terry's conky config on Dell Latitude E6410 & Optiplex 9020
# Terry's conky config
# .conkyrc since Ubuntu 8.04 LTS
background yes
use_xft yes
xftfont DejaVu Sans:size=9
xftalpha 0.1
update_interval 1.0
total_run_times 0
own_window yes
own_window_type normal
@terrywang
terrywang / runkexec
Created October 28, 2012 21:27
kexec
#!/bin/bash
#
# runkexec
#
### BEGIN INIT INFO
# Provides: runkexec
# Required-Start:
# Required-Stop:
# Default-Stop:
# Description: Enable or disable fast system rebooting
@terrywang
terrywang / iptables.rules
Last active October 13, 2015 22:07
iptables rules for the Confluence wiki box
*filter
-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
@terrywang
terrywang / wiki_backup.sh
Last active December 9, 2015 20:39
Wiki backup script, use mysqldump to dump confluence wiki database, pipe it to xz for compression and then pipe to pv to display progress and finally > wiki.xz
#!/bin/sh
# One liner
# mysqldump to stdout, pipe to xz for compression and then pipe to pv redirect to xz file
# pv is OPIONTAL, it is for showing the progress ONLY
# The - after xz -z is OPTIONAL, by default xz reads from stdin and writes to stdout
mysqldump -u confluenceuser -ppassword confluence | xz -z | pv > wiki_$(date +"%Y%m%d").xz
# Other 2 equivalant variants
# mysqldump -u confluenceuser -ppassword confluence | xz -z | > wiki_$(date +"%Y%m%d").xz
@terrywang
terrywang / iptables.rules
Last active December 11, 2015 12:38
Generic iptables rules template, ready to be used;-)
*filter
# Allow all loopback (lo) traffic and drop all traffic to 127.0.0.0/8 that doesn't use lo
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT
# Accept all established inbound connections
# -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# conntrack match is recommended
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Allow all outbound traffic
# It can be modified to allow certain traffic ONLY
@terrywang
terrywang / chef_solo_bootstrap.sh
Last active December 14, 2015 10:10 — forked from ryanb/chef_solo_bootstrap.sh
Chef Solo bootstrap script using rbenv and ruby-build.
#!/bin/bash
# --------------------------------------
#
# Title: Chef Solo Bootstrap
# Author: Terry Wang
# Email: i (at) terry (dot) im
# Homepage: http://terry.im
# File: bootstrap-ubuntu.sh
# Created: Feb, 2013
#
@terrywang
terrywang / tunnel.sh
Last active February 28, 2016 13:33
SSH Tunnel
#!/bin/bash
# --------------------------------------
#
# Title: SSH Tunnel / Socks5 Proxy Script
# Author: Terry Wang
# Email: i (at) terry (dot) im
# Homepage: http://terry.im
# File: tunnel.sh
# Created: 1 Oct, 2012
#
@terrywang
terrywang / rsync.rb
Last active November 2, 2016 17:15
rsync Homebrew formula for OS X, with fileflags, crtimes and hfs-compression patches. May be merged to https://github.com/Homebrew/homebrew-dupes soon ;-)
require 'formula'
class Rsync < Formula
homepage 'http://rsync.samba.org/'
url 'http://rsync.samba.org/ftp/rsync/src/rsync-3.1.0.tar.gz'
sha1 'eb58ab04bcb6293da76b83f58327c038b23fcba3'
depends_on :autoconf
def patches