This is the first time I've read an AI-heavy piece and stayed engaged with it all the way through. I think the author's sharing the prompts was key to that experience.
Writing unit tests is futile exercise without a specification.
The software under test is always modeling something -- business logic, a communications protocol, a control algorithm, a standard, etc. Behind each of those things is a specification. If a specification doesn't exist then the software is called a prototype. For sustained long term incremental development a specification must exist.
The purpose of unit tests is to assert specification-defined invariants at the module interface level.
Unit tests are durable iff the specification they uphold is explicit and accessible to developers and the scope of the test is small. It's futile to write good tests for a module which has ambiguous utility.
priors: I worked in embedded SW and am now a PhD student.
I found the linked article to be difficult to follow. Vacliv Smil wrote a book called Energy and Civilization (2017) in which he argues that the ability to harness energy is what makes civilizations thrive and enables the production of culture.
Start with the question: what is the problem that you want to solve? Next, find codebases that solve that problem and study how they do it.
Good design is so deeply tied to the domain details. Wonham's Internal Model Principle applies to code.
Example: I wanted to solve the problem of unit testing for embedded targets. I found open source projects that do this and read the code critically to see how and why it is written. As I build my own approach, I revisit theirs to learn more as my understanding of the domain deepens.
This is a wonderfully concise description of why software testing, especially GUI testing is cursed by dimensionality.
Type checking, borrow checking, invariants, hell even MISRA rules are all constraints imposed to reduce unmanaged state in programs. I like them for software reliability because they can help keep the complexity demon locked in the crystal.
I've had a couple of experiences in the past month where I do respond to the enthusiastic sales engineer's check-in with a genuine product question, only to receive an immediate, lengthy, and subtly wrong LLM generated response. It feels gross.
> By all appearances, it just seems like an absolute no brainer....I really dont get it
I understand the policy around hydrogen (Bipartisan Infrastructure Law allocated $8 billion to hydrogen production) as a technological pivot for the United States which leads the world in oil and gas extraction and logistics tech. The US has a lot of gas handling experience.
Optimistically, green hydrogen will diversify the energy supply, bringing "energy resilience", a key policy buzzphrase. Batteries and pumped hydro are undeniably superior in round trip efficiency, but hydrogen does have some desirable properties such as relative ease of overland transport, very long term storage, and being a chemical precursor for some industrial processes.
Pessimistically, green hydrogen is a way for oil and gas companies to siphon many taxpayer dollars while doing superficial work similar to the compliance EVs of the 90s and 00s.
I'm optimistic mainly because my PhD in electrical engineering is being funded partly with the green hydrogen taxpayer dollars. Shout-out to my fellow taxpayers and my advisor's grant writing skills! I'm working on power electronics which are fundamental in renewable energy and by extension green hydrogen electrolysis.
The core value proposition of GitHub, GitLab, etc is to provide a nice GUI atop git. That's huge. I think that user-studies to improve one of the many existing foss git GUIs would be much better use of brain than deprecating git checkout.
> Remember than when the AIDS epidemic broke out. The doctors and labs didn’t help much. People took things in their own hands and tried stuff, and in the end, they found things that worked.
What? how did people take things into their own hands?
Hydrogen electrolyzers perhaps makes sense as a backup load: something that can be turned on when there's too much electricity production (as is increasingly the case in renewable-heavy grids). But then what to do with the hydrogen?