samstokes
Joined 18 years ago
Joined 18 years ago
You: I'm not sure, it seems random
Nietzschian: "Random" is the word we use when we haven't looked
hard enough. What do the server logs say for the 403
responses? Go look. I'll wait.
That move from "I don't know" to "where could I look to find out" is one of the key habits that makes someone good at debugging, and here "Nietzsche" is just doing it for you.It might seem obvious to look at the logs, but in my experience 90% of being stuck debugging something is just not yet having looked at all the available evidence.
It's true you could learn these habits by exposure to them, and this could be a neat alternative to pairing with a more senior engineer for that. But it looks like you could easily just keep saying "it's random", "I don't know", and the model would keep telling you what to do next, without you actually having to think.
I wonder if making it even more Socratic would fix this? E.g. "how do you know it's returning 403s? Oh, logs you say? Is there anything else they could tell you?"
This is a little misleading as written (with a 2026 timestamp but citing only 2023 data) given there is a wealth tax on the California ballot and wealth migration is cited as a reason to oppose it. This article looks like it supports that argument, but it doesn't.
The best lack all conviction, while the worst
Are full of passionate intensity.
- W.B. YeatsAlso, the report says that both red and blue states had both overcounts and undercounts, which is a different picture than "over counts in blue states". It is accurate that more blue states had overcounts and more red states had undercounts.
I realise your question is rhetorical, but the report does offer a possible answer: "The 2020 Census faced many challenges such as conducting fieldwork during the COVID-19 pandemic. Other challenges to the 2020 Census included con- troversy around a proposed citizenship question and changes in the duration of the Nonresponse Followup operation." It's plausible that those "challenges" could have been experienced unevenly by state, particularly with how politicised the pandemic and its mitigations were in the US.
The process is described on the same website you linked to: https://www.sos.ca.gov/elections/voter-registration/same-day...
I can't help but cringe at the "cost of code is now zero" meme that this article repeats because in my experience the biggest cost of code was always the activities around the code - planning, communicating, reviewing, validating. This author, despite repeating the meme, seems to agree. Their emphasis on writing PR descriptions and specs for humans rhymes with my experience and it sounds like a nicer way to work than chasing some dark factory fever dream.
I also thought the "Two Modes of Working" section was useful. People get wildly different results from coding agents depending on how they use them, but I've not seen a lot of actual guidance on when to do X vs Y.
Personally, I've been using what the author calls "sidekick mode" since last October - before the supposed "AI got good now" threshold - and agree it's a more useful default for an engineer than "delegate mode".
The post takes a while to get around to saying that, and could have included more detail besides the workflow diagram and table (which they flag as only "an example of" such a harness), but it does answer the question. It's a different kind of tool because it's a model rather than a harness+model pair.
With changes like substantial refactors or ambitious feature additions, it's easy to exceed the infamous "seven things I can remember at once":
* the idea for the big change itself
* my reason for making the change
* the relevant components and how they currently work
* the new way they'll fit together after the change
* the messy intermediate state when I'm half finished but still need a working system to get feedback
* edge cases I'm ignoring for now but will have to tackle eventually
* actual code changes
* how I'm going to test this
Good lab notes, specs etc can help, but it's a lot to keep in mind. In practice these often turn into multi person projects, and communication is hard so that often means delay or drift. Having an agent temporarily worry about * wiring a new parameter through several layers
* writing a test harness for an untested component
* experimentally adding multibyte character support on a branch
frees up my mental bandwidth for the harder parts of the problem.The main benefit is to defer the concern until I have a mostly working system. Then I come back and review its output, since I'm still responsible for what it delivers, and I want better than "mostly working".
I blog at https://five-eights.com. Follow me on Mastodon at https://hachyderm.io/@samstokes.
[ my public key: https://keybase.io/samstokes; my proof: https://keybase.io/samstokes/sigs/wIsBnkrHbUgNMwRFtYyBmnGTNtzVhJonzw064n2rQUg ]