{
  "path": "/3m473wnjaj224",
  "site": "at://did:plc:xg2vq45muivyy3xwatcehspu/site.standard.publication/3m3zpxhfl3c2s",
  "$type": "site.standard.document",
  "title": "Dev Log 2: 2025-10-27",
  "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": "Yesterday"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "I did a lot of work on beacon's constraint and solver system. This was after setting up completions and planning out a linting engine."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 2,
              "facets": [],
              "plaintext": "Today"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 99,
                    "byteStart": 95
                  },
                  "features": [
                    {
                      "uri": "https://stormlightlabs.github.io/beacon/lsp/lint_rules.html",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "So far I worked extensively on extending the linting engine. You can read an overview about it here."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 91,
                    "byteStart": 83
                  },
                  "features": [
                    {
                      "uri": "https://crates.io/crates/parserst",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "The docstring parsing is mostly complete and code needs to be back ported into the parserst crate I've made."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Stub parsing and discovery has also been added with typeshed integration in the works. With time today I plan to setup caches for a lot of the data the LSP uses."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "facets": [],
              "plaintext": "SkyPanel"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "My goal today is to build a two pronged project to improve my experience on bluesky. It'll require me to learn about how the AT Protocol works in earnest. I was really enthusiastic about it when I got on the platform last year but didn't have a problem to solve but now I've got some deficiencies I want to address."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Basically there will be a chrome extension that lets you build on the fly feeds and perform some saving and backup on posts, like links, videos, etc. It'll also let you view your feeds with a collapsed view per user, so you're not scrolling through an entire page of a single user's posts and reposts. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "The other half is a CLI that lets you read bluesky posts in the terminal. Gotta prototype with a CLI."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 34,
                    "byteStart": 30
                  },
                  "features": [
                    {
                      "uri": "https://github.com/stormlightlabs/SkyPanel",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "You can see what I've started here"
            }
          },
          {
            "$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": "Go Dodgers!"
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreih5hkgvfefsxe56tef3swdrnl4th7dflnpt3mumkk5yjo5ahdnuaa",
    "uri": "at://did:plc:xg2vq45muivyy3xwatcehspu/app.bsky.feed.post/3m473ws5hoc24",
    "commit": {
      "cid": "bafyreicw2djqupobgllz6z3fvnqloc2g3midvaw3m4rcs2okskuj2t442q",
      "rev": "3m473ws7uw72c"
    },
    "validationStatus": "valid"
  },
  "description": "Electric boogaloo; diving in to atproto",
  "publishedAt": "2025-10-27T18:57:40.076Z"
}