Back to Basics
Feb. 28, 2023
The Oak Team, the engineering team responsible for building and
maintaining The New York Times' collaborative rich text editor, just
had the most engaging, fulfilling sprint that I've experienced since I
joined the team in 2019. We collaborated, supported each other, and
learned new things. And we didn't push a single commit. Instead, every
engineer on the team spent two weeks learning about how the core
technologies we use every day really work, so that we could engage with
them more deeply, and hopefully solve some long-standing problems we
face while developing Oak!
ESNI: Making the Internet Private by Default
Sept. 19, 2020
The internet as a system is inherently public. The primary protocols,
like HTTP for website traffic and SMTP for email traffic, are plaintext
protocols, and the underlying Internet Protocol (IP) includes fairly
stable addresses (IP addresses) in every request, which means that
the computers that serve content, like web servers and DNS servers,
are constantly being informed about who, specifically, is making which
request.
Dockerizing Legacy Scoop for Reproducible Development Environments
Sept. 14, 2020
That title is a bit of a mouthful, huh? Probably a good idea to start with some context.
"Scoop" is the name of the CMS at the New
York Times, which is actually made up of a number of separate frontend apps that
sit atop a shared backend. Most of the time I work on Oak, the collaborative rich text
editor that the newsroom uses for writing news and opinion stories. Oak actually has its
own datastore (Google's Cloud Firestore) and backend, but presently the only way to be
a part of the Scoop ecosystem is to also store at least a subset of our data in the shared
backend.
SMTP: A Conversation
May 9, 2020
One crucial piece of network administration has always evaded me.
Past the routers, VPNs, websites and Docker images, always just out reach,
sits the big one: email. I have never been able to wrap my
head around even the simplest pieces of email networking. Somehow, this
fundamental part of the modern internet has always just been a little
bit too complex, just a little bit too finicky.
A Tale of 100 Blue Buttons
A brief intro to The New York Times' content management system,
and why we needed to build Ink, a design system for that content
management system.
Monads and You: How to think about Promises
A look at how the functional programming notions of functors and
monads can help provide us with helpful mental models for thinking
about Promises in Javascript. It's not as scary as it sounds, really!
Yarn Berry
A talk about how and why to migrate to Yarn Berry.
Unionizing NYTimes Tech Workers—with bubbles and red paint
A talk given by myself and my co-worker and fellow union organizer
Vicki Crosson about how the New York Times Tech Guild built software
to assist in their organizing process.