I hereby claim:
- I am davidmfoley on github.
- I am davidmfoley (https://keybase.io/davidmfoley) on keybase.
- I have a public key whose fingerprint is B17C 1D1D 0593 A657 73CE DAB1 AE9F C807 C2C1 B700
To claim this, I am signing this object:
| const { expect } = require('chai'); | |
| // | |
| // Conway's Life, in modern javascript | |
| // | |
| // - Built with node 8, mocha, chai; uses modern javascript features | |
| // - All data immutable | |
| // - No classes or other pap. | |
| // | |
| // github.com/davidmfoley |
| # Note: based on elecion night data, from: | |
| # http://www.kingcounty.gov/~/media/depts/elections/results/2017/201711/20171107-ecanvass-election-night.csv | |
| # http://kingcounty.gov/depts/elections/results/2017/201711/reports.aspx | |
| $ dists=(11 32 34 36 37 43 46); for dist in "${dists[@]}"; do echo "District $dist" && grep -E '(Seattle Mayor)' 20171107-ecanvass-election-night.csv | grep -E "^SEA $dist" | awk -F',' '{if ($8=="Jenny Durkan") { jd+=$9 } else if ($8=="Cary Moon") { cm+=$9 } else if ($8=="Registered Voters") { rv+=$9 } } END { print "Durkan " jd ", Moon " cm ", Durkan % " jd * 100 / (jd + cm) ", Moon % " cm * 100 / (jd + cm) ", Turnout % " (jd + cm) * 100 / rv }'; done | |
| District 11 | |
| Durkan 741, Moon 846, Durkan % 46.6919, Moon % 53.3081, Turnout % 17.2033 | |
| District 32 | |
| Durkan 1766, Moon 1011, Durkan % 63.5938, Moon % 36.4062, Turnout % 24.7108 | |
| District 34 |
| res.apiRespond = function(err, data) { | |
| if (err) { | |
| var code = (err.httpStatusCode || 500); | |
| if (code === 500) { | |
| logger.error('API error: ' + req.method + ' ' + req.originalUrl, err); | |
| } | |
| res.status(code).send(formatter.format(err)); | |
| } else if (!data && req.method === 'GET') { | |
| res.notFound(); | |
| } else { |
| var util = require('util'); | |
| module.exports = { | |
| RetryableError: error('RetryableError', 'retry_later', 400, "Retry this request later"), | |
| UnauthorizedError: error('UnauthorizedError', 'unauthorized', 401, "Unauthorized"), | |
| NotFoundError: error('NotFoundError', 'not_found', 404, "The requested record was not found"), | |
| UniqueConstraintError: error('UniqueConstraintError','unique_constraint', 409, "Uniqueness constraint violated"), | |
| InvalidDataError: error('InvalidDataError','invalid', 422, "Invalid data"), | |
| InternalError: error('InternalError','internal', 500, "Internal error") | |
| }; |
| 'use strict'; | |
| var driver = require('node-phantom-simple'); | |
| var phantomPath = require('phantomjs-prebuilt').path; | |
| // YMMV | |
| const snapshotTimeout = 15 * 1000; | |
| function capture(indexPath, size, snapshotPath, cb) { | |
| driver.create({ path: phantomPath }, function (err, browser) { |
| def digit(number): | |
| """Add digits as long as there is more than one digit | |
| >>> digit(2) | |
| 2 | |
| >>> digit(12) | |
| 4 | |
| >>> digit(99) | |
| 9 | |
| >>> digit(83928) |
| . | |
| ├── actions | |
| ├── stores | |
| ├── views | |
| │ ├── Anonymous | |
| │ │ ├── __tests__ | |
| │ │ ├── views | |
| │ │ │ ├── Home | |
| │ │ │ │ ├── __tests__ | |
| │ │ │ │ └── Handler.js |
I hereby claim:
To claim this, I am signing this object:
| module.exports = { | |
| // turns a postgres timestamptz field into a JS date | |
| parse: function(s) { | |
| //split on second fraction | |
| var pieces = s.split('.'); | |
| // replace space with ISO T separator | |
| pieces[0] = pieces[0].replace(' ', 'T'); | |
| // strip to milliseconds | |
| pieces[1] = pieces[1].slice(0, 3) + pieces[1].slice(6); | |
| // add minutes to TZ offset - doesn't handle non-hour TZs |