Skip to content

Instantly share code, notes, and snippets.

@puppybits
Last active October 11, 2015 22:48
Show Gist options
  • Save puppybits/3931295 to your computer and use it in GitHub Desktop.
Save puppybits/3931295 to your computer and use it in GitHub Desktop.
Profile
_LGREY='\033[01;32m'
_RED='\e[1;31m'
_USER='\u'
_DIR='\W'
_B_RED='\033[1;31m'
_DEFAULT_COLOR='\033[0m'
function parse_git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "("${ref#refs/heads/}")"
}
PS1="\[$_B_RED\]$_USER:$_DIR\[$_B_RED\] \[$_LGREY\]\[\$(parse_git_branch)\]\[$_RED\]\$ \[$_DEFAULT_COLOR\]"
PROJECT_STORE="~/Store/"
COMPANY="PB"
HOSTNAME="MegaByte"
source ~/.private
############## MACROS ##############
##### DEVELOPMENT
export EDITOR="/usr/local/bin/mate -w"
alias sshcopy="cat ~/.ssh/id_rsa.pub | pbcopy"
alias iphonsim="open ~/Library/Application\ Support/iPhone\ Simulator"
alias chromedb="open ~/Library/Application\ Support/Google/Chrome/Default/databases"
alias couchstore="open /opt/local/var/lib/couchdb"
alias flashlibrary="open /Library/Preferences/Macromedia/Flash\ Player/\#SharedObjects"
alias flashsdk="/Applications/Adobe\ Flash\ Builder\ 4/sdks"
alias apacheerrors="open /private/var/log/apache2/error_log"
alias apacheaccess="open /private/var/log/apache2/access_log"
alias xcodecompany="defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ORGANIZATIONNAME="$COMPANY";}'"
alias locCouch="/opt/local/share/couchdb"
alias locCouchIni="/opt/local/etc/couchdb"
#function curljson() { curl $1 | python -mjson.tool }
#not working yet
#function curlpost(){ URL_PARAMS=$1; POST_URL=$2; curl --data-urlencode "$URL_PARAMS" $POST_URL; }
#not working yet
#function curlget(){ URL_PARAMS=$1; POST_URL=$2; curl "$URL_PARAMS?$POST_URL"; }
#curl is better than wget
#function wget(){ URL = $1; curl -O $URL; }
#create encrypted drive and fix permissions for apache
function newbundle(){
hdiutil create -size 4.2g -fs HFS+J -layout SPUD -type SPARSEBUNDLE -encryption AES-256 -attach -volname $1 ~/Store/$1
chmod go+rX /Volumes/$1
cd /Volumes/$1
}
function newimage(){
hdiutil create -size 4.2g -fs HFS+J -layout SPUD -type SPARSE -encryption AES-256 -attach -volname $1 ~/Dropbox/$1
chmod go+rX /Volumes/$1
cd /Volumes/$1
}
#bundle id for automating wth macruby or others
function appbundleid(){
while read file
do
id=$(mdls -name kMDItemCFBundleIdentifier "$file" | awk '{print $3}')
echo $(basename "$file") $id
done < <(find ~/Applications -type d -iname *$1*.app)
}
#create a diff from a changelist number
function p4changelistdiff(){
CHANGE_LIST_NUMBER=$1;
p4 opened -c $CHANGE_LIST_NUMBER | awk 'BEGIN { FS = "#" } // { print "p4 diff " $1 }' | csh
}
function itest(){ # Automated testing in iphone simulator
MOBILE_SAFARI="/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/Applications/MobileSafari.app";
JS_AUTOMATION_SCRIPT=$1;
APP_NAME=$2;
TEMPLATE_DIR="/Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate";
APP_DIR=$(find ~/Library/Application\ Support/iPhone\ Simulator -iname $APP_NAME.app)
if [ !$APP_DIR ]
then
APP_DIR=$MOBILE_SAFARI;
fi
instruments -t \"$TEMPLATE_DIR\" \"$APP_DIR\" -e UIASCRIPT $JS_AUTOMATION_SCRIPT
}
function halfPNGs(){ # Create @1x PNGs
dir=$1
n=0
while read f
do
i=$(basename "$f")
if [[ $i == *\@2x\.png ]]; then
h=$(sips -g pixelHeight $f)
h=${h#*:}
w=$(sips -g pixelWidth $f)
w=${w#*:}
sips -s format png -z $(expr $h / 2) $(expr $w / 2) $f --out ${f%@*}\.png
fi
done < <(find $dir -iname *.png)
}
function image64(){
filename=$(basename $1)
xtype=${filename##*.}
append=""
if [ $xtype == gif ]; then
append="data:image/gif;base64,";
elif [ $xtype == jpeg ] || [ $xtype == jpg ]; then
append="data:image/jpeg;base64,";
elif [ $xtype == png ]; then
append="data:image/png;base64,";
elif [ $xtype == svg ]; then
append="data:svg+xml;base64,";
elif [ $xtype == ico ]; then
append="data:image/vnd.microsoft.icon;base64,";
fi
data=$(openssl base64 < $1 | tr -d '\n')
if [ "$#" -eq 2 ] && [ $2 == -img ]; then
data=\<img\ src\=\"$append$data\"\>
else
data=$append$data
fi
echo $data | pbcopy
echo "copied to clipboard"
}
##### PROCESSES
#show all process with name..
function psx(){ PROCESS_NAME=$1; ps -a | grep $PROCESS_NAME; }
#kill all instances of a process
function overkill(){ PROCESS_NAME=$1; kill `ps auxww | grep -i $PROCESS_NAME | awk '{print $2}'`; }
##### NETWORK
alias forceHostname="sudo scutil --set HostName $HOSTNAME.local"
alias gatewayip="netstat -nr -f inet | grep default | grep en | awk '{print $2}'"
alias gatewayinterface="netstat -nr -f inet | grep default | grep en | awk '{print $6}'"
#name of the currently connected wireless
alias ssid="/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -I | grep SSID | tail -n 1 | awk '{print $2}'"
#find all ports open from app
function appport(){ APP_NAME=$1; lsof -i -P | grep $APP_NAME; }
##### USERS
alias allgroups="dscl . -list /Groups PrimaryGroupID | sort -n -k2,2"
##### GENERAL
#lock the mac and go to login screen
alias lock="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend"
#hide or show all files
alias showfiles="defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder"
alias hidefiles="defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder"
##### RANDOM
alias where=which #cause i keep forgetting
#2d dock is much prettier
alias dock2d="defaults write com.apple.dock no-glass -boolean YES; killall Dock"
alias dock3d="defaults write com.apple.dock no-glass -boolean NO; killall Dock"
alias screensaver="/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &"
function replace(){ sed -i 's/$1.*/$2/' $3;} #replace this for that
############## SETTINGS ##############
#textmate
export EDITOR='mate -w'
#ffmpeg
export FFMPEG_DATADIR=/opt/local/var/macports/software/ffmpeg/0.6.2_0/opt/local/share/ffmpeg
#MacPorts
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# maven
export M2_HOME=/usr/share/java/apache-maven-2.2.1
export PATH=${M2_HOME}/bin:${PATH}
MAVEN_OPTS="-Xms256m -Xmx2048m -XX:MaxPermSize=2048m"
#java
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
export PATH=$M2:$JAVA_HOME/bin:/usr/local/zend/bin:/opt/local/bin:/opt/local/sbin:$PATH
JAVA_OPTS="-Xms512m -Xmx2048m"
#yuicompressor
alias yuicompressor="java -jar /usr/share/java/yuicompressor-2.4.6/build/yuicompressor-2.4.6.jar"
#php
export PATH="/usr/share/bin:$PATH"
#MongoDB
export PATH=/usr/local/mongodb/bin:$PATH
#NPM
export PATH=/usr/local/lib/node:$PATH
export NODE_PATH=/usr/local/lib/node_modules
# Private Scripts
export PATH=~/.gists:$PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment