Skip to content

Instantly share code, notes, and snippets.

Brian Riley brianmriley

Block or report user

Report or block brianmriley

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@brianmriley
brianmriley / set-html-file-input-programmatically
Created Nov 20, 2018
Demonstrates how one can programmatically set a HTML file input's value.
View set-html-file-input-programmatically
// Taken from SO: https://stackoverflow.com/questions/47119426/how-to-set-file-objects-and-length-property-at-filelist-object-where-the-files-a
const dT = new ClipboardEvent('').clipboardData || // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655
new DataTransfer(); // specs compliant (as of March 2018 only Chrome)
dT.items.add(new File(['foo'], 'programmatically_created.txt'));
inp.files = dT.files;
View jasmine-unit-test-for-method-called-in-constructor
describe("Foo constructor", function() {
it("should call its `bar()` instance method.", function() {
spyOn(Foo.prototype, 'bar');
var foo = new Foo();
expect(Foo.prototype.bar).toHaveBeenCalled();
});
});
@brianmriley
brianmriley / Grepping log files and outputting new files
Last active Apr 27, 2016
Grepping logs and outputting to a new file.
View Grepping log files and outputting new files
// grep {searchString} {targetFile} > {outputFile}
grep "loadChunk(" mysxm.log > mysxm-load-chunk.log
@brianmriley
brianmriley / bash-profile-chrome-dev
Last active Feb 22, 2018
Adds an alias to your bash profile to launch chrome in "developers mode", aka less secure. This allows you to use some high-security, and bleeding edge JavaScript like `subtle.crypto` in HTTP instead of HTTPS in localhost.
View bash-profile-chrome-dev
#######################
# Chrome
alias chrome="open /Applications/Google\ Chrome.app/"
alias chromedev="open /Applications/Google\ Chrome.app/ --args --ignore-certificate-errors --allow-running-insecure-content --reduce-security-for-testing --disable-web-security --unsafely-treat-insecure-origin-as-secure=http://local-dev.siriusxm.com:8890 --user-data-dir=~/Library/Application Support/Google/Chrome/Default"
#######################
@brianmriley
brianmriley / javascript-console-logging-wrapper
Last active Apr 27, 2016
Attempt to wrap the `console.log()` method of the browser and successfully bind to the client object calling `logger.debug()` and not the logger itself.
View javascript-console-logging-wrapper
// I've created a simple logger (wraps console.* methods) that provides output similar to say Log4J or other robust
// loggers out there for the enterprise, but a huge missing piece (for me) is that you can no longer see the file
// reference and line number from the client object using the logger. When you use console.log() OOTB it'll spit out
// a clickable link to the file and line number that executed the console.log making it easy to debug; when you wrap
// console.log it simply spits out the logger file reference and the line number the console.log was executed, so
// all logging shows up as from the logger wrapper (which is technically correct)...bottom line, you lose the context
// from which you actually made the logging call and I'd like to get that back.
// Aside from blackboxing, is there another way to wrap console.log() such that it binds to the client callee
// and ultimately shows the correct file reference and line number of the callee (and not the log wrapper)?
View edit-password-in-git-tower
1) Open repo in tower.
2) Right-click on remotes/origin in left pane.
3) Select `Edit Connection Settings`.
View promise-loop-sequence.js
var urlList = model.getURLs();
var loadAndParse = function (url)
{
// both load() and parse() are promise based functions
return load(url).then(parse);
};
/**
* Allows for the sequentially calling of promise based functions by iterating over a list of
@brianmriley
brianmriley / string-dot-notation-to-object
Last active Sep 23, 2019
Convert Javascript string in dot notation into an object reference
View string-dot-notation-to-object
// pulled from SO http://stackoverflow.com/questions/6393943/convert-javascript-string-in-dot-notation-into-an-object-reference
// NOTE: Array.reduce() may not be available in older browsers
function index(obj,i) {return obj[i]}
'a.b.etc'.split('.').reduce(index, obj);
var obj = {a:{b:{etc:5}}};
index(obj,'a.b.etc');
@brianmriley
brianmriley / AngularJS-Service-Factory-Provider-Example.js
Last active Aug 29, 2015 — forked from Mithrandir0x/gist:3639232
AngularJS Service vs Factory vs Provider Implementations
View AngularJS-Service-Factory-Provider-Example.js
// Source: https://groups.google.com/forum/#!topic/angular/hVrkvaHGOfc
// jsFiddle: http://jsfiddle.net/pkozlowski_opensource/PxdSP/14/
// author: Pawel Kozlowski
var myApp = angular.module('myApp', []);
//service style, probably the simplest one
myApp.service('helloWorldFromService', function() {
this.sayHello = function() {
return "Hello, World!"
@brianmriley
brianmriley / javascript-simple-guid-generator
Created Oct 3, 2013
JavaScript Simple GUID Generator
View javascript-simple-guid-generator
// internal function to generate a random number guid generation
var S4 = function() {
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
};
// generates a guid for adding items to array
var createGUID = function () {
return (S4() + S4() + "-" + S4() + "-4" + S4().substr(0,3) + "-" + S4() + "-" + S4() + S4() + S4()).toLowerCase();
};
You can’t perform that action at this time.