Discussion:
Dialog question
(too old to reply)
Jim S
2021-02-24 23:58:39 UTC
Permalink
In 40tude Dialog is there a way to use the 'plonks' without opening the
Scoring and actions window every time?
--
Jim S
VanguardLH
2021-02-25 13:29:31 UTC
Permalink
Post by Jim S
In 40tude Dialog is there a way to use the 'plonks' without opening
the Scoring and actions window every time?
Add a toolbar button to do the plonk action. Right-click on the toolbar
(message list pane), and select Configure buttons. In the customize
dialog, scroll down the Categories list to and select Message. In the
right-side list for Commands, scroll down until you find the action you
want to assign to a button, like Add [subject] PLONK rule. Drag it to
the toolbar to create a button for it.

I've never cared for using Dialog's plonk rule. It does not narrowly
focus on a particular sender, so you end up with false positives:
posters getting plonked that you did not intend to flag. In addition,
you might plonk someone, but do you really want to watch all the replies
to that person get started as a separate thread? I have not tested if
the plonk rule also works with the "Settings -> General Settings -> Misc
-> Watch/Ignore works on subthread" setting. However, flagging a posts
as ignored doesn't hide them unless you choose a default view that Hides
Ignored posts (Group -> Message Views).

Note that I also configure 40tude to download ALL of a message, not just
the overview headers. Normally you have to click on a message in the
message list pane to get the entire message to download. Until then,
all you have available for testing in your rules are the overview
headers. Those are often insufficient to focus on just the unwanted
poster. What if they used "invalid <***@invalid.com>" as their
command and address fields in their From header. LOTS of posters use
those as a generic identity. If you plonk on just the From header,
you'll plonk on everyone using a generic ID, including the good posters
that want to hide in Usenet by not deciding on a unique ID. A plonk
rule on "invalid <***@invalid.com>" is far too vague to target just
who you wanted to filter out. By having 40tude download all of a
message (all headers + body), your filters can test on any header. For
example, I often include the injection node in the PATH header, and that
is not an overview header, so you won't have it to test on when getting
just the overview headers. "Groups -> Default Group options ->
Retrieving -> Retrieve bodies for all ..." has Dialog retrieve all
headers plus bodies, so your filters can test on any header and even for
strings in the body of messages. Can't do that when testing on just the
overview headers. I retrieve entire messages because I found rules
based on just overview headers are often too vague resulting in lots of
false positive (which I wouldn't see until I switched to Show All view).

Another problem of using simple plonk rules which are based only on the
From header is you will be plonking posts from a good sender that a
forger is joe jobbing. Likely the forger will be using a different NNTP
server, so testing on the injection node in the PATH header targets the
forger rather than falsely targets the poster getting forged. The
forger might be using a different NNTP client than the victim, and other
headers might identify the victim or better identify the forger. When I
define a filter, and because I do not delete the unwanted message but
just hide them, I can review the performance of my filters to see which
ones need more tweaking, or add more criteria to catch a poster that
nymshifts a lot. For examples: David In Devon aka David G. Brooks aka
David B[rooks] aka BoaterDave aka David_B aka ~BD~ aka BD1 aka BD2 aka
Beady aka imbeady2 and more, and variants he uses for each; and pooh the
cat who nymshifts by trying to vary his From header where he still wants
to be seen as pooh but tries to avoid simple filters, like replacing
"oo" with "00", and adding punctuation, like hyphens. Regex works well
to catch variants, but often needs to incorporate other headers, and
often more than just the overview headers.

After deciding on hiding an unwanted poster or types of posts, and with
several posts to use for defining on what to filter, I use a regex
(regular expression) filter (Settings -> Scoring and Actions)to try to
narrowly focus on just the unwanted poster or message type. Since I'm
focusing on a particular unwanted poster or message type, I don't use
scoring, and instead use a regex filter that marks read and flags as
ignored the message, like:

!setcolor(<fg>;<bg>),ignore,markread <regex>

I set the color of the message based on the type of filter, so when I
switch to the Show All view the color will indicate which [type of]
filter got used. With the message flagged as ignored, it won't show
with the default Hide Ignored messages view. However, occasionally I
want to see if my rules have false positives, so I select Show All to
check, and tweak my filters accordingly to better target just the
unwanted posters or messages. I couldn't do that if I deleted the
unwanted messages. Also, if you delete a message, the "Watch/Ignore
works on subthread" setting won't work, and you'll see disconnected
threads for replies to the unwanted messages. Sometimes someone
mentions they got help in one of the hidden subthreads, I want to see,
so I can easily switch to the Show All view to look.

Simple plonk rules are unfocused, don't accomodate nymshifting or sock
puppeting. For example, lots of trolls, malcontents, and forgers use
mixmin (aka sewer) NNTP servers. A plonk rule won't work on those
trolls, but a PATH header rule works very well, but you need to retrieve
ALL headers to have the PATH header available for a filter. Just some
of my anonymous/remailer/mixmin filters are:

# Ignore anonymous posts through remailers.
...
!setcolor(white;red),ignore,markread Header {^Path: \S+(\bmail.?2.?news.*|\b(mixmin\.net|dizum\.net|reece\.net\.au|tioat\.net|mail2news\.nymu\.eu|gweep\.ca|bananasplit\.info|darner\.ixazon\.lan|tahina\.priv\.at|pseudonym\.nl)(!?\.?POSTED)?(!not-for-mail)?|!usenet-gateway|!sewer-output.*)$}
!setcolor(white;red),ignore,markread Message-ID {\b(remail(er)?|mix(min|master)|cypher|dizum|firenze|gilgamesh|lib erty|tatoo|ccs1|tioat\.net|rip\.ax\.lt|paranoi|reece\.net\.au)}
!setcolor(white;red),ignore,markread From {\b(remail(er)?|mix(min|master|nym)|dizum|rip\.ax\.lt|ecn\.org|mailinator\.com|paranoi(\w|-)*|test)\b}
!setcolor(white;red),ignore,markread From {^(\W|_)*(Nomen\s*Nescio|George\s*Orwell|Anne\s*Onime|Fritz\s*Wuehler|Dave\s*U.*\s*Random)\b.*<}
!setcolor(white;red),ignore,markread From {<\S+@bigappleremailer}
!setcolor(white;red),ignore,markread Header {(?-s)^Return-Path: .*(<mixmaster|\bremailer\b)}
!setcolor(white;red),ignore,markread Header {^(Mail-To-News-Contact|X-MailConverter)}
!setcolor(white;red),ignore,markread Header {(?-s)^Organization: .*Bigapple\s*Mail2News}
!setcolor(white;red),ignore,markread Header {^In-Reply-To: <\S+@.*mixmin\.net>}
...

Some test on overview headers. Some test on non-overview headers. The
PATH filters are very good to get rid of those troll sources. I might
have to review the filters posts, or see what was said in an otherwise
filtered post, and why you'll notice my filters do an ignore action
instead of delete. Also, if I don't want to see unwanted posters, I
certainly don't want to see any replies to them, and why my Dialog is
configured to apply filters to subthreads, too.
Jim S
2021-02-25 15:27:45 UTC
Permalink
Post by VanguardLH
Post by Jim S
In 40tude Dialog is there a way to use the 'plonks' without opening
the Scoring and actions window every time?
Add a toolbar button to do the plonk action. Right-click on the toolbar
(message list pane), and select Configure buttons. In the customize
dialog, scroll down the Categories list to and select Message. In the
right-side list for Commands, scroll down until you find the action you
want to assign to a button, like Add [subject] PLONK rule. Drag it to
the toolbar to create a button for it.
Lordy V, you do go on :)

