Skip to content

Instantly share code, notes, and snippets.

View LiamChapman's full-sized avatar

Liam Chapman LiamChapman

View GitHub Profile
<?php
function luhnCheck($number) {
$digits = str_split($number);
for( $i = (count($digits) - 2); $i >= 0; $i -= 2 ) {
$digits[$i] *= 2;
}
$digits = str_split(implode($digits));
return (array_sum($digits) % 10) === 0;
}
@jakebellacera
jakebellacera / ICS.php
Last active November 5, 2025 17:43
A convenient script to generate iCalendar (.ics) files on the fly in PHP.
<?php
/**
* This is free and unencumbered software released into the public domain.
*
* Anyone is free to copy, modify, publish, use, compile, sell, or
* distribute this software, either in source code form or as a compiled
* binary, for any purpose, commercial or non-commercial, and by any
* means.
*
@stuartloxton
stuartloxton / gist:652483
Created October 28, 2010 22:35
Closure Memoization in PHP
<?php
function Memoize($function) {
$cache = array();
return function() use (&$cache, $function) {
$args = func_get_args();
$serialized = serialize($args);
if( isset($cache[$serialized]) )
return $cache[$serialized];
@terjin
terjin / Blip Animation.css
Created December 2, 2010 00:35
A blip that pulsates created with css3
.tip_shape {
position: absolute;
top: 22px;
left: 7px;
width: 10px;
height: 10px;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
-webkit-box-shadow: 0 0 2px black;
@issackelly
issackelly / gist:928783
Created April 19, 2011 16:48
Django Template {{ block.super }} example
# Template: A.html
<html>
<head></head>
<body>
{% block hello %}
HELLO
{% endblock %}
</body>
</html>
@joelambert
joelambert / README
Created June 1, 2011 11:03
Drop in replacements for setTimeout()/setInterval() that makes use of requestAnimationFrame() where possible for better performance
Drop in replace functions for setTimeout() & setInterval() that
make use of requestAnimationFrame() for performance where available
http://www.joelambert.co.uk
Copyright 2011, Joe Lambert.
Free to use under the MIT license.
http://www.opensource.org/licenses/mit-license.php
@mathewbyrne
mathewbyrne / slugify.js
Created October 12, 2011 04:34
Javascript Slugify
function slugify(text)
{
return text.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
.replace(/\-\-+/g, '-') // Replace multiple - with single -
.replace(/^-+/, '') // Trim - from start of text
.replace(/-+$/, ''); // Trim - from end of text
}
@paulirish
paulirish / rAF.js
Last active November 18, 2025 04:17
requestAnimationFrame polyfill
// http://paulirish.com/2011/requestanimationframe-for-smart-animating/
// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
// MIT license
(function() {
var lastTime = 0;
var vendors = ['ms', 'moz', 'webkit', 'o'];
@mikermcneil
mikermcneil / Node.js installation on Rackspace
Created January 13, 2012 13:25
Installing nodejs, npm, and all their pals on a Rackspace Ubuntu 11.10 Server
############################################################################
# Installing nodejs, npm, and all their pals on a Rackspace Ubuntu Server
############################################################################
# First get your tools together
apt-get update
apt-get install emacs
apt-get install git
apt-get install curl
apt-get install libssl-dev
@SergXIIIth
SergXIIIth / gist:1628715
Created January 17, 2012 20:31
The first Arduino HTTP request
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0x00, 0xAB, 0xCB, 0xCD, 0xDE, 0x02 };
IPAddress ip(192,168,0,140);
IPAddress server(173,194,70,103);
EthernetClient client;