Skip to content

Instantly share code, notes, and snippets.

@tarranjones
tarranjones / array_change_key_type.php
Created December 12, 2016 23:16
array key casting
<?php
function array_change_key_type(array $array, $type = T_STRING_CAST )
{
if($token === T_STRING_CAST) {
$obj = new stdClass();
foreach($array as $key => $value){
$obj->{$key} = $value;
}
return (array) $obj;
@tarranjones
tarranjones / 0_reuse_code.js
Created December 12, 2016 11:11
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
#!/usr/bin/env zsh
datadir=${XDG_DATA_HOME:-$HOME/.local/share}/windows
mkdir -m 0700 -p $datadir
git -C $datadir init
logfile=$datadir/windows-vms
exec >>$logfile
date=$(date)
echo
echo "# $date"
curl -fsSL https://developer.microsoft.com/en-us/microsoft-edge/api/tools/vms/ | \
@tarranjones
tarranjones / AbstractSingleton.php
Last active December 4, 2016 21:03
Singleton Classes
<?php
abstract class AbstractSingleton implements SingletonInterface
{
final public static function getInstance()
{
static $instance;
return $instance = $instance ?: new \static();
}
final private function __construct() {}
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
@tarranjones
tarranjones / install-composer-bash
Last active November 22, 2016 11:32
cross platform Install for composer -requires bash, curl, git and php
# for name in {bash,curl,git,php} ; do which $name ; done
mkdir -p /usr/local/bin
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
@tarranjones
tarranjones / .bash_function_append
Last active November 22, 2016 10:38
Appends lines of text to a specified file but only if the line doesn't already exist
function append(){
count=$#;
filename=${!count}
for i in "$@"; do
if ! [[ "$filename" = "$i" ]]; then
grep -q -F "$i" $filename || echo "$i" >> $filename
fi
done
}
@tarranjones
tarranjones / .bash_alias_osx
Created November 15, 2016 12:20
hidden files - refreshFinder, showFiles, hideFiles, toggleFiles
alias refreshFinder='echo "Refreshing Finder . ."; killall Finder /System/Library/CoreServices/Finder.app'
alias showFiles='echo "Showing All Files . ."; defaults write com.apple.finder AppleShowAllFiles YES; refreshFinder;'
alias hideFiles='echo "Hiding Files . ."; defaults write com.apple.finder AppleShowAllFiles NO; refreshFinder;'
alias toggleFiles='yn=$(defaults read com.apple.finder AppleShowAllFiles); if [ $yn = "YES" ]; then hideFiles; else showFiles; fi'
@tarranjones
tarranjones / tkheader.php
Created November 10, 2016 11:07
response header for DNT (tracking-status-values)
/*
* @info https://www.w3.org/TR/tracking-dnt/#tracking-status-value
*/
function getRequestTrackingStatusValue(){
return "N";
/*
old='ubuntu-desktop'
new='elementary-desktop'
repo='ppa:elementary-os/stable'
sudo add-apt-repository $repo --yes --update
sudo apt remove $old
sudo apt install $new
sudo apt autoremove