Tuesday, January 08, 2008

About #isolate:

I was looking how to properly use WATransaction decoration (#isolate:) to prevent the backbutton usage, and found this message from Ramon Leon in the Seaside mailing list:

#isolate: is used to wrap what is essentially #call: to several
components in succession.  You could use isolate in a callback, if the
callback is calling another component to display, but not if it's just
setting instance variables.

The point is, all isolate does is expire any components created within
the block passed to it, when the execution of the block is complete.
Once execution has passed beyond the isolate block, the user cannot go
back to any component called from within the block.

Now I get it.

Monday, January 07, 2008

Dolphin is back

Andy Bower, of Object-Arts, announced the last sunday:


For several years now, in a climate of free and open source development tools, it has been difficult for us to create and sell our products in a maner which is commercially viable. For this reason we have decided that it would be financially impossible for us to commit to major new developments of Dolphin Smalltalk into the future. What this means is that Dolphin will continue to support Win32 under both XP and Vista but we will not be porting the IDE to .NET or any other platform. We will still offer the Community Edition for free download and the Professional version can be purchased by those who have evaluated that the Win32 product meets their needs.

Which means that Dolphin is back, and Seaside still have future on it. I've been developing with Seaside since a couple of months, and the developing experience is far far better than any of the others Smalltalk dialects. And BTW, Seaside never crashed, nor killed the VM, as happened to me with VW in previous versions (I think this is fixed now).


2008 started great!

Friday, November 30, 2007

FAQ Proposal

Q: When you know if you're working too much with Seaside?

A: When you want to "Toggle halos" on every website you visit. :-)

Tuesday, November 20, 2007

Benchmarks everywhere

It seems that my benchmarking "initiative" caused some effects, and many vendors/frameworks are doing the test with the same tool.

AIDA/Web vs Seaside:
http://www.aidaweb.si/benchmarks/wapt-swazoo-20.html

Seaside on VisualWorks, Squeak, vs Ruby on Rails :
http://www.cincomsmalltalk.com/blog/blogView?showComments=true&printTitle=More_Seaside_Testing&entry=3372921925

My own tests (which will be replayed):
http://dolphinseaside.blogspot.com/2007/11/some-benchmarks.html

And the initial, and more exhaustive, Seaside on Gemstone benchmark:
http://gemstonesoup.wordpress.com/2007/10/19/scaling-seaside-with-gemstones/

Considering all of us are using the same tool I've choosen (WAPT), we should define a clear and unique test suite, upload it to a public place, and run it against the different implementations. The results published by AIDA and Cincom have a significant difference between them.

Anyway is important that we put "benchmarking" over the table.

See you in Smalltalks 2007.

Labels: ,

Friday, November 16, 2007

Taking it easy

I got the feeling that the latest post about the benchmarks caused some bad reactions. So just to feel less paranoid (I'm new on this thing of "blogging"), or just for the record I want to give some explanations about it:
  1. I consider myself Smalltalker, it is: I want that the entire Smalltalk community to grow healthy.
  2. I like Dolphin Smalltalk. In fact, I love Dolphin Smalltalk.
  3. By no means I want to bias the numbers towards point #2.
  4. It is, I'm not making any value judgement about the quality of any of the tested Smalltalk.
  5. Just ran the same test against the different Seaside implementations (I'll replay this test against GLASS and VW 7.6 too)
  6. The test has low value, because It doesn't represent a real usage, except if you have a plublic website running on Seaside, and get slashdotted.
Now I feel much better. Feeling that all are my friends again. Come with us, Smalltalks 2007 will be great.

Thursday, November 15, 2007

Some benchmarks

Yesterday I ran some benchmark tests against Seaside on Dolphin, Squeak and VW.

The test is basically a brute force conection initiation, against the basic Seaside Counter.

I won't do any analysis or conclusion yet, just some observations, however I'm publishing the results for you our own review.

All the test were ran by separate in the same machine, an Athlon64 X2 3600+, 1GB RAM, Windows XP Pro.
Simulating 20 concurrent users starting connections against the server, one after the other, to see how much load it can handle.

Dolphin (Swazoo 1.1.4):
http://emaringolo.users.dolphinmap.net/seaside/reports/20071114/SeasideDolphin.html

Dolphin stopped answering connections when they reached the 8000, however, during the test, the image (a workspace) was still responsive (slow, but usable). Once the test ended, the image was responsive again, having more than 8000 instances of WASession, invoking a garbage collect with all those sessions in memory (with all its continuations, i.e. processes), caused a failure, and Windows showed a message saying "Dolphin Smalltalk stop responding". Why it happens at that moment, is unknown to me.

Squeak (Kom 6.2):
http://emaringolo.users.dolphinmap.net/seaside/reports/20071114/SeasideSqueak.html

The result for Squeak are similar as Dolphin. Same number of instances (average), with the difference of no having "processes" for its continuations, during the test the workspace wasn't responsive as Dolphin's one, but you can evaluate some expressions, and with patience get the print-it or do-it. But passed the test without dying. Invoking a GC forced me to interrupt the VM, because the GC blocked it.

VW (WebToolkit):
http://emaringolo.users.dolphinmap.net/seaside/reports/20071114/SeasideVW.html

VW started answer a large number of hit per second, which was as expected considering its fast VM, but started to halve its performance, and in less than 2 minutes started to show "Process Emergency" (or something similar I don't remember exactly). During the test all the windows were a dark grey rectangle, so no interaction can be done. After two minutes of test, the VM showed a out of memory message, and died abruptly.

Labels: ,

Wednesday, November 14, 2007

Back to the future

I've just downgraded my workstation from Vista Business to XP Professional.

Vista is pretty, but with this hardware is slow (Athlon 64 X2 3600+, 1GiB RAM, 160 GB HDD SATA2). With XP, this computer is like a Bugatti Veyron

Tuesday, November 13, 2007

And again...

New release, which uses the newer version of IDB DateAndTime and Duration and fixes a wrong link for the icons.

Download it from:
http://emaringolo.users.dolphinmap.net/seaside/downloads/Seaside-2.8a1-eam.528_e.zip

Monday, November 12, 2007

Seaside 2.8 for Dolphin candidate release

I've just released a candidate "stable" version of Seaside 2.8 for Dolphin Smalltalk, it supports file uploads and multiple options forms elements. I had to fix some methods of Swazoo to get rid of the dead processes too.

From now on I'll be dedicating less time to the port itself and more time to build software based on it for my company.

However I'll be fixing bugs as required, and I will follow the development of the 2.9 version of Seaside, codename STABILO, which will be more modular, and easier to port.

The download link is:
http://emaringolo.users.dolphinmap.net/seaside/downloads/Seaside-2.8a1-eam.528_d.zip

The installations instructions are the same as with the previous release.

Enjoy!

Sunday, November 11, 2007

Keep it candy

Spurred by the latest addition to the Dolphin autocompleter done by Udo Schneider, I added some icons to the Seaside and Scriptaculous classes, this way will be easier to identify them (apart from its class prefix), and it will be nicer, as Dolphin itself is (well... Dolphin isn't nicer, it's definitely the nicest).

I'll publish this modification in the next release.

Labels: , , ,

web site analysis