Skip to content

Instantly share code, notes, and snippets.

View mlms13's full-sized avatar
⚗️

Michael Martin mlms13

⚗️
View GitHub Profile
@mlms13
mlms13 / module.js
Last active August 29, 2015 14:06
Unit tests for a function that calculates items that fit in a row, given row width, item width, and gutter between items.
module.exports = {
/**
* Given the width of a container, the width of an item, and the gutter between inner items,
* calculate the number of items that can fit on a single row inside the container.
* @param {number} rowWidth the width, in pixels, of the container
* @param {number} itemWidth the width of each individual item in the container
* @param {number} [gutter] the space, in pixels, between each item (optional)
* @return {number} the number of items that fit in a row without overflow, never less than 1
*/
calculateItemsPerRow: function (rowWidth, itemWidth, gutter) {
@mlms13
mlms13 / review-reduce.js
Last active August 29, 2015 14:06
Reduce an array of reviews so that they are grouped by publication
db.reviews.find({}, function (err, result) {
if (err) next(err);
// each item in the result array looks like this
// {
// source: 'The Washington Post',
// location: 'City, State',
// review: 'Several paragraphs of review text'
// }
@mlms13
mlms13 / map-reduce-grouping.js
Created September 8, 2014 19:35
Map/Reduce to group blog posts by year
// Assume you retrieve an array of blog posts, with each item in the array looking like:
// {
// title: "",
// date: new Date(),
// ... other properties that are less interesting
// }
// And we want to sort this array by date, print a pretty date,
// and group posts from the same year under the same heading.
@mlms13
mlms13 / Gulpfile.js
Created August 25, 2014 15:32
Deploy ignored, compiled files to Heroku with Gulp
// Use shell commands to commit your ignored, compiled files, push
// everything to Heroku, and reset your commit like it never happened
gulp.task('deploy', ['other', 'compilation', 'tasks'], function () {
var shell = require('shelljs');
if (!shell.which('git')) {
console.error('You need git installed to deploy.');
shell.exit(1);
}
@mlms13
mlms13 / node-ip.js
Created June 3, 2014 15:16
Find IP address in node
var getIpAddress = function (interfaces) {
'use strict';
var ip = [],
iface = null;
// loop through each interface in the interfaces object
for (iface in interfaces) {
// loop through each of the objects in the iface array
@mlms13
mlms13 / index.html
Created October 4, 2012 13:34
A grid of buttons for the USF College of Nursing program to deliver Teddy Bears to children in hospitals.
<section class="tan two-line">
<a href="#" class="simple">Order your<br /> B.E.A.R.S. Today</a>
<a href="#" class="round">Order your<br /> B.E.A.R.S. Today</a>
<a href="#" class="square">Order your<br /> B.E.A.R.S. Today</a>
</section>
<section class="gold two-line">
<a href="#" class="simple">Order your<br /> B.E.A.R.S. Today</a>
<a href="#" class="round">Order your<br /> B.E.A.R.S. Today</a>