Wednesday, December 23, 2009

Seaside XUL video

Pavel created a short demo video of Seaside XUL using Pharo.

XUL is the user interface markup language that Firefox and applications based on XULRunner use for the user interface.

As I already reported there are also old screenshots available.

Monday, December 21, 2009

Squeak DBX and Firebird

SqueakDBX now inludes support for the Firebird (former Interbase) database. Read more here. Now the project also uses Metacello Configurations ...

Monday, December 14, 2009

3D Curved Spaces in Smalltalk

Nikolay Suslov announced the first version of Collaborative Curved Space
Explorer SDK. It is based on Croquet and allows you to explore the structure of curved spaces in 3D.

You can read more about it on his blog.

Saturday, December 12, 2009

Smalltalk Medicine Show

The Smalltalk Medicine Show is now available on Youtube. It includes videos on Squeak/Pharo Smalltalk, Seaside, iPhone Development with Smalltalk, ...

You should have a look.

Wednesday, December 09, 2009

Gofer and Git

Gofer is a small tool on top of Monticello that loads, updates, merges, diffs, reverts, commits, recompiles and unloads groups of Monticello packages. If you work with Pharo or Gemstone you may already know it.

Interesting that in the newest version you get git like behavior where you can pull published packages into the local cache. If you work offline you can later push your changes easily back into the repository. Read more here.

Monday, December 07, 2009

Thursday, December 03, 2009

Continuous Integration Server for Pharo

Continuous Integration is discussed on the Pharo list. One possible solution is to use Mason. You can download it here and read a short overview here.

"Mason is a very flexible system, it has infrastructure to build
images, build SAR archives, build documentation, load Monticello 1 and
2 packages, load Metacello configurations, run tests, run code critics
and execute arbitrary scripts, etc."

Thursday, November 26, 2009

Helvetia - embedding languages

You will find language extensions in any of the newer "mainstream" programming languages. Architectures like Java EE now rely heavily on features like annotations, JDK 7 may possibly also include closures.
You can embedd LINQ in C# 3.0 and so on ...

Creating Domain Specific Languages (DSL) is also getting more attention these days.

Since Smalltalk is defined in itself using objects and messages it was and still is easy to change and extend not only the system and tools but also the language itself.

Here Project HELVETIA is a new and lightweight approach to embed new languages into the host language. Even domain specific languages - demonstrated by a roman numeral example allowing you to easily write:

self assert: IV + I = 5

in an SUnit test.

Lukas provides an image you can play with and will talk about it on Smalltalk/Ruby BlockCamp in Paris.

A glimpse of Glamour

Nice overview from Tudor Girba on the Glamour browser framework.

Wednesday, November 25, 2009

Friday, November 20, 2009

More Seaside web applications

Another new application that is based on the Seaside web framework is It is based on Pharo.

"Shrink wrapped" product solutions with Pharo

Gary Chambers is the creator of the Polymorph project - a skinnable UI look currently supporting Watery, Vista, Old Squeak and Windows 2k look.
It is available for Squeak and the default for the Pharo image.

Gary (or GazzaGuru) works in a company called Pinesoft and he posted some new screenshots of their latest application built with Pharo. Read more here and here.

BTW: If you want to customize the Squeak VM for an own Smalltalk based product I've created a short howto which is (thanks to Andreas) now available on

Scratch featured in “Communications of the ACM”

First a short story:

While travaling this summer I met two IT teachers in a german train discussing about an interesting piece of software their kids have found on the web. They wanted to use it in school since the kids love it. They complained that there was not enough time in school to check out interesting new things like this and that the regular german study plan contains only the boring stuff so kids mostly turn away from programming. To them it was a revolutionary approach and kids loved playing and working with this software (mostly after school). It was not a game - it was a software to build, explore and simulate ideas and share them using projects.

To my surprise they talked about Scratch and after a while I was part of the conversation. I explained that it was built using an open source software called Squeak in a programming language called Smalltalk, told that that there is more to discover and pointed them to, the OpenCroquet 3D environment and the german squeak e.V. (an organisation to make Squeak also known in school). They definitely wanted to checkout all the websites I wrote down on a small piece of paper...

And now the news:

Meanwhile Scratch has more and more interest from people all over the world and is now also featured in an article in the “Communications of the ACM”. Squeak new knows more about this.

Image full of Smalltalk images

Back when I was a student I asked several Smalltalk vendors to provide a version of their Smalltalk to put on a CD so people could start learning it. The GSUG Smalltalk CD was born which we handed out on conferences. VisualAge was not included since it was too large for one CD.
Later this concept was used for an ESUG CD too.

Times and hard disk space have changed and now James reports that Marten Feldmann has put together a virtual box image with several Smalltalk versions. Go check it out.

Tuesday, November 17, 2009

Redline Smalltalk

SmalltalkJVM - another project to run Smalltalk on the Java VM is now called Redline Smalltalk. The project was created by James Ladd, you can read more here and watch the progress on twitter.

Monday, November 16, 2009

Event driven Squeak VM

Andreas is experimenting with an event driven Squeak VM prototype. - Exploring Smalltalk source code

Ernest is playing with Seaside again and created a Smalltalk to navigate through documentation and source code. Read more here.

Squeak and Pharo Smalltalk on the iPhone

With the SqueakVM running on the iPhone you can now use both Squeak and Pharo to develop iPhone applications. If you want to know more about the Pharo path in iPhone development you should visit the Smalltalks 2009 conference, especially the talk about Deimos.

Thursday, November 12, 2009

Squeak threaded VM

Eliot gives some details on the threaded Squeak VM he is working on and how it is inspired by David Simmons work. You may know David from Smallscript/S# - a very impressive system that unfortunately is not an active project anymore (as it once was) and never made it to the market.

Tuesday, November 10, 2009

Monday, November 09, 2009

Smalltalk in the Netherlands

Found some pictures from the "Devnology Community day" from November 7th. Can you spot the pharo Smalltalk screenshot?

And it looks like Ernest is working on the cloud again.

Adriaan has some more news:

Wednesday, October 21, 2009

PDF creation in Smalltalk

Back in 2008 I created and published a Smalltalk binding for the
free Haru PDF library. With the package it is fairly easy to generate PDF documents from Squeak and Pharo.

The code is available at

It is also mentioned on the seaside website as one
alternative for Smalltalk PDF generation (beside others).

It looks like Georg's company now had the same idea to wrap
this library, they created a new product called PDFPrinter.
Looks like they have a deeper integration into the VisualWorks
printing system for their customers.

However - generating a PDF programatically is still a lot of work. What is still missing in Smalltalk is a counterpart to Java's JasperReport or BIRT with a more WYSIWYG editor like systems and PDF creation by mixing templates with data...

Smalltalk 2009 website

The Smalltalk 2009 conference website is up. Looks like it is driven by the Pier CMS (which is also written in Smalltalk using Seaside).

October Pharo Sprint

Damien Pollet has some photos of the Pharo Sprint in Lille, France (scroll down to the last two rows).

Monday, October 19, 2009

Let the objects flow

Adrian's PhD thesis on Object flow analysis was awarded with the Ernst Denert-Stiftung Prize. The paper is available online.

Object Flow analysis is an approach to track how objects are passed through an OO system at runtime. It is discussed with the Smalltalk bytecode compiler as a case study.

Free Book - Pharo by Example

The new "Pharo by Example" book is now online:

Tuesday, October 13, 2009

SqueakDBX 1.1

SqueakDBX 1.1 (an open source solution to access relational database) is out.

Mainly it consists of a plugin which will allow users to perform relational database operations through an open source library and a GLORP integration. It currently works on Squeak and Pharo and is now also ported to Dolphin.

Currently it hs support for MySQL, PostgreSQL, Oracle, SQLite3 and MSSQL Server on Linux, Mac and Windows.

The official site is but due to a DNS problem it is currently only available at:

Monday, October 12, 2009

