Skip to content

Instantly share code, notes, and snippets.

View pwenzel's full-sized avatar

Paul Wenzel pwenzel

View GitHub Profile
@pwenzel
pwenzel / require_all_helper.php
Created August 23, 2012 17:07
Recursively include all PHP files
<?php
/**
* Scan the api path, recursively including all PHP files
*
* @param string $dir
* @param int $depth (optional)
*/
protected function _require_all($dir, $depth=0) {
if ($depth > $this->max_scan_depth) {
@pwenzel
pwenzel / .ackrc
Created September 11, 2012 17:12
.ackrc
# add .tpl for smarty files
--type-set=smarty=.tpl
--type-set=tpl=.tpl
# plain text CSV files
--type-set=csv=.txt,.csv,.tsv
# CSS/LESS
--type-set=css=.css,.less
@pwenzel
pwenzel / internet_radio_stream_aliases.sh
Created October 23, 2012 15:16
Internet Radio Streams Via Command Line
# 1. Install mplayer command line (via Brew, Macports, or APT)
# 2. Add the following aliases to ~/.profile
# 3. Type `source ~/.profile`
# 3. Type `news` or `current` to listen in your terminal
alias news="mplayer -playlist http://minnesota.publicradio.org/tools/play/streams/news.pls" # MPR News
alias current="mplayer -playlist http://minnesota.publicradio.org/tools/play/streams/the_current.pls" # The Current
alias classical="mplayer -playlist http://minnesota.publicradio.org/tools/play/streams/classical.pls" # Classical MPR
alias localcurrent="mplayer -playlist http://minnesota.publicradio.org/tools/play/streams/local.pls" # Local Current
alias heartland="mplayer -playlist http://minnesota.publicradio.org/tools/play/streams/radio_heartland.pls" # MPR Radio Heartland
@pwenzel
pwenzel / box_autologin_using_expect.sh
Created November 4, 2012 16:42
Mount Box.net via WebDAV using Expect
#!/usr/bin/expect
# set variables
set username example@example.com
set password changeme
set certificate_accept y
spawn mount -t davfs https://www.box.com/dav/ /mnt/box.net/
# Look for username prompt
expect "username:"
@pwenzel
pwenzel / screenshot-responsive.sh
Created November 7, 2012 00:06
Capture Screenshots of Multiple Sizes
for w in 320 640 960;
do webkit2png -Fs 1 -W $w -o $w$(date +%Y%m%d-%H%M%S) "http://mediaqueri.es";
done
@pwenzel
pwenzel / header-uname.php
Created November 20, 2012 16:08
Output Server Hostname as HTTP Header
<?php
// return host name from server for debugging purposes
header('X-App-Host: served from ' . php_uname('n'));
@pwenzel
pwenzel / post-receive.sh
Created November 25, 2012 20:13
Git Post Receive Deployment Hook (pulls latest, then saves deployment log and current version to file)
#!/bin/sh
cd /path/to/project/ || exit
unset GIT_DIR
LOGFILE=deployments.log
echo $(date) >> $LOGFILE
git pull origin master >> $LOGFILE
git update-server-info
echo $(git rev-parse --short HEAD) > VERSION
@pwenzel
pwenzel / perpetual-rsync.sh
Created December 1, 2012 15:15
Automatically resume rsync over SSH after broken connection
#!/bin/bash
while [ 1 ]
do
rsync -avz --partial source dest
if [ "$?" = "0" ] ; then
echo "rsync completed normally"
exit
else
echo "Rsync failure. Backing off and retrying..."
@pwenzel
pwenzel / post-commit.sh
Created December 17, 2012 16:58
Echo current git revision to VERSION file on post-commit
#!/bin/sh
PROJECTPATH=$(git rev-parse --show-toplevel)
echo $(git rev-parse --short HEAD) > $PROJECTPATH/VERSION
@pwenzel
pwenzel / wordpress-cache-control.php
Created December 17, 2012 21:21
Make Cloudflare cache Wordpress pages for 5 minutes
<?php
if(!is_404()) {
// Set caching headers (cache for 5 minutes)
header('Cache-Control: max-age=300, must-revalidate');
header('Expires: '.gmdate('D, d M Y H:i:s', strtotime('+5 minutes')).' GMT');
}