Efficient embedded development relies on consistent environments, smart dependency management, and robust CI pipelines. Containers ensure reproducibility and streamline onboarding, while balancing source builds and pre-built packages keeps dependencies manageable. Optimized CI with parallel tests and hardware-in-the-loop improves feedback and quality. Incremental refactoring with atomic commits enables continuous improvement without disrupting development.
Common render issues and their solution -Part 3
If you are here from Part 1, you missed Part 2, somehow. You have tried everything from the first two parts that seemed applicable, and your screen is still a window to the void? No problem: we’ve gathered another five reasons black screen issues could be happening and how to go about fixing them. Issue […]
Common render issues and their solution - Part 2
If you are here from Part 1, welcome back. If you are wondering why we started at Part 2, go to Part 1. So, you tried everything from the first part (that was relative to you), and your screen is still a backlighting test? No problem. (Well.. I mean, clearly there is but […]
So, you've just poured your heart and soul into some real-time 3D rendering code and hit render. Wringing your hands in anticipation you wait for the screen to show your marvellous creation. Still... waiting. It says it's done but, nothing. Well, maybe not nothing but simply darkness. You stare into the deep dark […]
When I came to KDAB to work, working at home was a bit of a culture shock for me - I’d previously only ever worked in an open-plan office and had sworn that home working was not for me – I’d never manage to get anything done! However, I’ve found that home working suits me […]
In a previous blog post we introduced clazy, a clang plugin which makes the compiler understand Qt semantics, allowing you to get compile-time warnings about Qt best practices ranging from unneeded memory allocations to misuse of API, including fix-its for automatic refactoring. Today we'll do a round-up and present the checks related to connect statements, […]
This whitepaper is the first in KDAB's Software Development Best Practices series and covers the basics. Many of the tips will not surprise most professional software engineers, but if you’re just getting started, it can be a handy reminder. If you’re not already doing everything here, you should be.
Ensuring you use proper software development best practices can help create faster and more robust results in your projects. Tools and, more importantly, automation play a significant role.
Discover some key embedded software development best practices focusing on hardware board selection and related costs. Learn how they affect software.
Following these desktop software development best practices ensures a flexible design. This is crucial to the success of desktop applications.
Success lies in using continuous integration and continuous deployment to catch errors early and maintain quality across all platforms. These are critical aspects.
Addressing non-app store software updates necessitates careful planning and execution across the entire ecosystem. Here are some expert-recommended practices to consider.
While an all-Rust approach works for some systems, most companies have extensive existing C and C++ code. Rust's design, rooted in Mozilla Firefox's development, has always aimed to integrate with these languages. By consulting Rust experts, we've developed guidelines for harmoniously blending Rust with C and C++ in various scenarios.
Industry giants in many fields have been toppled repeatedly by Silicon Valley start-ups and game-changing innovations. When a software-savvy competitor enters your market, they provide new benefits that win over your customers. That leaves you in a game of catch-up to regain market share and re-establish your brand. How can you avoid your company being upstaged by an upstart?
Discover the crucial link between cybersecurity and HMI design in today's threat landscape. This document explores common misconceptions, attack vectors, and the necessity of protecting your systems, whether you're a beginner or an experienced expert. Don't underestimate the vulnerabilities that can arise from your HMI!
As a front-end developer, understanding functional safety is essential, even if you focus on user interfaces. This paper highlights the importance of your role in safety-critical systems across industries like aviation and healthcare, emphasizing compliance with safety standards to prevent harm. Expand your expertise and see the bigger picture in HMI development!