Tuesday, December 30, 2008

Squeak, Etoys, Robots and Wiimote

Found a robot kit under the christmas tree? So its time to have a deeper look at Smalltalk - especially Squeak.

Ricardo Moran tells you how to control Lego Nxt robots, control the I-Sobot (world's smallest humanoid robot) or play robot soccer.

There is also an FFI interface to the wiiuse library - this allows to interact with several Nintendo Wii remotes using Squeak and/or Etoys.

Seaside 2.9 Alpha 2

Seaside 2.9 Alpha 2 is out. Additionally to many fixed bugs portability has increased (this time with the focus on VisualAge Smalltalk).

Lukas also pointed out a new tool at http://builder.seaside.st to configure a load script or Monticello configuration.

Monday, December 29, 2008

SE Radio on Smalltalk

Spend some time this evening to listen to some episodes from "Software Engineering Radio". Currently listing to an interview with Dave Thomas with lots of discussion on Smalltalk, Squeak, Lively, Java and Ruby. Interesting ...

Saturday, December 27, 2008

Tuesday, December 16, 2008

Coq virtual machine project

Andreas gives an update on the current state of the Coq Virtual machine.

Until now there were only informations on Eliots blog available and its good to get a summary of the overall plan now.

Saturday, November 22, 2008

Alien - Smalltalk and the world out there

In the year of Smalltalk things really moving forward, especially within the open source family. A lot of VM work is going on and Pharo may become the most interesting descendant of the Squeak image by breaking with old traditions.

But there is also work going on to provide a better FFI (Foreign Function interface). John and Eliot provide first version on the "Alien" SqueakSource project. From the description:

"Alien is a new FFI interface. It supports faster call sequence, return code setting, and callbacks to execute smalltalk code from the FFI routine. Copyright 2008 Cadence Design Systems, Inc. Licensed under the Apache License, Version 2.0"

Monday, November 17, 2008

A Commodore 64 emulator in Smalltalk

A C64 emulator written in VisualWorks Smalltalk by Gabriel Honoré. Nice! Especially since I started my first programming steps on this machine. Read more here.

So we can write the next Smalltalk UI framework using POKE 8192 + offset, ..., control sound using POKE 54296, 15 and use SYS 64738 to reset our machines ;)

Thursday, November 13, 2008

Scaffolding for GemStone

James Foster provides a short video on "Scaffolding for GemStone". It nicely shows how easy it can be to create CRUD web applications with Seaside, Squeak using Gemstone for persistence.

Even Robots understand Smalltalk

The Smalltalk programming language is not only simple but powerful - it is also very close to natural languages.

Thats why also Robots can understand Smalltalk these days. I think you should also start to dive in and learn Smalltalk before robots outperform the human race.

Read more.

Wednesday, November 05, 2008

seaBreeze 4.0

Karsten announced a new version 4.0 of seaBreeze for Seaside.

In addition they now provide a QuickStart image - just download it and run and you are able to play with the software. Since it is a normal VisualWorks image you can just select "Browse" and "System" in the Launcher to browse the classes and find out how it is done. If you need more help just follow the mailinglist.

Compared to typical VisualWorks UI windowSpec the seaBreeze UI Builder now uses XML as storage format for the layouts. I like the XML integration into the VW Smalltalk IDE - they extended the Refactoring Browser with a new tab to browse the XML nodes. Nice.

It's not yet ported to Squeak/Pharo (the original Seaside platform) ... but at least there is some interest.

Monday, October 27, 2008

Squeak on the iPhone 1.07

John has updated the iPhone VM to version 1.07.
This new virtual machine uses the latest pharo image.

Smalltalk on the wall

Cobalt (written in Smalltalk) on a 13-foot by 5-foot multi-touch visualization wall, read more here.

I definitely need a larger office ...

Smalltalk in Eclipse

There are some first screenshots from STDT (Smalltalk Development Tooling) in Eclipse - an internal project at IBM.

Can you play with it? I dont think so. From one of the comments by Dan Heidinga:
"Currently, the project is strictly internal. We hope to be presenting at EclipseCon this year and should have a better answer by then."

However, it's nice - but working with a full Smalltalk system is better ;)

Thursday, October 16, 2008

SmallFaces, a widget toolkit for Seaside

Hernan, Norberto and Juan announced "SmallFaces (SF) for Seaside". You can now create web applications with Seaside just using widget objects.

