Skip to content

Instantly share code, notes, and snippets.

Hanwen Wu steinwaywhw

  • Google
  • US
Block or report user

Report or block steinwaywhw

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
steinwaywhw / One Liner to Download the Latest Release from Github
Last active May 26, 2020
One Liner to Download the Latest Release from Github Repo
View One Liner to Download the Latest Release from Github
  • Use curl to get the JSON response for the latest release
  • Use grep to find the line containing file URL
  • Use cut and tr to extract the URL
  • Use wget to download it
curl -s \
| grep "browser_download_url.*deb" \
| cut -d : -f 2,3 \
| tr -d \" \
View AWS Lambda: Using Pandas and S3 with


This article walks you through an example of deploying a Python 3.6 application that uses Pandas and AWS S3 on AWS Lambda using Boto3 in Python in 2018. No shell, no bash, no web console, everything is automated in Python. The previous article of a Hello World example can be found here.

Again, the reason to use Python Boto3 to interact with AWS is that,

  1. I'm more familiar with Python than Bash, which means a Python script can be more flexible and powerful than Bash for me.
  2. I'm not a fun of the AWS web console. It might be easier to do certain things, but it is definitely not automated.


steinwaywhw / AWS Lambda: Hello
Last active May 10, 2020
An extremely simple AWS Lambda example in Python 3.
View AWS Lambda: Hello


In general, AWS services can be accessed using

  1. AWS web interface,
  2. API libraries in a programming language, such as boto3 for Python 3,
  3. AWS command-line interface, i.e. awscli.

I opted for the API library since it is

steinwaywhw / client.js
Last active Feb 24, 2020
A minimal term.js server/client demo. To be used with node.js
View client.js
var client = {}; = function (options) {
options = options || {};
var socket = io.connect(options.remote || "http://localhost:8080");
socket.on('connect', function() {
var term = new Terminal({
steinwaywhw /
Created Sep 13, 2015
A Copy of ml-ulex Source Code

I pasted it here because it is hard to find for me. It is publicly available at here. The total order and canonical form is clearly presented here over the original ml-ulex paper.

(* reg-exp-fn.sml
 * COPYRIGHT (c) 2005 
 * John Reppy (
 * Aaron Turon (
 * All rights reserved.
steinwaywhw / Config.groovy
Created Jun 27, 2014
Sample log4j configuration for Grails application
View Config.groovy
import org.apache.log4j.*
import grails.util.Holders
myconfig {
myvariable {
workdir = 0
log4j = {
View set.smt2
; uninterpreted sort
(declare-sort Elt)
(define-sort Set (Elt) (Array Elt Bool))
; bijection Int <=> Elt
(declare-fun mkint (Int) Elt)
(declare-fun unmkint (Elt) Int)
(assert (forall ((x Int)) (= x (unmkint (mkint x)))))
(assert (forall ((e Elt)) (= e (mkint (unmkint e)))))
steinwaywhw / ATS.sublime-build
Created Oct 7, 2016
A draft build system for ATS on SublimeText
View ATS.sublime-build
"cmd": ["patscc", "$file"],
"shell": false,
"selector": "source.ats",
"env": {
"file_regex": "^(.+): \\d+\\(line=(\\d+), offs=(\\d+)\\) -- \\d+\\(line=\\d+, offs=\\d+\\): (.+)",
"variants": [
steinwaywhw / texsvg.hs
Created Jun 2, 2016 — forked from lierdakil/texsvg.hs
Pandoc filter to convert math to inline svg using latex and dvisvgm
View texsvg.hs
import Text.Pandoc.JSON
import System.Directory
import System.FilePath ((</>))
import qualified Data.Hash.MD5 as MD5
import System.IO.Temp
import System.Process
import Control.Monad (unless)
main :: IO ()
main = toJSONFilter mathToSvg
steinwaywhw /
Created Sep 1, 2015
Customization of SublimeText on Mac

User Key Bindings

	{ "keys": ["end"], "command": "move_to", "args": {"to": "eol"} },
	{ "keys": ["home"], "command": "move_to", "args": {"to": "bol"} },
	{ "keys": ["f3"], "command": "find_next"}
You can’t perform that action at this time.