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.
Because we had approximately 40 merges (as of 19b5b53b2a) since the last blog post, here only the most relevant ones.
This pull request added
imag-diary-functionality, so one can configure which diary uses what kind of entry-creation (either minutely, hourly or daily).
Added helper iterators for the
imag-notesto use positional arguments.
imag-grep. Have a look at this crate to see how easy the imag ecosystem can be used to write basic tools and functionality.
imag-tagto use positional arguments.
fixed the header location in
libimagentrytag, which did not follow our conventions.
imagbinary to pass arguments which are auto-generated by
libimagrtfor all binaries.
imag-refto use positional args.
imag-counteras well as
libimagcounter, which are not that usable after all.
FoldResulthelper type, because these things can be done with
FromIteratorfrom the standard library.
So, to recap, we introduced three new tools in the imag codebase in the last
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
imag-contact. I hope to get
this done in the next four weeks, although I have to implement a
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
As soon as the
libimagcontact things basically work, I would love to start
libimagcalendar, which also requires me to get
So, still a lot to do.