Instantly share code, notes, and snippets.

Andrew Collington amnuts

View GitHub Profile
@amnuts
amnuts / timer.php
Last active Oct 26, 2018
Simple PHP timer class
View timer.php
<?php
/**
* Utility class to enable very simplistic timing.
*
* Usage example:
*
* $t = new Timer();
* // do something here
* echo $t;
@amnuts
amnuts / limit-textarea.js
Created Sep 18, 2017
Show word or character count on text boxes/areas that have data-max-length="<number>" and data-max-type="(character|word)" attributes.
View limit-textarea.js
<script type="text/javascript">
$(function(){
function wordCount(str, charlist) {
var len = str.length, cl = charlist && charlist.length,
chr = '', tmpStr = '', i = 0, c = '', wC = 0, reg = '', match = false;
var _preg_quote = function(str) {
return (str + '').replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!<>\|\:])/g, '\\$1');
}
var _getWholeChar = function(str, i) {
var code = str.charCodeAt(i);
@amnuts
amnuts / sort.js
Created Jun 14, 2017
Sort js hash, retaining key association
View sort.js
// From: https://stackoverflow.com/a/36079484
// The unsorted data
let data = {
a: 'A',
c: 'C',
b: 'B'
};
// Create it sorted
@amnuts
amnuts / ofilter.php
Last active Nov 2, 2018
Filter an array of objects based on property, or multiple property values
View ofilter.php
<?php
/**
* Filter an array of objects.
*
* You can pass in one or more properties on which to filter.
*
* If the key of an array is an array, then it will filtered down to that
* level of node.
*
@amnuts
amnuts / gist:d366e76122f1ad32052d8b82dd2d516c
Created Apr 6, 2017
Convert lots of h264 files to mp4 from command line on rpi
View gist:d366e76122f1ad32052d8b82dd2d516c
# first make sure MP4Box is install
sudo apt-get install gpac
# then run this from the command line
for i in *.h264; do MP4Box -add $i ${i%.*}.mp4; done
@amnuts
amnuts / volume.py
Created Jan 11, 2017
Use a rotary controller to adjust volume on a Raspberry Pi
View volume.py
from RPi import GPIO
from time import sleep
import subprocess
clk = 5
dt = 6
btn = 26
# vals from output of amixer cget numid=1
min = 0
@amnuts
amnuts / .bashrc
Last active Mar 17, 2016
Bash prompt stuff
View .bashrc
# change the colour of the base directory depending on whether
# I'm in the live/staging/dev areas. Also show the user and host
# as well as the bash history number of the command.
C_DEV="\[\033[0;32m\]" # green
C_STAGE="\[\033[0;33m\]" # yellow
C_LIVE="\[\033[1;31m\]" # bold red
C_PATH="\[\033[0;37m\]" # white
C_COUNT="\[\033[0;36m\]" # cyan
C_NONE="\[\033[0m\]" # reset
@amnuts
amnuts / phprc
Last active May 10, 2018
Dreamhost PHP 5.6 phprc file
View phprc
date.timezone = "Europe/London"
expose_php = 0
extension = phar.so
extension = fileinfo.so
extension = intl.so
suhosin.executor.include.whitelist = phar
[opcache]
zend_extension=opcache.so
@amnuts
amnuts / toner.js
Created Jan 12, 2016
jquery plugin for toning an image
View toner.js
/**
* Usage:
*
* <img src="pic.jpg" data-colour="blue" />
* <img src="pic.jpg" data-colour="green" data-contrast="40" />
* <img src="pic.jpg" data-colour="pink" data-brightness="30" />
* <img src="pic.jpg" data-colour="#ddc258" data-contrast="40" data-brightness="30" />
* <script>$(function(){ $(img['data-colour']).toner(); });</script>
*/
;(function ($, window, document, undefined) {
@amnuts
amnuts / char-word-count.js
Last active Sep 30, 2016
word/char count w/ jquery
View char-word-count.js
$(function(){
var txt = $('.content')[0].text(),
charCount = txt.length,
wordCount = txt.replace(/[^\w ]/g, "").split(/\s+/).length;
$('#somwhereInYourDocument').text("The text had " + charCount + " characters and " + wordCount +" words");
});