{
  "path": "/3m4qlf24bd22z",
  "site": "at://did:plc:xg2vq45muivyy3xwatcehspu/site.standard.publication/3m3zpxhfl3c2s",
  "$type": "site.standard.document",
  "title": "Dev Log 7: 2025-11-03",
  "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": "What I Learned"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 86,
                    "byteStart": 83
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 96,
                    "byteStart": 93
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                }
              ],
              "plaintext": "Yesterday I learned how blissfully unaware I've been about the power of tools like sed & the awk language."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "What I'm Doing"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Brush up on my understanding of regular expressions, which admittedly is grossly limited."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "I am seeing a ton of false positives when running Beacon in VSCode. So far today I've made changes to the level of strictness in type checking to handle common Python patterns. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Namely, there's no explicit Option/Maybe type but None should be unified. Type checkers and type systems are not easy to wrangle.  "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 6,
                    "byteStart": 2
                  },
                  "features": [
                    {
                      "uri": "https://desertthunder.substack.com/",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 10,
                    "byteStart": 7
                  },
                  "features": [
                    {
                      "uri": "https://desertthunder.dev",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 15,
                    "byteStart": 11
                  },
                  "features": [
                    {
                      "uri": "https://desertthunder.bearblog.dev/",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 21,
                    "byteStart": 16
                  },
                  "features": [
                    {
                      "uri": "https://desertthunder.medium.com/",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 291,
                    "byteStart": 283
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#code"
                    }
                  ]
                }
              ],
              "plaintext": "I have too many blogs, which I'm totally okay with if I'm being honest. This one serves a particular purpose and helps me assess my work. I'm thinking, for the blogging platforms, that I create digests of all my work. It would be a good test of the pull mechanism/command I added to noteleaf to download all of my dev logs. Maybe I'll figure out how to sync with bearblog."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "Projects"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 38,
                          "byteStart": 32
                        },
                        "features": [
                          {
                            "uri": "https://github.com/stormlightlabs/beacon",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 45,
                          "byteStart": 41
                        },
                        "features": [
                          {
                            "uri": "https://stormlightlabs.github.io/beacon/",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "Beacon - a HM based Python LSP (source | docs) "
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 111,
                          "byteStart": 105
                        },
                        "features": [
                          {
                            "uri": "https://tangled.org/@desertthunder.dev/noteleaf",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "Noteleaf - TaskWarrior + CLI Letterboxd/Goodreads or Storygraph with an in-progress leaflet integration (source)"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreigy5ou4fsxy4mbzukwgyhlt575x4nre2mlidltwtdu2ql33xdqyde",
    "uri": "at://did:plc:xg2vq45muivyy3xwatcehspu/app.bsky.feed.post/3m4qlf7fmbc2z",
    "commit": {
      "cid": "bafyreihd3qqwd4oar3uwmbtb34smochr5x7hxijhjg3isdokxtfdpwj7ze",
      "rev": "3m4qlf7i2vl2t"
    },
    "validationStatus": "valid"
  },
  "description": "feeling awk-ward",
  "publishedAt": "2025-11-03T17:49:24.724Z"
}