Meanwhile: after the EU budget talk all representatives of the dictatorship boasted that they could avoid the provision which ties the budget to rule of law.
Basically they were proud that they won't have to be lawful.
There is another interpretation floating around: the deal language is reported to be very vague, and apparently, the only thing agreed is that the EU will soon decide on the case against Poland (which would act as "prior" for the Hungarian case, in general.)
Clearly, Poland and Hungary have bought some time during the negotiations. But once the budget and recovery plan are formally approved, I would not be surprised if there were... suprises on this front.
Still. The EU has no armed forced or obvious legal levy to condemn a democratically elected government of a sovereign state to... respect democracy.
I suspect it's not going to last forever, but that's the sad state at the moment.
"democratically elected"??? It is not true. They oppress opposition and lie to people. They did not need to cheat in the day of election, as they cheated before. Gerrymandering, fining parties to death, buying people in other parties, making mainstream media unreachable for opposition, changing laws to make sure no one can outvote them, and this could be continued through pages. They have stolen a huge part of the previous EU budget, in plainly criminal ways. Why did the EU gave them more money with a licence to steal?
If you write your code properly, you will have tests which break on every library incompatibility, and a tiny wrapper around your libraries. (If you do TDD properly, you will have it.) And that's all you need to keep your code up to date. When upgrading a library, you will of course build and test your code with it, and that will show you any problems, which you can fix in the library interface layer before having any chance to go to production.
If you write your code properly, you will have tests which break on every library incompatibility, and a tiny wrapper around your libraries. (If you do TDD properly, you will have it.)
In general, I'm not sure it's possible for all of these things to be true.
Many libraries are useful because of their side effects. Depending on what those side effects are, it may simply not be possible to integration test your entire system in a way that would satisfy all of the above claims.
The alternatives tend to involve replacing the parts of the code that cause real side effects with some sort of simulation. However, you're then no longer fully testing the real code that will be doing the job in production. If anything about your simulation is inaccurate, your tests may just give you a false sense of confidence.
All of this assumes you can sensibly write unit tests for whatever the library does anyway. This also is far from guaranteed. For example, what if the purpose of the library is to perform some complicated calculation, and you do not know in advance how to construct a reasonably representative set of inputs to use in a test suite or what the corresponding correct outputs would be?
Very useful, thank you. But...
Sidetracked by refactoring and testing? C'mon...
The rules of profession for programmers include the rules of TDD.
If you do TDD correctly, you cannot be sidetracked by those, because this is your main job. Production code is mostly written by the IDE, by pressing Ctrl-1.
Okay, so what would you call someone who delivers half of the functionality they're asked to deliver, but has instead created a very robust test suite?
I'd call them an underperformer. At some point it no longer is your job to reframe a discussion, it's your job to write code.
One tends not to make money off a reframed discussion, and besides, programmers often have a very poor view into the rest of the business, so a programmer taking it upon themselves to decide how the business should be run is a programmer who will find themselves without a job after a short while.
I think I was unclear. I was not referring to a hypothetical developer. I was characterizing your caricature as that reframing of the discussion because the way you're approaching this verges on disingenuity.
Ah yes, taking a comment not about you and making it about you. This feels like a productive way to handle online conversations. I'm sure you're going to be a productive person to engage with...
If programmers keep wanting to make bad business decisions, maybe it would be better to teach them the rest of the business and turn them into engineers and tech leads.
Someone's got to actually implement the design, and if they're doing that well and at speed, they don't usually have time to absorb the full context of why, and that's okay.
Everyone has a role, not everyone needs to make strategy calls.
Sure, but it's easier to stay motivated and effectice in whatever role you have when you have enough context. And some roles are too small for some people as they develop in their careers.
I totally agree, however there are only 8 hours in a work day, and programmers need to understand that their 8 hours have to be focused on producing code, not on understanding the business, if the choice ever does come up (and it ought to).
Pretending like every single employee needs to have a complete view of the entire business is absurd, I hope that's not what you're suggesting.
The trabi is a car specifically designed with a set of constraints:
- to be cheap
- to be easy to manufacture with no need of low tolerance parts
- to be easy to repair without much equipment
Those design goals were met perfectly. And the 2 stroke motor line designed by eastern german engineers for MZ bikes and Trabi is actually an engineering miracle of the time.
The compression is partly achieved by the sound wave reflected by the exhaust.
> The compression is partly achieved by the sound wave reflected by the exhaust.
It's more a "backflow" than "sound wave", but yes, it's there. It's been standard in two-stroke engines for much longer than Trabi. And it's an invention from the national-socialist era.
Basically they were proud that they won't have to be lawful.
And the EU just let them.