You felt it. The shift. That your role has fundamentally changed thanks to
LLMs. It first entered your subconscious when you realized how easily you can
now crank out PRs. You felt it more concretely (and less enthusiastically), as
a reviewer when you opened your laptop one morning and noticed your review
queue was double what it normally is thanks to everyone else cranking out PRs.
And you feel this pervasive, general sense of friction.
It’s difficult to pinpoint exactly where this friction is coming from.
Depending on the repository size and CI setup, it will be slightly different
for everyone. It might involve longer review times or slipping review
standards. You might be noticing more merge conflicts and merge related CI
failures. Perhaps there are more failures sneaking through to main or CI is
taking longer to give you results. You almost certainly feel the grind.
People are on edge, tired; developers are pulling in opposite directions.
Here’s what LLMs shifted. The bottleneck is no longer producing code. The
bottleneck is integrating it. The friction we’re feeling is a result of more
PRs, more ideas, more reviews, more disagreements all made possible thanks
to LLMs. In short, the problem can best be summarized by Figure 1:

But we’re living in a moment where many folks haven’t realized this yet, and
are still under the impression that their job is to produce code.
It’s not. Your new job is to integrate it.
Read more →One of the pleasures of working at Mozilla, has been learning and using the
Mercurial version control system. Over the past decade, I’ve spent countless
hours tinkering my worfklow to be just so. Reading docs and articles,
meticulously tweaking settings and even writing an extension.
I used to be very passionate about Mercurial. But as time went on, the
culture at Mozilla started changing. More and more repos were created in
Github, and more and more developers started using git-cinnabar to work on
mozilla-central. Then my role changed and I found that 90% of my work was
happening outside of mozilla-central and the Mercurial garden I had created
for myself.
So it was with a sense of resigned inevitability that I took the news that
Mozilla would be migrating mozilla-central to Git. The fire in me was all but
extinguished, I was resigned to my fate. And what’s more, I had to agree. The
time had come for Mozilla to officially make the switch.
Glandium wrote an excellent post outlining some of the history of the
decisions made around version control, putting them into the context of the
time. In that post, he offers some compelling wisdom to Mercurial holdouts like
myself:
I’ll swim against the current here, and say this: the earlier you can switch
to git, the earlier you’ll find out what works and what doesn’t work for you,
whether you already know Git or not.
When I read that, I had to agree. But, I just couldn’t bring myself to do it.
No, if I was going to have to give up my revsets and changeset obsolesence and
my carefully curated workflows, then so be it. But damnit! I was going to
continue using them for as long as possible.
And I’m glad I didn’t switch because then I stumbled upon Jujutsu.
Read more →Have you ever submitted a patch to Phabricator only to have reviewbot reveal dozens of lint errors
all over? Or worse yet, have you landed before reviewbot had a chance to analyze your patch and been
backed out over lint failures? If so fear not, we’ve all been there. Still, it’s hard not to feel a
little embarrassed when it happens. Luckily for you, it’s pretty easy to eliminate the possibility
of it ever happening again!
Read more →If you’re working with mozilla-central on Windows and followed the official
documentation, there’s a good
chance the MozillaBuild shell is running in the default cmd.exe console. If you’ve spent any
amount of time in this console you’ve also likely noticed it leaves a bit to be desired. Standard
terminal features such as tabs, splits and themes are missing. More importantly, it doesn’t render
unicode characters (at least out of the box).
Luckily Microsoft has developed a modern
terminal that can replace cmd.exe,
and getting it set up with MozillaBuild shell is simple.
Read more →