Re: Dev environment setup

Tony Meyer <[email protected]> Sat, 2 Dec 2023 21:20:30 +1300
Newsgroups gmane.mail.spam.spambayes.devel
Message-ID <CAMkBFy=me3v7Evu1reLd0oxbAUZqTop+cG7SRa=uC4RqVYrp=g@mail.gmail.com>
--===============9200704843305025539==
Content-Type: multipart/alternative; boundary="0000000000007b07ee060b828f9b"

--0000000000007b07ee060b828f9b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

For what it's worth, of the storage backends in the sourceforge version:

* pickle: probably still best for the research tools since it's basically
just an in-memory dict that is dumped to disk
* dbm: this could be bsddb3, but also gdm and others. Out of date.
* Postgres: should still be fine - could be worth using if you already have
a Postgres server
* MySQL: same as Postgres (MariaDB also works with this)
* CDB: out of date
* ZODB: no idea if this would still work
* Zeo: probably doesn't work

I believe Skip's copy on Github already drops a bunch of these.

If you're not already using MySQL/MariaDB/postgres and aren't doing
training, then my guess would be that sqlite3 would likely be the best
storage backend to add. It's fast, has stdlib support, does everything
needed if you don't need concurrent access or replication, and should be
able to mostly use the existing SQLClassifier base class.

I could help/write a sqlite3 storage class if anyone needed that.

Factoring in the language can definitely help accuracy. I probably can't go
into too much detail on this, but I have used SpamBayes with language
detection additions in very large scale deployments with good results.

Ng=C4=81 mihi,
Tony

On Sat, 2 Dec 2023 at 2:04=E2=80=AFAM, Marko von Oppen <[email protected]=
> wrote:

