Skip to content

Instantly share code, notes, and snippets.


Ian Gilham igilham

View GitHub Profile
View .profile
# Profile for Mac OS X systems
# Proxy setup ----------------------------------------------------------
export PROXY_PORT=80
function proxy_reset() {
if [ "$1" = "MyCompany On Network" ]; then
igilham /
Created Feb 27, 2015
Migrate a file with history from one Git repo to another
cd repository
git log --pretty=email --patch-with-stat --reverse --full-index --binary -- path/to/file_or_folder > patch
cd ../another_repository
git am < ../repository/patch
igilham /
Last active Nov 14, 2019
Works out the YIQ values of a given RGB colour and suggests a pallet of similar colours with the same chrominance. This can be used on legacy TV platforms to reduce chroma crawl, where colours bleed into each other.
#!/usr/bin/env python
import sys
def rgb2Yiq(red, green, blue):
y = int((0.299 * red) + (0.587 * green) + (0.114 * blue))
i = int((0.596 * red) - (0.275 * green) - (0.321 * blue))
q = int((0.212 * red) - (0.528 * green) + (0.311 * blue))
return (y, i, q)
igilham /
Created Jan 16, 2015
An untested experimental program to stream files one packet at a time, with a pause feature. This will certainly be very slow if it works at all.
#!/usr/local/bin/env python
import signal
import sys
packet_size = 188
position = 0
paused = False
def pause_handler(signal, frame):
igilham / CMakeLists.txt
Created Dec 9, 2014
CMake add_sources Macro
View CMakeLists.txt
set(SRCS "")
macro (add_sources)
foreach (_src ${ARGN})
if (_relPath)
list (APPEND SRCS "${_src}")
list (APPEND SRCS "${_src}")
igilham /
Created Nov 4, 2014
Update Java Version on Mac OS X
# assuming you just installed Oracle JDK7 in '/Library/Java/JavaVirtualMachines/jdk1.7.0_72.jdk'
cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo mv CurrentJDK JDK6
# the version number must match the installed version
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_72.jdk /Library/Java/JavaVirtualMachines/jdk1.7.0
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0/Contents JDK7
sudo ln -s JDK7 CurrentJDK
sudo cp -r JDK6/Commands JDK7/
igilham / proxy
Created Oct 3, 2014
Enable/Disable proxy settings defined elsewhere
View proxy
# Toggle proxy settings.
# It will be necessary to reload ${HOME}/.profile after running this.
USAGE="usage: ${0} on|off|status"
if [[ "d${PROXY_FILE}d" == "dd" ]]; then
echo "PROXY_FILE undefined" >&2
exit 1
igilham /
Created Oct 3, 2014
Automate setting up software from a fresh install on Mac OS X
# mac setup automation script based on
# Check for Homebrew,
# Install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
ruby -e "$(curl -fsSL"
igilham /
Last active Dec 29, 2021
Test if a list of files (URLS) exist on a web server
# List missing files from a web server. Missing means we get a non-200 response.
for ITEM in ${FILES}; do