Hi all,
I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into the repository? :-)
Best, Christoph JSON-ct.40.mcz (21K) Download Attachment
Carpe Squeak!
|
Here is a second small but, as I hope, useful patch.
Have a nice weekend!
Best,
Christoph
Von: Squeak-dev <[hidden email]> im Auftrag von Thiede, Christoph
Gesendet: Samstag, 5. September 2020 21:59 Uhr An: Squeak Dev; Tony Garnock-Jones; Niephaus, Fabio Betreff: [squeak-dev] I'd like to contribute to the JSON project Hi all,
I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into the repository? :-)
Best, Christoph JSON-ct.41.mcz (22K) Download Attachment
Carpe Squeak!
|
In reply to this post by Christoph Thiede
Hi Christoph,
Your code looks correct to me, though it's a bit too slow for my taste. I've fixed it in my fork of JSON[1] as well. Levente [1] http://squeaksource.com/PostgresV3/JSON-ul.55.mcz On Sat, 5 Sep 2020, Thiede, Christoph wrote: > > Hi all, > > > I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into the > repository? :-) > > > Best, > > Christoph > > > |
Hi Levente,
is there no active development happening on http://www.squeaksource.com/JSON any longer? Is your fork specialized for optimized code? I was rather trying to reuse existing functionality such as #nextHexDigit. Just for interest, how much faster did you get the code by optimizing my changes? ;-)
Best, Christoph Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]>
Gesendet: Sonntag, 6. September 2020 02:13:56 An: The general-purpose Squeak developers list Cc: Niephaus, Fabio Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project Hi Christoph,
Your code looks correct to me, though it's a bit too slow for my taste. I've fixed it in my fork of JSON[1] as well. Levente [1] http://squeaksource.com/PostgresV3/JSON-ul.55.mcz On Sat, 5 Sep 2020, Thiede, Christoph wrote: > > Hi all, > > > I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into the > repository? :-) > > > Best, > > Christoph > > >
Carpe Squeak!
|
Hi
Tony could add you .. Best regards -Tobias > On 08.09.2020, at 10:42, Thiede, Christoph <[hidden email]> wrote: > > Hi Levente, > > is there no active development happening on http://www.squeaksource.com/JSON any longer? Is your fork specialized for optimized code? I was rather trying to reuse existing functionality such as #nextHexDigit. Just for interest, how much faster did you get the code by optimizing my changes? ;-) > > Best, > Christoph > Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]> > Gesendet: Sonntag, 6. September 2020 02:13:56 > An: The general-purpose Squeak developers list > Cc: Niephaus, Fabio > Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project > > Hi Christoph, > > Your code looks correct to me, though it's a bit too slow for my taste. > I've fixed it in my fork of JSON[1] as well. > > Levente > [1] http://squeaksource.com/PostgresV3/JSON-ul.55.mcz > > On Sat, 5 Sep 2020, Thiede, Christoph wrote: > > > > > Hi all, > > > > > > I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into the > > repository? :-) > > > > > > Best, > > > > Christoph > > > > > > |
> On 2020-09-08, at 9:30 AM, Tobias Pape <[hidden email]> wrote: > > Hi > > Tony could add you .. For a fairly widely used facility like this it would be nice to gather all the best bits into one well maintained place. I use the 'raw' version with my Weatherstation and Levente's version in the postgres package for a work thing... nice to have just one. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim All new: The software is not compatible with previous versions. |
Without wanting to step on anyone's toes, +1 for centralizing packages like this. If Levente hadn't explained in his email that his repository is a fork, I would not even have known which version to develop against. Such things are confusing and impede open source contributions.
Are you talking about integrating it into the Trunk or would this be another step?
Best, Christoph Von: Squeak-dev <[hidden email]> im Auftrag von tim Rowledge <[hidden email]>
Gesendet: Dienstag, 8. September 2020 21:00:03 An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project > On 2020-09-08, at 9:30 AM, Tobias Pape <[hidden email]> wrote: > > Hi > > Tony could add you .. For a fairly widely used facility like this it would be nice to gather all the best bits into one well maintained place. I use the 'raw' version with my Weatherstation and Levente's version in the postgres package for a work thing... nice to have just one. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim All new: The software is not compatible with previous versions.
Carpe Squeak!
|
In reply to this post by Christoph Thiede
Hi Christoph,
On Tue, 8 Sep 2020, Thiede, Christoph wrote: > > Hi Levente, > > > is there no active development happening on http://www.squeaksource.com/JSON any longer? Last commit is from 2016. I wanted to have our changes added to the main repository[1]. > Is your fork specialized for optimized code? It has got performance improvements and new features as well. There are quite a few changes, so I suggest you go through the MC history if you want to know what has been changed. >I was rather trying to reuse existing functionality such as #nextHexDigit. Just for > interest, how much faster did you get the code by optimizing my changes? ;-) I haven't measured it. The parser has been rewritten, so the code is quite different. But I expect my version to be at least a magnitude faster. Levente [1] http://forum.world.st/Another-version-of-JSON-in-the-Inbox-td5066614.html > > > Best, > > Christoph > > _________________________________________________________________________________________________________________________________________________________________________________________________________________________________ > Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]> > Gesendet: Sonntag, 6. September 2020 02:13:56 > An: The general-purpose Squeak developers list > Cc: Niephaus, Fabio > Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project > Hi Christoph, > > Your code looks correct to me, though it's a bit too slow for my taste. > I've fixed it in my fork of JSON[1] as well. > > Levente > [1] http://squeaksource.com/PostgresV3/JSON-ul.55.mcz > > On Sat, 5 Sep 2020, Thiede, Christoph wrote: > > > > > Hi all, > > > > > > I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into > the > > repository? :-) > > > > > > Best, > > > > Christoph > > > > > > > > |
Hi all, hi Levente,
I just wanted to send you a fix for parsing "\u2139\ufffd", but then I realized that you already had fixed this in the repository. So what, at least I understood my own error!
However, is there an option to subscribe to arbitrary packages (such as the JSON package) in order to get notified via email about new changes to it? :-)
Best, Christoph Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]>
Gesendet: Dienstag, 8. September 2020 22:22:10 An: The general-purpose Squeak developers list Cc: Niephaus, Fabio Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project Hi Christoph,
On Tue, 8 Sep 2020, Thiede, Christoph wrote: > > Hi Levente, > > > is there no active development happening on http://www.squeaksource.com/JSON any longer? Last commit is from 2016. I wanted to have our changes added to the main repository[1]. > Is your fork specialized for optimized code? It has got performance improvements and new features as well. There are quite a few changes, so I suggest you go through the MC history if you want to know what has been changed. >I was rather trying to reuse existing functionality such as #nextHexDigit. Just for > interest, how much faster did you get the code by optimizing my changes? ;-) I haven't measured it. The parser has been rewritten, so the code is quite different. But I expect my version to be at least a magnitude faster. Levente [1] http://forum.world.st/Another-version-of-JSON-in-the-Inbox-td5066614.html > > > Best, > > Christoph > > _________________________________________________________________________________________________________________________________________________________________________________________________________________________________ > Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]> > Gesendet: Sonntag, 6. September 2020 02:13:56 > An: The general-purpose Squeak developers list > Cc: Niephaus, Fabio > Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project > Hi Christoph, > > Your code looks correct to me, though it's a bit too slow for my taste. > I've fixed it in my fork of JSON[1] as well. > > Levente > [1] http://squeaksource.com/PostgresV3/JSON-ul.55.mcz > > On Sat, 5 Sep 2020, Thiede, Christoph wrote: > > > > > Hi all, > > > > > > I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into > the > > repository? :-) > > > > > > Best, > > > > Christoph > > > > > > > >
Carpe Squeak!
|
Am Di., 29. Sept. 2020 um 02:37 Uhr schrieb Thiede, Christoph
<[hidden email]>: > > However, is there an option to subscribe to arbitrary packages (such as the JSON package) in order to get notified via email about new changes to it? :-) > Lately I have seen a bot that automatically posts a pull request for your npm package.json if a dependency has a new release... Could have been https://github.com/renovatebot/renovate Now there is probably nothing like "releases" going on in the JSON package, but maybe a similar service can be achieved for Monticello or Metacello configurations. |
In reply to this post by Christoph Thiede
Hi Christoph,
On Tue, 29 Sep 2020, Thiede, Christoph wrote: > > Hi all, hi Levente, > > > I just wanted to send you a fix for parsing "\u2139\ufffd", but then I realized that you already had fixed this in the repository. So what, at least I understood my own error! That's really weird because we even had a small discussion about it in this thread: http://forum.world.st/I-d-like-to-contribute-to-the-JSON-project-tp5121353p5121357.html > > > However, is there an option to subscribe to arbitrary packages (such as the JSON package) in order to get notified via email about new changes to it? :-) Email? I don't think so. RSS is probably the closest thing: https://squeaksource.com/feed.rss Levente > > > Best, > > Christoph > > _________________________________________________________________________________________________________________________________________________________________________________________________________________________________ > Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]> > Gesendet: Dienstag, 8. September 2020 22:22:10 > An: The general-purpose Squeak developers list > Cc: Niephaus, Fabio > Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project > Hi Christoph, > > On Tue, 8 Sep 2020, Thiede, Christoph wrote: > > > > > Hi Levente, > > > > > > is there no active development happening on http://www.squeaksource.com/JSON any longer? > > Last commit is from 2016. I wanted to have our changes added to the main > repository[1]. > > > Is your fork specialized for optimized code? > > It has got performance improvements and new features as well. There are > quite a few changes, so I suggest you go through the MC history if you > want to know what has been changed. > > >I was rather trying to reuse existing functionality such as #nextHexDigit. Just for > > interest, how much faster did you get the code by optimizing my changes? ;-) > > I haven't measured it. The parser has been rewritten, so the code is quite > different. But I expect my version to be at least a magnitude faster. > > > Levente > > [1] http://forum.world.st/Another-version-of-JSON-in-the-Inbox-td5066614.html > > > > > > > Best, > > > > Christoph > > > >________________________________________________________________________________________________________________________________________________________________________________________________________________________________ > _ > > Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]> > > Gesendet: Sonntag, 6. September 2020 02:13:56 > > An: The general-purpose Squeak developers list > > Cc: Niephaus, Fabio > > Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project > > Hi Christoph, > > > > Your code looks correct to me, though it's a bit too slow for my taste. > > I've fixed it in my fork of JSON[1] as well. > > > > Levente > > [1] http://squeaksource.com/PostgresV3/JSON-ul.55.mcz > > > > On Sat, 5 Sep 2020, Thiede, Christoph wrote: > > > > > > > > Hi all, > > > > > > > > > I'd like to contribute to the JSON project, but apparently I lack the required access rights. Would it be possible to review this patch, which adds UTF-16 support for JSON strings, with the final goal to introduce it into > > the > > > repository? :-) > > > > > > > > > Best, > > > > > > Christoph > > > > > > > > > > > > > > > |
I forgot about this fork you did Levente, I should probably switch! BUT, JSON is such crucial functionality these days, what do y'all think about integrating it into the base image? I guess we have some basic functionality on WebUtils... looks pretty compact, is there more to JSON than that? Email? I don't think so. RSS is probably the closest thing: Actually, squeaksource does support email notifications (it's how we're getting trunk commit notifications), but only the admin can add/remove them -- I assume because it was intended for publishing to mailing lists, so we should find a way to improve that. Still, in the meantime, an admin of the project could add your email, Christoph. Then, it's just a matter of whether or not squeaksource.com instance of SqueakSource is hooked up to a mail server, or not.. |
Hi Levente, Hi Chris,
> That's really weird because we even had a small discussion about it in this thread:
> http://forum.world.st/I-d-like-to-contribute-to-the-JSON-project-tp5121353p5121357.html
> Email? I don't think so. RSS is probably the closest thing: > https://squeaksource.com/feed.rss Ah! This looks promising! Can we have an RSS feed for every single repository? I cannot find the JSON repository in the linked feed.
> BUT, JSON is such crucial functionality these days, what do y'all think about integrating it into the base image?
+1! This would also save you some work when writing Metacello baselines where at the moment, you have to specify the dependency manually ...
> I guess we have some basic functionality on WebUtils... looks pretty compact, is there more to JSON than that?
Interesting, never heard of that before! JSON has some more features indeed, I guess. For example, it provides JsonObject, a subclass of Dictionary that implements dynamic forwarding to its property. I
find this extremely handy when writing or prototyping REST applications because you can use these objects polymorphic with a custom class instance! Also, WebUtils do not support some special JSON constructs such as certain string escapes such as \f or UTF-16
char codes (see the start of this thread).
> Still, in the meantime, an admin of the project could add your email, Christoph. Then, it's just a matter of whether or not squeaksource.com instance of
SqueakSource is hooked up to a mail server, or not..
No need for special treatment :) It would be great to subscribe to emails for every single project, but how expensive would that be? RSS sounds easier to me (as it's already implemented in some way), there are external services that can email you about
RSS news. Where are the sources for it, is it SqueakSource, SqueakSource 2, or SqueakSource 3?
Best,
Christoph
Von: Squeak-dev <[hidden email]> im Auftrag von Chris Muller <[hidden email]>
Gesendet: Mittwoch, 30. September 2020 00:25:17 An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project I forgot about this fork you did Levente, I should probably switch! BUT, JSON is such crucial functionality these days, what do y'all think about integrating it into the base image? I guess we have some basic functionality on WebUtils... looks pretty
compact, is there more to JSON than that?
Email? I don't think so. RSS is probably the closest thing: Actually, squeaksource does support email notifications (it's how we're getting trunk commit notifications), but only the admin can add/remove them -- I assume because it was intended for publishing to mailing lists, so we should find a way to improve
that. Still, in the meantime, an admin of the project could add your email, Christoph. Then, it's just a matter of whether or not
squeaksource.com instance of SqueakSource is hooked up to a mail server, or not..
Carpe Squeak!
|
In reply to this post by Christoph Thiede
Hi Levente,
would you mind to merge JSON-ct.41 (#respondsTo:) as well? This would be great because I depend on this functionality in another project and currently require your JSON fork in my baseline. :-) Best, Christoph -- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
Carpe Squeak!
|
Hi Christoph,
On Sun, 8 Nov 2020, Christoph Thiede wrote: > Hi Levente, > > would you mind to merge JSON-ct.41 (#respondsTo:) as well? This would be > great because I depend on this functionality in another project and > currently require your JSON fork in my baseline. :-) I cannot merge it because that would bring back long removed methods, and MC wouldn't allow me to reject those. But I can add the changes manually. If I'm not mistaken, it's just a single method JsonObject >> #respondsTo:. What is the purpose of that method? I'm asking because it has got no comment, so I'm not sure its implementation is correct. For example, should JsonObject new respondsTo: #foo: return false? What should the following return? JsonObject new foo: 1; respondsTo: #foo: Another question is whether it is generally useful or not? If it's not, you can still have the desired behavior by creating a subclass. E.g.: JsonObject subclass: #PseudoObject instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'PseudoObject' PseudoObject >> respondsTo: aSymbol ^ (super respondsTo: aSymbol) or: [self includesKey: aSymbol] (Json new dictionaryClass: PseudoObject; readFrom: '{"foo": 42}' readStream) respondsTo: #foo "==> true" Levente > > Best, > Christoph > > > > -- > Sent from: http://forum.world.st/Squeak-Dev-f45488.html |
Hi Levente. Sounds right. If an object can answer to some extra messages via #doesNotUnderstand:, one should also override #respondsTo:. It is like #= and #hash. I did not know about #dictionaryClass:. That's a powerful hook. Best, Marcel
|
+1 for answering true for every simple setter selector as an addition for the implementation I proposed earlier. Sorry I forgot the setters!
For the purpose, I like to make much use of JsonObjects instead of first-class object instances in some scenarios, especially at the beginning of a project when it's an easy hack to mock not-yet implemented classes, or when communicating with a RESTful API. Thanks to dynamic forwarding (see JsonObject >> #doesNotUnderstand:), I can use these JsonObjects interchangeably (polymorphically) with first-class object instances. However, it is a common practice to check whether an object responds to a message before actually sending it, i.e. to determine its type or capabilities dynamically, which is done via #respondsTo:. To strengthen the interchangeability of JsonObject with first-class object instances, I'd like to send #respondsTo: to JsonObjects in order to find out whether it "has" a certain property, for instance:
newOrder respondsTo: #deadline "Check whether the order is an order limited-in-time or whether not. newOrder might be a subinstance of the (abstract) class Order, or a JsonObject."
For more context, see also this thread: http://forum.world.st/Should-you-override-doesNotUnderstand-and-respondsTo-together-td5110969.html So a better implementation of JsonObject >> #respondsTo: might be the following:
respondsTo: aSymbol
^ (super respondsTo: aSymbol)
or: [aSymbol isSimpleGetter and: [self includesKey: aSymbol]]
or: [aSymbol isSimpleSetter]
Provided that Json does not need to be compatible with older Squeak versions (the simple[GS]etter stuff is quite new). :-)
Best, Christoph Von: Squeak-dev <[hidden email]> im Auftrag von Taeumel, Marcel
Gesendet: Montag, 9. November 2020 08:04:20 An: squeak-dev Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project
Hi Levente.
Sounds right. If an object can answer to some extra messages via #doesNotUnderstand:, one should also override #respondsTo:. It is like #= and #hash.
I did not know about #dictionaryClass:. That's a powerful hook.
Best,
Marcel
Carpe Squeak!
|
In reply to this post by marcel.taeumel
Hi Marcel,
On Mon, 9 Nov 2020, Marcel Taeumel wrote: > Hi Levente. > Sounds right. If an object can answer to some extra messages via #doesNotUnderstand:, one should also override #respondsTo:. It is like #= and #hash. In that case JsonObject >> #respondsTo: should return true for all unary and one-argument keyword selectors. But I doubt that's what Christoph would like to have. Levente > > I did not know about #dictionaryClass:. That's a powerful hook. > > Best, > Marcel > > Am 09.11.2020 03:07:54 schrieb Levente Uzonyi <[hidden email]>: > > Hi Christoph, > > On Sun, 8 Nov 2020, Christoph Thiede wrote: > > > Hi Levente, > > > > would you mind to merge JSON-ct.41 (#respondsTo:) as well? This would be > > great because I depend on this functionality in another project and > > currently require your JSON fork in my baseline. :-) > > I cannot merge it because that would bring back long removed methods, and > MC wouldn't allow me to reject those. > But I can add the changes manually. > If I'm not mistaken, it's just a single method JsonObject >> #respondsTo:. > > What is the purpose of that method? > I'm asking because it has got no comment, so I'm not sure its > implementation is correct. > For example, should > > JsonObject new respondsTo: #foo: > > return false? > What should the following return? > > JsonObject new > foo: 1; > respondsTo: #foo: > > Another question is whether it is generally useful or not? > If it's not, you can still have the desired behavior by creating a > subclass. E.g.: > > JsonObject subclass: #PseudoObject > instanceVariableNames: '' > classVariableNames: '' > poolDictionaries: '' > category: 'PseudoObject' > > > PseudoObject >> respondsTo: aSymbol > > ^ (super respondsTo: aSymbol) > or: [self includesKey: aSymbol] > > > (Json new > dictionaryClass: PseudoObject; > readFrom: '{"foo": 42}' readStream) > respondsTo: #foo > "==> true" > > > Levente > > > > > Best, > > Christoph > > > > > > > > -- > > Sent from: http://forum.world.st/Squeak-Dev-f45488.html > > > |
> But I doubt that's what Christoph would like to have.
That is right, I was assuming some kind of late-binding prototypical object model.
For instance, a similar model seems to be used for JavaScript objects:
However, I see your concerns, Levente ... My proposal would violate the contract "if and only if #respondsTo: returns true, sending the message will not cause a MNU", if there was any contract like. But do we need logical equivalency for such a contract or would simple causality ("if #respondsTo: returns true, then sending the message will not cause a MNU") suffice? Hm ...
Best, Christoph Von: Squeak-dev <[hidden email]> im Auftrag von Levente Uzonyi <[hidden email]>
Gesendet: Montag, 9. November 2020 15:17 Uhr An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] I'd like to contribute to the JSON project Hi Marcel,
On Mon, 9 Nov 2020, Marcel Taeumel wrote: > Hi Levente. > Sounds right. If an object can answer to some extra messages via #doesNotUnderstand:, one should also override #respondsTo:. It is like #= and #hash. In that case JsonObject >> #respondsTo: should return true for all unary and one-argument keyword selectors. But I doubt that's what Christoph would like to have. Levente > > I did not know about #dictionaryClass:. That's a powerful hook. > > Best, > Marcel > > Am 09.11.2020 03:07:54 schrieb Levente Uzonyi <[hidden email]>: > > Hi Christoph, > > On Sun, 8 Nov 2020, Christoph Thiede wrote: > > > Hi Levente, > > > > would you mind to merge JSON-ct.41 (#respondsTo:) as well? This would be > > great because I depend on this functionality in another project and > > currently require your JSON fork in my baseline. :-) > > I cannot merge it because that would bring back long removed methods, and > MC wouldn't allow me to reject those. > But I can add the changes manually. > If I'm not mistaken, it's just a single method JsonObject >> #respondsTo:. > > What is the purpose of that method? > I'm asking because it has got no comment, so I'm not sure its > implementation is correct. > For example, should > > JsonObject new respondsTo: #foo: > > return false? > What should the following return? > > JsonObject new > foo: 1; > respondsTo: #foo: > > Another question is whether it is generally useful or not? > If it's not, you can still have the desired behavior by creating a > subclass. E.g.: > > JsonObject subclass: #PseudoObject > instanceVariableNames: '' > classVariableNames: '' > poolDictionaries: '' > category: 'PseudoObject' > > > PseudoObject >> respondsTo: aSymbol > > ^ (super respondsTo: aSymbol) > or: [self includesKey: aSymbol] > > > (Json new > dictionaryClass: PseudoObject; > readFrom: '{"foo": 42}' readStream) > respondsTo: #foo > "==> true" > > > Levente > > > > > Best, > > Christoph > > > > > > > > -- > > Sent from: http://forum.world.st/Squeak-Dev-f45488.html
> > >
Carpe Squeak!
|
In reply to this post by marcel.taeumel
On Sun, Nov 8, 2020 at 11:04 PM Marcel Taeumel <[hidden email]> wrote:
And canUnderstand: ? Or is that being too picky?
_,,,^..^,,,_ best, Eliot |
Free forum by Nabble | Edit this page |