Free Software: Pimpl, libpeas, oledump, LibreOffice, and MySQL
-
FOSS Weekly #23.12: GNOME 44 Released, New carbonOS Distro, LUKS and More Linux Stuff
A new independent Linux distro named carbonOS is the highlight of this week, along with GNOME 44 releases.
-
Pimpl for Small Classes
The familiar solution for thick value classes that want to preserve binary compatibility is to use the pimpl pattern (private implementation), also known as d-pointer (pointer to data). In future versions of our class, we can freely change the contents of the pimpl (i.e. adding, removing, and/or modifying data members) but the binary compatibility of the public class gets preserved.
There's a minor variation of the pimpl pattern that can enable some performance improvements by not allocating the private data in all cases. The idea is pretty simple: move (some of) the data members in the public class, while still keeping a d-pointer data member.
This optimization makes a lot of sense, if the class that we're pimpling does not hold a lot of state. In general, there are multiple reasons why one may want to conditionally allocate the private data: [...]
-
Christian Hergert: libpeas-2
Now that GNOME 44 is out the door, I took some time to do a bunch of the refactoring I’ve wanted in libpeas for quite some time. For those not in the know, libpeas is the plugin engine behind applications like Gedit and Builder.
This does include an ABI break but
libpeas-1.0
andlibpeas-2
can be installed side-by-side.In particular, I wanted to remove a bunch of deprecated API that is well over a decade old. It wasn’t used for very long and causes libpeas to unnecessarily link against
gobject-introspection-1.0
.Additionally, there is no need for the
libpeas-gtk
library anymore. With GTK 4 came much more powerful list widgets. Combine that with radically different plugin UI designs, the “one stop plugin configuration widget” inlibpeas-gtk
just isn’t cutting it.Now that there is just the single library, using subdirectories in includes does not make sense. Just
#include
now. -
foss-north – Just one month left
As I blogged about earlier, life has been challenging the past months, but now things are getting back to normal. This means that some things are late, but also that I really want to do some things. foss-north is among these things.
[...]
In one month, April 23-25, foss-north 2023 will take place at Chalmers Conference Centre, in Gothenburg, Sweden.
-
Update: oledump.py Version 0.0.73
A small update to plugin_msi_info to provide extra info on streams. Indicator ! marks PE and CAB files. Indicator ? marks files that are not images (and are not marked with !). The idea is to first inspect streams marked with ! and ?.
-
How your donations helped LibreOffice and TDF in 2022
Donations to The Document Foundation help us to grow our community, run our infrastructure, organise events and share knowledge. And as a result, LibreOffice keeps on improving for all users! Many thanks to all of our supporters. Here's a quick infographic showing how we used your donations in 2022: [...]
-
Oracle’s MySQL HeatWave gets embedded machine learning capabilities
Building on its growing momentum in the market for hybrid transactional/analytical database management systems, Oracle Corp. today added machine learning capabilities, new automation features and improved performance on the Amazon Web Services Inc. cloud to its MySQL HeatWave product.