> Hello John,
>
> in the last few days I did some additional work based on the code from
> here:
>
> https://github.com/mpwillson/spambayes3
>
> Here at least the Spambayes core functionality is already running under
> Python3 (There are other similar repositories available too).
>
> It supports also Berkeley DB. From my understanding Berkeley DB is not
> supported anymore by modern Linux distributions like Debian. So It's not =
an
> option for me.
>
> The code in the repository seems to support standard Python pickle and
> ZODB-pickle what is available  at least on modern Linux. From the
> comments in the code I assume that ZODB is the best option when you do no=
t
> want to use a real SQL database backend but I have not used Zope/ZODB on
> Windows for nearly 20 years. So I don't know if ZODB is an option for you=
.
> Maybe ZODB is easy available in pip.
>
> As I'm planning to use sb_filter.py, I re-activated MySQL as DB in the
> code there and it is running well against my old Spambayes database.
> PostgreSQL should work too.
>
> Currently I'm working on some modernization of this code, using argparse =
instead
> of getopt, logging module instaed of printf(), modern string formatting
> and so on. Also I'll do some SQL optimizations ("insert ... on duplicate
> key ...", specify charset on table creation and so on).
>
>
> Too I want to implement a new feature by adding support for "langdetect".
> As I get emails in different languages with overlapping words and very
> different Ham/Spam ratios I suppose tagging all words with the email's
> language could reasonable improve the results.
>
> I'll share my changes here https://github.com/mvoppen/spambayes3 soon.
>
>
> BR
>
> Marko
>
>
>
> Am 01.12.2023 um 02:39 schrieb John Cherney:
>
> I think I=E2=80=99ve gotten most of the code converted to Python 3.12. I=
=E2=80=99m at the
> point now where I have to get the database working. It looks like bsddb i=
s
> only supported up to 3.9. Its replacement is berkeleydb from Oracle, but
> I=E2=80=99d need to set up an account to download the installer. I=E2=80=
=99m assuming
> berkeleydb is freeware and redistributable, but I=E2=80=99d have to look =
into that.
> Before I go that far, though, is there a different database (maybe one
> already built into python, or a python friendly db) that you would
> recommend? Ideally, the db would be just a drop-in replacement for bsddb.
>
>
>
> Thanks,
>
> jwc
>
>
>
> *From:* John Cherney <[email protected]> <[email protected]>
> *Sent:* Saturday, November 18, 2023 6:07 PM
> *To:* Marko von Oppen <[email protected]> <[email protected]>; Skip
> Montanaro <[email protected]> <[email protected]>;
> [email protected]
> *Cc:* [email protected]
> *Subject:* RE: [spambayes-dev] Dev environment setup
>
>
>
> Thank you, Marko! That did help. I found DebugView at
> https://learn.microsoft.com/en-us/sysinternals/downloads/debugview. When
> I re-enable the spambayes add-in, I see the errors pop up in the debugvie=
w
> window. At this point, I haven=E2=80=99t had to install anything new. I=
=E2=80=99m playing
> around with the PATH and PYTHONPATH so the modules are found, and then
> adjusting code to python3. Fortunately, the changes fall within my limite=
d
> knowledge of python and ability to google. It isn=E2=80=99t fast progress=
, but it=E2=80=99s
> progress.
>
>
>
> For your other question: Spambayes with Python3, there is none that I
> could find. I=E2=80=99m hoping it=E2=80=99s just syntax changes that are =
required to get
> this running on a 64-bit MS Office install with Python3.
>
>
>
> Thanks!
>
> jwc
>
>
>
>
>
> *From:* Marko von Oppen <[email protected]>
> *Sent:* Thursday, November 16, 2023 7:38 PM
> *To:* John Cherney <[email protected]>; Skip Montanaro <
> [email protected]>; [email protected]
> *Cc:* [email protected]
> *Subject:* Re: [spambayes-dev] Dev environment setup
>
>
>
> Hello jwc,
>
> some 15 years ago I was a little bit involved in the development of the
> Outlook plugin. I do not remember much because I also switched to
> Thunderbird in 2007 and have not used Outlook since that nor did I develo=
p
> anything for Windows since that except some Python console scripting.
>
> I remember one thing, when you write that you see no output. In the
> development tools at that time there existed a Windows function
> "OutputDebugMsg()" and an application from Microsoft named "Debug Monitor=
"
> catching all debug output. If I remember correctly things like Python
> exceptions where redirected to that application if no other debugger
> running.
>
> I do not know if this mechanism still exists in modern Windows but maybe
> it could be a hint where to start searching.
>
> BR
>
> Marko
>
>
>
> Am 15.11.2023 um 04:48 schrieb John Cherney:
>
> Thank you for the info and support!
>
>
>
> Do either of you use the Outlook client, and if so, can you suggest and
> alternate spam filter? I agree gmail does a great job keeping out spam. I
> want to still use the Outlook client for my Microsoft email accounts.
> (Although I suppose I could be convinced to use their web client, but I
> think its spam filtering is just like the Outlook client)
>
>
>
> With the help of Google and StackOverflow, I was able to get the local
> code running with Python3.12 and get the Add In gets registered. But it h=
as
> the same issue as with the original 1.1a6 install. Outlook complains that
> there is a runtime error on loading of the Add In, and the add-in is
> disabled. Any ideas on where I could go to see that exception? I was hopi=
ng
> something would go in the EventViewer, or in a log file somewhere, but I
> haven=E2=80=99t found anything yet.
>
>
>
> Thanks,
>
> jwc
>
>
>
> *From:* Skip Montanaro <[email protected]>
> <[email protected]>
> *Sent:* Monday, November 13, 2023 2:57 PM
> *To:* [email protected]
> *Cc:* John Cherney <[email protected]> <[email protected]>;
> [email protected]
> *Subject:* Re: [spambayes-dev] Dev environment setup
>
>
>
> Thanks for responding Mark. As you indicated, SpamBayes has been on
> long-term hiatus. The biggest impressive for me are a) Gmail does a good
> job, and b) I've so far been unable to convince anyone with Windows
> packaging experience to update that side of things.
>
>
>
> That said, porting most of it to Python 3 isn't likely to be all that
> difficult. A couple of us have taken partial cracks at it.
>
>
>
> Skip
>
>
>
> On Mon, Nov 13, 2023, 10:13=E2=80=AFAM Mark Hammond <skippy.hammond@gmail=
.com>
> wrote:
>
> I don't think SpamBayes has any current developers and most work dried up
> even before Python 3 was ready. Modern Outlook also hasn't been tested. S=
o
> I suspect you are probably on your own here, but those of us left holding
> the keys would be happy to arrange any doc etc changes you might make get
> committed if possible.
>
> Cheers,
>
> Mark
>
> On 2023-11-12 10:57 p.m., John Cherney wrote:
>
> Is there a recommended set of versions of tools and libraries for
> Spambayes development? (In particular, is there a recommended setup for
> python 3.x?)
>
>
>
> I would like to get Spambayes to work on a Windows 10 64-bit machine. The
> current recommendation works on my machine: Use the 32-bit version of
> Office 365 Outlook and install Spambayes into a non-standard directory li=
ke
> C:/Spambayes. Given that the software works under those conditions on a
> 64-bit machine, it makes me think that there is some interaction (registr=
y
> key, etc) missing for Outlook 64-bit to recognize Spambayes. Maybe this i=
s
> something as simple as rebuilding the installer on a 64-bit machine? (Ok,
> realistically, I=E2=80=99m sure someone has already tried that.)
>
>
>
> Additionally, is there any way to see the runtime error being generated?
> Outlook 64-bit recognizes that Spambayes is there but generates this
> message in the Add-ins window: =E2=80=9CLoad Behavior: Not loaded. A runt=
ime error
> occurred during the loading of the COM Add-in.=E2=80=9D Where can I see t=
hat
> runtime error? Maybe it=E2=80=99s a problem that=E2=80=99s already been s=
olved? I remember
> seeing some DEP related issues with Outlook and/or the Spambayes plugin. =
I
> didn=E2=80=99t have any luck trying to disable DEP on the machine or disa=
ble it for
> Outlook (per the FAQ). Any other suggestions?
>
>
>
> Thanks,
>
> jwc
>
>
>
>
>
>
>
> _______________________________________________
>
> spambayes-dev mailing list
>
> [email protected]
>
> https://mail.python.org/mailman/listinfo/spambayes-dev
>
> _______________________________________________
> spambayes-dev mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/spambayes-dev
>
>
>
> _______________________________________________
>
> spambayes-dev mailing list
>
> [email protected]
>
> https://mail.python.org/mailman/listinfo/spambayes-dev
>
>
>
> _______________________________________________
> spambayes-dev mailing [email protected]://mail.python.org=
/mailman/listinfo/spambayes-dev
>
> --
>
> *Marko von Oppen - Technische Software*
> N=C3=BCrnberger Str. 43, 01187 Dresden
> <https://www.google.com/maps/search/N%C3%BCrnberger+Str.+43,+01187+Dresde=
n?entry=3Dgmail&source=3Dg>
> fon +49 (0)351 21118511, fax +49 (0)351 27229679
> e-mail [email protected] web www.von-oppen.com
> _______________________________________________
> spambayes-dev mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/spambayes-dev
>

