View main.py
import re
import codecs
import requests
import glob
AMZN_RE = re.compile(u"https?://amzn.to/([0-9A-Za-z]+)")
ISBN1 = re.compile(u"https://www.amazon.com/(?:[A-Za-z\-]+)/dp/(\d{10})/")
ISBN2 = re.compile(u"https://www.amazon.com/gp/product/(\d{10})/")
def remove_amazon(filename):
View main.rs
#[macro_use]
extern crate lazy_static;
extern crate regex;
extern crate reqwest;
use std::env;
use std::fs::File;
use std::io::prelude::*;
use regex::*;
use reqwest::Client;
View main.rs
#[macro_use]
extern crate lazy_static;
extern crate regex;
extern crate reqwest;
use std::env;
use std::fs::File;
use std::io::prelude::*;
use regex::*;
use reqwest::Client;
View 2017-10-12T22_52_21_012Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'deprecate',
1 verbose cli 'circular-require',
1 verbose cli 'This module is unmaintained. If you want to adopt it, please contact @tmcwa' ]
2 info using npm@5.5.1
3 info using node@v8.4.0
4 silly mapToRegistry name circular-require
5 silly mapToRegistry using default registry
View devtools.md

THE INSPECTION UNCERTAINTY PRINCIPLE

You might think about looking at values and executing code as kind of separate things! And I did too, with few exceptions. There are some exceptions - some obvious and some less obvious: for instance:

Iterators: you can't look at an iterator's values unless you iterate over it, and you can't "reset" an iterator, so you can't really inspect it - EXCEPT FOR ONE EXCITING CAVEAT COVERED IN THE NEXT SECTION

Gettters: objects in JavaScript can have 'getters', like

const x = { get x() { throw new Error('hi'); } }
View guide.md
View data.csv
Date Nissan Leaf Smart ED Mitsubishi I EV BMW Active E Ford Focus Honda Fit EV Tesla Model S Toyota RAV4 EV Chevrolet Spark
2010-12 19 0
2011-01 87 16
2011-02 67 16
2011-03 298 0
2011-04 573 0
2011-05 1142 8
2011-06 1708 0
2011-07 931 1
2011-08 1362 1
View badge.js
var c = document.body.appendChild(document.createElement('canvas'));
var w = 1050, h = 1500;
c.width = w;
c.height = h;
var ctx = c.getContext('2d');
ctx.fillStyle = '#000';
function wave(t, n, f) {
var val = 0;
for (var k = 1; k < n; k ++) {
val += Math.sin(Math.PI * 4 * ((2 * k) - 1) * f * t) / ((2 * k) - 1);
View badge.js
var c = document.body.appendChild(document.createElement('canvas'));
var w = 1050, h = 1500;
c.style.width = `${1050 / 2}px`;
c.style.height = `${1050 / 2}px`;
c.width = w;
c.height = h;
var ctx = c.getContext('2d');
ctx.fillStyle = '#000';
ctx.strokeStyle = '#005791';
ctx.lineWidth = 2;
View badge.js
var c = document.body.appendChild(document.createElement('canvas'));
var w = 1050, h = 1500;
//c.style.width = `${1050 / 2}px`;
//c.style.height = `${1050 / 2}px`;
c.width = w;
c.height = h;
var ctx = c.getContext('2d');
ctx.fillStyle = '#000';
ctx.strokeStyle = '#005791';
ctx.lineWidth = 2;