Skip to content

Instantly share code, notes, and snippets.

View robbieferrero's full-sized avatar

Robbie Ferrero robbieferrero

View GitHub Profile
@robbieferrero
robbieferrero / index.html
Created July 9, 2018 03:18
The div that look different in every browser
<div></div>
@robbieferrero
robbieferrero / test.c
Created May 24, 2018 16:33
unique words in C
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
enum { MAX_WORDS = 64, MAX_WORD_LEN = 20 };
int main(void)
{
char words[MAX_WORDS][MAX_WORD_LEN];
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<opml version="1.0">
<head>
<title>Pocket Casts Feeds</title>
</head>
<body>
<outline text="feeds">
<outline type="rss" text="JavaScript Jabber Only" xmlUrl="https://feeds.feedwrench.com/js-jabber.rss" />
<outline type="rss" text="The Moth" xmlUrl="http://feeds.feedburner.com/themothpodcast" />
<outline type="rss" text="Bullseye with Jesse Thorn" xmlUrl="https://www.npr.org/rss/podcast.php?id=510309" />
@robbieferrero
robbieferrero / Untitled-1
Created December 17, 2017 04:34
getStyleValue
/**
*
* @param el Element
* @param CSS property in hyphen case
* @param pseudo pseudo selector (optional)
*/
function getStyleValue(el, property, pseudo) {
// convert hyphen-case to camelCase
const elStyle = el.style[property.replace(/(\-[a-z])/g, $1 => $1.toUpperCase().replace('-',''))];
return ((elStyle !== '' && !pseudo)
@robbieferrero
robbieferrero / deepFlatten.js
Last active December 4, 2017 19:18
Deep Flatten
/**
* A utility function to flatten an array, nested to any depth.
* @param {Array} initialArray
*
*/
function deepFlatten(initialArray) {
return initialArray.reduce((acc, v) => {
return acc.concat(Array.isArray(v) ? deepFlatten(v) : v);
}, []);
}
@robbieferrero
robbieferrero / slowtractor.js
Last active March 18, 2017 19:22
make protractor slow
var origFn = browser.driver.controlFlow().execute;
browser.driver.controlFlow().execute = function() {
var args = arguments;
// queue 100ms wait
origFn.call(browser.driver.controlFlow(), function() {
return protractor.promise.delayed(100);
});
@robbieferrero
robbieferrero / gist:5892231
Created June 29, 2013 18:55
record deletion test
it('should notify Record Deleted on deletion', function() {
spyOn(UserNotification, 'notifyShort');
spyOn(Utility, 'prompt').andReturn(resolveDummyPromiseAsync());
var task = new Task({
id: '1',
activitydate: moment().add('months', 1).format("YYYY-MM-DD")
});
var test = ListHelper.editFormFor(task, 'Test Deletion');
var form = $('#modal-edit-form');
form.find('.delete-object').trigger('vclick');
@robbieferrero
robbieferrero / gist:5776511
Last active December 18, 2015 11:29
angular widont filter
filter('widont', function() {
return function(text) {
return text.replace(/([^\s])\s+([^\s]+)\s*$/, "$1&nbsp;$2")
}
});
@robbieferrero
robbieferrero / dice.js
Created September 30, 2012 20:32
Dice notation roller
var dice = function(d) {
var a = d.split('d'),
result = 0,
num = (typeof (a[0]-0) === 'number') ? a[0] : 1,
op = (a[1].match(/[\-\+]/)),
max = (op === null) ? a[1] : a[1].split(op[0])[0],
mod = (op !== null) ? op[0] + ' ' + a[1].split(op[0])[1] : '';
for (var i = num; i >= 0; i--) {
result += (Math.floor(Math.random() * (max)) + 1)
}
@robbieferrero
robbieferrero / dabblet.css
Created March 6, 2012 20:06
image replacement technique
p {
background: url(http://www.google.com/images/errors/robot.png) no-repeat 0 0;
height: 400px;
width: 300px;
font: 0/0 a;
color: transparent;
text-shadow: none
}