We are going to Qt Developer Days 2011
Will we see you at Nokia's Qt Developer Days next week in Munich? Hopefully :-) Olivier will be having a talk on Tuesday and Wednesday called "Development of Multi-threaded applications" and Markus...
View ArticleQt Developer Days 2011 in San Francisco
In one week, we will also be at the Qt Developer Days in San Francisco. Let's see how those compare to the Devdays in Munich. Our talks will be the same as in Munich. This means Markus will talk about...
View ArticleIntroduction to Lock-free Programming with C++ and Qt
This blog post is an introduction to lock-free programming. I'm writing this because this is the pre-requisite to understand my next post. This was also the content of my presentation for Qt Developer...
View ArticleInternals of QMutex in Qt 5
You may want to read this blog if you want to understand the internals of QMutex or if you are interested in lock-free algorithms and want to discover one. You do not need to read or understand this...
View ArticleQt Developer Days 2011 Videos of our Talks are online
In case you have missed our talks at the Qt DevDays, Nokia has put them (and a lot of other interesting) talks online now.View Olivier's talk on multithreading, lock-free algorithms and QMutex...
View ArticleOn Reviewing a Patch in Qt
While I was working on Qt at Nokia I spent a lot of time reviewing patches from colleagues. Peer reviewing is an important step, and there is a reason why we do it in Qt.Code in libraries (such as Qt)...
View ArticleSignals and Slots in Qt5
Qt5 alpha has been released. One of the features which I have been working on is a new syntax for signals and slot. This blog entry will present it.Previous syntaxHere is how you would connect a...
View ArticleQStringLiteral explained
QStringLiteral is a new macro introduced in Qt 5 to create QString from string literals. (String literals are strings inside "" included in the source code). In this blog post, I explain its inner...
View ArticleC++11 in Qt5
C++11 is the name of the current version of the C++ standard, which brings many new features to the language. Qt 4.8 was the first version of Qt that started to make use of some of the new C++11...
View ArticleWe are now offering Quassel IRC Hosting
In an attempt to bring the things we like to you, we are offering accounts on our Woboq Quasselcore. In case you have not heard of Quassel before: Quassel is a distributed IRC client where the Quassel...
View ArticleUTF-8 processing using SIMD (SSE4)
SIMD: "Single instruction, multiple data" is a class of instructions present in many CPUs today. For example, on the Intel CPU they are known under the SSE acronym. Those instructions enable more...
View ArticleBrowsing C++ Source Code on the Web
As a developer, I write code, but I also read a lot of code. Often the code of other people. It is easy to get lost among all the functions, objects or files. What calls what? What does this function...
View ArticleHow Qt Signals and Slots Work
Qt is well known for its signals and slots mechanism. But how does it work? In this blog post, we will explore the internals of QObject and QMetaObject and discover how signals and slot work under the...
View ArticleHow Qt Signals and Slots Work - Part 2 - Qt5 New Syntax
This is the sequel of my previous article explaining the implementation details of the signals and slots. In the Part 1, we have seen the general principle and how it works with the old syntax. In this...
View ArticleYou were not doing so wrong.
This post is about the use of QThread. It is an answer to a three years old blog post by Brad, my colleague at the time:You're doing it wrongIn his blog post, Brad explains that he saw many users...
View ArticleQMap vs. QHash: A small benchmark
While working on my Qt developer days 2012 presentation (QtCore in depth), I made a benchmark comparing QMap and QHash. I thought it would be nice to share the results in this short blog entry.Under...
View ArticleiQuassel for iPhone and iPod
In our spare time at Woboq, we also do projects that scratch our own itches. For Olivier this was his web-based source code browser, for me it was my Quassel IRC client for iPad. A lot of people...
View ArticleProperty Bindings and Declarative Syntax in C++
QtQuick and QML form a really nice language to develop user interfaces. The QML Bindings are very productive and convenient. The declarative syntax is really a pleasure to work with. Would it be...
View ArticleData initialization in C++
In this blog post, I am going to review the different kind of data and how they are initialized in a program. What I am going to explain here is valid for Linux and GCC.Code ExampleI'll just start by...
View ArticleProof Of Concept: Re-implementing Qt moc using libclang
I have been trying to re-write Qt's moc using libclang from the LLVM project.The result is moc-ng. It is really two different things:A plugin for clang to be used when compiling your code with...
View Article