Read more here and here.

Tuesday, October 14, 2008

Silverlight and Eclipse

There is a nice Eclipse UML plugin "eUML2" from a company called Soyatec. When doing Java stuff I use it for various reasons:

- UML is a good way to communicate designs
- it integrates nicely with the editors (changes in code are reflected in model diagrams and vice versa)
- the file format is XML
- refactorings can also be applied in the diagrams
- the graphic is nicely done and visually appealing

I was suprised to hear that Microsoft is now giving funding to them to develop a Silverlight (yes the one from .NET) integration into Eclipse. See:

http://www.eclipse4sl.org/

Until today support for .NET in Eclipse was very comfortless. There was once a simplified C# Editor and there were no real builders and natures to support compilation for .NET languages. Will see how far they integrate, so new things to try out this evening...

Thursday, October 09, 2008

Gartner analyst and Smalltalks comeback

Mark Driver, an analyst at Gartner group blogs on Smalltalk. I like this quote:

"You think Rails is cool? Check out seaside."

Hat tip to Randal for the news.

Wednesday, October 08, 2008

Squeak "multi-vm"

Looks like Sam S. Adams (IBM Research) and David Ungar (known from Self programming language) have constructed a Squeak "multi-vm" a Squeak VM adapted to run on 56 of the 64 cores on the Tilera64 processor family.

Read more here and here.

As Sam noted on the Squeak list they plan to attend the SqueakBOF at OOPSLA and demo the current multicore VM work.

Sounds like Smalltalk

TaalPulse is a free software Lehra, Theka and Tampura machine for the student of Hindustani (northern Indian) music. It is designed to run on portable devices (such as Compaq iPaq) but it also runs on desktop computers (Windows, Linux and MacOS).

TaalPulse is developed by Guillaume Pothier using Squeak Smalltalk. See

http://taalpulse.net/

for more information.

Monday, October 06, 2008

WAX - Writing API for XML

The writing API for XML (for Java and Ruby) is now also available for Smalltalk from the author R. Mark Volkmann.

see http://www.squeaksource.com/WAX.html

Sophie news

Looks like the open source Sophie project (developed in Squeak) gets no funding anymore and should be redeveloped in Java by a new company.

Meanwhile this is also discussed on slashdot.

Sad - but the original developers try to keep the project alive and moved to
http://opensophie.org.

Friday, September 26, 2008

Thursday, September 25, 2008

Exciting News for Dolphin Smalltalk Users

Through a cooperation between ObjectArts and Lesser Software the next generation Dolphin Smalltalk generation will increase speed, support multi-threading, Unicode, SLL's, ...

Read more here.

Wednesday, September 24, 2008

Tuesday, September 23, 2008

Pier 1.0.17

Tudor Girba announced the new version 1.0.17 of the Pier CMS system today. Pier is built on top of Squeak and Seaside, and thus it runs on all major operating systems. You can download the release from:

http://www.piercms.com

Monday, September 22, 2008

Friday, September 12, 2008

SqueakSVN - Squeak and Subversion

The Software Architecture Group from the HPI in Potsdam announced a Subversion integration project called SqueakSVN for Squeak Smalltalk.

The project site provides more information, a demo video and the source.

Thursday, September 11, 2008

Tuesday, September 09, 2008

Squeak on the iPhone

John M. McIntosh and Michael Rueger announced the availability of iSqueak - a squeak virtual machine port for the iPhone/Touch.



They won the 3rd price (together with Grit Schuster) on his years ESUG Innovation award (read the ESUG paper here).

Visit the http://isqueak.org project site and the announcement for more information. According to SqueakNews John is also wants to offer support.

James Robertson made a video available through Youtube:



Glassfish server adapter part 2

The glassfish server adapter for Eclipse (see my last post on this) now has the (so far missing feature) to set the domain dir. It's available in version 1.0.8. Thanks Mr. Raccah

Monday, September 08, 2008

September Smalltalk in Munich

Today we have our next Smalltalk meeting here in munich. We start 7pm in the VSA building, Englschalkinger StraĂŸe 150 (subway station Arabellapark).

VSA is building health care systems using VisualAge Smalltalk. There will also be a presentation from Joachim Tuchel on VisualAge. I met him coincidentally this morning at the central railway station.

The event is open so feel free to come by if you are interested in Smalltalk. Thanks to Steffen MĂ¼ller for all the coordination work.

Friday, September 05, 2008

Boot Smalltalk

There is some more info on the web on Squeak Smalltalk booting on the OLPC with the SqueakNOS (No operating system) project:
  • Gerardo provided a VMWare image to boot squeak and has some tips how to prepare any Squeak smalltalk image to work without an operating system (you can download the VMWare applicance from here)
  • James made a video from ESUG 2008 available:



CodeCity

I reported earlier on a port of Mondrian to Squeak Smalltalk allowing you to visualize and analyze your object oriented system.
Maybe you also know the CodeCrawler tool from VisualWorks.

Meanwhile there is a new tool available called "CodeCity" presented at ESUG 2008. It visualizes the code in 3D which is very cool. It's written in Cincom Smalltalk. A paper is available here and the projects page here.

James' blog also has some infos and a nice video. Thanks for making this available!



Tuesday, September 02, 2008

Google Chrome, JavaScript and Smalltalk

The secret is out since yesterday: Google has released Google Chrome - a new webbrowser. It's easy to install - and from a first impression also very fast. But that's not the exciting news - at least not for us Smalltalkers.

The most interesting part is a new implementation for the JavaScript Engine called "V8" done by members of the orginal Animorphic team. Animorphic Smalltalk was a Smalltalk system built around the mid-90s as part of a startup that was informally known as Animorphic Systems. In early 1997, Animorphic was acquired by Sun, and much of the underlying VM technology was put to real use in the Java Hotspot VM.

Animorphic Smalltalk included a high performance VM, a blue-book compatible library, novel browsers and flyweight glyph-based GUI framework, optional type system, mirror based reflection and mixins. It was later released into Open Source.

