10×10%

Hey, that took only a month, which means that it’s time, once again, to display some Emacs charts.

And since this is the tenth post in this series, I thought I’d natter on even more than usual. And perhaps some more about… having some vague goals as being the Emacs co-maintainer? OK, let’s see how this post goes.

So: This is the tenth time I’ve posted about closing 10% of the open Emacs bugs, which begs the question… Isn’t ten times ten percent, like… 100%? But there’s still bugs in the bug tracker!? THIS IS ALL A SWINDLE.

But for each stretch, I’m doing 10% of the remaining bugs in the bug tracker, so best case scenario would have been… er… maths is hard; let’s iterate:

(cl-loop with sum = 0
         and total = 100
         for i from 1 upto 10
         do (cl-incf sum (* total 0.1))
         (setq total (* total 0.9))
         finally (return (list sum total)))
=> (65.13215599000002 34.86784401000001)

Closing 65% of the bugs would have been the absolute max with this methodology, and no matter how many iterations I’m doing, I’m not getting to zero. It’s like that paradox.

Instead we’re down about 45%, from about 4400 bugs to 2690 bugs.

Looking at the charts a bit:

I think you can pretty much pinpoint the date I didn’t have to work any more after the startup I was a co-owner of was bought and found myself with a lot of free time on my hands? Kinda? So I’ve been basically working full time on Emacs bug fixing (and triage) for a couple years (with some holidays at random) instead.

This last 10% stretch started July 13th at 2820 open bugs, and we’re down to 2690 today.

And 50% of issues are closed within a week, which isn’t too bad.

The rate of bugs reported seems to be roughly linear over the years.

I love programming myself, and applying patches from other people is… er… not as viscerally pleasant as writing code? But applying patches scales a lot better, so I’m trying to have a quick turnover on patch submissions (having a Forge-like thing with pull requests would be nice *cough* *cough*), but let’s look at the stats for bugs that are tagged with “patch”.

Yeah, there’s usually a lot of bug reports that have patches that are works in progress, and then nobody actually applies them. So I’ve been making it my business to whittle down this category of bug reports: Either by getting it applied, or ruling out applying them. (The vast majority is in the former camp.)

Let’s look at the last year:

We seem to be getting down to 60, but then bouncing back up… It’s not like this is static: New patches are submitted all the time and applied, but the backlog seems to be constant(ish). Since I’m a veteran stock broker, let’s do some technical analysis:

So I imported the image into LibreOffice, then took a screenshot, and then printed that out, and then took a picture of the print-out. (This is industry best practices.)

We’re really seeing lot of support for the 60 level, and as an analyst, I’d say that it’s impossible to break through that level.

WE DID IT! WE BROKE THE RESISTANCE! WE”RE DOWN TO 51!!!!

To zoom out a bit: How are we doing in the activity dept?

This is the number of commits per month (mangled to remove merges and other artefacts, and then smoothed a bit). We’re currently at about 400 per month, which, if my knowledge of the philosophy of mathematics is correct, is a bit more than ten per day.

In itself, it doesn’t really say that much: I mean, I myself could just be committing a lot of junk and then fixing it, and that’d make the graph go up.

Emacs switched to git (from bzr) in 2014 to get… more contributors. But… It didn’t really seems that that had much of an effect — perhaps we just lost a lot of people who really hate git?

Of course, Emacs still has a fleet of people responsible for various sub-systems, and they’re working away efficiently on those, and co-maintainer Eli Zaretskii is handling all the difficult internal Emacs things that I don’t quite know how actually work, even after all these years…

But what I really, really want to see happening is that we get an increase in the number of “drive by” contributions: That is, contributions from people who aren’t living on the emacs-devel mailing list, but just see some problem, fix it, and then submit a patch or two.

Because that’s what I think makes for a healthy development environment: I’ve been using Emacs since the late 80s — yes, I’m really old — and we need young people to come in and do new stuff. This is totally happening in the wider Emacs culture (creating packages for GNU ELPA/Melpa, for instance), but I definitely feel like there’s a perceived barrier to submitting stuff to Emacs itself.

So I want to, ideally, have a super-quick turn-around on patches from “out there”: Either feedback on why it’s not the quite right thing, or getting it into Emacs toot sweet.

Is my nefarious strategy working? I’ve got the data, so let’s p-hack the shit out of it until it makes me look good. I mean… apply… sound statistical analysis to the data. Yeah. That’s the ticket.

This is the number of commits, per month, from people who do less than five commits per months.

Look at that chart! By just extrapolating that line a few years, it’s clear that by the year 2049, we’ll have nine million contributions from drive-bys per month! Whoho!

(I’m sure that’s correct.)

And this is people contributing one patch per month.

I think we’re on the right track here? At least it seems hopeful.

Zooming way out to the entire history of Emacs, it would seem that we kinda have as many contributors as ever before, but this chart is grossly misleading: In the olden days, many things were developed externally, and then applied in one single commit, under a single name, which makes it look like there weren’t many contributors in the 90s, for instance.

And here’s the same with commits instead of contributors, which shows that the rate of development is, indeed, slower than it was in the 90s. (And again, this chart is also misleading because of the jumbo-application strategy of many of the major sub-systems in the 90s.)

But it’s certainly not looking bad or gloomy or anything: Emacs is mature and stable, but we’re still getting a lot of stuff done, and new functionality is added to the Emacs core all the time. (The thriving Emacs package system is totally separate from this, of course.) I think that about a decade ago, people were feeling that Emacs was a bit stagnant, but that’s not the feeling I’m getting now.

The Emacs 28 release branch will be cut (according to plan) in mid-September, and we’ll get the release out some months after that. The major new bits will be the native-compilation, pure GTK stuff, and all of the in-tree Emacs code now uses lexical binding. (But I guess the tree-sitter/LSP stuff will be more of an Emacs 29 thing.)

But there’s a whole bunch of other stuff in Emacs 28.

And there could be more!

(Just a reminder: Working on the development version of Emacs is easy on most operating systems. It’s trivial on Debian, Ubuntu and Redhat, of course, but it’s also easy on Windows, MacOS (and with Brew), OpenBSD, FreeBSD and even NetBSD.)

Patches welcome.

PX87: The Fun House

The Fun House by Lynda Barry (230x152mm)

The previous Barry collection, Everything in the World, was a watershed — half the strips were about misc. adultish stuff, and half the stuff was about children’s lives. Both were good, but it seemed obvious that Barry was more inspired by the children’s stuff.

So this collection is 100% her breakthrough material: It’s all from children’s point of view.

In Barry’s earlier strips, she had basically no recurring characters. That changes radically here: It seems like the viewpoint character (the one that goes “I”) for more than two thirds of the strips here is Arna, Marly’s cousin. Barry is pretty vague about this — Arna’s name is mentioned only once, and Arna’s brother’s name is also only mentioned once (Arnold).

But it’s not all about that extended family — Barry even does a story by “Bill S”.

The strips collected here are quite coherent in tone: It’s all this kind of wistful melancholy (but funny). Barry’s line has also settled into one mode instead of veering in a bunch of directions.

This makes reading this book feel like… uhm… it feels like reading a (graphic) novel? Only a very episodic one.

Barry does include some earlier strips that have nothing to do with anything, and it does feel slightly jarring. But they’re great strips, too.

Googling reviews of Barry’s stuff on the Indartubeses, it seems like most people assume that whenever Barry uses the word “I” or “my”, she’s being autobiographical? I find that very strange — if I were to hazard a guess, I’m guessing that these strips are more than 90% fiction. But I could be wrong!

Each individual strip is very narrative, but the strips seem to take place in a static world. This is basically the only strip where we see something move from one situation to another (for the Arna/Marlys characters), and I was all excited for a second, because I thought that we’d get a longer story, but no — the next one was back to the same stasis.

None of the Barry collections are done chronologically, and it drives me crazy. I mean, crazier. I really, really want to read these strips in the order they were published… the vague sense of interconnectedness between the strips are irresistible; I want to tease out all meaning from them, but..

Most of Barry’s first-person characters are girls, but there’s also a handful of boys here…

