시몽

Status update, February 2020

The main event this month has been FOSDEM. This year’s edition has been great, I really enjoy meeting with folks I’ve been working with on various projects! I’ve seen folks from Sway/wlroots, SourceHut, KDE, kernel drivers, and many other projects.

I’ve also given a talk about libliftoff. First I’ve explained what DRM planes are, hopefully so that people not extremely familiar with Linux graphics can still understand it. Then I’ve presented the libliftoff project and its current status. Last, the next steps and future plans are laid out.

I’ve made a lot of progress on the koushin front. I’ve added a CardDAV and a CalDAV plugin, both are pretty basic right now but can easily be improved. Support for HTML e-mails has been merged, sandboxed <iframe> elements and Content-Security-Policy are used to further lock them down. The SourceHut theme has been updated to integrate the latest features from existing plugins. Drafts are now fully supported, although some more performance optimizations are planned (the CATENATE extension would prevent koushin from having to download and re-upload all attachments when updating a draft). A new API to store user settings has been added, it uses the IMAP METADATA extension under the hood to follow the near-zero-configuration koushin idiom. One the whole, I think the plugin architecture turned out pretty well.

I’ve worked a lot on go-webdav as well. Both the client-side and server-side of WebDAV and CardDAV are finished, CalDAV support is underway. A small WebDAV server program is now included and allows one to quickly serve files from a local directory. hydroxide now uses the new CardDAV server API. The main missing feature is locking support, I’ll try to spend some time designing a nice API (I don’t want this feature to be annoying to use).

I’ve spent some time writing a new Go library for dealing with PGP-encrypted e-mails: go-pgpmail. For now it only supports PGP/MIME, but it can already decrypt, verify, sign and encrypt messages. I plan to add support for reading inline PGP e-mails, but not for writing them. This library will be useful when adding support for PGP to aerc and koushin (signature verification only for the latter of course).

I’ve started a new project this month to replace the IRC bouncer I’m currently using, znc. I’d like to make it easier for users to join an existing IRC bouncer and try to make IRC more user-friendly in general. Among other things, I want to have better support for multiple clients (e.g. laptop + phone). I’d also like to experiment with some sort of connection multiplexing: allow a single connection to the bouncer to expose multiple upstream servers. Maybe an IRC extension would be better suited for this, we’ll see. Anyway, jounce is now able to relay messages to a client and replay history. A whole lot of features are missing: authentication, server configuration, TLS, database, logs, and many other things. More on this next month!

As always, progress on mrsh has been slow but steady. Drew DeVault overhauled the POSIX conformance test suite, uncovering some mrsh bugs in the process. Apart from this, focus has been bug-fixing and cleaning up the API. We’ll get there eventually.

That’s all, see you next month!


Questions, comments? Please use my public inbox by sending a plain-text email to ~emersion/public-inbox@lists.sr.ht.

Articles from blogs I follow

Reverse-engineering the Mali G78

After a month of reverse-engineering, we’re excited to release documentation on the Valhall instruction set, available as a PDF. The findings are summarized in an XML architecture description for machine consumption. In tandem with the documentation, we’v…

via On Life and Lisp

Status update, July 2021

Hallo uit Nederland! I’m writing to you from a temporary workstation in Amsterdam, pending the installation of a better one that I’ll put together after I visit a furniture store today. I’ve had to slow a few things down somewhat while I prepare for this mov…

via Drew DeVault's blog

Updating the Go Memory Model

What changes should we make to Go&#39;s memory model? (Memory Models, Part 3)

via research!rsc

Generated by openring