Lars Bak is now responsible for V8 at Google (he was technical lead for Strongtalk Smalltalk VM and the Java HotSpot VM. I already posted about his early work on OOVM and expected something like this - especially after I havent heard anything from him since 2004 after Esmertec acquired OOVM.

Another interesting aspect of the V8 virtual machine is that it's open source. Just use

svn checkout http://v8.googlecode.com/svn/trunk/ v8-read-only"

to checkout the project (13,6 MB). It is mainly written in C++, based on the Strongtalk Smalltalk code and released with a BSD/MIT license. It uses some neat design tricks like dynamically created hidden classes (as you can read on the Design doc page)

Dave Griswold has posted some more information on the Strongtalk list and on the Squeak list.

While Daren is trying to run first benchmarks I gave Dan's lively kernel a try. Lively Kernel is desktop kernel written in JavaScript by Dan Ingalls (of Smalltalk fame) while working at Sun. Right jump into the kernel page with the chrome browser. It's really fast compared to JavaScript engines I tried before.

So JavaScript is hotting up and more interesting work is in the pipe. Maybe you remember Ian's work on open extensible object systems at Viewpoint research institute. With just 400 lines of code and no serious attempt on optimization he was able to implement a JavaScript version that was faster than WebKit/Safari and Firefox...

Regarding performance and running Smalltalk David Griswold explains:
"I'm sure that these sorts of things can be worked around, but they do mean
that V8 will never in its pure form quite reach the pinnacle of theoretical
performance possible for a VM targeted specifically to Smalltalk etc. So it
won't be as fast as Strongtalk, although it may get fairly close to
VisualWorks performance.
"

"Remember it will still be a lot easier to run other dynamic languages on JavaScript than it is to run them on Java, since at least JavaScript is fully dynamic, unlike
Java.
"

"The release of the V8 VM is the beginning of a whole new era for
dynamic languages (Smalltalk, Ruby, Python, etc).

Let the flood of fast new dynamic language implementations begin!
"

I'm eager what the answer of Microsoft will be (especially since my friend David Simmons (Smallscript/S#) is working on scripting languages there) and if .NET and Suns JVM will be more friendly to dynamic languages in the future. Interesting times ...

Friday, August 29, 2008

SeaBreeze for Seaside

SeaBreeze is a helper tool to setup and maintain applications for Seaside.

Congratulations to the team at Georg Heeg eK for the second price in ESUG innovation award.

At seabreeze.heeg.de Roland Wagner explains it all. I once worked with him in Frankfurt - nice to see what he is working on these days. Click the images to enlarge:



Magnus Schwarz also announced the tool on the seaside list. The source code will soon be available with MIT license.

Thursday, August 28, 2008

Glassfish Server adapter

Back in January I reported a bug/missing feature the Glassfish server adapter for Eclipse. The asadmin tool allows you to easily create domains for the server. In a typical setup I separate the domain dir (configuration) from the glassfish installation directory.

While the plugin allows you to set the used domain it is not possible to select the directory where the domain is installed. It expects the domain in the usual subdirectory of the Glassfish/SJSAS installation.

Looks like work Rochelle Raccah from Sun now started working on it today.

Wednesday, August 27, 2008

SqueakNOS boots on OLPC

More news from ESUG 2008: The Squeak NOS project now boots on the OLPC computer. Read more here (french). A video of the boot process is available here and some comments/code here.

Coq - virtual machine project at ESUG 2008

Coq a television advertisement for the Honda Accord inspired Eliot Miranda for the name and logo for his "faster open source VM's" project.

See Video1 and Video2.

Monday, August 25, 2008

Tuesday, August 19, 2008

SqueakNOS new changes

The Squeak NOS project has some new changes from Gerardo Richarte. Before that the project was last updated in 2006 (after 5 years of official inactivity) - the SqueakNOS mailing list had it's last postings in November 2006.

But it looks like the project is now maintained again. The new version also includes the beginning of USB UHCI specification implementation for USB devices. Let's see how the story continues ...



"An operating system is a collection of things that don't fit into a language. There shouldn't be one." - Daniel H. H. Ingalls; Design Principles Behind Smalltalk; Byte Magazine, August 1981.

Monday, August 18, 2008

Wednesday, August 13, 2008

Monticello 2.0 for Squeak

Colin has announced a first release of Monticello 2.0, the versioning tool for Squeak Smalltalk:

Read his first posting for version 2.0.17. Meanwhile it's upgraded to
version 2.0.20

Friday, August 08, 2008

Modulo differences

Should take more care when using modulo and negative numbers.
Did'nt expect a difference at first:




Excel=MOD(-1; 12) -> 11
Smalltalk (Squeak)-1 \\ 12 -> 11








Java-1 % 12 -> -1
VisualBasic-1 Mod 12 -> -1
(PL)SQLselect mod(-1, 12) from dual -> -1
JavaScriptalert(-1%12); -> -1

Thursday, August 07, 2008

Get Insight

Try http://google.com/insights/search/# with various search terms like

Smalltalk, Java, Squeak, Oracle, Eclipse, Ruby on Rails, C#, EBay, ...

Interesting ...

Monday, August 04, 2008

Style with Smalltalk

We already had "Smalltalk with Style" (maybe you know the book).

But we now also have "Style with Smalltalk" - a project called "Phantasia" as an add on for Seaside. If you want you can also use Smalltalk (instead of CSS) to style your web pages. Read more here.

Monday, July 28, 2008

Potato VM blog

There is a new blog accompanying the Potato project (i.e., the JSqueak offspring):

http://potatovm.blogspot.com

Exupery 0.14

Bryce Kampjes has released Exupery 0.14. . Read more on the newest stuff in the native code compiler for Squeak.

It's available on SqueakMap and on SqueakSource.

Wednesday, July 23, 2008

Closures

Some news from Elliot about his work on a new Closure scheme for Squeak/Croquet.

He also made the first bootstrap code available at: http://www.mirandabanda.org/files/Cog/Closures0808/Bootstrap/

Tuesday, July 22, 2008

Squeak in education

Found a new project called iStoa.net developed for education in Squeak Smalltalk.
It is a learning environment with emphasis on interactive activities through
artifacts, recording of student activities for further analysis, curriculum
modeling with oriented graphs and learner modeling.

Looks like the client application is also running on the OLPC XO notebook.



Code is available at:


  1. http://www.squeaksource.com/iStoaCore.html

  2. http://www.squeaksource.com/iStoaExo.html

  3. http://www.squeaksource.com/iStoaWeb.html

  4. http://www.squeaksource.com/iStoaArtifact.html

  5. http://www.squeaksource.com/iStoaEtayage.html

Squeak in education

Found a new project called iStoa.net developed for education in Squeak Smalltalk.
It is a learning environment with emphasis on interactive activities through
artifacts, recording of student activities for further analysis, curriculum
modeling with oriented graphs and learner modeling.

Looks like the client application is also running on the OLPC XO notebook.



Code is available at:


  1. http://www.squeaksource.com/iStoaCore.html

  2. http://www.squeaksource.com/iStoaExo.html

  3. http://www.squeaksource.com/iStoaWeb.html

  4. http://www.squeaksource.com/iStoaArtifact.html

  5. http://www.squeaksource.com/iStoaEtayage.html

Squeak in education

Found a new project called iStoa.net developed for education in Squeak Smalltalk.
It is a learning environment with emphasis on interactive activities through
artifacts, recording of student activities for further analysis, curriculum
modeling with oriented graphs and learner modeling.

Looks like the client application is also running on the OLPC XO notebook.



Code is available at:


  1. http://www.squeaksource.com/iStoaCore.html

  2. http://www.squeaksource.com/iStoaExo.html

  3. http://www.squeaksource.com/iStoaWeb.html

  4. http://www.squeaksource.com/iStoaArtifact.html

  5. http://www.squeaksource.com/iStoaEtayage.html

Tuesday, July 15, 2008

Squeak and Namespaces

The Squeak community had many discussions in the past on Namespaces within the standard image. Especially after other Smalltalks like VisualWorks provide Namespace by default.
The easy way is to have conventions so the names just don't overlap.

There have been proposals like the one from Göran (and working implementations) for namespace support.

One idea is to reify the prefixes so you could write My::Class instead of MyClass.
Smalltalk/MT uses the same notation. However, no proposal for Squeak has been adopted yet.

Michael van der Gulik has now released a premade Namespaced image. This is part of his SecureSqueak project.

There is also a video available.

Wednesday, July 09, 2008

WxSqueak 0.5.1 demo

A new 0.5.1 demo version of WxSqueak is available. Read the announcement or check out the updated project page:

http://wxsqueak.org/


Tuesday, July 08, 2008

Domino simulation

Willi Griephan of Bremen shows the operation of two Croquet simulation spaces that he created using the Croquet SDK.



Read more here (german) or the summary from Julian Lombardi.

Reminds me on the Smallscript3D library from Ernest Micklei (Philemonworks.com) who did a World Record of 4.7 million 'Virtual' Dominos using (VisualAge) Smalltalk. Ernest's page has changed, but the wayback machine shows some details.

Potato aka JSqueak

Looks like the HPI has created an extended version of JSqueak (Squeak VM implemented in Java to run on JVM) called "Potato".



Read more here.

JavaScript and Smalltalk Diff

Tony Garnock-Jones implemented a Hunt-McIlroy diff and a diff3 implementation in JavaScript and Squeak.

He blogged about it here and here.

The source is available at http://www.squeaksource.com/DiffMerge.html

Tuesday, July 01, 2008

Pharo - a new implementation of Smalltalk based on Squeak

The Pharo project wants to take a fresh look at the Smalltalk philosophy and current implementations. It wants to produce a clean and lean open-source Smalltalk.
It will start from Squeak but pharo is a fork. An important test for pharo is that Seaside should run on it.



Project site: http://pharo.gforge.inria.fr/
Mailing list: http://lists.gforge.inria.fr/pipermail/pharo-project/
Source: http://www.squeaksource.com/Pharo/
Inbox:  http://www.squeaksource.com/PharoInbox/

As far as I know the project is named after the famous lighthouse of Alexandria, but this was called "Pharos" not "Pharo". Time for a bug report?

Monday, June 23, 2008

LifePipe for Seaside2.9

Looks like Lukas is working on wrapping the LifePipe UI library for Seaside 2.9.

The LifePipe UI is a set of MIT licensed widgets and controls. The library is based on the Prototype JavaScript library. Interesting...

Saturday, June 21, 2008

JSqueak

Dan released the first official version of JSqueak - a simple Squeak interpreter implemented in Java.

This may also open the door to other platforms like Android (based on the Dalvik VM, but programmable in Java)...

Better VMs - Part 2

As I reported earlier Eliot is now working on better Squeak/Croquet virtual machines. Some more news are now available from his blog and it looks like code will follow soon.

Go Eliot!

Smalltalk Evening in Munich

Unfortunately my time is very limited these days so I was not able to write much about the last Smalltalker meeting here in Munich. It was an interesting evening.
Georgios German presented the Traffic management Software developed at GEVAS which is implemented in VisualWorks. Very interesting application with lots of knowledge built in.

After that I presented an online application which I developed to demo Seaside and show some of the Seaside features. Maybe more on this later on this blog.


Short info on the next Smalltalk "Stammtisch" meeting in Munich on 26.6.2008:

Same place: GEVAS Software (Systementwicklung und Verkehrsinformatik GmbH) Nymphenburger StraĂŸe 14/Sandstr. 26.

The meeting starts 7.30pm, please use the side entrance of the building
Sandstr. 26 (5th floor)

Steffen MĂ¼ller and Marco Leberfing would like to present and talk about "QueryVision" - a Seaside Application developed in Dolphin Smalltalk.

Unfortuntately I'm not able to attend the meeting - but I got a preview of the software so I'm sure it will become an interesting evening again...

Tuesday, May 27, 2008

Food for thought

More and more Java add on vendors stop their business. Looks like it is not a viable business model anymore to sell tools or software in general. Read the story of Enerjy plugin for Java (a static code analysis tool) for yet another example. Some shops close down, others switch to becoming service providers.

Also the Java community get more and more fragmented. People start looking for alternatives like dynamic systems.

Especially after more and more people lamenting on new language extensions and the growing complexity of Java (even people from Sun). Others already announce that Java as dead.

I think computer science should start to learn from past experiences (instead of reinventing the wheel) and try to decrease complexity using minimalistic concepts.
Have a look at Smalltalk to see how powerfull systems can be just by having dynamic systems based on two simple things: objects and messages.

A very interesting talk in this regard is Ian's presentation from the workshop on self-sustaining Systems (S3). Food for thought ...

Better Squeak VMs

After checking my LinkedIn contacts I noticed that Eliot Miranda
is now Analyst/Programmer at Qwaq Inc. Some of you may know Eliot
from his work on the VisualWorks Smalltalk virtual machine.

It's interesting to see that he is working there since Qwaq Inc.
builds online virtual worlds based on Squeak and Croquet.

Maybe the Squeak Smalltalk system gets future improvements on
the virtual machine side if some of the development is contributed back
from the company to the Squeak community (as it was the case for the Hydra multi-core Squeak VM).

Interesting changes in the year of Smalltalk...

HPDF - Haru Binding for Squeak

I played with HARU last weekend. It's a free, cross platform, open-sourced software library for generating PDF. So why not use it from Smalltalk to generate PDF's:

I created a Squeak binding to it using FFI. Read more here.

The Squeaksource project can be found at http://www.squeaksource.com/HPDF.html

Tuesday, May 20, 2008

Monday, May 05, 2008

Google Chart API for Seaside

Seaside has more and more additional projects like SeaChart. The project now also includes examples for using the GoogleChart API. Click on the image for a few examples:

Tuesday, April 29, 2008

JavaConnect := Java asSmalltalkValue

Nice project: JavaConnect is a Visualworks Smalltalk library that allows a seamless interaction between Smalltalk and Java. A Smalltalk application can access any Java object and send messages to it, just as if it were a Smalltalk object.

Read more at the JavaConnect project page:



Would be interesting to know how this relates to Joachim Geidels JNIPort project.

Monday, April 28, 2008

Smalltalk Evening in Munich

Today we have our next Smalltalk Evening here in Munich. Its hosted at:

Systementwicklung und Verkehrsinformatik GmbH
Nymphenburger StraĂŸe 14/Sandstr. 26

Please use the side entry Sandstr. 26 (5th floor), we start at 7.30pm

Two main topics:
- VW-Software at Gevas
- Squeak

Maybe we find the time to talk about Seaside too.

Friday, April 18, 2008

Seaside and SVG

The SVG project for Seaside is moving forward. It now also includes an example for rendering charts and a Mondrian graph. Meanwhile also the Mootools for Seaside got ported from VW to Squeak.

Here is a screenshot (click to enlarge):

Krestianstvo

"Krestianstvo" - a framework to design Tweak UI's for Croquet applications in plain XML and CSS files. It includes one example of using XUL in Croquet. The project is hosted on Squeaksource.

Wednesday, April 16, 2008

Tuesday, April 15, 2008

Arrrggghhhh .....

Arrghhh!!! Try this:


Smalltalk
Transcript show: (50.0 - 7.23) asString

returns 42.77


C/C++
#include 

int main(int argc, char ** argv) {
double a = 50.0 - 7.23;
printf("%lf", a);
}

returns 42.770000


Java
public class Test {
public static void main(String[] args) {
double a = 50.0 - 7.23;
System.out.println(a);
}
}

returns 42.769999999999996

Monday, April 14, 2008

Seaside and SVG

Want to use Seaside to generate Scalable Vector Graphics? At the beginning of April Gerhard Obermann asked for an SVG package on the seaside mailing list.

SVG



Meanwhile the project started. Interesting to see that there is a good infrastructure for people to collabroate and work on new Smalltalk stuff.

XUL for Seaside

Pavel started a new project: SeasideXUL. It allows you to generate XUL
using using Seaside as the Smalltalk web application framework.



Browse the screenshots and code, download a Squeak demo image or read more here...

Tuesday, April 01, 2008

Seaside for Java

Seaside is now available for Java too:

http://www.seaside.st/community/development/seaside4j

A little bit more complex and larger download but rember to
evaluate "Date today printString" in Smalltalk first ;)

Friday, March 28, 2008

Seaside and eBay tools

Another successful startup using Seaside and Smalltalk: auctomatic.com. Its a tool to ease selling at eBay. They now have been bought by Live Current Media.

Have a look at the interview with Meet Harjeet, one of the co-founders behind Auctomatic. He talks about the ideas and also about Smalltalk and Seaside.

Read more about the deal here and here.

So if you want to become a millionaire with a web startup too start coding in Smalltalk and Seaside...

Tuesday, March 04, 2008

Cobalt

Some more news from Croquet:

Cobalt is an emerging open source and multi-platform metaverse browser and toolkit application being built using the open source Croquet SDK:

http://www.opencroquet.org/index.php/Cobalt

You can download the Squeak Smalltalk image, browse the code in the Monticello Code repository or visit the Cobalt Google Group.


Thursday, February 21, 2008

Hydra VM

Qwaq has realeased the Squeak HydraVM as open source under MIT license.

Hydra VM is a virtual machine capable of running multiple Croquet images side-by-side, therefore being able to effectively utilize multi-core CPUs.

Read the announcement from Andreas.

The official release is here: http://www.qwaq.com/HydraVM

Wednesday, February 20, 2008

Who owns a language

There is an interesting question in Ted's blog posting:

Who owns a language and therefore influences its direction?
Is it Anders Hejlsberg who owns C#, is it James Gosling who owns Java and Matz for Ruby? Do they really move these languages forward or just try to copy features from language A to language B?

