Never been to TextSnippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)

About this user

Jamie Wilkinson http://tramchase.com

« Newer Snippets
Older Snippets »
4 total  XML / RSS feed 

Convert MySQL tables to InnoDB

// Slower than MyISAM, but row locking is clutch if you're doing a lot of writes amirite?

for t in $(mysql --batch --column-names=false -e "show tables" mydbname |grep -v "exclude_this");
do
mysql -e "alter table $t type=InnoDB" mydbname;
done


From:
http://ludo.qix.it/archive/2005/04/convert-a-bunch-of-tables-to-innodb.html

Cache a local copy of Google Analytics' urchin.js

Speed up your website by caching Google's urchin.js locally, and then refreshing it @nightly with this here script. Some background: http://tramchase.com/blog/broken-urchintracker-calls-google-analytics-down

#!/bin/sh
# urchin.js local caching by Jamie Wilkinson 

# config
DIR=/directory/where/you/want/js

# work
URCHIN=$DIR/urchin.js
wget http://www.google-analytics.com/urchin.js -O $URCHIN.tmp
if [ -s $URCHIN.tmp ]; then
        rm $URCHIN
        mv $URCHIN.tmp $URCHIN
        chmod 644 $URCHIN
fi

exit 0;

Handling filenames with spaces in a bash for or while loop

// The `find` here gets every directory in my home dir, one level deep, but some of them have spaces... the default 'for i in $(find ...)' behavior treats each individual word boundary as a separate variable, but piping to `read` breaks them on newlines
// Note: OS X `find` does not support "-depth 1" (its -depth opt is for depth-first searching vs. breadth-first), just use an 'ls' with an 'if [ -d $filename]' to test for directories

find ~ -type d -depth 1 | while read filename; do
# ls ~ | while read filename; do
        echo $filename
        # other stuff
done

sup: bash script for universal SCM syncing (svn, svk, cvs, darcs, etc.)

I really can never remember if the project I'm in uses svn or cvs or if it's my own local svk mirror, etc. etc. Thus was born 'sup'!

Save and drop into a location that's in your PATH (I use ~/bin, YMMV)

#!/bin/bash
# sup -- a quick bash script to sync w/ various SCM tools
# @author   Jamie Wilkinson 

HERE=$(pwd)

## subversion
if [ -e ".svn" ]; then
        svn up
## cvs
elif [ -e "CVS" ]; then
        cvs up -dP
## darcs
elif [ -e "_darcs" ]; then
        darcs pull --all
## svk
elif [ -n "`grep $HERE ~/.svk/config`" ]; then
    svk up
## git
elif [ -e ".git" ]; then
    git pull
## perforce
#   todo
## arch
#   todo
## bzr
#   todo

fi
« Newer Snippets
Older Snippets »
4 total  XML / RSS feed