Skip to content

Instantly share code, notes, and snippets.

View mackermedia's full-sized avatar

Mike Ackerman mackermedia

  • Lincoln, NE
View GitHub Profile
@mackermedia
mackermedia / my_gpt_prompts.md
Last active April 8, 2024 04:48
My GPT Prompts

Coding

Programming Assistant (from GPT-4 Demo)

You are an AI-programming assistant.

  • Follow the user's requirements carefully & to the letter.
  • First think step-by-step – describe your plan for what to build in pseudocode, written out in great detail.
  • Then output the code in a single code block.
  • Minimize any other prose.
@mackermedia
mackermedia / keybase.md
Created February 14, 2020 20:15
keybase.md

Keybase proof

I hereby claim:

  • I am mackermedia on github.
  • I am mikeackerman (https://keybase.io/mikeackerman) on keybase.
  • I have a public key ASByJzdjojNbP7lNISWUL7PFuXPHQzQmxHiTTe5FEUC6Pwo

To claim this, I am signing this object:

@mackermedia
mackermedia / pdf_outline_and_links.md
Last active October 12, 2019 16:18
PDF Outline and Links Research
@mackermedia
mackermedia / git_workflow.md
Last active March 30, 2017 16:00
Git Workflow - Post Beta

Git Workflow

We're using a modified version of this successful git branching model to handle our releases. Main development happens in the 'master' branch. Production deploys come from the 'production' branch.

When we want to do a new release, we split off a new branch from master called release-X.Y.Z.

  • X is the major version number -- currently 0, bumping up to 1 when we exit this beta period.
  • Y is the release number -- this increments by one for every new release.
  • Z is the hotfix number, which I'll describe later.

We deploy this release branch to a staging environment, where it can be QA'd. Any bugs discovered during this period can be fixed directly in the release branch. Once we're clear to go to production, we merge the release branch into production with the --no-ff option (to create a merge commit) and tag that merge commit with the release number. If any commits were added to the release branch, we need to merg

[ec2-user@ip-xxxx current]$ DEBUG=* xvfb-run -a --server-args="-screen 0 1000x1500x24" node /var/app/current/app/lib/pdf_charts/cnn.js
nightmare queuing process start +0ms
nightmare queueing action "goto" for http://yahoo.com +40ms
nightmare queueing action "type" +4ms
nightmare queueing action "click" +2ms
nightmare queueing action "wait" +0ms
nightmare queueing action "evaluate" +1ms
nightmare running +1ms
electron:stderr Xlib: extension "RANDR" missing on display ":99". +340ms
electron:stderr Xlib: extension "RANDR" missing on display ":99". +808ms
var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: true });
var fs = require('fs');
var util = require('util');
var log_file = fs.createWriteStream(__dirname + '/debug.log', {flags : 'w'});
var log_stdout = process.stdout;
console.log = function(d) { //
log_file.write(util.format(d) + '\n');

Pubnub Signalling

Chui uses Pubnub for event Signaling, Listen on a channel that equals your device serial The event message includes a key and name (if identified) If the name is unavailable (ie person unknown), no name attribute will be in the dictionary

Use the following publish and subscribe keys: publish_key='pub-c-e7c43b97-8af8-4a3f-b9d4-fe5710f17e20' subscribe_key=’sub-c-b09806ee-e056-11e3-8f83-02ee2ddab7fe’

@mackermedia
mackermedia / gist:4319b60359cd8a6bef2c
Created July 15, 2014 16:26
Ruby Application Server Comparison

TL;DR of big comparison blog post: https://blog.engineyard.com/2014/ruby-app-server-arena-pt1


Passenger

  • best for situations where you want to conserve memory when an app has low traffic
  • good for hosting multiple applications on a single server
  • for always-on dedicated app, this killing of workers can have negative side-effects: new workers need to be spun up on new requests (also after nginx restart)
  • must install via compiled into nginx source (via Passenger)

General Inspiration / Intimidation

Links to New and Great Design Articles

Open and Commericial Friendly Fonts

[
{ "keys": ["super+alt+["], "command": "reindent", "args": {"single_line": false} },
{ "keys": ["alt+up"], "command": "move", "args": {"by": "stops", "empty_line": true, "forward": false} },
{ "keys": ["alt+down"], "command": "move", "args": {"by": "stops", "empty_line": true, "forward": true} },
{ "keys": ["shift+alt+up"], "command": "move", "args": {"by": "stops", "empty_line": true, "forward": false, "extend": true} },
{ "keys": ["shift+alt+down"], "command": "move", "args": {"by": "stops", "empty_line": true, "forward": true, "extend": true } },
// Auto-pair curly braces
{ "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{ $0 }"}, "context":