jump to navigation

Major Release December 29, 2014

Posted by Sandro Andrade in planetkde-sandroandrade.

It’s been awhile since my last smoke signals here in Planet KDE. I’d been quiet, a bit outdated on KDE things, focusing some efforts and calming down my heart for being so long away from this amazing community. What I’ve been doing, you ask ? Well, after six long tiring years, I’ve finished my Ph.D. in Computer Science last week. The defense was quite smooth and it’s rewarding to know that you did your best and left the game glad about the work you’ve done.

Doing a Ph.D. is experienced differently by different people. I’ve learned to exercise my patience, to be more pragmatic about my goals, to cope with my anxiety … I’ve survived and got away several times from The Valley of Shit :), met some deplorable Ph.D’s and another inspiring ones.


Although I’d been using Qt and KDE since 1999-2000, it was only in 2008 when I became more seriously involved in KDE. I was already in academia and that gives you the chance to meet some insane 😉 students like Tomaz Canabrava.

Since then, we had a lot of things to be proud of: we made nice friends around the world, we strengthened local KDE communities in Brazil, we’ve been representing KDE for seven years in a row in major FLOSS Brazilian conferences. There were countless talks, short courses, hunting for new contributors, the first Akademy-BR and two LaKademies. That makes me happy but I’m, above all, a programmer. I’ve been missing the commits I haven’t done, the features I haven’t implemented and the bugs I haven’t fixed. I joined KDE already chased by that voice: “you have a Ph.D. to complete …” and it’s quite easy to let your passions dominate the priorities of your tasks 🙂 I’m not saying that I hated my Ph.D. research topic. Not at all. But KDE took me like a burst of passion 🙂 I’m glad I did not give up of my academic carrier and this “major release” makes me free to experience being part of KDE in a different way. So, the bottom line is: you can count on me for KDE in 2015 🙂 I just need some couple weeks for getting some rest.

For those of you who are wondering about what I’ve done in my research, it’s mostly related to automating the design of architectures for a sort of software-intensive systems named self-adaptive systems (those which regulate themselves in response to changes in the operational environment and in the software itself). We focused on a particular class of self-adaptive systems that adopts control theory as its underlying self-managing mechanism. We proposed a generic meta-modeling language (named DuSE) for systematically capturing the prominent design dimension in such a domain and applied techniques from multi-objective optimization field to reveal those candidate architectures that minimize/maximize some quality attributes of interest. We’ve been using our approach to generate effective self-managing architectures for self-adaptive web servers and elastic cluster platforms for MapReduce applications. Further information may be found here and here.

Two development outcomes of my research are directly related to Qt and KDE: the QtModeling and QtOptimization Qt5 modules and the DuSE-MT tool. QtModeling provides the basic features for handling software models and serializing them by using the XMI format. It also implements the metamodels of MOF, UML, and DuSE modeling languages. QtOptimization is an application framework for solving multi-objective optimization problems. So far, only the NSGA-II evolutionary algorithm is available, along with a bunch of common operators for selection, crossover, and mutation. DuSE-MT is a tool that integrates the features provided by QtModeling and QtOptimization in order to evaluate the approach I proposed in my Ph.D. thesis. Its architecture, however, was conceived to support the seamless integration of new features. Now, the plan is make the last polishments to have a first release of such modules. After that, maybe you can expect some model-related new features in Qt Creator and KDevelop 🙂 or an even more shining Umbrello :).

Well, that’s all for now, but just for a while 😉

See ya,

Announcing Subsurface 4.3 December 23, 2014

Posted by tumaix in planetkde-tomazcanabrava.
add a comment

The Subsurface development team proudly announces release 4.3 of Subsurface, an open source divelog and dive planning program for Windows, Mac and Linux.

Some of the changes since Subsurface 4.2

Subsurface now supports flexible filtering of the dive list. When the filter is opened,one can specify a combination of different criteria like tags, people who were on the dive, dive site, suit, etc. While filtering one can see how many dives
match any of the criteria, and how many dives match the combination of the selected criteria (see the panel below the main menu in the image below)

Subsurface main screen with filters

When editing a dive, one can now copy information about a dive and paste it into one or more other dives. This makes it easy to add the same equipment, buddies, tags or other aspects of a dive into a group of dives with similar characteristics.

The dive profile now offers an easy to understand tissue saturation graph that shows tissue saturation at any point during the dive. (See image below)

Cylinder bars and tissue saturation graph

In the dive profile one can turn on an improved visualization of the gas combinations used during a dive (aka “tank bar” with different gases represented by different colours, see image above).

Owners of the Heinrichs & Weikamp OSTC 2 and 3 as well as dive computers in the popular Suunto Vyper family of dive computers can configure the settings of their dive computers using Subsurface.

For a number of dive computers Subsurface now downloads additional data and shows them in a new tab on the screen. This includes (depending on the dive computer) information like battery levels, no fly times, Gradient Factors used during the dive, etc. This feature is enabled in all official Subsurface binaries and includes the Uemis Zurich SDA. When building from source this requires a custom version of libdivecomputer (as explained in the INSTALL file).

The dive planner now offers the ability to re-plan dives and to create duplicate dive plans in order to plan multiple scenarios.

We added support for several new dive computers including the Suunto EON Steel, Aeris A300 CD, and Aeris F11.

Subsurface can now import dive logs from Liquivision and Cochran software as well as the new Suunto DM5.

We made many improvements for UDDF and CSV import, UDDF export now complies with the latest version of the standard.

Many issues with the HTML export were addressed.

Initial support for closed circuit rebreathers (CCR) and pSCR was added. Dive logs from the Poseidon MkVI CCR can be imported. Visualization of dive logs as well as dive planning should work — but this feature is fairly early in its development and we assume that there may be a few bugs and mis-features hidden in this area. Here is a dive profile for a Poseidon MkVI:

CCR sample profile

Other notable improvements

  • Import of manually logged dives (e.g., from an existing paper logbook) is now much better documented in the user manual. Instead of having to individually enter each dive with the graphical profile editor users can add all their dives in a spreadsheet and import the data from there into Subsurface in one single operation.
  • Many other small improvements to the planner
  • Many small UI changes for better use on small displays (tighter columns and column headers on the dive list, the toolbox of icons no longer
    forces a minimum height of the profile, etc)
  • Improvements on HiDPI displays
  • We fixed an annoying bug where when starting to edit a dive the pop-up with completions would cover the edit line (this usually happened when editing tags)
  • For the (rather unusual) dive computers that send a heading event in every sample we automatically declutter the profile display now
  • The Windows installer is smarter: the 64bit installer refuses to install its binaries on a 32bit OS and conversely the installer warns you when installing 32bit binaries on a 64bit OS
  • Better synchronization with divelogs.de, including support for multiple tanks

Known bugs

  • There appears to be a bug in Qt: when changing the password needed authenticate with a proxy, Subsurface will not use the new password until after a restart