Friday, October 09, 2009

Aconcagua & Chalten for Pharo

Aconcagua (a model for units, see docu) and Chalten (a model of the Gregorian Calendar, see docu) are now Pharo compatible.

Read more here.

Tuesday, September 29, 2009

Raphael goes Seaside

Gerhard Obermann announced a seaside wrapper for Raphael - a small JavaScript library that should simplify your work with vector graphics on the web. Code is available at:

Its tested with the latest Seaside 2.8 distribution. On request he could also port it to Seaside 3.0.

Monday, September 28, 2009


Hernán Morales Durand announced "STicky" - a pluggable real-time evaluator and/or translator workspace aimed to learn languages.

You can watch the intro video here and read more here.

Thursday, September 24, 2009

Wednesday, September 23, 2009


Any web developer knows that it is hard to use new web technologies like the HTML5 canvas tag in Internet Explorer. Even with iecanvas project.

I think this is a problem for webapps these days and especially for Google who really want to people moving from the desktop (mostly Windows) to the web for daily work.

Google now released a plugin for IE to use the Google web browser ("Chrome") technology and their JavaScript engine right from within Internet Explorer.

Lets see how this affects the future of the web...

Tuesday, September 22, 2009

Squeak on Dr. Dobb's

Chris Cunningtons Smalltalk TV (I reported already on this) is now mentioned on Dr. Dobbs.

UGP / SecureSqueak 0.1

Michael van der Gulik announced his "Unnamed Grand Project". It is based on Secure Squeak (a custom Squeak with code loadable into a sandbox) and provides an environment similar to a webbrower.

But instead of loading HTML, the user will interact with distributed objects. There is also a video available together with a first snapshot download.

You can read more here.


Snarl is a small utility showing messages from different applications in the corner of your windows desktop. Meanwhile there are also interfaces for Smalltalk:

- Squeak/Pharo
- VisualWorks
- VisualAge

Sunday, September 20, 2009

Etoys 4 release candidate

Timothy Falconer announced the Etoys 4 release candidate. Beside fixes and small improvements it is now also fully "license clean". Squeak Smalltalk and descendants continues to grow...

Thursday, September 17, 2009


A new Smalltalk is in town: GwtSmalltalk (GST).

It is built using GWT (Google Web Toolkit) and deployed on Googles App engine. By compiling Smalltalk to JavaScript it is able to run in your webbrowser. Read more on the projects blog.

You can directly run it here.

I agree with James that it looks like Peter Fisk is the creator of this Smalltalk-80 derivate according to the announcement post on c.l.s. You may know him from his work on Vista Smalltalk.

Linus and old C++ friends

Funny, read more here (and especially all the comments) and dont miss the original post from Linus.

I especially like this part:
"Have you ever browsed the Boost library? Just building the thing requires a Ph.D. in compiler technology."

Why? Because I know one of the boost developers in person from our former company called "Phaidros" and I cant remember he had a Ph.D. in compiler technology. But one can write "hard to understand" code in any language, even Java, C# and Smalltalk ;)

Dietmar now works in GB and is still a crazy C++ guy. He once wrote an X11 server displaying on a Synaptics cPad while we were in Frankfurt and a minimal C++ Runtime Library. Crazy but cool...

Wednesday, September 16, 2009

Krestianstvo SDK - Russian Smalltalk

There is a new project by Nikolay Suslov called "Krestianstvo SDK" built on top of OpenCroquet SDK. The project is targeted at native russian speakers and integrates well know packages like Seaside, OMeta, ...

More infos also on the following blog post.

The interesting thing is this:
"All new source code will be written on native spoken language (Russian), as possible also."

I typically tend to write my code in english but I worked in "mixed language" projects too. Maybe our object oriented systems should switch to GUID's/UUID's to identify classes like it was possible in Smallscript/S# or in COM. This would allow for internationalization of class names. And allow class versioning too.

Just an idea ;)

Facelifting Smalltalk

