The right tool here is tests at a level higher than machine code instructions that have been in CPUs since the 70s. Maybe TDD practice is not to test at this level, but every example of TDD sure tends to be something similar!
The right tool here is tests at a level higher than machine code instructions that have been in CPUs since the 70s. Maybe TDD practice is not to test at this level, but every example of TDD sure tends to be something similar!
Either way gets me to a passing test, but I prefer the latter because it enables me to write another failing test.
But you could just write that failing test up front. TDD encourages you to pretend to know less than you do (you know that testing evenness requires more than one test, and you know the implementation requires more than some if-statements), but no-one has ever made a convincing argument to me that you get anything out of this pretence.
Tests should make changing your system easier and safer, if they don’t it is typically a sign things are being tested at the wrong level
TDD is about writing (a lot of) unit tests, which are at a low-level. Because they are a low-level design-tool, they test the low-level design. Any non-trivial change affects the low-level design of a component, because changes tend to affect code at a certain level and most of those below it to some degree.
When faced with a failing test, you make it pass as simply as possible, and then you summon all your computer science / programming experience to refactor the code into something more elegant and maintainable.
Why bother making it pass “as simply as possible” instead of summoning all that experience to write something that don’t know is stupid?
TDD doesn’t promise to drive the final implementation at the unit level
What exactly does it drive, then? Apart from writing more test code than application code, with attendant burdens when refactoring or making other changes.
I don’t want unseeded randomness in my tests, ever.
Seed the tests, and making these pass would be trivial.
As the existing reply stated, there are only ever finitely many tests.
My issue with TDD is that it pretends to drive the final implementation with tests, but what is really driving the implementation is the monkey at the keyboard thinking, “testing for evenness should be done with the modulo operation,” not exhaustive tests.
This is what Test Driven Development looks like
I don’t understand how regex comes into it? Sounds tricky though!
I asked an LLM to write a jq
scriptlet for me today. It wasn’t even complicated, it just beat working it out/trying to craft the write string to search Stackoverflow for.
I’m new to car ownership and I wrestled my bike into the back of my low-roofed saloon car to cycle back. I didn’t really buy the car with cycling in mind but it beat paying them £25 for a courtesy car (I expected not to have to pay for that is this was to fix a recall issue)
We have gone from cruise control to cars being able to drive themselves quite well in about a decade. The last percentage points of reliability are of course the hardest, but that’s a tremendously pessimistic take.
Just pattern recognition it is not the neural net everyone assumes it is.
Tesla’s current iteration of self-driving is based on neural networks. Certainly the computer vision is; there’s no other way we have of doing computer vision that works at all well and, according to this article from last year it’s true for the decision-making too.
Of course, the whole task of self-driving is “pattern recognition”; neural networks are just one way of achieving that.
Thanks yourself, I have a similar view of your position :)
I am undecided on collectivism versus individualism, and have been conflicted since a young age. As I get older I suspect both can produce good societies and bad societies and that, while I actually tend towards collectivism being the ultimate ideal, I don’t see inconsistent approaches as being particularly viable, which is where current western collectivist politics tends to sit - there’s no point, for example, in introducing rent controls. Either collectivise housing completely or work within the system to improve housing provision. Ultimately I think there are small advantages of (well-regulated) privatised housing (better choice), and small advantages in (well-managed) nationalised housing that are more significant, and that since the differences are fairly small, it’s not worth trying to push through a poorly managed middle-zone in the hope of achieving the ideal when that looks unlikely.
This was a digression but it was easy to explain and is similar to my thinking on other things…
It leads to fascist takeover of democracy.
But you need evidence, or a strong argument, to determine cause and effect here. Sure, there’s a scenario you can imagine in which intolerant views are shared, proliferated, spread among the population, gain support, gain votes, gain power. But there are many liberal democracies in the world, and most are still holding onto their liberal democratic principles. The USA is heading for fascism, which is certainly terrifying, but what about the UK? What about France? All the other countries? Even the far right in these countries is forced to be circumspect in their intolerance due to public opinion, and their probes in the direction of fascist rhetoric and policy are weak at worst.
And if you want to couch this as a “paradox” then you end up with the “paradox of democracy” (it’s possible for people to vote for the removal of democracy). What you’re saying is not that we need to resist fascism because fascists are violent and a risk to people’s lives, but that we should resist fascism because they might be too convincing and get people to vote for them - and hence arguing that we should be less democratic in order to prevent their gaining power. So maybe you do think that’s a paradox. But in practice the way democracies solve this is by banning parties which are a threat to democracy and by having a high bar to do so because otherwise that will be wielded against all sorts. It would certainly be wielded against people who “oppose capitalism” (this we know from history).
Once again, we find that there’s a route through the “paradox” which neither capitulates entirely to fascists, nor capitulates entirely to the anti-democratic, illiberal tendencies of their most extreme opponents.
There are laws that try to prevent this, but those laws are weak and the legislature is captured.
And so we get to what I said originally: the “solution” to the so-called paradox is to have strong laws, for example a hard-to-modify constitution, which guarantee people’s rights. The formulation doesn’t have to be explicitly legal in nature to have a legal solution.
It’s considered a paradox because by tolerating intolerance you allow intolerance to occur. And by being intolerant of intolerance you are allowing intolerance to occur.
If your principles of tolerance are, “everyone should be allowed to express their identity, religion and opinions peacefully and calmly, as long as their views do not call for violence” then that allows people to express their view that a certain race is inferior. But it does not result in the end of tolerance (as this popular but wrong summary express).
It’s only a paradox if you can only think of tolerance as being absolute, where any level of restriction on what people are allowed to do or express is “intolerant”.
Individual freedoms do sometimes need to be limited, for example “freedom” to oppress or “freedom” to deny hiring certain races.
But these “freedoms” are not freedoms any liberal or advocate of tolerance means by “freedoms.”
I’d go further than saying this is “the nuance”; this is the whole thing. Mentioning the paradox doesn’t give any guidance in what to do; just directly saying “we shouldn’t allow people to display swastikas” or " we should allow people to call for the assassination of presidential candidates" will result in a useful discussion.
There’s a debate to be had about the extent to which society should pre-emptively resist fascism, be that extra-judicially or within the law. But there is simply no paradox.
Calling it a paradox implies that there’s some contradiction between being tolerant in the sense of freedom of religion and expression - allowing people to peacefully exist whatever their background or identity - and the necessity (in order to main those freedoms) of resisting fascism. There isn’t; there is no fundamental reason why you need to restrict individual freedoms in order to prevent fascism.
It would be much more productive if, instead of using the “paradox of tolerance” as a bit of a thought-terminating cliche, people declared what kind of actions they thought were justified and why. Is violent rhetoric which, for example, calls for the death of Trump justified? I have no idea if you think it is because you switched from the specific to the general so quickly. There’s such a vast breadth of actions which people allude to when talking about the so-called paradox that some are bound to find broad appeal while some are bound to be extremist fringe stuff.
Thanks for taking the time to discuss.
I got a chef’s knife as a gift. I was a bit put out that came from Wilko (a very budget brand) and it turned out to be absolutely excellent. I think it won’t have cost any more than £20. I am astounded that anyone apart from professionals pays more than £100 for a knife, never mind the even more insane prices you can pay
I have come to like more pop music over time too. What I found though is that I don’t tend to attach much to music unless it has something unique to it, so have found myself going for bands like Pixie Paris which is very poppy but still a bit different.
Ew