--0000000000007b07ee060b828f9b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Hi,</div><div dir=3D"auto"><br></div><div dir=3D"auto">Fo=
r what it&#39;s worth, of the storage backends in the sourceforge version:<=
/div><div dir=3D"auto"><br></div><div dir=3D"auto">* pickle: probably still=
 best for the research tools since it&#39;s basically just an in-memory dic=
t that is dumped to disk</div><div dir=3D"auto">* dbm: this could be bsddb3=
, but also gdm and others. Out of date.</div><div dir=3D"auto">* Postgres: =
should still be fine - could be worth using if you already have a Postgres =
server</div><div dir=3D"auto">* MySQL: same as Postgres (MariaDB also works=
 with this)</div><div dir=3D"auto">* CDB: out of date</div><div dir=3D"auto=
">* ZODB: no idea if this would still work</div><div dir=3D"auto">* Zeo: pr=
obably doesn&#39;t work</div><div dir=3D"auto"><br></div><div dir=3D"auto">=
I believe Skip&#39;s copy on Github already drops a bunch of these.</div><d=
iv dir=3D"auto"><br></div><div dir=3D"auto">If you&#39;re not already using=
 MySQL/MariaDB/postgres and aren&#39;t doing training, then my guess would =
be that sqlite3 would likely be the best storage backend to add. It&#39;s f=
ast, has stdlib support, does everything needed if you don&#39;t need concu=
rrent access or replication, and should be able to mostly use the existing =
SQLClassifier base class.</div><div dir=3D"auto"><br></div><div dir=3D"auto=
">I could help/write a sqlite3 storage class if anyone needed that.</div><d=
iv dir=3D"auto"><br></div><div dir=3D"auto">Factoring in the language can d=
efinitely help accuracy. I probably can&#39;t go into too much detail on th=
is, but I have used SpamBayes with language detection additions in very lar=
ge scale deployments with good results.</div><div dir=3D"auto"><br></div><d=
iv dir=3D"auto">Ng=C4=81 mihi,</div><div dir=3D"auto">Tony</div><div><br><d=
iv class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sat, 2 De=
c 2023 at 2:04=E2=80=AFAM, Marko von Oppen &lt;<a href=3D"mailto:marko@von-=
oppen.com">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;borde=
r-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><u>=
</u>

 =20
   =20
 =20
  <div>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">Hello John,</font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">in the last few days I did some additional
        work based on the code from here:</font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
