46 articles since 2015

Recently published.

Older posts

10 posts · sorted newest

Advice for New Software Engineers

Honest career advice for new software engineers from an engineering manager: what college misses, how to grow, and why business sense matters.

advicesoftware-engineeringbeginner
Jul 4, 2022
6 min read

NPM: What are project dependencies?

The difference between dependencies, devDependencies, and peerDependencies in a package.json, and when to use each type in a Node.js project.

JavascriptNodeJSReact
Aug 17, 2021
4 min read

CSS Box Model

Part one of 'CSS: The Important Stuff'. How content, padding, border, and margin actually lay out every element on a web page.

CSSFrontend
Oct 24, 2020
5 min read

Start With No

Why saying 'no' as a default to feature requests protects your product, your team, and your users from the lifecycle that kills most software.

Project Management
Sep 13, 2020
4 min read

Making React Fast: Tips on Optimizing ReactJS

React performance from the ground up. How the reconciler works, when re-renders hurt, and the tools (memo, key, useMemo) for fixing jank.

ReactJavascript
Feb 4, 2020
7 min read

Music That Defined My Decade: 2010-2019

The albums and songs that shaped a decade of my life. Heavy on post-rock, math-rock, and odd time signatures.

musicpersonal
Dec 29, 2019
7 min read

Lost Connections: Why You’re Depressed and How to Find Hope

Reflections on Johann Hari's Lost Connections: the nine social and cultural disconnections he argues are fueling modern depression and anxiety.

mental healthdepressionanxiety
Dec 1, 2019
6 min read

How Facebook Avoids Ad Blockers

How Facebook hides the word 'Sponsored' from ad blockers using per-character spans and DOM obfuscation, pulled apart piece by piece.

encryptionfacebookinteresting
Nov 24, 2019
3 min read

On Writing Clean Code

Writing cleaner code: name variables well, pick good function signatures, and leave behind code your future self can read without cursing.

programmingsoftware-engineeringbeginner
Jul 21, 2019
5 min read

Leveling Up Your Terminal/Command-Line Navigation

Keyboard shortcuts for moving around the terminal faster: cursor movement, history search, line editing, and process control.

terminalproductivitycommand-line
Jun 17, 2019
2 min read