Refactoring from single to multi purpose

published at 16.09.2020 09:38 by Jens Weller
Save to Instapaper Pocket

For the second time this year I'm refactoring a program from a single purpose to have two or more modes of operation. Both times the start and end result is similar, just the processing is different. A classic case of using polymorphism.

Clazy - better C++ tooling for Qt best practices

published at 03.09.2020 16:38 by Frances Tait
Save to Instapaper Pocket

Clazy is a Clang plugin which extends the compiler with over 50 warnings related to Qt best practices ranging from unneeded memory allocations to API misuse. It’s an opensource project spawned by KDAB’s R&D efforts for better C++ tooling.

8 years of Meeting C++

published at 14.07.2020 15:49 by Jens Weller
Save to Instapaper Pocket

In 2012 Meeting C++ got started in July. Planned first to be a one off conference, now it is a successfull international conference and a platform for C++ on the internet.

Coronavirus, COVID19 and the C++ Community

published at 27.03.2020 10:44 by Jens Weller
Save to Instapaper Pocket

As this crisis unfolds, some word on how this impacts our own community, the C++ world.

C++ in 2020

published at 30.01.2020 14:19 by Jens Weller
Save to Instapaper Pocket

Now where the year is a few weeks old, lets see whats ahead for C++ in 2020!

Fire & Forget HTTP Requests in Qt

published at 05.07.2019 14:42 by Jens Weller
Save to Instapaper Pocket

I've spend the past year often working with PHP instead of C++. And now its time to connect some of these systems with the C++ Backend that powers the conference it self.

"Lets quickly fix this crash"

published at 09.08.2018 20:08 by Jens Weller
Save to Instapaper Pocket

A specific action causes one of my applications to crash. And so far I've just ignored it, as its not something that hinders daily use. But as I mostly get to work with code written by my self, no body else to blame or fix it. So yesterday I thought - ok - lets quickly fix this. After all I had the IDE already open...

TIL: inheriting constructors, default parameters and enable_if

published at 26.04.2018 23:11 by Jens Weller
Save to Instapaper Pocket

... might not mix that well. And its an interesting language detail causing it.

Thoughts on my recent Experiment with Qt & Templates

published at 12.04.2018 23:41 by Jens Weller
Save to Instapaper Pocket

So in March of this year I did play around with two libraries in Qt and boost, to test out some ideas. This post is about ideas and problems I'm currently thinking about.

A simple EditDialog template

published at 29.03.2018 15:32 by Jens Weller
Save to Instapaper Pocket

So far I covered the basics for connecting boost fusion adapted structs with Qts Model/View architecture. Today is the next step: a simple dialog for editing a single instance of such a fusion enabled type.

Accessing a fusion sequence with a run time defined index

published at 24.03.2018 23:05
Save to Instapaper Pocket

Lets say you have a compile type defined type, like a tuple or a fusion sequence. And its easy to access, just call get<Index>(variable) and you get the reference to the types run time instance in the index. Easy. But for this you need to know which index to call at compile time. What if you get that index only at runtime? Like in the previously mentioned Model/View Interface of Qt?

Implementing a QTableModel for displaying fusion adapted structs

published at 22.03.2018 22:38
Save to Instapaper Pocket

More TMP with boost::mp11

published at 20.03.2018 23:05
Save to Instapaper Pocket

A short blog post on 3 little functions I've written with mp11, to show a bit more how one can work with mp11. The first two are related to working with tags, the last is an easy way to get the member names of a fusion adpated struct into an std::array.

A short TMP experiment with boosts mp11 & fusion

published at 17.03.2018 20:09 by Jens Weller
Save to Instapaper Pocket

Yesterday and today I did some fun coding to play around with boosts new, C++11 TMP library: mp11. I have an idea, and one of the fundamental building blocks would be boost::fusion and its adapt struct infrastructure. I wanted to know if I could combine fusion and mp11 in a good way, to create a certain interface. I'll likely go into the exact ideas and reasoning for this interface later, for now lets focus on how to create it.

Working with your own APIs

published at 08.03.2018 14:39 by Jens Weller
Save to Instapaper Pocket

Yesterday I had the pleasure to implement a new feature in my CMS: moving a page or directory with in the website tree. Its quite easy, once you've implemented it, but it was also an interesting exercise in using code I once wrote. In Summer of 2015 I wrote this tree implementation, this old blog post also covers most of the interfaces which I needed to use now.

World class C++ factories

published at 01.03.2018 14:20 by Jens Weller
Save to Instapaper Pocket

One of the most popular talks during the review for last years conference, was "The hidden rules of world class C++ code" by Boris Schäling. And indeed, he delivered at the conference. He picked the factory pattern to present his version of world class C++ code, and as it happens to be, I've also have an implementation of this and some experience with boost::factory, which is mentioned in the Bonus Slides of his talk:

How if constexpr simplifies your code in C++17

published at 22.02.2018 16:24
Save to Instapaper Pocket

So, yesterday we had a little live coding session at my C++ User Group Düsseldorf. I want to recreate some of this code, to show how C++17 actually does help quite a bit with making code shorter and more expressive. Since I don't have a local C++17 compiler installed, I use godbolt and wandbox to test some of the examples.

Drawing circular text in Qt

published at 16.02.2018 20:17 by Jens Weller
Save to Instapaper Pocket

For a few weeks now, I use Friday afternoon to do some coding. As often managing Meeting C++ has become a non-code activity, it feels good to have a spot in the week where I focus on "what could I code today?". Today I focused on drawing circular text in Qt, which mostly consisted of writing prototype code, there is still lots to tweak if you'd wanted to use this in production.

C++ in 2018

published at 09.02.2018 17:44 by Jens Weller
Save to Instapaper Pocket

Its time to have a look, what one can expect form the best programming language of the world in 2018...

A CppCon 2017 trip report

published at 06.10.2017 23:32
Save to Instapaper Pocket

I'd like to share my experience of attending CppCon 2017, or how I'd like to describe it: playing multiplayer "find waldo" for one week. This is also the first time, that I attend a CppCon without speaking, I could complain about this, but actually I was very happy not to speak. There was no time to prepare a new talk anyways, Meeting C++ has kept me busy, but back to CppCon.