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.

Monday, July 30, 2007

Smalltalk YX on Pocket PC

Luca Bruno is currently porting his Smalltalk YX to PocketPC. Here is a screenshot of Syx running on the Pocket PC emulator:


Monday, July 16, 2007

Squeak on Java

In May 2006 I reported about a Squeak image running on Java VM. Looks like Pavel decompiled it and made the source code available. Decompilation of Java is easy - just use tools like JAD.

However - if you want to play with it, here is a pointer to the source code:
http://comtalk.net/public/pub/SqueakOnJava/SqueakOnJava.zip

Thursday, July 12, 2007

Squeak UI improvements

There is a discussion on the Squeak mailinglist about some simple ergonomic adjustments in the look and feel of the standard image. Gary Chambers reported about commercial work done in Squeak and an add-on package ready to release back into the community.

This package provides a nice UI for some standard (business application like) services, choosing colours, selecting a font etc.
It also provides a framework for creating "standard" morphs (checkboxes, drop-lists etc). His desktop looks like this (click one of the images to see more):

 

A few years back there we had something similar: the Zurgle Project by Jim Benson. It includes a theme for installing a Windows XP style interface:

    

I used Zurgle in my Developer Workspace project (which is now replaced by Damiens squeak-dev image, unfortunately with the standard Squeak look).



I think Squeak requires some more UI improvements and at least support for common widgets found on other platforms to build standard applications.
This would open the project to a broader audience and also allow to experiment with new GUI approaches. I was impressed by the Squeak UI work done back in the Exobox days:

    &nbps;

And I look forward for 3D user interfaces as in Croquet:

  

Sport for Squeak

Bruce posted a message that there is now also a Squeak port of "Sport" available at the sourceforge.net project site (contributed by Janko).

If you want to get the latest version for Squeak you can use the Squeaksource page:

http://www.squeaksource.com/SPort.html

Sport is a Smalltalk portability layer. Sport presents a consistent interface and implemented in a number of Smalltalk dialects. Smalltalk code written to the Sport interfaces can be run in any Smalltalk dialect without alteration.

Wednesday, July 11, 2007

New Seaside homepage

Philippe Marschall announced the new Seaside homepage.

The page itself runs on Seaside (2.8) and the Pier CMS and is hosted at
Seaside-Hosting.

Monday, July 02, 2007

Syx 0.1

Luca Bruno is currently implementing yet another Smalltalk version.
He just released the first version 0.1 of Smalltalk YX (Project Syx). It's running on Windows and Linux, is written in C with a simple garbage collector.

You can download the executable as well as the source from http://code.google.com/p/syx/

Thursday, June 14, 2007

Swing Bugs

Yet another stupid Java bug in the Swing UI library. But the best is that one has to wait until Java 7 to get it fixed, no backport to version 6.

In Smalltalk fixing bugs in old versions has never been a problem: anything is open and changeable. If the vendor doesn fix it you are able to modify the code yourself. This is what makes customers and developers happy ...

Monday, June 11, 2007

Swazoo for Squeak

Janko Mivšek announced the Swazoo web server 2.0 beta release for Squeak.

Swazoo (Smalltalk Web Application Zoo) is an open source, vendor agnostic, dialect neutral Smalltalk HTTP server with resource and web request resolution framework, a fruit of a first Camp Smalltalk 2000 in San Diego.

Tuesday, June 05, 2007

Wednesday, May 30, 2007

Seaside Marketing

After Giles Bowkett posts about Seaside's "Marketing Problem" there is a nice reaction from Kurt Schrader.

I totally agree with Kurt. Seaside rocks compared to other web technologies.
I can show it to other people, they are all fascinated but go back and use file editors and other primitive tools and frameworks. They restart the web server after each major refactoring and read many books and specs about predefined behavior and XML configurations. Sometimes I'm amongst them to make a living ;)

But I dont care. I know and use Smalltalk since many years - it still is my secret weapon. I'm always a step ahead and much more productive with it.

Here is an example: I once created an applications using Seaside and finished it within a month. It took an external team (3 people) nearly one year to recreate it using Java technology for the same functionality.

The reason is simple: in Smalltalk I can keep the focus on the problem. Especially web development with Java is bloated with very specialized frameworks these days. If you ever worked with JSP/JSF/Struts/CF/EJB/... you know what I'm talking about.

Only a few people looking for Rails and other dynamic alternatives ...

Monday, May 21, 2007

Smalltalk-ish at Microsoft

Jon Udell talks with Alan Wirfs-Brock (who is now at Microsoft) about Smalltalk and dynamic languages. Really interesting talk ...

Wednesday, May 09, 2007

Machu Picchu in Croquet

The arts metaverse web site includes a video about "Machu Picchu in Croquet". See

http://artsmetaverse.arts.ubc.ca

Croquet is based on Squeak Smalltalk.

Thursday, May 03, 2007

Arts Metaverse

Tim Wang is currently working with the Croquet Consortium (Julian Lombardi, David Smith and Mark McCahill) on a project called Arts Metaverse, which in short is to use high quality 3D models inside of Croquet to teach arts related topics (Art History, Archeology, Classical Studies etc...).

He has an e-learning related blog at: http://blog.loaz.com/timwang with some nice videos about the things they do with OpenCroquet.

Wednesday, May 02, 2007

Sunday, April 29, 2007

Tuesday, April 24, 2007

Sudoku Solver in Seaside

