HN user

BenjaminCoe

1,425 karma

Programmer/awesome dude.

Posts139
Comments127
View on HN
github.com 4y ago

Show HN: Conventional Commits and GitHub Releases Beta

BenjaminCoe
6pts0
github.com 5y ago

Show HN: A formal grammar for Conventional Commits

BenjaminCoe
1pts0
dev.to 6y ago

Show HN: how our team at Google releases libraries

BenjaminCoe
4pts1
medium.com 6y ago

Node.js library authors should follow its release schedule

BenjaminCoe
1pts0
dev.to 6y ago

Show HN: Enforcing JavaScript code coverage with GitHub Actions

BenjaminCoe
2pts0
medium.com 6y ago

Source map support added to Node.js

BenjaminCoe
2pts0
opensource.googleblog.com 6y ago

Show HN: A 2FA proxy for publishing to npm

BenjaminCoe
3pts0
apps.dtic.mil 6y ago

Code coverage was first developed in classified military paper [pdf]

BenjaminCoe
2pts0
conventionalcommits.org 6y ago

Conventional Commits: A specification for structured commit messages

BenjaminCoe
157pts95
medium.com 7y ago

Show HN: Rethinking JavaScript Test Coverage

BenjaminCoe
8pts1
www.conventionalcommits.org 7y ago

A specification for adding human and machine readable meaning to commit messages

BenjaminCoe
1pts0
boneskull.com 7y ago

Upcoming Node.js Features Improve Experience for CLI App Authors

BenjaminCoe
1pts0
medium.freecodecamp.org 7y ago

Contributing to Open Source is not hard

BenjaminCoe
2pts0
github.com 8y ago

Show HN: Collect test coverage from a headless Chrome browser

BenjaminCoe
1pts0
github.com 8y ago

Show HN: Spife, the web-framework used internally at npm

BenjaminCoe
3pts0
github.com 8y ago

Show HN: Collect v8 test coverage in Node.js

BenjaminCoe
3pts0
superyesmore.com 8y ago

On Productivity and Health

BenjaminCoe
1pts0
nko2017-discovery.herokuapp.com 8y ago

Show HN: Host video office hours for your OSS project

BenjaminCoe
1pts0
yargs.js.org 8y ago

Yargs 10 released, argument parsing for JavaScript

BenjaminCoe
1pts0
blog.npmjs.org 8y ago

Npm introduces two-factor auth

BenjaminCoe
3pts0
tools.ietf.org 8y ago

Reserve the 418 status code

BenjaminCoe
195pts115
github.com 8y ago

Show HN: Tool to backup SoundCloud account meta-info

BenjaminCoe
2pts1
conventionalcommits.org 9y ago

Conventional Commits: A specification for structured commit messages

BenjaminCoe
7pts0
blog.npmjs.org 9y ago

The history of search for npm

BenjaminCoe
1pts0
babeljs.io 9y ago

The State of Babel

BenjaminCoe
241pts102
github.com 9y ago

Show HN: Build a Slack-Bot with Node.js and Yargs and Heroku

BenjaminCoe
6pts0
github.com 9y ago

Show HN: Automatically publish to npm from Travis CI

BenjaminCoe
1pts0
istanbul.js.org 9y ago

Tutorial: Testing Your ES2015 Codebase

BenjaminCoe
2pts0
yargs.js.org 9y ago

Show HN: Yargs 5.0.0 released

BenjaminCoe
2pts0
github.com 10y ago

Show HN: Add test coverage to your ES2015 codebase

BenjaminCoe
1pts0

Hey,

I'm the original co-author of the "Conventional Commits" spec. Although, I should give credit where credit is due, and say that it evolves directly from Angular commit conventions.

