{
    "items": [
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://evmar.github.io/jjtut/"
                            ],
                            "name": [
                                "Evan's Jujutsu Tutorial"
                            ]
                        },
                        "lang": "en",
                        "value": "https://evmar.github.io/jjtut/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://fzakaria.com/2026/07/09/who-does-anubis-actually-stop"
                            ],
                            "name": [
                                "Who does Anubis actually stop?"
                            ]
                        },
                        "lang": "en",
                        "value": "https://fzakaria.com/2026/07/09/who-does-anubis-actually-stop"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://rmpr.xyz/Where-did-my-segfault-go/"
                            ],
                            "name": [
                                "Where did my segfault go?"
                            ]
                        },
                        "lang": "en",
                        "value": "https://rmpr.xyz/Where-did-my-segfault-go/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://owickstrom.github.io/the-proportional-web/"
                            ],
                            "name": [
                                "The Proportional Web"
                            ]
                        },
                        "lang": "en",
                        "value": "https://owickstrom.github.io/the-proportional-web/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://dakra.github.io/ghostel/"
                            ],
                            "name": [
                                "ghostel.el - Terminal emulator powered by libghostty"
                            ]
                        },
                        "lang": "en",
                        "value": "https://dakra.github.io/ghostel/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://www.seangoedecke.com/in-defense-of-not-understanding-your-codebase/"
                            ],
                            "name": [
                                "In defense of not understanding your codebase"
                            ]
                        },
                        "lang": "en",
                        "value": "https://www.seangoedecke.com/in-defense-of-not-understanding-your-codebase/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://framagit.org/ppom/reaction"
                            ],
                            "name": [
                                "reaction: A daemon that scans program outputs for repeated patterns, and takes action"
                            ]
                        },
                        "lang": "en",
                        "value": "https://framagit.org/ppom/reaction"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://www.gingerbill.org/article/2026/07/10/good-tools-are-invisible/"
                            ],
                            "name": [
                                "Good Tools Are Invisible"
                            ]
                        },
                        "lang": "en",
                        "value": "https://www.gingerbill.org/article/2026/07/10/good-tools-are-invisible/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://antjs.org/"
                            ],
                            "name": [
                                "Ant, a lightweight JavaScript runtime"
                            ]
                        },
                        "lang": "en",
                        "value": "https://antjs.org/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://mikezornek.com/posts/2026/7/a-place-for-everything/"
                            ],
                            "name": [
                                "A Place for Everything: How I Track Work"
                            ]
                        },
                        "lang": "en",
                        "value": "https://mikezornek.com/posts/2026/7/a-place-for-everything/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://danq.me/2026/07/10/rescuing-7234-gifs/"
                            ],
                            "name": [
                                "Today I Rescued 7,234 Old GIFs"
                            ]
                        },
                        "lang": "en",
                        "value": "https://danq.me/2026/07/10/rescuing-7234-gifs/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://entropicthoughts.com/sicp-2-4-data-directed-programming-in-haskell"
                            ],
                            "name": [
                                "Data-directed programming in Haskell (SICP2.4.3)"
                            ]
                        },
                        "lang": "en",
                        "value": "https://entropicthoughts.com/sicp-2-4-data-directed-programming-in-haskell"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://projectdiscovery.io/blog/hacking-apple-with-sql-injection"
                            ],
                            "name": [
                                "Hacking Apple - SQL Injection to Remote Code Execution"
                            ]
                        },
                        "lang": "en",
                        "value": "https://projectdiscovery.io/blog/hacking-apple-with-sql-injection"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://www.sigops.org/2026/slow-software-the-case-for-high-latency-systems-development/"
                            ],
                            "name": [
                                "Slow Software: The Case for High-latency Systems Development"
                            ]
                        },
                        "lang": "en",
                        "value": "https://www.sigops.org/2026/slow-software-the-case-for-high-latency-systems-development/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://www.youtube.com/watch?v=-xIFpg7sBVs"
                            ],
                            "name": [
                                "Gamedev in Zig is actually pretty good (2025)"
                            ]
                        },
                        "lang": "en",
                        "value": "https://www.youtube.com/watch?v=-xIFpg7sBVs"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://lwn.net/SubscriberLink/1080822/990a8a5e2d379085/"
                            ],
                            "name": [
                                "An update on the scraper situation"
                            ]
                        },
                        "lang": "en",
                        "value": "https://lwn.net/SubscriberLink/1080822/990a8a5e2d379085/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://mrbruh.com/motorola/"
                            ],
                            "name": [
                                "Unauthenticated RCE in Motorola's MR2600 Router"
                            ]
                        },
                        "lang": "en",
                        "value": "https://mrbruh.com/motorola/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://steven-giesel.com/blogPost/d4401fd0-805a-4703-9d9e-5fe3b57c25ea"
                            ],
                            "name": [
                                "EF Core 11 makes your split queries faster"
                            ]
                        },
                        "lang": "en",
                        "value": "https://steven-giesel.com/blogPost/d4401fd0-805a-4703-9d9e-5fe3b57c25ea"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://danq.me/2026/07/09/your-app-could-have-been-a-webpage/"
                            ],
                            "name": [
                                "I converted an Android app to a webpage"
                            ]
                        },
                        "lang": "en",
                        "value": "https://danq.me/2026/07/09/your-app-could-have-been-a-webpage/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://thebeach.dev/posts/lisp-agent/"
                            ],
                            "name": [
                                "An Agent in 100 Lines of Lisp"
                            ]
                        },
                        "lang": "en",
                        "value": "https://thebeach.dev/posts/lisp-agent/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://nigeltao.github.io/blog/2026/handsum.html"
                            ],
                            "name": [
                                "Handsum: An LQIP Image File Format"
                            ]
                        },
                        "lang": "en",
                        "value": "https://nigeltao.github.io/blog/2026/handsum.html"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://odysseylinux.org/"
                            ],
                            "name": [
                                "Odyssey Linux"
                            ]
                        },
                        "lang": "en",
                        "value": "https://odysseylinux.org/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://www.howtogeek.com/i-tried-netbsd-as-a-desktop-and-it-felt-like-stepping-into-the-90s-in-a-good-way/"
                            ],
                            "name": [
                                "I tried NetBSD as a desktop, and it felt like stepping into the '90s in a good way"
                            ]
                        },
                        "lang": "en",
                        "value": "https://www.howtogeek.com/i-tried-netbsd-as-a-desktop-and-it-felt-like-stepping-into-the-90s-in-a-good-way/"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://github.com/cdacamar/gap"
                            ],
                            "name": [
                                "gap: UI text diff"
                            ]
                        },
                        "lang": "en",
                        "value": "https://github.com/cdacamar/gap"
                    }
                ]
            },
            "lang": "en"
        },
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "repost-of": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://nesbitt.io/2026/05/10/madame-semver-will-see-you-now.html"
                            ],
                            "name": [
                                "Madame Semver Will See You Now"
                            ]
                        },
                        "lang": "en",
                        "value": "https://nesbitt.io/2026/05/10/madame-semver-will-see-you-now.html"
                    }
                ]
            },
            "lang": "en"
        }
    ],
    "rels": {
        "icon": [
            "https://lobste.rs/touch-icon-144.png",
            "https://lobste.rs/favicon.ico"
        ],
        "apple-touch-icon": [
            "https://lobste.rs/touch-icon.png",
            "https://lobste.rs/touch-icon-144.png"
        ],
        "search": [
            "https://lobste.rs/opensearch.xml"
        ],
        "shortcut": [
            "https://lobste.rs/favicon.ico"
        ],
        "stylesheet": [
            "https://lobste.rs/assets/application-6dab78fa.css",
            "https://lobste.rs/assets/system-system-fd030c9d.css",
            "https://lobste.rs/assets/tom-select-00e8031d.css",
            "https://lobste.rs/assets/TomSelect_remove_button-4d5c34b9.css"
        ],
        "alternate": [
            "https://lobste.rs/rss",
            "https://lobste.rs/comments.rss"
        ],
        "ugc": [
            "https://evmar.github.io/jjtut/",
            "https://fzakaria.com/2026/07/09/who-does-anubis-actually-stop",
            "https://rmpr.xyz/Where-did-my-segfault-go/",
            "https://owickstrom.github.io/the-proportional-web/",
            "https://dakra.github.io/ghostel/",
            "https://www.seangoedecke.com/in-defense-of-not-understanding-your-codebase/",
            "https://framagit.org/ppom/reaction",
            "https://www.gingerbill.org/article/2026/07/10/good-tools-are-invisible/",
            "https://antjs.org/",
            "https://mikezornek.com/posts/2026/7/a-place-for-everything/",
            "https://danq.me/2026/07/10/rescuing-7234-gifs/",
            "https://entropicthoughts.com/sicp-2-4-data-directed-programming-in-haskell",
            "https://projectdiscovery.io/blog/hacking-apple-with-sql-injection",
            "https://www.sigops.org/2026/slow-software-the-case-for-high-latency-systems-development/",
            "https://www.youtube.com/watch?v=-xIFpg7sBVs",
            "https://lwn.net/SubscriberLink/1080822/990a8a5e2d379085/",
            "https://mrbruh.com/motorola/",
            "https://steven-giesel.com/blogPost/d4401fd0-805a-4703-9d9e-5fe3b57c25ea",
            "https://danq.me/2026/07/09/your-app-could-have-been-a-webpage/",
            "https://thebeach.dev/posts/lisp-agent/",
            "https://nigeltao.github.io/blog/2026/handsum.html",
            "https://odysseylinux.org/",
            "https://www.howtogeek.com/i-tried-netbsd-as-a-desktop-and-it-felt-like-stepping-into-the-90s-in-a-good-way/",
            "https://github.com/cdacamar/gap",
            "https://nesbitt.io/2026/05/10/madame-semver-will-see-you-now.html"
        ],
        "noreferrer": [
            "https://evmar.github.io/jjtut/",
            "https://fzakaria.com/2026/07/09/who-does-anubis-actually-stop",
            "https://rmpr.xyz/Where-did-my-segfault-go/",
            "https://owickstrom.github.io/the-proportional-web/",
            "https://dakra.github.io/ghostel/",
            "https://www.seangoedecke.com/in-defense-of-not-understanding-your-codebase/",
            "https://framagit.org/ppom/reaction",
            "https://www.gingerbill.org/article/2026/07/10/good-tools-are-invisible/",
            "https://antjs.org/",
            "https://mikezornek.com/posts/2026/7/a-place-for-everything/",
            "https://danq.me/2026/07/10/rescuing-7234-gifs/",
            "https://entropicthoughts.com/sicp-2-4-data-directed-programming-in-haskell",
            "https://projectdiscovery.io/blog/hacking-apple-with-sql-injection",
            "https://www.sigops.org/2026/slow-software-the-case-for-high-latency-systems-development/",
            "https://www.youtube.com/watch?v=-xIFpg7sBVs",
            "https://lwn.net/SubscriberLink/1080822/990a8a5e2d379085/",
            "https://mrbruh.com/motorola/",
            "https://steven-giesel.com/blogPost/d4401fd0-805a-4703-9d9e-5fe3b57c25ea",
            "https://danq.me/2026/07/09/your-app-could-have-been-a-webpage/",
            "https://thebeach.dev/posts/lisp-agent/",
            "https://nigeltao.github.io/blog/2026/handsum.html",
            "https://odysseylinux.org/",
            "https://www.howtogeek.com/i-tried-netbsd-as-a-desktop-and-it-felt-like-stepping-into-the-90s-in-a-good-way/",
            "https://github.com/cdacamar/gap",
            "https://nesbitt.io/2026/05/10/madame-semver-will-see-you-now.html"
        ],
        "next": [
            "https://lobste.rs/page/2"
        ]
    },
    "rel-urls": {
        "https://lobste.rs/touch-icon-144.png": {
            "type": "image/png",
            "rels": [
                "apple-touch-icon",
                "icon"
            ]
        },
        "https://lobste.rs/touch-icon.png": {
            "rels": [
                "apple-touch-icon"
            ]
        },
        "https://lobste.rs/opensearch.xml": {
            "title": "Lobsters",
            "type": "application/opensearchdescription+xml",
            "rels": [
                "search"
            ]
        },
        "https://lobste.rs/favicon.ico": {
            "rels": [
                "icon",
                "shortcut"
            ]
        },
        "https://lobste.rs/assets/application-6dab78fa.css": {
            "rels": [
                "stylesheet"
            ]
        },
        "https://lobste.rs/assets/system-system-fd030c9d.css": {
            "rels": [
                "stylesheet"
            ]
        },
        "https://lobste.rs/assets/tom-select-00e8031d.css": {
            "rels": [
                "stylesheet"
            ]
        },
        "https://lobste.rs/assets/TomSelect_remove_button-4d5c34b9.css": {
            "rels": [
                "stylesheet"
            ]
        },
        "https://lobste.rs/rss": {
            "title": "RSS 2.0",
            "type": "application/rss+xml",
            "rels": [
                "alternate"
            ]
        },
        "https://lobste.rs/comments.rss": {
            "title": "Comments - RSS 2.0",
            "type": "application/rss+xml",
            "rels": [
                "alternate"
            ]
        },
        "https://evmar.github.io/jjtut/": {
            "text": "Evan's Jujutsu Tutorial",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://fzakaria.com/2026/07/09/who-does-anubis-actually-stop": {
            "text": "Who does Anubis actually stop?",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://rmpr.xyz/Where-did-my-segfault-go/": {
            "text": "Where did my segfault go?",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://owickstrom.github.io/the-proportional-web/": {
            "text": "The Proportional Web",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://dakra.github.io/ghostel/": {
            "text": "ghostel.el - Terminal emulator powered by libghostty",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://www.seangoedecke.com/in-defense-of-not-understanding-your-codebase/": {
            "text": "In defense of not understanding your codebase",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://framagit.org/ppom/reaction": {
            "text": "reaction: A daemon that scans program outputs for repeated patterns, and takes action",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://www.gingerbill.org/article/2026/07/10/good-tools-are-invisible/": {
            "text": "Good Tools Are Invisible",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://antjs.org/": {
            "text": "Ant, a lightweight JavaScript runtime",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://mikezornek.com/posts/2026/7/a-place-for-everything/": {
            "text": "A Place for Everything: How I Track Work",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://danq.me/2026/07/10/rescuing-7234-gifs/": {
            "text": "Today I Rescued 7,234 Old GIFs",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://entropicthoughts.com/sicp-2-4-data-directed-programming-in-haskell": {
            "text": "Data-directed programming in Haskell (SICP2.4.3)",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://projectdiscovery.io/blog/hacking-apple-with-sql-injection": {
            "text": "Hacking Apple - SQL Injection to Remote Code Execution",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://www.sigops.org/2026/slow-software-the-case-for-high-latency-systems-development/": {
            "text": "Slow Software: The Case for High-latency Systems Development",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://www.youtube.com/watch?v=-xIFpg7sBVs": {
            "text": "Gamedev in Zig is actually pretty good (2025)",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://lwn.net/SubscriberLink/1080822/990a8a5e2d379085/": {
            "text": "An update on the scraper situation",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://mrbruh.com/motorola/": {
            "text": "Unauthenticated RCE in Motorola's MR2600 Router",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://steven-giesel.com/blogPost/d4401fd0-805a-4703-9d9e-5fe3b57c25ea": {
            "text": "EF Core 11 makes your split queries faster",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://danq.me/2026/07/09/your-app-could-have-been-a-webpage/": {
            "text": "I converted an Android app to a webpage",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://thebeach.dev/posts/lisp-agent/": {
            "text": "An Agent in 100 Lines of Lisp",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://nigeltao.github.io/blog/2026/handsum.html": {
            "text": "Handsum: An LQIP Image File Format",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://odysseylinux.org/": {
            "text": "Odyssey Linux",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://www.howtogeek.com/i-tried-netbsd-as-a-desktop-and-it-felt-like-stepping-into-the-90s-in-a-good-way/": {
            "text": "I tried NetBSD as a desktop, and it felt like stepping into the '90s in a good way",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://github.com/cdacamar/gap": {
            "text": "gap: UI text diff",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://nesbitt.io/2026/05/10/madame-semver-will-see-you-now.html": {
            "text": "Madame Semver Will See You Now",
            "rels": [
                "noreferrer",
                "ugc"
            ]
        },
        "https://lobste.rs/page/2": {
            "text": "Page 2",
            "rels": [
                "next"
            ]
        }
    },
    "debug": {
        "package": "https://packagist.org/packages/mf2/mf2",
        "source": "https://github.com/indieweb/php-mf2",
        "version": "v0.5.0",
        "note": [
            "This output was generated from the php-mf2 library available at https://github.com/indieweb/php-mf2",
            "Please file any issues with the parser at https://github.com/indieweb/php-mf2/issues",
            "Using the Masterminds HTML5 parser"
        ]
    }
}