"><a href=3D"https://github.com/mpwillson/spambayes3" target=3D"_blank" sty=
le=3D"font-family:Calibri">https://github.com/mpwillson/spambayes3</a></fon=
t></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">Here at least the Spambayes core
        functionality is already running under Python3 (There are other
        similar repositories available too).<br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">It supports also Berkeley DB. From my
        understanding Berkeley DB is not supported anymore by modern
        Linux distributions like Debian. So It&#39;s not an option for me.<=
br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">The code in the repository seems to support
        standard Python pickle and ZODB-pickle what is available=C2=A0 at
        least on modern Linux. </font><font face=3D"Calibri" style=3D"font-=
family:Calibri;color:rgb(0,0,0)">From the
        comments in the code I assume that ZODB is the best option when
        you do not want to use a real SQL database backend but I h</font><f=
ont face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)">ave not=
 used Zope/ZODB on Windows for nearly 20
        years. So I don&#39;t know if ZODB is an option for you. Maybe ZODB
        is easy available in pip. <br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">As I&#39;m planning to use </font><font face=3D"Courier New, Courier, mon=
ospace" style=3D"font-family:&quot;Courier New&quot;,Courier,monospace;colo=
r:rgb(0,0,0)">sb_filter.py</font><font face=3D"Calibri" style=3D"font-famil=
y:Calibri;color:rgb(0,0,0)">, I re-activated MySQL as DB in the code there
        and it is running well against my old Spambayes database.
        PostgreSQL should work too.<br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">Currently I&#39;m working on some modernization
        of this code, using </font><font face=3D"Courier New, Courier, mono=
space" style=3D"font-family:&quot;Courier New&quot;,Courier,monospace;color=
:rgb(0,0,0)">argparse </font><font face=3D"Calibri" style=3D"font-family:Ca=
libri;color:rgb(0,0,0)">instead of </font><font face=3D"Courier New, Courie=
r, monospace" style=3D"font-family:&quot;Courier New&quot;,Courier,monospac=
e;color:rgb(0,0,0)">getopt</font><font face=3D"Calibri" style=3D"font-famil=
y:Calibri;color:rgb(0,0,0)">, </font><font face=3D"Courier New, Courier, mo=
nospace" style=3D"font-family:&quot;Courier New&quot;,Courier,monospace;col=
or:rgb(0,0,0)">logging </font><font face=3D"Calibri" style=3D"font-family:C=
alibri;color:rgb(0,0,0)">module instaed of </font><font face=3D"Courier New=
, Courier, monospace" style=3D"font-family:&quot;Courier New&quot;,Courier,=
monospace;color:rgb(0,0,0)">printf()</font><font face=3D"Calibri" style=3D"=
font-family:Calibri;color:rgb(0,0,0)">, modern string formatting and so on.=
 Also I&#39;ll
        do some SQL optimizations (&quot;</font><font face=3D"Courier New, =
Courier, monospace" style=3D"font-family:&quot;Courier New&quot;,Courier,mo=
nospace;color:rgb(0,0,0)">insert ... on duplicate
        key ...</font><font face=3D"Calibri" style=3D"font-family:Calibri;c=
olor:rgb(0,0,0)">&quot;, specify charset on table
        creation and so on).</font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
