Christian Tismer added the comment:
Very much appreciated approach.
Too bad that things stop when people are writing extensions as usual. Or do you
think we can teach them how to avoid the C stack? Anyway, good luck!
--
___
Python tracker
<ht
Christian Tismer added the comment:
FWIW, getting all function to avoid the C stack will most probably take a long
time, if it happens at all. Especially functions which might call into Python
multiple times must be re-designed heavily, turned into multiple pieces to be
in tail position
Christian Tismer added the comment:
FYI., in Stackless Python I built a chain of frames by a double linked list.
This was the replacement for the current frame/stack mix.
Debugging was still quite easy, following this frame chain.
Note that it is a rather easy step to add the capability
Christian Tismer added the comment:
Hey guys, you know that you are about to implement the core idea of Stackless
Python, right? :-D
--
nosy: +Christian.Tismer
___
Python tracker
<https://bugs.python.org/issue45
Christian Tismer added the comment:
Since PyPy does not use the Limited API, PySide can quite easily work around
the limitations by directly working with the type object.
But the usage of PyType_Modified() would make very much sense for PySide‘s new
switchable features. That would work
Christian Tismer added the comment:
> Apart None, True and False, do you know other objects which must not be
> deleted?
Yes, what I can think of is the immutable empty tuple singleton
which is such a candidate to be forgotten.
--
___
Christian Tismer added the comment:
Ah, that would be really much to store: every object with a refcount
going to zero would have to be memorized :/
--
___
Python tracker
<https://bugs.python.org/issue45
Christian Tismer added the comment:
What about an even more flexible solution?
A debug option could memorize always the last object deallocated
and give full info (the object's repr) before the crash would happen.
--
nosy: +Christian.Tismer
Christian Tismer added the comment:
Congrats to that change!
--
nosy: +Christian.Tismer
___
Python tracker
<https://bugs.python.org/issue30459>
___
___
Pytho
Christian Tismer added the comment:
> How does this change affect stable ABI? Is it necessary to change the
> logic in modules that use only the Py_LIMITED_API?
If you use heap types, you need to adjust refcounts beginning
with Python 3.8 . And since the Py_LIMITED_API uses heap
Change by Christian Tismer :
--
resolution: -> not a bug
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue39016>
___
___
Pyth
Change by Christian Tismer :
--
stage: patch review -> resolved
___
Python tracker
<https://bugs.python.org/issue39016>
___
___
Python-bugs-list mai
Christian Tismer added the comment:
Sorry, I believe I was wrong and lookup_maybe_method does not return a borrowed
reference. _PyType_Lookup does and I was confused.
Closing that for now.
--
___
Python tracker
<https://bugs.python.org/issue39
Christian Tismer added the comment:
On 11.12.19 17:37, Petr Viktorin wrote:
>
> Petr Viktorin added the comment:
>
> The goal now should be to find a reasonably small reproducer.
>
> I'm trying to compile PySide to see what it does, but it's a big project and
> I'm a
Christian Tismer added the comment:
On 11.12.19 14:13, Petr Viktorin wrote:
>
> Petr Viktorin added the comment:
>
> lookup_maybe_method should not return a borrowed reference. It increfs its
> return value.
At second sight, this seems to be true. No idea why I
was so
Christian Tismer added the comment:
On 10.12.19 17:57, Pablo Galindo Salgado wrote:
>
> Pablo Galindo Salgado added the comment:
>
>> No, this appears to be impossible.
>
> Oh, I see. Apologies then for the misunderstunding.
No problem! You could as well have been r
Christian Tismer added the comment:
On 10.12.19 17:57, Pablo Galindo Salgado wrote:
>
> Pablo Galindo Salgado added the comment:
>
>> No, this appears to be impossible.
>
> Oh, I see. Apologies then for the misunderstunding.
Well, but I think that is weird, too!
W
Christian Tismer added the comment:
No, this appears to be impossible.
The function "type_mro_modified" exists as well, but there is no
"if (custom) {" branch at all!
On 10.12.19 17:21, Pablo Galindo Salgado wrote:
>
> Pablo Galindo Salgado added the
New submission from Christian Tismer :
By the new Py_TPFLAGS_METHOD_DESCRIPTOR flag, a new code path is
activated, and when extension types like PySide create a new
class, we observe negative refcounts.
The reason is that the code in typeobject.c fkt. type_mro_modified
calls
Change by Christian Tismer :
--
keywords: +patch
pull_requests: +17029
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/17555
___
Python tracker
<https://bugs.python.org/issu
Christian Tismer added the comment:
Neil, that is the absolute super-move!
When all types are heap types, then I have no longer the problem
that I cannot get at slots from builtin types, with all are static.
I am very much for that change, because then I can make my stable
ABI implementation
Christian Tismer added the comment:
Thanks for including me here!
We have indeed converted everything to new style types
but saw no refcount problems, yet. This will probably
come after the patch. We will add an issue to the tracker
for Python 3.8
Christian Tismer added the comment:
The default of PyType_FromSpec for tp_dealloc is wrong!
---
After a long struggle with crashes and leaks, the situation
was finally clarified:
When a type is converted from a static type to a heaptype
via
Christian Tismer added the comment:
If somebody is interested to see how the transition to the
Limited API was done, here is the documentation that I was
forced to write :)
https://github.com/pyside/pyside2-setup/blob/5.11/sources/shiboken2/libshiboken/pep384impl_doc.rst
Christian Tismer added the comment:
> ... Specifically, you need a way to create class with a metaclass, from C.
>
> Is that right? Or was this only an example of a larger problem?
Yes, you are exactly right. I needed access to very few fields.
In particular:
PyTypeObjec
Christian Tismer added the comment:
> 1) If I understand correctly, this problem could be solved by
> per-class C storage? Something like PyModuleDef.m_size /
> PyModule_GetState, but for classes?
No. To obtain sizeof(PyType_Type), we simply used the Python code
type.__ba
Christian Tismer added the comment:
Petr, Fine! PySide's problems are solved for now, no worries.
But as mentioned, there is more.
Problem 1)
--
There is another thing that gives problems:
When creating types which have fields "behind" the normal type fields,
PySide ha
Christian Tismer added the comment:
Hi Petr,
yes I have that what generated the wrong thing, but it is inside
a specific PySide repository in a big project. Before I try to extract
and simulate that, let me just show it.
All types which had been no heaptypes before were already quite
Christian Tismer added the comment:
Why must this become slower?
To my knowledge, many projects prefer marshal over pickle
for suitable simple objects because it is
so very fast. I would not throw that away:
Would it not be easy to add a named optional keyword
argument, like "stable
Christian Tismer added the comment:
@Victor
I cannot test on Windows because I'm in vacation.
But it is very likely similar to bpo-33614 .
The three missing symbols which are listed in python3.def
do clearly come into existence when the limited API is active
Change by Christian Tismer :
--
pull_requests: +7207
___
Python tracker
<https://bugs.python.org/issue33738>
___
___
Python-bugs-list mailing list
Unsubscribe:
Christian Tismer added the comment:
"""Excluding names from limited API can break existing code that use them with
defined Py_LIMITED_API."""
How is that different? Right now, the code would break at compile time,
because the macros are accessing opaque t
Christian Tismer added the comment:
On 07.06.18 17:59, Eric Snow wrote:
>
> Eric Snow added the comment:
>
> @Christian, you can use the "blurb" tool to create the NEWS entry. You can
> use pip to install it. See:
>
>
> https://devguide.python.org/
Change by Christian Tismer :
--
pull_requests: -7096
___
Python tracker
<https://bugs.python.org/issue33738>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Christian Tismer :
--
pull_requests: -6956
___
Python tracker
<https://bugs.python.org/issue33738>
___
___
Python-bugs-list mailing list
Unsubscribe:
Christian Tismer added the comment:
I did not understand the Misc/NEWS.d thing.
What should go where, or where would a "skip news" label go?
--
___
Python tracker
<https://bugs.python.o
Change by Christian Tismer :
--
pull_requests: +7100
___
Python tracker
<https://bugs.python.org/issue33738>
___
___
Python-bugs-list mailing list
Unsubscribe:
Change by Christian Tismer :
--
pull_requests: +7096
___
Python tracker
<https://bugs.python.org/issue33738>
___
___
Python-bugs-list mailing list
Unsubscribe:
Christian Tismer added the comment:
Hi Ned,
we had a delivery date yesterday for PySide.
The PR is almost ready and will go out today.
Ciao - Chris
On 07.06.18 09:43, Ned Deily wrote:
>
> Ned Deily added the comment:
>
> Christian, any progress on this? 3.7.0rc1 is planned
Christian Tismer added the comment:
There is another catch that belongs in the same category.
There is line 2841 in typeobject.c
if (type->tp_dealloc == NULL) {
/* It's a heap type, so needs the heap types' dealloc.
subtype_dealloc will call the base type's tp_deal
Christian Tismer added the comment:
Yes, sure, I will submit a patch that tries to reach as much
as possible locations that have a similar problem. Of course,
the code will only be turned into functions for the PEP context.
Takes a day because I need to re-learn a bit how to do this :-)
(last
Christian Tismer added the comment:
Ok, I tried to submit a patch (not yet successful),
but as it stands, there are more locations in the code where
this will show up with similar problems.
Should I take care of these all as much as I can,
or is it better to leave it to one of you?
Whatever
Change by Christian Tismer :
--
keywords: +patch
pull_requests: +6956
stage: -> patch review
___
Python tracker
<https://bugs.python.org/issue33738>
___
_
New submission from Christian Tismer :
The file number.rst on python 3.6 says
"""
.. c:function:: int PyIndex_Check(PyObject *o)
Returns ``1`` if *o* is an index integer (has the nb_index slot of the
tp_as_number structure filled in), and ``0`` otherwise.
&quo
com/pyside/pyside2-setup/tree/5.6/sources/pyside2/PySide2/support/signature
Cheers -- Chris
--
Christian Tismer :^) tis...@stackless.com
Software Consulting : http://www.stackless.com/
Karl-Liebknecht-Str. 121 : https://github.com/PySide
14482 Potsdam
On 29/09/16 22:14, Lele Gaifax wrote:
Christian Tismer <tis...@stackless.com> writes:
Dedent 0.5
==
What is it?
---
Dedent is a very simple tool for those people who like to
indent their inline code nicely.
p.s.: Why is that not build in by default?
Isn't it r
indent,"
"and that was my intent. :-)"
"""
Installation
$ pip install dedent
That's all, folks! Have fun.
p.s.: Why is that not build in by default?
--
Christian Tismer :^) tis...@stackless.com
Software Consulting
indent,"
"and that was my intent. :-)"
"""
Installation
$ pip install dedent
That's all, folks! Have fun.
p.s.: Why is that not build in by default?
--
Christian Tismer :^) tis...@stackless.com
Software Consulting
Christian Tismer added the comment:
Ned,
thank you for locating the patch that causes the problem.
At least, I could now make my script work, built a patch
feature into it.
cheers - Chris
--
___
Python tracker rep...@bugs.python.org
http
New submission from Christian Tismer:
Building python on OSX Mavericks (10.9)
of Python 3.4 crashes when this is set:
MACOSX_DEPLOYMENT_TARGET=10.7
This happens with OSX 10.9.2,
all current updates installed,
as of 2014-04-28.
Demo script:
You can use my attached script to validate this error
Christian Tismer added the comment:
Ned: In general, we don't test or claim to support building for a deployment
target lower than the system being built on.
This is not convincing, because the cpython builds are always
against $ MACOSX_DEPLOYMENT_TARGET=10.6 .
Other builds use the current OS
Christian Tismer added the comment:
ah, I just see that.
The problem was that the checkin drove me nuts. It forced me to
run reindent to normalize the code. I did that with my WindIde
editor, but this did not help.
The point was: Actually an end-of-line was missing at the end of
the files.
Sorry
Christian Tismer added the comment:
@georg:
While reviewing: is it intended that the filter is only called for
directories and not for individual files?
Not really. I will add this, later. Just wanted to see if this makes
sense and it's worth the effort to extend
Christian Tismer added the comment:
added that with tests.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19274
___
___
Python-bugs-list mailing
Changes by Christian Tismer tis...@stackless.com:
--
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19274
___
___
Python-bugs
Christian Tismer added the comment:
Hi Georg,
So do you think it is ok this way?
I was not sure if extending the function with an optional
arg is ok, or if a method to configure PyZipFile would be better.
At the moment I just needed the simple functionality.
Should it maybe get a regex like
Christian Tismer added the comment:
@serhiy.storchaka
I don't think this is needed. You can walk a tree and call writepy()
for files and directories which you want.
What exactly do mean by this and needed?
I cannot see the connection of my initial post and your reply.
Running PyZipFile
Christian Tismer added the comment:
Ah, I understand:
The case that does not compile comes from the toplevel test folder,
which I could have excluded explicitly.
But it is not a complete solution:
If I want to add every package from the standard lib, then I necessarily
encounter enclosed test
New submission from Christian Tismer:
zipfile.PyZipFile needs a filter function.
Reason:
When creating an archive of the python lib, we don't want the tests.
Especially the test file badsyntax_future3.py does not compile.
Use case:
With this little addition, it becomes very easy to create
Christian Tismer added the comment:
Here is my use case as an example.
With this patch above, I can easily create a .zip file of the standard lib.
This was no longer possible at all, after revision 17558,
from 2001-04-18:
This is a test
from __future__ import nested_scopes
from __future__
Christian Tismer added the comment:
Hi Tim,
Yes, this would be great to get sorted out.
Then we could make watchdog.py automatically
configure itself for network mounts.
Right now this makes no nense because of windows.
cheers - chris
--
nosy: +Christian.Tismer
Christian Tismer added the comment:
I would like to make an additional suggestion.
(and I implemented this yesterday):
Native namedtuple (not a derived class) can be made much simpler to handle
when no module and class machinery is involved at all.
The way I implemented it has no need for sys
On 30.06.12 18:25, Paul Rubin wrote:
Christian Tismer tis...@stackless.com writes:
Tiffany stands for any tiff. The tiny module solves a large set of
problems, has no dependencies and just works wherever Python works.
Tiffany was developed in the course of the *DiDoCa* project and will
always
if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
the necessity
of modifying stuff would reduce to the few changes which are important
in a few modules.
So right now, I try to use python 3, but the flexibility is right now
in python2.7 .
cheers - Chris
--
Christian Tismer :^) mailto:tis...@stackless.com
tismerysoft GmbH
On 27.06.12 13:02, Chris Angelico wrote:
On Wed, Jun 27, 2012 at 8:25 PM, Christian Tismer tis...@stackless.com wrote:
I think, for the small importance of the print statement in code, it
would have made the transition easier, if python 3 was as flexible
as python 2.7, with a symmetric
from
...
Thanks for the adjustment. Now I'm feeling fine and will move on to
other targets ;-)
By the way:
Our conversation seems to have a real effect on downloads. :-)
It has been quite a boost since 20 hours from some 25-40 to now
over 200.
cheers -- chris
--
Christian Tismer
On 27.06.12 15:24, Christian Tismer wrote:
...
Thanks for the adjustment. Now I'm feeling fine and will move on to
other targets ;-)
By the way:
Our conversation seems to have a real effect on downloads. :-)
It has been quite a boost since 20 hours from some 25-40 to now
over 200
On 27.06.12 15:44, Stefan Behnel wrote:
Christian Tismer, 27.06.2012 15:15:
print, function or not, is not important enough to enforce a rewrite
everywhere because of syntax error. That hides the real semantic
changes which _are_ important.
So what I would have done is to let it work
On 6/27/12 8:58 PM, Serhiy Storchaka wrote:
On 27.06.12 17:34, Christian Tismer wrote:
That's why I was unhappy with py3's missing flexibility.
Excessive flexibility is amorphism.
Random notes without context and reasoning are no better than spam.
My answer as well, of course, so let's
this are most welcome.
Please let me know if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH
Hi Steven,
On 26.06.12 04:18, Steven D'Aprano wrote:
On Mon, 25 Jun 2012 23:36:59 +0200, Christian Tismer wrote:
I saw quite a lot of downloads of this package now, but not a single
reaction or any feedback.
Feel fortunate that you are getting any downloads at all :)
In my experience
Abour tiffany...
On 6/25/12 3:46 AM, Christian Tismer wrote:
Tiffany - Read/Write Multipage-Tiff with PIL without PIL
Tiffany stands for any tiff. The tiny module solves a large set of
problems, has no dependencies and just works
.
Please let me know if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break
this are most welcome.
Please let me know if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH
this are most welcome.
Please let me know if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH
website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/
14482 Potsdam
website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
Karl-Liebknecht-Str. 121 :*Starship* http://starship.python.net/
14482 Potsdam
to be browsed (an hourly updated
clone from hg.python.org) and includes a new issue tracker.
Please let me know if you encounter any problems.
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
to be browsed (an hourly updated
clone from hg.python.org) and includes a new issue tracker.
Please let me know if you encounter any problems.
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
``.
Please let me know if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have
I used wx and Boa years before and
Was quite pleased.
In these days I switched to Qt with PySide. Qt designer works quite well.
If you have the choice, then my recommendation is this.
Cheers - chris
Sent from my Ei4Steve
On Jun 8, 2012, at 8:11, Alister alister.w...@ntlworld.com wrote:
On
Hi Miki,
Yes, and this works very well. As a side
effect it also serves as a template when
you need to change certain things
dynamically. You can pick snippets for
your Gui dynamication.
But as a strong recommendation: never
ever change the generated code. Import the generated classes and
``.
Please let me know if this stuff works for you, and send requests to
tis...@stackless.com or use the links in the bitbucket website:
https://bitbucket.org/didoca/tiffany
cheers -- Chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have
Hi friends,
The python.net and stackless.com sites
are moving again. I have upgraded from a EQ8 to an EX4 server, again from
Hetzner, Germany.
It has only 16GIB instead of 24, but
a Core-I7 - 2600 CPU at 3.5 GHz and
A 3 TB Raid1.
That is double size and performance
at a 2/3 reduced price -
the irony ;-)
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/
14109 Berlin : PGP key - http://wwwkeys.pgp.net/
work +49 30
, Set([1]): 5}
Equality is kept for comparison, but what is it worth to hash
them by id?
On the original problem:
You could turn you lists into tuples. This would be clean
and correct.
ciao - chris
--
Christian Tismer :^)mailto:tis...@stackless.com
tismerysoft GmbH
On 7/24/09 1:04 AM, William Dode wrote:
On 23-07-2009, Christian Tismer wrote:
...
Wasn't the project plan saying the opposite, borrowing
some ideas from psyco? :-)
http://code.google.com/p/unladen-swallow/wiki/ProjectPlan
How do you see the future of psyco when unladen-swallow will grab
On 7/23/09 8:22 AM, Christian Heimes wrote:
Christian Tismer wrote:
Psyco V2 will run on X86 based 32 bit Linux, 32 bit Windows,
and Mac OS X. Psyco is not supporting 64 bit, yet. But it
is well being considered.
Can you estimate how much work needs to be done in order to get Psyco
working
(). This will go away, pretty soon.
Psyco will only be switched on or off.
Maybe I will add an option for profiling the compiled code.
Interesting idea!
cheers - chris
--
Christian Tismer :^) mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride
It is just being transferred
Von meinem iTouch gesendet
On Jul 18, 2009, at 7:03, est electronix...@gmail.com wrote:
On Jul 17, 10:48 am, Christian Tismer tis...@stackless.com wrote:
Announcing Psyco V2 source release
--
This is the long awaited announcement
, Laura Creighton and Andrea Tismer,
for all the support and discussions.
Looking forward to a great future of Psyco!
July 17, 2009
--
Christian Tismer :^) mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A
, Laura Creighton and Andrea Tismer,
for all the support and discussions.
Looking forward to a great future of Psyco!
July 17, 2009
--
Christian Tismer :^) mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A
Creighton and Andrea Tismer,
for all the support and discussions.
Looking forward to a great future of Psyco!
July 17, 2009
--
Christian Tismer :^) mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A
months
--
Christian Tismer :^) mailto:tis...@stackless.com
tismerysoft GmbH : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/
14109 Berlin : PGP key - http://wwwkeys.pgp.net/
work +49 30 802
as much as possible,
I am currently taking a pause in favor of filling the gap
for psyco, supporting generators. The details are not yet
settled, maybe we choose to change the project name,
to avoid the author getting bugged with questions about
this extra stuff.
- chris
--
Christian Tismer
to the roots -- chris
--
Christian Tismer :^) mailto:[EMAIL PROTECTED]
tismerysoft GmbH : Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A :*Starship* http://starship.python.net/
14109 Berlin : PGP key - http://wwwkeys.pgp.net
, but they are easy to work around.
Contact me privately or on the stackless list if you need support.
Also, is pythonwin needed for the win32 extensions and mfc?
yes.
cheers - chris
--
Christian Tismer :^) mailto:[EMAIL PROTECTED]
tismerysoft GmbH : Have a break! Take
Stefan Drees wrote:
Dear Crew of the Python Starship,
after a short email exchange of thoughts with Christian Tismer, that he
might take over again the hosting of the ship or silently give over some
of its remains to a museum, he encouraged me, to let go after four years
of hosting, so
1 - 100 of 142 matches
Mail list logo