Hello!
An idea haunts me in the last month, I would like to know if you feel something similar. Isn't Amber, per se (not talking about Smalltalk) more or less dead? As if, wasn't the PharoJS the last blow* - it allows all the hardcore Smalltalkers use well-known and strong Pharo IDE and just generate the .js for the page from there. I must admit the I managed to push Amber much more to the "Smalltalk for JavaScripters on the browser" (all the AMD integration etc.) than "Smalltalk in the browser for the Smalltalkers themselves". Probably because I in fact do not develop anything in Pharo (I _want_ to, but I don't have the project for which I could use it as a backend). `amber init` fixed lot of fear from JS ecosystem, but it still is there. Now, I don't really know where Amber should fit and if this was the good move. Recently, contributions were really diminishing. And, getting back to the first argument, there were always sentiments about "better IDE, ideally on par with 'true' Smalltalk" which now seems to exist. So, the question is, is there any use for Amber, now? Herby * Not meant as an insult, just presenting a view. -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
There is. Actually, it may be good enough to stay where it is for a while. Phil On Tue, Sep 15, 2015 at 2:39 PM, Herby Vojčík <[hidden email]> wrote: Hello! You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Herby Vojčík
Personally I admire you for keep pushing forward. I have to confess I have never been a fan of Amber because I would like something from inside Pharo. PharoJS looks promising to what I want but yet again, there is no guarantee this wont end up abandonware at some point. Pharo already has a big team behind it , for its popularity, because developing such an IDE requires a lot of contributors and to be sincere I never believed Amber would go very far as it tries to re implement the Smalltalk IDE and Pharo already does a very good job at it.On Tue, Sep 15, 2015 at 3:39 PM Herby Vojčík <[hidden email]> wrote: Hello! You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
If one is in for the long game, Pharo is a good proposition. Especially once we will have a 64-bit version and superb FFI support. These two will be game changers. Now, Amber is nicely integrated with Javascript libraries and makes it easy to put things together, at least that's my experience with it. I do not really care much about PharoJS at this point. About Unreal, yes, sure, and then Unity, and then Urho3D which is integrated with Squeak at 3DICC. But tomorrow, you'll get another tech, and so on. For sound, you get Sonic Pi, which is also livecode and fun. There is one constant behind all of these successes: focus, hard work, and relentlessly moving forward. The most important bit is to make it possible/easy to make money with Pharo. It is definitely possible and we need to push out more solutions using the stack. FWIW, we can get some traction with things like http://livecoding.tv - I am going to do a couple of Pharo sessions in the coming days/weeks. Phil On Tue, Sep 15, 2015 at 3:06 PM, Dimitris Chloupis <[hidden email]> wrote:
You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by kilon.alios
I think there is still a place for Amber. It's my fallback language for almost anything client-side, and I still use Ludus whenever I have to develop a simple game, with which I'm way quicker than with any other game framework available. Also, that's probably just a personal point of view of mine, but how can a piece of software be really free if one can only run it within a proprietary system? You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Herby Vojčík
Well, we have a use for amber. At least we use it in internal and professional projects :)
On the other hand I don't understand what PharoJS does. I saw it at ESUG in brescia but I don't get it. The goal we try to achieve is to combine two distinct worlds: smalltalk IDE and the browser. Both are huge things that you cannot easily replicate inside each other. So you need to have an interface. I can see that pharoJS generates javascript from smalltalk and that is sort of great. But if you look e.g. at the app I announced lately what is the key point here? The app uses page layout, entry forms and google maps. None of these you have in pharo. So what power do you have if you are trying to develop such an app without the things you need at hand? Do you develop in the pharo IDE, compile to javascript and then reload the page in the browser? That sounds like the edit-compile-restart cycle we try to escape. The IDE in amber is not really great but you get along. There I can manage objects on the page without reloading the page. I use the watch plugin with grunt so you can even edit a CSS file and have it updated without reloading the page. With the workspace in the browser (in a separate window with helios) we are able to modify things. I think it is hard to push something like amber. It takes time. Most of the time you don't get the feedback you deserve because people enjoy amber without telling. IMHO amber serves a special purpose and I'd like it to stay. Norbert > Am 15.09.2015 um 14:39 schrieb Herby Vojčík <[hidden email]>: > > Hello! > > An idea haunts me in the last month, I would like to know if you feel something similar. Isn't Amber, per se (not talking about Smalltalk) more or less dead? As if, wasn't the PharoJS the last blow* - it allows all the hardcore Smalltalkers use well-known and strong Pharo IDE and just generate the .js for the page from there. > > I must admit the I managed to push Amber much more to the "Smalltalk for JavaScripters on the browser" (all the AMD integration etc.) than "Smalltalk in the browser for the Smalltalkers themselves". Probably because I in fact do not develop anything in Pharo (I _want_ to, but I don't have the project for which I could use it as a backend). `amber init` fixed lot of fear from JS ecosystem, but it still is there. > > Now, I don't really know where Amber should fit and if this was the good move. Recently, contributions were really diminishing. And, getting back to the first argument, there were always sentiments about "better IDE, ideally on par with 'true' Smalltalk" which now seems to exist. > > So, the question is, is there any use for Amber, now? > > Herby > > * Not meant as an insult, just presenting a view. > > -- > You received this message because you are subscribed to the Google Groups "amber-lang" group. > To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Herby Vojčík
Excerpts from Herby Vojčík's message of 2015-09-15 14:39:27 +0200:
> I must admit the I managed to push Amber much more to the "Smalltalk for > JavaScripters on the browser" i have not had an opportunity to use amber myself, but this is exactly the way i would want to use it. specifically i am interested in amber as a better syntax for javascript. ideally, i would like to use it to drive my projects that use angular.js. use amber to write the controllers and directives that are part of angular.js. i understand that amber has its own tools and features that make angular unnecessary, but when i looked at them i wasn't really able to figure out how they worked. if i could figure out how to write angular controllers i could start adopting existing projects and gradually convert them. (and maybe at the next google code-in i'll again be able to offer some amber projects to students and figure out a few things from that) anyways, the point is, smalltalk for javascripters is exactly the way i want to approach amber, so i hope you'll stick around. greetings, martin. -- eKita - the online platform for your entire academic life -- chief engineer eKita.co pike programmer pike.lysator.liu.se caudium.net societyserver.org secretary beijinglug.org mentor fossasia.org foresight developer foresightlinux.org realss.com unix sysadmin Martin Bähr working in china http://societyserver.org/mbaehr/ -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Herby Vojčík
Hi Herby,
I am pretty much with Norbert here. I put a lot of energy into a little project based on Amber. It got even so big in the code base that I am currently looking into PharoJS to have additional tools to analyze the code. I personally like the fact that one can use the Smalltalk debugger to debug actions in the browser. But somehow the DOM side of things seems missing. I do not really see how PharoJS integrates external libs like Amber does? I could rather imagine to use PharoJS to fast develop pure Smalltalk based code and Amber to integrate it into the bigger picture. At least based on the current public implementation of PharoJS. Usually I put 2 weeks in a row into Amber development and then the code sits there for 2 month until I find time to go on with it. With the current permanent changes in Amber's ecosystem "THANK YOU FOR ALL OF THIS!" I find it sometimes difficult to feel familiar in my Amber code and tools once I get my hands back on it again. I honestly hope Amber will stay around and will even move further to the Smalltalk world. The things that might make things easier for the Smalltalkers would be an easier code and message exchange with e.g. Pharo. unfortunately the file outs of both worlds are no more really compatible anymore. I use Amber with ZincREST on Pharo as well as Gemstone and I am very happy with it. Thanks to Amber I learned a lot. Not only about JS and HTML but also the development and hosting ecosystems around it. I even have the feeling that some web developers would be pretty jealous on our installation and deployment environment. Sometimes I wonder how Amber and Seaside match together but somehow this does not really seem to be a road widely taken, does it? If there is a way to integrate Amber with PharoJS, then I would be very interested in it and would try to contribute. Amber IDE? Hmmmm well I never really used Helios much since I prefer the tight integration of the legacy browser, but that is the only reason.... Coming back to your question. I do not think Amber is dead it is rather only an addition to most of us and that is why most are not present in the community all the time. My 5cents. Sebastian On 2015-09-15 5:39 AM, Herby Vojčík wrote: > Hello! > > An idea haunts me in the last month, I would like to know if you feel > something similar. Isn't Amber, per se (not talking about Smalltalk) > more or less dead? As if, wasn't the PharoJS the last blow* - it > allows all the hardcore Smalltalkers use well-known and strong Pharo > IDE and just generate the .js for the page from there. > > I must admit the I managed to push Amber much more to the "Smalltalk > for JavaScripters on the browser" (all the AMD integration etc.) than > "Smalltalk in the browser for the Smalltalkers themselves". Probably > because I in fact do not develop anything in Pharo (I _want_ to, but I > don't have the project for which I could use it as a backend). `amber > init` fixed lot of fear from JS ecosystem, but it still is there. > > Now, I don't really know where Amber should fit and if this was the > good move. Recently, contributions were really diminishing. And, > getting back to the first argument, there were always sentiments about > "better IDE, ideally on par with 'true' Smalltalk" which now seems to > exist. > > So, the question is, is there any use for Amber, now? > > Herby > > * Not meant as an insult, just presenting a view. > -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Martin Bähr
Dňa 15. septembra 2015 18:06:43 CEST používateľ "Martin Bähr" <[hidden email]> napísal: > Excerpts from Herby Vojčík's message of 2015-09-15 14:39:27 +0200: > > I must admit the I managed to push Amber much more to the "Smalltalk > for > > JavaScripters on the browser" > > i have not had an opportunity to use amber myself, but this is exactly > the way > i would want to use it. specifically i am interested in amber as a > better > syntax for javascript. ideally, i would like to use it to drive my > projects > that use angular.js. use amber to write the controllers and directives > that are > part of angular.js. I tried to mix Amber and Angular and failed. One of the main problems I saw were the scope objects based on instance inheritance (plus use of JS properties without declaring them) ad opposed to class-based nature of Amber as a Smalltalk. > i understand that amber has its own tools and features that make > angular > unnecessary, but when i looked at them i wasn't really able to figure > out how they worked. Ask (gitter.im) or even call with screehero if you need something specific and you happen to have one installed. > if i could figure out how to write angular controllers i could start > adopting > existing projects and gradually convert them. (and maybe at the next > code-in i'll again be able to offer some amber projects to students > and figure > out a few things from that) IIRC I had some problems with this as well, with that thing Angular calls "di" and with use of $. OTOH, I may not try hard enough, there may be a way. > anyways, the point is, smalltalk for javascripters is exactly the way > i want to > approach amber, so i hope you'll stick around. Thanks. > greetings, martin. -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Martin Bähr
Hi Martin,
You may want to look into Sebastian Sastre's amber-flow and amber-mvc implementation on Github. https://github.com/flow-stack Here you will find some starting points on how to integrate Angular with Amber. Sebastian On 2015-09-15 9:06 AM, Martin Bähr wrote: > Excerpts from Herby Vojčík's message of 2015-09-15 14:39:27 +0200: >> I must admit the I managed to push Amber much more to the "Smalltalk for >> JavaScripters on the browser" > i have not had an opportunity to use amber myself, but this is exactly the way > i would want to use it. specifically i am interested in amber as a better > syntax for javascript. ideally, i would like to use it to drive my projects > that use angular.js. use amber to write the controllers and directives that are > part of angular.js. > > i understand that amber has its own tools and features that make angular > unnecessary, but when i looked at them i wasn't really able to figure out how they worked. > > if i could figure out how to write angular controllers i could start adopting > existing projects and gradually convert them. (and maybe at the next google > code-in i'll again be able to offer some amber projects to students and figure > out a few things from that) > > anyways, the point is, smalltalk for javascripters is exactly the way i want to > approach amber, so i hope you'll stick around. > > greetings, martin. > -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Herby Vojčík
Excerpts from Herby Vojčík's message of 2015-09-15 18:31:07 +0200:
> I tried to mix Amber and Angular and failed. One of the main problems I saw > were the scope objects based on instance inheritance (plus use of JS > properties without declaring them) ad opposed to class-based nature of Amber > as a Smalltalk. i am not very deep into angular.js and javascript so i don't understand all the details myself. just now i am doing an angular project with a developer who explained to me that $scope is no longer used directly, and he also explicitly avoided the inheritance aspect of nested scopes, letting controllers communicate through services only. i don't know if that is what you mean and if that approach would work better with amber. strictly speaking i don't need angular support. i'd also be happy to just be able to use a similar development approach where i can embed actions into html. (like iterators and databindings, and then control them from an amber class.) > > i understand that amber has its own tools and features that make angular > > unnecessary, but when i looked at them i wasn't really able to figure out > > how they worked. > Ask (gitter.im) or even call with screehero if you need something specific > and you happen to have one installed. well, to be honest, i probably just didn't try enough. when i have some downtime, i'll see if i can take another look. > IIRC I had some problems with this as well, with that thing Angular calls > "di" and with use of $. OTOH, I may not try hard enough, there may be a way. it seems to me that the $ is just a way to make some angular elements stand out in the code. it doesn't seem in any way special. greetings, martin. -- eKita - the online platform for your entire academic life -- chief engineer eKita.co pike programmer pike.lysator.liu.se caudium.net societyserver.org secretary beijinglug.org mentor fossasia.org foresight developer foresightlinux.org realss.com unix sysadmin Martin Bähr working in china http://societyserver.org/mbaehr/ -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Amber Smalltalk mailing list
Sorry I haven't been reading my personal email for a while (and missed the early parts of this thread) because I am one of the 2 people currently working on PharoJS.
-- I was, and am, a big fan of Amber and thank Herby and Nicholas and everybody who has built it to what it is today., I have a programming environment that I'd built using it, but recently had been frustrated by the rapid changes to the build environment that had broken our programming environment and it was extremely frustrating trying to figure out the right magic to make it work again. I also was unhappy with the quality of the code generation. Part of the frustration, I think was because of what Herby referred to as "Smalltalk for JavaScripters on the browser". In hopes of resolving this, earlier this spring I invested a couple of months working on improvements to Amber, including ways to speed up many of the key operations. I was wanting to upgrade the compiler (which is not easy!) and the run-time environment and presented a paper at IWST entitled, "Performance from Aligning Smalltalk & Javascript Classes". The paper is not currently available from ACM, but I can put up a link if anyone is interested. At IWST, I met Noury Bouraqadi, who built the prototype of PharoJS. I immediately saw an opportunity to build the results of my research into PharoJS, and we have been very actively working on PharoJS for the last 6 weeks. I gave a talk on it to our local Smalltalk users' group last night. PharoJS is not quite ready for prime time, but it's definitely getting there. When it is, you will be able to write your code in Pharo, use all the Pharo tools, including the debugger, refactoring, etc. while the UI runs in a browser window. THEN, when it's working to your satisfaction, with one message you can output your complete application and infrastructure to a .js file and start your application running entirely in the browser in Javascript. I expect it will interoperate *better* with JS libraries than Amber does (at least with better performance). It also already works (at least in a prototype fashion) with PhoneGap to build mobile apps. To Herby's original question: is there a medium-long term role for Amber? I don't know. But if you are willing to use Pharo (or probably Squeak with a bit of work), I think you will be better with PharoJS. In the short term, Amber is great, and I will certainly be trying to make sure that you can migrate to PharoJS fairly seamlessly if/when you deem PharoJS to be production-ready. ../Dave You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by kilon.alios
Apple's latest marketing says, "If it's not an iPhone, it's not an iPhone." Well, if it's not Smalltalk, it's not Smalltalk. While many of Smalltalk's virtues can be found in other languages and tools, none have that same unique combination found in Smalltalk...super-simple syntax, unmatched live coding and debugging, and pure and consistent object model, all of which create the synergy that leads to super productivity. Whether this is enough for Smalltalk to find a place in the IT universe is up for debate, but I like to think that it is. So, no, other languages have not caught up. Tools like Unreal Engine are interesting, but they are special-purpose. With few exceptions, Smalltalk delivers across the board in all problem domains. I am bemused by today's developers who are always chasing after the latest shiny thing or "cutting edge" technology. What's wrong with existing technology that actually gets the job done, and done quickly and easily? Moreover, Smalltalk is not standing still. Pharo continues to evolve in a measured and carefully considered way, which is a good thing. "Cutting edge" usually means "experimental" and "unproven." On Tuesday, 15 September 2015 09:06:30 UTC-4, Dimitris Chloupis wrote:
You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by NorbertHartl
Also, it's quite possible, and perhaps likely, that Amber and PharoJS will evolve in different directions. Why should there be only one way to develop for the client side? In the JS universe, you have Angular and Ember and others, and they each serve different needs/requirements.
-- On Tuesday, 15 September 2015 09:36:10 UTC-4, Norbert Hartl wrote: Well, we have a use for amber. At least we use it in internal and professional projects :) You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Martin Bähr
Funny, I still don't feel comfortable with the Angular way of doing things. At least Amber feels like "normal" application development...no new concepts for me to wrap my head around.
-- On Tuesday, 15 September 2015 12:06:45 UTC-4, Martin Bähr wrote: Excerpts from Herby Vojčík's message of 2015-09-15 14:39:27 +0200: You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Dave Mason-3
I hate to think that I wrote all those Amber tutorial articles for naught. ;-)
-- I'm actually looking forward to PharoJS. It sounds wonderful. But I hope Amber finds a new direction, too. On Tuesday, 15 September 2015 17:50:40 UTC-4, Dave Mason wrote:
You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by horrido
Excerpts from Richard Eng's message of 2015-09-16 15:24:20 +0200:
> Funny, I still don't feel comfortable with the Angular way of doing things. > At least Amber feels like "normal" application development...no new > concepts for me to wrap my head around. i guess that depends on where you are coming from. interestingly, the history started with serverside includes into html. SSI was effectively the serverside of an angular directive. this was later expanded by roxen and dreamweaver into more powerful ways to embed logic into html. php then went overboard by embedding a whole programming language into html, whereas xslt went completely bonkers by making xml itself be the programming language. for me, angular actually feels like a return to the old ways that i was used to with roxen, where i have static html spiced up with logic and away to create new tags backed by custom code. it also brings new things like 2-way data-binding, and of course it moves all of the code into the frontend. when comparing with different frontend frameworks like ember and knockout though, the main reason for choosing angular was that it didn't require to wrap data into specialised objects on order to achieve that data-binding. simplicity is key. as react is starting to make an appearance, things change yet again, with react throwing out html templating. i am not yet sure how much i like that idea. it has been explained to me as useful for high performance needs, which i can understand. i doubt i would use it otherwise. i don't want my programmers to spend time tweaking html layouts. but this is an amber list, so i don't want to dwell on other frameworks to much. i'd rather see some input from others to for example explain how amber achieves data-binding and html templating. greetings, martin. -- eKita - the online platform for your entire academic life -- chief engineer eKita.co pike programmer pike.lysator.liu.se caudium.net societyserver.org secretary beijinglug.org mentor fossasia.org foresight developer foresightlinux.org realss.com unix sysadmin Martin Bähr working in china http://societyserver.org/mbaehr/ -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Martin Bähr wrote: > Excerpts from Richard Eng's message of 2015-09-16 15:24:20 +0200: >> Funny, I still don't feel comfortable with the Angular way of doing things. >> At least Amber feels like "normal" application development...no new >> concepts for me to wrap my head around. > > i guess that depends on where you are coming from. > interestingly, the history started with serverside includes into html. SSI was > effectively the serverside of an angular directive. this was later expanded by > roxen and dreamweaver into more powerful ways to embed logic into html. > > php then went overboard by embedding a whole programming language into html, > whereas xslt went completely bonkers by making xml itself be the programming > language. > > for me, angular actually feels like a return to the old ways that i was used to > with roxen, where i have static html spiced up with logic and away to create > new tags backed by custom code. it also brings new things like 2-way > data-binding, and of course it moves all of the code into the frontend. > > when comparing with different frontend frameworks like ember and knockout > though, the main reason for choosing angular was that it didn't require to wrap > data into specialised objects on order to achieve that data-binding. > simplicity is key. > > as react is starting to make an appearance, things change yet again, with react > throwing out html templating. i am not yet sure how much i like that idea. it > has been explained to me as useful for high performance needs, which i can > understand. i doubt i would use it otherwise. i don't want my programmers to > spend time tweaking html layouts. > > but this is an amber list, so i don't want to dwell on other frameworks to > much. i'd rather see some input from others to for example explain how amber > achieves data-binding and html templating. I asked about similar thing (virtual dom x amber; is it worth to create out own smalltalk-code-based data-binding solutions) on other thread named "Amber and virtual DOM", but no one answered, yet :-( > greetings, martin. -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Dave Mason-3
A couple of quick questions...
-- 1. How do you integrate JS libs into PharoJS? 2. How do you integrate a set of HTML/CSS files provided by a web designer into a PharoJS application? On Tuesday, 15 September 2015 17:50:40 UTC-4, Dave Mason wrote:
You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |