Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    K

    KDAB Blog

    kdab.com · Company blog · on HN since 2012

    KDAB, a Qt and C++ consulting company, writes about Qt, C++, Rust integration and tooling.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersOpen Source & Linux
    What HN says

    HN links it for Qt and C++ technical posts, such as embedding the Servo web engine in Qt, and commenters note KDAB's Qt expertise.

    Stats for nerds
    61HN people shared it
    137linked in comments
    1.3Kstory points
    Dec 2025last shared
    2015people per year2025

    Top posts on HN

    1. 1
      CXX-Qt: Safe Rust bindings for Qt
      1 person · 157 points · first shared 2022 · 109 comments on HN
    2. 2
      Speeding up the charting of sensor information as a waveform graph
      1 person · 152 points · first shared 2018 · 6 comments on HN
    3. 3
      Using Visual Studio Code for Qt Applications
      1 person · 120 points · first shared 2020 · 66 comments on HN
    4. 4
      Qt for Android better than ever before
      1 person · 115 points · first shared 2019 · 76 comments on HN
    5. 5
      Show HN: I built a cute, little isometric block stacking editor in QML
      1 person · 100 points · first shared 2021 · 17 comments on HN
    6. 6
      C++23 Will Be Really Awesome
      2 people · 92 points · first shared 2022 · 14 comments on HN
    7. 7
      Qt, range-based for loops and structured bindings
      2 people · 62 points · first shared 2020 · 22 comments on HN
    8. 8
      Heaptrack Linux memory profiler v1.1.0 released
      1 person · 48 points · first shared 2018 · 2 comments on HN
    9. 9
      Fun and Scary Code from Qt and KDE
      2 people · 47 points · first shared 2021 · Discussion on HN
    10. 10
      Kuesa 3D 1.2
      1 person · 45 points · first shared 2020 · 18 comments on HN

    What HN people wrote when they linked it

    • j1eloNov 2023

      But that's a knowledge issue. Which is fine, if I can say one thing for sure is that none of us was born knowing anything at all :-)

      C++ programmers would probably be used to lower level kind of technologies, but when talking about this I think it just helps to think about what would you do if you wanted to embed an HTML and JS file into your program and wanted it to work like QML works.

      For an experienced C++ dev, a list of stuff will naturally start flowing through their mind:

      * A mechanism to inject the files into the binary upon compilation.

      * How to interpret the HTML and paint on the screen? We'll need an HTML rendering engine and a surface painter.

      * About JS, how to run it? Well, maybe time to include V8 into the program. It will take care of running JS code.

      * Now to make calls between both languages. Probably V8 already provides callbacks because it implements FFI already for you.

      * And other stuff you mentioned, like a property manager that remembers what has been registered and creates change observers in order to trigger events for C++ to know.

      Thing is, Qt already gives you all of this done, otherwise their proposal of QML wouldn't have gone too far...

      These series of articles touch on the topic and can enlighten a bit about some details:

      * https://www.kdab.com/qml-engine-internals-part-1-qml-file-loading/

      * https://www.kdab.com/qml-engine-internals-part-2-bindings/

      * https://www.kdab.com/qml-engine-internals-part-3-binding-types/

      *…

    • jcelerierAug 2017

      Gradients are supported, patterns not (yet) : https://blog.qt.io/blog/2017/07/07/let-there-be-shapes/

      > Also-- does Qt have an equivalent of devtools can ship with the app so that the state of the view can be queried, mutated, and REPL'd in the user's running instance?

      Depends. There is Gammaray which can connect to a Qt process (including remotely, quite useful for embedded) & where you can change properties of your objects on the fly : https://www.kdab.com/development-resources/qt-tools/gammaray/

      For live reloading, it isn't proposed by default in shipped applications but there are many ways to do it : https://fr.slideshare.net/ICSinc/how-best-to-realize-a-runtime-reload-of-qml. The IDE nowadays does it for instance : http://blog.qt.io/blog/2017/05/24/qt-quick-designer-qt-creator-4-3/.

      However, in my experience on live reloading (with QML, Unity3D and Python), it only works well with environments that don't interface to native code. Else it's way too easy to leave some state hanging in a bad way in a DLL (and then you get undebuggable crashes upon undebuggable crashes).

      Likewise, there is no REPL provided (since it's declarative in nature... there are no "instructions" being executed directly, only reactions to actions). But implementing your own takes a few lines. I wonder what its point would be though.

    • stnclsSep 2021

      > A good tree will have something like log(n) depth so normal recursion should be fine.

      Yes, this is true for comparison/search/sort/bucketing algorithms. But in other applications (e.g. graph theory, networks, sparse matrices) a depth of n, for n elements, can be perfectly legitimate. Or it can even be an edge case, but one you don't want to handle by just segfaulting.

      > Which reminds me: what is a good tool for analyzing / viewing a C++ programs call tree?

      Linux perf can collect the necessary data. Then for frontends, I am not sure. KDAB's "hotspot" ( https://www.kdab.com/tag/perf/ ) can do flamegraphs, but this may be more performance-oriented than what you're looking for.

      Edit: perf can collect the data statistically. It will miss many calls, the ones that are the least time-consuming.

    • akdev1lJun 2025

      It’s not a warning, it’s a compile time error and I am not even using -Wall -Werror

      I also believe there are platforms where a function pointer and a data pointer are not the same but idk about such esoteric platforms first hand (seems Itanium had that: https://stackoverflow.com/questions/36645660/why-cant-i-cast-a-function-pointer-to-void)

      Though my point was only that this code will not compile as is with whatever clang Apple ships*

      I am not really sure how to get it to compile tbqh

      Some further research ( https://www.kdab.com/how-to-cast-a-function-pointer-to-a-void/) suggest it should be done like so:

      > auto fptr = &f; void a = reinterpret_cast<void &>(fptr);

      edit: I tried with GCC 15 and that compiled successfully

    • mockeryMar 2022

      It's totally reasonable to lament duplicated effort, but it's worth pointing out that this particular attempt is from a company[0] whose business is Qt consulting - so it's easy to imagine that they might succeed (due to expertise, size, and motivation) where others have not.

      The post also explains why they started from scratch vs. existing approaches - I'm not qualified to evaluate the claims, but I think they deserve some credit for explicitly talking through their reasons.

      [0] https://www.kdab.com/

    • zokierAug 2024

      I think the big motivation is now "embedding", i.e. using servo as replacement for webview/cef/etc. So for example you could think Tauri+Servo as Rusts answer to Nodejs+Chromium in Electron.

      https://servo.org/blog/2024/01/19/embedding-update/

      Another example would be Qt which normally uses Chromium for webviews but now there has been work to use Servo instead: https://www.kdab.com/embedding-servo-in-qt/

    Related

    Woboq Blogwoboq.com36 people

    Verdigris: Qt Without Moc

    Woboq Blog
    Company · last shared 2025
    Qt Blogblog.qt.io117 people

    Hello Qt for Python

    Qt Blog
    Company · last shared 2019
    Visual C++ Team Blogblogs.msdn.microsoft.com/vcblog86 people

    Visual C++ for Linux Development

    Visual C++ Team Blog
    Company · last shared 2019
    Embeddeduseembeddeduse.com18 people

    Lessons from six years as a solo consultant

    Embeddeduse
    Personal · last shared 2025
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    Modular Blogmodular.com172 people

    Understanding SIMD: Infinite complexity of trivial problems

    Modular Blog
    Company · last shared 2026
    Rust Blogblog.rust-lang.org533 people

    Announcing Rust 1.0

    Rust Blog
    Company · last shared 2026
    Clifford Wolfclifford.at80 people

    Project IceStorm: open-source toolchain for Lattice iCE40 FPGAs

    Clifford Wolf
    Personal · last shared 2021