department of hack
2066 stories
·
16 followers

The cults of TDD and GenAI

1 Share

I’ve gotten a lot of flack throughout my career over my disdain towards test-driven development (TDD). I have met a lot of people who swear by it! And, I have also met a lot of people who insisted that I adopt it, too, often with the implied threat of appealing to my boss if appealing to me didn’t work.

The basic premise of TDD, for those unaware, is that one first writes a unit test that verifies the expected behavior for some code they want to write, observes the new test fail, and then one writes the implementation, iterating on it until the test passes. The advantage of this approach is, first, to ensure that your codebase is adequately covered by testing, and, second, to provide you a rapid feedback loop to assist in your work.

I have often found elements of TDD to be quite useful. Using a unit test or something similar to provide an efficient rapid feedback loop is a technique which I have employed many times. However, I am and have always been skeptical of the cult which arises around automated software testing and in particular TDD. A lot of people adopt an unquestioning loyalty to TDD, building tools and practices and vibes around the idea. It’s often too much.

The flaw with TDD is that, while it ensures that you have a test for every function you write, it also exerts an influence on the tested codebase, shaping the code to be as “testable” as possible, which only sometimes leads to better code. Moreover, TDD has no means of ensuring that the behavior that your tests verify is the right behavior for your software to have. Software with a thousand passing tests and 100% test coverage could be doing whatever the user or the business or whatever needs it to, but it could just as easily not meet the requirements in spite of those comprehensive tests – and in any case it gives you confidence in your work, which may or may not be misplaced.

The cult of TDD exploits the fact that TDD is very good at making you feel like a good, diligent programmer. That rapid feedback loop not only assists in your work but also enables a powerful dopamine cycle. Add into that a culture of aiming for 100% coverage and you get the bonus hit from watching a number go up. Buy into the whole cult and you get a slew of new README badges to keep green, and lots of cool charts and numbers, hundreds of blinkenlights on your test suite, a bunch of fun Slack messages from Jenkins, and a cute cardboard cut-out of the CTO to keep in the cubicle of whoever last broke the build.1 All of this pomp and circumstance is fun and it feels good and because it’s all in the name of testing (which is good, right?) it makes you feel like a good programmer even if none of it necessarily contributes to the results your team is supposed to achieve.

All of these flashy traits allow one to adopt the aesthetics of good, diligent software engineering work regardless of how good the work actually is. It’s an intoxicating way to work, especially for someone who struggles with software engineering. It makes you feel like a good programmer and gives you data to “back it up”, stuff you can cite at your performance review. But, software development is really hard, and TDD doesn’t go that far to making it easier. All of the really hard problems are not solved by TDD.

I suspect that coding agents are tapping into the same emotional and psychological reflexes that the cult of TDD gives us an early example of. Software development is still hard, but using an agent allows someone who’s just “so-so” at programming to feel the rush of being great at programming, a rush they might have been chasing for their entire career, and I bet the rush is so much sweeter than watching the lights on your test suite runs tick over to green.

A coding agent permits one to feel as if they have the raw productive power a great programmer can tap into. One may feel like the “10× programmers” they’ve sat next to in the open office for ten years, whose skills they never quite achieved themselves. It scales up the raw output by a factor of ten, and lets one assemble apparently great works in a fraction of the time, solo-coding great cathedrals in the time it used to take them to build, with great difficulty, a homely shack.

But, if it seems too good to be true…

Those cathedrals are not the great works they appear to be. The construction is shoddy and the architecture nonsensical and a great programmer hand-writing code will still outperform any mediocre programmer once the gleam wears off of their respective works and the bugs and problems start showing up. The project has 99.9% coverage on a thousand beautiful green tests, and, inside, the foundations are still rotten.

God, though, I understand why so many people are chasing that dragon, even though it’s going to ruin their careers, and maybe even their lives. I get why people fall for this, in spite of the externalities that they must know of by now. In spite of the colossal waste, the loss of fresh water resources, the fact that AI datacenters are the fastest growing source of carbon emissions, the people suffering sky-rocketing power bill and rolling outages near these new datacenters, the reams and reams of fascist propaganda these machines are producing to tear our society apart, the corruption, the market manipulation, the plain and simple fact that the ultimate purpose of these tools is to put their users out of a job entirely… well, once you finally get a taste of what it feels like to be great… I suppose all of those problems seem so far away.


  1. That actually happened at one of my old jobs. ↩︎

Read the whole story
brennen
18 hours ago
reply
Boulder, CO
Share this story
Delete

Sitting in cafes next to absolute pieces of shit

1 Comment

I have been developing a theory that there might be something about working with a laptop in a cafe that tends to specifically attract people who suck ass. I don't meant that everyone who works with a laptop in a coffee shop is an asshole, but that assholes in Los Angeles might be living the kinds of lives which cause them to cluster there. We have to work in cafes more frequently now because we are spending so much time driving across the city to deal with construction at our house. Maybe this has turned us into pieces of shit, too, but I think we have stiff competition.

In the last few weeks, I've sat next to a whole range of idiots and losers who insist on holding meetings where they utter loathsome shit I never want to hear again in my life. I sat next to a guy who was designing a chatbot for a web storefront. Nobody was engaging with the chatbot, so he spent half an hour in a meeting proposing, over and over again, that they "make engaging with the chatbot seem mandatory" in order to juice the participation numbers. He had to explain this to the call over and over again; I am imagining that everyone else on his team was confused, cautiously asking him why they'd want to lie to their customers about the purchase experience.

I also once sat next to two women in their 20s who were trying to become Substack stars. They spent about two hours discussing television, which seemed to be their industry - unfortunately their opinions were pretty preposterous, and I was forced to listen to them discuss the "rules" around how a character should be killed in a TV show. Their takeaway was basically that all character deaths should be handled like Game of Thrones, which did it the best. They also discussed juicing Substack engagement, which was worrying for me to hear because of the whole Nazi thing. One of them also mentioned in a quick aside that she disapproved!! of Bad Bunny's completely anodyne and sensible pre-Super Bowl statements about the Trump administration's racism. So I think I found the next generation of Nazi-sympathizing TV writers?

All anecdotal evidence, of course, for my theory of cafe shitheads. But it's possible actually that I'd hate a huge percentage of people in this city if I met them through the lens of their work. Maybe the chatbot guy is kind and pleasant to his peers and loved ones, and also simply completely willing to debase himself for a paycheck. Who knows. I've sat next to too many LLM marketing guys to count, which makes me wonder what percent of all the marketing people I've ever known have now been pressed into the service of chatbot companies. In nearly any cafe in Los Angeles I can count on finding at least one guy in his 20s sweating and fretting over the need to extract business value from a large language model. In Westwood I once sat next to a guy who was trying to incompetently and incorrectly explain LLMs to a client, growing increasingly despairing and agitated throughout the conversation. He looked like he hated his work just as much as I hated his work.

I've never felt more depressed about work itself than I have in the last year. I have friends in games and tech who've been joking that they have to, like, retvrn to the soil and do non-digital work to escape the coming rot. But I've heard enough bad stories about workers in physical industries, too, having to interact with systems of control powered by LLMs. Work seems to just be getting worse.

I'm not writing this because I'm despairing and I want you to share in my despair, though. I'm writing this as a sort of memorialization of the moment, because I am fairly confident that the things I'm seeing and hearing in Los Angeles these days are extremely temporal.

This is the 2026 vibe, but things are changing very quickly. Family members are emailing me about their plans to survive the obvious coming financial crash. Videogame hiring has stopped, but nothing viable has yet appeared to fill the void for this industry, and every publisher's 2027 slate is probably looking pretty thin. My friends are all scrambling to stay employed, but they know it's all going to resolve, one way or another, before the end of the year. The people in these cafes are trying desperately to extract value from a dying fad. Everything in politics, too, has the feel of Wiley E. Coyote's feet windmilling before they begin to fall precipitously downward. I am very, very confident that I won't feel exactly this way next year. Whatever I'll be feeling will be very, very different.

Read the whole story
brennen
19 hours ago
reply
A mood.
Boulder, CO
Share this story
Delete

Smaug the dragon from the 1977 animated film The Hobbit.

1 Share

chernobog13:

Smaug the dragon from the 1977 animated film The Hobbit.

Read the whole story
brennen
1 day ago
reply
Boulder, CO
Share this story
Delete

More in Sadness than in Anger

2 Comments and 3 Shares

Sorry I haven't updated the blog for a while: I've been busy. (Writing the final draft of a new novel entirely unconnected to anything else you've read—space opera, new setting, longest thing I've written aside from the big Merchant Princes doorsteps. Now in my agent's inbox while I make notes towards a sequel, if requested.)

Over the past few years I've been naively assuming that while we're ruled by a ruthless kleptocracy, they're not completely evil: aristocracies tend to run on self-interest and try to leave a legacy to their children, which usually means leaving enough peasants around to mow the lawn, wash the dishes, and work the fields.

But my faith in the sanity of the evil overlords has been badly shaken in the past couple of months by the steady drip of WTFery coming out of the USA in general and the Epstein Files in particular, and now there's this somewhat obscure aside, that rips the mask off entirely (Original email on DoJ website ) ...

A document released by the U.S. Department of Justice as part of the Epstein files contains a quote attributed to correspondence involving Jeffrey Epstein that references Bill Gates and a controversial question about "how do we get rid of poor people as a whole."

The passage appears in a written communication included in the DOJ document trove and reads, in part: "I've been thinking a lot about that question that you asked Bill Gates, 'how do we get rid of poor people as a whole,' and I have an answer/comment regarding that for you." The writer then asks to schedule a phone call to discuss the matter further.

As an editor of mine once observed, America is ruled by two political parties: the party of the evil billionaires, and the party of the sane (so slightly less evil) billionaires. Evil billionaires: "let's kill the poor and take all their stuff." Sane billionaires: "hang on, if we kill them all who's going to cook dinner and clean the pool?"

And this seemed plausible ... before it turned out that the CEO class as a whole believe entirely in AI (which, to be clear, is just another marketing grift in the same spirit as cryptocurrencies/blockchain, next-generation nuclear power, real estate backed credit default options, and Dutch tulip bulbs). AI is being sold on the promise of increasing workforce efficiency. And in a world which has been studiously ignoring John Maynard Keynes' 1930 prediction that by 2030 we would only need to work a 15 hour work week, they've drawn an inevitable unwelcome conclusion from this axiom: that there are too many of us. For the past 75 years they've been so focussed on optimizing for efficiency that they no longer understand that efficiency and resilience are inversely related: in order to survive collectively through an energy transition and a time of climate destabilization we need extra capacity, not "right-sized" capacity.

Raise the death rate by removing herd immunity to childhood diseases? That's entirely consistent with "kill the poor". Mass deportation of anyone with the wrong skin colour? The white supremacists will join in enthusiastically, and meanwhile: the deported can die out of sight. Turn disused data centres or amazon warehouses into concentration camps (which are notorious disease breeding grounds)? It's a no-brainer. Start lots of small overseas brushfire wars, escalating to the sort of genocide now being piloted in Gaza by Trump's ally Netanyahu (to emphasize: his strain of Judaism can only be understood as a Jewish expression of white nationalism, throwing off its polite political mask to reveal the death's head of totalitarianism underneath)? It's all part of the program.

Our rulers have gone collectively insane (over a period of decades) and they want to kill us.

The class war has turned hot. And we're all on the losing side.

Read the whole story
brennen
1 day ago
reply
Seems roughly correct.
Boulder, CO
Share this story
Delete
1 public comment
cjheinz
5 days ago
reply
Thanks Charlie for stating the obvious: we're losing.
Lexington, KY; Naples, FL

the local weather

1 Comment

Snow coming. I'm tuned into the local 24 hour slop weather stream. AI generated, narrated, up to the minute radar and forecast graphics. People popping up on the live weather map with questions "snow soon?" (They pay for the privilege.) LLM generating reply that riffs on their name. Tuned to keep the urgency up, something is always happening somewhere, scanners are pulling the police reports, live webcam description models add verisimilitude to the description of the morning commute. Weather is happening.

In the subtext, climate change is happening. Weather is a growth industry. The guy up in Kentucky coal country who put this thing together is building an empire. He started as just another local news greenscreener. Dropped out and went twitch weather stream. Hyping up tornado days and dicy snow forecasts. Nowcasting, hyper individualized, interacting with chat. Now he's automated it all. On big days when he's getting real views, the bot breaks into his live streams, gives him a break.

Only a few thousand watching this morning yet. Perfect 2026 grade slop. Details never quite right, but close enough to keep on in the background all day. Nobody expects a perfect forecast after all, and it's fed from the National Weather Center discussion too. We still fund those guys? Why bother when a bot can do it?

He knows why he's big in these states, these rural areas. Understands the target audience. Airbrushed AI aesthetics are ok with them, receive no pushback. Flying more under the radar coastally, but weather is big there and getting bigger. The local weather will come for us all.

(Not fiction FYI.)

Read the whole story
brennen
15 days ago
reply
Jesus Christ this is grim.
Boulder, CO
Share this story
Delete

Recovering Hank: America’s Anti-Fascist Hero

1 Share

A WWII veteran amputee who doesn’t want to journey (or save) the world. Just a grease monkey who yearns to get back to the garage, marry his sweetheart, and figure out what he and his pals’ great sacrifice really meant. That was Hank Hannigan, the titular, unlikely hero of the short-lived 1945 comic strip Hank, which creator Coulton Waugh conceived as an answer to traditional adventures. “To get a new character I go into the subways and actually draw them,” he told Editor and Publisher before Hank’s April launch. “I want the people of America to stream into the strip.”

Waugh knew well the familiar notes of adventure strips.  Since 1934, he had written and drawn Dickie Dare, after Milton Caniff left that strip to launch Terry and the Pirates. But Hank, was “a deliberate attempt to work in the field of social usefulness,” he said, and to incorporate an expressive design sense that he admired in the late George Herriman’s Krazy Kat. The editors at the strip’s host newspaper, New York’s populist/progressive PM, promised that “The new strip works out interpretive techniques that are as new and different in comic strips as some of those developed by Crockett Johnson in Barnaby,” which PM had launched two years before. For only eight months, Waugh succeeded in giving readers something that looked and sounded unmistakably different from the norm. Hank was packed with firsts. No comic had ever featured a character with a major physical disability. The strip included a regular Black character without whiff of minstrelsy. Its unvarnished view of combat veterans returning to civilian life also took an unabashed pluralist, progressive stand on what those soldiers fought to preserve. Despite its innovations, Hank is a forgotten strip that has been mentioned by historians more than actually seen or explored. And yet the time seems right to resuscitate a lost anti-fascist warrior.

Hank has never been reprinted, and only stray panels and strips appear online. An unevenly scanned PDF of one of Waugh’s scrapbooks does include a patchwork of clippings and syndication proofs including most of the full run. Here are the first 8 days of the strip.

Starting in the Pacific theater late in the war, we meet Corporal Hank Hannigan in battle. In the course of things, he rescues a fallen flyer (the legendary Capt. “Link” Kollwitz), shows his native genius by outsmarting a Japanese sniper and gets blown up salvaging his squad. The strip pulls few punches. At the army hospital, Hank loses the lower half of his leg and Kollwitz dies. Depressed at the prospect of life with a prosthetic leg, Hank finds inspiration in a peg legged entertainer who turned his disability into a successful act.1

Hank was at its most didactic during the inaugural months when Waugh eagerly signaled the strip’s left/populist alignment with PM’s mission. At Hank’s launch, both war fronts approached Allied victory, and Waugh frames the effort as a war for pluralist democracy. Despite casual hatred for “Jap” and “Nip” foes, Hank’s heterogeneous squad is a roll-call of ethnic names and regional roots. Their rescuer is the “well-trained Negro” grunt Jerry Green, who becomes the first recurring Black character in a non-Black newspaper comic to avoid ethnic stereotyping. Even the late Capt. Killowitz was a German emigree who embraced Allied ideals.  In sum, Waugh frames American democracy and identity are grounded in shared ideas and ideals, not ethnic or blood origins. And Hank himself emerges as a natural democrat. Even while claiming to be a grease monkey who lets “others do the thinking” Hank jerry-rigs a grenade throwing slingshot to neutralize a sniper. “That wuzn’t thinkin’. That was just my reg’ler stuff like fixin’ cars back home,” a knack for “doping things out,” he tells Kollwitz.

Hank will need that native ability to “dope things out” soon enough. The departed Killwitz left behind a diary with thoughts about how “everyone should dope things out, that fascism could even happen at home,” Hank recalls. Soon enough, a “Veterans Forward” league of nationalists tries to co-opt Hank into being their spokesman. Ultimately, Hank and a journalist pal infiltrate and expose the conspiracy as well as its racist nativism. “One day, we’ll take the Negroes and Jews and Communists and RUN ‘EM OUT!” one rally speaker barks out from a panel. Waugh was fictionalizing a storyline that PM’s own journalists reported at the time about secret connections between European fascism and American political and industrial factions.

The strip took on racism a bit more obliquely. The heroic savior of Hank’s squad, Jerry Green, returns with college ambitions. A rich landowner offers him a job as handman for his estate. When Jerry politely declines, the cigar-chomping white man grumbles, “Well, well, think of that. A perfectly good Negro wanting to ‘go to school.’ I’m afraid this war has put a lot of ideas into people’s heads.”

While Waugh lathers on the populist didacticism pretty thick in Hank’s first months, he leavens it with genuine intrigue and action. Woven into the anti-fascist conspiracy is a wonderfully drawn femme fatale who falls for Hank and a flurry of romantic missteps with girlfriend Rosalie. More impressive was the artist’s graphic experimentation. Waugh had a clean thick-lined style and use of deep shadows that seemed to channel the WPA poster art of the 1930s. He used light dabs of shadow to define face and clothing. His cityscapes were minimalist but precisely outlined, again, more by shadows than detail. Individual panels often carried a poster-like punch. His characters might speak directly to the reader with fist-pounding certainty and Soviet poster-art vibes. And Waugh loved playing with patterns – stripes, mottling, polka dots – with some eye-popping spotting around his panels. He even played with typography and speech balloons. His sculpted lower-case lettering often went white against a black balloon. Overall, he achieved an adventure strip style that stood apart from Roy Crane’s cartoony approach in Buz Sawyer, Alex Raymond’s Rip Kirby photo-realism and blotchy chiaroscuro of Caniff’s Steve Canyon.

About halfway through Hank’s short run, both Waugh’s ideological flexes and design flourishes settle down along with the storyline. A series of familiar miscommunications, missing communications and misinterpretations send Hank and Rosalie on a twisty journey towards the marriage that ends the strip at the end of December 1945. Believing mistakenly that Rosalie has fallen for a rich rival, Hank takes to sea as a tug boat mate. The ship gets swamped; Hank jumps overboard to save his unconscious Captain; then he himself gets saved from the storm, leading to a romantic reunion and Hank and Rosalie’s hometown marriage in Trueburg, N.J. (Yes, Trueburg). The sequence allows Waugh to exercise an uncharacteristic but beautiful naturalism in rendering the storm. Waugh’s father was a noted marine artist.

Waugh closed the strip at the end of 1945 with Hanks’s marriage and settling into a new home. For a strip that began so self-consciously contrary to comic convention, the ending was remarkably prescient of the domestication about to overwhelm adventure comics after the war. Waugh withdrew Hank, reportedly because of eyestrain, and he seems to have intended to wrap his story neatly in a bow. But for all of its novelty, the Hank strip did not have a clear path forward. Waugh was not a strong storyteller. None of his characters are engaging or well differentiated. The dialogue is hackneyed, the politics two-dimensional. The art, however, could be quite striking.

Hank was an interesting experiment both in design and messaging that recalls a moment of “Popular Front” coalition that may be relevant today. Its politics, and even its aesthetics, extended a partnership among the radical left and liberalism against the common enemy of fascism in the late 1930s. While often intellectual in leadership and tone, the Popular Front tried to appeal to working class Americans in its support of Roosevelt’s New Deal programs. Stylistically, it is often embodied by the art of WPA posters and regionalist painting that celebrated labor, the wisdom of the common man, ethnic diversity and abstract appeals to a collective democratic identity.

The PM newspaper, founded by TIME editor Robert Ingersoll in 1940, worked in that spirit until closing in 1948. It rejected the advertising model to remain independent of corporate interests, although its beneficiaries included Marshall Fields III and others. PM took a strong anti-fascist line, opposed Jim Crow measures like Poll Taxes, and was often accused by the right of being a “Communist front.” PM called itself a “picture magazine” and featured hundreds of editorial cartoons by Dr. Seuss as well as photography by Weegee and Margaret Bourke White. Ernest Hemingway, Dashiell Hammet and Dorothy Parker were among many contributors. And, of course, it was also the original home of Crockett Johnson’s Barnaby. Coulton Waugh’s Hank fit right in. The strip embodied an enduring left/liberal idealism about finding in the American common man a native democratic impulse that can be married to more highbrow social justice ideologies. At the same time, Waugh and others in this Popular Front were looking for artistic styles that infused those ideals in everyday popular culture.  

  1. As the panel suggests, the amputee entertainer was based on a Broadway headliner, Peg Leg Bates. The son of a sharecropper, Bates lost his leg in his adolescence from a cotton gin accident. He turned the handicap into feature act. Waugh’s panels depict the reported climax of Bates’ routine – a flying leap that lands and then spins upon his reinforced peg leg. ↩




Read the whole story
brennen
42 days ago
reply
Boulder, CO
Share this story
Delete
Next Page of Stories