Sunday, November 28, 2010

JQuery widget box project

You ask why I started the jQuery widget box project for Seaside. Just read this mail conversation ;)

Feel free to help wrapping more interesting widgets to enhance your seaside app.

Shrinking tool for app deployment in Pharo

Gerard (known as "nullPointer" and author of the Pharo UI Buidler) made a video available on a shrink tool for Pharo. Nice!

It's part of his CLFramwork (which is available in an open source version as UIBuilder).

Friday, November 26, 2010

Microsoft Kinect sensor and Smalltalk

Nikolay Suslov has the Microsoft Kinect sensor connected to his Krestianstvo SDK (which is based on Squeak/Croquet. Read more.

This opens a whole new space of applications ... and it is interesting to see whats already possible these days.

Thursday, November 25, 2010

Reading EXIF from pictures

Alexander Lazarević announced a new project to read Exchangeable image file format informations. This allows you to read EXIF information like the image description, camera model, ... from TIFF or JPEG images.

Code with MIT license is on SqueakSource.


Found a screenshot of an app that is built using VisualWorks Smalltalk. Why? Look at the icon and the tabs ...

FSUG Meeting

... about "GLASS ~ GemStone - Linux - Apache - Seaside - Smalltalk" with Norbert Hartl today.

Wednesday, November 24, 2010

Scripting with Pharo Smalltalk

The "Coral" project (formerly known as "Saphir") is a way to use Pharo Smalltalk for scripting on the shell.

The packages got updated with more support for displaying in a Unix console. Nice!

Tuesday, November 23, 2010

Seaside master scripts

Just a short reminder for myself: the master scripts for the Seaside 3.0 image and others can be found here.

Wednesday, November 17, 2010

WebTester ported to Gemstone

The Seaside WebTester (a project that is able to test web applications using Selenium) is now also available for Gemstone. Read more here.

Tuesday, November 16, 2010

Monday, November 15, 2010

ThinkCode TV also provides videos on Smalltalk

Beside Laurents Pharocasts and the "Smalltalk 4 You" series from James (both free) there is now another site (ThinkCode TV) providing introduction videos on Smalltalk.

Davide Varvello (creator of the site) provides this as a commercial offer, but as he notes you can get them for free if you follow his twitter account.

Tuesday, November 09, 2010

Measure memory consumption

There is a project called Spy on Squeaksource including a profiler
to keep track of memory consumption for Pharo/Squeak.

Alexandre has more infos on this including a paper explaining the idea.

Sunday, November 07, 2010

The next milestone reached!

Pavel was able to load the the rest of PharoCore packages into the PharoKernel image. Yet another step regarding the modularization of Pharo. In the end the goal is to be able to build the current Pharo image on top of the (headless) Pharo kernel image.

Simple morphic

There is a redesign of Morphic called "SimpleMorphic" available. More details here.

Wednesday, November 03, 2010

More RUT-K infos

Interesting ... I've found a paper on RUT-K, a train scheduling system written in Smalltalk which I helped to develop as a Smalltalk consultant (I already wrote about it here). It is used by german railway for schedule planning.

The paper is in german and contains two screenshots of the application (page 6 and 7).

The web contains even more info like

RoarVM - Pharo and Squeak on multicore

How cool is that, IBM made the RoarVM available as OpenSource on Github:

"RoarVM, formerly known as the Renaissance Virtual Machine (RVM) is developed as part of a IBM Research project to investigate programming paradigms and languages for manycore systems of the future. Specifically, this VM is meant to support manycore systems with more than 1000 cores in the future.

The RVM was open sourced by IBM Research under the Eclipse Public License. Please see the open source announcement for further information.

Today, the RoarVM supports the parallel execution of Smalltalk programs on x86 compatible multicore systems and Tilera TILE64-based manycore systems. It is tested with standard Squeak 4.1 closure-enabled images, and with a stripped down version of a MVC-based Squeak 3.9 image."

It is compatible with Squeak 4.1 and Pharo 1.2, has full closure support and was
tested with 8 cores, 16 hyperthreads on Intel systems/tested with 56 cores on Tilera TILE64/TILEPro64 processors.

Tuesday, November 02, 2010

Accessing Twitter from Pharo

It's easy to access and display Twitter messages using the Pharo Smalltalk system with the JSON package and my help system implementation.

Still I dont know how to get the correct channel hash for the Pharo project...

Comments appreciated!

Long bug fixing

Funny ... it took five years to fix this issue in hibernate.

Using ODBC in Pharo

Want to use ODBC to access a database in Pharo or Squeak? Thats easy since there is a package originally developed by Diego Gomez Deck and meanwhile updated in Squeaksource.

Use my metacello config script to load ODBC support and start with ODBCConnection class.

For further help you can consult the (outdated) documentation.

Maybe Laurent could do a pharocast on it.

OB-Web - JavaScript/AJAX/Smalltalk server example

Anything goes web ... even IDE's like Eclipse (see Eclipse e4).

"Smalltalk labs" has implemented an enhanced web based code browser for the Seaside web framework for Smalltalk. Compared to the standard web based browser tool that comes with the Seaside web framework the one from Smalltalk labs uses AJAX to navigate through the browser which means it feels more like an application than a website.

Coding directly in the webbrowser is still cumbersome - so I prefer the Smalltalk based browser installed in the image and only use the web tools when I have to check an image remotely.

However ... since browsing Smalltalk directly in the webbrowser is easy to do Lukas today updated the packages for "OB-Web" to use OmniBrowser (the Smalltalk browser used in Pharo) to be accessible from a webbrowser too.

Just download Pharo 1.1. and follow the simple instructions to run it and see yourself.

Browsing the code you will find out that it is a nice example how to use the Comanche webserver (KomHttpServer) to write own web based services. It's also a nice example for AJAX communication between client side JavaScript and server side Smalltalk code using JSON.

Some hints for checking out the code:

  • "OBKomHttpService startOn: 9090" starts the app on the given port so you can navigate to http://localhost:9090
  • OBKomHttpService also adds logic for startup/shutdown at image startup/shutdown
  • in the superclass OBHttpService there is (depending on the web path) a launcher created (see OBWebLauncher>>contents for the generated HTML page)
  • the page uses http://localhost:9090/library/link.js and http://localhost:9090//library/launcher.js where the first one is responsible for the XMLHttpRequest (AJAX)
  • both scripts are served by Smalltalk as well (see OBLinkFile and OBLauncherFile)
  • the AJAX requests are handled in OBHttpService>>processAjax:for:
  • subclasses of OBInteractionRequest handle requests like menues, etc.

Really cool example for JavaScript/Smalltalk combination.

Pharo Kernel and Small(talk) webserver

Pavel continues with his work on a small Pharo Kernel.

The latest release not only contains a headless 2.2 MB image but also a small 3MB image with KomHttpServer. See yourself.

Download the image, start "PharoKernel-KomHttpServer-1.2-12226.image" with your Pharo virtual machine and point your browser to


to get a simple HelloWorld response.

3MB for a tiny Pharo Smalltalk based web server - not bad!

Work on Opal continues

The work on Opal (a new compiler for Pharo) continues.
If you want to get more details on Opal read this summary from Jorge. You can also grab an image here.