Today, let's talk about microtest TDD's Judgment Premise: "We are absolutely and permanently reliant on individual humans using their individual judgment in TDD."

Folks, in these times, I gain respite in thinking & writing about geekery, and I hope you do, too. But there are more important stories, and this is just a break.

Stay safe. Stay strong. Stay angry. Stay kind.

Black lives matter.

Voting rights do, too.
The judgment premise emphasizes the human in test-driven development. There are no known non-humans practicing TDD, so it may seem a odd that we have to talk about this, and yet, we do.
As software geeks, we work with the most rigid deterministic systems conceivable, and we do much of that work in abstract mental space. To say that our target systems are machine-like is to say too little, really: they're more machine-like than any real-world machine.
The uber-mechanical material of our job can lead us to seeing *every* aspect of the job as if it were the same as that material, a phenomenon the French call "deformation professionelle". Put simply: working with uber-machines all day, we imagine uber-machines everywhere.
There have been and continue to be many many efforts to depict TDD as a kind of "machine for programming", an algorithm that runs deterministically and thereby makes software.
The ubiquitous TDD flow-charts are an example of this, and there are lots of others, too. (I'm not being mean here, btw, hell, I've made some of those flow-charts myself.)
But the little decision-diamonds on those flow charts, even the most seemingly accurate ones, don't begin to express the range and inherent complexity of human decision-making involved in successful TDD.
There are a fair number of Old Guard TDD'ers out there who write or talk or video their actual working process. When you see one of these folks at work, you start to notice: whatever they're doing it's not a mechanizable algorithm.
In my own Real Programming series, still in its early days, we're about five hours into building a rather simple desktop yahtzee game. And the range and reach of the judgment calls I've *already* made are just enormous.
I have decided -- hunch, experience, intuition, guesswork -- what to test. I have decided whether to test things I do test the hard way or the easy way. I have decided to create things just for testing. I have decided more or less arbitrarily when I have enough tests to proceed.
All this judgment-calling, and we're barely one full workday into coding, and it's a ridiculously tiny, simple, and useless application.

Compare that to the apps most of us work on, and magnify my judgment-quantity by many many orders of magnitude.
A for instance: one of our goals in writing tests at all is to gain confidence that our system works. But some of the greatest minds of the late 19th & early 20th c established beyond refutation that perfect confidence is not possible even in theory, let alone in practice.
We are left, then, to make judgments about how much confidence we need, where that need is most critical to us, how to best go about filling that need. And the judgments ripple out from there, all up and down and in and out of our software development process.
And every one of those judgments we make is non-computable. They are usually unparsed and unparseable mixtures of experience, insight, experiment, and intuition: all the stuff human minds do.
TDD'ers say "red-green-refactor" not to imply a judgment-less deterministic algorithm for rolling code, but to describe a broad schema -- a large-scale recurring pattern -- that can be seen in successfully rolling code using TDD.
That red-green-refactor leaves out a *lot*, and we know that, and we're okay with it. It still has value to us, for all that it's not describing a machine-like process.
The biggest things it leaves out? 1) Whether any given portion of our code will pay us back for TDD'ing it into existence, 2) How much advance work we do before writing a test, and 3) When have we achieved enough confidence to proceed.
All three of those decisions are incredibly nuanced, delicate, subtle judgment calls, and if we don't make them well, every day all the time, TDD just isn't going to function.
So. Here we are.

In TDD, we are permanently, inevitably, irremediably, and absolutely, dependent on individual humans using their individual human judgment.

And one more: "happily".

TDD is a human enterprise, not a mechanical one, and the Judgment Premise makes that explicit.
Thanks for hanging in. If you like my work, please subscribe. It's free, spam-free, comes in full text or audio, and it helps me.
https://t.co/0iffwG5jrd

And change things, in the trade and out.

We can fix this. We're the only thing that can.

Black lives matter.

More from Society

Tomorrow, January 6th, MAGA chuds, Proud Boys, and white supremacists are planned to descend on Washington D.C. to contest the election. Among them will be NSC-131, a New England based neo-Nazi organization. Let's welcome them by saying hi to one of their members, Eddie Stuart!


