RSSAmplifier

Blog

Boris Cherny’s Blog

Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.

/RSS feed ↗10 posts

Latest posts

NPM and NodeJS should do more to make ES Modules easy to use

Coming back to JavaScript and TypeScript after a few years neck deep in Python and Hack, I kept hitting a number of new, cryptic errors when running NodeJS code in my dev environment:

Learning to work (very) remotely

For the last year and a half, I have been working at Instagram in Japan. It’s a bit of an unusual setup: I live and work remotely from Nara, Japan, in a timezone that few other Meta engineers work in (most of Instagram and Meta are spread across the US and Europe).

Time and Timing

You often hear that “timing matters”. It helps to think about this as two related concepts: time and timing.

Dinosaur Food: 100 million year old foods we still eat today

I just finished Oliver Sacks’ excellent Everything in Its Place. In it, he mentioned as an aside that the Ginkgo biloba tree is hundreds of millions of years old, and its phenotype has been practically frozen since then – a living fossil.

Data Management on the Web Still Sucks

It’s 2021, and data management on the web still sucks. This is crazy!

Public Opinion

I don’t usually write about politics, but today was a weird day.

React+TypeScript: Use unions of objects for props

When typing React component props using TypeScript, I often see code that makes use of optional and nullable fields:

On Contagion

If you have a tree with a node that has a property P, and all of its parents also need to have property P, then P is contagious.

13 Tips for Writing a Technical Book

I spent the last year and a half writing my first technical book for O’Reilly (Programming TypeScript). I’d never written a technical book before. In fact, prior to the 300-page book, the longest thing I’d written was a 20-something-page paper in college.

On Derived State

Derived state for frontend applications comes up a lot. State B depends on State A, so after you update A, by the time you read B you want it to be updated based on the latest value of A. There’s a bunch of ways to model this, involving different tradeoffs: