Published:

Jarle Aase

Monthly update, October, November 2024

bookmark 1 min read

These monthly updates may be a bit technical. They are written to my future self (to remember how I spent the month - and to motivate me to do at least something remotely interesting), to friends and colleagues (past and future) to have an idea about what I work on. And of course to potential clients for my C++ freelance business and fellow software developers.

The banner picture feature a blooming rose tree in my garden, taken today, December 1st 2024. Mother nature is quite confused about the weather here.

Projects

Next-App

Next-app is an upcoming GTD/productivity application for desktop and mobile.

In September I realized that the application needs to cache the users data locally, in stead of using the server for persistent storage.

Changing the application to use locally stored data was a much bigger change than I anticipated. But late in November, the implementation was complete and it works well. The application starts much faster than before, and once the initial handshake and replication is complete (normally less than a second), the the server is mostly idle.

I wrote some words about this in the engineering blog for NextApp.

I also implemented one of the core features in a GTD application, the Weekly Review.

Weekly Review

Weekly Review

One thing that has not worked well until now is hibernation on PC and suspension under Android. I spent a day experimenting with QT's various options to detect network availability, application state and desktop (DBus) integration under Linux. I'n not 100% satisfied yet, but the app now detects when it needs to re-connect to the server. Since the application depends on an uninterrupted stream of update events from the server, it needs to re-sync with the server if the connection was broken. Without this, the local application may diverge from the state on the server. Since the application supports multiple devices, and in the future integrations with other systems, the local state needs to be 100% identical to the state on the server at any time we use the app.