Skip to content

Instantly share code, notes, and snippets.

View brianmriley's full-sized avatar

Brian Riley brianmriley

View GitHub Profile
@brianmriley
brianmriley / ngx-translate-lazy-load-config.ts
Last active May 12, 2021 13:58
ngx-translate Lazy Loaded Translations Setup
// The following is a configuration example to lazy load translations. It's meant to provide specificity and clarity to
// anyone still wondering how it all fits together, I have the following setup (using abbreviated module definitions):
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AppModule
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AoT requires an exported function for factories.
export function HttpLoaderFactory(http: HttpClient): TranslateHttpLoader {
@brianmriley
brianmriley / fetch-ssl-from-okta-com.sh
Created October 22, 2019 23:02 — forked from jpf/fetch-ssl-from-okta-com.sh
How to fetch the SSL certificate from www.okta.com
echo '' | openssl s_client -connect www.okta.com:443
@brianmriley
brianmriley / set-html-file-input-programmatically
Created November 20, 2018 20:17
Demonstrates how one can programmatically set a HTML file input's value.
// 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;
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 April 27, 2016 11:38
Grepping logs and outputting to a new file.
// grep {searchString} {targetFile} > {outputFile}
grep "loadChunk(" mysxm.log > mysxm-load-chunk.log
@brianmriley
brianmriley / bash-profile-chrome-dev
Last active February 22, 2018 23:03
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.
#######################
# 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 April 27, 2016 12:02
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.
// 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)?
1) Open repo in tower.
2) Right-click on remotes/origin in left pane.
3) Select `Edit Connection Settings`.
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 April 9, 2024 16:23
Convert Javascript string in dot notation into an object reference
// 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');