Jeff Darcy

Two Years at Facebook

Yesterday was my second "Faceversary" (i.e. the anniversary of when I started). That's the tenure that I initially thought I had a 50:50 chance of reaching, so it seems like a good time to look back at how I got this far. Instead of waffling on like I usually do, I'll try to structure this as a set of pretty quick good/bad items.

  • . . .

Read More

April 04, 2019

Distributed Functions

I've been thinking about better ways to write distributed-system code for a long time. I've talked to quite a few people about some of these ideas. The Christmas break seems like a good time to sit down and write them out in a bit more detail.

My basic motivation is that I feel I've wasted too much time already dealing with code that's . . .

Read More

Posted in: devlanguages

December 28, 2018

Commenting Code

Just Do It

One of the perennial debates in programming is about the value of commenting code. This wasn't even a debate when I learned the craft, but there seems to be a mostly-generational shift toward eschewing comments. There are lots of excuses, but I think it mostly comes down to one thing: commenting is an exercise in empathy. If you can . . .

Read More

Posted in: dev

December 28, 2018

Anti Patterns: Parallel Arrays

I've worked on a lot of bad code in my life. Yes, some of it was code I wrote. Some of it was code that was bad the day it was first written. More often, it was code that became bad as it evolved to fix bugs, improve performance, add features, or otherwise adapt to a changing world. As code changes, technical debt accumulates. I know . . .

Read More

Posted in: dev

December 11, 2018

The Testing Quadrant

For the umpteenth time in my career, I'm trying to convince coworkers to adopt better testing strategies. Again for the umpteenth time, the main push-back is something like this.

But the tests we already have already waste my time waiting for them and debugging spurious failures and re-submitting my changes!

That's . . .

Read More

Posted in: dev

November 27, 2018

Never 'ssh' Into Production?

Yea or nay?

I've been involved in an interesting discussion about enabling (or not) ssh on production machines, starting here.

Silvrback blog image

OK, yeah, I get it, it's an anti-pattern. Something to avoid. I'm 100% on board with that. On the other hand, whether or not you can/should make an absolute prohibition depends a lot on what kind of system . . .

Read More

November 13, 2018

Smashed Stacks

In the context of the news that the Linux kernel finally getting rid of variable-length arrays, I figure I should finally write about one of the more difficult bugs I've worked on over the last three decades.

This one was at Revivio, where I worked from 2002 to 2006. We started having these problems with machines sporadically hanging. . . .

Read More

Posted in: debuggingdev

October 29, 2018