I started adopting these conventions with the goal of automating releases, both on my open-source and on the services I was working on at npm (I've since brought the practice to my team at Google).

I very much did not want to introduce road blocks to folks committing to their own branches -- which is what the "rewrite the message when you squash" advice grows from.

Here's a post I wrote on how my team uses Conventional Commits in our release process:

https://dev.to/bcoe/how-my-team-releases-libraries-23el

I'm curious what the percentage of npm publishers that have this toggled on is, and I wish that was available data.

I know we're tracking this data and I bet a follow up post will be written at some point once some numbers are available. As you say, I expect 2fa will see wide adoption as soon as a stable version lands in the upstream Node.

I've been summoned :p

We use Atom's syntax highlighter for syntax highlighting on npmjs.com -- I originally wrote onigurumajs, because I was seeing if we could viably remove the website's only compiled dependency (oniguruma) ... I wrote it over vacation, and then had to put the work down.

I would love help to see the library over the finish line; on a grammar by grammar basis it would be great to figure out what the JavaScript regex engine is missing, and try to shim the logic.

why???

The great thing about using oniguruma, is that it lets you leverage the huge collection of grammars available for TextMate -- unfortunately JavaScript's regex engine doesn't support quite a few rules that are present in TextMate grammars.

As one of the folks on the front-lines helping patch this, I certainly have no hard feelings; and I'm excited to be able to support this feature properly

... also ... not going to lie, this was the first time we've gotten to test several of the checks and balances we have in the npm registry which I was jazzed about :)

We've had the opposite experience using Replicated for npm's on-prem npm Enterprise software.

I was originally trying to build our Enterprise solution using Ansible, targeting a few common OSes (Ubuntu, Centos, RHEL); headaches gradually began to pile up, surrounding the "tiny" differences in each of these environments -- I'm VERY happy to offload this work.

It took me a little while to wrap my head around best practices regarding placing our services in Docker containers, but once I was over this conceptual leap I was quite happy.

Similar problems exist in most package management systems. registries that have a manual review process mitigate this danger, but there's still always a risk of malicious code getting into the world.

Having said this, we'd like to make exploits such as those discussed in #319816 as difficult as possible. We're exploring supporting new authentication strategies: such as 2-factor authentication, SAML, and asymmetric key based authentication (some of these features are already available in our Enterprise product, but haven't made it to the public registry yet). npm's official response has more details on this subject:

http://blog.npmjs.org/post/141702881055/package-install-scri...

Even though I try to be diligent about keeping my dependencies up-to-date, they tended to always drift away from truth -- updating is a sometimes frightening chore that's easy to put off.

I'm enabling Greenkeeper.io on all my OSS projects, and it makes this chore much easier.

we're using Replicated to build out our on-premises solution at npm. It's bee a great experience: along with providing a great UI for installing and pushing updates; it's been the impetus we need to push us to play with docker more, I've found that this mindset has helped the overall quality of our SOA.

When packaging up various npm components, BusyBox was recommended to me as a great solution for creating containers with a low overhead -- I eventually stumbled across Alpine (which is built on top of BusyBox) and have been really happy.

Alpine has a tiny footprint, which is great for wrapping Node.js which itself is tiny; But wait, there's more, Alpine has a great package-manager similar to apt, called apk -- this is what sold me on it over BusyBox.

I'm relatively new to Babel + ES2015 myself and would love to hear about how other people structure their projects: do you transpile your ES6 code before running tests on it, what suite of tools do you use for transpiling? What are other caveats folks should keep in mind when using Babel?

Agreed, yargs (the CLI app that this was built for) has very basic requirements -- there are only a few dozen strings in the entire codebase.

Having said this I did make an effort to learn from prior work in the area, basing the library on: https://github.com/mashpie/i18n-node

A friend of mine who did a thorough literature review at PayPal also advocated formatjs.io -- although I think this is a little bit too much power for little old yargs.

I love the Node/npm community, and have been programming JavaScript for so many years it's hard habit to kick :) I'd love to try my hand at Go though... I think it's awesome to see what practices can be shared between communities.

One approach I've been playing with in JavaScript-land is using Promises for all return values, this means that you consistently know how to interact with a return value, whether its concrete-value is available immediately or at a later time -- this doesn't really solve the problem of consuming other people's libraries however!

Having next to no Go experience, and zero Rust experience, I found this article a really fun read. Coming from a Node.js background, it was neat to see the concurrency approaches used in both languages compared -- quite different from a single-event-loop :)

I didn't want to check-in the wavs (because they're huge). But, if you run `unitgen mixer --track1=foo.wav --track2=foo2.wav` and pass in two 44100 wavs, you can use `a` and `s` to play with the cross-fade.

I'd love to hack on this with you. My goal is to build out a semi-functional mixer that I could use rather than Ableton, similar problem :)