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.

Future proofing our C++ APIs

published at 12.08.2017 20:30 by Jens Weller
Save to Instapaper Pocket

While writing my CMS, I made one experience: using both std and boost versions of various types in the same code base. Often, it is a 3rd library, in this case from boost, which I use, only supporting the old boost versions. Which is fine, but it makes maintenance and working with the code more difficult, as constantly you see a mix of boost and std.

The reviews have begun

published at 10.08.2017 15:40 by Jens Weller
Save to Instapaper Pocket

A few weeks ago I announced a C++ review community, which since then has grown to 250+ members on reddit. There has been great feedback and discussions since then, so that the idea is now ready to be tested.  With August, the first review period has started, but first have a look at the idea of a review community again:

How I got started with C++

published at 28.07.2017 15:08 by Jens Weller
Save to Instapaper Pocket

We always hear and see what the latest news on C++ or some particular subset of it is. What one usually does not get to know, is how people got started with C++. But one thing for sure, all of us in the C++ community are either still getting started, or did once. There is a good section on how you could get started today at isocpp.org, but the past did not offer such a luxury.

The power of method templates

published at 14.07.2017 17:30 by Jens Weller
Save to Instapaper Pocket

This is very useful if you work with Qt, but could also apply in many other situations. My use case often is Qt, as it does not allow for template classes to be derived from QObject. Hence, all of these UI and widget classes end up being quite concrete implementations.

Fuzzing beast with libFuzzer

published at 10.07.2017 12:24 by Jens Weller
Save to Instapaper Pocket

During the weekend I wanted to take a closer look at beast, a http library proposed for boost. I planned to write an http client class, as thats something I'll need in some project later anyways. I've been looking at beast on and off for a few month now, and started by reviewing the documentation and examples to get a feel for the library it self.

5 years of Meeting C++!

published at 06.07.2017 15:24 by Jens Weller
Save to Instapaper Pocket

Just a little bit more then 5 years ago, Meeting C++ went public. Since then, it has been a wild ride and huge success. Today, Meeting C++ reaches over 50k in social media, the conference it self has grown from 150 to 600 in its 5 editions.

A C++ review community

published at 13.07.2017 14:47 by Jens Weller
Save to Instapaper Pocket

I've been thinking about this for quite a while, and now its time to give it a try. And in its current state, there are still some unsolved questions, so for now consider this a beta version. It will take one or two month to get this fully started, and I do see this as kind of an open end experiment.

2 years of building my own CMS...

published at 30.06.2017 20:16 by Jens Weller
Save to Instapaper Pocket

A unique_ptr pool

published at 22.06.2017 18:25 by Jens Weller
Save to Instapaper Pocket

A few weeks ago I wrote about a self-contained unique_ptr pool, which today I refactored into a more reuseable template. Reason is, that the pool class it self now needs to maintain two different kind of objects into their pools,  hence the actual pool code is best now factored out into a template.

A self-contained Pool in C++14

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

During C++Now I started writing a small application, that plays around with dlibs face recognition features. More on this later, the program uses the QThreadPool, and some researched showed that calling dlib::get_frontal_face_detector() is a very expensive operation. So I decided to write a thread safe pool to share the face detection object between threads, only loading as many as needed. The main thread owns the pool which owns the detection objects.

A short story on a tiny error

published at 13.04.2017 18:17 by Jens Weller
Save to Instapaper Pocket

Well, lets make this clear, this isn't an article about best practices. Its about the little errors that happen in everyday life, and how they can go on undetected for quite a while. It started with a hint on reddit from Vittorio Romeo on last weeks C++ Blogroll, that the links for the videos didn't work.

Reflections on the reflection proposals

published at 02.03.2017 11:29 by Jens Weller
Save to Instapaper Pocket

A few weeks ago I wrote a short overview over the most interesting papers for the current C++ Committee meeting in Kona, Hawaii. The big surprise was that there were many papers on reflection, while there already is a very detailed proposal for reflection.

HTML Text Editor - final solution

published at 23.02.2017 23:51 by Jens Weller
Save to Instapaper Pocket

In the last post about my HTML Text Editor, I mentioned that while the editor worked like it should, other things didn't. I was able to fix at least some of the driver related issues, but kept seeing random crashes. So I decided to try out a different solution, instead of going on a long and tiring debugging trip.

C++ Proposals please...

published at 16.02.2017 11:10 by Jens Weller
Save to Instapaper Pocket

A quick overview over the newest mailing of proposals for the upcoming C++ Committee Meeting in Kona, Hawaii. With C++17 being "done" but not yet an official standard, its a good time to start new proposals aiming for C++20 and beyond. After all, a new proposal which might needs to go through a TS might not make it to the C++20 timeframe...