That's like Mrs Merkel deciding about adding new phrases to german language or Mr. Sarkozy deciding about new words in a french dictionary.

The question for Smalltalk is easily anwered: it is YOU. Everything is open and therefore easy to change. You have full control.

I tell you a little secret: Smalltalk is no a language by default, it's just a dynamic object system. Since anything in the world is an object you can easily bring it into this system. That's where its power comes from.

Smalltalk as a language is just mapped to this object system. The language is just composed of objects and methods and like any other part of the system changable and extendable.

Want to have an example: you need a repeat-until control structure (which is not there by default), just add a #repeatUntil: message to the block class. If others find it usefull this may take it's way to one of the standard images (predefined object worlds). But even if it gets not accepted by a broader community you can easily have it and manage it on your own...

You have a common nominator (called Smalltalk ANSI Standard), but if required you can speak your own dialect (Smalltalk with Namespaces, Smalltalk with Traits, ...) - if the dialect gets a wide interest it may survive.

Next question is who influences the ANSI Standard ;)

Friday, February 08, 2008

My kingdom for a Smalltalk block

Ever looked at the source code of the LivelyKernel, especially to Core.js:


applyFunctionToShape: function() { // my kingdom for a Smalltalk block!
var args = $A(arguments);
var func = args.shift();
func.apply(this.shape, args);
if (this.clipPath) {
console.log('clipped to new shape ' + this.shape);
this.clipToShape();
}
this.adjustForNewBounds();
}.wrap(Morph.onLayoutChange('shape')),

Lively Kernel talk at Google

Dan Ingalls did a Lively Kernel demo at tech talk at Google.

Click here to see the video.

Maybe this is the next thing after these "AJAX/DOM/DHTML stuff with multibrowser testing" to get a decent ui running in the web browser ...

Thursday, February 07, 2008

Interesting Testrunner

Test driven development using a stoplight (or golight), another feature invented in Smalltalk: Read more. ;)

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.