Skip to content

Instantly share code, notes, and snippets.

View terrywang's full-sized avatar

Terry Wang terrywang

View GitHub Profile
@terrywang
terrywang / .bashrc
Last active December 6, 2023 08:52
Bash 5.2.x dot files for Linux and macOS, extracted from Ubuntu which by default does NOT use $HOME/.bash_profile for interactive login shells.
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
# [ -z "$PS1" ] && return
case $- in
*i*) ;;
*) return;;
esac
@terrywang
terrywang / jdk.sh
Last active March 27, 2019 05:33
Oracle JDK Download Script, the magic cookie comes from oab-java6 ;-) It **ONLY** works for latest Oracle JDK 7 and 8 update releases.
#!/bin/bash
# --------------------------------------
#
# Title: Oracle JDK Download Script
# Author: Terry Wang
# Email: i (at) terry (dot) im
# Homepage: http://terry.im
# File: jdk.sh
# Created: 28 August, 2013
#
@terrywang
terrywang / Berkshelf
Last active October 25, 2019 23:20
Vagrantfile sample for Vagrant, the following plugins are required: vagrant-berkshelf, vagrant-omnibus, vagrant-proxyconf, vagrant-vbguest, vagrant-proxyconf. Berksfile defines cookbooks and their dependencies. Run berks install to install cookbooks and dependencies.
site :opscode
cookbook 'nginx', '~> 2.4.4'
@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
@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 / nginx.conf
Last active July 28, 2022 23:29
Nginx config file template for self-hosted personal site on Fedora, Ubuntu, Debian and Arch Linux
# User and group used by worker processes
# ubuntu
# user www-data;
# fedora
user nginx;
# Ideally # of worker processes = # of CPUs or cores
# Set to auto to autodetect
# max_clients = worker_processes * worker_connections
worker_processes auto;
@terrywang
terrywang / vimcasts.sh
Last active May 19, 2021 15:46
Vimcasts screencasts download bash one-liner - please support Drew Neil if possible e.g. buy Practical Vim ;-D
for (( i=1; i<=76; i++ )); do file=$(curl -s http://media.vimcasts.org/videos/$i/ | grep m4v | awk '{ print $5 }' | cut -d'>' -f2 | cut -d'<' -f1); url=http://media.vimcasts.org/videos/$i/$file; echo $url; wget -c -S -O "$c-$file" "$url"; done
@terrywang
terrywang / config
Last active October 13, 2022 20:39
Secure Enhanced ~/.ssh/config OpenSSH client per-user configuration file
# User ssh configuration file ~/.ssh/config
# Gist https://gist.github.com/terrywang/3997931
# man ssh_config for more information
# Inspired by the blog post below to fight the NSA
# https://stribika.github.io/2015/01/04/secure-secure-shell.html
# Github needs diffie-hellman-group-exchange-sha1 some of the time but not always
# Host github.com
# KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1

Keybase proof

I hereby claim:

  • I am terrywang on github.
  • I am terrywang (https://keybase.io/terrywang) on keybase.
  • I have a public key whose fingerprint is CB3E C2DC AD18 0C78 731E C034 00D8 3189 AB6C 9CA3

To claim this, I am signing this object: