Oct 9, 201812 Factor CLI AppsCLIs are a fantastic way to build products. Unlike web applications, they take a small fraction of the time to build and are much more powerful. With the web, you can do whatever the developer programmed. With CLIs, you can easily mash-up multiple tools together yourself to perform advanced tasks…Programming12 min readProgramming12 min read
May 26, 2018For the love of god, don’t use .npmignore.npmignore is a serious hazard in Node.js projects you should immediately quit using (except in one situation as outlined below). There is a better alternative that’s been built into npm forever that’s much easier and secure! What is npmignore? So I’ve got this npm package called cli-ux. It’s a set of common CLI…JavaScript4 min readJavaScript4 min read
Published inSalesforce Engineering·Mar 20, 2018Open Sourcing oclif, the CLI Framework that Powers Our CLIsCoding for the browser takes serious time. You need to deal with front-end JS, CSS, design, product, and a ton more. On the other hand, building for a CLI takes a fraction of the effort. …JavaScript4 min readJavaScript4 min read
Aug 3, 2016The Best Code I’ve Ever WrittenA little shell script — I often say the best code I’ve ever written is a little tool called gh. It’s a little shell script that has saved me countless hours over the last couple of years since I wrote it. Essentially it helps you manage your local github repositories, but it’s so much more…Github4 min readGithub4 min read
Oct 15, 2015MEAN: how to start.This is part 3 of a 3 part series. Part 1. Part 2. If you want an in-depth guide on how to get started with the MEAN stack, you should really pick up my book. Still, this should offer a quick overview to help you get started. Here is the…JavaScript4 min readJavaScript4 min read
Oct 14, 2015MEAN: the monolith crusader.This is part 1 of a 3 part series on the MEAN stack. Part 2. Part 3. The MEAN stack is a popular set of components used to build modern web applications. It’s quite a bit different from how we’ve architected systems in the past and offers the chance to…Web Development9 min readWeb Development9 min read
Oct 14, 2015MEAN: the composable stack.This is part 2 of a 3 part series on the MEAN stack. Part 1. Part 3. This ain’t omakase. Every component in MEAN is swappable, and somewhat paradoxically, not sticking to Mongo, Express, Angular or Node is what makes MEAN great. While doing so will mess with a tidy…Programming8 min readProgramming8 min read
Feb 4, 2015How to Pair ProgramThe best way to be a better engineer I don’t think engineers are very good at pairing. I know I wasn’t, and it was a big reason why I took my previous job at Carbon Five where I was pairing all the time. In addition to being a well respected…10 min read10 min read
Jul 9, 2014Best Practices for Building Angular.js AppsBrowserify? Require.js? Doesn’t Angular.js have modules? — Update 2016–04–17: I wrote this article almost 2 years ago for Angular 1.x. This article is still tremendously popular somehow, but I want to warn that it may not be the best for Angular 2.x or other methods of building JS front-ends. I have spent almost all my time writing…Angularjs13 min readAngularjs13 min read
Jul 8, 2014Rails: We need to talk.An open letter to my framework — Photo credit: http://www.womenshealthmag.com/sex-and-relationships/facebook-breakups I remember when we first met. I had been with C# and ASP.NET at the time. We were at the Borders Bookstore in Corvallis, Oregon, must’ve been Summer of 2009 — a playful, romantic season in the Northwest. …13 min read13 min read