Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View jackmahoney's full-sized avatar

Jack Mahoney jackmahoney

View GitHub Profile
@jackmahoney
jackmahoney / directories.json
Created April 13, 2024 01:13
App directories for startups
[
{
"name": "Software Advice",
"url": "https://www.softwareadvice.com/"
},
{
"name": "Product Hunt",
"url": "https://www.producthunt.com/"
},
{
@jackmahoney
jackmahoney / nz-startups.md
Last active February 11, 2024 12:28
New Zealand tech firms and startups list
@jackmahoney
jackmahoney / flatten.ts
Created July 7, 2020 19:44
Flatten an array of arrays or map of arrays in Typescript single liner
/**
* 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], [])
}
@jackmahoney
jackmahoney / fetch-email-php-example.php
Last active April 19, 2020 16:07
Receive email in PHP
<?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
jackmahoney / config.js
Last active April 5, 2019 05:02
Vuepress Markdown Variable substitution
// 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
jackmahoney / ecs.tf
Last active September 25, 2018 14:21
ecs-cluster-service-task-definition
/*
ecs cluster and service definitions
*/
resource "aws_ecs_cluster" "ecs" {
name = "${var.name}-ecs"
}
/*
define ecs task for this app
*/
@jackmahoney
jackmahoney / test-oauth2-verification-email-code.spec.js
Last active February 18, 2020 04:25
MailSlurp javascript client example
// 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 www.mailslurp.com
// using Cypress test runenr
describe("Emaile2e.com user signup", () => {
@jackmahoney
jackmahoney / script.js
Created October 26, 2016 11:08
Scrape digitalagencynetwork.com
// execute in chrome snippets section on a page such as http://digitalagencynetwork.com/agencies/melbourne/
// 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';
results.push([title,address,email].join(','));
@jackmahoney
jackmahoney / debug-play-framework-test-intellij.md
Created March 19, 2015 14:26
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
jackmahoney / convert.sh
Last active August 29, 2015 14:14
EyeEm in motion
#!/bin/bash
#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
output_dir=./output/
#convert video to frames, dump in output dir
ffmpeg -i $1 "$output_dir"image-%d.jpg