Hi,
I'm teaching myself Smalltalk with a free book I found on Stephane Ducasse's website and Stephane Ducasse's book on Squeak for beginning programmers. I know how to program fairly well so the main issue is learning about stuff unique to Squeak. Here are some questions I have which are mostly just requests for reassurance that it's worth my time to invest in learning Squeak. 1. I have an idea for a web application that involves a lot of custom text processing logic. Is Squeak an acceptable environment for implementing a real full-blown application? How is its performance for common tasks compared to, say, Python, Ruby, and Common Lisp? Do I need to shell out for VisualWorks or something in order to get real-world work done? 2. Do you always just edit one method at a time? Isn't that annoying to have to click around so much? Do you always edit new stuff by working on one method at a time in the debugger/browser? 3. I was playing with the counter example in Seaside and it appears that continuation expiration is 600 seconds by default. Is the only way to have user sessions last longer to simply increase the expiration time? How do you do this for a real-world application? 4. Do you people ever find forcing everything to be object-oriented to be restrictive? I think sometimes it would be as annoying as not having any OO functionality in the language at all. I also think having tons of 7-line methods is weird and unwieldy. 5. Is Squeak good for building things where functional languages do pretty well? Things like compilers and interpreters. I think the debugging and browsing tools are totally amazing (they blow away everything else I've used, including SLIME for Common Lisp/Emacs) but the actual editing itself sucks: I miss my Emacs keyboard shortcuts terribly . The reason I'm learning Squeak is because of Seaside, not the goofy "it's for children"/games/multimedia/mouse gunk. Warren _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> 2. Do you always just edit one method at a time? Isn't that
> annoying to have to click around so much? Do you always edit > new stuff by working on one method at a time in the debugger/browser? No, it's not annoying, it's awesome, and there are alternate browsers that allow other styles of development. An IDE that understands the structure of the code beats the hell out of a text editor that doesn't. New stuff is often written with a browser and a workspace, you try stuff out in a workspace, hack till it works, then pop it into your model in the browser. Smalltalkers use a workspace like everyone else uses a REPL. > 3. I was playing with the counter example in Seaside and it > appears that continuation expiration is 600 seconds by > default. Is the only way to have user sessions last longer to > simply increase the expiration time? How do you do this for a > real-world application? Umm, seems you answered your own question. > 4. Do you people ever find forcing everything to be > object-oriented to be restrictive? I think sometimes it would > be as annoying as not having any OO functionality in the > language at all. I also think having tons of 7-line methods > is weird and unwieldy. Objects rock, objects all the way down rock even harder. Smalltalkers consider tons of 7 line methods well factored well written code, as do most Lisper's by the way. The browsers are designed the way they are to encourage such factoring. If you want to feel comfortable and be productive, you have to drink the OO kool-aid. If you work in Lisp, you better learn to love functions, in Smalltalk, objects, you will be punished by the environment for not doing so. > 5. Is Squeak good for building things where functional > languages do pretty well? Things like compilers and interpreters. Squeak's compiler is written in Squeak, it's all there for the reading. > I think the debugging and browsing tools are totally amazing > (they blow away everything else I've used, including SLIME for Common Now you're catching on. > Lisp/Emacs) but the actual editing itself sucks: I miss my > Emacs keyboard shortcuts terribly . The reason I'm learning So load the Emac's key binding package off squeakmap. > Squeak is because of Seaside, not the goofy "it's for > children"/games/multimedia/mouse gunk. > > Warren Welcome from a fellow Seasider! _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Warren Henning
On 24-Aug-06, at 8:55 AM, Warren Henning wrote: > > 1. I have an idea for a web application that involves a lot of custom > text processing logic. You will probably want to look into one or the other regular expression handling packages then; I wouldn't worry about it while you're still getting used to the basic system but just be aware that you can do regexp stuff > Is Squeak an acceptable environment for > implementing a real full-blown application? Depends a lot on what you mean by 'real'. Do you insist on 'host widgets and only host widgets'? If so, you may need to investigate wxSqueak or the Ariethfa Ffenestri package. If you are web-based then Seaside should definitely float your boat. > How is its performance for > common tasks compared to, say, Python, Ruby, and Common Lisp? Similar; better for some, worse for others. > Do I > need to shell out for VisualWorks or something in order to get > real-world work done? Probably not but if you do VW is free for personal use anyway. And if you develop a product that is expected to make money there are assorted licensing deals that can be made. They seem to try quite hard to help. > > 2. Do you always just edit one method at a time? Isn't that annoying > to have to click around so much? Do you always edit new stuff by > working on one method at a time in the debugger/browser? Well, it may be one method at a time in 'a' browser but you can have many browsers open. I'll typically have a dozen or more in use - some open to methods/ classes that I need to refer to to check existing code, others where I'm part way through writing/extending a class, some senders-fo or implementors-of browsers and so on. It's hugely more useful than a text editor. I may be biased of course since I've been doing it this way for 20 years. > > > 4. Do you people ever find forcing everything to be object-oriented to > be restrictive? I think sometimes it would be as annoying as not > having any OO functionality in the language at all. I also think > having tons of 7-line methods is weird and unwieldy. Nah, I find objects everywhere to be totally natural. It may be that having grown up as an engineer I just naturally find OOP to match my mental models of the universe. Loads of small methods are the way to factor things nicely; lots of well written, concisely commented, useful little bits of work that can be strung together to get stuff done. > > 5. Is Squeak good for building things where functional languages do > pretty well? Things like compilers and interpreters. Well the Smalltalk compiler (and in fact several alternate ones under consideration) is written in Smalltalk, as is the Decompiler, debugger and all the other programming tools. Various AI interpretere/ compilers/inference engines/what have you have been written as well. So I imagine that makes a 'yes'. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Strange OpCodes: MC: Melt down Core _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Warren Henning
On Aug 24, 2006, at 11:55 AM, Warren Henning wrote: > Hi, > 1. I have an idea for a web application that involves a lot of custom > text processing logic. Is Squeak an acceptable environment for > implementing a real full-blown application? How is its performance for > common tasks compared to, say, Python, Ruby, and Common Lisp? Do I > need to shell out for VisualWorks or something in order to get > real-world work done? Well yes , for us at least. We use Squeak/Seaside in a commercial setting and the speed is adequate. At one point I did port my application to VisualWorks and the speed was much improved but the price we were quoted was unacceptable ($130,000/year). You will have to try it out for your situation and see how it performs. The biggest performance problem we have come across is the speed of WeakArrays. We ended up working around the problem but depending on your Seaside application you may not run into the problem at all. > > 2. Do you always just edit one method at a time? Isn't that annoying > to have to click around so much? Do you always edit new stuff by > working on one method at a time in the debugger/browser? > I , personally, like the default Squeak browser but there are others. Have you looked at Whisker? http://www.mindspring.com/~dway/smalltalk/whisker.html The "one method at a time" approach makes it easier for me to find what I need with minimal effort. > 3. I was playing with the counter example in Seaside and it appears > that continuation expiration is 600 seconds by default. Is the only > way to have user sessions last longer to simply increase the > expiration time? How do you do this for a real-world application? You session will expire after 600 sec of inactivity. Not simply after 600 seconds. You are not this first person to have this misconception. Maybe that config field should have a more descriptive label ? > > 4. Do you people ever find forcing everything to be object-oriented to > be restrictive? I think sometimes it would be as annoying as not > having any OO functionality in the language at all. I also think > having tons of 7-line methods is weird and unwieldy. > Again I like it. It was one of the big draws for me. Breaking things into least common denominator bits allows for maxim reuse and in the long term you will end up doing less work and not reimplementing the same ting over and over. If you need something that feels more like a function you can use the class side of the appropriate class (click on Class in the object. Then you can ... result := SomeObject doSomethingWith: anotherSometing Although in most cases you would most likely be better off doing result := anotherSometing withSomething: SomeObject. In either case I would suggest you give the OO nature of Smalltalk a chance. > 5. Is Squeak good for building things where functional languages do > pretty well? Things like compilers and interpreters. I have not experience with building compilers and interpreters in Smalltalk so someone else might be better suited to answer this questions but I will give it a shot. I am not sure you would want to build a compiler in Smalltalk/Squeak unless you were targeting the Squeak VM. As far as interpreters go I would see no reason why Squeak would do a fine job. > > I think the debugging and browsing tools are totally amazing (they > blow away everything else I've used, including SLIME for Common > Lisp/Emacs) but the actual editing itself sucks: I miss my Emacs > keyboard shortcuts terribly . The reason I'm learning Squeak is > because of Seaside, not the goofy "it's for > children"/games/multimedia/mouse gunk. I personally feel the games/multimedia/mouse "gunk" works to Squeak detriment in the business world. I know the immediate visceral reaction to Squeak by my colleges has been "you can't do anything serious with that" and while I think I have proven them wrong the initial hurtle took some time to overcome. I think Seaside it Squeak's chance to make it into the mainstream but the interface could be a little more professional looking. Will > > Warren > _______________________________________________ > Seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Warren Henning
Hi Warren,
I'm probably not the best person to answer the bulk of your questions because I'm not a developer. I can address one of them about keyboard shortcuts. I think I need to say something about your tone, as well. Don¹t get upset about that, because I understand how you feel. First of all, there are lots of keyboard shorts for Squeak. Tonnes. If you want to see a few of them then I refer you to my (now 60,000 word! Yeah!) blog, which has screenshots and an index. Look up Squeak, and you'll see screenshots and blog entries that can take you to shortcuts. http://www.brokentomb.com About your tone. You are saying two things in your message that are not exactly obvious. One: you care a lot about the answers. Two: You expect others to justify why Squeak is different. Nobody cares if you don't like Squeak. Don't act so defensive. Do you miss the Emacs shortcuts or are you afraid you're falling for the unpopular girl a the party? I felt the way you do now three months ago. Go to my blog index and look up the word "anger". Chris Cunnington Toronto _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by William Harford
>> Hi,
>> 1. I have an idea for a web application that involves a lot of custom >> text processing logic. Is Squeak an acceptable environment for >> implementing a real full-blown application? How is its performance >> for >> common tasks compared to, say, Python, Ruby, and Common Lisp? Do I >> need to shell out for VisualWorks or something in order to get >> real-world work done? > > Well yes , for us at least. > > We use Squeak/Seaside in a commercial setting and the speed is > adequate. Can you tell us more? Is the application visible on the web? > At one point I did port my application to VisualWorks and the speed > was much improved but the price we were quoted was unacceptable > ($130,000/year). Indeed you were making money apparently or the sales were doing something wrong. you have also dolphin smalltalk :) > You will have to try it out for your situation and see how it > performs. The biggest performance problem we have come across is > the speed of WeakArrays. We ended up working around the problem but > depending on your Seaside application you may not run into the > problem at all. > >> >> 2. Do you always just edit one method at a time? Isn't that annoying >> to have to click around so much? Do you always edit new stuff by >> working on one method at a time in the debugger/browser? >> > > I , personally, like the default Squeak browser but there are > others. Have you looked at Whisker? > http://www.mindspring.com/~dway/smalltalk/whisker.html > > The "one method at a time" approach makes it easier for me to find > what I need with minimal effort. > >> 3. I was playing with the counter example in Seaside and it appears >> that continuation expiration is 600 seconds by default. Is the only >> way to have user sessions last longer to simply increase the >> expiration time? How do you do this for a real-world application? > > You session will expire after 600 sec of inactivity. Not simply > after 600 seconds. You are not this first person to have this > misconception. Maybe that config field should have a more > descriptive label ? > > >> >> 4. Do you people ever find forcing everything to be object- >> oriented to >> be restrictive? I think sometimes it would be as annoying as not >> having any OO functionality in the language at all. I also think >> having tons of 7-line methods is weird and unwieldy. >> > > Again I like it. It was one of the big draws for me. Breaking > things into least common denominator bits allows for maxim reuse > and in the long term you will end up doing less work and not > reimplementing the same ting over and over. > > If you need something that feels more like a function you can use > the class side of the appropriate class (click on Class in the > object. Then you can ... > > result := SomeObject doSomethingWith: anotherSometing > > Although in most cases you would most likely be better off doing > > result := anotherSometing withSomething: SomeObject. > > In either case I would suggest you give the OO nature of Smalltalk > a chance. > >> 5. Is Squeak good for building things where functional languages do >> pretty well? Things like compilers and interpreters. > > I have not experience with building compilers and interpreters in > Smalltalk so someone else might be better suited to answer this > questions but I will give it a shot. > > I am not sure you would want to build a compiler in Smalltalk/ > Squeak unless you were targeting the Squeak VM. As far as > interpreters go I would see no reason why Squeak would do a fine job. > >> >> I think the debugging and browsing tools are totally amazing (they >> blow away everything else I've used, including SLIME for Common >> Lisp/Emacs) but the actual editing itself sucks: I miss my Emacs >> keyboard shortcuts terribly . The reason I'm learning Squeak is >> because of Seaside, not the goofy "it's for >> children"/games/multimedia/mouse gunk. > > I personally feel the games/multimedia/mouse "gunk" works to Squeak > detriment in the business world. I know the immediate visceral > reaction to Squeak by my colleges has been "you can't do anything > serious with that" and while I think I have proven them wrong the > initial hurtle took some time to overcome. > > I think Seaside it Squeak's chance to make it into the mainstream > but the interface could be a little more professional looking. > > Will > >> >> Warren >> _______________________________________________ >> Seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > Seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Warren Henning
> 1. I have an idea for a web application that involves a lot of custom
> text processing logic. Is Squeak an acceptable environment for > implementing a real full-blown application? How is its performance for > common tasks compared to, say, Python, Ruby, and Common Lisp? Do I > need to shell out for VisualWorks or something in order to get > real-world work done? Other people can reply but I know several companies making money with squeak and been happy :) > 2. Do you always just edit one method at a time? Isn't that annoying > to have to click around so much? Do you always edit new stuff by > working on one method at a time in the debugger/browser? you can also use a texteditor. Or try some other browser this is true that what is boring is that we cannot edit a method do not accept it, jump to another oe edit and come ack to the first one. You can use what romain robbes did as extension of omnibrowser because you can do that with his cool changes. > 3. I was playing with the counter example in Seaside and it appears > that continuation expiration is 600 seconds by default. Is the only > way to have user sessions last longer to simply increase the > expiration time? How do you do this for a real-world application? > > 4. Do you people ever find forcing everything to be object-oriented to > be restrictive? I think sometimes it would be as annoying as not > having any OO functionality in the language at all. I also think > having tons of 7-line methods is weird and unwieldy. This is fun because I'm teaching the inverse. A method is a unit of reuse: I can call it and I can extend it. Look at hook method. If you do not have a hook method and hardcoded everything then you will have to copy and paste in your subclasses sometimes just to get a slight modification. So while at first little methods are annoying to browse in fact having small method is a sign of good quality from a reuse and extension point of view. I hope you get it else just ask again. > 5. Is Squeak good for building things where functional languages do > pretty well? Things like compilers and interpreters. Sure. The JIT technology of java was invented for smalltalk. You get one interpreter (or the same) in any texteditor which allow you to do "do it" :) > > I think the debugging and browsing tools are totally amazing (they > blow away everything else I've used, including SLIME for Common > Lisp/Emacs) but the actual editing itself sucks: I miss my Emacs > keyboard shortcuts terribly . there are packages to extend and cusotmize the system (emacs binding amd keybinding) and again everything is there waiting for your customization :) > The reason I'm learning Squeak is > because of Seaside, not the goofy "it's for > children"/games/multimedia/mouse gunk. Welcome. This is the right list and for squeak 3.9 we focused on making Squeak a good system to develop software (and of course developing games/kids and gunky stuff). We did not go as far as expected but this is the way to go and help is welcomed :) Stef _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
On 24-Aug-06, at 10:13 AM, stephane ducasse wrote: > this is true that what is boring is that we cannot edit a method do > not accept it, jump to another oe edit and come ack to the first one. Err, that's what multiple browsers are for. It costs nothing to have plenty of them open or indeed to open another one. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim "Bother" said Pooh, and deleted his message base _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Screen re not big enough... at least mine.
And having too much browser does not help since after a while I'm lost and close them all. >> this is true that what is boring is that we cannot edit a method >> do not accept it, jump to another oe edit and come ack to the >> first one. > Err, that's what multiple browsers are for. It costs nothing to > have plenty of them open or indeed to open another one. _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by stephane ducasse
On Aug 24, 2006, at 1:05 PM, stephane ducasse wrote: >> >> We use Squeak/Seaside in a commercial setting and the speed is >> adequate. > > Can you tell us more? Sure. The page loads are around one second. My goal is to half that by the end of the year but there are a lot of hurtles to overcome before I can do that. The slowest part of the application is data access. I currently use a OR mapping library that was written in a hurry (by me) and unfortunately it suffers from poor design and kludgy code. You are welcome to take a look at it but I ask that you don't hold it against me :-) http://squeaksource.com/IOSPersistent.html . I have written another OR library, called REServe, that takes some of the concepts I liked from IOSPersistent and implements them in a much, much, much nicer fashion. Giving the developer better control over how things are stored, cleaner code, the database is abstracted, Smalltalk enumeration of the database, PostgreSQL is supported, and much more. I am convinced that the new library has a future and will be releasing it to the public in the next couple weeks. If you are interested in having a look at REServe let me know. The main reason for not releasing it yet it incomplete documentation and tests. The current MySQL drivers for Squeak do not use Unix domain sockets. I have not looked into Squeak support for Unix sockets on squeak but if the MySQL drivers could be modified to access the server via Unix sockets that would give our application a speed boost. Any volunteers :-) WeakArray ; What can I say that has not already been said. I fear that the implementation details of WeakReferences are currently over my head and I would need a bit of education before I attempted making finalization faster. I would really like to see this improved because I currently have to work around the problem. I changed SeasidePlatformSupport #weakDictionaryOfSize: to read ^ IdentityDictionary new: aNumber This means that our sessions grow until they are ended. It's not ideal but it works. Instead of triggering the cleanup of expired sessions every n new session/requests (I can't remember which) I run a reaper process that checks every so often and cleans things up. We run a document management application and as such we create a lot of WADocumentHandlers for thumbnails. WADocumentHandlers where not getting cleaned up until we cleared all Seaside caches and for our situation that was not reasonable. I changed WADocumentHandler so be a sub instance of WAExpiringHandler and have it expire after a couple hours (except for css files) and that seamed to keep our image size down. Our image will get up to about 300MB. It runs on a server with 4G of ram so for us thats acceptable. Our usage might not be typical. During the day we have 3-12 people working in the application doing data entry as fast as the application will go. Touching all parts of the application. Another thing we did that greatly improved speed pair down some of the component creation. Because components are not cleared after they are no longer referenced because of the above changes creating > 12 components on each page view was to much. To work around it I ask each model #canRender. If #canRender answers true I send the model #renderContentOn: html caller: parentComponet. The model can then render it's self with out registering a component. While this is not ideal it gets the job done. There are other things but thats all I can remember for now. > Is the application visible on the web? The application is not public. If you are in the Toronto, ON or Orlando, FL area I will be more than happy to demo the application for you. > >> At one point I did port my application to VisualWorks and the >> speed was much improved but the price we were quoted was >> unacceptable ($130,000/year). > > Indeed you were making money apparently or the sales were doing > something wrong. > you have also dolphin smalltalk :) We run on Linux and it's essential to our operations. I don't see that changing anytime soon so unfortunately Dolphin is out of the question. The VW sales person quoted me on number of expected users. She offer no other quote even after I pressed for it. In fact she seemed almost uninterested in our business. The price was 135 and that was that. Personally I would like to see Squeak become an industrial strength platform. There is a lot of work to be done but there is also a growing interest. I might be biased but the future looks bright for Squeak to me. Enough of my rambling. Will _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> I changed SeasidePlatformSupport #weakDictionaryOfSize: to read
> > ^ IdentityDictionary new: aNumber This is recommended for anything but toy examples. We have that on all our productive applications without any addional reaper process and it works fine. I don't know why this is not standard. For the small examples where WeakArrays work it doesn't really matter if some more memory is used. The WeakArray implementation simply does not scale and I doubt it will ever be fixed. Hell I'm even willing to bet money. Philippe _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by William Harford
I looked at it. And there are a couple things that did not work for me.
It does not support MySQL. Thats a show stopper for me. It's centered around the idea that the Database comes first where REServe uses the approach that the objects come first. REServe will also do some other things like storing any sub instance of REServe in a ivar. I am not trying to fill in the space the GLORP already fills. I am making a different compromise between the object model and the relational one and trying to make a relational database as much like an Object Oriented database as possible while still keeping some of the advantages of a relational database. Will On Aug 24, 2006, at 2:48 PM, Todd Blanchard wrote: > Rather than writing new OR mappers, you might look into GLORP. The > community has been unusually active lately and lots of good > improvements have been made. > > On Thursday, August 24, 2006, at 11:30AM, William Harford > <[hidden email]> wrote: > >> >> On Aug 24, 2006, at 1:05 PM, stephane ducasse wrote: >> >>>> >>>> We use Squeak/Seaside in a commercial setting and the speed is >>>> adequate. >>> >>> Can you tell us more? >> >> Sure. >> >> The page loads are around one second. My goal is to half that by the >> end of the year but there are a lot of hurtles to overcome before I >> can do that. >> >> The slowest part of the application is data access. I currently use a >> OR mapping library that was written in a hurry (by me) and >> unfortunately it suffers from poor design and kludgy code. You are >> welcome to take a look at it but I ask that you don't hold it against >> me :-) http://squeaksource.com/IOSPersistent.html . >> >> I have written another OR library, called REServe, that takes some of >> the concepts I liked from IOSPersistent and implements them in a >> much, much, much nicer fashion. Giving the developer better control >> over how things are stored, cleaner code, the database is abstracted, >> Smalltalk enumeration of the database, PostgreSQL is supported, and >> much more. I am convinced that the new library has a future and will >> be releasing it to the public in the next couple weeks. >> >> If you are interested in having a look at REServe let me know. The >> main reason for not releasing it yet it incomplete documentation and >> tests. >> >> The current MySQL drivers for Squeak do not use Unix domain sockets. >> I have not looked into Squeak support for Unix sockets on squeak but >> if the MySQL drivers could be modified to access the server via Unix >> sockets that would give our application a speed boost. Any >> volunteers :-) >> >> WeakArray ; What can I say that has not already been said. I fear >> that the implementation details of WeakReferences are currently over >> my head and I would need a bit of education before I attempted making >> finalization faster. I would really like to see this improved because >> I currently have to work around the problem. >> >> I changed SeasidePlatformSupport #weakDictionaryOfSize: to read >> >> ^ IdentityDictionary new: aNumber >> >> This means that our sessions grow until they are ended. It's not >> ideal but it works. >> >> Instead of triggering the cleanup of expired sessions every n new >> session/requests (I can't remember which) I run a reaper process that >> checks every so often and cleans things up. >> >> We run a document management application and as such we create a lot >> of WADocumentHandlers for thumbnails. WADocumentHandlers where not >> getting cleaned up until we cleared all Seaside caches and for our >> situation that was not reasonable. I changed WADocumentHandler so be >> a sub instance of WAExpiringHandler and have it expire after a couple >> hours (except for css files) and that seamed to keep our image size >> down. >> >> Our image will get up to about 300MB. It runs on a server with 4G of >> ram so for us thats acceptable. >> >> Our usage might not be typical. During the day we have 3-12 people >> working in the application doing data entry as fast as the >> application will go. Touching all parts of the application. >> >> Another thing we did that greatly improved speed pair down some of >> the component creation. >> Because components are not cleared after they are no longer >> referenced because of the above changes creating > 12 components on >> each page view was to much. To work around it I ask each model >> #canRender. If #canRender answers true I send the model >> #renderContentOn: html caller: parentComponet. The model can then >> render it's self with out registering a component. While this is not >> ideal it gets the job done. >> >> There are other things but thats all I can remember for now. >> >> >>> Is the application visible on the web? >> >> The application is not public. If you are in the Toronto, ON or >> Orlando, FL area I will be more than happy to demo the application >> for you. >> >>> >>>> At one point I did port my application to VisualWorks and the >>>> speed was much improved but the price we were quoted was >>>> unacceptable ($130,000/year). >>> >>> Indeed you were making money apparently or the sales were doing >>> something wrong. >>> you have also dolphin smalltalk :) >> >> We run on Linux and it's essential to our operations. I don't see >> that changing anytime soon so unfortunately Dolphin is out of the >> question. >> >> The VW sales person quoted me on number of expected users. She offer >> no other quote even after I pressed for it. In fact she seemed almost >> uninterested in our business. The price was 135 and that was that. >> >> Personally I would like to see Squeak become an industrial strength >> platform. There is a lot of work to be done but there is also a >> growing interest. I might be biased but the future looks bright for >> Squeak to me. >> >> Enough of my rambling. >> Will >> >> _______________________________________________ >> Seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by timrowledge
> Is Squeak an acceptable environment for
> implementing a real full-blown application? At at conference, I asked Avi Bryant how he deploys Seaside applications (for his clients). He deploys them in Squeak. _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by timrowledge
> On 24-Aug-06, at 8:55 AM, Warren Henning wrote:
> 2. Do you always just edit one method at a time? Isn't that annoying > to have to click around so much? Do you always edit new stuff by > working on one method at a time in the debugger/browser? Have you ever tried reading some piece of literature and just found that it "didn't make sense". I mean, you can read it, but, you just get any value out of it? This happened for me the first time I tried reading Plato's book Republic. My brain wasn't ready. I need to more experience with life before reading it again. Smalltalk is the same way (for me, at least). You need experience with lots of different languages and also you need a good amount of real world experience on billable work. The first time I looked at Smalltalk I thought the syntax was "crazy", and didn't look much further. Now, years later, I look back and laugh at myself. _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Philippe Marschall
On Aug 24, 2006, at 2:51 PM, Philippe Marschall wrote: >> I changed SeasidePlatformSupport #weakDictionaryOfSize: to read >> >> ^ IdentityDictionary new: aNumber > > This is recommended for anything but toy examples. We have that on all > our productive applications without any addional reaper process and it > works fine. I don't know why this is not standard. For the small > examples where WeakArrays work it doesn't really matter if some more > memory is used. It's not ideal particularly for our situation where we have up to a dozen simultaneous, very active long running, (4 hour) sessions. Maybe the problem could be worked around by some sort of timed incremental weak array finalization. > > The WeakArray implementation simply does not scale and I doubt it will > ever be fixed. Hell I'm even willing to bet money. I'll take that bet :-) Will > > Philippe > _______________________________________________ > Seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by William Harford
And cincom wanted to charge you that much :)
May be there was a misunderstanding :) > Our usage might not be typical. During the day we have 3-12 people > working in the application doing data entry as fast as the > application will go. Touching all parts of the application. _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by William Harford
On 24 août 06, at 20:30, William Harford wrote: > Personally I would like to see Squeak become an industrial strength > platform. There is a lot of work to be done but there is also a > growing interest. I might be biased but the future looks bright for > Squeak to me. Me too. Now I think that the seasiders are a cool force and they can influence positively (they already did it in the past). But imagine that we would gather some money to hire a good guy ready to improve squeak for a not so high rate (difficult but who knows), then the seaside community could really identify packages/drivers/ infrastructural aspects that could help in the medium run. I tried to set up that via the SqF and failed. But this does not mean that you (with me if needed) cannot try again. :) Stef _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by William Harford
> > The WeakArray implementation simply does not scale and I doubt it will
> > ever be fixed. Hell I'm even willing to bet money. > > I'll take that bet :-) Cool, either we get fixed WeakArrays or I win the bet. I can not lose :-) Philippe _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Griff-2
>
> Have you ever tried reading some piece of literature and just found > that > it "didn't make sense". I mean, you can read it, but, you just get any > value out of it? This happened for me the first time I tried > reading Plato's book Republic. My brain wasn't ready. I need to > more experience with life before reading it again. Smalltalk is the > same way (for me, at least). 100% true > > You need experience with lots of different languages and also you > need a good amount of real world experience on billable work. > > The first time I looked at Smalltalk I thought the syntax was > "crazy", and didn't look much further. Now, years later, I look > back and laugh at myself. :) This is great quote.... > _______________________________________________ > Seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by stephane ducasse
On Aug 24, 2006, at 4:43 PM, stephane ducasse wrote: > And cincom wanted to charge you that much :) > May be there was a misunderstanding :) Other people use the application but there impact is minimal . I believe the quote was for up to 1000 users. > >> Our usage might not be typical. During the day we have 3-12 people >> working in the application doing data entry as fast as the >> application will go. Touching all parts of the application. > > _______________________________________________ > Seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |