Brussels Sprouts

It’s that time of year again, when a lot of people will enact great tragedies on that most underappreciated of vegetables, the Brussels sprout.

This is the correct way to prepare Brussels sprouts. It’s also one of the easiest and lowest-effort. The ingredients are few and simple. The work is minimal. It requires very little skill and is easy to learn. If you’ve never had Brussels sprouts prepared like this, you’ll be amazed at how good they taste. In fact, you may learn for the first time that they even have a taste, and that it is sweet and delicious, and not at all improved by bacon, cream, or vinegar, or whatever other awful tortures people put these things through.


  • Brussels sprouts, ideally all roughly the same size
  • Some salt
  • Plenty of oil


Rinse the sprouts.

Cut them in half longitudinally. That is, so that the cut goes through the stem, and you have two symmetrical halves. Don’t cut them along the equator, if you do that they’ll shred. Put them in a bowl and try not to break them up too much, but don’t sweat it if a few leaves fall off.

Put enough oil in a large flat pan so that it covers the bottom. Heat it up.

While it’s heating, place the sprouts in the oil flat side down. Don’t just dump them all in there. This is important. Cover the bottom, but do not do more than one layer. Every sprout should have its flat face fully flush against the bottom of the pan.

If the sprouts start to absorb some of the oil, put some more in. The bottom should be covered, but they should not be swimming.

Toss any stray leaves in there just kinda randomly, it’s fine.

Throw a bit of salt on them. I give it a good “shooka-shook” from the salt shaker, probably like a quarter teaspoon or so, but this is pretty flexible. Make them, and if they’re not salty enough, put some more salt on them and use a bit more next time.

The cooking time and heat will need to vary based on the size of the sprouts. The goal is to burn the bottom and let the insides steam in the little dome of Brussels sprouts leaves. Big sprouts will take longer to cook the insides, so you’ll use a lower heat and cook for longer. Little sprouts, turn that shit up (but if the oil starts smoking, that’s too hot, back off a bit). If you get it a bit off, it’s fine. Just means that they might have to get a little more or less browned.

They’re done when the top is dark green and the bottom is completely browned (but not black, that’s probably too much).

Use a tongs to pick one of them up and check if they’re done. Other than that, do not fucking touch them. They don’t need to be messed with, stirred, moved around, or touched. They just need to burn and steam, and that’s it.


They taste like sweet popcorn. I’m serious. The crunchy bottom tends to soften pretty quickly, so sooner you eat them, the better, but this is usually not a problem. (And they’re still good when they’re not super crispy, just a little less amazing.)

15099334 1515029755179276 953561633966260224 n

18645619 1909008672722154 2098837199138062336 n

Node + JS Foundation


Today the Node.js and JS Foundations announced an intent to merge.

tl;dr – This is a good thing. I’m psyched.

The JavaScript community is a big and diverse group of people, doing lots of stuff. Most companies in the world use JavaScript, and at npm, we have a unique view into the shape and scope of this ecosystem.

The overwhelming majority of JavaScript users are people making websites, using modern frameworks, and tooling built in Node.js. They are trying to get a job done, and they want streamlined tools that make them more able to do their jobs. Many of them are not what we might have thought of as “Node Devs” a few years ago (though many are). Their websites run on every back-end platform, including but not limited to Node.js, and they all have to ship a website to browsers, which means JavaScript. Node.js is the dominant platform for building the tools for doing this, and npm is the place where platforms, modules, and tooling are distributed and shared.

A split between “back-end” and “front-end” JavaScript makes less and less sense in light of the way that this community has grown over the last 9 years since Node.js was released. (Wow, has it really been that long? Time flies.) A fast-growing community means that most of the people writing websites, using Node.js-powered tooling and pulling libraries and frameworks from npm, have only been doing it for less than 2 years. The split may have felt normal to those of us involved in 2009, but it seems unnatural and awkward to most working in the field today. It’s just JavaScript. It runs on servers, and on the command line, and in browsers, and you use npm and a bunch of other tools it provides. Is “babel” a front-end tool or a back-end tool? Why are there two groups, when it’s mostly the same people?

Node.js getting more integrated with the broader JS community means that the project can more effectively advocate for server-side use cases, and can get better feedback from those who are depending on Node.js to power the tools they use to ship websites.

As one of the companies at the center of JavaScript development, we at npm are thrilled to see the two major JavaScript foundations joining forces to provide a forum for the entire Open Source JavaScript community. Consistency of governance, processes, and policies can make it easier for devs in disparate JavaScript projects to collaborate and coordinate, removing an unnecessary barrier to innovation. Both foundations now have an established history of iterating on their processes. I hope that this new shift provides a chance to retrospect on what worked, what didn’t work, and what can be improved by working together.

On a personal note, I got involved with Node.js in the first place because I wanted to live in a world where front-end, back-end, tooling, and infrastructure coding did not require constantly shifting my brain around to a whole new language. I couldn’t have predicted how npm would become so relevant to the world of web development, and it’s more than I would have thought to hope for. There’s a lot of open questions about what exactly a merged foundation will look like, but I’m very happy to see things move in this direction.


Content warning: suicide. I wrote this in January of 2014.

We don’t often notice the difference between one day and the next in our memory. A year blends together. As you get more distance, a block of similar years become a single unit, characterized by a specific flavor of scenery, people, and feelings.

