email rss
What's coming up in imag (29)
Oct 8, 2017
3 minutes read

This is the 29th iteration on what happened in the last four weeks in the imag project, the text based personal information management suite for the commandline.

imag is a personal information management suite for the commandline. Its target audience are commandline- and power-users. It does not reimplement personal information management (PIM) aspects, but re-uses existing tools and standards to be an addition to an existing workflow, so one does not have to learn a new tool before beeing productive again. Some simple PIM aspects are implemented as imag modules, though. It gives the user the power to connect data from different existing tools and add meta-information to these connections, so one can do data-mining on PIM data.

What happenend?

Because we had approximately 40 merges (as of 19b5b53b2a) since the last blog post, here only the most relevant ones.

  • 05c7467866 This pull request added imag-diary-functionality, so one can configure which diary uses what kind of entry-creation (either minutely, hourly or daily).
  • b4e6200eab Added helper iterators for the libimagstore.
  • a5951e6951 changed imag-notes to use positional arguments.
  • b853e35a05 introduced imag-grep. Have a look at this crate to see how easy the imag ecosystem can be used to write basic tools and functionality.
  • d97b77c30c changed imag-tag to use positional arguments.
  • 4b906f27b1 fixed the header location in libimagentrytag, which did not follow our conventions.
  • e7ec39bdcc fixed the imag binary to pass arguments which are auto-generated by libimagrt for all binaries.
  • 1e7e6ab601 changed imag-ref to use positional args.
  • f8d6789dd9 added imag-gps.
  • d8055b4553 removed imag-counter as well as libimagcounter, which are not that usable after all.
  • ecc8cc4567 removed the FoldResult helper type, because these things can be done with FromIterator from the standard library.
  • 19b5b53b2a added imag-mv.

So, to recap, we introduced three new tools in the imag codebase in the last weeks: imag-grep, imag-gps and imag-mv. Though these are rather simple tools (all of them are “plumbing”), we were able to fix a lot of bugs when implementing these tools.

What will happen

Right now I’m working on libimagcontact and imag-contact. I hope to get this done in the next four weeks, although I have to implement a rust-vobject high-level interface for it, which is work-in-progress at best.

I’m also playing around with cursive to implement a really basic terminal user interface for viewing imag entries. But that is highly experimental and I don’t think I can come up with something which can be tried out in the next four weeks… I would even be surprised if I can come with something basic until christmas.

As soon as the libimagcontact things basically work, I would love to start implementing libimagcalendar, which also requires me to get rust-vobject “ready-ish”.

So, still a lot to do.

Back to posts