On these days, a strong community is growing using Node.js, a web server “Evented I/O [Web application server] for V8 JavaScript“. Node.js sposts a non-blocking architecture which can lead to very fast server, able to process a lot of request with a single thread.

So a lot of the optimization which let Smalltalk and Java shine, are used in the JavaScript field nowadays. It is a simple “accident” :) ?…or it is destiny?

JavaScript rocks? There is plenty of documentation all around, even if the first ECMA specification was quite unreadable in my humble opinion :) There are some optimal guidelines for JavaScript module writing, for instance see the manuals on JQuery plugin development. But in JavaScript you are still a free player if you wish: no rule, no even need of structuring your code in some way:

var sith={}

sith.name=”DarthVader”;

sith.name=function(){
return “Nevermind, I am a function, now”;
}

The code above builds a very generic object, and add to it properties (which could be a function).

Worst, you get very strange things, evaluting:

[1,2]+[3,4]

you got:

“1,23,4”

This because “+” is not supported for arrays, so the JavaScript language is effectively doing…

([1,2]+””)+[3,4]

I like dynamic languages like Self, but this is somewhat too…flexible :)

21 June, 2008

JSqueak (formerly known as Potato) is less than 5000 lines of code, available under the MIT licence. It runs the Mini2.1 image, which is included for convenience. This image contains a complete Smalltalk development environment, including:

Rich text and Text editor

File browser (no file access in VM yet)

Code browser

Decompiler (plus temp-name hints)

Compiler

Source Code Debugger

Dan wrote JSqueak to teach himself NetBeans and Java in the fall of 2006. Although he developed it as a throw-away project, he notes that

it has features that recommend it for further useful service:

It is simple

Uses Java objects and storage management

Uses Java Integers for SmallIntegers

It is general

A weak(*) object table enables enumeration and mutation

It is efficient

Includes a method cache and an at-cache (**)

Also a cache of common SmallIntegers

(*) – This does not mean wimpy — it’s a good sturdy object table — it just doesn’t hold onto garbage.
(**) – This is not an automated teller machine, but a device that speeds up array and stream access.

These properties make it a reasonable base for teaching about VM design.

Dan adds that a number of things should be finished or improved if this VM is to see further use – it currently runs between 10 and 30 times slower than the C-based VM! If you wish to track or contribute to such projects, he invites you to add yourself to the (brand new!) JSqueak Interest mailing list.

You can find out more, and run the application as a WebStart Java Application at the JSqueak home page.

29 May, 2008

“Dan Ingalls graciously granted me a 90-minute interview for my FLOSS “Weekly”
show. We talked about the early days at Xerox PARC, the birth of Squeak,
and the Lively Kernel.”

Dan Ingalls has been the principal architect of five generations of Smalltalk environments. He designed the byte-coded virtual machine that made Smalltalk practical in 1976. He also invented BitBlt, the general-purpose graphical operation that underlies most bitmap graphics systems today, as well as pop-up menus. He has received the ACM Grace Hopper Award for Outstanding Young Scientist, and the ACM Software Systems Award.

Dan’s major contributions to the Squeak system include the original concept of a Smalltalk written in itself and made portable and efficient by a Smalltalk-to-C translator. He also designed the generalizations of BitBlt to arbitrary color depth, with built-in scaling, rotation, and anti-aliasing. He worked with John Maloney to produce much of Squeak’s Morphic and MVC frameworks, as well as its audio support. Dan is currently a member of the Squeak Board.

9 March, 2008

For this year we had 437 authorized voters of which 178 voted, that is
slightly more than 40% voting – a bit disappointing IMHO since we had
157 voting of 347 last year which gives above 45%.
On the other hand 178 is more than 157, so we had more voters and thus a
growing community, which of course is the most important aspect!

And without further ado I bring you the board for the following year
starting from NOW. The order reflects the ranking from the election:

I wanted to give a public “Thanks” to ESUG for their support (DVD, book, ideas, etc), Viewpoints, Dan Ingalls, James Robertson, John Sarkela and Bruce Badger for the videos. Stef and Noury sent me something to read but finally I did not have the time to do it (sorry). Also, to all the sponsors that helped us with the conference.

Below are some comments we got in the Argentine Smalltalk lists (first in Spanish and then in English, translated by Andres Valloud).
It is very hard for me to find the right words to express how happy we are with the outcome of the conference, not only for the amount of people that came but also for their kindness and technical level of the presentations. Thanks to all.