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
View README.md
@compwright
compwright / client_automations.sql
Last active Oct 30, 2018
client_automations.sql
View client_automations.sql
INSERT INTO `client_automations` (`client`, `source`, `status`, `credentials`, `rules`, `exclusions`, `created_timestamp`, `updated_timestamp`, `user`)
VALUES
(452,'servicetitan','active','{\"apiKey\":\"\",\"apiSecret\":\"\"}','[{\"settings\":{\"products\":[{\"code\":\"1\",\"qty\":1}],\"location\":\"7\",\"department\":null,\"cardType\":\"TY\"},\"conditions\":[{\"id\":\"0voXy6RCReZjFoa8HOQSi\",\"field\":\"invoice.total\",\"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),
(4799,'servicetitan','active','{\"apiKey\":\"\",\"apiSecret\":\"\"}','[{\"settings\":{\"products\":[{\"code\":\"1\",\"qty\":1}],\"location\":\"4579\",\"department\":\"4580\",\"cardType\":\"TY\"},\"conditions\":[{\"id\":\"0voXy6RCReZjFoa8HOQSi\",\"field\":\"invoice.total\",\"operator\":\"isMoreThan\",\"operand\":\"1.00\",\"operandType\":\"number\"}],\"isActive\":true,\"id\":\"v4sQi7iJJLl~FpKYAlaah\"}]',NULL,
@compwright
compwright / javascript-disenchantment.md
Last active Sep 26, 2018
Javascript Disenchantment
View javascript-disenchantment.md

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
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
// (https://github.com/joyent/node-http-signature/blob/master/http_signing.md)
//
// 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
compwright / ChromePluginCompiler.php
Last active Aug 30, 2016
PHP build script for a Google Chrome browser extension
View ChromePluginCompiler.php
<?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
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
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 = [];
this.map(function(element) {
if (Array.isArray(element)) {
// If the array element is an array,
// flatten it, then push each element
// onto the master flattened array.
View updatedb.sh output.txt
Macbooks-MacBook-Pro:toyoursuccess jhill$ ./updatedb.sh
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
@compwright
compwright / internal-receiverd.log
Created Oct 5, 2015
internal-receiverd.log (pairing issue)
View internal-receiverd.log
[05/Oct/2015 16:26:08] INFO [ssh_server.py:837] RECV: limited-claim-status
[05/Oct/2015 16:26:08] INFO [ssh_server.py:848] Dispatching to: _cmd_limited_claim_status
[05/Oct/2015 16:26:08] INFO [ssh_server.py:616] SEND: 267 eyJzdGF0dXMiOiAiY2xhaW1pbmctY29uZmlndXJlIn0=
[05/Oct/2015 16:26:13] INFO [ssh_server.py:837] RECV: limited-claim-status
[05/Oct/2015 16:26:13] INFO [ssh_server.py:848] Dispatching to: _cmd_limited_claim_status
[05/Oct/2015 16:26:13] INFO [ssh_server.py:616] SEND: 267 eyJzdGF0dXMiOiAiY2xhaW1pbmctY29uZmlndXJlIn0=
[05/Oct/2015 16:26:15] INFO [limited-claim.py:73] configuring...
Stopping postgresql-server service: [ OK ]
Linking postgres time zone data
Mon Oct 5 16:25:58 UTC 2015
You can’t perform that action at this time.