"><br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">Too I want to implement a new feature by
        adding support for &quot;</font><font face=3D"Courier New, Courier,=
 monospace" style=3D"font-family:&quot;Courier New&quot;,Courier,monospace;=
color:rgb(0,0,0)">langdetect</font><font face=3D"Calibri" style=3D"font-fam=
ily:Calibri;color:rgb(0,0,0)">&quot;. As I get emails in different language=
s with
        overlapping words and very different Ham/Spam ratios I suppose
        tagging all words with the email&#39;s language could reasonable
        improve the results.<br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">I&#39;ll share my changes here <a href=3D"https://github.com/mvoppen/spam=
bayes3" target=3D"_blank" style=3D"font-family:Calibri">https://github.com/=
mvoppen/spambayes3</a>
        soon.</font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
"><br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">BR</font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
">Marko<br>
      </font></p></div><div>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
"><br>
      </font></p>
    <p><font face=3D"Calibri" style=3D"font-family:Calibri;color:rgb(0,0,0)=
"><br>
      </font></p>
    <div>Am 01.12.2023 um 02:39 schrieb John
      Cherney:<br>
    </div>
    <blockquote type=3D"cite">
     =20
     =20
     =20
      <div>
        <p class=3D"MsoNormal">I think I=E2=80=99ve gotten most of the code
          converted to Python 3.12. I=E2=80=99m at the point now where I ha=
ve to
          get the database working. It looks like bsddb is only
          supported up to 3.9. Its replacement is berkeleydb from
          Oracle, but I=E2=80=99d need to set up an account to download the
          installer. I=E2=80=99m assuming berkeleydb is freeware and
          redistributable, but I=E2=80=99d have to look into that. Before I=
 go
          that far, though, is there a different database (maybe one
          already built into python, or a python friendly db) that you
          would recommend? Ideally, the db would be just a drop-in
          replacement for bsddb.
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Thanks,<u></u><u></u></p>
        <p class=3D"MsoNormal">jwc<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <div>
          <div style=3D"border-width:1pt medium medium;border-style:solid n=
one none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor cur=
rentcolor">
            <p class=3D"MsoNormal"><b>From:</b> John Cherney
              <a href=3D"mailto:[email protected]" target=3D"_blank">&l=
t;[email protected]&gt;</a> <br>
              <b>Sent:</b> Saturday, November 18, 2023 6:07 PM<br>
              <b>To:</b> Marko von Oppen <a href=3D"mailto:marko@von-oppen.=
com" target=3D"_blank">&lt;[email protected]&gt;</a>;
              Skip Montanaro <a href=3D"mailto:[email protected]" ta=
rget=3D"_blank">&lt;[email protected]&gt;</a>;
              <a href=3D"mailto:[email protected]" target=3D"_blank=
">[email protected]</a><br>
              <b>Cc:</b> <a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a><br>
              <b>Subject:</b> RE: [spambayes-dev] Dev environment setup<u><=
/u><u></u></p>
          </div>
        </div>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Thank you, Marko! That did help. I found
          DebugView at <a href=3D"https://learn.microsoft.com/en-us/sysinte=
rnals/downloads/debugview" target=3D"_blank">
https://learn.microsoft.com/en-us/sysinternals/downloads/debugview</a>.
          When I re-enable the spambayes add-in, I see the errors pop up
          in the debugview window. At this point, I haven=E2=80=99t had to
          install anything new. I=E2=80=99m playing around with the PATH an=
d
          PYTHONPATH so the modules are found, and then adjusting code
          to python3. Fortunately, the changes fall within my limited
          knowledge of python and ability to google. It isn=E2=80=99t fast
          progress, but it=E2=80=99s progress.
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">For your other question: Spambayes with
          Python3, there is none that I could find. I=E2=80=99m hoping it=
=E2=80=99s just
          syntax changes that are required to get this running on a
          64-bit MS Office install with Python3.
          <u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal">Thanks!<u></u><u></u></p>
        <p class=3D"MsoNormal">jwc<u></u><u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <div>
          <div style=3D"border-width:1pt medium medium;border-style:solid n=
one none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor cur=
rentcolor">
            <p class=3D"MsoNormal"><b>From:</b> Marko von Oppen &lt;<a href=
=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>&g=
t;
              <br>
              <b>Sent:</b> Thursday, November 16, 2023 7:38 PM<br>
              <b>To:</b> John Cherney &lt;<a href=3D"mailto:jwcherney@hotma=
il.com" target=3D"_blank">[email protected]</a>&gt;;
              Skip Montanaro &lt;<a href=3D"mailto:[email protected]=
" target=3D"_blank">[email protected]</a>&gt;;
              <a href=3D"mailto:[email protected]" target=3D"_blank=
">[email protected]</a><br>
              <b>Cc:</b> <a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a><br>
              <b>Subject:</b> Re: [spambayes-dev] Dev environment setup<u><=
/u><u></u></p>
          </div>
        </div>
        <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        <p>Hello jwc,<u></u><u></u></p>
        <p>some 15 years ago I was a little bit involved in the
          development of the Outlook plugin. I do not remember much
          because I also switched to Thunderbird in 2007 and have not
          used Outlook since that nor did I develop anything for Windows
          since that except some Python console scripting.<u></u><u></u></p=
>
        <p>I remember one thing, when you write that you see no output.
          In the development tools at that time there existed a Windows
          function &quot;OutputDebugMsg()&quot; and an application from Mic=
rosoft
          named &quot;Debug Monitor&quot; catching all debug output. If I r=
emember
          correctly things like Python exceptions where redirected to
          that application if no other debugger running.<u></u><u></u></p>
        <p>I do not know if this mechanism still exists in modern
          Windows but maybe it could be a hint where to start searching.<u>=
</u><u></u></p>
        <p>BR<u></u><u></u></p>
        <p>Marko<u></u><u></u></p>
        <p><u></u>=C2=A0<u></u></p>
        <div>
          <p class=3D"MsoNormal">Am 15.11.2023 um 04:48 schrieb John
            Cherney:<u></u><u></u></p>
        </div>
        <blockquote style=3D"margin-top:5pt;margin-bottom:5pt">
          <p class=3D"MsoNormal">Thank you for the info and support! <u></u=
><u></u></p>
          <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
          <p class=3D"MsoNormal">Do either of you use the Outlook client,
            and if so, can you suggest and alternate spam filter? I
            agree gmail does a great job keeping out spam. I want to
            still use the Outlook client for my Microsoft email
            accounts. (Although I suppose I could be convinced to use
            their web client, but I think its spam filtering is just
            like the Outlook client)<u></u><u></u></p>
          <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
          <p class=3D"MsoNormal">With the help of Google and
            StackOverflow, I was able to get the local code running with
            Python3.12 and get the Add In gets registered. But it has
            the same issue as with the original 1.1a6 install. Outlook
            complains that there is a runtime error on loading of the
            Add In, and the add-in is disabled. Any ideas on where I
            could go to see that exception? I was hoping something would
            go in the EventViewer, or in a log file somewhere, but I
            haven=E2=80=99t found anything yet.
            <u></u><u></u></p>
          <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
          <p class=3D"MsoNormal">Thanks,<u></u><u></u></p>
          <p class=3D"MsoNormal">jwc<u></u><u></u></p>
          <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
          <div style=3D"border-width:1pt medium medium;border-style:solid n=
one none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor cur=
rentcolor">
            <p class=3D"MsoNormal"><b>From:</b> Skip Montanaro <a href=3D"m=
ailto:[email protected]" target=3D"_blank">
                &lt;[email protected]&gt;</a> <br>
              <b>Sent:</b> Monday, November 13, 2023 2:57 PM<br>
              <b>To:</b> <a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a><br>
              <b>Cc:</b> John Cherney <a href=3D"mailto:[email protected]=
om" target=3D"_blank">&lt;[email protected]&gt;</a>;
              <a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a><br>
              <b>Subject:</b> Re: [spambayes-dev] Dev environment setup<u><=
