{
    "archive_path": "archive/1788732339.114612",
    "base_url": "spectrecollie.com/2026/09/05/bad-vibes-coding",
    "basename": "",
    "bookmarked_date": "2026-09-06 22:05",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/spectrecollie.com/2026/09/05/bad-vibes-coding",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=spectrecollie.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "spectrecollie.com/2026/09/05/bad-vibes-coding/index.html"
    },
    "domain": "spectrecollie.com",
    "extension": "",
    "hash": "9DVWRW3CJ9CMRA3MYP5Y",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=spectrecollie.com"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-06T23:50:19.477100+00:00",
                "index_texts": null,
                "output": "TimeoutExpired: Command '['curl', '--silent', '--location', '--compressed', '--max-time', '120', '--output', 'favicon.ico', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)', 'https://www.google.com/s2/favicons?domain=spectrecollie.com']' timed out after 120 seconds",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-06T23:48:19.444978+00:00",
                "status": "failed"
            },
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=spectrecollie.com"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-10T22:19:42.742333+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:19:42.229519+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-06T23:54:19.743295+00:00",
                "index_texts": null,
                "output": "ConnectionError: None: Max retries exceeded with url: /2026/09/05/bad-vibes-coding/ (Caused by NewConnectionError('None: Failed to establish a new connection: [Errno 101] Network is unreachable'))",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-06T23:50:19.483161+00:00",
                "status": "failed"
            },
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-10T22:19:43.182898+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:19:42.751876+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.7.4",
                "end_ts": "2026-09-07T00:02:31.046364+00:00",
                "index_texts": [],
                "output": "ConnectionError: None: Max retries exceeded with url: /2026/09/05/bad-vibes-coding/ (Caused by NewConnectionError('None: Failed to establish a new connection: [Errno 101] Network is unreachable'))",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-07T00:00:30.942856+00:00",
                "status": "failed"
            }
        ],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/",
                    "--format=text"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-09-07T00:00:30.935399+00:00",
                "index_texts": null,
                "output": "ArchiveError: Got /app/node_modules/@postlight/parser/cli.js response code: 1).",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-07T00:00:19.949907+00:00",
                "status": "failed"
            },
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-09-10T22:19:52.027604+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:19:48.727687+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "curl",
                    "./{dom,singlefile}.html"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-09-07T00:00:19.943590+00:00",
                "index_texts": [],
                "output": "ConnectionError: None: Max retries exceeded with url: /2026/09/05/bad-vibes-coding/ (Caused by NewConnectionError('None: Failed to establish a new connection: [Errno 101] Network is unreachable'))",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-06T23:58:19.850613+00:00",
                "status": "failed"
            },
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpl20nstpl",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-09-10T22:19:48.713753+00:00",
                "index_texts": [
                    "Taking a short break from being spitting mad about AI, to just being sad about how it never needed to be like thisMy take on generative AI has pretty rapidly gone from a tentative, \u201cit sucks and I hate it, but after the bubble pops, there might be a few very specific use cases for it, like with programming,\u201d to a vehemently zero-tolerance stance. It\u2019s all garbage, burn it down.It\u2019s just so bad, in so many different ways, on so many different levels. Trying to ignore or excuse any one of the points against it will still leave you with dozens more.Have you managed to convince yourself (somehow) that the environmental concerns of the ridiculous over-proliferation of data centers are overblown or inaccurate? You\u2019re still left having to explain why these data centers need to exist at all.Have you convinced yourself that the decades-long festival of plagiarism and copyright infringement is regrettable, but there\u2019s nothing we can do about it now? Well, as bad a take as that is, it\u2019s still not as if it\u2019s all over and done with. The models are still controlled by and profiting some of the worst people in the world.Have you decided that \u201cethically-trained\u201d models that only run locally are the answer? We already had those, and they didn\u2019t make much of a big impression on anyone, because they\u2019re simply not useful. Janelle Shane ran a whole blog about them for several years, pointing out how comically inept they are. Does anyone honestly believe that we\u2019d have a few very rich and morally bankrupt people destroying the global economy if they\u2019d already found a genuinely efficient and ethical way to simulate intelligent agents?\u201cHonestly believe\u201d is key there, since I\u2019ve seen so many people trying to defend this garbage with claims that are outright counter-factual. Are they being disingenuous? Or do they actually not understand? It\u2019s often difficult to tell.All I know for certain is that people are still out there insisting that it\u2019s \u201cdemocratizing.\u201d That it\u2019s a tool that allows people to do things they weren\u2019t capable of before. That there are all of these creative minds with ideas that they\u2019ve never been able to execute, because they don\u2019t know how to program, or because they\u2019re not accomplished artists.Which is such wrong-headed bullshit, that I can only conclude they\u2019re either literally incapable of introspection or reasoning, or they\u2019re so deliberately lying that they\u2019re due to be struck by lightning from on high at any moment. To forego the absurd amount of resources that people have built up over the past couple of decades, and shared openly with the public, and instead sing the praises of systems owned and controlled by OpenAI, Anthropic, and Google? And to call that democratizing?For me, it came to a head over the past couple of weeks, when I finally started to become aware of how much it had infiltrated the community of developers for the Playdate.I should make clear that I\u2019m only giving my own opinions here, and I\u2019m not claiming to speak for anybody else. I\u2019m not  claiming to be any kind of thought leader in the community, either. But I do have very strong opinions about the Playdate, the philosophy behind it, and why it\u2019s so valuable. And the thought of using any kind of generative AI with it offends me to my core.You want to talk about \u201cdemocratizing?\u201d Pulp is democratizing. Offering incentives for using the device in education is democratizing. Providing all kinds of development tools and documentation, and making every device a development kit, is democratizing. Including a payment and distribution platform called Catalog, while simultaneously encouraging devs to use other platforms like itch.io: that\u2019s democratizing.So it has been a stone drag to see some people trying to justify/defend their use of AI for developing Playdate games by spouting things along the lines of \u201cin the real world, you\u2019ve got to think about the cost of development, and using AI to make that process quicker and more efficient will help you stay competitive.\u201d And I can\u2019t put it any more simply than this: bullshit.To elaborate on that: if you\u2019re trying to give aspiring game developers real, practical advice on how to make a viable business from selling their games, you need to take a step back and advise them don\u2019t make games for the Playdate.Not because I don\u2019t like the Playdate. Just the opposite. I love it. I want to see it keep growing as a platform. I want it to attract more people who have creative ideas but have never before been able to realize them. I want it to be a platform where people can keep making games without bankrupting themselves, and use the money they make from one game to fund the next. I\u2019m not at all saying that I want it to remain a niche, hobbyist platform only for the weirdest of die-hards.But I want it to grow for the right reasons. I don\u2019t want it to turn into the iOS App Store or Steam. We\u2019ve already seen, over and over again, how platforms get ruined when people come in focused on development time, quick turnaround, and marketability instead of just making good stuff. The platform fills up with quick, uninspired slop. There\u2019s a race to the bottom. And small teams or solo devs with talent get squeezed out by companies who churn out derivative match-3 games and free-to-play junk. Ending up with players asking why they should pay even the ludicrous amount of $5 for a game, when they can get any of these others for 99 cents, or even free?I have no doubt that some people \u2014 assuming they\u2019re even reading this \u2014 would dismiss all of that as an overblown, unrealistic, overreaction. What\u2019s the big deal? There\u2019s a difference between using AI as a tool and making slop. An AI-generated thumbnail isn\u2019t going to bring down a whole platform. Using Claude to make unit tests or generate boilerplate code is nothing but a time-saver. Be realistic!And that\u2019s the problem; I am being realistic. We\u2019ve all seen this stuff happen. It doesn\u2019t happen all at once. It happens as a result of chipping away at our integrity bit by bit. We\u2019ve already got people so far removed from reality that they make absurd claims that sound as if they hadn\u2019t considered them at all.\u201cEverybody\u2019s already using it.\u201d \u201cNobody likes it, but it\u2019s here, so we might as well learn to adapt.\u201d This garbage has been around for what, three years? And we\u2019re supposed to think that it\u2019s inevitable and essential? What do you think people did before this garbage got pushed everywhere? Why do you think these companies are so desperate to put it in places that it doesn\u2019t belong? If it were actually useful, it would\u2019ve made the case for itself.\u201cIt\u2019s just like code complete.\u201d \u201cPeople already copy and paste code from stackoverflow, you know.\u201d So why not use code complete? Why not use stackoverflow? Why choose the least efficient system and least reliable computing systems ever devised to reproduce tools we\u2019ve already got?\u201cIt just does the tedious parts for me.\u201d \u201cEverything is verified from unit tests.\u201d \u201cIt handles all the stub functions and boilerplate code.\u201d Every single time I\u2019ve ever tried to automate a tedious process, it\u2019s resulted in my realizing that it would\u2019ve been far more efficient for me to do it by hand. If you\u2019ve got a ton of stub functions, boilerplate code, or glue code, then I invite you to consider how \u201ccopy\u201d and \u201cpaste\u201d don\u2019t require billionaire-owned data centers to be built in underprivileged communities without their consent. And if you\u2019re using a proven unreliable system to generate the code that is intended to prove the reliability of your code, then you frankly deserve it to blow up in your face.You know what\u2019s actually here to stay? grep. Nobody likes it, but we all just have to live with it.I\u2019ve seen proponents of AI insist that it\u2019s a time-saving tool and it\u2019d be foolish not to use it. As if all of us who are against it are stuck in the past, banging rocks together. It\u2019s just foolish, since I remember what it was like when I was starting to learn to program. Wanting to go from BASIC to learning something like C or even Pascal was impossible \u2014 not because I didn\u2019t have the time or the inclination, but simply because I couldn\u2019t afford a compiler. Wanting to make digital art was not daunting but actually impossible, because I couldn\u2019t afford a copy of Deluxe Paint. I didn\u2019t have access to any tools like this until I started working for studios and publishers, who owned (and still own) everything I created for them.Now, people have more free, open, access to more resources than we ever have before, actual tools, and they\u2019re choosing instead to be reliant on companies like Google, OpenAI, or Anthropic again.It\u2019s especially a drag to see it evangelized by people who consider themselves \u201cseasoned\u201d software engineers, because it so obviously goes against the most basic principles of software engineering. A system that isn\u2019t 100% reliable is 0% reliable. You should always be searching for the most efficient way to solve a problem, and an LLM running in a cloud is the least efficient way to solve the problem. And one of the most cardinal rules: the less code, the better. If you either can\u2019t or don\u2019t want to do something, having an over-engineered system generate more code for you, to solve a known problem, is just stupid. That\u2019s exactly why we have software libraries.And when I see people insisting that stuff like Claude Code is \u201cenabling\u201d because they don\u2019t know how to program, that\u2019s just the bleakest shit. There have been countless times where I\u2019ve looked at a code sample without knowing how it worked, and had to modify it to be able to do exactly what I wanted. And the process of modifying it is the process that made me figure out how it worked.It\u2019s just plain depressing to see people who value the end result over the process of creating that result. The process is what\u2019s valuable, in every possible sense.I saw some Brainiac insist that there\u2019s no value in making something as simple as a ball bouncing on a screen, so what\u2019s the harm in having Claude or something generate that code? And that\u2019s the most wrongheaded thing, which gets it completely backwards.When I write something that I have a dozen times before, and it works the first time, that\u2019s the purest dopamine hit I get as a programmer. It\u2019s all of the rewards of having something working, without the struggle. And it\u2019s mine. It takes me back, Ratatouille-style, to when I was sitting in front of a Commodore 64 hooked up to an old TV set, typing in programs from a BASIC tutorial, learning how it all works. Being able to do it without thinking much about it means that I\u2019ve learned it, that it\u2019s a part of me, and there\u2019s been a point to all of the repetition. It\u2019s not going to impress anyone else, but it\u2019s one of the few areas where I don\u2019t feel the need to impress anyone else. I just get the simple and pure satisfaction of knowing I know how to do this. And someday, maybe, I\u2019ll be able to do the same with the dot product without having to refer back to an interactive tutorial.There\u2019s no value in trying to be open-minded or reasonable about something that\u2019s been proven harmful, multiple times, in multiple different ways. We\u2019ve seen that basic fact play out, over and over again, in politics. Ask me sometime how I felt about having to be tactful, respectful, and objective whenever I encountered someone online saying, \u201cIt\u2019s nothing personal, I just simply believe that gay people shouldn\u2019t be allowed to marry.\u201d Some things simply aren\u2019t a difference of opinion, and treating something harmful as such does nothing but help normalize it.But it\u2019s exhausting to be angry all the time. Today I\u2019m just sad, seeing people so eager to throw away their principles for the sake of saving a little time and effort. (Or more accurately, believing that they\u2019re saving themselves some time and effort). I\u2019m just reminded yet again that it never needed to be like this. We don\u2019t need it. It doesn\u2019t enable a single damn thing that wasn\u2019t already possible. We can still choose to just\u2026 not."
                ],
                "output": "readability",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:19:47.187159+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-06T23:58:19.844472+00:00",
                "index_texts": null,
                "output": "ConnectionError: None: Max retries exceeded with url: /2026/09/05/bad-vibes-coding/ (Caused by NewConnectionError('None: Failed to establish a new connection: [Errno 101] Network is unreachable'))",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-06T23:56:19.813975+00:00",
                "status": "failed"
            },
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-10T22:19:47.179706+00:00",
                "index_texts": null,
                "output": "Bad Vibes Coding \u2013 Spectre Collie",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:19:47.155593+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--backup-converted",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--warc-file=/data/archive/1788732339.114612/warc/1788738859",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-09-06T23:56:19.808292+00:00",
                "index_texts": null,
                "output": "TimeoutExpired: Command '['wget', '--no-verbose', '--adjust-extension', '--convert-links', '--force-directories', '--backup-converted', '--span-hosts', '--no-parent', '-e', 'robots=off', '--timeout=120', '--restrict-file-names=windows', '--warc-file=/data/archive/1788732339.114612/warc/1788738859', '--page-requisites', '--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3', '--compression=auto', 'https://spectrecollie.com/2026/09/05/bad-vibes-coding/']' timed out after 120 seconds",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-06T23:54:19.756054+00:00",
                "status": "failed"
            },
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--backup-converted",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--warc-file=/data/archive/1788732339.114612/warc/1789078783",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-09-10T22:19:47.144045+00:00",
                "index_texts": null,
                "output": "spectrecollie.com/2026/09/05/bad-vibes-coding/index.html",
                "pwd": "/data/archive/1788732339.114612",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-10T22:19:43.192192+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Bad Vibes Coding \u2013 Spectre Collie",
        "warc": null,
        "wget": "spectrecollie.com/2026/09/05/bad-vibes-coding/index.html"
    },
    "link_dir": "/data/archive/1788732339.114612",
    "newest_archive_date": "2026-09-10T22:19:48.727687+00:00",
    "num_failures": 7,
    "num_outputs": 6,
    "oldest_archive_date": "2026-09-06T23:48:19.444978+00:00",
    "path": "/2026/09/05/bad-vibes-coding/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "d39ae2d4-3262-4db6-a1f9-0dd80570a3a4",
    "sources": [
        "/data/sources/1788732339-import.txt"
    ],
    "tags": ",war-wiki",
    "tags_str": "war-wiki",
    "timestamp": "1788732339.114612",
    "title": "Bad Vibes Coding \u2013 Spectre Collie",
    "updated": "2026-09-10T22:19:42.229163+00:00",
    "updated_date": "2026-09-10 22:19",
    "url": "https://spectrecollie.com/2026/09/05/bad-vibes-coding/"
}