Skip to content

Instantly share code, notes, and snippets.

@marcmartino
marcmartino / objectNotes.js
Created September 6, 2012 22:00
this issue
var notes = Object.create(udemObj);
notes.noteArray = [];
notes.template = '<div class="allNotesContainer">' +
'<% _.each(noteArray, function (noteRef){ %>' +
'<%= noteRef.toHtml() %>' +
'<% }) %></div>';
notes.load = function (ajaxPath){
$.ajax({
url: ajaxPath,
type: "GET",
@marcmartino
marcmartino / notes.js
Created September 7, 2012 22:30
inheritence, when i callmyNotes.load, this (inside of load) is the notes object, which is set for EVERY object that inherits from notes
var notes = Object.create(udemObj);
notes.load = function (ajaxPath, callback){
$.ajax({
url: ajaxPath,
type: "GET",
success: ajaxSuccess(loadWrap(this),
function (msg){console.warn(msg);}),
complete: callback
});
};
@marcmartino
marcmartino / euler11.js
Last active December 19, 2015 10:59
problem 11 on project euler
var grid = [[8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8],[49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,4,56,62,0],
[81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,3,49,13,36,65],[52,70,95,23,4,60,11,42,69,24,68,56,1,32,56,71,37,2,36,91],
[22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80],[24,47,32,60,99,3,45,2,44,75,33,53,78,36,84,20,35,17,12,50],
[32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70],[67,26,20,68,2,62,12,20,95,63,94,39,63,8,40,91,66,49,94,21],
[24,55,58,5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72],[21,36,23,9,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95],
[78,17,53,28,22,75,31,67,15,94,3,80,4,62,16,14,9,53,56,92],[16,39,5,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57],
[86,56,0,48,35,71,89,7,5,44,44,37,44,60,21,58,51,54,17,58],[19,80,81,68,5,94,47,69,28,73,92,13,86,52,17,77,4,89,55,40],
[4,52,8,83,97,35,99,16,7,97,57,32,16,26,26,79,33,27,98,66],[88,36,68,87,57,62,20,72,3,46,33,67,46,55,12,32,63,93,53,69],
[4,42,16,73,38,25,39,11,24,94,72,18,8,46
@marcmartino
marcmartino / logger.js
Created August 6, 2013 07:08
Functional Logger
var logger = function (loggingMethod) {
return function (logStatement) {
loggingMethod(logStatement);
}; };
log = logger(console.log);
log = logger(alert);
log = logger(function (str) {
$(“#warning”).append(str);
});
log = logger(function (str) {
@marcmartino
marcmartino / file.js
Created November 22, 2013 23:47
bleh
var nike = (function () {
var eventChain = [],
thisJqEle;
return {
findElement: function (elementSelector, asyncTimeout) {
//async should be the lenght of time to wait when looking async for the ele
//sync only now
eventChain.push(function (elementSelector, asyncTimeout) {
return function () {
@marcmartino
marcmartino / mergeSortedArrays.js
Created December 23, 2013 20:25
Write a function that takes two sorted lists of numbers and merges them into a single sorted list.
var assert = require('assert');
function sortMerged(lOne, lTwo) {
return lOne.reduce(function (sortedList, num, index) {
var position = findPositionBinary(sortedList, num);
sortedList.splice(position, 0, num);
return sortedList;
}, lTwo);
}
@marcmartino
marcmartino / subArray.js
Created December 23, 2013 21:21
Given an array of integers (positive or negative) find the sub-arry with the largest sum.
var assert = require("assert");
function largestSubArray(arr) {
var allArrayPoints = set(0, arr.length)
.reduce(commissionArrayPoints(arr), []);
return allArrayPoints.reduce(greaterComparator, allArrayPoints[0]);
}
function commissionArrayPoints(arr) {
return function (accum, num) {
@marcmartino
marcmartino / palindrome.js
Created December 23, 2013 22:09
Determine if a given string is a paindrome
function isPalindrome(str) {
var middle = Math.floor(str.length / 2),
m = 0,
strArr = str.toLowerCase().split("");
for (m; m <= middle; m++) {
if (strArr[m] !== strArr[strArr.length - 1 - m]) {
return false;
}
}
return true;
@marcmartino
marcmartino / baconTree.js
Created December 24, 2013 04:42
Given a large hash table whose keys are movie names and whose values are a list of actors in those movies, write a function to determine the Bacon number of a particular actor.
var assert = require("assert"),
_ = require("underscore"),
testData = {
"Iron Man": ["Robert Downey Jr", "Gwyneth Paltrow", "Terrence Howard"],
"Iron Man 3": ["Robert Downey Jr", "Guy Pearce", "Gwyneth Paltrow"],
"Super Troopers": ["Jay Chandrasekhar", "Kevin Heffernan"],
"The Day After Tomorrow": ["Dennis Quaid", "Jake Gyllenhaal", "Emmy Rossum"],
"The Phantom of the Opera": ["Gerard Butler", "Emmy Rossum", "Patrick Wilson"],
"How I Met Your Mother": ['Josh Radnor', "Jason Segel", "Cobie Smulders", "Kevin Heffernan"],
"Despicable Me": ['Steve Carell', 'Jason Segel', 'Russel Brand', "Michael Fassbender"],
const assert = require('assert');
var xys = [{"x":[1,6],"y":7},{"x":[2,4],"y":8},{"x":[3,7],"y":16},{"x":[6,8],"y":44},{"x":[7,1],"y":50},{"x":[8,4],"y":68}];
var euSqDist = (pt1, pt2) => Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2);
var manDist = (pt1, pt2) => pt1[0] - pt2[0] + pt1[1] - pt2[1];
var genArr = function (len) {
return Array.apply(null, Array(len)).map(function () {
});
};
var pluck = (prop) => (el) => el[prop];