Skip to content

Instantly share code, notes, and snippets.

View davidejones's full-sized avatar
🤷‍♂️
keep our code running while other packages are changing theirs

David Jones davidejones

🤷‍♂️
keep our code running while other packages are changing theirs
View GitHub Profile
@davidejones
davidejones / unity_generate_cube.cs
Created January 16, 2016 22:17
unity3d create cube from script
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[ExecuteInEditMode]
public class monkey : MonoBehaviour {
private Mesh mesh;
private List<Vector3> verts = new List<Vector3>(){
new Vector3(1f, 1f, -1f),
@davidejones
davidejones / checkVersion.js
Last active June 23, 2016 21:26
jquery detect if to use .live .delegate or .on
function checkVersion()
{
// jQuery 1.3+ .live
// jQuery 1.4.3+ .delegate
// jQuery 1.7+ .on
var vernums = $.fn.jquery.split('.');
if(vernums.length >=2 )
{
// if there is no 3rd param set to zero
if(vernums.length == 2) vernums[2] = 0;
@davidejones
davidejones / linkedlist.js
Created July 18, 2016 15:58
Javascript linkedlist test
var LinkedList = function() {
this.head = null;
this.tail = null;
var Node = function(data) {
this.data = data;
this.next = null;
};
@davidejones
davidejones / binarysearch.js
Last active July 19, 2016 14:18
Javascript binary search test
function binarySearch(target, data)
{
if(data.length <= 0) return -1;
if(data.length == 1 && data[0] != target) return -1;
var midpoint = Math.floor(data.length/2);
if(data[midpoint] == target)
{
return true;
} else {
@davidejones
davidejones / merge_sort.py
Created August 24, 2016 17:03
first attempt at a merge sort
def merge_sort(l, first_iteration=False):
data = []
if first_iteration:
return merge_sort([[i] for i in l])
else:
for i in xrange(0, len(l), 2):
left, right = l[i], l[i+1] if i != len(l)-1 else []
subdata = []
for l_item in list(left):
for r_item in list(right):
@davidejones
davidejones / repeating_chars.py
Created August 24, 2016 19:43
repeating characters checking
letters = 'aaaabbbbbbbcccddddddddeeeee'
data = {}
for letter in letters:
if letter in data:
data[letter] += 1
else:
data[letter] = 1
# which letter has the most repeating chars
l = max(data.iterkeys(), key=lambda k: data[k])
@davidejones
davidejones / fizzbuzz.py
Created August 29, 2016 17:26
trying out a fizzbuzz
def main():
for i in xrange(1, 101):
if i % 3 == 0 and i % 5 == 0:
print('%d FizzBuzz' % i)
elif i % 3 == 0:
print('%d Fizz' % i)
elif i % 5 == 0:
print('%d Buzz' % i)
else:
print(i)
@davidejones
davidejones / quick_sort.py
Last active August 31, 2016 16:20
first attempt at a quick sort
def quick_sort(l, start=None, end=None):
# get the length of our working list
list_len = len(l[start:end])
# if this is the first iteration end is length of whole list
end = len(l) if end is None else end
# choose the last item of working list as pivot
pivot = l[end-1]
# set wall left of first element in working list
wall_index = start-1 if start is not None else -1
# set the current element we start with to after wall (first element in working list)
@davidejones
davidejones / inplace_insertion_sort.py
Last active September 14, 2016 04:10
attempt at an insertion sort
def inplace_insertion_sort(unsorted_list, split_index=None):
# if we have no split_index yet we know this is first iteration so lets split it
split_index = 1 if not split_index else split_index
# loop over each item in unsorted list
for uitem in unsorted_list[split_index:len(unsorted_list)]:
# reverse the sorted list to loop over as we compare right to left
for index, sitem in enumerate(reversed(unsorted_list[:split_index])):
if uitem > sitem:
# remove from unsorted so we don't look at it again
unsorted_list.remove(uitem)
@davidejones
davidejones / bubble_sort.py
Last active September 25, 2016 04:05
first attempt at a bubble sort
def bubble_sort(l):
# keep track of if we did any swapping
swapped = False
# loop over all elements in list
for i in xrange(0, len(l), 1):
# look at this item and the next and see if they need to swap
if i != len(l) - 1:
if l[i] > l[i + 1]:
l[i], l[i + 1] = l[i + 1], l[i]
swapped = True