Skip to content

Instantly share code, notes, and snippets.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>DEPLOYMENT_METHOD</string>
<key>teamID</key>
<string>TEAM_ID</string>
</dict>
</plist>
@joelambert
joelambert / ddns.sh
Created December 3, 2013 21:10
Update Dynamic DNS record hosted with DNSMadeEasy with current local IP address. This is useful for local web testing on mobile devices on the same WiFi Network
#!/bin/bash
# Auth/DNS Record Details
USERNAME="USERNAME"
PASSWORD="PASSWORD"
ID="DNS-RECORD-ID"
# Get the IP Address
IP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')
@joelambert
joelambert / gist:7114951
Created October 23, 2013 08:49
Mac vhost setup: /etc/apache2/extra/httpd-vhosts.conf
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation jat
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
@joelambert
joelambert / ddns.php
Created May 9, 2012 08:16
Update DNS Made Easy DDNS Record with Local IP
#!/usr/bin/php
<?php
/**
* Update DNS Made Easy DDNS Record with Local IP
* http://www.joelambert.co.uk
*
* Copyright 2012, Joe Lambert.
* Free to use under the MIT license.
* http://joelambert.mit-license.org/
*/
@joelambert
joelambert / script.js
Created December 20, 2011 13:01
flux.js example - single transition with no pagination
// Execute this code when the page has loaded
$(function() {
var slider = new flux.slider('#slider', {
transitions: ['swipe'], // Limit the transitions to just the swipe effect
pagination: false // Disable the pagination controls
});
});
@joelambert
joelambert / morf.js
Created August 1, 2011 08:53
Morf v0.1.5 Pre Release
/**
* @preserve Morf v0.1.5 (pre-release)
* http://www.joelambert.co.uk/morf
*
* Copyright 2011, Joe Lambert.
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*/
var Morf = function(elem, css, opts) {
@joelambert
joelambert / parseCSS3AnimationShorthand.js
Created June 7, 2011 10:24
Parse the CSS3 Animation shorthand statement
/**
* parseCSS3AnimationShorthand
* Parses a CSS3 Animation statement into an object.
* http://www.joelambert.co.uk
*
* Copyright 2011, Joe Lambert.
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*
* e.g. parseCSS3AnimationShorthand('boxRotate 600ms linear 2s');
@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
@joelambert
joelambert / flux.transitions.blinds3d.js
Created May 20, 2011 11:11
flux.transitions.blinds3d
flux.transitions.blinds3d = function(fluxslider, opts) {
return new flux.transition(fluxslider, $.extend({
requires3d: true,
barWidth: 150,
perspective: 600,
setup: function() {
var barCount = Math.floor(this.slider.image1.width() / this.options.barWidth) + 1;
var blockCountY = Math.floor(this.slider.image1.height() / this.options.barWidth) + 1;
// Adjust the barWidth so that we can fit inside the available space
@joelambert
joelambert / flux.transitions.tiles3d.js
Created May 20, 2011 09:48
flux.transitions.tiles3d
flux.transitions.tiles3d = function(fluxslider, opts) {
return new flux.transition(fluxslider, $.extend({
requires3d: true,
tileWidth: 180,
perspective: 600,
setup: function() {
var blockCountX = Math.floor(this.slider.image1.width() / this.options.tileWidth) + 1;
var blockCountY = Math.floor(this.slider.image1.height() / this.options.tileWidth) + 1;
// Adjust the tileWidth so that we can fit inside the available space