Skip to content

Instantly share code, notes, and snippets.

Jonathon Hill compwright

Block or report user

Report or block compwright

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
compwright / inject.php
Created Oct 22, 2019
PHP Dependency Injection in <10 lines
View inject.php
function inject (array $container, $class, $method) {
$args = array_map(
function (ReflectionParameter $arg) {
return $arg->getName();
(new ReflectionMethod($class, $method))->getParameters()
compwright /
Last active Dec 12, 2019
AnomalyInnovations/serverless-bundle test case
compwright / client_automations.sql
Last active Oct 30, 2018
View client_automations.sql
INSERT INTO `client_automations` (`client`, `source`, `status`, `credentials`, `rules`, `exclusions`, `created_timestamp`, `updated_timestamp`, `user`)
(452,'servicetitan','active','{\"apiKey\":\"\",\"apiSecret\":\"\"}','[{\"settings\":{\"products\":[{\"code\":\"1\",\"qty\":1}],\"location\":\"7\",\"department\":null,\"cardType\":\"TY\"},\"conditions\":[{\"id\":\"0voXy6RCReZjFoa8HOQSi\",\"field\":\"\",\"operator\":\"isMoreThan\",\"operand\":\"1.00\",\"operandType\":\"number\"}],\"isActive\":true,\"id\":\"v4sQi7iJJLl~FpKYAlaah\"}]',NULL,'2018-10-29 17:28:36','2018-10-29 17:34:14',2304),
compwright /
Last active Sep 26, 2018
Javascript Disenchantment

Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it....our portable computers are thousands of times more powerful than the ones that brought man to the moon. Yet every other webpage struggles to maintain a smooth 60fps scroll on the latest top-of-the-line MacBook Pro. --Nikita Prokopov, [Software disenchantment][1]

He is right!

Two questions immediately came to mind:

  1. Why do we write such bloated, inefficient software?
  2. How can we do better?
View gist:7aff180840b1a17861cbaf227e9e103e
"_id" : ObjectId("58e2a3047463f61e5de6dbd6"),
"updatedAt" : ISODate("2017-04-03T19:31:16.681Z"),
"createdAt" : ISODate("2017-04-03T19:31:16.681Z"),
"name" : "Test calendar",
"active" : true,
"webhooks" : [
"url" : "http://localhost:8082/api/rdc/webhooks/scheduler",
"signatureAlgorithm" : "x-hub",
compwright / prerequest.js
Created Sep 30, 2016
Postman pre-request script for Joyent Signature Authentication Scheme
View prerequest.js
// Postman pre-request script for Joyent Signature Authentication
// (
// Set the following vars in your Postman environment:
// apiHost
// apiKey
// apiSecret
// Set the following headers in Postman (copy/paste):
// Authorization: Signature keyId="{{apiKey}}",algorithm="hmac-sha256",headers="host date",signature="{{signature}}"
compwright / ChromePluginCompiler.php
Last active Aug 30, 2016
PHP build script for a Google Chrome browser extension
View ChromePluginCompiler.php
class ChromePluginCompiler extends PluginCompiler
// constants - set these in your subclass
public $major_version = '5.0';
public $browser = 'chrome';
protected $output_mime_type = 'application/x-chrome-extension';
protected $output_filename = 'ChromeExtension.crx';
protected $build_dir = 'chrome';
compwright / sample.js
Created Aug 24, 2016
ClickTripz Integration Test
View sample.js
var _ctq = _ctq || [];
// Create 'compare to' strip object
_ctq.push(['newCompareToStrip', 'a']);
_ctq.push(['a.setPublisherID', 4]);
_ctq.push(['a.setAnchorID', 'ctAnchor']);
// Attach the correct API methods to our search form, this is a 'Hotel Citywide' search.
_ctq.push(['a.setFormID', 'ctSearchForm']);
_ctq.push(['a.setCityNameID', 'ctCity']);
compwright / flatten.js
Created Aug 23, 2016
Flattens an array of arbitrarily nested arrays of integers into a flat array of integers
View flatten.js
'use strict';
Array.prototype.flatten = function() {
var flattened = []; {
if (Array.isArray(element)) {
// If the array element is an array,
// flatten it, then push each element
// onto the master flattened array.
View output.txt
Macbooks-MacBook-Pro:toyoursuccess jhill$ ./
Updating Database to Latest Revision
Exporting Database
** Message: Connected to a MySQL server
** Message: TokuDB detected, creating dummy table for CS
** Message: Started dump at: 2016-04-15 11:24:37
You can’t perform that action at this time.