I have used dialog for years, off and o,n and if push comes to shove, it
would be my favourite. I know all about the ways to hide a mail and other
markings and even how to set up scripts, but it still opens that damn
window to tell me that I have plonked somebody (with or without their
address)
My alternative is Microplanet Gravity which has the good manners not to
tell me what I already know, but it misses out on other things.
--
Jim S
VanguardLH
2021-02-25 16:32:19 UTC
Permalink
Post by Jim S
I have used dialog for years, off and o,n and if push comes to shove,
it would be my favourite. I know all about the ways to hide a mail
and other markings and even how to set up scripts, but it still opens
that damn window to tell me that I have plonked somebody (with or
without their address)
Yep, the "Add PLONK rule ..." opens a dialog. That's what the "..."
represents. You are adding a new rule to the existing set of rules, and
are given the chance to check or edit before accepting it, or even to
click Cancel if you realize that wasn't what you wanted to plonk. If
you don't get to see the rule, you don't know what the program added to
its rules list. Defining blind any rules is for boobs, because they are
lazy. That's also why any registry cleaners should present a list of
actions they intend to commit, but present the list to the user who is,
after all, that actual one responsible for making the choices.

Since you are familiar with writing scripts, why not write one for a
custom button that blindly adds a rule? Under Settings -> Scripting ->
Scripting, create a Custom script. Then add a toolbar button that runs
that script. BernD might help you write the script. Documenting the
functions and objects available at scope of user-defined scripts is not
something that Dialog's help ever provided. Could be there is an object
available for the rules set along with functions to create/delete/modify
the filters defined in that data object. If Dialog doesn't provide a
ruleslist object with functions to modify it then you're stuck with what
Dialog does provide for canned functionality.

