Disclaimer: This piece is written anonymously. The names of a few particular companies are mentioned, but as common examples only.
This is a short write-up on things that I wish I'd known and considered before joining a private company (aka startup, aka unicorn in some cases). I'm not trying to make the case that you should never join a private company, but the power imbalance between founder and employee is extreme, and that potential candidates would
Our goal is to run python -c "import caffe"
without crashing. For anyone who doesn't spend most of their time with build systems, getting to this point can be extremely difficult on OS X. Instead of providing a list of steps to follow, I'll try to explain why each step happens.
This page has OS X specific install instructions.
I assume:
1: async (5,306,139) | |
2: mkdirp (3,989,808) | |
3: request (3,822,748) | |
4: glob (3,750,793) | |
5: minimatch (3,476,898) | |
6: commander (3,475,471) | |
7: debug (3,454,917) | |
8: qs (3,372,442) | |
9: inherits (3,105,353) | |
10: graceful-fs (3,005,257) |
{ | |
"Statement": [ | |
{ | |
"Sid": "PackerSecurityGroupAccess", | |
"Action": [ | |
"ec2:CreateSecurityGroup", | |
"ec2:DeleteSecurityGroup", | |
"ec2:DescribeSecurityGroups", | |
"ec2:AuthorizeSecurityGroupIngress", | |
"ec2:RevokeSecurityGroupIngress" |
The stream is a powerful tool, not just for IO, -- but, in the best Unix tradition -- for composition of modules. I've been connecting streams into quite long chains.
Some streams I have written do not alter the data in the stream, but affect it is some way, such as buffering when the stream is paused. pause-stream
Also, I've been writing high level abstractions that communicate via streams, and do some interesting high level stuff, Such as by replicating data, snob and crdt, or multiplexing mux-demux. Another good example is dnode.
These abstractions expose a stream on their interface, and so can be used over any io channel which supports pipe
.
var fs = require('fs'), | |
stream = fs.createWriteStream('blah.txt', { flags: 'w', encoding: 'utf-8' }), | |
i = 0, | |
status; | |
stream.on('open', write) | |
function write() { | |
if (i > 100) return stream.end() | |
console.log(i) |
A list of features that we want to see in CouchDB. Needs to be voted on so that it can become a priority queue. | |
User Facing Features | |
==================== | |
1. Conflicts are the rule, not the exception | |
All previous versions of CouchDB hide conflicts by default (selecting | |
an arbitrary but consistent winning revision). Expert users can find | |
and resolve conflicts. |