You are here

Thiago Macieira's blog

Thiago Macieira's blog
Checked: 2 hours 39 min ago
Updated: 9 years 1 month ago
Update every: 2 hours

An Open Source hacker's ramblings
Subscribe to Thiago Macieira's blog

forkfd part 4: proposed solutions

Thiago Macieira's blog - Sat, 21/07/2012 - 12:30am
Last week, I wrote three blogs about the situation with starting child processes on Unix and being notified of their exit. I raised several problems with the current implementation, which I have tried to solve and I have now a proposal for. If you haven’t yet, you should take some time to read the previous …

Continue reading »

forkfd part 3: QProcess’s requirements and current solution

Thiago Macieira's blog - Fri, 13/07/2012 - 10:46pm
In the previous posts onmy series of blogs about starting and managing sub-processes on Unix, I talked about how it’s implemented and how the current solutions have limitations. On this post, I’ll show how QtCore has solved the problem (to the extent that it can be solved) and what requirements a new solution must fulfill. …

Continue reading »

forkfd part 2: Finding out that a child process exited on Unix

Thiago Macieira's blog - Fri, 13/07/2012 - 12:56pm
On my previous blog, I said that the solutions we’ve got implemented on Linux are a good start, but not the full solution. We can start a child process properly, but we still can’t properly find out when it exited. Linux or nothing First of all, let me get one thing straight: from this point …

Continue reading »

forkfd part 1: Launching processes on Unix

Thiago Macieira's blog - Fri, 13/07/2012 - 11:05am
Have you ever tried to launch a sub-process on Unix? POSIX.1 has several APIs for doing that, including: fork+execve and posix_spawn. Starting a child process is not difficult, but ensuring that they behave properly and you get notified when the child dies, that is difficult. First, posix_spawn I want to concentrate only on fork(2)+execve(2), so …

Continue reading »

Continue using QPointer

Thiago Macieira's blog - Tue, 10/07/2012 - 4:13pm
Early in the Qt 5 development cycle, we had made the decision to deprecate QPointer and replace it with the more modern QWeakPointer. That decision is now reversed, so please continue using QPointer where you were using them. Moreover, don’t use QWeakPointer except in conjunction with QSharedPointer. To understand the reason behind this back and …

Continue reading »

AVX-optimised raster painting for Windows too

Thiago Macieira's blog - Wed, 13/06/2012 - 7:19am
Yesterday, one of my contributions to Qt was merged which finally adds better support for optimised raster painting on Windows, with SSE2 and AVX instructions. This feature has long been present on the Unix systems, but it was somewhat lacking on Windows. If you’ve read my past blogs, you know I often talk about and …

Continue reading »

“Doesn’t work” doesn’t work

Thiago Macieira's blog - Mon, 28/05/2012 - 11:20am
Every now and again, someone posts on IRC or to a mailing lists about an issue they’ve had and their description of the problem is that “it doesn’t work”. There’s nothing more annoying to the person giving help than to see that description… That happened to me twice again today, which is what prompted me …

Continue reading »

I’m going to Akademy and the Qt Contributor Summit

Thiago Macieira's blog - Fri, 18/05/2012 - 10:42am
Just a quick post so I can say I’m going to both events: Akademy 2012 and the Qt Contributors Summit 2012. I hope to see many of you there, and we have a lot to discuss and work on.

Source code must be UTF-8 and QString wants it

Thiago Macieira's blog - Fri, 11/05/2012 - 1:19am
I’ve talked about source code encoding in the past, arguing that the C++ language lacks a fundamental setting. However, since this Monday, Qt 5 now starts to enforce that source code must be UTF-8. In a way. The commit that landed on the qtbase repository finally changed the codec used by QString’s 8-bit methods to …

Continue reading »

Quick update to the Qt Project statistics

Thiago Macieira's blog - Mon, 30/04/2012 - 10:33am
Update on last Friday’s post on the Qt Project’s statistics: the script ran again this morning, so we now have data for last week. The Qt Project Statistics Page now includes the number of contributors per week: Visit the statistics page for more graphs.

Qt Project Statistics

Thiago Macieira's blog - Fri, 27/04/2012 - 8:31pm
For about a month, I’ve been improving a set of scirpts to calculate statistics on the Qt Project. What I wanted to know, at first, was how well I was doing, how much I was contributing. Another question I had in mind and I know many others did too was “how much is the Qt …

Continue reading »

Qt 5 alpha released

Thiago Macieira's blog - Tue, 03/04/2012 - 2:45pm
Lars writes to let us know that the first (and hopefully only) Qt 5 alpha has been released! It’s the first in the major release series in 7 years, the first major release of the Qt Project (though not the first release in of the project, since we released 4.8.1 just a few weeks ago). …

Continue reading »

Restricting what you can do

