{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreihywdssqoi6wdv5ohebmkvwrqg4w6ubjkywtrxjapdjwxohdi7hs4",
    "commit": {
      "cid": "bafyreid37ql2e7uz7kwbjgwkn33jgjlzvwgs7bcieqwduniqjdzmo6c2vu",
      "rev": "3mogaglkrsl2y"
    },
    "uri": "at://did:plc:wlzd76q6sfrwrxaixkqkso43/app.bsky.feed.post/3mogaglho4k2a",
    "validationStatus": "valid"
  },
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "This is the third week check-in on my work with L5 this summer. This week implemented a bunch of the design with focus on bandwidth constraints!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 5,
                    "byteStart": 0
                  }
                }
              ],
              "level": 1,
              "plaintext": "Recap"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "If you missed the last post:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.standardSitePost",
              "uri": "at://did:plc:wlzd76q6sfrwrxaixkqkso43/site.standard.document/3mnl2ctpg622e"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight",
                      "color": {
                        "$type": "pub.leaflet.theme.color#rgb",
                        "b": 195,
                        "g": 205,
                        "r": 255
                      }
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://leaflet.pub/51ebd1db-f975-4fb5-8048-a5f06ada41e3?page=019e6f88-fd16-7663-b63d-9e771390f39f"
                    }
                  ],
                  "index": {
                    "byteEnd": 29,
                    "byteStart": 13
                  }
                }
              ],
              "plaintext": "Based on the schedule outline"
            }
          },
          {
            "$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",
                    "plaintext": "Analyze survey responses and set up meetings to see what other changes could be made."
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "Start with quick wins on documentation updates from week 1 issues. This will likely focus most on “getting started” changes. "
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "Get early community feedback on changes so far."
                  }
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 5,
                    "byteStart": 0
                  }
                }
              ],
              "level": 1,
              "plaintext": "TLDR;"
            }
          },
          {
            "$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",
                    "plaintext": "Small permacomputing meetup to work on self-hosting; transitioning away from Google for surveying"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "Installed some alternative browsers to test low-bandwidth"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "Huge navigation overhaul and updates on the live website!"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "University of Washington has a UX summer program where graduate students work on a UX project for the summer and L5 will be one of them!"
                  }
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 15,
                    "byteStart": 0
                  }
                }
              ],
              "level": 1,
              "plaintext": "On Self-Hosting"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "I've been on the self-hosting bandwagon this summer and during this last week we had a low-key permacomputing hacking session. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#footnote",
                      "contentPlaintext": "I am a Docker hater generally though.",
                      "footnoteId": "019ed119-78d6-7229-884c-8a2125e6f0da"
                    }
                  ],
                  "index": {
                    "byteEnd": 188,
                    "byteStart": 187
                  }
                }
              ],
              "plaintext": "I set up Coolify on a Raspberry Pi and will have an Obsidian, Calibre, and my own Bluesky PDS soon! Coolify is a self-hosted PaaS that allows quick installation of different Docker images*. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "Self-hosting platform with superpowers. Deploy apps, databases & 280+ services to your server. Open-source alternative to Heroku.",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreifkcg4fiem3zpfozl6qdhs53ur3xrtqsla2g6duatrgyiimtnoiwm"
                },
                "mimeType": "image/png",
                "size": 26188
              },
              "src": "https://coolify.io/",
              "title": "Coolify"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://coolify.io/docs/knowledge-base/how-to/raspberry-pi-os#prerequisites"
                    }
                  ],
                  "index": {
                    "byteEnd": 43,
                    "byteStart": 19
                  }
                }
              ],
              "plaintext": "I went through the Raspberry Pi setup guide which was pretty straightforward, although they did not mention any specific firewall settings. They did mention using ufw-docker which......is fine."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "We will likely be using Yakforms going forward and I will probably add this to my self-hosted installation!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "Free software to take back control of your forms",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreido4lxmxs3wif7t5jxggyb7mtf45ii6s3zwhlvmlvespexkl2k5l4"
                },
                "mimeType": "image/png",
                "size": 43728
              },
              "src": "https://yakforms.org/en/",
              "title": "Yakforms"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 20,
                    "byteStart": 0
                  }
                }
              ],
              "level": 1,
              "plaintext": "Alternative Browsers"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "There are a couple of alternative browsers that we are testing on to ensure that L5 is accessible on a variety of devices. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "Browsers with GUI"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "The first I tested was Dillo:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "The Dillo 3.3.0 release contains several new features, configuration options\nand bug fixes. It is the first release to provide experimental\nsupport for FLTK 1.4 (see the details below).",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreigcqc2aydiqzptpeecmjojwh4f56jrezwskya5wdt3ptcuqddo6di"
                },
                "mimeType": "image/png",
                "size": 22964
              },
              "src": "https://dillo-browser.org/release/3.3.0/",
              "title": "Dillo release 3.3.0"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight",
                      "color": {
                        "$type": "pub.leaflet.theme.color#rgb",
                        "b": 195,
                        "g": 205,
                        "r": 255
                      }
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://formulae.brew.sh/formula/dillo"
                    }
                  ],
                  "index": {
                    "byteEnd": 40,
                    "byteStart": 24
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight",
                      "color": {
                        "$type": "pub.leaflet.theme.color#rgb",
                        "b": 195,
                        "g": 205,
                        "r": 255
                      }
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://www.fltk.org/doc-1.3/intro.html#intro_unix"
                    }
                  ],
                  "index": {
                    "byteEnd": 154,
                    "byteStart": 150
                  }
                }
              ],
              "plaintext": "Fortunately they have a homebrew package, but I didn't know this and tried to build from source which was much more difficult. It also requires using fltk!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "plaintext": "brew install fltk@1.3\nbrew install dillo",
              "syntaxHighlightingTheme": "laserwave"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Next up was NetSurf, which I actually had a lot of difficulty installing and wasn't successful."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "Small as a mouse, fast as a cheetah and available for free. NetSurf is a multi-platform web browser for RISC OS, UNIX-like platforms (including Linux), Mac OS X, and more.",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreidscplyky5eoyk6cmrhjlrb54a3rav72vimwwu5nq4lv43a2v2uiu"
                },
                "mimeType": "image/png",
                "size": 46967
              },
              "src": "https://www.netsurf-browser.org/",
              "title": "NetSurf Web Browser"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#footnote",
                      "contentPlaintext": "Or maybe I'm documentation-adverse",
                      "footnoteId": "019ed120-a738-7229-8856-fb74c4f94087"
                    }
                  ],
                  "index": {
                    "byteEnd": 165,
                    "byteStart": 164
                  }
                }
              ],
              "plaintext": "Their installation documentation is goofy. They say it works for MacOS, but nowhere is there instructions on the compile page on how to actually compile from source*."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 3,
              "plaintext": "Browsers without GUI"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "There are a few of these CLI browsers that Lee suggested I test:"
            }
          },
          {
            "$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",
                    "plaintext": "Links"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "w3m"
                  }
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "plaintext": "Offpunk (which uses gemini:// protocol instead of https://)"
                  }
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight",
                      "color": {
                        "$type": "pub.leaflet.theme.color#rgb",
                        "b": 195,
                        "g": 205,
                        "r": 255
                      }
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://formulae.brew.sh/formula/links"
                    }
                  ],
                  "index": {
                    "byteEnd": 69,
                    "byteStart": 53
                  }
                }
              ],
              "plaintext": "I only was able to install Links (fortunately with a homebrew install)."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreig2vmfjnkidjluie5tcp6mbqqxstzifga6fdanxyjg3kacknhyfdu"
                },
                "mimeType": "image/png",
                "size": 25848
              },
              "src": "https://links.twibright.com/",
              "title": "Twibright Labs: Links"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 32,
                    "byteStart": 0
                  }
                }
              ],
              "level": 1,
              "plaintext": "Huge Website Navigation Overhaul"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Check it out!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "L5 is a fun, fast, cross-platform, and lightweight implementation of the Processing API in Lua. It is a free and open source coding library to make interactive artwork on the computer, aimed at artists, designers, and anyone that wants a flexible way to prototype art, games, toys, and other software experiments in code.",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreietz4ytneinbh5kgc5xhu5oz7wqzjsw27naxw7xyhq6anxn5w7tlq"
                },
                "mimeType": "image/png",
                "size": 31681
              },
              "src": "https://l5lua.org/",
              "title": "L5: A Processing Library in Lua"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Right now it is built using Mkdocs"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "Project documentation with Markdown.",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreigu7egcki36jreggwuukkjjt3eufegt62ogmgc2ditunxgnqlat6i"
                },
                "mimeType": "image/png",
                "size": 20942
              },
              "src": "https://www.mkdocs.org/",
              "title": "MkDocs"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "And the Material theme"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "Write your documentation in Markdown and create a professional static site in minutes – searchable, customizable, in 60+ languages, for all devices",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreica7lefpmmb27bmp25u5cqkgff43b3tiny5itovotukwdrv4lmc4y"
                },
                "mimeType": "image/png",
                "size": 70874
              },
              "src": "https://squidfunk.github.io/mkdocs-material/",
              "title": "Material for MkDocs"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight",
                      "color": {
                        "$type": "pub.leaflet.theme.color#rgb",
                        "b": 195,
                        "g": 205,
                        "r": 255
                      }
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/?h=navigation#navigation-integration"
                    }
                  ],
                  "index": {
                    "byteEnd": 297,
                    "byteStart": 246
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 314,
                    "byteStart": 310
                  }
                }
              ],
              "plaintext": "Which has some weird limitations around customizing navigation. A big point of feedback was the navigation on the left vs. the table of contents on the right was confusing for users in understanding the flow of the webpage. You can pretty easily integrate the table-of-contents into the navigation, but we had some pages that we didn't want that integration. I also enabled a couple of navigation features, which we were worried if it blew up the website size."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "language": "yaml",
              "plaintext": "  features:\n    - navigation.tracking # URL address bar\n    - navigation.prune # Render only visible navigation\n    - navigation.path # Breadcrumbs for beginning of filename\n    - toc.follow # Follow navigation\n    - toc.integrate # rendering nav bar to the left",
              "syntaxHighlightingTheme": "laserwave"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "It basically distilled down to some very specific CSS for the pages we did or did not want to display the table-of-contents. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "language": "css",
              "plaintext": "#__nav_5_label + nav.md-nav > \n.md-nav__list > \n.md-nav__item > \n.md-nav.md-nav--secondary {\n\tdisplay: none;\n}",
              "syntaxHighlightingTheme": "laserwave"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 195,
                    "byteStart": 191
                  }
                }
              ],
              "plaintext": "There were also pages that were \"orphaned\", or after clicking a link within a page you would lose where you were in the navigation. So this required to hide / show the page in the navigation only when it was the active page. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.code",
              "language": "css",
              "plaintext": "#__nav_4_2_1_label + nav.md-nav \n> ul.md-nav__list \n> .md-nav__item:not(:first-child){\n  display: none;\n}\n\n#__nav_4_2_1_label + nav.md-nav \n> ul.md-nav__list \n> .md-nav__item.md-nav__item--active{\n  display: block;\n}",
              "syntaxHighlightingTheme": "laserwave"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Which looks like this:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "aspectRatio": {
                "height": 1504,
                "width": 2798
              },
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreicp4jcwmatvdns57xzp6wdqmidheudhit7vvdyo66gw265fo3k4em"
                },
                "mimeType": "image/webp",
                "size": 173048
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Upon clicking \"Shape Primitives\":"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "aspectRatio": {
                "height": 1456,
                "width": 2804
              },
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreifskusmujtcspsowenfg65whfxg26fqsk3mvvt2qjxtv7r2mw4obe"
                },
                "mimeType": "image/webp",
                "size": 139542
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 18,
                    "byteStart": 0
                  }
                }
              ],
              "level": 2,
              "plaintext": "Resource Bandwidth"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 98,
                    "byteStart": 71
                  }
                }
              ],
              "plaintext": "There were a few issues testing the bandwidth of a site. The first was reading the Inspector wrong. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "How these two data amounts, that are located at the bottom of Network Tab differ?",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreidzb3h3hz6njd4kriqt53xccqhnbgmltbweobyfear7m2qnhd74ay"
                },
                "mimeType": "image/png",
                "size": 847
              },
              "src": "https://stackoverflow.com/questions/56043151/what-is-the-difference-between-transferred-and-resources-in-chrome-devtools",
              "title": "What is the difference between \"transferred\" and \"resources\" in Chrome DevTools Network tab?"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "When looking at the Network tab in Firefox, you can see the actual consumption of a page. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "aspectRatio": {
                "height": 1036,
                "width": 640
              },
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreiekrykxxxssf6pkcuqf2k7zwfympxtgfq36s5nx3x3cfawlh55ewq"
                },
                "mimeType": "image/webp",
                "size": 85212
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 97,
                    "byteStart": 75
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 153,
                    "byteStart": 119
                  }
                }
              ],
              "plaintext": "On the bottom there are two numbers: 1.63MB and 803.73 kb. The left is the total size of the page whereas the right is transferred bytes over the network. We are focusing on keeping the transferred bytes number as low as possible. This is a screenshot of the largest page currently on the site. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Okay so first problem was looking at the wrong number."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 10,
                    "byteStart": 4
                  }
                },
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 84,
                    "byteStart": 76
                  }
                }
              ],
              "plaintext": "The second and larger issue was that the navigation features implementation appeared like it blew up the page size. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://developer.mozilla.org/en-US/docs/Web/Performance/Guides/Lazy_loading"
                    }
                  ],
                  "index": {
                    "byteEnd": 35,
                    "byteStart": 23
                  }
                }
              ],
              "plaintext": "We had already enabled lazy-loading and weren't sure if it was somehow disabling or if enabling different features in mkdocs was actually way bigger than we thought."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "aspectRatio": {
                "height": 1642,
                "width": 2836
              },
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreigeqnjbalpk55cik2hmi6qaretsxe3hvgbn7w6s6dgwg5dqqe2chu"
                },
                "mimeType": "image/webp",
                "size": 280902
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ],
                  "index": {
                    "byteEnd": 26,
                    "byteStart": 23
                  }
                }
              ],
              "plaintext": "1.15MB transferred was way bigger than the live site at the time; however I also checked out the main branch and tested the size locally."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "aspectRatio": {
                "height": 1650,
                "width": 2840
              },
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreiai5tggw73o5yqxxhzcpzx4zmpl7rc7kqxokfvm3d5ngqxk4zuxfu"
                },
                "mimeType": "image/webp",
                "size": 304402
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Which was...the same. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#underline"
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#bold"
                    }
                  ],
                  "index": {
                    "byteEnd": 157,
                    "byteStart": 10
                  }
                }
              ],
              "plaintext": "Basically there is no compression that ends up happening on local development, because it will always be the fastest on the machine that is serving the files. "
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "But, if we look at the live site now:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "aspectRatio": {
                "height": 1622,
                "width": 2844
              },
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreiadmncu62ogv3xzs5cujdgz5meyjaw4z6idmavv2j5khrcd6wnxwy"
                },
                "mimeType": "image/webp",
                "size": 302754
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "Woohoo! Compression is working and the site is actually small!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight",
                      "color": {
                        "$type": "pub.leaflet.theme.color#rgb",
                        "b": 195,
                        "g": 205,
                        "r": 255
                      }
                    },
                    {
                      "$type": "pub.leaflet.richtext.facet#link",
                      "uri": "https://github.com/L5lua/L5-website/issues"
                    }
                  ],
                  "index": {
                    "byteEnd": 82,
                    "byteStart": 59
                  }
                }
              ],
              "plaintext": "So go look at the site and tell me your thoughts via DM or make an issue on Github!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.website",
              "description": "L5 is a fun, fast, cross-platform, and lightweight implementation of the Processing API in Lua. It is a free and open source coding library to make interactive artwork on the computer, aimed at artists, designers, and anyone that wants a flexible way to prototype art, games, toys, and other software experiments in code.",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreietz4ytneinbh5kgc5xhu5oz7wqzjsw27naxw7xyhq6anxn5w7tlq"
                },
                "mimeType": "image/png",
                "size": 31681
              },
              "src": "https://l5lua.org/",
              "title": "L5: A Processing Library in Lua"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "facets": [
                {
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#highlight"
                    }
                  ],
                  "index": {
                    "byteEnd": 6,
                    "byteStart": 0
                  }
                }
              ],
              "level": 1,
              "plaintext": "Anyway"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "It was Lee's birthday last Thursday and Gemini season is almost over! Happy birthday Lee!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": "xx smh",
              "textSize": "small"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "plaintext": ""
            }
          }
        ],
        "id": "019ead1a-cb06-7ee2-b37a-2c05c7bc25a6"
      }
    ]
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreiadmncu62ogv3xzs5cujdgz5meyjaw4z6idmavv2j5khrcd6wnxwy"
    },
    "mimeType": "image/webp",
    "size": 302754
  },
  "description": "Huge if true (it is).",
  "path": "/3mogaghoxss2a",
  "publishedAt": "2026-06-16T16:40:01.000Z",
  "site": "at://did:plc:wlzd76q6sfrwrxaixkqkso43/site.standard.publication/3mmeyfprfc222",
  "tags": [
    "l5lua",
    "gsoc",
    "lua"
  ],
  "title": "L5 Navigation Updates!"
}