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
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 (https://keybase.io/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
/*
http://codereview.stackexchange.com/questions/25359/simple-trie-implementation-in-javascript
http://jsfiddle.net/4Yttq/9/
*/
function Trie(key) {
@atmin
atmin / vcenter.css
Created Mar 6, 2014
CSS vertical center, IE9+
View vcenter.css
/* src: http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/ */
.vcenter {
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
@atmin
atmin / app.js
Last active Aug 29, 2015
http://ihi.im/app.js rewrite using jtmpl
View app.js
// This is a remake concept of http://ihi.im/app.js using [jtmpl](http://jtmpl.com) as only dependency
(function () {
var model = {
// Route: share
'#share': function () {
this.route = '#share-template'
@atmin
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
atmin / meld-compare-refs.py
Last active Dec 29, 2015 — forked from mhl/meld-compare-refs.py
Compare git revisions via meld in a more sane way than `git difftool` Usage: meld-compare-refs.py rev1 rev2 e.g. meld-compare-refs.py HEAD HEAD~3
View meld-compare-refs.py
#!/usr/bin/python
# 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
atmin / reBuild.coffee
Created Oct 18, 2013
JavaScript RegExp monad
View reBuild.coffee
# Need this in JavaScript? Use coffeescript.org "Try CoffeeScript"
# A micro DSL for building maintainable, complex, dynamic regular expressions
reBuild = ->
re = ''
self = {
# Append regular expression
@atmin
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