Latest Blog Articles

We are constantly making changes to the website and releasing new applications and services.


Implementing the Promise Pattern in Qt5

Posted 1 month ago

Writing asynchronous code in C++ hasn't always been easy. When first learning C++, most programmers begin with simple applications that execute a linear set of instructions. Each instruction is executed only after the previous one has completed. However, this approach has one primary drawback - instructions that take a long time to complete prevent other instructions from executing. For example, fetching a file over HTTP involves sending a request over TCP and waiting for a reply from the remote server. Depending on network latency and utilization, this can take a considerable amount of time. During this time, the application could ...

Creating Debian Packaging for a Qt5 Application

Posted 4 months, 2 weeks ago

As most of you know, I work with the Qt framework quite frequently. The better part of the desktop applications listed here on my website use the framework in some way or another - and for good reason: I have never encountered another framework that came anywhere close to Qt. The documentation is excellent and the library itself is a work of art. It's truly a joy to work with. Today, I will be taking a look at the process of getting a Qt5 application packaged for Debian / Ubuntu. The instructions that follow are geared towards Ubuntu 12.10 for ...

QEventLoop - Making Asynchronous Tasks Synchronous

Posted 7 months, 1 week ago

One of the often overlooked classes in the Qt framework is the QEventLoop class. Although it isn't often used on its own, it plays a significant role in nearly every Qt application. In order to demonstrate just how useful this class can be, a brief overview of what exactly an event loop is seems to be in order. What Is an Event Loop? Most desktop applications developed these days are event-driven, which simply means the application spends most of its time responding to events. This includes such things as mouse clicks, incoming network packets, and timers. The basic structure of ...

Writing Secure Server Applications with Qt

Posted 8 months ago

Qt is an excellent framework for developing cross-platform console and GUI applications. I have used the toolkit for developing a number of applications which are listed here on my website. I recently found myself faced with the task of developing a TCP server application which communicated with a set of clients in a secure fashion. Rather than reinventing the wheel, I decided to make use of Qt's own SSL classes (QSslSocket for instance). Creating a Self-signed Certificate In order to establish a secure connection between the client and the server (and to ensure the client connects to the correct server), ...