out extensive code studies. This is a good thing. Interfaces
have nothing to do with multiple inheritance and are not about type safety
in the first place. They just tell you how to connect, how to plug in.
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode(
ain for the added clutter and inconvenience.
An interface is a software specification allowing you to use a software
package without extensive code studies. This is a good thing. Interfaces
have nothing to do with multiple inheritance. They just tell you how to
connect, how to plug in.
gmentation and less understanding in the programming world so I
don't like them. I also don't like non-ascii domain names where the same
arguments apply.
Let the data be expressed with Unicode but the logic with ASCII.
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2c
hich is
> to Larry's credit), when compared to the motherfucking Pythoners (who
> knew SHIT) as well as many of the self-appointed lisp bigwig
> characters.
Be careful not to damage the English language by making "motherfucking"
a compliment :)
--
Regards
Robert Kern schrieb:
> Most likely your build of scipy was built with an ATLAS library that uses SSE2
> instructions (IIRC) while your processor doesn't support those instructions.
> The
> solution is to rebuild scipy with an ATLAS library built for your platform.
Thanks, Rober
I tried some scipy examples using scipy 0.52, numpy 1.02 and python 2.5 on
a WinXP SP2 machine. numpy.linalg.det() works but scipy.linalg.det()
crashes python. Has anybody experienced this and can point me to a solution?
Thanks for your help.
Peter Maas, Aachen
--
http://mail.python.org/mailman
e instance unless you have an explicit name
> for it. (And if you are thinking of creating more magic syntax that
> implicitly returns self, just don't bother.)
No magic. Just a dot. But perhaps a dot is too tiny. We could take JUST_ME
or ME_AND_BOBBY_MCGEE instead, of course as a reserved k
Michele Simionato wrote:
> Peter Maas wrote:
>> All these reasons are valid and retained by the following suggestion: let
>> self be represented by the dot
>
> This suggestion has been discussed in the past (I remember having the
> same idea myself when I first learned P
ject):
a = "" # static variable
.b = 0 # instance variable
This could replace parameterless __init__ methods. Methods without leading
dots could be considered static without a staticmethod decorator. For
backward compatibility this behaviour should be explicitly activated e.g.
is important for Python's survival.
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
Kay Schluehr wrote:
> Peter Maas wrote:
>> How many programmers don't use Python because of the self issue?
>
> The only reason I know why self shall not be inforced is reducing the
> number of troll postings.
The only method that works to reduce the number of troll posti
ertain
> other languages seem particularly inclined to indulge in.
I don't think so because advocates tend to use arguments just because they
are handy, not because they don't know better.
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
Bruno Desthuilliers wrote:
> Peter Maas wrote:
[...]
>> a reference implementation for web programming as part of the standard
>> library,
>
> wsgiref is part of the 2.5 stdlib.
Yes, but it's not an implementation. Think of something like Tomcat for
the Java Servlet S
lliest being the indentation issue)
and maybe we should take the silliness into account instead of laughing
about those silly folks.
I for my part would be happy to see a Delphi-like RAD tool for Python,
a reference implementation for web programming as part of the standard
library, Jython 2.5, Pyth
c with variants).
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
Peter Maas schrieb:
> 1 runs of nbody.py, time in sec
Correction: 1 iterations of advance().
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
re right, 2.5 is better than 2.4. But the runtime penalty
for using new-style classes remains.
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
ead of lists increases runtime by 19%!
If it weren't for the shootout I would of course take psyco and numpy.
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
Giovanni Bajo wrote:
> Did you try using an old-style class instead of a new-style class?
The original program has an old style class, changing it to a new
style class increases run time by 25% (version is 2.4.3 btw).
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGl
y language so should be allowed in a shoot-out. The global
arrays in the Perl program are on the same track.
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
be speeded up by psyco and numpy but I was
curious why plain Python was slower than plain Perl. Thanks for your
hints, guys!
--
Regards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
egards/Gruesse,
Peter Maas, Aachen
E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64')
--
http://mail.python.org/mailman/listinfo/python-list
difference?
It's pure math so I expected Perl and Python to have about the same speed.
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
t work.
Did you look here?:
http://docs.python.org/lib/tar-examples.html
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
e not too hard to implement and surely not
break old code :)
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
Alex Martelli wrote:
> Peter Maas <[EMAIL PROTECTED]> wrote:
>
>> Cliff Wells wrote:
>>> On Wed, 2006-08-23 at 22:13 +0200, Peter Maas wrote:
>>>> Alex Martelli wrote:
>> [...]
>>>>> I have already suggested to the BDFL that he can reme
[EMAIL PROTECTED] wrote:
>> Here is another remedy: he adds one of the frameworks to the standard
>> library :)
>>
>> Peter Maas, Aachen
>
> But there are already 3 ;-)
>
> http://docs.python.org/lib/module-BaseHTTPServer.html
> http://docs.python.org/
Cliff Wells wrote:
> On Wed, 2006-08-23 at 22:13 +0200, Peter Maas wrote:
>> Alex Martelli wrote:
[...]
>>> I have already suggested to the BDFL that he can remedy this situation
>>> in Py3k: all he has to do, of course, is to add a LOT more keywords.
>> Here is a
e keywords.
Here is another remedy: he adds one of the frameworks to the standard
library :)
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
ked in a byte
string in big endian order. This is probably closest to what
the OP wants.
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
mport statement in that
it does not use the module administration -- it reads the file
unconditionally and does not create a new module.
- end -
I claim this as a well documented (and thus exspectable) Python behaviour.
execfile() just executes a file uncondition
delimiter pairs. Python indent/unindent would of course
also count as block delimiters. I think this would be a more precise measure
for software size.
Peter Maas, Aachen.
--
http://mail.python.org/mailman/listinfo/python-list
n most situations (2-3x). Look at
http://dada.perl.it/shooutout for win32 and
http://shooutout.alioth.debian.org for linux.
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
Roy Smith schrieb:
> Python is a very dynamic language. Java is a very static language.
What is the difference between "static" and "very static"? Is Java
more static than Fortran I? ;)
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
think interfaces can definitely be useful.
>
> so with interfaces, missing methods will suddenly appear out of thin
> air ?
He probably means that with interfaces one could test compliance with
the interface as a whole instead of testing each member and each
signature as a single piece.
Pet
nto the following format: 0.0038.. I know
> how to covert 26 to 38 but I haven't figured out how to pad it or place
Have look at ljust/rjust(width[, fillchar])
> the decimal point between the while number and the decimal.
What's a while number?
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
line to get rid of annoying
line breaks. :)
Peter Maas, AAchen
--
http://mail.python.org/mailman/listinfo/python-list
acts as an editable data container you can return
modified *contents* (list elements etc.) to the caller, exactly like in
Java and different from C/C++.
Peter Maas, AAchen
--
http://mail.python.org/mailman/listinfo/python-list
is a *type* without
values, therefore a type that cannot be instantiated i.e. a useless
type.
I don't like Python enums at all. It is kind of "I want to have that
C++ thing, too". In Python enums can be emulated so there's no need
to have syntactical support for them.
Peter M
Peter Maas schrieb:
> But tuples mean threefold, twofold etc. and the Latin equivalents
> are triplex duplex simples.
triplex duplex simplex
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
ve word
rather than a Latin import.
> Though I suspect "single" is correct. Consider coronary bypass
> operations -- single, double, triple, quadruple...
That's OK but single stems from singularis (one-of-a-kind) rather
than from simplex (onefold) and doesn't fit as nic
duple
simplex simple
I wouldn't mind calling (1,) a simple but I'm not a native English
speaker so I have no idea wether it sounds ridiculous to English
ears. If simple is too simple for you just call it simplum or simplon
or simplex.
;)
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
ions of HTML general entities
[...]
name2codepoint
A dictionary that maps HTML entity names to the Unicode codepoints. New in
version 2.3.
codepoint2name
A dictionary that maps Unicode codepoints to HTML entity names. New in version
2.3.
Peter Maas Aachen
--
http://mail.python.org/mailman/listinfo/python-list
eastlink.ca/~gisdev/scite-1.67-setup-3.exe
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
#x27;t like the shape. Snakes and right angles - it's a contradiction.
This is just my personal taste.
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
at there are no religious motives in this remark :)
- I really liked the different looking Pythons in the logo corner. Couldn't
they find asylum somewhere in the new site?
- I would prefer stronger, less flimsy colours.
But apart from these superficial points: well done :)
Peter M
cape.com/assist/net_sites/pushpull.html for
information about HTTP push.
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
this is not
a genuine feature of OOP. Bad code can be written in lots
of ways.
> There are sure many others who can't imagin to program
> without classes, so don't conclude that there is a
> contradiction here - it's just the question of taste
It's not a question of
culously solves
the money problem for consumers _and_ producers is wrong IMO.
There are conditions for OSS for to succeed. It is worthwile to get to
know these conditions. To claim that there are no conditions at all and
OSS is successful by itself is certainly not true.
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
g
or at least not enough.
So please: continue praising OSS (as I do) but don't make ideological claims
that it fits everywhere.
Peter Maas, Aachen
--
http://mail.python.org/mailman/listinfo/python-list
e direct way, creating them in
code is a detour. Code is too lengthy and too versatile for such a
job.
--
Peter Maas, Aachen, Germany
--
http://mail.python.org/mailman/listinfo/python-list
Templates. Most web frameworks have
Templates. My favorite is Cheetah.
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
jelle schrieb:
> I dearly miss having the power of SciPy on my python 2.4 installation.
> The topic of SciPy python 2.4 wintel binaries has been discussed before
> on this list, but I haven't been able to find a compiled binary.
If you really need SciPy, you should install Python 2.3 (Enthought Ed
uot; ;) I don't know BRM nor any other refactoring
tool but for a thorough decision one would have to know the ratio
time(learningTool)/time(doingByHand)
to calculate the break even point in terms of number(doingByHand).
--
-------
Peter Hansen schrieb:
> Peter Maas wrote:
>> But sitecustomize.py changes the Python installation, doesn't it?
>> This wouldn't be an advantage over putting a .pth file into
>> .../site-packages.
>
>
> You can have a local sitecustomize.py in the current
y
have to change wd at the beginnig of every module. Each module would
read the top location from a .pth file in its directory. Yes that's
possible. Thanks for your help.
--
-------
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49
Peter Maas schrieb:
> I'm trying to call python scripts from IIS in the following tree:
[...]
> If I run selectFiles.py from the command line everything is ok. But
> if I call it via IIS (http://localhost/vselect/selectFiles.py) there
> is an error "No module named util&quo
er putting a .pth file into
.../site-packages.
--
-------
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
---
--
http://mail.python.org/mailman/listinfo/python-list
py
still sees upgrade/ in the Python Path but upgrade/util/logonUser.py
can no longer be found by selectfiles.py (os.path.exists returns
false). This is strange because other modules, e.g. odbc.py are still
importable. Hope you can help me. Thanks.
--
----
file in .../site-packages works but I prefer to
have everything inside the directory tree so that removing the tree
is sufficient for a complete uninstall. Any hints are appreciated,
thanks.
--
---
Peter Maas, M+R Infosysteme, D-
le.read()
fuckedfile.close()
# write unfucked
unfuckedfile = file('somefile','w')
unfuckedfile.write(content)
unfuckedfile.close()
Please feel free to insert this fucking example into the fucking docs.
Have a nice ... eh fucking day :)
--
-
t;
> The returned dictionary should not be modified: the effects on the
> corresponding symbol table are undefined.
I tried this once and it worked. This may be too naive, so thanks
for the warning :)
--
---
Peter Maas,
> pseudo code line follows :
>
> a%s = str(value)
>>> suffix = 'var'
>>> vars()['a%s' % suffix] = 45
>>> avar
45
--
---
Peter Maas, M+R Infosysteme, D-52070
you a useful reply. "Thanks for
the suggestion" or even no answer would have been sufficient.
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
---
--
http://mail.python.org/mailman/listinfo/python-list
Peter Maas schrieb:
> codecraig schrieb:
>
>> Is there any obfuscator out there that obfuscates the python code (byte
>> code i guess)???
>
> http://www.lysator.liu.se/~ast rand/projects/pyobfuscate/
Delete space:
http://www.lysator.liu.se/~astr
codecraig schrieb:
> Is there any obfuscator out there that obfuscates the python code (byte
> code i guess)???
http://www.lysator.liu.se/~ast rand/projects/pyobfuscate/
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen
7;s a framework.
IOW Apache with modpython is a framework for web apps because it
calls your Python handlers. According to Andy Smith the Apache/
modpython combo sucks because it takes away the freedom to call a
HTTP library and write your own HTTP server ;)
--
----
'c',c)
ci = aModule.c()
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
-
t; your existing product when that happens? Re-train on a new platform,
> and re-write from scratch?
Port it to FreePascal :)
--
-------
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mai
George Sakkis schrieb:
> Given that the latest 2.x python will be 2.9
Why not 2.13 or 2.4711? Version strings are sequences of arbitrary
integers separated by dots and not decimal numbers, or are they?
--
---
Peter Maas,
Simon Brunning schrieb:
> Sibylle Koczian needs to sort part of a list. His first attempt made
> the natural mistake - sorting a *copy* of part of the list:
I think it was _her_ first attempt.
--
---
Peter Maas
muldoon schrieb:
>Now, what forum would you recommend? Any help would be appreciated.
alt.culture.us.*
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n
C# when doing .net. Basic
is the ugliest and most mind corrupting language I've come across. And
the OP has a C/C++ background.
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIub
Dateien als jpegs bekommen oder sollen wir sie selbst
umwandeln?
Mit freundlichen Gruessen,
Peter Maas
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.deco
Peter Maas schrieb:
> vielen Dank für die Zusendung der Daten. Es handelt sich allerdings
> nicht um jpeg-Dateien, wie die Erweiterung nahelegt. Wir konnten sie
> nur mit dem PictureViewer auf einem Apple anzeigen. Sie werden unter
> MacOS als Adobe-Photoshop-Dokument angezeigt.
Sor
Isaac Rodriguez schrieb:
> Does anyone know of a Python API to manipulate CAB files?
If there is a Windows API you can probybly call it from Python
using Mark Hammond's Win32 extensions.
--
---
Peter Maas, M+R Infosys
you were fishing for
compliments:
Your English IS good enough.
;)
--
-------
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1
Magnus Lycka schrieb:
> Peter Maas wrote:
>
>> Learning is investigating. By top-down I mean high level (cat,
>> dog, table sun, sky) to low level (molecules, atoms, fields ...).
>
>
> Aha. So you must learn cosmology first then. I don't think so. ;)
I was
Andrew Dalke schrieb:
> Peter Maas wrote:
>
>>I think Peter is right. Proceeding top-down is the natural way of
>>learning (first learn about plants, then proceed to cells, molecules,
>>atoms and elementary particles).
>
>
> Why in the world is that way &q
Andrea Griffini schrieb:
> On Mon, 13 Jun 2005 13:35:00 +0200, Peter Maas <[EMAIL PROTECTED]>
> wrote:
>
>
>>I think Peter is right. Proceeding top-down is the natural way of
>>learning.
>
>
> Depends if you wanna build or investigate.
Learning is
el languages including python e.g. by using a large string
as a memory model. Proceeding to bare metal will follow driven by
curiosity.
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen,
" and post it weekly
in this newsgroup :)
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
---
ing this way?
See section 1.4.4 in http://www.python.org/doc/faq/general.html
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZX
though "anything any major programming language is used for"
is probably too wide. I would e.g. exclude device drivers, router
firmware etc. ;)
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-24
sadmin tasks (backup scripts)
- web applications (replacing asp/php)
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\
Noud Aldenhoven schrieb:
> Python rulz and sorry for this spam...
news.test is made for testing :)
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.d
begin of line,
starting from line marked as 'a' to current line)
:)
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZX
at CPU speed. But with interpreted code Python seems to be
approximately 3-4 times faster than PHP (http://dada.perl.it/shootout/).
What are the pros and cons?
http://www.allsites.com/Top.Computers.Programming.Languages.Comparison_and_Review.html
--
---
h scripts
which were quite hard to read especially for beginners.
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZG
. FF bug or config issue?
--
-------
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
---
acctype == "liability":
bal = -bal
return bal
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
boilerplate code is understandable.
This is original Delphi-Style, btw. But why is this boilerplate code?
You define a property, and tell how it is read and written. How does
your preferred code look like?
--
---
Peter Maas, M+R
that he is thinking of a pychecker-like mechanism for
validating programs at compile time. There's nothing wrong with
defining interfaces and conditions and being able to check them
before actually running the program.
--
-------
Peter
urn it into a type.
scope -> dictionary
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
---
your embedded scripts where you want debugging to
start. If your C++ program doesn't have a console then perhaps you
can provide one with a Win32 call? Just guessing here.
--
-------
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49
skeleton
- you would be creating tests before the code, but many people
> wouldn't regard it as TDD then.
You shouldn't care if your approach works for you.
--
---
Peter Maas, M+R Infosysteme, D-52070
ns__
del __builtins__
Then you can define what you like but you will have to reference dict,
list etc. as bi.dict, bi.list, ...
For a fast check simply type e.g.
dict
in the interactive Interpreter. If you get a NameError it is not
built-in. :)
--
----
the python dll with COFF2OMF because the library interfaces
of python.dll and the Borland binaries were different.
If your MinGW experience described above is typical then I'll get a
stop watch and give it a try ;)
--
-------
Peter M
Terry Reedy schrieb:
"Peter Maas" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
http://nobelprize.org/medicine/educational/pavlov/
and then do something useful :)
Thanks. I showed this to my daughter, who enjoyed the game, and explained
your point re Pavlov po
en do something useful :)
--
---
Peter Maas, M+R Infosysteme, D-52070 Aachen, Tel +49-241-93878-0
E-mail 'cGV0ZXIubWFhc0BtcGx1c3IuZGU=\n'.decode('base64')
--
1 - 100 of 151 matches
Mail list logo