One Touch Maintainin’

Emacs gets a lot of very nice, but quite simple patches that take quite a lot of keystrokes to process.  It’s hard on the fingers, and you always forget various bits.

So I wondered how simple it could be, and hacked up this workflow tonight.

You start in the debbugs-gnu buffer, as always, narrowed down to the patches with `C-u / patch’ and perhaps an `x’.


Select a likely message with `RET’.


Then the fun begins with the new `M-m’ command.  It determines whether the patch is in the MIME attachments or just included in the message, applies it, and displays the diffs and possibly any rejected hunks.  It also does a `compile’ in the lisp directory so that we see that things are OK.


Everthing is hunky dory, so we just hit `M-m’ again to go to the changed file.


Here we can imagine that we do some clean-up, but this patch is perfect, so we just hit `M-m’ again.  This pops us into the ChangeLog with the correct user name, and the bug number appended.  If the user has never had any non-“tiny change” code in Emacs before, “(tiny change)” is appended automatically.


But there’s one non-tiny change from this user before, so no (tiny change), and we just type in an entry.


Then `M-m’.  This pops us to the top-level checkin buffer, filled out with the right data.


And then just type in a summary and `C-c C-c’, and you’re done.

Ok, it’s not a one click solution, but it’s better than…  doing all this by hand.

Or using a web browser.

The Best Albums of 2014

It’s that time of year, and Emacs has decreed (based on how many times I played each album) what the best ones are. I’ve played a lot of old, old music this year, so the recent purchases haven’t gotten that much play…

But these are the 15 bestest albums released in 2014.

Neneh Cherry Blank Project
Laetitia Sadier Something Shines
Meat Beat Manifesto Answers Come In Dreams
Róisin Murphy Mi Senti
Various Electroconvulsive Therapy Vol One
Xiu Xiu Angel Guts: The Red Classroom
Arthur’s Landing Miracle 2
Cleft Bosh!
David Grubbs Borough of Broken Umbrellas
Herbert One Two Three
Purity Supreme Always Already
The Notwist Close to the Glass
Various Music from the Mountain Provinces
Thee Oh Sees Singles Vol. 1+2
Aphex Twin Syro

And these are the 15 bestest albums that I bought in 2014, never mind what year they were released:

Machinedrum Vapor City
Various Four Songs by Arthur Russell
Colourbox Colourbox [MAD315] Neognathae Portentosus
Neil Young & Crazy Horse Rust Never Sleeps
Neneh Cherry Blank Project
The Birthday Party The Friend Catcher EP
Various The Clock Machine Turns You On: Volume 2: Tick (1)
Jonas Kullhammar Quarter Låt det vara
Laetitia Sadier Something Shines
Meat Beat Manifesto Answers Come In Dreams
Next Life Artificial Divinity
Nisennenmondai N
René Halkett, David Jay Nothing, Armour
Shearwater Fellow Travelers

My New Home Decorating Blog

I’ve got a lot of thingamabobs that need charging now and then. But rooting out the adapters and finding a vacant wall socket is boring, so I thought I’d make a permanent charging station.

Finding a power strip that you can plug in all those wall warts is a bit of a challenge, because the adapters are often so big that you can’t place two next to each other.

But then I found this wonder:


In addition to having 12 plugs, three each on each side, it also has a convenient on/off button, so that I can switch all the adapters completely off, so they don’t even leech a single mW while not in use.

And it fits nicely into one of these Ikea book cases (with a door to hide the ugly).


That was today’s home decorating tip.

The Emacs Network Security Manager

Emacs 25 will have a network security manager. You know — the thing that nags you when you visit https pages with invalid certificates and annoys all y’all so much.

The Firefox security manager


Designing a thing like that is a minefield. On one hand, you have professional security professionals who seem to insist that the sky is constantly falling and that the only secure thing one can do is to snip the Ethernet cable, pour concrete over the computer and then bury it in a volcano.

On the other hand, you have, literally, everybody else: People who don’t care about network security at all, and if you so much as ask them a simple question once, they get mad and send you email about how mad this makes them.

So! Into the breach.

The network security manager in Emacs 25 (merged into trunk last week and switched on today) checks certificate validity, STARTTLS downgrade attacks, unencrypted sending of passwords via IMAP, POP3 and SMTP, and does certificate/public key pinning for self-signed certificates.

The Emacs Network Security Manager

If you’re paranoid, you can make it do certificate pinning for validated certificates, too, so that you can see when the NSA man-in-the-middles your traffic by getting a Certificate Authority to issue a forged certificate for the domains you are visiting. That’s not on by default, because we are not paranoid.

It allows you to save all these “security exceptions” for the session or permanently. And that’s where the professional security professionals will balk.

The argument is that if we allow the user to accept unverified connections, there is no security, because users always just says “yes” to everything. While that argument may be valid, the other side of the coin is that failing to communicate can also have negative ramifications.

Only the user can really say whether visiting a web site that has a problematic certificate is justified or not. When visiting an email archive to find the answer to a technical question — perhaps it is. When visiting your bank — probably not.

So: I hope that the network security manager we’ve implemented is sufficiently non-intrusive that people won’t feel it necessary to switch it off, and I hope that it’s encompassing enough that it offers some added security against snooping.

If you want to start using it now, pull down the development version of Emacs.