Artificial truth

The more you see, the less you believe.

[archives] [latest] | [homepage] | [atom/rss]

MAT2 0.3.0
Fri 03 August 2018 — download

There is a new version of MAT2, the 0.3.0, with some interesting changes and a new logo!

  • Better handling of office files: revisions and thumbnails are removed
  • Resilience on corrupted files: MAT2 is now failing in a graceful way as early as possible on corrupted files.
  • 100% code coverage, including branches, as demonstrated in the continuous integration. This helped a lot to fix corner-case issues.
  • MAT2 is now available for fedora thanks to the work of atenart
  • The continuous integration is using various linters ( mypy, bandit, pyflakes, pylint). They didn't find many issues, but they might prevent some from getting introduced.
  • libmat2 is no longer using print to show messages, but uses a proper logging system.
  • There is now a flag to ask MAT2 if it has all the dependencies that it needs to work.
  • The logo was originally done by someone called marie rose for the first iteration of MAT, but never actually used. When I asked Dennis Fink (MAT's maintainer while I was MIA) if he was ok with me deprecating MAT in favour of MAT2, he said that he would like for MAT2 to use this logo instead.

But there is also a new major exciting feature!

Nautilus plugin

As said in the previous blogpost about MAT2, GUI are hard to design, and this is definitively out of my area of experience. This is was, as announced, MAT2 now comes with a file manager extension.

Most of the MAT2 users are using it on Tails, which is using GNOME as a desktop environment. And so are Fedora, Ubuntu and Debian, which are the most popular Linux distributions. The file manager of GNOME is Files, also known as Nautilus, and is offering python3 bindings.

A friend of mine, atenart did most of the actual work, including writing several prototypes, while I only did the boring part: polishing, background processing and adding bells and whistles. Meaning that if you find the extension nice, you should thank him, and if you find bugs, they're mine.

And here is what it's looking like:

Contextual menu

Mat2's contextual menu

Shiny progressbar

Mat2 cleaning files

Sad notification

Mat2 notification upon being unable to clean everything

Fancy popup to display failure

Mat2's alert popup to display failed cleans


I'm pretty happy about the steady pace of development, got some interesting feedback, a realistic roadmap, volunteers to package'n'downstream, and I'm having fun writing code again: hurray.

As usual, help is more than welcome.