The cracks in the sidewalk that I’d avoid stepping on as I crossed the bridge over Fitch street on my way to class. The girl I smiled at walking over that bridge, and the months of passionate sex and breakups that smile unleashed. The cheap limitless terrible food at Conn Hall. The drudgery of debugging printers for professors so I could pay my rent. Winters where stepping the wrong way on a sheet of ice plunged me ankle deep into brown slush. The insufferable New Haven towing racket and incredible pizza.

And then, in a flash, the channel changes.

Suddenly it’s palm trees and vacuum cleaners, then Yahoo! and JavaScript. A terrible marriage and a happy divorce. Then it flips again, to Joyent and Node and bart and biking. Speaking at conferences. Open source, buzzwords and business cards. My arrival as an internet personality. Marisa.

It’s blatant in hindsight, but I usually don’t see it coming. Some changes are complete and total, marking a brand new lifetime with each transition. I’m not sure I’m the same person as a few versions ago. Every line has been edited, every vision altered.

This most recent shift, though… I saw this one coming. Or at least, I saw one side of the book mark.

I prepared the transition to be as smooth as possible. I recruited allies, and trained a successor. Now was the time. I didn’t know what exactly would be showing on the new channel, but I knew that a change was coming, and I wanted to make sure it’d be good. This idea of book marks was going to be my Pastry Box contribution. I had thought it all out.

I had no idea.

On Christmas eve, I sat in a thai restaurant with my friend. Luke, who makes jokes, and travels the world, and works on npm. By the end of 2013 we hung out about weekly or more, to eat and chat and laugh. We had met at Taco Conf a few years prior, where he told me that he wanted to move to Oakland to hang out with the Node people. He did that. We clicked well. He watched my cats once. I recommended him to Yahoo.

The day before that dinner, Luke had written a note. We complained about the holidays a bit, and shared Kao Nam Tod. It didn’t seem weird to me that he was in town. After all, I was also. I knew he was from upstate New York, but he didn’t ever talk about his family there. I don’t know if I ever talked about my family much either. Just never came up. We reminisced about New England winters and how much nicer California is. We talked about how horrible the holidays are, and about business and dating and the future.

A few days later, I went out of town to visit family. The trip was too long by a day. At the end we were all eager to get back to our lives. I came back on New Year’s Eve. I sent Luke a message the next morning, telling him that relatives had given me some cat toys, because they don’t know how fat and lazy my cats are. Maybe his kitten could attack them, instead of attacking his face, like it usually did.

It was still early. I figured he’d get it when he got up. I could bring them by. I was working on npm that day. The new startup. The Book Mark. Everything was going great. I was looking forward to telling him about the latest developments.

I got a message from Luke at 4:15 in the afternoon. Before seeing what it said, it reminded me that I hadn’t had lunch yet, and hadn’t seen him in a week, which was a perfect coincidence. I was going to suggest Xolos. His message asked, “Could you share this publicly or privately in a few hours or so?” A link to the note that he wrote on Christmas Eve Eve.

Oh no. Wait. Where are you, I’m going there now. I’m coming to your house. 911. Call Mikeal. Call Dustin. Tell Marisa to bring the car back home, we have to go, now.

We met the police at his apartment. The key was where he said it’d be, and there was food and water for his kitten. Calling, again and again, it rings 4 times, and then voicemail. iMessages delivered, but no response.

5:09, another buzz in my pocket. “I’ve finally built up the courage to do it. Thanks again.”

Calling. Straight to voicemail.

He said he’d been hiding for years, that he was tired of pretending, tired of masking his pain. It wasn’t a statement, it was a choice, an expedient escape from his medical problem.

We didn’t know where he went. Searched everything, everywhere. Yahoo hired an investigator. The police were beyond useless. Clues pointed to a bridge, most likely the Golden Gate. Coast Guard didn’t have any John Does.

He slipped through my fingers like smoke. He’d reached out to me. I didn’t save him.

That week, I learned a lot about Luke’s history, things he never told any of us. I learned about his family, his past, his friends. I talked to his mother and sisters. Eyeballs deep in other people’s shit, the unexpected executor of my friend’s farewell. I frantically invaded his privacy, tried to find anything that could give me some hope, some clue, some rock I could turn over that he’d pop out from under.

For a while some hoped that he was faking. He’d fled to Asia or Africa on some manic adventure, played a joke on all of us. At 5:09 on New Year’s Day, I lost my hope. He wasn’t joking. Luke’s jokes are funny, and clever, and often offensive. His note was calm, resigned, touching. If he had been crying for help, we would’ve been able to help him. He was smart. He knew what he was doing. He was doing it for himself, not for anyone else.

I waited for permission to grieve. I told everyone else that we can’t give up hope until they find a body. But that was a lie, and I wasn’t fooled. I passed along the flyers, in a gesture of mourning.

In December, I’d hoped that this phase shift would be marked by the change of job roles, and in the fullness of time, maybe it will be. But overlaid on that is the turbulent border between the part of my life where my friend Luke existed, and the part where he was abruptly and permanently gone.

npm Pride 2018 Shirts


npm loves everyone!

Just like last year, npm team’s Pride shirts available to all, with help from our friends at &yet and Teespring. Select your favorite design from the pictures below and click through for types and sizes — or collect them all! — and 100% of proceeds will benefit The Trevor Project.

Heads up! The timer on each Teespring page resets every three days when an order goes out — these shirts will be available indefinitely.

Are we missing a design? Reach out and let us know!