brock whitten goto @sintaxi may 2, 2017 chicago...$ cat ~/.netrc machine api.heroku.com login...

80
Brock Whitten @sintaxi GOTO May 2, 2017 Chicago

Upload: others

Post on 06-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Brock Whitten @sintaxi

GOTO May 2, 2017 Chicago

Page 2: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 4: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

WANTED:

FOCUS

Page 5: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

SURGE.SH

Page 6: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 7: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

PUBLISH to the

browser

Page 8: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

abandon the

browser

Page 9: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Content Stream 1.

Page 10: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Content Stream Session MANAGEMENT

1. 2.

Page 11: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Content Stream Session MANAGEMENT Payments

1. 2. 3.

Page 12: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Content Stream Session MANAGEMENT Payments User Interface

1. 2. 3. 4.

Page 13: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Content Stream Session MANAGEMENT Payments User Interface Gotchas

1. 2. 3. 4. 5.

Page 14: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

CONTENT STREAMS

GOTO IN

“”

Page 15: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 16: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 17: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

DEMO TIME

Page 18: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Session Management

GOTO IN

Page 19: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 20: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ localstorage

Page 21: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ localstorage

localstorage: command not found

Page 22: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ cat ~/.netrc

Page 23: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ cat ~/.netrc

machine api.heroku.com login [email protected] password abcd1ab1–1234–12ab-a1ab-1abc1234a123

machine surge.sh login [email protected] password 11ab1ab1–11ab-1234-b1ab-1abc0123b123

Page 24: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ cat ~/.netrc

machine api.heroku.com login [email protected] password abcd1ab1–1234–12ab-a1ab-1abc1234a123

machine surge.sh login [email protected] password 11ab1ab1–11ab-1234-b1ab-1abc0123b123

Page 25: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ npm install --save netrc

Page 26: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

TakinG PAYMENTS!

GOTO IN

Page 27: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

PLAN B

Page 28: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var open = require('opn')

opn('http://token:[email protected]')

Page 29: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var open = require('opn')

opn('http://token:[email protected]')

// Not supported in Chrome or IE

Page 30: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

PLAN A

Page 31: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

ABANDONING THE BROWSER

Page 32: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$?

Page 33: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

Page 34: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

payment form

Page 35: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

payment form

Page 36: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

credit card info

payment form

Page 37: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

credit card info

token

payment form

Page 38: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

credit card info

token

token

payment form

Page 39: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

credit card info

token

token

charge

payment form

Page 40: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

server

credit card info

token

token

charge

payment form

Page 41: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 42: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

GOTO IN

Page 43: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

USE EXISTING TOOLS

Page 44: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

COMMANDER TJ/COMMANDER.JS

Page 45: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

YARGS BCOE/YARGS

OPTIMIST SUBSTACK/OPTMIST

Page 46: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

MINIMIST SUBSTACK/MINIMIST

Page 47: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

FORMS?

Page 48: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 49: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 50: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

WHAT’S WEIRD?

Page 51: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 52: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

“GOTCHA!”GOTO IN

Page 53: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

SECURITY

Page 54: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

IT’S ON THE BROWSER

Page 55: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

IT’S ON THE DEVELOPER

Page 56: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

CONSTRAINTS

Page 57: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 58: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ npm install --save chalk

Page 59: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var chalk = require('chalk')

Page 60: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var chalk = require('chalk')

console.log(chalk.grey('Run'))

Page 61: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var chalk = require('chalk')

console.log(chalk.grey('Run ') + chalk.green('surge'))

Page 62: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 63: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var chalk = require('chalk')

console.log(chalk.grey('Run ') + chalk.green('surge'))

Page 64: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var chalk = require('chalk')

console.log(chalk.dim('Run ') + chalk.green('surge'))

Page 65: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

MAKE CONSTRAINTS AN ADVANTAGE

Page 66: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

STATUS CODES

Page 67: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ npm install

npm info it worked if it ends with OK

[email protected] ├── [email protected] ├── [email protected] ├── [email protected] └── [email protected]

npm info OK

Page 68: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

PLATFORMS

Page 69: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login
Page 70: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var path = require('path')

exports.willAllow = function (project) { var projectPath = path.resolve(project) if (projectPath.split('/')) { return true } }

Page 71: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var path = require('path')

exports.willAllow = function (project) { var projectPath = path.resolve(project) if (projectPath.split('/')) { return true } }

Page 72: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var path = require('path')

exports.willAllow = function (project) { var projectPath = path.resolve(project) if (projectPath.split('/')) { return true } }

Page 73: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var path = require('path')

exports.willAllow = function (project) { var projectPath = path.resolve(project) if (projectPath.split('/')) { return true } }

Page 74: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var path = require('path')

exports.willAllow = function (project) { var projectPath = path.resolve(project) if (projectPath.split(path.sep)) { return true } }

Page 75: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

var path = require('path')

exports.willAllow = function (project) { var projectPath = path.resolve(project) if (projectPath.split(path.sep)) { // ! return true } }

Page 76: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

DESIGNERS & DEVELOPERS

Page 77: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

WANTED:

FOCUS

Page 78: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

$ npm install -g surge

Page 79: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login

Brock Whitten @sintaxi

GOTO May 2, 2017 Chicago

Page 80: Brock Whitten GOTO @sintaxi May 2, 2017 Chicago...$ cat ~/.netrc machine api.heroku.com login brock@surge.sh password abcd1ab1–1234–12ab-a1ab-1abc1234a123 machine surge.sh login