ability to answer to this
messages by email.
Our bug tracker (Roundup) is an example of the best of both world --
I can use both web-interface and email. I can create issues by email and
reply to email sent to me the tracker.
Oleg.
--
Oleg Broytmanhttp://phdru.name/
On Sun, Feb 12, 2017 at 07:26:29AM -0500, Alex Walters
<tritium-l...@sdamon.com> wrote:
> Is there any reason not to change...
Do not change things that work for the sake of a change. Isn't it a
good reason?
Oleg.
--
Oleg Broytmanhttp://phdru.name/
Consistency inside the
platform is more important than consistency between platforms, and other
w32 console programs understand [Ctrl]+[Z] as EOF and as far as I know
only [Ctrl]+[Z].
> --
> Steve
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
ethod-definitions-and-calls>`_
> for more detail.
If one thinks that ``self`` is too long and tedious to write she can
use ``s`` instead.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't di
> >
> > > `FAQ <https://docs.python.org/3/faq/design.html#why-does-
> > python-use-methods-for-some-functionality-e-g-list-index-
> > but-functions-for-other-e-g-len-list>`_
> > >
> > > for more detail.
> > >
> >
> > I don'
On Thu, Jan 12, 2017 at 06:14:58PM -0500, Random832 <random...@fastmail.com>
wrote:
> On Thu, Jan 12, 2017, at 13:13, Oleg Broytman wrote:
> >Works for me as expected:
> >
> > $ echo $LC_CTYPE
> > ru_RU.KOI8-R
> >
> > $ LC_MESSAGES=ru_RU.KOI
't
matter which encoding you use -- you'll have mojibake anyway.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Pyt
LLATE
ru_RU.UTF-8
$ echo $LANG
C
$ date
Thu Jan 12 19:06:13 MSK 2017
> Victor
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas ma
On Thu, Jan 12, 2017 at 06:10:35PM +0100, Victor Stinner
<victor.stin...@gmail.com> wrote:
> 2017-01-12 17:10 GMT+01:00 Oleg Broytman <p...@phdru.name>:
> >> Does it work to use a locale with encoding A for LC_CTYPE and a locale
> >> with encoding B for LC_MESSA
y and unzip.py that encode/decode filenames.
> I think people using non UTF-8 should solve encoding issue by themselves.
> People should use ASCII or UTF-8 always if they don't want to see mojibake.
Impossible. Even if I'd always use UTF-8 I still will receive a lot
of cp1251/cp866.
Ol
fault_mime_types():
> '.jpeg' : 'image/jpeg',
> '.jpg': 'image/jpeg',
> '.js' : 'application/javascript',
> +'.json' : 'application/json',
> '.ksh': 'text/plain',
> '.latex' : 'application/x-latex',
>
On Fri, Jun 30, 2017 at 03:10:08PM +0200, "Sven R. Kunze" <srku...@mail.de>
wrote:
> '+' is the perfect concat operator. I love Python for this feature.
+1 from me
> Regards,
> Sven
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.na
On Fri, Jun 30, 2017 at 12:09:52PM -0300, "Soni L." <fakedme...@gmail.com>
wrote:
> CPython should get a
You're welcome to create one. Go on, send your pull requests!
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Pr
Hi, All!
On Sat, Jul 01, 2017 at 04:22:31PM +, Brett Cannon <br...@python.org> wrote:
> On Fri, Jun 30, 2017, 10:38 Koos Zevenhoven, <k7ho...@gmail.com> wrote:
> > On Jun 30, 2017 5:16 PM, "Oleg Broytman" <p...@phdru.name> wrote:
> >
> >
On Wed, Apr 26, 2017 at 01:12:14PM +0200, Brice PARENT <cont...@brice.xyz>
wrote:
> def _set_multiple(self, **kwargs):
> for key, value in kwargs.items():
> setattr(self, key, value)
self.__dict__.update(kwargs)
Oleg.
--
Oleg Broytman
b.com/topper-123/85e27ffe261850eed150eac53d61b82d
>
> Because it's just a logger, log_reader can be further customized as
> necessary.
>
> In summary, I think that today it's unneccesarily complex to set up a log
> reader and the proposed function serves a general eno
sion in the standard
> library. Or in inversion Boolean option. Or something, to stop from having
> to copy code every time I need to ignore files.
Why not create a package and publish at PyPI? Then all you need is
pip install fnmatch_filter_false
in your virtual env.
Oleg.
--
On Wed, May 17, 2017 at 07:39:36PM +0200, "Sven R. Kunze" <srku...@mail.de>
wrote:
> It took me 5 days to see "foo = attrib()" in "foo = attr.ib()" What the
> hell means "ib"? ...
Guido has named it "deadly cute". (-:
>
my recollection is that nobody really came up with a convincing
> use-case for this (apologies if I missed any);
>
> - and if you really need this, you can do:
>
> locals().update(mapping)
>
> inside a class body or at the top-level of the module (but not inside a
> function).
s on a #! line.
In case of #!/usr/bin/env - yes. In case of #!/usr/bin/python -
combined one-letter arguments can be passed.
> --
> Greg
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't di
gt; >
> > Not all unix systems support passing extra arguments on a #! line.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mail
= math.e
>
> Unfortunately we can't use ???, ??? and √ as identifiers. :-(
-1. "There should be one-- and preferably only one --obvious way to do it."
And -1 for non-ascii in stdlib.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
mysqlconnection.py#L5
https://github.com/sqlobject/sqlobject/blob/master/sqlobject/postgres/pgconnection.py#L7
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
and makes the functions symmetric.
Why impose artificial symmetry?
> BR,
> George
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ide
On Fri, May 05, 2017 at 03:55:37PM +0200, George Fischhof <geo...@fischhof.hu>
wrote:
> Actually it would be good if copytree() would be able to overwrite files
> and directories.
Seems you want rsync, no?
> George
Oleg.
--
Oleg Broytmanhttp://phdru.nam
On Fri, May 05, 2017 at 04:50:07PM +0200, George Fischhof <geo...@fischhof.hu>
wrote:
> yes, something like that ... ;-) but I use windows, and I want the feature
> in Python, with a simple and elegant way (1-2 commands)
>
> 2017-05-05 16:14 GMT+02:00 Oleg Broytma
try before pip installing" mechanism gets in place, as it will add a
> lot to the REPL nature of the testing/experimenting process.
>
>
>
> Thank you for your time,
>
> John Torakis, IT Security Researcher
>
>
>
> P.S: It is my first time in this mailing lis
).
> I can add a ticket and maybe a patch if people think this is a good
> little enhancement
Definitely a good idea!
> Cheers
> Tarek
>
> --
>
> Tarek Ziad?? | coding: https://ziade.org | running: https://foule.es |
> twitter: @tarek_ziade
Oleg.
--
Oleg Broytman
> with cvar.assign(new_value):
Why ``assign`` and not ``set``?
> Each thread of the Python interpreter keeps its on stack of
"its own", I think.
> ``contextvars.Assignment`` objects, each having a pointer to the previous
> (outer) assignment like in a linked list.
Ole
a virtualenv. And a user-installed Python on
Windows is equivalen to a user-compiled Python on Linux -- pip installs
packages to the user-owned site-packages directory.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB wi
at the same way as on Unix -- by having versioned
executables: python27.exe, python35.exe? Then python.exe in PATH will be
from the most recent installed Python.
> Paul
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they
> yield entry.path
So anyone who wants to filter os.walk() must reimplement os.walk()
themselves instead of passing something like filter_dir and filter_file
(or accept_dir/accept_file) to os.walk()? Kind of painful, no?
> Cheers,
> Yuval
Oleg.
--
Oleg Broy
On Thu, Jun 14, 2018 at 12:22:45AM -0700, Brendan Barnwell
wrote:
> If anything, I think the name "re" is too short
> and cryptic and should be made longer!
import re as regular_expressions_operations
> --
> Brendan Barnwell
Oleg.
--
Oleg Broytman
On Thu, Jun 14, 2018 at 12:12:34AM -0700, Brendan Barnwell
wrote:
> as we all know, namespaces are one
> honking great idea!
Flat is better than nested, so additional string.re subnamespace is
not needed.
> --
> Brendan Barnwell
Oleg.
--
Oleg Broytmanhttps:
lementation (regex,
re2). How to make ``s.search(pattern)`` work with all of them?
> Thoughts?
> Sincerely,
> Ken;
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
# nocover' or '# noqa') but not for runtime behavior.
That is, you don't like ``# coding:`` directive? ;-)
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
guage and the
implementation.
> thanks
>
> Patrick
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas@pyt
ing of value that can be added to the
> tutorial.
>
> Is there a forum, better than python-ideas, for discussing speculative
> ideas for improving Python's documentation?
In what way certification programs are related to documentation,
especially to the tutorial?
> --
> Jonatha
in this
case). As '.name' is a valid domain hotmail decided that
unicodedata.name is a host name. And "URLified" it, so to say.
> --
> Steve
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers d
know their advantages and disadvantages and I've invested a lot of
> > resources to learn and configure my tools.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
__
invested a lot of
resources to learn and configure my tools.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas
using the preferred medium and code is created the
other groups will feel they have been singled out and their ideas were
ignored.
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, the
ure.
> Stephan
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/lis
om is it's too easy to make the mistake and
rather hard to find.
> (and even making the static analysers, like pyflakes or pylint, to
> show that as a warning)
>
> Note that there's no penalty in adding the '+' between the strings,
> those are resolved at compilation time.
>
&g
simple
> expression. I wish I could say it was a record for me.) Should we
> "discourage" exponentiation and dict displays and insist on writing
> dict((y, x*x*x)) to avoid the risk of errors? I don't think so.
We should fix what causes real problems,
On Thu, Mar 15, 2018 at 01:18:06AM +1100, Steven D'Aprano <st...@pearwood.info>
wrote:
> On Wed, Mar 14, 2018 at 02:31:58PM +0100, Oleg Broytman wrote:
> >Once I stumbled over a bug caused by this in legacy code in
> > production. Fixing it was quite painful!
>
>
hanged file ownership and permissions; restoring permissions is not
always possible, restoring ownership is almost never possible. Renaming
is also not always possible due to restricted directory permissions.
> On Sun, Apr 15, 2018 at 8:19 AM, Oleg Broytman <p...@phdru.name> wrote:
>
>
e.py#L46
Can I recommend to catch exceptions in `backuper.backup()`,
cleanup backuper and unlock locker?
Oleg.
--
Oleg Broytmanhttp://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
__
ttps://github.com/abdur-rahmaanj
> Mauritius
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas@python.org
https
On Thu, Sep 20, 2018 at 09:05:33AM -0400, "Mark E. Haase"
wrote:
> On Thu, Sep 20, 2018 at 8:09 AM Oleg Broytman wrote:
>
> > On Thu, Sep 20, 2018 at 01:46:10PM +0400, Abdur-Rahmaan Janhangeer <
> > arj.pyt...@gmail.com> wrote:
> > > i miss a
e going further, I would like to know whether implementing lazy access
> through the hash table that way seems to be a interesting improvement or a
> dead end.
Well, I mus admit my .po/.mo aren't that big. The biggest .po is 60k,
its corresponding .mo is only 30k bytes. I don't know if using t
s.
> -gps
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinf
d and take extra care to respect the PSF Code Of Conduct when
>replying.
>Thank you!
>б═ - Sam
>Some references:
>https://www.urbandictionary.com/define.php?term=Lookism
>https://en.m.wikipedia.org/wiki/Lookism
Nice trolling, go on! :-D
PS. But please can
s will be of great
> > help in the battle for the more tolerant and less judgemental society.
> >
> > I understand that this topic may seem controversial to some, so please be
> > open-minded and take extra care to respect the PSF Code Of Conduct when
> > replying.
> >
&
rms that carry dark
meanings: "abort", "kill" and "execute" (stop the genocide!)
Not sure about "terminate".
There are also nationalist jokes about Dutchs. That also must be
stopped!
Let's decide how to replace them and who'll send pull requests ab
ted.
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/pyt
ow mine: https://phdru.name/Software/mail-vs-web.html ?
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas@python.
the object
> > to the extra typing, or...?
> >
>
> Or discoverability. If you want to run a subprocess and catch its
> output, you'll naturally reach for check_output, and it feels clunkier
> to have to use run() instead.
>
> +1 on adding a nice simple function,
when there are overlapping keys. I propose to
> make d2 win in this case, which is what happens in `d1.update(d2)` anyways.
> If you want it the other way, simply write `d2 + d1`.
That is, ``d1 + d2`` is::
d = d1.copy()
d.update(d2)
return d
> --
> --Guido van Rossum (pytho
> Regards,
> --francis
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list
Python-ideas@python.org
https://mail.pyth
>
> if settings[MY_KEY]:
> ...
Three-way (tri state) checkbox. You have to distinguish False and
None if the possible valuse are None, False and True.
> --
> Greg
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers
l.sort() sorts in-place, while sorted(l) returns a sorted copy.
Then shouldn't it be a function (not a method)? dictutils.merge()?
> --Guido van Rossum (python.org/~guido)
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't di
On Sat, Feb 02, 2019 at 07:45:43AM +1100, Chris Angelico
wrote:
> On Sat, Feb 2, 2019 at 7:32 AM Oleg Broytman wrote:
> >
> > On Fri, Feb 01, 2019 at 03:12:42PM -0500, Terry Reedy
> > wrote:
> > > On 2/1/2019 1:50 PM, James Lu wrote:
> > > > It??
On Fri, Feb 01, 2019 at 08:43:53PM -0600, eryk sun wrote:
> On 2/1/19, Terry Reedy wrote:
> > On 2/1/2019 3:31 PM, Oleg Broytman wrote:
> >
> >> Python REPL is missing the following batteries:
> >> * Persistent history;
>
> Python's built-in REPL re
On Fri, Feb 01, 2019 at 08:40:22PM -0500, Terry Reedy wrote:
> On 2/1/2019 3:31 PM, Oleg Broytman wrote:
>
> > Python REPL is missing the following batteries:
>
> That is why, on Windows, I nearly always use IDLE.
>
> > * Persistent history;
>
> IDLE's Shell
(Of course, a script could format its own error messages, say by using
> terminal-specific colour codes.)
Scripts that report errors this way are broken and must be fixed:
print("sorry, an error occurred", file=sys.stderr)
Now it's easy to separate normal output
On Sat, Feb 02, 2019 at 02:10:06PM +1100, Steven D'Aprano
wrote:
> On Fri, Feb 01, 2019 at 09:31:21PM +0100, Oleg Broytman wrote:
>
> >Python REPL is missing the following batteries:
> >
> > * Persistent history;
>
> On Linux/Unix systems, that has been
On Sun, Feb 03, 2019 at 02:52:31AM +0100, Oleg Broytman wrote:
> On Sat, Feb 02, 2019 at 07:37:56PM -0500, Terry Reedy
> wrote:
> > On 2/2/2019 8:13 AM, Oleg Broytman wrote:
> > > > IDLE does this.
> > >
> > > For the question "Does Python
On Sat, Feb 02, 2019 at 07:37:56PM -0500, Terry Reedy wrote:
> On 2/2/2019 8:13 AM, Oleg Broytman wrote:
> > > IDLE does this.
> >
> > For the question "Does Python REPL need more batteries?" is your
> > answer "No, just point people to I
; turned off, and the rest hidden behind cryptic keystroke commands.
shopt -s cmdhist
From ``man bash``: "If set, bash attempts to save all lines of a
multiple-line command in the same history entry. This allows easy
re-editing of multi-line commands."
> --
> Steve
on my
> eyes/noggin than counting out the individual `break` statements.
This is very much error-prone because on any refactoring (increasing
or decreasing the number of loop levels) one must increase/decrease all
numbers in internal loops.
Labels are at least stable.
> Eli
Oleg.
--
ut people will call it multiple times.
> >
> > Would it help if it were called "one" instead of "first"?
>
> That would be my preference.
take_one()? takeone()? take1()?
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@
edure
> to perform experiment with domestic felines.
AFAICS felines when performing experiments on people who thinks
they're "owners" ignore any procedures.
> --
> Mathias
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
P
are plants.
Animals can fight or run, but plants cannot. So we must protect
plants more, not less!
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
ols that:
> 1. Has a C implementation, keeping the speed on-par with `lru_cache()`
> 2. Ensures that the wrapped function is only called once when invoked by
> multiple threads
>
> For some related discussion about this idea and lru_cache, please see my
> thread on
> <https:
ssed what harm you think it will do to add a flag to zip.
> Can you point me to your objection?
This in how it is in the html part:
Adding a flag to zip does not.http://python.org/psf/codeofconduct/;
rel="noreferrer" target="_blank">
My html renderer d
xcited, until I realised
> > it was just the trigonometric function :-(
> >
> > This is the gunslinger.draw versus the artist.draw problem.
>
> It should be solved by the random.draw solution (which calls one
> or the other, randomly ;-)).
But only once! :-D
&
LPT6, LPT7, LPT8, and LPT9.
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send
nd activate a virtual environment (``virtualenv`` or
``python -m venv``) and always use ``python myscript.py``.
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
On Tue, Mar 24, 2020 at 11:30:38AM +1100, Steven D'Aprano
wrote:
> On Tue, Mar 24, 2020 at 12:45:42AM +0100, Oleg Broytman wrote:
>
> > > Won't that create a virtual environment using Python3 on Windows and
> > > using Python2 most other places, which is
On Tue, Mar 24, 2020 at 10:22:28AM +1100, Steven D'Aprano
wrote:
> On Mon, Mar 23, 2020 at 08:09:57PM +0100, Oleg Broytman wrote:
> > On Mon, Mar 23, 2020 at 05:59:41PM -, Fr??d??ric De Jaeger
> > wrote:
> > > The issue is: There is no reliable way t
pt.py
> >
> > launches python3 on windows and python2 on 99% of the unix market.
> >
> > The command
> >
> > python3 myscript.py
>
> The windows version would be
>
> py myscript.py
That is, **in addition** to ``python`` and ``python3`` Fred shou
d pipx).
Once a venv is activated there is no need to remember different commands
-- it's always ``python`` and ``pip``. In all operating systems. It's
what the OP wants, right?
> --
> Rhodri James *-* Kynesim Ltd
Oleg.
--
Oleg Broytmanhttps://phdru.name/p..
t is also more dynamic for
> users. Thank you.
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list -- python-idea
_``.
See https://docs.python.org/3/reference/datamodel.html#special-method-names
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Pyth
Issue: https://bugs.python.org/issue41429
> PR: https://github.com/python/cpython/pull/21666
Why it must be a tuple and not an iterable? Not even a list?
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Prog
ce(pat, string) else pat # Assume ``pat`` is an
iterable
Oleg.
--
Oleg Broytmanhttps://phdru.name/p...@phdru.name
Programmers don't die, they just GOSUB without RETURN.
___
Python-ideas mailing list -- python-ideas@pyth
On Fri, Mar 26, 2021 at 12:30:25AM +0100, Oleg Broytman wrote:
> (If the answer is for me - pity it lacks any context.)
>
> On Thu, Mar 25, 2021 at 10:51:06PM -, adelf...@gmail.com wrote:
> > This follows the example of str.startswith/str.endswith, but yes, it could
>
ike it a lot. It reminds me of pathlib.Path (which is a wonderful tool),
> with its slash operator overload.
The idea is quite standard now. See
https://pypi.org/project/shell-pipes/
https://pypi.org/search/?q=shell+pipes
Oleg.
--
Oleg Broytmanhttps://phdru.name/
replacement
for package "y". I cannot declare "y" is outdated by "X".
It doesn't have post-install and pre-uninstall scripts. Post-install
can be implemented for sdists but not for wheels.
> ChrisA
Oleg.
--
Oleg Broytmanhttps://phdru.name/
On Tue, Jul 18, 2023 at 07:09:54AM +1000, Chris Angelico
wrote:
> On Tue, 18 Jul 2023 at 06:43, Dom Grigonis wrote:
[skip]
> > https://q5yitzu62.supersurvey.com
>
> Your second example needs a "both are abhorrently unreadable" option.
+1
[skip]
> ChrisA
91 matches
Mail list logo