Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Are there any "advanced" tutorial on GNUS scoring?

7 views
Skip to first unread message

Oleksandr Gavenko

unread,
Mar 31, 2013, 11:34:50 AM3/31/13
to info-gnu...@gnu.org
Today I make my fifth attempt to configure GNUS scoring. And again I fail to
do this.

Root of failure:

* huge and complicated official documentation
* incomplete or over-complicated examples in Internet
* foreign ~/.gnus.el looks too cryptic

--
Best regards!


Adam Sjøgren

unread,
Mar 31, 2013, 12:11:21 PM3/31/13
to info-gnu...@gnu.org
Oleksandr Gavenko <gave...@gmail.com> writes:

> Today I make my fifth attempt to configure GNUS scoring. And again I
> fail to do this.

The easiest way to get help is often:

* Describe what you want to happen
* Describe what you did
* Describe what you expected to happen
* Describe what happened instead

I only use scoring as a rudimentary "kill file" myself (using only two
levels: not shown at all and shown as already read), but if you provide
some details, maybe somebody can help you.

Complaining about the documentation in general terms is unlikely to
result in any specific improvements :-)

Best regards,

Adam

--
"The world is short of delimiters," says Don. Adam Sj�gren
as...@koldfront.dk


Oleksandr Gavenko

unread,
Mar 31, 2013, 3:10:36 PM3/31/13
to info-gnu...@gnu.org
On 2013-03-31, Adam Sjøgren wrote:

> Oleksandr Gavenko <gave...@gmail.com> writes:
>
>> Today I make my fifth attempt to configure GNUS scoring. And again I
>> fail to do this.
>
> The easiest way to get help is often:
>
> * Describe what you want to happen
> * Describe what you did
> * Describe what you expected to happen
> * Describe what happened instead
>
> I only use scoring as a rudimentary "kill file" myself (using only two
> levels: not shown at all and shown as already read), but if you provide
> some details, maybe somebody can help you.
>
> Complaining about the documentation in general terms is unlikely to
> result in any specific improvements :-)
>

OK! I like predictable behaviour and look for a way to read massive lists.

So default settings for adaptive scoring take me unwanted result.

================================================================

I set (in .emacs instead of .gnus.el):

(setq
gnus-show-threads t
gnus-thread-sort-functions '(gnus-thread-sort-by-date gnus-thread-sort-by-total-score)
)
(setq
gnus-use-scoring t
gnus-save-score t
gnus-score-expiry-days 60
;; gnus-decay-scores t
gnus-score-decay-constant 3
)
(setq gnus-score-interactive-default-score 100)

(setq gnus-use-adaptive-scoring t)
;; I use 100 for replay to me and 200 for essential mails, and -50 for bad mails.
(setq gnus-default-adaptive-score-alist
'(
(gnus-unread-mark)
(gnus-ticked-mark (followup 100))
(gnus-dormant-mark (followup 100))
;; (gnus-read-mark (followup -50))
;; (gnus-catchup-mark (subject -50))
(gnus-del-mark (followup -50))
(gnus-killed-mark (followup -50))
(gnus-kill-file-mark (from -9999))
))

;; Increase the score for followups to a sent article.
(eval-after-load 'gnus-score
'(progn
;; (add-hook 'message-sent-hook 'gnus-score-followup-article)
(add-hook 'message-sent-hook 'gnus-score-followup-thread)
))

(defun my-gnus-thread-score-function (&rest scores)
"If any followup have positive score assign greater available
score to thread, else assign lesser available score."
(let ( (max (apply 'max scores)) (min (apply 'min scores)) )
(if (< 0 max) max min)))
(setq gnus-thread-score-function #'my-gnus-thread-score-function)

and (in ~/.gnus/scores/all.SCORE):

(("from"
("Oleksandr Gavenko" 200 nil s))
("from"
("gavenkoa" 200 nil s))
("references"
("@gavenkoa.example.com" 100)
("@desktop.home.int" 100))
(mark-and-expunge -20)
(thread-mark-and-expunge -20))

================================================================

My goal:

*1*) kill trolls forever (by 'L' command I can do this permanently).

*2*) kill followups to trolls forever - DON"T KNOW HOW.

*3*) Show interesting or important person message anyway (by 'I' command or
by editing 'V e' score file I can do this permanently).

*4*) Show followups to my message anyway. Seems that this do job:

(add-hook 'message-sent-hook 'gnus-score-followup-thread)

*5*) After killing threads (by 'k' or 'C-M-k') expunge any followups to
killed messages forever - DON"T KNOW HOW. I try:

(setq gnus-use-adaptive-scoring t)

(setq gnus-default-adaptive-score-alist
(gnus-del-mark (followup -50))
(gnus-killed-mark (followup -50)))

but sometimes this not work. I read RSDN and SQLRU forum thought NNTP
gateway. Seems that underlie server software mess with article IDs. Do I
need '(thread -50)' instead of '(followup -50)'?

I like less typing. So try to exploit adaptive scoring which can convert 'r'
and 'K' marks into scores:

(setq gnus-default-adaptive-score-alist
(gnus-del-mark (followup -50))
(gnus-killed-mark (followup -50)))

when I leave group.

================================================================

Summary of questions:

* How to kill followups to trolls forever?

* If threads usually constructed fine by GNUS but (followup -50) do job bad
do I need use (thread -50)? Is "thread" new addition to GNUS (I don't
remember it when read GNUS manual from Emacs 22)?

--
Best regards!


W. Greenhouse

unread,
Mar 31, 2013, 4:46:33 PM3/31/13
to info-gnu...@gnu.org
Oleksandr Gavenko <gave...@gmail.com> writes:

> Summary of questions:
>
> * How to kill followups to trolls forever?

Try "L t" (Lower thread) on the troll's post.

> * If threads usually constructed fine by GNUS but (followup -50) do job bad
> do I need use (thread -50)? Is "thread" new addition to GNUS (I don't
> remember it when read GNUS manual from Emacs 22)?

(info "(gnus) Adaptive Scoring") of Emacs 24.2.1 mentions `followup' and
'message-id' as score types, but not `thread.' Perhaps you should try
with a larger increment.

--
BOFH excuse #241:

_Rosin_ core solder? But...


Anssi Saari

unread,
Apr 2, 2013, 6:39:14 AM4/2/13
to
Oleksandr Gavenko <gave...@gmail.com> writes:

> * How to kill followups to trolls forever?

I do this via manual edit of the score file. Find the score entry in the
from section and copy to followup section. I think this is the coolest
thing in Gnus. Well, next to scoring followups to my own posts.

BTW, since trolls usually change their aliases often I use temporary
score entries for those guys so the entries expire after they haven't
matched for a while.
0 new messages