Martin J. Laubach has created a Sudoku Solver in Seaside.
It shows how easy it is to create web applications with the Smalltalk web application framework.

If you want to learn more read his blog.

OmniBrowser docu

Alexandre Bergel announced a new paper on Omnibrowser:

http://www.iam.unibe.ch/~scg/Archive/Papers/Berg07cOmnibrowser.pdf

OmniBrowser is a browser framework started by Colin Putney that supports the definition of browsers based on an explicit metamodel. A first implementation is available for Squeak.

UI patents

Found a nice summary on the history of user interfaces and how Smalltalk has influenced user interfaces we know from modern operating system today.

Looks like Apple is sued by a user interface patent today. The patent was originally filed by Xerox.

What if the first cave man would have patented how to start a fire ...

2D in 3D

Channel 9 (the Microsoft MSDN tech channel) showed a video on interactive 2D controls on WPF (Windows Presentation Foundation) surfaces. There is also a new blog on this topic.

Maybe this feature of WPF will soon be highlighted as the best thing since sliced bread - but Squeak Smalltalk had some of these features since years. Maybe you remember the bunny demo where you can easily mix 2D and 3D in Smalltalk.

Have a look at Croquet - there you can easily use 2D morphic projects and mix them with interactive 3D scenes. You can select 2D objects in 3D, interactively change them and even type and select text.
And it's based on Smalltalk - therefore it is platform independent and completely open source ...

Thursday, April 19, 2007

The Blue Book as PDF

The so called "blue book" (Smalltalk-80: The Language and its Implementation by Adele Goldberg and DavidRobson) is now available as PDF on the Free Books page.

Wednesday, March 28, 2007

Learn Seaside

There is a nice blog teaching you how to use Seaside for building web applications at: http://inchingforward.blogspot.com/

You can also watch the "How to build a blog 15 minutes with Seaside" screencast.

Tuesday, March 27, 2007

Plopp

Plopp, a 3D Painting Tool for kids is now ready for downloading at

http://www.planet-plopp.com

You just paint in 2D and Plopp will transform your paintings
into 3D objects. This product is created using Squeak Smalltalk.
See the announcement.

Some demo videos are available (1, 2)





Croquet 1.0 SDK is out

The Croquet 1.0 SDK is now available. Check out the new website of the croquet consortium:

http://www.croquetconsortium.org

Read more on Davids blog.

Monday, March 19, 2007

CMSBOX

CMSbox is a Squeak3.9/Seaside2.8 powered CMS which has been made available by netstyle.ch for the Swiss marketplace.

Read more at http://www.cmsbox.ch. You will find some demo movies on the right side of the page.

Smalltalk Archeology Archive

There is a new page by Aaron Reichow about old Smalltalk versions called "Smalltalk Archeology Archive". Read his posting for more.

Squeak VM for Nokia 770

Squeak now also runs on the Nokia 770.

Monday, March 12, 2007

TopLink, GLORP and O/R mapping

Oracle open-sourced TopLink last week. For those who dont know: TopLink is a object-relational mapping framework (that lets developers work cleanly at the object level rather than in relational tables). TopLink is now part of Oracles application server.

As many other notable technologies TopLink was invented and marketed in Smalltalk first and later ported to Java. The first version was written by Jon Hylands at The Object People (TOP). There is a nice summary of the history at the Oracle website.

As you may know The Object People got diverted into doing mostly Java work, and were eventually bought and split into two pieces (WebGain got the TOPLink piece, and BEA got the services piece). WebGain is now out of business, and TOPLink was sold to Oracle.

While Java people may be satisfied with TopLink any informed Smalltalker know that there is a more enhanced successor written by Alan Knight: GLORP (Generic Lightweight Object-Relational Persistence). Alan was also working at TOPLink and is now working for Cincom.

James Robertson recorded a nice podcast last week talking with Alan Knight and Michael Lucas-Smith on GLORP and about O/R mapping in general. Thanks James, for making this available!

BTW: Jon Hylands is building autonomous controllers today using Squeak Smalltalk.

DabbleDB - maps and charts

DabbleDB now supports maps and charts. Watch a screencast for a demo.

Tuesday, March 06, 2007

Old dude T-Shirts

As Wayne Beaton reports there are some old dudes who know smalltalk at EclipseCon conference.

It looks like Instantiations is already designing some T-shirts for "old dudes".




I already warned you that I'm infected with Smalltalk and pure OO since years. For me it is to late. ;)

So stop reading this blog - otherwise you may get the Smalltalk virus too!

Thursday, February 22, 2007

New tools for Squeak

Romain announced some updates for two new tools: BrowserBooster and SpyWare for Squeak Smalltalk.

OK - lets check how usefull they are ...

Take care with math in Java

Doing some math these days with Java. As you may already guessed doing math in Java is ugly and circumstantial compared to Smalltalk.

Especially take care if you use double values. Class BigDecimal can help here - but there are pitfalls, especially when using the wrong constructor.

Tuesday, February 20, 2007

Pen Interaction For Authoring 3D Worlds in Croquet

The homepage of Michael Kleiber includes informations about his Master's thesis on pen Interaction For Authoring 3D Worlds. The technology used: Squeak Smalltalk and OpenCroquet

You will find the thesis, screenshots and videos.

Croquet website

Looks like the http://opencroquet.org website has a new look.

Let's throw away HTML, JSP/ASP, Flex, ... and start with the future.