The Pharo Smalltalk distribution now includes Polymorph - a UI framework with theming including Vista, Windows, Squeak and Watery look. The default Squeak look is/was not very attractive.

But facelifting of the default Squeak UI in the trunk development stream is now also discussed on the Squeak developer list.

And Cincom Smalltak got a facelift too with a fresh UI for ObjectStudio and VisualWorks.

And VisualAge Smalltalk provides modernized browsers.

Tuesday, September 08, 2009

AlienOpenGL binding for Smalltalk

Fernando Olivero released a new OpenGL binding framework called "AlienOpenGL" for Pharo and Squeak implemented using Alien.
Alien (IA32ABI plugin for the Squeak virtual machine) is a new foreign function interface framework currently in preparation to extend the existing FFI.

The AlienOpenGL framework provides an interface to the 3D OpenGL graphics system, for producing 3D graphics in Smalltalk using OpenGL functions and extensions.

Thursday, September 03, 2009

ESUG continues

You could not make it to ESUG 2009 conference. Dont be sad.

Sure you miss a lot of cool stuff, new ideas around Smalltalk and interesting presentations. (BTW: the presentation material is now also up on

James also collected pictures and presentions and I'm sure there will soon be some videos from Damien available online.

And there are really exciting news: ESUG 2010 will be held at Barcelona.

Dont ask me where I got this information from but it is a reliable source. It is not yet public so even when you are not there you may be the third who now know about it. :)

Wednesday, September 02, 2009

MVC - Squeaks Smalltalk 80 roots

Building a custom Squeak Smalltalk image is easy these days. Have a look at Pharo or Cuis.

Interesting enough Sungjin Chun created an MVC only image (yes without Morphic) based on Squeak 3.8 in the style of the original Smalltalk-80. You can download it here.

Tuesday, September 01, 2009


Claus Gittinger (creator of Smalltalk/X) was already able to run Java on his unified virtual machine (see this paper). Thats nothing new.

But it looks like Smalltalk/X is now also able to run Ruby. The project is called SmallRuby - an implementation of Ruby programming language for Smalltalk/X virtual machine done at the Department of Computer Science and Engineering Czech Technical University In Prague.

According to the website the results are amazing. For example, in methodCall benchmark, SmallRuby is 40 times faster than Ruby 1.8. SmallRuby exception handling is much slower than in YARV (Ruby 1.9), but still faster than Ruby 1.8 a JRuby.

There is a presentation available and there are already some news about it available from ESUG 2009.

Book: Dynamic web development with Seaside

The new seaside book is online:

Have fun!

ESUG 2009 Media

You want to know how you can use Smalltalk to go by bus?
You want to know how Smalltalk is used in the oil industry?
You want to know how you can boot Smalltalk on netbooks?
You want to know more about the currently running ESUG 2009 conference?

Then you should follow this link.

Sunday, August 30, 2009

Steve on Smalltalk

Stephan B. Wessels is a long term follower of Smalltalk and contributor to Squeak. On his blog "Plum street" (which has a nice design BTW) he shares some thoughts on Smalltalk and software development in general. A must read.

ESUG 2009 starts

ESUG 2009 conference in Brest, France will start tomorrow. Adriaan provides first pictures on his website from the Camp Smalltalk.

Avi Bryant on Trendly, Ruby, Smalltalk and Javascript

Interesting interview with Avy. Did I mention that (beside he already built a new website called

He also announced Clamato this week (a smalltalk dialect for javascript).

Thursday, August 27, 2009

Smalltalk in the Navy

According to this news the Navy is using Qwaq virtual worlds which is built using Squeak Smalltalk ;)

Some infos are also up on the company website.

More on Magma

Following my lates post about Magma High availability there are more news from Chris:

"Magma R42 is now running in production at a
tier-1 mobile carrier performing real-time, nationwide call control
for a crucial location-aware voice and SMS application.

Magma passed the operator's high-availability requirements and
disaster-recovery fail-over test on the first attempt."

Tuesday, August 25, 2009

Dolphin Smalltalk Next Generation

Were getting closer to September ... would be interesting if the community will get more informations on the announced DNG (Dolphin Smalltalk Next Generation) beta release - (see here) about the DNG startup workshop in Tarvisio, Italy.

What is Dolphin Smalltalk Next Generation: easily said it is Dolphin Smalltalk (a very interesting Smalltalk derivate for windows) now running on the LSW virtual machine from Frank Lesser. AFAIK the first version will be a Dolphin 6 running on the new VM including with support for FFI and a pluggable JIT.
The new image should also be split up into many self contained "mini-images" (SLL's).

The last info I got was from here and there.

Interesting times ...

Saturday, August 22, 2009

Smalltalks 2009 Conference Argentina

Andres announced "Smalltalks 2009" - the third Smalltalk Conference of Argentina.
Read more here.

Friday, August 21, 2009

Magma High Availability

Chris announced release 42 of Magma, a multi-user object database written in Smalltalk. Beside Squeak this new release now also runs on Pharo which was already discusses on the Magma mailinglist.

But it is more interesting that a single logical repository can now be served from multiple servers simultaneously (each with an own copy). This introduces high availability which is explained in detail here.

Monday, August 17, 2009

Hardware programming the easy way with Smalltalk

An interesting demo video on how to control hardware using
the Squeak EToys scripting system by interfacing with
a microchip (PIC16F877A MCU).

SqueakFest News

You want to know how Smalltalk is used in Nepal or get some news about Eliots new virtual machine for Squeak. Then visit the squeakland site with new videos from the Squeakfest Brazil and USA.

Friday, August 07, 2009

Remote Control on Seaside images

When you want to remote control a headless seaside webserver image
(pharo or squeak based) you may want to choose VNC. There is a package already available called RFB (Remote Frame Buffer).

Miguel tweaked it a little bit these days. Read more here and here.

Cog status and FFI directions

Some update on the status of the Cog VM from Eliot. Nice.

Thursday, August 06, 2009

Custom applications with Smalltalk

Before deploying a custom application/product written in Smalltalk
(here Pharo and Squeak) you may want to adapt your Smalltalk environment or even build a custom virtual machine. No fear ... it's easy.

I've written a short HOWTO that is now up on

There were others who tried to learn about Squeak's deployment possibilities -
like Jens Moenig with his Sudoku solver and Geneator which was also packaged as executable. But I hope this short docu will help others to easily build products with the current state of these free and open source Smalltalk implementations.

BTW: The Squeak Win32 VM now also has support for large cursors ... so when you write a game even the cursor is changeable.

Sunday, August 02, 2009

OpenVG - vector graphics for Squeak and Pharo

You want to use vector graphics from Smalltalk? Igor Stasenko
the availability of OpenVG for Squeak and Pharo.

How to use it:
- download the pharo Win32 installer and run it
- in the monticello browser (World menu -> Monticello Browser -> Repository) add as HTTP repository and load OpenVG-Base, OpenVG-Tests and OpenVG-Demo

- download the plugin (OpenVGPlugin.dll) and save it in the virtual machine/installation directory
- download the library for the engine to use (for instance libOpenVGSH.dll for the ShivaVG OpenVG engine) and save it in the virtual machine/installation directory

Now you can evaluate:

OpenVGAPI loadLibrary: 'libOpenVGSH.dll'.
OpenVGAPI initContext.

"Next, run some tests"
VGUTests new display.

"Next run a tiger demo"
VGTigerDemo runDemo

Pharo 1.0 beta

Time moves on and now the 1.0 beta image for the Pharo project is released.

I've built a win32 setup for easy installation. The installer is now also available at

Tuesday, July 21, 2009

Pharo success stories

The Pharo distribution of Squeak Smalltalk is already used in production environments although the first release version of Pharo (1.0), is still under heavy development.

There is a discussion on the mailing list and Adrian started a list with a few success stories so far. Not bad.

Since Pharo is now also the base for Seaside development and the base for the free Pier CMS system we can expect more to come.

Young programmers win big

Hey - if you havent already it is now time for you to have a look at Smalltalk environments. Even children from the age of four are able to create applications with it (with the help of EToys) and win contests ;)
Read more here and here.

