When would I approve a large pull request made by a magic genie?
Written by Grigory Rechistov in Uncategorized on 31.03.2026. Tags: testing, mutation testing, llm,
Preword
Recently I was asked to review a …
Recently I was asked to review a …
There is a good rule of designing functions (and class methods, which are a variant of functions): a function should do one thing only, and do it well.
A corollary of it is another tactical design rule: a function should have as few arguments as possible. Three is the absolute …
For every measurement, there is at most one (i.e., sometimes there are zero) way to carry it out correctly, and innumerable ways to do it wrong.
I want to share a few pitfalls that I fell into (and probably will do it again in the future) while working on …
Finite state machine (FSM) is both a strict theoretical concept and a practically useful mechanism to build and reason about certain kinds of software. Unit tests is a category of tests that focuses on having the minimum of dependencies when making verifiable assertions about production software’s behavior. Neither is …
Open-Closed Principle (OCP) is one of the SOLID principles. Code should be open to extension …
Let’s see if I can express those patterns found in the GoF book, meant for object-oriented languages …
“What/who tests the tests?” This question arises at some point while learning Test-Driven Development (TDD). If every piece of production code ends up tested in the TDD process by construction, does the same apply to the code of the produced tests themselves?
It’s time to go meta.
Before we talk about how a test case could end, let’s recall its canonical structure. It is needed because we will refer to events that can happen in test’s …
The following is quoted from Wilbert McKeachie, McKeachie’s Teaching Tips, an older edition from the 1990-s.
Teachers’ manuals that are provided for many textbooks contain multiple-choice items. You will not be able to rely on a manual as the source of all your questions, because it often will not …
https://www.byggmax.se/verktygstavla-tellbe-p705228#1250=89042
https://www.clasohlson.com/se/Knipex-tangnyckel-250-mm/p/41-1789
https://www.amazon.se/T%C3%A5ngnyckel-skruvnyckel-flerkomponents%C3%B6verdrag-250-86/dp/B01H73UPXE
Början: del 1.
Forumtråden: https://happyride.se/forum/threads/restaureringsprojekt-magura-durin-md100-race.3702162/.
Hade lite tid att ta isär luftkammaren och ta en bild. Elastomererna är helt tillplattade och smulas:

Om man jämför mot en bild funnen i service-PDF:en ser man skillnaden på nya brickor:

De nya verkar vara …
Forumtråden: https://happyride.se/forum/threads/restaureringsprojekt-magura-durin-md100-race.3702162/.
Jag har fått den Magura Durin MD100 Race som en del av en barncykel.

TL;DR: there is a difference between “is proven” and “could not be disproven”.
Let’s say you have a hypothesis A. How do you test it? By doing a set of experiments E₁, E₂, E₃, etc., observing their outcomes and comparing them against predictions made by A.
How do …
Do you write your tests after corresponding production code has been written? Do you run your new test, see it pass, consider the job done and then move on onto the next task?
Here is a thought experiment for you. I hope it will illustrate a problem with this approach …
I came to realisation that certain design principles originally formulated within object-oriented programming (OOP) are applicable to a wider range of programming concepts. Inheritance is one of them.
Bureaucracy has good (wut?) and bad sides.
The good intentions behind of formalizing an activity into a documented process is to reduce variation, reduce possibility for corruption and thus improve scaling. While all good things, there is a price to consider.
Automation has lower flexibility than humans have when it …
Many x86 instructions from AVX512 and AVX10 families (encoded with EVEX prefix) allow specifying “suppress all exceptions” (SAE) flag in instruction’s opcode (EVEX.b field). While the intention of avoiding throwing exceptions on certain floating point inputs is clear, it is …
There are patterns in why and how tests fail and pass, and what corrective actions should and should not be applied by developers in response to that. Here are some do’s and don’t s for different good and bad situations.
We have a …
A more detailed example of how a Null Object mentioned in my previous post could be used for good in a more down to earth example.
As before, clearly defining what a “null” behavior in all your specific cases should be is the key towards successfully defining good behavior for …
Inspired by Sandi Metz’s video about the Null Object pattern and related things.
This is a continuation of my thoughts about how the ideas of object oriented programming (OOP) have changed over my time.
I am comparing the OOP applications and ideas that I was taught early in my life against my relative recent “discoveries”. These differences are reflected in the designs of …
This is very likely not a new idea. I most probably have seen it somewhere but have since forgotten where. Now I feel as it was my own idea. I wanted to share it.
Any non-trivial software application has a structure with many units of behavior interacting with each other …
As my friend Jacob Gabrielson once put it, advocating Object-Oriented Programming is like advocating Pants-Oriented Clothing. // Steve Yegge
I was taught the Objected Oriented Programming (hereinafter “OOP”) long ago. Looking back now, it turned out that it maybe caused more harm than it was useful to my software design skills …