Skip to content

Instantly share code, notes, and snippets.

@samkeen
samkeen / simple-web-server.js
Created May 5, 2014 15:21
Simple Web Server with directory listing
var express = require('express')
var directory = require('serve-index')
var logger = require('morgan')
var app = express()
app
.use(logger())
// enable direcotry listing
.use(directory('public', {'icons': true}))
// serve files
open term
$ workon zamboni
$ pyman runserver 8888
open term
$ rabbitmq-server
# if wont start, http://gist.github.com/472601
open term
$ workon zamboni
$ git co -b rss-versions
# make your branch visible for others
$ git push origin rss-versions
@samkeen
samkeen / Arr.php
Created September 18, 2010 19:07
PHP Array Util
<?php
/**
* array Util class
*/
class Arr {
/**
* $array Can be either an Array or the string output of
* print_r($array, true);
*/
public static function print_php($array) {
@samkeen
samkeen / phpswitch.sh
Created November 18, 2010 20:39
on OSX leopard, switch between 2 php's
#!/bin/bash
php52_so_path="/usr/local/php5/lib/libphp5.so"
# /usr/libexec/apache2/libphp5.so will be copied to
# $php53_so_path if $php53_so_path does not exist
php53_so_path="/usr/libexec/apache2/libphp5.so.apple"
# where apache thinks the php .so file is
apache_conf_php_so_path="/usr/libexec/apache2/libphp5.so"
switch_to_php=$php52_so_path
@samkeen
samkeen / TimeUpTHeStack.txt
Created November 23, 2010 19:08
Orders of magnitude increase in time as you leave the CPU and head up the stack to the Network
L1 cache reference | 0.5 ns
Branch mispredict | 5 ns
L2 cache reference | 7 ns
Mutex lock/unlock | 25 ns
Main memory reference | 100 ns
Compress 1K bytes w/ cheap algorithm | 3,000 ns
Send 2K bytes over 1 Gbps network | 20,000 ns
Read 1 MB sequentially from memory | 250,000 ns
Round trip within same datacenter | 500,000 ns
Disk seek | 10,000,000 ns
@samkeen
samkeen / brew-php-output.txt
Created January 30, 2011 18:54
Attempt to run `brew install php --with-apache --with-mysql`
$ brew install -v php --with-apache --with-mysql
==> Build Environment
CC: /usr/bin/cc => /usr/bin/gcc-4.2
CXX: /usr/bin/c++ => /usr/bin/c++-4.2
LD: /usr/bin/cc => /usr/bin/gcc-4.2
CFLAGS: -O3 -march=core2 -msse4.1 -w -pipe
CXXFLAGS: -O3 -march=core2 -msse4.1 -w -pipe
CPPFLAGS: -I/usr/local/Cellar/gettext/0.17/include -I/usr/local/Cellar/libpng/1.2.44/include -I/usr/local/Cellar/libxml2/2.7.7/include
LDFLAGS: -L/usr/local/Cellar/gettext/0.17/lib -L/usr/local/Cellar/libpng/1.2.44/lib -L/usr/local/Cellar/libxml2/2.7.7/lib
MAKEFLAGS: -j2
@samkeen
samkeen / AliasSyncDataObject.php
Created June 13, 2011 16:59
Generic data object with alias sync
<?php
/**
* AliasSyncDataObject
* This is a data object that allows models to be marshaled from Doctrine to Si
* and back again.
* It is mostly just coordinating field alias names and keeping their values in sync.
*/
class AliasSyncDataObject {
@samkeen
samkeen / spinner.php
Created August 2, 2011 20:05
PHP spinner
<?php
function spinner($speed=200000)
{
static $counter;
$characters = array('|', '/', '-', '\\', '|', '-', '\\');
$backspace = "\010";
echo $characters[$counter % (count($characters)-1)];
usleep($speed);
echo $backspace;
$counter++;