Douglas Adams had only 1. Brett's got 3 questions that clarify Smalltalk.
See: http://schuchert.wikispaces.com/3Questions-Smalltalk
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.
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:
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:
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.
- 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
Interview on the Seaside
Monday, November 26, 2007
Cool but stupid things ...
Rick DeNatale talks about cool, but stupid, things he hass done in Smalltalk. His "about-me" also includes some interesting bits of Smalltalk history at IBM.
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.
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.
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.
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:


Here are some screenshots, click on the images to enlarge:
Monday, October 29, 2007
Squeak BOF at OOPLSA
There are first tapes from the Squeak BOF at OOPSLA:
Squeak-BOF-OOPSLA-2007-1-3
Squeak-BOF-OOPSLA-2007-2-3
Squeak-BOF-OOPSLA-2007-1-3
Squeak-BOF-OOPSLA-2007-2-3
Wednesday, October 24, 2007
ANSI Smalltalk
There is a call for getting involved into the ANSI Smalltalk process by Bruce Badger.
Looks like there is also a new ANSI Smalltalk mailinglist.
Looks like there is also a new ANSI Smalltalk mailinglist.
Friday, October 19, 2007
New Seaside tutorial
The Software Architecture Group at the Hasso-Plattner-Institut (University of Potsdam, Germany) announced a new Seaside tutorial:
http://www.swa.hpi.uni-potsdam.de/seaside/tutorial
http://www.swa.hpi.uni-potsdam.de/seaside/tutorial
Tuesday, October 16, 2007
EduSim3D, Greenbush and Croquet videos
Here is a new a video about a teacher adding a 3D virtual environment to her SMARTBoard.
The software is called Edusim3D and is based on Croquet which is done in Squeak Smalltalk.
Some more videos can be found on the Greenbush website:
The software is called Edusim3D and is based on Croquet which is done in Squeak Smalltalk.
Some more videos can be found on the Greenbush website:
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
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
Sunday, October 14, 2007
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.
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.
Subscribe to:
Posts (Atom)