Why does setTimeout(func, 0) work, anyway?
The magic behind setTimeout and its implications on JavaScript execution flow.
What’s actually inside the thing everyone else just uses?
Day to day I lead engineering enablement across HoneyBook, which lately means working out how a whole org builds with AI agents without making a mess of it.
Six packages I maintain get about 2.7 million downloads a month. The first one went out in February 2018.
I've given five conference talks since 2022, in the US, Europe and Israel.
The magic behind setTimeout and its implications on JavaScript execution flow.
Why is Lighthouse score so different from field data? What is TBT? How large bundle size and long tasks affect performance? And finally, how do you improve it? Learn all about it in this article.
Why you shouldn’t be using function parameters in JavaScript and what the alternative is.
An in-depth overview of internal Angular CLI APIs and example of custom builder
A detailed guide to measuring and improving your React App performance with React Profiler. Accompanied by a web app that makes it easy to follow along.
In this article we’re going to review Chrome Extensions architecture and learn how to incorporate Angular into it. We will be starting from scratch with ng new and finishing with a fully functional Chrome extension, convenient dev environment and hopefully a decent understanding of how it works.
What is a major version? How is that different from a minor version? How to avoid breaking your user’s builds? Let’s talk about versioning!
If there is anything I’ve learnt in the years of owning an open source it is that the less routine work you have to do yourself the more free time you have for actual work (like fixing bugs and developing new features). Today we’re going to talk about Automation.
I do advisory work too — you're welcome to reach out via the form.