Under Help -> Help contents -> Reference: Scripting, I did not see a
name for an object for the ruleset to which you could open a file handle
to read or write. However, looks like the rules are stored in the
<installpath>\filters.dat file which is a text file. So, you could use
the FileOpen(), FileRead(), FileWrite(), and FileClose() functions
available when writing a script to create/delete/modify rules in the
filters.dat file. It's possible Dialog loads the filters.dat file into
memory for quick access rather than a slow open and read of the text
file every time each message is exercised against all filters. If the
filters are cached into memory, you could edit the filters.dat file, but
the changes are not effected until you exit and reload Dialog. The
PLONK dialog where you define filters could have a refresh function to
ensure any changes get reflected by loading the filters into memory
again. That is, clicking Accept in the dialog could do the refresh that
you would have to manually instigate by reloading Dialog. However, how
much time would you spend creating such a script and debugging it versus
the time to use "Add a PLONK rule ..." and simple click on Accept?

My old URL to Dialog's script library (to reuse/modify pre-written
scripts) is http://www.40tude.com/dialog/wiki/index.php/Script_Library
but that's not valid anymore. Requires a login, but I suspect the
account no longer exists, plus the 40tude.com domain went dead (now
owned by a cybersquatter). Easier to see if someone already wrote what
you want, or was close enough that you could adapt their script. Don't
know if the script library survived xxx's abandonment of Dialog.

Just remember when using a script to write a new rule, you have to be
careful to which newsgroup(s) the rule applies. The "[<newsgroup>]"
section title dictates under which newsgroup(s) a rule applies. Before
your FileWrite(), you'll need to parse the filters.dat file to first
find the newsgroup section to where you want to apply your new rule.
Your script should ask if you want the new filter to apply only to the
currently selected newsgroup, to all newsgroups, or to which
newsgroup(s), which means you'll still get a prompt. Of course, you
could default your plonk script to scan for "[<newsgroup>]" to match the
current newsgroup, and add your new rule there; however, <newsgroup>
could be a list of newsgroups, so you'll need to parse each newsgroup
section delimiter. Also, you can wildcard newsgroups, like alt.politic*
or *.advocacy, so you'll have to check if the current newsgroup is
included under a wildcarded newsgroup section delimiter.

Blind editing of filters.dat is not so simple.
Bernd Rose
2021-02-25 18:34:53 UTC
Permalink
Post by Jim S
In 40tude Dialog is there a way to use the 'plonks' without opening the
Scoring and actions window every time?
Do you plan to ask this question every couple of months? The answer is
not likely to change:

Message-ID: <1omhmoiggim5a$***@b.rose.tmpbox.news.arcor.de>

| On Thu, 29th Oct 2020 10:21:25 +0000, Jim S wrote:
|
| > This is my reader of choice, but I find it annoying that every time I mark
| > an article as 'resd' using SUBJECT plonk rule or just the PLONK rule, a
| > window pops up to confirm. I want to keep the rules, but lose the pop-up
| > window.
| > Is there a setting?
|
| No setting, but you can create a script for each plonk version. Assign them
| to keyboard shortcuts, and you can plonk away.
|
| -------------------------------------------------------------------------------
| Program DoPlonk;
| Begin
| PostKey(79, false, true, false, false, false, false, false, false);
| ADo('AddPlonkFilter');
| End.
| -------------------------------------------------------------------------------
| Program DoSubjPlonk;
| Begin
| PostKey(79, false, true, false, false, false, false, false, false);
| ADo('AddSubjectPlonkFilter');
| End.
| -------------------------------------------------------------------------------
|
| First stuffing the keyboard buffer with Alt+o (to get the Scoring&Actions
| window closed, later on) may seem counter-intuitive. But the scripts work
| only this way round.
|
| Default plonk actions can be defined in the settings.ini of 40tude Dialog:
|
| -------------------------------------------------------------------------------
| [Scoring]
| DefPlonk=!delete
| DefSubjectPlonk=!ignore,markread
| -------------------------------------------------------------------------------
|
| Create the [Scoring] section, if it doesn't exist.
|
| Apart from all this: Marcus Mönnig showed the Scoring&Actions window on each
| <plonk> on purpose. Users should be able to manually adjust these plonks.
| It is better to double-check plonk filters to avoid accidentally adding
| too broad conditions.
|
| Moreover, plonk should not be used too freely. Huge lists slow Dialog down,
| eventually. For filtering subjects, the "ignore thread" command is usually
| sufficient. This is available directly via key <i> and the setting is stored
| for each ignored subthread directly inside the database. Scoring&Actions
| subject filters target recurring (new) threads containing identifiable text.
| For this to work well, manually edited RegEx filter conditions are usually
| required...
|
| HTH.
| Bernd
Jim S
2021-02-25 22:57:51 UTC
Permalink
Post by Bernd Rose
Post by Jim S
In 40tude Dialog is there a way to use the 'plonks' without opening the
Scoring and actions window every time?
Do you plan to ask this question every couple of months? The answer is
Just plain old senility I guess.
Sorry.
--
Jim S
Loading...