Sunday, July 12, 2009

Next generation of Smalltalkers ... (Part II)

Sorry for not updating the blog ... my time is very limited these days. But I have a good reason. Do you remember my post from October 2007? Hey since 4.50am this morning Elisa now has a little sister. Welcome on eath little Romy!

Sunday, July 05, 2009

Old Squeak News

Once upon a time ... there was a news magazine based around Squeak Smalltalk which was devlivered as a CD-ROM. Maybe you remember the September issue including the declared Squeak "birthday" or the October issue on "Powerful Ideas in the Classroom".

The old sites and are now obsolete (and the news have a nice replacement with

However whats the new thing I want to share here: Tansel made the old issues available for download.

Wednesday, July 01, 2009

PhidgetLab - connecting Smalltalk with the real world

If you want to access Phidgets from Smalltalk have a look at the PhidgetLab project from HPI. A Phidget is a sensor and actuator that can be connected to a PC via USB and is now easily programmable from within your Smalltalk image.

Tuesday, June 23, 2009

Pharo MIT license clean

After months the pharo distribution of Squeak is now license clean. See the official announcement on the pharo mailing list. Great, thanks to all who helped.

Sunday, May 24, 2009

Internet Ray Tracing Competition and Smalltalk/Seaside

If you are interested in computer generated graphics you may know POVRay (Persistence of Vision Raytracer). It's a a free tool to create high-quality computer generated images and animations using raytracing. This tool has its roots in DKBTrace - a program written by David Buck.

You may know David from the "Simberon Design Minute" on the "Industry Misinterpretation" Podcast series. His original DKBTrace (and even the modern POV-Ray) benefited from some object oriented ideas taken from Smalltalk.

David (who is very active in the Smalltalk community) now announced that he rewrote the Internet Ray Tracing Competition website using Seaside and VisualWorks Smalltalk.


Tuesday, May 19, 2009

Pharo Preview Setup for Windows

Even if the pharo distribution of Squeak is still in the alpha stage I already created a simple setup with the lates dev-image from Damien so pharo is easily consumable by Windows users. It should now be easy to start without having to know where to get the image/changes file, the sources and the latest virtual machine.

I've used NSIS installer for the setup and the nice logos provided by Samuel.
The whole process is described here and here in case anyone wants to build an own custom virtual machine for a distribution or commercial application.

You can download the setup.exe here. Use at your own risk and note that the pharo community has some more bugs to fix ;)

Thanks to all for making this possible - with the pharo distribution Squeak now really has stopped looking toyish. Only 10MB download for a complete world full of Smalltalk :)

Friday, May 15, 2009

Smalltalk TV beta

How cool is that: Smalltalk has an own (commercial?) TV station:

Thanks to Chris Cunnington, expect more to come.

Monday, May 11, 2009

Meteoroid, a MVC framework for the web using Comet

Lautaro Fernández announced the first beta version of Meteoroid, a Comet-based framework running on top of Seaside.

It allows you to create "live" web application in a few steps - you can trigger changes to connected web browsers by using an observer-like mechanism. Each time the model changes, an announcement is triggered and data being pushed from the server to a special div in the browser.

There is
- the project page
- a prepackaged download based on the VisualWorks VM and image
- a screencast how to install the project yourself

Just start the image with the virtual machine executable and start two or more browsers on http://localhost:8080/seaside. Anytime you change (for instance the shared counter application) the other browsers will update. Nice ...

Wednesday, April 01, 2009

Reserved keyword conflicts

JavaFX - the latest hype on the language market. But not without trouble.

"insert" and "delete" are new JavaFX keywords - so they conflict
when you will try to call a Java method
with this name. But there is help - this time use double angle brackets. So yet another thing to remember ...

Thats why Smalltalk is so much better - it is simple and consistent without all these "language workarounds". Your brain is free to care about solving the problem - and not busy remember all language possibilities or busy satisfying the compiler.

