Skip to content

Instantly share code, notes, and snippets.

@lsm
lsm / yosemite2ISO
Created May 17, 2015
Yosemite to ISO
View yosemite2ISO
#!/bin/bash
# Mount the installer image
hdiutil attach /Applications/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
# Convert the boot image to a sparse bundle
hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Yosemite
# Increase the sparse bundle capacity to accommodate the packages
hdiutil resize -size 8g /tmp/Yosemite.sparseimage
@lsm
lsm / export_gridfs.sh
Created Jun 30, 2011
Export files from MongoDB GridFS with directory paths
View export_gridfs.sh
#!/bin/bash
# http://www.vladimirm.com/blog/2011/06/export-files-from-mongodb-gridfs-with-directory-paths/
_host="${1:?Usage: gridfs host db}"
_db="${2:?Usage: gridfs host db}"
while read -r line; do
file=$(echo "$line" | awk -F'\t' '{ print $1 }')
[[ $file == 'connected to'* ]] && continue
directory=${file%/*}
mkdir -p $directory
@lsm
lsm / Dockerfile
Created Dec 17, 2017 — forked from kenfehling/Dockerfile
Docker: Ubuntu 16.04 with Node 6.10.2, Selenium Standalone, Chrome Headless
View Dockerfile
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
apt-transport-https \
openjdk-8-jre-headless \
curl \
xz-utils \
unzip \
bzip2 \
@lsm
lsm / TiOverLay.js
Created Feb 15, 2011
ti background gradient
View TiOverLay.js
// https://github.com/sspinc/OverlayTest
// Whip up a basic UI ...
Titanium.UI.setBackgroundColor('#fff');
var nav = Titanium.UI.createTabGroup();
var window = Ti.UI.createWindow({ title: 'Web View Test', tabBarHidden: true, navBarHidden: true, backgroundColor: '#c0c0c0' });
var mainTab = Titanium.UI.createTab({
icon: 'KS_nav_views.png',
@lsm
lsm / app.js
Last active Jul 14, 2016
express -> micromono
View app.js
var app = require('express')()
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'pug')
app.use(express.static(path.join(__dirname, 'public')))
app.get('/', function(req, res){
res.render('index.pug')
})
View keybase.md

Keybase proof

I hereby claim:

  • I am lsm on github.
  • I am lsm (https://keybase.io/lsm) on keybase.
  • I have a public key ASBpGnftcilmP_g7XoeQkY4v2zyOLF9vafd8a8yy_5pTmAo

To claim this, I am signing this object:

View stdio-2.js
/*
In a child process, each of the stdio streams may be set to
one of the following:
1. A new file descriptor in the child, dup2'ed to the parent and
exposed to JS as a Stream object.
2. A copy of a file descriptor from the parent, with no other
added magical stuff.
3. A black hole - no pipe created.
@lsm
lsm / base.js
Last active Dec 15, 2015
Feature rich Javascript OO implementation
View base.js
/**
* Javascript OO helpers
*/
/**
* Module exports.
*/
exports.Base = Base;
@lsm
lsm / binary_parser.js
Created Feb 14, 2013
Javascript binary parser by Jonas Raoni Soares Silva
View binary_parser.js
/**
* Binary Parser.
* Jonas Raoni Soares Silva
* http://jsfromhell.com/classes/binary-parser [v1.0]
*/
var chr = String.fromCharCode;
var maxBits = [];
for (var i = 0; i < 64; i++) {
maxBits[i] = Math.pow(2, i);
@lsm
lsm / benchmark_js_oo
Last active Oct 13, 2015
Benchmark between different implementation of javascript 'class'
View benchmark_js_oo
# npm install genji benchmark
var genji = require('genji');
var Benchmark = require('benchmark');
var Base = genji.Base;
var util = require('util'),
times = 500000;