I’m almost back from the C++ Russia conference held in Moscow these past few
days. Heading home later today.
I must say that Sergey created a really nice conference, with a carefully
tailored set of talks mostly focussed on parallelism and concurrency.
The conference was opened by Sean Parent, with a keynote somewhere along the
lines of “don’t use raw threads” (after his previous hits like “don’t use raw
for-loops”). It had everything, great examples from the his projects at
Adobe, a few bigger chunks of code, and even abstract scientific parts related
to flows in graph theory.
And that was just the beginning.
It was followed by Zoltan Porkolab’s talk on debugging and profiling C++
meta-template programs. Fantastic talk that deserves a separate blog post since
it can make a lot of TMP-related headaches go away. I’ll write it one of the
following days, when I get my bearings.
It was also a pleasure to listen to Bartosz Milewski talking about category
theory and presenting monads in quite an interesting way; Rainer Grimm on how to
cope when you need to use the lower-level concurrency primitives; and Guntram
Berti on how to properly write your generic code.
A few days ago, Elias Probst asked me to provide some shell functions to easily
fetch the current activity so that he could use it with the TaskWarrior - to
separate tasks for different activities. These are now avilable in the
KActivities repository and … I’m not going to explain them in this post. Maybe
the next one.
When he said the name “TaskWarrior”, I just had to see what it is.
In a nutshell, it is an awesome command-line tool for task management. It
supports tags, custom annotations, separating tasks from different projects etc.
and sorting tasks by automatically calculated urgency (you can check out the
docs to see how it is calculated). It has a couple of different TUIs and
GUIs including one for Android (works on BlackBerry 10 as well).
The last time
I posted something like this, it was about RSI and using a tablet as a keyboard
Now, a different story.
I never have enough screen real-estate. I sometimes keep six files open at the
same time in split-screens, but that requires my Vim windows to be maximized,
and then I don’t see the terminal. So I can not see the results of
auto-tests (for example), and the relevant code at the same time.
I was thinking of getting a bigger screen (an ultra-wide 21:9 one), but I don’t
want to throw away the one I’m currently using - it works without any issues.
And I do not really have the space for two screens on my desk.
Most sane programmers hate writing tests. Because of that, we have a lot of
testing frameworks around that make that task more streamlined, but it is still
A lot of sane programmers hate writing anything that needs (dynamic) SQL. For
that, a lot of DB frameworks came into existence. One of the fancier ones for
C++ has to be sqlpp11 which provides a
type-safe way of writing SQL usnig regular C++.
But, alas, this is not a post about sqlpp11 since it is not something that can
be used in KDE Frameworks since its heavy use of C++11 features.