And I tell you a secret: Smalltalk is not a language - its a dynamic object system with the language built in...

Thursday, March 19, 2009

Browse the code vs. RTFM

There are many reasons to fall in love with the keyword message syntax and dynamic type system of Smalltalk.
One reason is that (depending on appropriate names) you easily understand the intention of a method. If not you can easily find out by browsing the code.

In the non-Smalltalk land you have to spend your time reading api descriptions. And you will find horrible examples like this. Just scroll up and see how many ways there are to set an attribute ;)

Thursday, February 12, 2009

Smalltalk in Barcelona

There is a new website on Smalltalk managed by the
Software Dept. of the Technical University of Catalonia

It was announced by associate professor Jordi Delgado who
gives courses in Smalltalk and Botsinc.

The site is powered by Pier CMS and language is catalan.

If you havent already you should check out the video on
Alan Kays OOPSLA talk on "The Computer Revolution hasn't happend yet"
which is included in the site.

Wednesday, February 04, 2009

Pier CMS 1.1

Release 1.1 of Pier is available. Easy to install:

- download
- start the executable VM
- go to http://localhost:8080/seaside/pier

So you have a Smalltalk based CMS within a minute.

Whats new: several fixes and it is now based on the Pharo distribution of Squeak.

If you are interested how Squeak development can look these days then open the browser within the image. It includes the new UI look and OmniBrowser with new icons, eCompletion and syntax highlighting.

BTW: if you are on Windows you have to select "System" -> "Preferences" - "PreferenceBrowser" -> "general" -> "swap mouse buttons" to get the right click menu again since the image was built on Mac.

Tuesday, January 27, 2009


Adriaan van Os announced the website today. It's written in Seaside 2.9 alpha 1 running on VisualAge Smalltalk V8 Beta1.

The application enables browsing, downloading and uploading of Envy Configurations Maps.

Ambrai Smalltalk for Mac

David Buck spoke to Dorin from Ambrai and reports that they have picked up development of Ambrai Smalltalk after a hiatus and are planning a future release.

There will also be a presentation on Ambrai Smalltalk in the spring at the Ottawa Carleton Smalltalk Users Group.

Tuesday, January 13, 2009

Rounding in different environments

Again, take care when working in multiple environments:

In Excel you get:

ROUND(4,4245;2) -> 4.25
(depending on a preference setting)

in Oracle you get:

select round(4.245, 2) from dual -> 4.25

in VB6 one gets:

Round(4.245, 2) -> 4.24

But you can use:

Function RoundHalfUp(number As Double, scale As Integer) As Double
RoundHalfUp = Int(number * 10 ^ scale+ 0.5) / 10 ^ scale
End Function

In Java you can directly use BigDecimal or the following utility for doubles:

* Rounds the given value half up.
* @param value the value to round
* @param scale the scale to use for rounding
* @return a new rounded BigInteger instance
public double roundHalfUp(final double value, final int scale) {
return new BigDecimal(Double.toString(value)).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue();

In JavaScript the Math.round() has no scale, so again we use simple math:

function roundHalfUp(x, n)
var a = Math.pow(10, n);
return (Math.round(x * a, 0) / a);

Sunday, January 04, 2009

Cloud Computing ... in Smalltalk

Jan van de Sandt announced "Cloudfront AWS" - a new open source project he is developing together with Ernest Micklei. The code provides easy access from Smalltalk to the Amazon Web Services for cloud computing.

It's nice to have Ernest back in Smalltalk - on squeaksource he states: "Smalltalk is coming back, so am I".
I once worked with him as a consultant and enjoy his ideas like Teachable Objects.

For Smalltalk he typically used VisualAge - but I gave him an update on Pharo, Squeak dev tools and Seaside29 in December and it is nice to see that they now choose Squeak as the first platform for their new project and port to other ST dialects later.

Expect to see more interesting things on the new blog, especially since both of them seem so fascinated by Smalltalk that they even commited code to squeaksource on the christmas evening ;)