What was it like to help develop Paper?

Facebook engineer Jason Barrett Prado answers the question What was it like to help develop Paper?

Paper was designed on a principle: content should be respected. Facebook is supposed to be like a glass through which you can see its contents. This has been an aspirational goal for a long time, but in reality many of the pixels on the screen in our products are not content, they are chrome.

If we are trying to respect content, we should minimize chrome in a radical way. Everything on screen should be a user’s content, whether it’s their picture, their name, their posts, or their photos. Paper has almost nothing on screen except for user-generated content.

[…] Facebook can be beautiful, but I feel that the design of previous Facebook products does not inspire users to create and post beautiful content. I hope that Paper does.

Don’t miss the details on Facebook vs. Apple culture, the team’s experiments with organizing content, and the challenge of rendering animations on multiple threads.

(Via @tilomitra.)

Node.js postmortem debugging for Linux

You can now debug your Linux-based Node.js application on SmartOS using a core dump.

TJ Fontaine:

Max Bruning and I decided we wanted to be able to load a core file from a Node.js Linux process and be able to run ::findjsobjects on it in mdb.

If you run Node on Linux with --abort-on-uncaught-exception, you can inspect the state of JavaScript objects using the core dump created when your process crashes.

This gives you a fighting chance at tracking down the unique kinds of errors that occur most frequently in production. If you’ve ever ran non-trivial Node programs in production, you’ll understand that this is a huge accomplishment.

Update: If you’re new to debugging Node on SmartOS, check out the latest MDB and Node.js article by David Pacheco.

Code coverage for executable Node.js scripts

Collecting code coverage for executable scripts in Node.js is tricky. I’ve ran into this problem a handful of times at Yahoo, so I published a module that mocks stdin, stdout, and stderr and my experience using it in this post for Yahoo Engineering’s tumblr.

“Mr. Market”

Warren Buffet, from his Letter to Shareholders, 1987 Berkshire Hathaway Annual Report:

Ben Graham, my friend and teacher, long ago described the mental attitude toward market fluctuations that I believe to be most conducive to investment success. He said that you should imagine market quotations as coming from a remarkably accommodating fellow named Mr. Market who is your partner in a private business. Without fail, Mr. Market appears daily and names a price at which he will either buy your interest or sell you his.

Panther Beach

A week ago was Martin Luther King, Jr. Day, which I spent visiting Panther Beach in Santa Cruz with friends. It’s not the most accessible beach. The parking “lot” is a patch of dirt off Highway 1 and getting down to the beach involves a steep hike. But it’s a great spot if you can reach it. We got up near the tide pools and took these shots as the sun retreated on this winter evening. All shots taken with an iPhone 5.

npm, Inc. first hires announced

Raquel Vélez (@rockbot) and CJ Silverio (@ceejbot) are the first hires of npm, Inc., joining @izs and @seldo.

I’m excited for this team. Congratulations to all of you!

If you’d like to join them, they’re hiring for a Senior Ops position.

Tweet: Congrats to @tjfontaine for his new role as Node.j…

Congrats to @tjfontaine for his new role as Node.js project lead! Very glad to hear about npm, Inc.’s vision, too. reid.in/ee1

Tweet: Love never gives up, never loses faith, is always…

Love never gives up, never loses faith, is always hopeful, and endures through every circumstance. Love will last forever. 1 Corinthians 13.