On Mon, 30 Aug 2010, Lukas Renggli wrote:
>>> We want a library where people can participate. Now Pharoers will decide, >>> I think that we do not have problem >>> with sharing on WebClient. I can understand that people do not like that >>> they cannot improve an infrastructure >>> that they will rely upon. We do not want string to number conversion, and >>> rely on squeakToUtf. >> >> I think Andreas solved these issues with the WebClient-Pharo package, but I >> may be wrong. > > What WebClient-Pharo does is to patch (and break) Pharo in the most > absurd ways to make it ill-behaved like Squeak. For example, check out > the implementation of String>>#,. I don't like "magical typecasts", but you (the community) should discuss it with the author (Andreas) before forking the package. > > Philippe (an expert in writing platform independent code) and Sven > have fixed all these issues so that the code works flawlessly on both > platforms, Squeak and Pharo. Cool. Levente > >> Well, we are about to use it for Seaside. It scales a lot better than Kom. >> Cog can't really speed up Kom (based on our benchmarks done with JMeter)*, >> probably because of the heavy use of notifications (DynamicBindings), but it >> can boost WebClient significantly. > > Kom is not ideal, we all know that (thanks for sharing the > benchmarks). However, the current licensing situation of WebClient > makes it totally useless for me and presumably many other people. > Luckily there are many other options. > > Lukas > > -- > Lukas Renggli > www.lukas-renggli.ch > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Henrik Sperre Johansen
On Mon, 30 Aug 2010, Henrik Johansen wrote:
> > On Aug 30, 2010, at 1:06 10PM, Levente Uzonyi wrote: > >> On Mon, 30 Aug 2010, Stéphane Ducasse wrote: >> >>>>> >>>>> I suggest that the people that want and know, group together and build an open-source one. >>>> >>>> Why do you have to have your "own" library? >>> >>> Did I say "pharo library"? reread carefully I said an "open-source one". >> >> What I get from Andreas' words is that he's willing to make it open source if it won't be forked. > > So, definitely not MIT then. > I guess that means the long-term plan of replacing HttpSocket in Squeak is out as well? I don't think so. Squeak releases won't come with WebClient loaded, Andreas mentioned it in his mail. > >> >>> We do not want to be in the situation that somebody can change the license under our feet. >>> We want a library where people can participate. Now Pharoers will decide, I think that we do not have problem >>> with sharing on WebClient. I can understand that people do not like that they cannot improve an infrastructure >>> that they will rely upon. We do not want string to number conversion, and rely on squeakToUtf. >> >> I think Andreas solved these issues with the WebClient-Pharo package, but I may be wrong. > > If you call overriding String #, (to accept any object responding to asString without raising errors) and Collection #ifEmpty: (to return nil instead of the collection ifNotEmpty) "solving the issues" in Pharo, then yeah, sure. Andreas. Collection >> #ifEmpty: doesn't return nil, but the collection in the WebClient-Pharo package (and in Squeak), and I think it's better than nil. > If you call (re)introducing #squeakToUtf8/#utf8ToSqueak instead of using convertTo/FromEncoding: 'utf8', then yes. In Squeak these methods avoid the creation of the TextConverter object if the receiver is a ByteString, which is usually the case. Levente > > Personally, I'd call it forcing Squeakisms on anyone wanting to use WebClient, and potentially breaking any number of other packages. > > The rest I have no problems with, most are fixes/convenience methods which are already in, or should be introduced before Pharo 1.2 (for exampe the SocketStream fixes ) > > Cheers, > Henry > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
>
>> If you call (re)introducing #squeakToUtf8/#utf8ToSqueak instead of using convertTo/FromEncoding: 'utf8', then yes. > > In Squeak these methods avoid the creation of the TextConverter object if the receiver is a ByteString, which is usually the case. http://code.google.com/p/pharo/issues/list?thanks=2885 Thanks _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Levente Uzonyi-2
---- On Mon, 30 Aug 2010 05:57:47 -0700 Levente Uzonyi wrote ---- >I don't like the "magical" #asString, but you should discuss it with >Andreas. Collection >> #ifEmpty: doesn't return nil, but the collection in >the WebClient-Pharo package (and in Squeak), and I think it's better than >nil. I opened a ticked on this a few weeks back: http://code.google.com/p/pharo/issues/detail?id=2794 The ifEmpty:/ifNotEmpty: behavior of Squeak is demonstrably better and should be adopted. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On 30 Aug 2010, at 15:35, jaayer wrote: > ---- On Mon, 30 Aug 2010 05:57:47 -0700 Levente Uzonyi wrote ---- > >> I don't like the "magical" #asString, but you should discuss it with >> Andreas. Collection >> #ifEmpty: doesn't return nil, but the collection in >> the WebClient-Pharo package (and in Squeak), and I think it's better than >> nil. > > I opened a ticked on this a few weeks back: http://code.google.com/p/pharo/issues/detail?id=2794 > > The ifEmpty:/ifNotEmpty: behavior of Squeak is demonstrably better and should be adopted. heu... I evaluated the following in a pharo1.1-dev and 1.2-core: (#(foo) ifEmpty:[#bar]) -> returns #(foo) (#() ifNotEmpty:[#bar]) -> returns #() This seems to do what you propose? Johan _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Aug 30, 2010, at 4:00 07PM, Johan Brichau wrote: > > On 30 Aug 2010, at 15:35, jaayer wrote: > >> ---- On Mon, 30 Aug 2010 05:57:47 -0700 Levente Uzonyi wrote ---- >> >>> I don't like the "magical" #asString, but you should discuss it with >>> Andreas. Collection >> #ifEmpty: doesn't return nil, but the collection in >>> the WebClient-Pharo package (and in Squeak), and I think it's better than >>> nil. >> >> I opened a ticked on this a few weeks back: http://code.google.com/p/pharo/issues/detail?id=2794 >> >> The ifEmpty:/ifNotEmpty: behavior of Squeak is demonstrably better and should be adopted. > > heu... I evaluated the following in a pharo1.1-dev and 1.2-core: > > (#(foo) ifEmpty:[#bar]) -> returns #(foo) > (#() ifNotEmpty:[#bar]) -> returns #() > > This seems to do what you propose? > Johan > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project Yes. Levente is right, I read the code of Andreas' wrong. Pharo 1.1/1.2 does this, so the override is for 1.0, where #ifEmpty: returns nil . Cheers, Henry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by jaayer
Thanks
It skipped my radar since it is not marked as fixed. do you want that I add you to the project developers on google so that you can changed the tag value? Stef On Aug 30, 2010, at 3:35 PM, jaayer wrote: > > > ---- On Mon, 30 Aug 2010 05:57:47 -0700 Levente Uzonyi wrote ---- > >> I don't like the "magical" #asString, but you should discuss it with >> Andreas. Collection >> #ifEmpty: doesn't return nil, but the collection in >> the WebClient-Pharo package (and in Squeak), and I think it's better than >> nil. > > I opened a ticked on this a few weeks back: http://code.google.com/p/pharo/issues/detail?id=2794 > > The ifEmpty:/ifNotEmpty: behavior of Squeak is demonstrably better and should be adopted. > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Henrik Sperre Johansen
Ok so I can close the ticket then.
:) Stef >>> ---- On Mon, 30 Aug 2010 05:57:47 -0700 Levente Uzonyi wrote ---- >>> >>>> I don't like the "magical" #asString, but you should discuss it with >>>> Andreas. Collection >> #ifEmpty: doesn't return nil, but the collection in >>>> the WebClient-Pharo package (and in Squeak), and I think it's better than >>>> nil. >>> >>> I opened a ticked on this a few weeks back: http://code.google.com/p/pharo/issues/detail?id=2794 >>> >>> The ifEmpty:/ifNotEmpty: behavior of Squeak is demonstrably better and should be adopted. >> >> heu... I evaluated the following in a pharo1.1-dev and 1.2-core: >> >> (#(foo) ifEmpty:[#bar]) -> returns #(foo) >> (#() ifNotEmpty:[#bar]) -> returns #() >> >> This seems to do what you propose? >> Johan >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > Yes. > Levente is right, I read the code of Andreas' wrong. > Pharo 1.1/1.2 does this, so the override is for 1.0, where #ifEmpty: returns nil . > > Cheers, > Henry > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Aug 30, 2010, at 4:45 35PM, Stéphane Ducasse wrote: > Ok so I can close the ticket then. > :) > Stef Unless you want it as part of a 1.0 patch, yes. Cheers, Henry >>>> ---- On Mon, 30 Aug 2010 05:57:47 -0700 Levente Uzonyi wrote ---- >>>> >>>>> I don't like the "magical" #asString, but you should discuss it with >>>>> Andreas. Collection >> #ifEmpty: doesn't return nil, but the collection in >>>>> the WebClient-Pharo package (and in Squeak), and I think it's better than >>>>> nil. >>>> >>>> I opened a ticked on this a few weeks back: http://code.google.com/p/pharo/issues/detail?id=2794 >>>> >>>> The ifEmpty:/ifNotEmpty: behavior of Squeak is demonstrably better and should be adopted. >>> >>> heu... I evaluated the following in a pharo1.1-dev and 1.2-core: >>> >>> (#(foo) ifEmpty:[#bar]) -> returns #(foo) >>> (#() ifNotEmpty:[#bar]) -> returns #() >>> >>> This seems to do what you propose? >>> Johan >>> _______________________________________________ >>> Pharo-project mailing list >>> [hidden email] >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> >> Yes. >> Levente is right, I read the code of Andreas' wrong. >> Pharo 1.1/1.2 does this, so the override is for 1.0, where #ifEmpty: returns nil . >> >> Cheers, >> Henry >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Johan Brichau-2
Johan Brichau wrote:
> > I am not a lawyer but as far as I understand this topic, no license > means nobody can use the code at all, which contradicts the fact of > having it in a public repository (and you being perfectly happy of > people using it). IANAL. "no license" means it's public domain, so *anybody* can use it. But, if they use it, they have no idea of the terms under which they can use it - a license would may the terms clear. Cautious users would then *not* use it. So the net effect would be that nobody (that is cautious) uses it. There is no contradiction with it being in a public repository. The author is perfectly happy for the public to use it. The problem is that users are likely not happy to use it, without any license terms. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Stéphane Ducasse
My 2 cents about WebClient.
- it should be an (un)loadable external package, and i am fully agree with Andreas on this point. It is tempting to integrate it into image, do some tweaks here and there and then ship it within a monolitic image. But then, from maintainer's point of view, it is quite hard to keep developing it and improving, since it may break things in random places over multiple forks etc etc, and then who will be accused in such breakage? - a maintainer. It is good to have a person, who personally responsible for maintaining a package, or even if by a group of people, it should use a separate repository for developing it. Otherwise, if you integrate it into image, by doing that you: - losing a maintainer , who willingly contributing to this project - in same turn, must take own responsibility for maintaining it, which means extra work for you, whenever you having problems with it. We should learn how to integrate things without intimately tying everything with a single bloated image. And WebClient could be right thing for learning that (Seaside too ;). -- Best regards, Igor Stasenko AKA sig. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Levente Uzonyi-2
El lun, 30-08-2010 a las 13:06 +0200, Levente Uzonyi escribió:
> On Mon, 30 Aug 2010, Stéphane Ducasse wrote: > > >>> > >>> I suggest that the people that want and know, group together and build an open-source one. > >> > >> Why do you have to have your "own" library? > > > > Did I say "pharo library"? reread carefully I said an "open-source one". > > What I get from Andreas' words is that he's willing to make it open source > if it won't be forked. This is plain wrong, You CAN'T make something open source and at the same time hope that nobody will fork it. The possibility of forking is one of the main liberties granted by the free and open source software. If Andreas doesn't want anyone to fork then by definition can't be open source. As I said before, a way to avoid forking in an open source project is to be open and accepting code from contributors. Not accepting good code for bad reasons is what leads to forking. I, and I think, every Pharo user, are ok with the package being controlled by Andreas, as long as the patches are accepted and not rejected for bad reasons (like having the package part of pharo core: that is our problem, if there are issues by having it part of pharo core we'll solve them, without bothering Andreas because they are Pharo specific. But he can't also, by the same Open source nature, restrict the uses of the code). We all, greatly respect and admire his technical ability, that has never been denied. But his public interactions has more than one burned a lot of people, and this no-license issue is becoming one of them. We don't want tramps like that of the missing license. When the code was announced it was a public encourage to use it and test it, but we as community went to happy and without checking the license it was included in pharo. That was our error. So please, Andreas, if you want WebClient to be open source please do it, Pharo will use it and send you patches. If not say it too, and we'll find an alternative for this. Cheers -- Miguel Cobá http://miguel.leugim.com.mx _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Igor Stasenko
El lun, 30-08-2010 a las 18:25 +0300, Igor Stasenko escribió:
> My 2 cents about WebClient. > > - it should be an (un)loadable external package, and i am fully agree > with Andreas on this point. > It is tempting to integrate it into image, do some tweaks here and > there and then ship it within a monolitic image. > But then, from maintainer's point of view, it is quite hard to keep > developing it and improving, since it may break > things in random places over multiple forks etc etc, and then who will > be accused in such breakage? - a maintainer. Of course not, we, the ones using it as part of our core image are the ones responsible of the correct functioning in our image. It would be childish to run crying to Andreas that it break our image because we are taking the decision of integrating it in the core image. Now, this of course doesn't apply to core functionality or that breaks the contract the code offers to its clients. That type of API changes will be discussed with Andreas and if no solution found, the pharo developers will found a workaround so that is remains working correctly. What I don't understand is why such imposition to the way of use the software. If it decided to have an open source license he can't restrict the uses of the software. This is a real open source implications. > > It is good to have a person, who personally responsible for > maintaining a package, or even if by a group of people, > it should use a separate repository for developing it. > > Otherwise, if you integrate it into image, by doing that you: > - losing a maintainer , who willingly contributing to this project > - in same turn, must take own responsibility for maintaining it, > which means extra work for you, whenever you having > problems with it. Of course, that is the point. Nobody expects otherwise. > > We should learn how to integrate things without intimately tying > everything with a single bloated image. Isn't as we are integrating moose or seaside in the core image is a basic infrastructure thing, a http client, that every modern language in the current times includes in their core libraries (java, ruby, lisp). > And WebClient could be right thing for learning that (Seaside too ;). > -- Miguel Cobá http://miguel.leugim.com.mx _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
2010/8/30 Miguel Enrique Cobá Martínez <[hidden email]>:
> El lun, 30-08-2010 a las 18:25 +0300, Igor Stasenko escribió: >> My 2 cents about WebClient. >> >> - it should be an (un)loadable external package, and i am fully agree >> with Andreas on this point. >> It is tempting to integrate it into image, do some tweaks here and >> there and then ship it within a monolitic image. >> But then, from maintainer's point of view, it is quite hard to keep >> developing it and improving, since it may break >> things in random places over multiple forks etc etc, and then who will >> be accused in such breakage? - a maintainer. > > Of course not, we, the ones using it as part of our core image are the > ones responsible of the correct functioning in our image. It would be > childish to run crying to Andreas that it break our image because we are > taking the decision of integrating it in the core image. Now, this of > course doesn't apply to core functionality or that breaks the contract > the code offers to its clients. That type of API changes will be > discussed with Andreas and if no solution found, the pharo developers > will found a workaround so that is remains working correctly. > > What I don't understand is why such imposition to the way of use the > software. If it decided to have an open source license he can't restrict > the uses of the software. This is a real open source implications. > > >> >> It is good to have a person, who personally responsible for >> maintaining a package, or even if by a group of people, >> it should use a separate repository for developing it. >> >> Otherwise, if you integrate it into image, by doing that you: >> - losing a maintainer , who willingly contributing to this project >> - in same turn, must take own responsibility for maintaining it, >> which means extra work for you, whenever you having >> problems with it. > > Of course, that is the point. Nobody expects otherwise. > Then you making things wrong, because then: - party A made feature A available - party B made feature B available - users want A and B features both, but party A and B do not communicate I think that Andreas wants to impose a teamwork, when multiple parties working on same project, rather than multiple parties working on each own fork of a same project. I think i understood the Anreas'es point well. As initial developer, he dont wants to be in position, when his creation moves into a different direction, than he is initially planned. At least, until Andreas to-do list is not empty, and project is not mature enough, it is wise to keep development under his personal control. That's how i understood his message about license. >> >> We should learn how to integrate things without intimately tying >> everything with a single bloated image. > > Isn't as we are integrating moose or seaside in the core image is a > basic infrastructure thing, a http client, that every modern language in > the current times includes in their core libraries (java, ruby, lisp). > >> And WebClient could be right thing for learning that (Seaside too ;). >> > > > -- > Miguel Cobá > http://miguel.leugim.com.mx > > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Best regards, Igor Stasenko AKA sig. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Levente Uzonyi-2
On Aug 30, 2010, at 2:57 47PM, Levente Uzonyi wrote: Because the MIT license explicitly sets no limit on the users right to modify, publish and distribute the software. A condition that it can not be published/used in a modified (forked) form would exclude using MIT.
In a reply to the original announcement, Andreas also said: "On 5/4/2010 11:11 PM, Casey Ransberger wrote: > Are you intent on replacing HTTPSocket in the long run? I have an > RPC-ish thing that uses it, so I'd like to be clear on whether I can > expect it to be around for the next release. In the long run: Yes. In the next release: No. And "replacing" can mean that the public interface in HTTPSocket remains. That's what the WebClient-HTTP package does. It patches HTTPSocket to use WebClient while preserving the identical external interface. " which to me implied eventual integration in Squeak core (as did the removal of HttpSocket functionality based on it being offered by WebClient)
Yes, the major performance differences come from not creating copies if the strings are ascii, and #convertTo/FromEncoding: doing subclass lookup to find the converter though. AFAICT, it's maximally about 2 times faster in the best case (small, pure ascii strings) where it avoids both copies and a lookup compared to a convertTo/FromEncoding modified to do lookup in a dictionary rather than iterating subclasses. For the WebSocket use-cases though, I really don't see how the performance matters all that much. You convert roughly 200k 4KB ascii strings per second either way, and with a single non-ascii char, the difference falls to near negligible. "MediumDoc is a pure ascii ByteString of size 4096" [1 to: 100000 do: [:ix |MediumDoc squeakToUtf8]] timeToRun 362 384 [1 to: 100000 do: [:ix | MediumDoc convertToEncoding: 'utf-8']] timeToRun 437 564 MediumDoc at: 2048 put: $å. [1 to: 100000 do: [:ix |MediumDoc squeakToUtf8]] timeToRun 1451 1438 [1 to: 100000 do: [:ix | MediumDoc convertToEncoding: 'utf-8']] timeToRun 1463 1470 Cheers, Henry _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project TextConverting.zip (1K) Download Attachment |
In reply to this post by Miguel Cobá
2010/8/30 Miguel Enrique Cobá Martínez <[hidden email]> El lun, 30-08-2010 a las 18:25 +0300, Igor Stasenko escribió: Agree with Miguel. It is the smae situation as Gofer. Lukas is the main developer of Gofer but we (pharo developers) maintain it. When a message is removed or renamed for example, we take care about its senders, for all packages, included Gofer. And we are the responsible, not Lukas. What I don't understand is why such imposition to the way of use the _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Henrik Sperre Johansen
thanks henrik
I always learn something :) >>>> I suggest that the people that want and know, group together and build an open-source one. >>>>>> >>>>>> Why do you have to have your "own" library? >>>>> >>>>> Did I say "pharo library"? reread carefully I said an "open-source one". >>>> >>>> What I get from Andreas' words is that he's willing to make it open source if it won't be forked. >>> >>> So, definitely not MIT then. >> >> Why? > Because the MIT license explicitly sets no limit on the users right to modify, publish and distribute the software. > A condition that it can not be published/used in a modified (forked) form would exclude using MIT. > >> >>> I guess that means the long-term plan of replacing HttpSocket in Squeak is out as well? >> >> I don't think so. Squeak releases won't come with WebClient loaded, Andreas mentioned it in his mail. > > In a reply to the original announcement, Andreas also said: > > "On 5/4/2010 11:11 PM, Casey Ransberger wrote: > > Are you intent on replacing HTTPSocket in the long run? I have an > > RPC-ish thing that uses it, so I'd like to be clear on whether I can > > expect it to be around for the next release. > > In the long run: Yes. In the next release: No. And "replacing" can mean > that the public interface in HTTPSocket remains. That's what the > WebClient-HTTP package does. It patches HTTPSocket to use WebClient > while preserving the identical external interface. " > > which to me implied eventual integration in Squeak core > (as did the removal of HttpSocket functionality based on it being offered by WebClient) > > >> >>> If you call (re)introducing #squeakToUtf8/#utf8ToSqueak instead of using convertTo/FromEncoding: 'utf8', then yes. >> >> In Squeak these methods avoid the creation of the TextConverter object if the receiver is a ByteString, which is usually the case. >> >> >> Levente > > Yes, the major performance differences come from not creating copies if the strings are ascii, and #convertTo/FromEncoding: doing subclass lookup to find the converter though. > > AFAICT, it's maximally about 2 times faster in the best case (small, pure ascii strings) where it avoids both copies and a lookup compared to a convertTo/FromEncoding modified to do lookup in a dictionary rather than iterating subclasses. > > For the WebSocket use-cases though, I really don't see how the performance matters all that much. > > You convert roughly 200k 4KB ascii strings per second either way, and with a single non-ascii char, the difference falls to near negligible. > > "MediumDoc is a pure ascii ByteString of size 4096" > [1 to: 100000 do: [:ix |MediumDoc > squeakToUtf8]] timeToRun 362 384 > [1 to: 100000 do: [:ix | MediumDoc > convertToEncoding: 'utf-8']] timeToRun 437 564 > MediumDoc at: 2048 put: $å. > [1 to: 100000 do: [:ix |MediumDoc > squeakToUtf8]] timeToRun 1451 1438 > [1 to: 100000 do: [:ix | MediumDoc > convertToEncoding: 'utf-8']] timeToRun 1463 1470 > > Cheers, > Henry > > <TextConverting.zip> > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Levente Uzonyi-2
On Mon, 30 Aug 2010, Stéphane Ducasse wrote: Is that legal? IANAL but it was my understanding that if code has no licence it means that noone but the author has any right to do anything with it whatsoever. Not to download it, use it or even read it. That's why licences explicitly grant you rights, because otherwise you have none. _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Mariano Martinez Peck
Hi Pharoers,
I'm happy to read mail from Torsten, Igor and Miguel, thank you guys that's constructive. Andreas expressed his point very well, and i don't think it is hostile, maybe a bit sarcastic or disenchanted, but overall he keeps the door opened. The first thing to do is to cool down, relax and think. The second thing to do is engaging discussion with Andreas. Of course, the license is of prime importance, not having a license is a showstopper. If license is too restrictive then Andreas will probably fail to reach his goals... There will be de facto full rewrite rather than forks, but the net result will be the same: failure to share packages/libraries. That's why I personnally don't find Andreas defensive position a good strategy. Neither the attitude in response... It's like you're happy to throw his work away at first occasion without even trying to negociate. Bad vibrations. Before you engage in this (war)path, please, please, discuss. And remind this saying "il ne faut pas confondre vitesse et précipitation". If no agreement is found then, ok, you'll get a license to carry on. After the license problem, there is the technical compatibility problem. Discussions about cross fork compatibility, compatibility layers or libraries (a la GREASE) will have to occur anyway, be it about Andreas library or from any other author. So you'll have to take time to discuss. Don't consider this as lost time. These discussions are considered necessary when they regularly happens in Pharo mailing list, aren't they ? It shouldn't be that hard to convince Andreas to change things like and:and:and:. For squeakToUtf8, I don't know, maybe provide some automated rewrite rules, and produce an automated Pharo version ? Please, discuss, argue, explain why you consider certain constructions as bad style. Propose alternatives (be constructive - remember coopetition ?). I consider being unable to explain one's own choice as a weakness. Don't be weak. Come-on guys, despite Levente's cutting remark, you're not inferior to squeakers ;) (and you don't have to answer to that stupid conclusion). Nicolas 2010/8/30 Mariano Martinez Peck <[hidden email]>: > > > 2010/8/30 Miguel Enrique Cobá Martínez <[hidden email]> >> >> El lun, 30-08-2010 a las 18:25 +0300, Igor Stasenko escribió: >> > My 2 cents about WebClient. >> > >> > - it should be an (un)loadable external package, and i am fully agree >> > with Andreas on this point. >> > It is tempting to integrate it into image, do some tweaks here and >> > there and then ship it within a monolitic image. >> > But then, from maintainer's point of view, it is quite hard to keep >> > developing it and improving, since it may break >> > things in random places over multiple forks etc etc, and then who will >> > be accused in such breakage? - a maintainer. >> >> Of course not, we, the ones using it as part of our core image are the >> ones responsible of the correct functioning in our image. It would be >> childish to run crying to Andreas that it break our image because we are >> taking the decision of integrating it in the core image. Now, this of >> course doesn't apply to core functionality or that breaks the contract >> the code offers to its clients. That type of API changes will be >> discussed with Andreas and if no solution found, the pharo developers >> will found a workaround so that is remains working correctly. >> > > Agree with Miguel. It is the smae situation as Gofer. Lukas is the main > developer of Gofer but we (pharo developers) maintain it. When a message is > removed or renamed for example, we take care about its senders, for all > packages, included Gofer. And we are the responsible, not Lukas. > >> >> What I don't understand is why such imposition to the way of use the >> software. If it decided to have an open source license he can't restrict >> the uses of the software. This is a real open source implications. >> >> >> > >> > It is good to have a person, who personally responsible for >> > maintaining a package, or even if by a group of people, >> > it should use a separate repository for developing it. >> > >> > Otherwise, if you integrate it into image, by doing that you: >> > - losing a maintainer , who willingly contributing to this project >> > - in same turn, must take own responsibility for maintaining it, >> > which means extra work for you, whenever you having >> > problems with it. >> >> Of course, that is the point. Nobody expects otherwise. >> >> > >> > We should learn how to integrate things without intimately tying >> > everything with a single bloated image. >> >> Isn't as we are integrating moose or seaside in the core image is a >> basic infrastructure thing, a http client, that every modern language in >> the current times includes in their core libraries (java, ruby, lisp). >> >> > And WebClient could be right thing for learning that (Seaside too ;). >> > >> >> >> -- >> Miguel Cobá >> http://miguel.leugim.com.mx >> >> >> _______________________________________________ >> Pharo-project mailing list >> [hidden email] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Aug 30, 2010, at 9:57 PM, Nicolas Cellier wrote: > Hi Pharoers, > I'm happy to read mail from Torsten, Igor and Miguel, thank you guys > that's constructive. > Andreas expressed his point very well, and i don't think it is > hostile, maybe a bit sarcastic or disenchanted, but overall he keeps > the door opened. > The first thing to do is to cool down, relax and think. > The second thing to do is engaging discussion with Andreas. > > Of course, the license is of prime importance, not having a license is > a showstopper. > If license is too restrictive then Andreas will probably fail to reach > his goals... > There will be de facto full rewrite rather than forks, but the net > result will be the same: failure to share packages/libraries. why? because if there is a rewrite it will be MIT. > That's why I personnally don't find Andreas defensive position a good strategy. > Neither the attitude in response... > It's like you're happy to throw his work away at first occasion > without even trying to negociate. Oh no. I do not want that people bash us as people stealing work of other people. Read my mail on webClient. > Bad vibrations. Writing all these mails is even more for me. > Before you engage in this (war)path, please, please, discuss. > And remind this saying "il ne faut pas confondre vitesse et précipitation". > If no agreement is found then, ok, you'll get a license to carry on. So far we talk in the desert. Loading WebClient is one line. So this is as easy as to remove. > After the license problem, there is the technical compatibility problem. > Discussions about cross fork compatibility, compatibility layers or > libraries (a la GREASE) will have to occur anyway, be it about Andreas > library or from any other author. So you'll have to take time to > discuss. Don't consider this as lost time. These discussions are > considered necessary when they regularly happens in Pharo mailing > list, aren't they ? It shouldn't be that hard to convince Andreas to > change things like and:and:and:. For squeakToUtf8, I don't know, maybe > provide some automated rewrite rules, and produce an automated Pharo > version ? I already suggested that. Now there is an important point. Infrastructure code should be supported, accessible to the community. We got burned with graphics andreas' onwership in the past. And yes we learned from that. > > Please, discuss, argue, explain why you consider certain constructions > as bad style. Propose alternatives (be constructive - remember > coopetition ?). > I consider being unable to explain one's own choice as a weakness. > Don't be weak. > Come-on guys, despite Levente's cutting remark, you're not inferior to > squeakers ;) (and you don't have to answer to that stupid conclusion). I will let people decide as I did for the inclusion of webClient and we will rewrite one if necessary and it will be MIT. This will be the same for the equivalent of SqueakSSL we will try as much as possible to offer an infrastructure that let people control their life and make money. Our goal is to have a core that could be bootstrap so to have many packages as external as possible now I thought that it would help people to have webClient and also help us to remove this ugly network package. I should have know before the other HTTPClient library and we will not be here losing our time. Stef _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |