View push.js
const program = require("commander");
const { execSync, spawn } = require("child_process");
// TODO inherit stdio; don't hide output
const execOpts = { stdio: "inherit", shell: true };
// require("child_process").spawn("npm", args, opts);
// Also, show files committed with
// git diff-tree -r --no-commit-id --name-only HEAD
const leftPad = require("left-pad");
View Bitcoin and Cryptocurrency Getting Started Guide.md

Getting started with Bitcoin, Ethereum, Litecoin, or any Blockchain-based currency

It's this simple! Follow these steps to give yourself a hands-on, low-risk way to follow the news on Bitcoin and Cryptocurrency. Think of it as Fantasy Football with your bank account! 🏈

  1. Open an account at Coinbase, Referral Link or Home, and fund it with $100.
  2. Save your funds in a paper wallet, or create a paper wallet as a gift to someone or some organization you love! Bitcoinpaperwallet.com
  3. Keep what's left, and see how it does over the years, learning a ton as you go.
  4. Decide for yourself if you want to raise your stake. If so, as to when to put money in, the Dollar-Cost Averaging technique — equal amounts per week/day/month — is an option that spreads risk out over time. But nothing is perfect!
View trilogy-tips-tricks.md

Trilogy Classroom Management Tips & Tricks

In my first cohort, I struggled initially with how and when to deliver files to students for the purpose of their activities. But by the end, I'd settled on a workflow that I liked, and I thought I'd share it with others, for ways to improve, or if it may help.

Working Folders

I will make sure on the first day that I am really clear about the pattern of students having a working folder on their desktop, into which they deposit all their work. I called mine, WorkingFolder, how original :)

I got into trouble with students who'd edit files in their local clone of the class repo, and then become unable to git pull new files. Using Working Folders avoid this nicely.

As a bonus, if they set an environment variable WF, then I can paste commands in Slack like cp -r yadda/Unsolved/ $WF/activity5 which will work on everyone's computer, Mac or Windows!

View trilogy-class-tips-tricks
# Trilogy Classroom Management Tips & Tricks
In my first cohort, I struggled initially with how and when to deliver files to students for the purpose of their activities. But by the end, I'd settled on a workflow that I liked, and I thought I'd share it with others, for ways to improve, or if it may help.
## Working Folders
I will make sure on the first day that I am really clear about the pattern of students having a working folder on their desktop, into which they deposit all their work. I called mine, `WorkingFolder`, how original :)
I got into trouble with students who'd edit files in their local clone of the class repo, and then become unable to `git pull` new files. Using Working Folders avoid this nicely.
As a bonus, if they set an environment variable `WF`, then I can paste commands in Slack like `cp -r yadda/Unsolved/ $WF/activity5` which will work on everyone's computer, Mac or Windows!
View trilogy-reflection.md

In September 2017, I had the honor of being chosen to be Lead Instructor for Trilogy's first full-time Web Dev cohort at Northwestern University. The team was Dartaniel Bliss, SSM, Esdras Etrenne and Julian Craigwell and Tom McCarthy, TAs. These are (at least) a dozen ways in which I learned to improve—12 ways in 12 weeks, I'll call that a win. If you want a TL;DR, the most valuable tip is that enabling greater information sharing and help-seeking between students is the single biggest meta-skill that will serve them the during the class and afterwards.

But read on - there's a lot more to it than that!

  1. Modeling - When I got concerned as to why so few students were finishing activities, my SSM Dartaniel Bliss inquired how much I modeled before the activities— and it wasn't much at the time. But, by the 7th week, I would gladly use 5-10 minutes of a 20 minute activity to show people a) the before and after of how things are working b) the code of the Unsolved, and exactly what its initial behavior is
View trilogy-reflections
In September, I had the honor of being chosen to be Lead Instructor for Trilogy's first full-time Web Dev cohort at Northwestern University. The team was Dartaniel Bliss, SSM, Esdras Etrenne and Julian Craigwell and Tom McCarthy, TAs. These are (at least) a dozen ways in which I learned to improve—12 ways in 12 weeks, I'll call that a win.
If you want a TL;DR, the most valuable tip is that enabling greater information sharing and help-seeking between students is the single biggest meta-skill, not mentioned in the program explicitly, that will serve them the best during class and afterwards.
But read on - there's a lot more to it than that!
1. **Modeling** - When I got concerned as to why so few students were finishing activities, my SSM Dartaniel Bliss inquired how much I modeled before the activities— and it wasn't much at the time. But, by the 7th week, I would gladly use 5-10 minutes of a 20 minute activity to show people a) the before and after of how things are working b) the code of the Unsolved, an
View passport-google-oauth.diff
commit 6cf28cb9643675a5537b25711f1d311191ac69a9
Author: Dean Radcliffe <deanmisc@yahoo.com>
Date: Fri Dec 1 13:52:25 2017 -0600
Add OAuth with Google
diff --git a/client/src/App.js b/client/src/App.js
index 4b4ce83..4bc6915 100644
--- a/client/src/App.js
+++ b/client/src/App.js
View link-lesson-plans.js
View cors.js
/*
If you are attempting to call an AJAX API, via GET which responds:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
You can modify the way you query it to go through a server which will add the header.
Basically, you add the URL you want (with query string parameters) at the end of
'https://cors-anywhere.herokuapp.com/'
, and ensure that your ajax call is done with some additional options as shown below
See CORS-Anywhere documentation here for more:
View cors.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Single AJAX</title>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>