Thiago Macieira's blog - Wed, 28/03/2012 - 3:30pm
I usually write about C++, since it’s the programming language that I use on my daily work. Today, however, I’m talking about its nearest cousing: C. In specific, about a certain keyword introduced by the C99 standard, which was issued over 12 years ago. Usually, the C standard plays catch-up with the C++ standard (like …

Continue reading »

The value of passing by value

Thiago Macieira's blog - Wed, 22/02/2012 - 6:36pm
I’ve written in the past about how passing certain types by value in C++ would be more efficient than passing by constant reference. But it turns out that the ABI rules are somewhat more context than what I said back in 2008. Time to investigate. This is also prompted by the discussion on qreal on …

Continue reading »

Update and benchmark on the dynamic library proposals

Thiago Macieira's blog - Thu, 19/01/2012 - 3:17pm
My last blog on the dynamic libraries on Linux attracted over 15000 visits, which was quite unexpected (it’s 15x more than the usual traffic). It got linked from reddit and ycombinator and comments there and in the previous post have raised some interesting questions I’ll try to answer. LD_PRELOAD First, a quck background: LD_PRELOAD and …

Continue reading »

Sorry state of dynamic libraries on Linux

Thiago Macieira's blog - Mon, 16/01/2012 - 3:12pm
Last week, we identified a bug in Qt with Olivier‘s new signal-slot syntax. Upon further investigation, it turns out it’s not a Qt issue, but an ABI one. Which prompted me to investigate more and decide that dynamic libraries need a big overhaul on Linux. tl;dr (a.k.a. Executive Summary) Shared libraries on Linux are linked …

Continue reading »

Qt temperatures drop from January to June

Thiago Macieira's blog - Fri, 13/01/2012 - 5:51pm
I’ve previously talked about how the Qt 5 Winter is coming. Since we started talking about that, people have begun asking what are the date limits for each thing, when the API would freeze, when Qt 5.0 would be stable, when we’d release, etc. This blog tries to answer that a little. Last month, we …

Continue reading »

Architectures and ABIs detailed

Thiago Macieira's blog - Tue, 10/01/2012 - 10:22pm
Yesterday I wrote about instruction set and ABI manuals. Today I’d like to go into details about the ABIs I listed there. This was done mostly as a summary for me: it’s tiresome to search for the information in the manuals, especially since some of the manuals are PDFs without links. For example, I never …

Continue reading »

Assembly developer’s library

Thiago Macieira's blog - Mon, 09/01/2012 - 9:32pm
Every now and then, when coding in C++, I find myself needing to know some assembly to understand what’s going on. Sometimes, it’s because I am actually writing assembly code, such as when I was writing the new atomic classes for Qt. More often, it’s because I need to read the assembly generated by the …

Continue reading »

Winter is coming

Thiago Macieira's blog - Thu, 22/12/2011 - 2:53pm
Winter is also coming for Qt 5.0: we are approaching feature freeze. The exact date, I can't tell you, because we don't know yet. That's actually the subject of this blog: we need to find a date and I need your help to get there.

Qt 4.8 released

Thiago Macieira's blog - Thu, 15/12/2011 - 12:43pm
Sinan is writing on the Qt Labs blog that Qt 4.8.0 is released. I won’t duplicate the entire contents of his post, so I’ll just give you the information you’re looking for: the download link. You can download it from the Download Page: Qt for Windows (binaries): MinGW, VS 2008, or VS 2010 Qt for …

Continue reading » is live

Thiago Macieira's blog - Fri, 21/10/2011 - 12:28pm
As you may have noticed in Lars’s blog the new Qt Project website and organisation is live! Yeah! It’s the product of many people’s work over the course of a year and a half, changing the way how over 200 engineers work on their daily lives. The change is just in time for the Qt …

Continue reading »

QUrl in Qt 5: woes of hostname validity

Thiago Macieira's blog - Tue, 18/10/2011 - 11:27am
A couple of days ago I posted on Google+ a comment when I was frustrated trying to update the QUrl hostname-parsing code. Turns out that rewriting the parser wasn’t that difficult for QUrl, but dealing with hostnames is very much so. The old code in QUrl simply deals with it directly, even what’s supposed to …

Continue reading »

QUrl in Qt 5: validity

Thiago Macieira's blog - Wed, 12/10/2011 - 9:29am
QUrl in Qt 4 tried to follow the ABNF grammar for URIs quite strictly, but it had a tolerant mode parser and, in the end, almost everything was accepted anyway. Looking into WebKit's test, turns out that there are a lot more cases which QUrl failed to understand. In Qt 5, I'll rewrite the parser to hopefully be even faster and accept some of those new cases, without sacrificing the conformance in compliant URIs.

Making a Qt Developer Days presentation

Thiago Macieira's blog - Mon, 10/10/2011 - 2:50pm
First of all, my apologies for not continuing the blog onQUrl yet. For a couple of reasons, I have not been able to continue the work there yet. I will get to it soon. One of those reasons is the subject of this blog: my Qt Developer Days presentation. This year, the organisers decided to …

Continue reading »


Subscribe to Thiago Macieira's blog