Hi everyone,
I see that ~winter updated his gemlog so that his posts now appear in the aggregated gemlog and, hence, also on the front page of tilde.club. This is, of course, a very good thing indeed and I am happy that the front page is becoming ever more lively. On the other hand, ~winter posts to his gemlog way more frequently than most other tilde.club users, which might lead to his posts eclipsing the activity of other users.
I would therefore like to propose a change to how the "recent gemlog posts" on the main entry page at gemini://tilde.club/ are populated. I. e., I would like to propose that posts be filtered by user and that only one post per user is shown on the entry page. This way, the six "recent gemlog posts" mentioned on the entry page would be guaranteed to be by six different users, which would more adequately reflect the multi-user nature of tilde.club. I would not adapt the "complete list of aggregated gemlog posts" for now, since this list is a lot less prominent than the "recent gemlog posts"; but I am open to discussion on this point if anyone feels the need.
As for the implementation, limiting the "recent gemlog posts" by user is actually pretty easy if one invokes the black magic of awk:
awk 'i[$NF]++ < 1'
'$NF' is the last (whitespace separated) field of the line, which, in case of the aggregated gemlog, happens to be the author's username preceded by an inconsequential tilde character and followed by an inconsequential closing parenthesis. 'i[$NF]++' returns the current value stored in dictionary 'i' for key '$NF' (the author's username) – which is zero if it has not been initialized – and then increments this value by one. '< 1' checks if this value is below one, so fails as soon as the value has been incremented once. Since there is no further command following this rule, it is implied that all lines for which the condition holds true should be printed.
If you want to see an example of what the updated entry page would look like, please have a look at
gemini://tilde.club/~seifferth/sandbox/main-index/
If anyone has any thoughts on this proposal, I would be very happy to hear them. I also want to thank ~winter who already informed me that he feels this proposal is fair.
If none of you are opposed to this proposal, I would also kindly ask ~deepend to commit the additional line to the git repo at /var/gemini/. It is only a one-line change:
$ diff /var/gemini/index.gmi \ ~seifferth/public_gemini/sandbox/main-index/index.gmi 17a18 > awk 'i[$NF]++ < 1' |
Best
Frank