As I have written previously,
the activities manager service now supports
creating private activities.
But it is not exposed in the UI at the moment.
that is not the only problem that the
current settings module for Activities has.
A few things have improved in the previous few versions,
but there is always more room for improvement.
One of the common complaints was that
the activities settings module does not
actually allow you to create, modify or delete activities.
Both issues will be fixed in the next release of KActivities framework.
The statistics collection feature of KActivities is slowly becoming
a core part of Plasma.
This raises some privacy concerns as can be seen in the
bug filed against the KRecentDocument framework.
While KRecentDocument has nothing to do with KActivities,
the issues mentioned in this report have been
on my mind since I started working on the usage tracking mechanism of KActivities
(long before said report).
As you know, the Activity Manager (if you allow it to)
is collecting the data about which documents you work on.
The documents get automatically scored based on how often you open them,
and how recent was the last time you did
(it is a bit more intricate than that, but this is the general gist of it).
This has been used in Kicker to show the improved recent documents,
contacts and applications
(yes, contacts and applications are treated as documents)
as well as in the Tasks applet and Plasma Media Center.
Apart from these few places, it is not used much.
One of the ideas I’ve had for some time now,
but haven’t had the time to implement,
is an advanced history browser.
The idea is to have the most popular documents
(of a specific activity) shown in a timeline
to represent when the documents were used the most.
Also, it will be able to show other documents related to these.
So much for the time being,
I’ll write more details when the concepts for the UI become more crystallized.
I’ve received a surprising invitation to give a talk in Budapest this July.
The main surprise was not the invite itself -
I got it Zoltán whom I met at C++ Russia.
It was in the fact that this it was not for a C++ event,
but for a functional programming one -
the Central European Functional Programming summer school.
I have to say I got intrigued, and started thinking about the topic for my lecture.
At first, it felt strange to send anything mentioning C++,
but then I saw that Zoltán’s lecture will be about immutable programming in C++,
and that a few other familiar C++ guys have been invited as well.
In the end, I decided to talk about functional reactive proramming in C++
which will be a thrilling and enticing tale
of event-based systems and the power of reactive streams.
I’ll also cover some fun new things we are to expect from C++17
that are bringing even more functional programming concepts than we have
in the current standard
If you look at the current schedule,
you’ll see that Zoltán’s and mine are not the only planned C++ talks.
Rainer Grimm (another really swell guy I met in Moscow)
will talk about the functional capabilities of modern C++,
and how they fare against Haskell.
Curently, three out of ten talks are dedicated to C++,
one to Erlang (yay!),
one to SaC (a single assignment variant of C),
and one to F#.
Other lectures seem to be lanuage agnostic, based on the currently available abstracts.
From the above,
we can deduce that C++ is currently the most popular
and most promissing functional programming language. Right? :)
Implementing Qt data models is anything but fun.
For that reason,
I don’t blame anyone for writing a
beginResetModel / endResetModel
combo any time a more complex change has happened.
That is something that we all do,
that is something that even Qt people do in their classes
(see QSqlTableModel::select for example).
Resetting a model is an expensive process
that can induce overly many transition animations in QML views.
And it is often not really necessary.
Updates are rarely that complex to warrant
invalidation of all data in the model.
Usually, they only consist of a few additions or removals.