Edward Stuart, from Chester, New Hampshire, has been a member of Nationalist Social Club (NSC) since the very beginning and is a staple participant in their actions. He is known in NSC chats as "Carl Jung" and is well connected in the New England Nazi scene.
2/


NSC-131 is a neo-Nazi group that was started in Massachusetts in early 2020 by Chris Hood. You can learn more about NSC and it's members in these threads:


Eddie describes his ideology as "Esoteric Hitlerism" which is an occult form of Nazism that literally worships Adolf Hitler as a god, or, specifically, as an incarnation of the Hindu God Vishnu. Here is Ed holding the RigVeda with some of his occult Nazi pals. Interesting Ed!
4/


Much of this ideological insight was gained from Eddie's Twitter, where he originally used his "Carl Jung" persona and reposts explicit neo-fascist content and racist memes. In one edited picture, Eddie can be seen at an NSC event in late June 2020 holding a Nazi Sonnenrad flag
5
Brief thread to debunk the repeated claims we hear about transmission not happening 'within school walls', infection in school children being 'a reflection of infection from the community', and 'primary school children less likely to get infected and contribute to transmission'.

I've heard a lot of scientists claim these three - including most recently the chief advisor to the CDC, where the claim that most transmission doesn't happen within the walls of schools. There is strong evidence to rebut this claim. Let's look at


Let's look at the trends of infection in different age groups in England first- as reported by the ONS. Being a random survey of infection in the community, this doesn't suffer from the biases of symptom-based testing, particularly important in children who are often asymptomatic

A few things to note:
1. The infection rates among primary & secondary school children closely follow school openings, closures & levels of attendance. E.g. We see a dip in infections following Oct half-term, followed by a rise after school reopening.


We see steep drops in both primary & secondary school groups after end of term (18th December), but these drops plateau out in primary school children, where attendance has been >20% after re-opening in January (by contrast with 2ndary schools where this is ~5%).

You May Also Like

🌿𝑻𝒉𝒆 𝒔𝒕𝒐𝒓𝒚 𝒐𝒇 𝒂 𝑺𝒕𝒂𝒓 : 𝑫𝒉𝒓𝒖𝒗𝒂 & 𝑽𝒊𝒔𝒉𝒏𝒖

Once upon a time there was a Raja named Uttānapāda born of Svayambhuva Manu,1st man on earth.He had 2 beautiful wives - Suniti & Suruchi & two sons were born of them Dhruva & Uttama respectively.
#talesofkrishna https://t.co/E85MTPkF9W


Now Suniti was the daughter of a tribal chief while Suruchi was the daughter of a rich king. Hence Suruchi was always favored the most by Raja while Suniti was ignored. But while Suniti was gentle & kind hearted by nature Suruchi was venomous inside.
#KrishnaLeela


The story is of a time when ideally the eldest son of the king becomes the heir to the throne. Hence the sinhasan of the Raja belonged to Dhruva.This is why Suruchi who was the 2nd wife nourished poison in her heart for Dhruva as she knew her son will never get the throne.


One day when Dhruva was just 5 years old he went on to sit on his father's lap. Suruchi, the jealous queen, got enraged and shoved him away from Raja as she never wanted Raja to shower Dhruva with his fatherly affection.


Dhruva protested questioning his step mother "why can't i sit on my own father's lap?" A furious Suruchi berated him saying "only God can allow him that privilege. Go ask him"
I’m torn on how to approach the idea of luck. I’m the first to admit that I am one of the luckiest people on the planet. To be born into a prosperous American family in 1960 with smart parents is to start life on third base. The odds against my very existence are astronomical.


I’ve always felt that the luckiest people I know had a talent for recognizing circumstances, not of their own making, that were conducive to a favorable outcome and their ability to quickly take advantage of them.

In other words, dumb luck was just that, it required no awareness on the person’s part, whereas “smart” luck involved awareness followed by action before the circumstances changed.

So, was I “lucky” to be born when I was—nothing I had any control over—and that I came of age just as huge databases and computers were advancing to the point where I could use those tools to write “What Works on Wall Street?” Absolutely.

Was I lucky to start my stock market investments near the peak of interest rates which allowed me to spend the majority of my adult life in a falling rate environment? Yup.