/u><u></u></p>
          </div>
          <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
          <div>
            <p class=3D"MsoNormal">Thanks for responding Mark. As you
              indicated, SpamBayes has been on long-term hiatus. The
              biggest impressive for me are a) Gmail does a good job,
              and b) I&#39;ve so far been unable to convince anyone with
              Windows packaging experience to update that side of
              things.<u></u><u></u></p>
            <div>
              <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
            </div>
            <div>
              <p class=3D"MsoNormal">That said, porting most of it to
                Python 3 isn&#39;t likely to be all that difficult. A coupl=
e
                of us have taken partial cracks at it.<u></u><u></u></p>
            </div>
            <div>
              <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
            </div>
            <div>
              <p class=3D"MsoNormal">Skip<u></u><u></u></p>
            </div>
          </div>
          <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
          <div>
            <div>
              <p class=3D"MsoNormal">On Mon, Nov 13, 2023, 10:13=E2=80=AFAM=
 Mark
                Hammond &lt;<a href=3D"mailto:[email protected]" tar=
get=3D"_blank">[email protected]</a>&gt;
                wrote:<u></u><u></u></p>
            </div>
            <blockquote style=3D"border-width:medium medium medium 1pt;bord=
er-style:none none none solid;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.=
8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
              <div>
                <p>I don&#39;t think SpamBayes has any current developers
                  and most work dried up even before Python 3 was ready.
                  Modern Outlook also hasn&#39;t been tested. So I suspect
                  you are probably on your own here, but those of us
                  left holding the keys would be happy to arrange any
                  doc etc changes you might make get committed if
                  possible.<u></u><u></u></p>
                <p>Cheers,<u></u><u></u></p>
                <p>Mark<u></u><u></u></p>
                <div>
                  <p class=3D"MsoNormal">On 2023-11-12 10:57 p.m., John
                    Cherney wrote:<u></u><u></u></p>
                </div>
                <blockquote style=3D"margin-top:5pt;margin-bottom:5pt">
                  <div>
                    <p class=3D"MsoNormal">Is there a
                      recommended set of versions of tools and libraries
                      for Spambayes development? (In particular, is
                      there a recommended setup for python 3.x?)
                      <u></u><u></u></p>
                    <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
                    <p class=3D"MsoNormal">I would like
                      to get Spambayes to work on a Windows 10 64-bit
                      machine. The current recommendation works on my
                      machine: Use the 32-bit version of Office 365
                      Outlook and install Spambayes into a non-standard
                      directory like C:/Spambayes. Given that the
                      software works under those conditions on a 64-bit
                      machine, it makes me think that there is some
                      interaction (registry key, etc) missing for
                      Outlook 64-bit to recognize Spambayes. Maybe this
                      is something as simple as rebuilding the installer
                      on a 64-bit machine? (Ok, realistically, I=E2=80=99m =
sure
                      someone has already tried that.)<u></u><u></u></p>
                    <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
                    <p class=3D"MsoNormal">Additionally,
                      is there any way to see the runtime error being
                      generated? Outlook 64-bit recognizes that
                      Spambayes is there but generates this message in
                      the Add-ins window: =E2=80=9CLoad Behavior: Not loade=
d. A
                      runtime error occurred during the loading of the
                      COM Add-in.=E2=80=9D Where can I see that runtime err=
or?
                      Maybe it=E2=80=99s a problem that=E2=80=99s already b=
een solved? I
                      remember seeing some DEP related issues with
                      Outlook and/or the Spambayes plugin. I didn=E2=80=99t=
 have
                      any luck trying to disable DEP on the machine or
                      disable it for Outlook (per the FAQ). Any other
                      suggestions?<u></u><u></u></p>
                    <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
                    <p class=3D"MsoNormal">Thanks,<u></u><u></u></p>
                    <p class=3D"MsoNormal">jwc<u></u><u></u></p>
                    <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
                    <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
                  </div>
                  <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
                  <pre style=3D"font-family:monospace">____________________=
___________________________<u style=3D"font-family:monospace"></u><u style=
=3D"font-family:monospace"></u></pre>
                  <pre style=3D"font-family:monospace">spambayes-dev mailin=
