We change the code of our Qt application in QtCreator and press the Run button to try the changes on an embedded device. QtCreator cross-compiles the application, deploys it to the device and runs it on the device. QtCreator performs these steps in a breeze, because we spent quite some time to define a...
Burkhard on Qt Embedded Systems: No. 11
The October issue of my newsletter went out to 242 people. Please sign up here, if you want to enjoy the full contents. The last three episodes are complimentary for your sign-up. Here is the table of contents of Episode 11 (October 2020). My Blog Posts Book Review: “A Philosophy of Software Design” by John...
Book Review: “A Philosophy of Software Design” by John Ousterhout
“Complexity is anything related to the structure of a software system that makes it hard to understand and modify the system.” John Ousterhout, The Philosophy of Software Design, Chapter 2 Complexity is also known as technical debt, which quickly grows into technical inflation. Strategic programmers understand that they must do everything to make progams...
Burkhard on Qt Embedded Systems: No. 10
The September issue of my newsletter went out to 219 people. Please sign up here, if you want to enjoy the full contents. The last three episodes are complimentary for your sign-up. Here is the table of contents of Episode 10 (September 2020). My Blog Posts Breaking Dependency Cycles in Qt Applications. My Thoughts on...
Breaking Dependency Cycles in Qt Applications
A fairly common anti-pattern found in Qt applications is to derive a class MyApplication from QApplication and to have it hand out pointers to a dozen or more major components of the application. Similar to Qt’s qApp macro, these applications introduce a macro myApp pointing to the single MyApplication object. The global variable myApp...
Burkhard on Qt Embedded Systems: No. 9
The August episode of my newsletter went out to over 190 people. Please sign up here, if you want to enjoy the full contents. The last three episodes are complimentary for your sign-up. Here is the table of contents of Episode 9 (August 2020). My Thoughts on Leveraging Usage Rights for IP Creation. How you...
CppDepend: A C++ Dependency Analyser
I evaluated the dependency analyser CppDepend on a real-life embedded application. My goal was to find all dependency cycles between classes in the application. I know that the application contains 50+ dependency cycles. CppDepend only found less than 10% of the cycles. Without rewriting the the source code, CppDepend would have found no cycles...
Burkhard on Qt Embedded Systems: No. 8
The July episode of my newsletter went out to over 160 people. Please sign up here, if you want to enjoy the full contents. The last three episodes are complimentary for your sign-up. Here is the table of contents of Episode 8 (July 2020). My Thoughts on Yocto Updates. Or: you never know what you’ll...
Webinar: Building Embedded Applications from QtCreator with Docker
In a webinar organised by The Qt Company on 8 July 2020, I showed how QtCreator builds an embedded application against a Qt SDK encapsulated in a Docker container. QtCreator doesn’t know which Yocto version was used for building the Qt SDK and which environment variables must be set for the SDK. QtCreator forwards...
Burkhard on Qt Embedded Systems: No. 7
Episode 7 went out to over 150 people. I provide insights on building Qt SDKs with Yocto, FOSS licensing, CMake, mocks for unit testing, C++ lambdas and more. Please sign up here, if you want to enjoy the full contents. Here is the table of contents. My Blog Posts Qt Embedded Systems – Part 2:...