Skip to content

Instantly share code, notes, and snippets.

View mpalmerlee's full-sized avatar

Matt Palmerlee mpalmerlee

View GitHub Profile
@mpalmerlee
mpalmerlee / git_rdiff.sh
Created January 4, 2024 20:42 — forked from jakiestfu/git_rdiff.sh
git rdiff
git config --global alias.rdiff '!g() { origin=$(git config --get remote.origin.url | sed "s/git@/https:\/\//g" | sed "s/.com:/.com\//g"); url=${origin/.git/\/commit\/$(git rev-parse HEAD)}; open $url; }; g'
#! /usr/bin/python
# -*- coding: utf-8 -*-
import feedparser
import urllib2
def downloadFileProgressBar(url):
file_name = url.split('/')[-1]
u = urllib2.urlopen(url)
@mpalmerlee
mpalmerlee / app.js
Created February 25, 2017 19:53
Maximum Number of points on a line from origin
/* line {x,y,dx,dy} */
var points = [{x:1,y:1},{x:2,y:2},{x:1,y:2},{x:1,y:3},{x:1,y:4}];
var maxNumberOfPoints = 1;
points.forEach(function(pointA) {
var numberOfPointsA = 1;
var atan = Math.atan2(pointA.y, pointA.x);
@mpalmerlee
mpalmerlee / assignment-perf-test.js
Created June 18, 2016 00:34
Javascript performance strangeness: it seems doing a conditional test and assignment is faster than an assignment alone...
var myObj = {};
var populateObj = function(obj) { for(var i = 0; i < 10000; i++) { if(i%5==0)obj[i] = i; } };
//populateObj(myObj);
console.time('test-and-assign');
for(var i = 0; i < 10000; i++) {
if(!myObj[i]){
myObj[i] = i;
}
}
console.timeEnd('test-and-assign');
@mpalmerlee
mpalmerlee / documentModel.js
Last active April 2, 2018 21:12
Save MongoDB Document With Concurrent Edit Protection
var mongoose = require("mongoose");
var ObjectId = mongoose.Schema.Types.ObjectId;
//create schema for a post
var PostSchema = new mongoose.Schema({
nonce: ObjectId, //this is used for protecting against concurrent edits: http://docs.mongodb.org/ecosystem/use-cases/metadata-and-asset-management/
name: String,
dateCreated: { type: Date, default: Date.now },
dateLastChanged: { type: Date, default: Date.now },
postData: mongoose.Schema.Types.Mixed