His article "On the cruelty of really teaching computing science" (https://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD103...) really resonated with me in the past, albeit it might be enforcing the assessment of the parent post regarding his more elitist approach to software development. He says:
> A number of these phenomena have been bundled under the name "Software Engineering". As economics is known as "The Miserable Science", software engineering should be known as "The Doomed Discipline", doomed because it cannot even approach its goal since its goal is self-contradictory. Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter "How to program if you cannot.".
Also same experience here. I can write UART code with DMA in 20 lines of code on an STM32 microcontroller. Same functionality using HAL is astonishingly cumbersome. The reference manual and willingness to read it is all you need.
I find that encapsulation of devices (UART, I2C, etc.) as classes in C++ rather than global functions that take structs, etc. as input arguments in C to be much more manageable. Same for device drivers for individual sensor ICs.
Maybe, but I'd argue that this is a matter of taste, and what does it actually do for you?
In practice: Is it worth wrapping all your vendor-provided hardware abstraction in classes that you write yourself? Designing something like that to be "complete" (i.e. allow full access to all hardware functionality like IRQ/DMA setup) and to still stay hardware-independent is often borderline impossible anyway, and any attempt is invariably going to make your codebase more difficult to understand.
> So the solution here is straightforward: every government grant should ...
People who write such sentences have no idea what they are talking about or are being intentionally naive for whatever reason.
Just because your one-sentence solution reads simple doesn't make the actual solution simple. Because such a solution involves changes to laws, changes to entrenched interests, changes to distribution of money involved in the whole system, and changes to balance of powers between stakeholders. Unless the push for such changes is significant enough to overcome the current state of affairs (due to public opinion, redistribution of power or money, etc.), nothing will happen.
A solution to a problem that doesn't change the current state of affairs, which by your definition makes it a simple solution, is not an actual solution.
There are plenty of simple solutions to real problems whose only blocker is upsetting the status quo. "We have no housing...let's build more housing" is, in fact, a very simple solution. That it doesn't happen has nothing to do with it the solution itself.
This comment seems to confuse _straightforward_ with _easy_. On the merits, this proposal is well argued and has good points, and his solution—essentially extend the Biden approach with more strict requirements—makes sense.
Everything you mention will also have to happen, which means that doing this will definitely not be _easy_. That said, it is still a very _straightforward_ solution.
So maybe consider that when you give up on obvious things that are good based on some conspiracy theory that the "man" is trying to keep you down, what you're actually doing is being part of the system and endorsing it. Changes like this do happen, they just happen despite you.
Why would you claim that my statement is defeatist? It is just acknowledging the reality of how things work nowadays without saying anything about giving up. If anything, it cautions people that change will not come easily and to be prepared for it. I vote, give money to political/public causes, to go meetings of my federal representatives, post my opinions on HN, ... I am just being more realistic about my expectations.
You sound like my parents. As I get older, I drift less into this mentality, and more into "I am tired of this defeatist bullshit, and accepting corruption and stagnation". I'm going to leave the world a better place, and never give in to this. I will vote for and donate to candidates who also want to fight, and run myself.
> I will vote for and donate to candidates who also want to fight ...
Fight for what? I bet to change one or more of the things that I have mentioned above. I have said "nothing will change" unless these things change; I didn't say you/we shouldn't do anything.
Even on a specific STM microcontroller (STM32G031), the LLM tools invent non-existent registers and then apologize when I point it out. And conversely, they write code for an entire algorithm (CRC, for example) when hardware support already exists on the chip.
The entire control systems theory is basically various applications of linear algebra. Like Kalman Filter that got us to the moon. Simply amazing.
reply