Meta(
    title: "JeanG3nie\'s Tinylog",
    summary: None,
    published: Some(Time(
        year: 2023,
        month: 8,
        day: 23,
        hour: 20,
        minute: 55,
        second: 9,
    )),
    tags: [
        "tinylog",
    ],
)
---
Some shorter thoughts and updates that might not warrant a full gemlog entry. I'll probably be using this to post updates on my various projects in a much more regular fashion.

=> .. Home

## 2023-08-23 20:55 UTC
Working on bringing some HitchHiker packages up to date. I also simplified code in a couple of the utilities written specifically for hhl, and added some man pages.
## 2023-08-22 04:39 UTC
Did some work tonight on my little text editor, Vapad. Every time I touch this code I'm reminded just how perfectly suited Vala is to developing Gtk applications. One of these days I'll have to write something bigger using Vala.
## 2023-08-15 17:31 UTC
Working through issues with the lang/zig port on FreeBSD, trying to get it ready to merge the upgrade to 0.11.0

## 2023-07-31 22:46 UTC
My Gitea instance is currently down after a package upgrade. Considering options, as I'm not 100% satisfied with Gitea to begin with.

## 2023-06-26 23:03 UTC
Just finished adding functionality to create unique message id's for incoming mail in Dory. The id strings will consist of the Unix timestamp upon their receipt and an 8-digit random string to avoid collisions, with a dot separator. This should make sorting your inbox by most recent trivial.

There is already a function for actually reading and processing a request in the Dory codebase, and passing the mail off to storage. It's just currently a bit naive, and doesn't send any feedback back to the client and exits on failure. Once that's working, the only thing left in scope is going to be getting the server side connection setup and client certificate validated. Then it's off to incorporating it into a live server application.

## 2023-06-24 14:06 UTC
Since switching back to FreeBSD on one of my computers there have been just a few packages that I have wished were a little more up to date. Generally the ports tree is extremely up to date, with the packages collection being built on a quarterly basis. Some packages have definitely gone longer than that, however, so I decided to switch from packages to ports. This is pretty easy, just a little time consuming on the first run since you get one rather large batch of upgrades. I'm using portupgrade since that is the tool I remember, but there are a few others such as portmaster.

## 2023-06-21 06:22 UTC
I was up late tonight, so I did some work on the Filesystem storage backend for Dory. Mostly writing tests, which caught a few bugs, but also implementing some missing functionality.

## 2023-06-20 17:59 UTC
Just subbmitted a PR for the `sc` crate which gives the ability to make syscalls from Rust on NetBSD/x86_64. If accepted, maybe I'll see about adding other architectures on FreeBSD and NetBSD.

## 2023-06-18 02:56 UTC
I managed to get the latest git source of Zellij to compile and run on FreeBSD, so no more faffing about with Tmux. Hooray! The fix for Zellij will be in the next release apparently. I had to apply a patch from the port to the `wasmer-vm` crate, as they're making some erroneous assumptions about not being able to support x86_64 on FreeBSD.

## 2023-06-15 15:00 UTC
So apparently the terminal multiplexer I've grown accustomed to (Zellij) isn't working on FreeBSD right now. Trying out tmux. Hopefully my muscle memory doesn't get in the way too much.

## 2023-06-15 04:08 UTC
I decided to install FreeBSD on actual hardware again and had some interesting complications. I had a full gemlog post ready to go about it actually, but one of the complications lead to some data loss, so I'll have to put it all back together again.

In other news, I've been forgetting to git commit/push/pull when updating this tinylog and had to clean up a bad merge earlier. No posts should have been lost, which is the great thing about putting it all into VC, but obviously my workflow needs updated.

## 2023-06-10 13:55 UTC
The latest Dory commits center around an iso-8601 time implementation, which is the format that `timestamp` lines are supposed to use in messages. The spec is of course a little ambiguous, and iso8601 allows dates in one of three formats, with the further distinction that there is both a `basic` formatting and an `extended` formatting, where the difference is the appearance of separators between the fields. I've decided for expediency to only implement `calendar` style dates, which is the traditional yyyy-mm--dd format that we're all used to seeing.

## 2023-06-07 20:36 UTC
Today, after finishing a blog post, I wrote a parser to convert a `&str` to the `Message` struct in Dory. I also added a lot more test coverage, which revealed a few issues to fix.
## 2023-06-06 18:12 UTC
The `sendmsg` binary (using Dory as it's backend) is now able to send Misfin mail to the reference server. This required more debugging skill than it should have due to some issues with both rustls and a compiler issue. Might be good for a full post? Anyway, link to the repository below.

=> https://codeberg.org/jeang3nie/sendmsg

## 2023-06-06 02:30 UTC
Just finished hacking together a small binary that sends Misfin messages from the command line using Dory. Time to grab the reference implementation code and start testing.

As an aside, I was thinking that client certs in theory should make identity spoofing next to impossible. That might mean that Misfin clients could just directly shell out to a sendmail-esque binary such as this rather than logging in to a remote server and sending their messages from there. Basically how email was always supposed to work, before all of the spam mitigations broke the ability to deliver mail from unknown random IP addresses. I mean, where you actually send from shouldn't make a bit of difference so long as your certificate goes with you.

## 2023-06-05 14:55 UTC
Began a proof of concept binary project to test out sending Misfin mail using Dory. I should be able to commence testing for interop in the next couple of days. Watch this space for progress reports.
## 2023-06-05 04:25 UTC
Rust 1.70 came out this past week. One of the highlights of this release was the stabilization of the OnceCell and OnceLock types. OnceLock in particular is a big deal because it has the potential to replace the `lazy-static` and `once-cell` crates, for those times when you want to have a lazily evaluated static data structure.

I just finished a short while ago changing Zond to use the new interface and so far so good. It's nice and simple, with good documentation.

## 2023-06-04 22:48 UTC
I wasn't completely happy with how I had previously setup the workflow for this log, so I did a bit more coding to automate things in a better way than before. I created a small Rust crate for working with Tinylogs and incorporated that into Zond. Now, when you type `zond tinylog` with no other arguments, an editor window will pop up for you to type your thoughts. So long as the temporary file thus created is not empty, the text is added as a new post. This also allows the log to contain a header, which was not possible before.

## 2023-06-03 14:58 UTC
First tinylog post!
