Wednesday, January 30, 2008

Friday, January 25, 2008

Smalltalk evening at the OOP2008

Some pictures from the OOP 2008 Smalltalk evening, click to enlarge:


Suzanne Fortman, Marketing Manager Cincom

The evening begins with 3 parallel tracks


Arden Thomas, Cincom talking about Smalltalk

- many things were invented in Smalltalk
- Smalltalk continues pioneering
- Closures, Reflection, Image Based Development
- "Try doing that while it's running"
- changing the definition of an object while it is running
- Smalltalk is enjoyable and addictive


An OpenGL demo created in Smalltalk. "Change it while it is running!"

- he refactored the running OpenGL graphic animation


Lukas Renggli talking about Seaside

- Problems with page oriented frameworks: logic cluttered on many pages
- Seaside is a web framework
- does the web job, no persistence solution by default like in RoR
- always valid XHTML
- Web components and applicaton logic written in Smalltalk, styling in CSS
- web components with own state/model management
- Backtracking and Continuations
- Seaside is secure by default (encoding, no parameters, ...)


A few web applications using Seaside


Seaside is also able to handle high traffic


Improvements in the new Seaside version

The new Seaside version has improvements in memory footprint and rendering speed. Read the official Seaside website for more.

Thursday, January 24, 2008

Dynamic Language Shootout at OOP2008

At OOP 2008 here in Munich there was a dynamic language shootout organized by the german magazine "Java spektrum".

The winner is Thorsten Seitz with a Smalltalk application based on VisualWorks and Seaside. Congratulations, even if it is not a suprise that Smalltalk is by far the best dynamic language! The second winner is JRuby, the third Lua.

You can download and try the solutions here.

The winning Smalltalk application not only was the best solution, it also had a nice web user interface based on Seaside:

Tuesday, January 22, 2008

Seaside in Munich

Will work in Munich for the rest of the week, so I hope to find the time to visit the Smalltalk evening at the OOP. See you there.

Tuesday, November 27, 2007

CSS Dock Menu in Seaside

Found some time this evening to wrap the CSS Dock menu demo in Seaside. It's really easy to wrap existing JavaScript/CSS components into Smalltalk classes. Here is a small tip:


  • implement a subclass of WAFileLibrary (like MyComponentFileLibrary)
  • go to http://localhost:port/seaside/config and select "Configure" on the files entry
  • select "Configure" on your new MyComponentFileLibrary class and upload files

As you will notice Seaside automatically converts the images, scripts or other resources into methods on your WAFileLibrary subclass.
You can then access the resource in your code using the "MyComponentFileLibrary / resourceMethod".

If you want to add the script to the html output overwrite the #updateRoot: message in your WAComponent subclass.

You can grab the code for the dock menu demo directly from here or browse the SeasideExamples project. It's actually in Squeak but the two classes could easily be ported to other Seaside platforms like VisualWorks. I also uploaded a demo to integrate the virtual earth control (IE only) into a seaside application.

The SeasideExamples project was initiated by Phillipe and is open for read/write, feel free to upload your examples.

Interview on the Seaside

Avi was interviewed for FLOSS weekly. Listen and download Seaside to change your web application development experience.

Interview on the Seaside

Avi was interviewed for FLOSS weekly. Listen and download Seaside to change your web application development experience.

Monday, November 19, 2007

J2EE webapps ...

J2EE is still painful - even with tools like WTP, new graphical JSP/JSF editors, wizards to create various beans and projects for OR mapping like Dali. Most of the time waiting for the application servers like Geronimo, OC4J or JBoss to restart or looking which Maven goal/configuration could help you building your application.

Glad that I'm not alone with this experience. But there is help. I think Mr. Lorenzen should have a look at Seaside.

No need to restart the webserver if you build web applications in Smalltalk, no overcomplicated XML configurable build tools and the freedom to care about solving the problem - not fixing buggy tools or browsing API descriptions.

Sunday, November 18, 2007

Innovative User Interfaces

Would be nice to have something like the BumpTo grouping on my desk.

There is also an interesting use of a TabletPC to play with physics.

Thursday, November 08, 2007

Dynamic code generation for images using Rhino and JavaScript

Chris Double describes an interesting way for dynamic code generation based on (Smalltalk like) images.

In his example he implemented an image class in Javascript and two simple assemblers (one for x86, one for ARM). He uses the Rhino JavaScript engine (provided in js.jar) to run the scripts and write the image to disk. He then uses a simple C program to call a (now native) function in the image.

Actually his generation step hard codes the image generation depending on the specific assembler. But it should be easy to create a more general bytecode like assembler for image generation which compiles to the selected architecture.

Really interesting to use JavaScript/Rhino for that...

If you want to play with his files you have to manually download them since the link to the TAR does not work:

js.jar
x86assembler.js
generate.js
image.js
armassembler.js
run.c

Just call Rhino using: java -jar js.jar generate.js to create the image.

Wednesday, October 31, 2007

Smalltalk in Nepal

The Open Learning Exchange Nepal has released a demo Squeak Smalltalk image. It's fascination who uses Squeak these days, so I'm glad the Smalltalk community continues to grow.

Here are some screenshots, click on the images to enlarge:





Friday, October 19, 2007

Monday, October 15, 2007

Seaside Builder

Hernán Morales points to a preview on the development of an interface builder for Seaside

The ideas of this package are based on WindowBuilder Pro. Right now they have support for most common web controls (TextField, Panel, RadioButton, TextArea, Label, Button, Anchor, CheckBoxGroup, RadioButtonGroup, ListBox, FieldSet).

Here is a screenshot (click on the image to enlarge):



He thinks the package would be available at the end of this year or first months of 2008. He also points to two preview videos:

http://smartware.com.ar/builder.avi
http://cs.hernanmorales.com.ar/SeasideBuilder.avi

Friday, October 05, 2007

Sun Labs Lively Kernel

Dan Ingalls announced on the squeak-dev mailing list that Sun Labs has published Lively Kernel.

Looks like they have implemented a small computing kernel for the browser in JavaScript and ported Squeaks Morphic on top of it.

Here is a first screenshot impression (click on image to enlarge):



Based on the tradition of Smalltalk and Squeak it also includes the IDE:



Would be interesting what could be possible if this is combined with the Seaside web framework on the server side.