Hier ist die Aufzeichnung meines #TdF4 talks letzten Samstag über „Das Leben in Git (Annex)”:

https://media.ccc.de/v/tdf4-26-das-leben-in-git-annex-

 #git  #gitAnnex #radicale #opentimestamps #annextimelog #passwordStore

Das Leben in Git (Annex)

media.ccc.de

@adingbatponder @codemonkeymike Easily! 😉

`hellishly educational` is indeed a core #nix / #NixOS learning experience 😅 But I'm mostly past that pain now. #annextimelog says building this flake with all the customisations and auto-updating etc. took me ~35h in total. Still kinda many hours, but considering I'll reduce maintenance time drastically with this new system compared to the ever-breaking imperative distros, I consider it worth it.

I *finally* taught #annextimelog¹ to properly count total time without double-counting overlaps. ✨

Now a `atl ls work last week` shows the expected summed time. 🥳

One of annextimelog's selling points is that it can record arbitrarily many parallel things (something many other time tracker refuse to do), so this was a long-missing feature.

If you're unaware, annextimelog is my #cli time tracker that uses  #gitAnnex as backend.

¹https://gitlab.com/nobodyinperson/annextimelog

Yann Büchau / ⏱️ annextimelog · GitLab

git-annex based cli time tracker

GitLab

1½ years later, ⏱️ #annextimelog¹ exists and I use it daily to track things I do/work. Even simultaneous things, one of the key features I was missing in most other #FOSS #plainText time trackers such as #timewarrior or  #hledger.

Yesterday, @matrss announced an #annextimelog or rather  #gitAnnex plugin² to auto-export working hours from atl to the time management portal of @fzj. Wild! 😀

¹https://gitlab.com/nobodyinperson/annextimelog
²https://jugit.fz-juelich.de/m.risse/git-annex-remote-fzj-time-management

Yann Büchau / ⏱️ annextimelog · GitLab

git-annex based cli time tracker

GitLab

Quite helpful (e.g. for weekly recap meetings) to say

> atl list work last week

And it gives you a summary of what topics you worked on last week. 👍

#annextimelog

#TIL that Python's .rstrip(chars) removes any trailing given chars, not the exact given string.

Caused some weird duration displays in #annextimelog, now fixed:

https://gitlab.com/nobodyinperson/annextimelog/-/commit/2b753c84347281df0206078f1583a0171dd5db3d

#Python

fix pretty_duration cutting off trailing zeros (2b753c84) · Commits · Yann Büchau / ⏱️ annextimelog · GitLab

git-annex based cli time tracker

GitLab

#annextimelog is now in 📦 #nixpkgs unstable:

https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=annextimelog

Thanks @musicmatze for packaging it! 🥳

annextimelog is my  #gitAnnex-backed cli time tracker with versatile metadata support, tracking of simultaneous events and painless syncing:

https://gitlab.com/nobodyinperson/annextimelog

NixOS Search

@fabian I love it. Especially for parsing user input or handling API responses it's amazing. I used it first for parsing the #annextimelog cli.

🚀 #annextimelog v0.13 brings stopping and continuing events similar to #timewarrior

> atl tr work # clock in
> atl stop work at 12 # clock out (time is optional)
> atl cont work 30min ago # clock in again

Todo handling has been improved as well:

> atl tr meeting 2h todo='send mail' # record todo with event
> atl mod meeting today set todo+='pay bills' # add todo after the fact
> atl mod todo set todo-=mail # remove todo containing 'mail'

https://pypi.org/project/annextimelog/

annextimelog

Track time spent on projects, backed by Git Annex

PyPI
And I really love how #annextimelog works perfectly on my #SailfishOS phone (with #nix installed however, it needs #Python >=3.10), so I can log time, check in and out and list todos from whereever I am, even when offline, thanks to @joeyh's  #gitAnnex as a backend. So far git annex has been wonderful to work with as a backend. It provides conflict-free syncing, which is amazing in this case. We'll see if it gets too slow at some point for this use case (atl is quite slow already).