g list<u style=3D"font-family:monospace"></u><u style=3D"font-family:monosp=
ace"></u></pre>
                  <pre style=3D"font-family:monospace"><a href=3D"mailto:sp=
[email protected]" target=3D"_blank" style=3D"font-family:monospace">s=
[email protected]</a><u style=3D"font-family:monospace"></u><u style=
=3D"font-family:monospace"></u></pre>
                  <pre style=3D"font-family:monospace"><a href=3D"https://m=
ail.python.org/mailman/listinfo/spambayes-dev" target=3D"_blank" style=3D"f=
ont-family:monospace">https://mail.python.org/mailman/listinfo/spambayes-de=
v</a><u style=3D"font-family:monospace"></u><u style=3D"font-family:monospa=
ce"></u></pre>
                </blockquote>
              </div>
              <p class=3D"MsoNormal">______________________________________=
_________<br>
                spambayes-dev mailing list<br>
                <a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a><br>
                <a href=3D"https://mail.python.org/mailman/listinfo/spambay=
es-dev" target=3D"_blank">https://mail.python.org/mailman/listinfo/spambaye=
s-dev</a><u></u><u></u></p>
            </blockquote>
          </div>
          <p class=3D"MsoNormal" style=3D"margin-bottom:12pt"><u></u>=C2=A0=
<u></u></p>
          <pre style=3D"font-family:monospace">____________________________=
___________________<u style=3D"font-family:monospace"></u><u style=3D"font-=
family:monospace"></u></pre>
          <pre style=3D"font-family:monospace">spambayes-dev mailing list<u=
 style=3D"font-family:monospace"></u><u style=3D"font-family:monospace"></u=
></pre>
          <pre style=3D"font-family:monospace"><a href=3D"mailto:spambayes-=
[email protected]" target=3D"_blank" style=3D"font-family:monospace">spambayes=
[email protected]</a><u style=3D"font-family:monospace"></u><u style=3D"font-=
family:monospace"></u></pre>
          <pre style=3D"font-family:monospace"><a href=3D"https://mail.pyth=
on.org/mailman/listinfo/spambayes-dev" target=3D"_blank" style=3D"font-fami=
ly:monospace">https://mail.python.org/mailman/listinfo/spambayes-dev</a><u =
style=3D"font-family:monospace"></u><u style=3D"font-family:monospace"></u>=
</pre>
        </blockquote>
        <div>
          <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre style=3D"font-family:monospace">________________________________=
_______________
spambayes-dev mailing list
<a href=3D"mailto:[email protected]" target=3D"_blank" style=3D"font=
-family:monospace">[email protected]</a>
<a href=3D"https://mail.python.org/mailman/listinfo/spambayes-dev" target=
=3D"_blank" style=3D"font-family:monospace">https://mail.python.org/mailman=
/listinfo/spambayes-dev</a>
</pre>
    </blockquote>
    <div>-- <br>
      <p><strong style=3D"color:rgb(12,22,249)">Marko von Oppen - Technisch=
e
          Software</strong><br>
        <a href=3D"https://www.google.com/maps/search/N%C3%BCrnberger+Str.+=
43,+01187+Dresden?entry=3Dgmail&amp;source=3Dg">N=C3=BCrnberger Str. 43, 01=
187 Dresden</a><br>
        fon +49 (0)351 21118511,
        fax +49 (0)351 27229679<br>
        e-mail <a style=3D"text-decoration:none;color:rgb(12,22,249)" href=
=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a> w=
eb
        <a style=3D"text-decoration:none;color:rgb(12,22,249)" href=3D"http=
s://www.von-oppen.com/" target=3D"_blank">www.von-oppen.com</a>
      </p>
    </div>
  </div>

_______________________________________________<br>
spambayes-dev mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">spambayes-dev=
@python.org</a><br>
<a href=3D"https://mail.python.org/mailman/listinfo/spambayes-dev" rel=3D"n=
oreferrer" target=3D"_blank">https://mail.python.org/mailman/listinfo/spamb=
ayes-dev</a><br>
</blockquote></div></div>

--0000000000007b07ee060b828f9b--

--===============9200704843305025539==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
spambayes-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/spambayes-dev

--===============9200704843305025539==--