Skip to content

Instantly share code, notes, and snippets.


Jack Mahoney jackmahoney

View GitHub Profile
jackmahoney / flatten.ts
Created Jul 7, 2020
Flatten an array of arrays or map of arrays in Typescript single liner
View flatten.ts
* Flatten a map of arrays or array of arrays to a single array
* @param t
export function flatten<T>(t: Array<Array<T>> | { [p: string]: Array<T> }): Array<T> {
return Object.values(t).reduce((mem, val) => [...mem, ...val], [])
View fetch-email-php-example.php
require_once(__DIR__ . '/vendor/autoload.php');
use PHPUnit\Framework\TestCase;
* This testsuite demonstrates how to use MailSlurp Email API Client in PHP
* MailSlurp let's you create real email addresses in PHP. You can then send and receive emails
* and attachments in PHP applications and tests.
jackmahoney / config.js
Last active Apr 5, 2019
Vuepress Markdown Variable substitution
View config.js
// inside config.js extend webpack so that `__var_name__` is replaced with value of `config[var_name]`
// relies on npm install string-replace-loader
configureWebpack(config) {
config.resolve.alias["@"] = path.join(__dirname, "/theme");
config.resolve.alias["~"] = path.join(__dirname, "/public");
if (process.env.NODE_ENV === "production") {
const mappings = Object.keys(config).map(key => {
return { search: `__${key}__`, replace: config[key] }
jackmahoney /
Last active Sep 25, 2018
ecs cluster and service definitions
resource "aws_ecs_cluster" "ecs" {
name = "${}-ecs"
define ecs task for this app
jackmahoney / test-oauth2-verification-email-code.spec.js
Last active Feb 18, 2020
MailSlurp javascript client example
View test-oauth2-verification-email-code.spec.js
// import an apiKey and the official js client
const apiKey = require("./config.json").apiKey;
const MailSlurpClient = require("mailslurp-client");
// instantiate a client for the inbox endpoints
const api = new MailSlurpClient.InboxcontrollerApi();
// test the authentication flow on
// using Cypress test runenr
describe(" user signup", () => {
jackmahoney / script.js
Created Oct 26, 2016
View script.js
// execute in chrome snippets section on a page such as
// copy result into a csv file an voila
var $ = jQuery;
var results = [];
$('.entry .threecol-two.last').each(function(){
var title = $(this).find('h3').text();
var address = $(this).find('a').attr('href');
var emailMatch = $(this).first('h6').text().match(/[\w\.]+@[\w\.]+/);
var email = emailMatch ? emailMatch[0] : 'unknown';
jackmahoney /
Created Mar 19, 2015
Debug Play Framework 2.x unit test in IntelliJ

In build.sbt add the following lines:

Keys.fork in Test := false
parallelExecution in Test := false
  • Start the play console in debug mode $ play debug.
  • Create a RemoteDebug run configuration in IntelliJ. This is only a debugger, not a compiler.
  • Run this configuration listening on port 9999.
jackmahoney /
Last active Aug 29, 2015
EyeEm in motion
#script takes a video and converts it to frames
#it then slices the frames and uploads them to an eyeem album
#when you scroll the album fast enough it turns back into a video
#convert video to frames, dump in output dir
ffmpeg -i $1 "$output_dir"image-%d.jpg
View gist:5eafd28fef3e5f1df762
span{ display: inline-block; vertical align: middle; }
.placeholder { height: 100% }
<span>Your content here!</span>
<span class="placeholder"></span>
jackmahoney / karma.conf.js
Last active Aug 29, 2015
Karma conf for react testing
View karma.conf.js
module.exports = function(config) {
frameworks: ['browserify', 'mocha', 'chai'],
//specify browserify preproccesor so we can use server-side components
preprocessors: {
'test/*' : ['browserify']