Herding Lions

Hi! I'm Ben.

I make software in Durham, North Carolina. This is my site where I write about engineering leadership and productive product teams. If you're interested seeing more, feel free to subscribe.

First time on the site? Start here.


Weekly Links: June 10th

JavaScript & The Web The React is “just” JavaScript Myth | Dave Rupert I’ve been thinking a lot about the reasons that JavaScript development is perceived as intimidating and over-complicated the past few weeks. Might have a full post on that soon, but for now, there’s a good point …

ES6: The Bad Parts

This month is the 3 year anniversary of the ECMAScript2015 spec, better known as ES6. It was a spec update that brought a ton of features to the JavaScript language, and the start of a new era of improving the language. It was also the last “big bang” release of JavaScript, as TC39 has …

Weekly Links: June 3rd

JavaScript & The Web New in Chrome 67 - Desktop PWAs | Google Developers Google has a new process for bundling web apps as installable applications, this time based on the emerging Progressive Web App semi-standard1. An interesting alternative approach for smaller applications that don’t …

Weekly Links: May 27th

Business & Technology Gatsby contributors form Gatsby Inc. | Gatsby Blog This blog is built on Gatsby, and I’ve written and spoken on it a few times in the past. So I’m really excited to see what happens with the tech as it becomes a company, while continuing to be open source. It …

Weekly Links: May 19th

JavaScript and the Web The React Podcast | Michael Jackson I listen to a decent amount of podcasts, but I’ve usually found it tough to get into programming podcasts. Without visually being able to see code, they’re usually either ultra high level, or get hard to follow when going into …

MobX Patterns: State Machines & Flags

A few weeks ago, I was listening to the React Podcast, specifically their episode on State Machines with David Khourshid. About 20 minutes into the podcast, there was a discussion on the benefits of using enums over flags to model the state of objects that can change across multiple dimensions. It …

Weekly Links: May 5th

Intriguing Github Projects MDX Ever since I started using Gatsby to power this blog, I’ve wanted the ability to write markdown with React elements intermingled in it. This looks like the first working version of that I’ve seen. I’m excited to play with it. bat: A cat(1) clone with …

Weekly Links: April 27th

JavaScript & The Web CSS at Scale: LinkedIn’s New Open Source Projects Take on Stylesheet Performance | LinkedIn Engineering This is a cool new set of CSS tools from LinkedIn. This looks most similar to CSS Modules/PostCSS to my eyes, with a focus on optimizing bundle size for both CSS and …

The New Hello World

JavaScript has had a weird reputation inversion over the past decade. For years it was the stripped down toy language that could. It didn’t have the features people wanted, and it did have the features they didn’t want, but it ran everywhere and it was easy to just start building things. …

Weekly Links: April 22nd

JavaScript & The Web Designing Very Large (JavaScript) Applications - Malte Ubl This is a great talk, both because of the concepts it delivers, and because it serves as sort of a funhouse mirror look at a JavaScript framework that will probably never be public. Programming Tools Hyper 2 A new …

Book Review: The Inmates Are Running The Asylum

For the past few months I’ve been working through a goal of reading 30 books in a year. I made a list sourced from books that I’d wanted to read in a while, and books that friends recommended, and I’ve been working through it. For the most part I’ve gotten through books …

Weekly Links: April 7th

JavaScript and the Web React Lifecycle Diagram | Dan Abramov Dan shared a really great illustration of the React lifecycle methods on twitter that can help you internalize how they work if you’re unfamiliar. Announcing the Second Edition of “Refactoring” The upcoming second edition of …

Weekly Links: March 30th

A big pile of links for Easter weekend. Happy Easter everybody! JavaScript and the Web ES modules: A cartoon deep-dive | Lin Clark - As usual, Lin Clark offers a great approachable explanation of a complex topic. Here she gets into the weeds of how ES modules are implemented in browsers, and how the …

Front End Computer Science Basics: Boolean Logic

This is the second post in a series of posts on Computer Science basics for front end developers. The goal is to focus on the practical implications of basic CS theory for JavaScript development. Modern programmers owe a lot to the efforts of many head in the sky theoretical mathematicians from the …

Weekly Links: March 24th

TC39 and the future of JavaScript/ECMAScript #SmooshGate FAQ | Mathias Bynens - A great explanation both of the background behind the recent twitter controversy over Array.prototype.smoosh as well as the TC39 process generally. js-classes-1.1 | Allen Wirfs-Brock - This is the new proposal for …

Front End Computer Science Basics: Variables and Memory

A few weeks ago, I asked for input on the idea of resources on Computer Science for front end developers. Because there was a decent amount of interest, I’m planning on fleshing out the idea a bit with a small series of posts on CS basics. These posts will cover some concepts that would …

JavaScript Proposals In Production

This post was adopted from a twitter thread that outgrew it’s medium today. You can see the original thread here. This morning I saw the following tweet: *TC39 proposes Array.flatten feature that breaks code that was working fine for 10 years* "IT'S THEIR FAULT FOR DOING NONSTANDARD …

Weekly Links: March 16th

JavaScript And The Web Bitmasks and the new React Context API | Haukur Hallvarðsson - A nice rundown of one aspect of the new React Context API that is likely to be familiar to low-level developers but will probably be a new idea to many front end devs: using bitmasks to test a condition. MobX 4: …

Classic Book Review: The Visual Display of Quantitative Information

If you have any interest at all in data visualization, you can’t get very far learning about it without hearing the name Edward Tufte. His four books on the subjects have had a huge influence on the industry over the last 35 years, a time where data visualization has blossomed as it has moved …

Weekly Links: March 11th

Rather than posting random stuff that popped up this week like usual, I wanted to instead post a set of “classic” links instead. The theme this week is Learning React. Here are some of the links that helped me to learn different React concepts as I was first tackling it. Note that these …

Weekly Links: March 2nd

JavaScript And The Web Sneak Peek: Beyond React 16| React Blog - This is a preview of where React is going next. I’m still processing through this, and how I can use it, but Suspense seems like something that will make dealing with async data much easier in React. Loading states are something …

Weekly Links: February 23rd

JavaScript And The Web Feature watch: ECMAScript 2019 | 2ality - Not a lot to see here yet, but Axel Rauschmayer has set up a page for tracking the status of the next version of ECMAScript as features advance to stage 4 and become confirmed for the next version of the spec. No features have been …

Computer Science for Front End Developers?

I am primarily a front end web developer, and I have a Computer Science degree. In my experience, this is neither rare nor particularly common. Folks seem to get into front end dev because they’re trying to solve particular problems, and those problems exist whether you have a PhD in high …

Weekly Links: February 16th

JavaScript And The Web Promises are not neutral enough | André Staltz - This is a pretty good dissection of the downsides of Promises as JavaScript’s default async primitive. I’m glad that Promises have replaced callbacks as the default async method for most JavaScript code, but it does …

Book Review: Clean Architecture

Clean Architecture by Robert “Uncle Bob” Martin was one of the better books on Software Development I’ve read in recent years. It did exactly what I want from a software book in 2018: it tackled an important high level topic with a great amount of depth in a way that helped me as a …