Profile cover photo
Profile photo
Robert Knight
87 followers
87 followers
About
Robert's posts

Post has shared content
Here's a plea to all software developers: please write WHY a change is being done in your commit message, even if you think it's obvious. Don't write what is being done: that's what a changelog is for and we can read diffs.

In this particular case: the commit message says
  trivial: remove nm-ip6-manager

Why? What handles RTNLGRP_ND_USEROPT now?

Post has attachment
Understanding the QWidget layout flow
When layouts in a UI are not behaving as expected or performance is poor, it can be helpful to have a mental model of the layout process in order to know where to start debugging.  For web browsers there are some  good resources which provide a description ...

Post has attachment
Know C++/Qt? Interested in a job working on a cross-platform desktop app used by hundreds of thousands of students, scientists and researchers across the globe?

Mendeley in London is hiring! - http://qt-project.org/forums/viewthread/34720/

If you've got experience with recent developments in the world of Qt and some experience with other UI frameworks (Cocoa, WPF, Android etc.) that's interesting as well.

#mendeley #qt   #cpp  

Post has attachment
Took some time today to unbitrot Qt Inspector, a little tool for inspecting/live editing the object tree of Qt apps which might be useful if you need to debug layout issues.

I replaced the debugger injection with a simpler library preloading approach, so it now works on OS X 10.9 with the current version of Xcode and should be more reliable on Linux. Looked into Windows support but, shockingly, it looks like the solution requires something more elaborate - http://en.wikipedia.org/wiki/DLL_injection

Also added regexp support in property list filter and facility to refresh property views.

https://github.com/robertknight/Qt-Inspector

Of course, check out KDAB's GammaRay tool first - it provides a lot of additional functionality beyond what Qt Inspector has: https://github.com/KDAB/GammaRay

Post has attachment
Improving build times of large Qt apps
My colleagues and I spent time recently improving build times of a largish Qt app ( Mendeley ) and its associated test suite. I'm sharing some notes here in case anyone else finds them useful. Most of the steps here fall under one of a few basic ideas: Meas...

Post has shared content
Mendeley Desktop 1.10 has been released. Journal abbreviations, one of the most requested features has been implemented. Mendeley will now automatically abbreviate publication titles according to the rules of the style. Other great improvement is related research, it gives you instant recommendations based on specific articles and drill-down into recommendations. Try it now!

Post has attachment
A new version of the qt-signal-tools library for connecting signals to arbitrary functions or specifying some of the arguments to the slot at connection-time is available.  This release adds compatibility with earlier versions of Qt 4, Qt 5 and performance improvements.

Post has attachment
Investigating options for cutting down build times with clang and a medium-sized (~200K SLOC) Qt app.  On a mid-range quad-core system, use of precompiled headers saved ~30%, use of -gline-tables-only to generate line-number only debug info saved another ~30%. http://clang.llvm.org/docs/UsersManual.html#controlling-size-of-debug-information  .  The latter reduces the sizes of debug binaries considerably which saves a lot of I/O later on in the pipeline.

Post has attachment
In case you ever have to help with patent defense, ignore what you saw on Slashdot last week and read Andrew Tridgell's talk on the subject first: http://endsoftpatents.org/2010/03/transcript-tridgell-patents/

It contains clear advice on how to find the part of a patent which actually matters amongst the boilerplate, how to understand it as a programmer, how to communicate with lawyers and how to make life difficult for the patent holder.

Post has attachment
A library for connecting QObject signals or events to arbitrary functions and passing additional context to slots in Qt 4: http://kdemonkey.blogspot.co.uk/2013/02/qt-signal-tools-pre-packaged-slot-calls.html .  Only dependencies are Qt 4.8 and a not-too-ancient (MSVC >= 2010, GCC 4.x) compiler.

If you're using Qt 5, you get this out of the box already - http://qt-project.org/wiki/New_Signal_Slot_Syntax
Wait while more posts are being loaded