I said earlier that I wasn’t going to continue talking about these Barry collections here in this Punk blog series (because she’s moved away from that aesthetic by now), but I still haven’t quite made up my mind.

Hm… perhaps I’ll just read the books without blogging about it? Yes! It’s possible! I’ve heard!

This blog post is part of the Punk Comix series.

PX91: With Love From Hell & Greetings From Hell

With Love From Hell & Greetings From Hell by Matt Groening (188x122mm & 162x108mm)

87th Dimension, eh?

Anyway, the first of these postcard booklets is published by HarperPerennial, not Pantheon (who did the strip collections).

So on the front of the postcard we get a Life in Hell strip…

… and the back is mostly blank, but there’s a unique “stamp” on each card.

I can’t remember reading any of these strips? A couple seemed vaguely familiar, but I think they avoided printing strips that had already been collected in the Pantheon editions. So that’s either a contractual thing (since it’s a different publisher), or they wanted to give people something new to read.

This means that we get none of the iconic strips… and I also wonder how many Life in Hell strips haven’t been reprinted at all?

The second booklet is by Pantheon.

And, indeed, it’s a cavalcade of familiar hits.

Most of the iconic strips are included, but there’s a suspicious lack of the most striking Akbar and Jeff strips.

This blog post is part of the Punk Comix series.

PX01: Skin Deep

Skin Deep by Charles Burns (235x313mm)

This is the Fantagraphics reprint of the Penguin book published a decade earlier.

I don’t know exactly how I ended up buying this edition, but I may just have forgotten that I had the Penguin book? In any case, the contents are identical, so see this for more about that.

But there’s a few extra behind-the-scenes pages collecting odds and ends related to the series that were reprinted.

It seems to be well liked:

Burns draws his characters like he is on drugs, but it’s really just an analgesic for your own mind, softening the content by making the characters pop out of the ’40s & ’50s. Not his best, but even C. Burn’s worst is better than most.

This blog post is part of the Punk Comix series.

PX92: Skin Deep

Skin Deep by Charles Burns (228x304mm)

This is the second Burns collection — the first was from Pantheon in 86 (and apparently didn’t sell), and this one is from Penguin. This collects mainly Burns’ Big Baby strips, but Big Baby doesn’t appear a lot here: In the first story, he shows up to introduce us to Dog Boy.

It’s a fun story, and Burns’ artwork is super sharp. I mean, even more than usual.

Then we get another odd segue into the main story — which is about a preacher, and half of it is told as a recap. It’s a very odd reading experience — it feels very formless, and it’s… it’s kinda boring?

Except for this bit, where Burns puts himself into the story. (Sort of.) Very post modern.

Finally, we get a reprint of the first longer story Burns did in Raw, and it’s still a fun story. But there’s a framing device to tie it into the previous story that’s kinda awkward, and the framing story adds a new ending that changes the meaning of the story somewhat. It’s pretty successful?

But overall, it’s a very strange book — a fixer-upper; making individual stories into a longer story, and that just makes everything even weirder. Which might be a feature, not a bug.

The Comics Journal #156, page 17:

Penguin Ceases Publication of
Comics Albums

Penguin Books, one Of the few mainstream
American book publishers to print comics al-
bums. has decided to temporarily stop pub-
lishing them, according to Senior Editor David
Stanford. Penguin, which published such books
as From A to Zippy by Bill Griffith, Skin Deep
by Charles Burns, “tarts and All by Drew and
Josh Alan Friedman, Cheap Novelties by Ben
Katchor, and the anthologies Thisted Sisters and
RAW, will publish only tuo more comics col-
lections in 1993. Twisted Sisters II, originally
intended for publication by Penguin, will now
be published elsewhere.
Stanford, who has been with Penguin for
four-and-one-half years, edited the company’s
more avant garde comics projects (previously,
he worked at Henry Holt and Company, where
he edited books by Garry Trudeau, Charles
Schulz, Jeff MacNelly, Skip Morrow and Other
cartoonists). He cited a energy crisis”
as one of the main reasons Penguin is discon-
tinuing the publication Of comics collections,
although modest sales was also a factor.

This blog post is part of the Punk Comix series.