Skip to content

Instantly share code, notes, and snippets.

View martinogden's full-sized avatar

Martin Ogden martinogden

  • United Kingdom
View GitHub Profile
@martinogden
martinogden / euclid.py
Created October 29, 2012 13:28
n-dimensional Euclidean Distance
def euclidean_distance(p, q):
""" Calculate distance between 2 points in n-dimensional space
>>> euclidean_distance((3, 0), (0, 4))
5.0
"""
n = len(p) # dimensions
return sum([(p[i] - q[i]) ** 2 for i in xrange(n)]) ** 0.5
@martinogden
martinogden / binary_search.js
Created November 10, 2011 16:17
Binary Search Algorithm
/**
* @param {list} data List of integers sorted ascending
* @param {int} find Integer to search for
* @param {int} start Min array index
* @param {int} end Max array index
* @return {int} Index of 'find' or -1 if not found
*/
var binarySearch = function (data, find, start, end) {
var mid = start + (end - start) / 2;
@martinogden
martinogden / gist:1331083
Created November 1, 2011 16:41
Map Populator
/**
* Create a google map and populate it with markers and infoboxes
*
* @requires underscore.js @link http://documentcloud.github.com/underscore/
* @param options {object} Override default settings
* @return {object} this
*/
var MapPopulator = function (options) {
var defaults = {
// Requires jQuery Rotate Plugin - http://wilq32.googlepages.com/wilq32.rollimage222
$(function()
{
var angle;
function begin_rotation(override_angle)
{
// Generate random number between 15 and 35 for rotation distance
amount = Math.floor(Math.random()*36);
while(amount < 15)
{