development tools


  • For years C and C++ have been the dominant system programming languages, especially for high-performance and embedded applications. While I don't think that will change any time soon, there is an interesting alternative that has been increasingly growing in popularity: Rust. Let's take a look…

    Blog
  • When it comes to processor architectures, you're probably familiar with x86 and ARM, but have you ever heard of RISC-V? If not, you owe it to yourself to learn something about this up and coming technology that I expect will become more widely used in the future. I'll explain RISC-V — but first,…

    Blog
  • In this final installment of our Qt Developer's Bag of Tricks series, I'll look at some helpful tools that didn't fit into any of the categories covered previously. GammaRay GammaRay (1) is a tool for examining and manipulating the internals of Qt applications at run time. Unlike…

    Blog
  • While you can develop software using just a text editor and the command line (and many people do), you'll often see productivity gains by using a graphical integrated development environment (IDE). Here are a few options for IDEs that are suitable for Qt development. Qt Creator The "official"…

    Blog
  • Various tools that can be lumped together under the category of simulators and emulators can be useful during development, especially for embedded systems. A number of products use virtualization to run one operating system on top of another one. This allows you to run Linux on top of Windows, for…

    Blog
  • In the past, embedded systems often ran very small operating systems with no filesystem, or even ran on the "bare metal." With the increasing power and lower cost of hardware, including SOCs (Systems on a Chip), many embedded systems are moving to a full operating system, often based on Linux…

    Blog
  • Static Analysis (1), or more correctly, Static Program Analysis, is a method of analysis of computer software that is performed by examining source code without actually executing it. It is typically performed by automated tools. Static analysis is increasingly used in the development of…

    Blog
  • Memory and resource leaks are the stuff of nightmares for programmers. If a program doesn't properly free memory or other resources, it may appear to run correctly, but randomly crash or misbehave after working normally for hours or days. All too often, the problem is only discovered just before…

    Blog
  • Continuing our Qt Developer's Bag of Tricks series, this time I'll give you an overview of some applications that come under the general category of tracing. (I'll also include some test coverage tools here too since they don't fit in any other categories in this blog series.) Tracing is…

    Blog
  • Experienced software developers tend to build up a set of tools that they find indispensable for development, testing and debugging. But if you ask a group of developers what their "go to" tools are for various tasks, it is surprising how different the answers can be. I've also found that many…

    Blog