The book Accelerate - Building and Scaling High Performing Technology Organizations by Nicole Forsgren et al. is an eye opener and game changer for everyone involved in software development. Nicole provides empirical evidence why teams that apply best practices like
In my recent post Benefits of a Relocatable Qt, I explained how to relocate Qt from a build server to a developer PC and from the PC to an embedded system. Qt is installed in three different locations. My solution
Bob builds Qt for the development team on a fast compute server. He packs Qt into a tarball and hands the tarball to his teammates. Alice installs the Qt tarball on her PC in a directory that differs from the
From Qt 5.15, The Qt Company make their offering a bit more inconvenient for FOSS users. They announced three changes:
* A Qt account is mandatory to download binary Qt packages. The offline installer is not available to FOSS users
Two years ago, I spent three days to figure out why the driver terminal of a sugar beet harvester crashed (see my original post). The crash happened after going through the same six-step interaction at least four times. The reason
In the early days of controller area networks (CAN), every device manufacturer interpreted CAN frames in its own proprietary way. When you changed the engine of a harvester from Volvo to MAN, you would have to reimplement the communication with
The little known KDE Free Qt Foundation makes sure that Qt stays free and open-source. It guarantees that all Qt modules currently licensed under LGPLv3 must continue to be available under LGPLv3 in the future. This covers all modules from
Overdraw happens when one QML item fully eclipses another QML item. The QML renderer always draws both items, although there is no need to draw the eclipsed item. You must help out the renderer by explicitly setting visible: false on
The screenshot above shows the home screen of a sugar beet harvester. The home screen receives roughly 50 CAN messages per second and displays the contents of the CAN messages numerically or graphically.
Every number on the home screen is
The mathematician Leopold Kronecker is believed to have said:
God made the integers, all else is the work of man.
And Kronecker didn't even know the floating-point numbers "made" for computers. Comparing two numbers of type
Today, I looked at the data-driven unit tests I had written nearly four weeks ago. It took me a couple of minutes to understand the tests again. Understanding my own tests should have been much easier.
Data-driven unit tests in
When you write unit tests, you will have to compare the actual value and the expected value. A simplified example with QStrings would look like this.
void MyTest::testQCompare() {
auto actualStr = QString{"abba"};
auto expectedStr = QString{"juhu&