Skip to content

Instantly share code, notes, and snippets.

View dom.ts
function dom<T extends HTMLElement>(
name: string,
props: { [key in keyof T]?: any } = {},
children: Array<HTMLElement> = []
): T {
const result = document.createElement(name);
Object.entries(props).forEach(([name, prop]) => (result[name] = prop));
children.forEach(child => result.append(child));
return result as T;
atmin / tmux-debian-wheezy
Created Jun 16, 2016
Install tmux > 1.8 on Debian Wheezy
View tmux-debian-wheezy
# tmux 1.8 offers Zoom mode
sudo add-apt-repository ppa:pi-rho/dev
sudo apt-get update
sudo apt-cache show tmux # list tmux versions
sudo apt-get install tmux=LAST_VERSION_LISTED
View gist:f688a318db6bf8b68384
### Keybase proof
I hereby claim:
* I am atmin on github.
* I am atmin ( on keybase.
* I have a public key whose fingerprint is 06A7 F329 1A15 C68B 310E D752 EF90 6F97 1199 9FC9
To claim this, I am signing this object:
View SimpleTrie.js
function Trie(key) {
atmin / vcenter.css
Created Mar 6, 2014
CSS vertical center, IE9+
View vcenter.css
/* src: */
.vcenter {
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
atmin / app.js
Last active Aug 29, 2015 rewrite using jtmpl
View app.js
// This is a remake concept of using [jtmpl]( as only dependency
(function () {
var model = {
// Route: share
'#share': function () {
this.route = '#share-template'
atmin / gist:9118764
Created Feb 20, 2014
Git precommit hook: lint Python files, check for debugger statements
View gist:9118764
py_files=`git diff --name-only HEAD|grep '.py$'`
grep -n 'pdb.set_trace()' $py_files && echo -e "\033[1;31m Debugger statements!!!\033[0m" && exit 1
pyflakes $py_files && exit || echo -e "\033[1;31m Lint error!\033[0m"
exit 1
atmin /
Last active Dec 29, 2015 — forked from mhl/
Compare git revisions via meld in a more sane way than `git difftool` Usage: rev1 rev2 e.g. HEAD HEAD~3
# This fork works under Python 2.x
# This is script that extracts the trees of two commits to temporary
# directories and then runs meld on both directories, so you can compare
# them using meld's nice recursive browsing interface.
# This is for an answer to this question:
atmin /
Created Oct 18, 2013
JavaScript RegExp monad
# Need this in JavaScript? Use "Try CoffeeScript"
# A micro DSL for building maintainable, complex, dynamic regular expressions
reBuild = ->
re = ''
self = {
# Append regular expression
atmin / Compact dynamic VM image
Last active Aug 25, 2016
Compact dynamically expanding VirtualBox CentOS image
View Compact dynamic VM image
1. Delete unnecessary files from image
2. sudo yum install zerofree
3. reboot, edit kernel parameters, add 'rescue single ro'
4. remount root read-only:
sudo mount -r -o remount /dev/mapper/vg_centos6generic-lv_root