This is an old revision of the document!


December Adventure 2023

On 2023-12-01 I've learned about December Adventure. It's a very nice idea (esp. compared to Advent of Code, as I don't like competing).

My December Adventure will be working on Lacre, a Postfix mail filter encrypting incoming mail before it is written to recipient's inbox.

December 2nd

December 3rd

  • I've implemented a tiny key-value store in Python using asyncio streams and email. It's an exercise before I approach something bigger but with similar semantics in Lacre backend.
  • Next, I've written something very similar based on http.server Python package.

December 4th

December 5th

  • I've fixed cron script that I've broken during refactoring. (I should rework its tests too.)
  • I've fixed identity removal.
  • I've added support for -r or –reload flag to import command, which deletes all keys before importing them from GnuPG's pubring.kbx.

December 6th

  • I've written some Python decorators. I suspect reading decorators from the standard library could be enlightening.

December 7th

  • Today I've skimmed some functools code and written another Python decorator. This one emits an auditing event before execution of the decorated function.

December 9th

  • Fixed some minor error-reporting issues. Now when an expired key prevents Lacre from encrypting a message, a short error message is logged instead of a full trace-back.
  • Updated admin CLI documentation to include info about import command and its -r option.
  • Tagged 0.2 RC2.
  • Started working on Rust re-implementation of the Lacre admin's CLI tool. Started by trying to connect to sqlite.