{
"path": "/3m6a7fuk7u22p",
"site": "at://did:plc:xg2vq45muivyy3xwatcehspu/site.standard.publication/3m3zpxhfl3c2s",
"$type": "site.standard.document",
"title": "Dev Log 23: 2025-11-22",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Learning"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 3,
"facets": [
{
"index": {
"byteEnd": 9,
"byteStart": 5
},
"features": [
{
"uri": "http://github.com/desertthunder/nixos-conf",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Nix (code)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 160,
"byteStart": 150
},
"features": [
{
"uri": "https://github.com/nix-darwin/nix-darwin?tab=readme-ov-file#readme",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "It's the weekend (allegedly) so I'm going to dive back into my nix configuration on my two NixOS machines & I'm going to set it up on my macbook with nix-darwin. Wish me luck."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 3,
"facets": [],
"plaintext": "C Programming Language"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 26,
"byteStart": 22
},
"features": [
{
"uri": "https://gustedt.gitlabpages.inria.fr/modern-c/",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Based on my research, this book seems like a good entry point in to C23. My goal is to start a small embedded database or key-value store to understand the fundamentals of the language."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Primary"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 3,
"facets": [
{
"index": {
"byteEnd": 12,
"byteStart": 8
},
"features": [
{
"uri": "https://github.com/stormlightlabs/beacon",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 17,
"byteStart": 13
},
"features": [
{
"uri": "https://stormlightlabs.github.io/beacon/",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Beacon (code/docs)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 20,
"byteStart": 12
},
"features": [
{
"uri": "https://github.com/stormlightlabs/typeshed-stdlib-mirror",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Integrating typeshed into the project has been a bit of a pain. It bottlenecked the test suite and made rust-analyzer act up and hang. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 174,
"byteStart": 167
},
"features": [
{
"uri": "https://github.com/stormlightlabs/beacon/releases/tag/v0.4.0",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Today I'll write development documentation and integration tests for this, then this will end up being a fast release. I didn't even make a big fuss out of the v0.4.0 release! These are marked as pre-release until I get to the v1 finish line. "
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 3,
"facets": [
{
"index": {
"byteEnd": 11,
"byteStart": 7
},
"features": [
{
"uri": "https://github.com/stormlightlabs/volt",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 16,
"byteStart": 12
},
"features": [
{
"uri": "https://stormlightlabs.github.io/volt/",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "VoltX (code/docs)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Made a mistake here, I need to ensure that docs don't get published without a release. One of the good things about nobody using this (I think)! So for a little while, there will be CLI docs without a published CLI. I added a note saying the CLI is unreleased."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Secondary"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 3,
"facets": [
{
"index": {
"byteEnd": 15,
"byteStart": 11
},
"features": [
{
"uri": "https://github.com/stormlightlabs/git-storm",
"$type": "pub.leaflet.richtext.facet#link"
}
]
},
{
"index": {
"byteEnd": 20,
"byteStart": 16
},
"features": [
{
"uri": "https://stormlightlabs.github.io/git-storm/",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Git Storm (code/docs)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 96,
"byteStart": 88
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#code"
}
]
}
],
"plaintext": "I changed the metadata structure to go from multiple JSON files to a single manifest in .changes."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.horizontalRule"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "In general, on my end I think I need to figure out release planning. It's not easy!"
}
}
]
}
]
},
"bskyPostRef": {
"cid": "bafyreiffcawvvwz7jde7idcirwf4zicnp3q6ud6f7gfds36376z2aplw6a",
"uri": "at://did:plc:xg2vq45muivyy3xwatcehspu/app.bsky.feed.post/3m6a7fyrkvs2p",
"commit": {
"cid": "bafyreiegpmzpyos6dvf2tonb76uqxhiwsroh4uqyaoiglpjqlvqn27i6gq",
"rev": "3m6a7fytsa52u"
},
"validationStatus": "valid"
},
"description": "my arch nemesis is the act of release planning",
"publishedAt": "2025-11-22T16:22:54.984Z"
}