View gist:edbb30b7f3a15ace61e3eb68013603ee
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: At least one approved review is required.
To git@github.com:eslint/typescript-eslint-parser.git
! [remote rejected] master -> master (protected branch hook declined)
error: failed to push some refs to 'git@github.com:eslint/typescript-eslint-parser.git'
View githubpainpoints.md

GitHub Pain Points

This is my feedback on using GitHub to manage a popular project (ESLint). Topics are presented in no particular order. In general, everything I say about issues also refers to pull requests.

For each problem I've suggested a solution. I realize that actually building out a solution is a complex process and my suggestions do not reach the level of detail sufficient for implementation purposes. It's just to give you an idea of the direction I'm thinking.

Problem: No good way to distinguish new issues from "accepted" issues

Users are opening new issues every day, and these issues automatically bubble to the top of the issues list by default. We do label issues that we're committed to doing as "accepted", but if there are enough new issues, you don't even see those until the second page of issues. Why is this a problem? In a word: distraction.

View npm-debug.log
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'publish' ]
2 info using npm@2.14.9
3 info using node@v0.12.9
4 verbose publish [ '.' ]
5 silly cache add args [ '.', null ]
6 verbose cache add spec .
7 silly cache add parsed spec { raw: '.',
View arrayproxy.js
// target is the backing object
let target = { length: 0 },
proxy = new Proxy(target, {
set(trapTarget, key, value) {
let numericKey = Number(key),
keyIsInteger = Number.isInteger(numericKey);
// special case for length property - only need to worry if length is
// shorter than number of array items
View output.log
8721 passing (45s)
81 failing
1) CLIEngine executeOnFiles() should report zero messages when given a directory with a .js2 file:
AssertionError: expected 0 to equal 1
at Context.<anonymous> (C:\Users\Nicholas\projects\personal\eslint\tests\lib\cli-engine.js:309:20)
at callFn (C:\Users\Nicholas\projects\personal\eslint\node_modules\mocha\lib\runnable.js:286:21)
at Test.Runnable.run (C:\Users\Nicholas\projects\personal\eslint\node_modules\mocha\lib\runnable.js:279:7)
at Runner.runTest (C:\Users\Nicholas\projects\personal\eslint\node_modules\mocha\lib\runner.js:421:10)
at C:\Users\Nicholas\projects\personal\eslint\node_modules\mocha\lib\runner.js:528:12
View alias.md

Usage:

To create a new branch that is up-to-date with the remote master:

$ ws 123

Creates the branch issue123

View inc.sh
# This was used to update all column numbers in ESLint tests when we
# changed to 1-based columns from 0-based
$ perl -pi.bak -e "s/(column: *)([0-9]+)/\$1.(\$2+1)/e;" tests/lib/rules/*.js
View gist:b00ce7cf9e5d99935853
Ingredients:
* 1 ripe avocado (a bit soft)
* 3 tbsp pure cocoa powder (no sugar added)
* 3 tbsp coconut nectar
* 6 tbsp unsweetened coconut milk
Steps:
1. Scoop out avocado into blender/food processor
View job.md

Staff Software Engineer, Front-end Frameworks (Los Altos, CA)

Box's Front-end Frameworks team is looking for an experienced engineer to join us at our Los Altos, CA headquarters on our mission to make building web applications on top of the Box infrastructure easy, fast, and fun.

About the Team

Front-end Frameworks ensures that Box web applications are built on top of the best tools and frameworks available. We actively evaluate third-party libraries and frameworks, as well as building our own, to make sure our feature teams can be as effective and iterative as possible. In the past two years, we've led the establishment of front-end best practices, created a lightweight client-side framework that has improved developer experience by enforcing conventions and loose coupling, and started putting together a Node.js framework to power the next generation of Box web applications.

About the Job

View application.yml
override: ./tests/fixtures/override.yml
http:
port.prod: 6000
port.dev: 7000
application:
mode.prod: prod