unrelated to anything but

searching for anything at all emacs intro related brings up a lot of people with very flashy css and incredible SEO telling you yeah here's what someone said on reddit. that's how emacs works we just follow instructions we don't understand

https://f-santos.gitlab.io/2020-04-24-mu4e.html

yeah you gotta use this tool. i assume you're using arch linux, because you like following instructions that aren't explained to you.

first thing about email on emacs: install openssl from arch linux repos. everyone knows this

First, you should install SSL development libraries,
sudo pacman -S openssl

i will grant this is some seriously snazzy css. but those are not the "SSL development libraries"

and also citing your sources at the top with the "install openssl using sudo" is the precise inverse of how to wield snazzy css

if it wasn't literally arch linux openssl (red links are debatably kinda cool) and the code block that announces "Shell Script" -- sir that is not a script

Reading and sending mails from within Emacs: a tutorial for mu4e

i like that it's uncomfortable to know what to call shell shit
cause it's used in really distinct ways! it has identities!
every github clone is a liability now which is cool. it's now a local liability

OMG NVM VIBES OFF THE CHARTS https://www.djcbsoftware.nl/about.html

If you have no idea what a PGP-key is, then this is as good a time as any to learn about it!

I APOLOGIZE SIR

djcbsoftware

djcbsoftware dirk-jan binnema software

mu4e was designed and implemented by Dirk-Jan C. Binnema, and is Free Software, licensed under the GNU GPLv3

thank you i can handle this reading my email

oh i got the chance to delete hashbrown off my codeberg. i liked it when i made it use the allocator api. but after seeing the google guy who owns hashbrown go like "oh yeah llvm actually reverses vector order both ways in our intrinsics, it's right here at the file that doesn't exist" to disable bigendian aarch64 neon the day after a user reported ub in hashbrown i do not want that code
hey anyone wanna guess why the rust stdarch repo uses zip crate version 0.6
i like when codeberg provides this lovely lush green "This repository has been deleted."
deleting code feels like that if you allow yourself to do it. always delete. it's in version control if you need it. rework. refactor. spend the afternoon adding all the semicolons you deleted. now it's half the semicolons
@hipsterelectron I believe that there is a kind of coder who would rather not delete their code at all, as it's like they're removing the marks on their territory, the traces of their passage on earth.
@Svenouille i think that's the easy path. i have immense ocd though. this is me fighting it
@hipsterelectron i very deeply wish that we had made pgp and local email really easy and awesome to use instead of the privacy-theatre that is proton et al.
@emenel well so email is an IETF spec so that was never going to happen. let's not blame ourselves here
@emenel hey guess what the worst parsing code i've ever seen for a text format is used for

@emenel you're like oh https://github.com/python/cpython/blob/main/Lib/email/parser.py that's not bad

yeah hey what's this underscored file

cpython/Lib/email/parser.py at main · python/cpython

The Python programming language. Contribute to python/cpython development by creating an account on GitHub.

GitHub

@emenel

# The parsing methods defined in this module implement various email related
parsing rules.

yes. yes. email. related. parsing. rules.

@emenel anyway this is used for wheel METADATA because brett cannon specifically maintains the packaging crate along with astral contributors, featuring donald stufft the guy who killed pgp and acts really whiny
gh-144156: Fix email header folding concatenating encoded words (#144… · python/cpython@0f7cd55

…692) The fix for gh-92081 (gh-92281) was unfortunately flawed, and broke whitespace handling for encoded word patterns that had previously been working correctly but had no corresponding tests, u...

GitHub
Installation Report - pip documentation v26.1.dev0

@emenel i will stop now but these processes are occurring actively and there is no engineering decision making happening. in particular the PEP process is a sham of democracy. i think we can avoid this
@hipsterelectron tbh it’s not like its too late. design a nice client with good/straight forward pgp support …
@emenel i would use double ratchet for anything that can be formulated as a session (x3dh is very straightforward and makes a "session" a call-and-response)
@emenel i used libsignal https://codeberg.org/cosmicexplorer/grouplink but unfortunately i think signal's new cryptographer is making terrible decisions and terrible excuses for it
grouplink

A generalization of the Signal cryptographic protocols for general message encryption without a central server.

Codeberg.org
@emenel i really like this paper on double ratchet https://eprint.iacr.org/2020/148.pdf

@emenel like yes they do also play to my ego

After ratcheting attracted attention mostly due to practical real-world protocols, recently a line of work studied ratcheting as a primitive from a theoretic point of view.

i am human

@emenel i do not believe the final page of the triple ratchet is a good argument (they did two papers on it) https://eprint.iacr.org/2025/078.pdf the final final page (page 60) says "yeah we didn't mention we lose adversarial randomness, and yeah we could have done that with lattice, but the keys would be big and. mmumsad (it would mess up our benchmarks)"

@emenel the benchmarks which....are on the other last page https://eprint.iacr.org/2025/078.pdf

7.2 Effect of Chunk Encoding on Communication Costs

like sir. you can't say cost without a model. you are a cryptographer

@emenel i think it's incredibly irresponsible for something like signal, and idk why nobody can critique him. luckily, signal is the worst iteration of the tech
@emenel https://signal.org/blog/the-ecosystem-is-moving/ moxie's evil blog post which mentions internet standards as inspo
Reflections: The ecosystem is moving

At Open Whisper Systems, we’ve been developing open source “consumer-facing” software for the past four years. We want to share some of the things we’ve learned while doing it. As a software developer, I envy writers, musicians, and filmmakers. Unlike software, when they create something, it is...

Signal Messenger
@emenel this blog post was sufficiently wrong as to inspire me to (1) write the p2p signal ~which is just gpg~ (2) document his crypto for him

@emenel he obviously misses the p2p possibility. he says "federated" because federated is very easy to capture (see: mastodon).

i realized double ratchet was doing a lot of stuff like a more standard network protocol => QUIC is just double ratchet

@emenel trevor perrin consulting. but it sucks and it's worse because IETF ensures backwards compatibility is MUST for insecure bullshit
@emenel so like. i think double ratchet sessions alone (https://codeberg.org/cosmicexplorer/grouplink/src/branch/main/cli/src/main.rs) can be sent over email. and this is not a trivial thing because you can very much use this over any plaintext channel
grouplink/cli/src/main.rs at main

grouplink - A generalization of the Signal cryptographic protocols for general message encryption without a central server.

Codeberg.org
@emenel if you have (like in the terrible prototype) a random number generator, you can do this fucked up thing that gives you anonymity by making a new identity, sending it within a message, and receive the same from your interlocutor. now you can use the new public keys
@emenel i am under the impression that this is the basic principle of onion routing
@emenel and like note to self that "rock solid double ratchet impl + curve25519 impl (which can be a dependency)" and making a wire protocol for that is imo the right place to work on since it'll be hard and have its own problems. there's also this whole thing where signal relies on a sqlite db, the prototype just appends to a file, and there will be a discussion around what security boundary to draw