back-to-the-future

More exciting conference news for Smalltalk aficionados: James Foster has announced on his blog that this year’s OOPSLA conference will include several tutorials with a Smalltalk theme including his “Back to the Future: Programming in Smalltalk” in which he will look at the “new” ideas from Smalltalk that are still influencing newer programming languages. He will examine some of these ideas and present a number of tutorial exercises that explore some of Smalltalk’s  fundamentally different approach to language design and object orientation, including the following aspects:

  • All values are objects, even integers, booleans, and characters (no boxing/unboxing);
  • Classes and methods are objects (supporting reflection);
  • The language has only five reserved words;
  • All control flow (looping and conditional branching) is done through message sends;
  • Programming is done by sending messages to existing objects; and
  • The base class library can be modified.

James works on Gemstone’s high performance product family based on Smalltalk, but intends the exercises to be relevant across different versions.

This year’s OOPSLA will be held in Orlando, Florida from 25 to 29 October, and will also be co-located with the Dynamic Languages Symposium, which will doubtless have lots to interest Smalltalkers.

On the other hand, if you’re looking for a European break this year, don’t forget that the 2009 International Smalltalk Conference, organised by ESUG, will be held in Brest, France, from 31 August to 4 September, and also has a great set of sessions lined up.

iPhoneApp

Following his success in getting Squeak running on the iPhone last year, John M McIntosh has announced on the Squeak-dev mailing list that he has had two applications approved for the Apple iPhone and iPod Touch App Store.

The two SqueakDocs electronic books, based on Squeak and Seaside, allow users to explore the code and documentation in two Smalltalk images: a 3.10.x Squeak web developer’s image, and a Pharo web developer’s image of late April 2009. They are now available for purchase on the App Store: Squeak version, Pharo version.

The applications use Seaside to render the content to the built-in Safari browser, so they can also present content to other machines on the local network.

John is still waiting for approval to come through soon for WikiServer, a “much more complex application,” which will allow users to view and maintain wiki content on their iPhones.

seashell

Andreas Brodbeck has posted on the Seaside mailing list that he has had a great experience using Seaside (running on Gemstone) in his business, and in order to give something back to the Seaside community, he’s released a new deployment tool that he’s developed for his own use.

The tool, called “Seashell”, is a shell-based deployment tool for Seaside applications running on Gemstone. The goals of SeaShell are:

  • Handle multiple concurrent gemstone seaside applications (each with its own stone), running on the same server machine.
  • Easy to add tasks for your individual environment and project.
  • Easy to run the tasks from the shell.
  • Fast execution.

Based on Andreas’ own requirements, the tool currently works with Gemstone as seaside server, lighttpd as frontend server and load balancer, everything running on Ubuntu 8.04.1. Andreas says on his blog post about Seashell that “It’s far from complete or rock solid, but I want to share it as early as possible. There is plenty of room to add more tasks for other tools and environments, of course. And I plan to add more features, as soon as I need them. Contributions welcome, of course!”

 

Michael Rueger and John MacIntosh are proud to announce that their Squeak iPhone/Touch port is now available for download. The source code, along with installation instructions and other useful resources, is available at a new website: http://isqueak.org.

As had been discussed earlier, Michael notes that due to the legal requirements of the Apple Developer agreement at this time, they cannot distribute a fully functional Squeak VM via the Apple Store. However Licenced iPhone developers can deploy the VM as an Ad Hoc VM for testing to a limited number of devices.

In addition, anyone who has access to the Apple SDK can compile and run the port in the iPhone emulator. 

Michael and John would like to thank ESUG for sponsoring their work.

WxSqueak reaches 0.5

14 July, 2008

Rob Gayvert recently announced on the wxSqueak mailing list that he has made a new version of wxSqueak available. wxSqueak is a Squeak interface to the wxWidgets (formerly known as wxWindows) GUI library. The project hasn’t seen much activity recently, but the new version was released following a request on the mailing list. 

Version 0.5.1 includes Unicode support, syntax highlighting and other new features, and looks like a very interesting tool for producing applications with a native look and feel. It can be downloaded from the wxSqueak website as source code, or as a fully runnable demo for Win32.

This revival of wxSqueak comes at an interesting time, as work is proceeding well on SqueakGtk; it looks as though using Squeak to develop native look and feel applications is becoming an increasingly attractive option. No doubt this will fuel the resurgence of interest in Squeak Smalltalk.

Thanks to Torsten Bergmann for spotting this announcement.

Robert Krahn from the Hasso-Plattner Institut announced this weekend on the squeak-dev list that he and his colleagues have created a SVN repository for their extended version of JSqueak - named Potato (like Dan Ingall’s original VM) – which includes a lot of improvements:

  • support for 32 bit color depth
  • calling Java (in the moment only for strings and integers)
  • refactored code
  • consistent use of Java libraries
  • removed redundancy
  • added a dynamic object table (for loading big images)
  • support for little and big endianness
  • loading of unzipped images
  • fixed lots of bugs and improved usability.
Their plans include further improvements like:
  • adding support for 8 and 16 bit color depth
  • implementing BitBlt warp functionality
  • enhancing BitBlt implementation (“tryCopyingBitsQuickly”, blending)
  • adding save image functionality
  • implementing additional primitives
  • being able to support current images
  • extending Java access
  • finding and removing bugs.
Anybody interested in viewing the work so far, or contributing to future development, can access the code at the following locations:

Most of the slides from the presentations at this year’s Smalltalk Solutions conference are now on line.

The material available includes Gilad Bracha’s talk on Newspeak, James Foster’s guide to building a Seaside application using GemStone/S, Michael Rueger’s introduction to Sophie, Arden Thomas demonstrating WebVelocity in action, and Randal Schwartz’s double-header keynote: Seaside – Your Next Web Framework and an introduction to persistency solutions for use with Seaside.  

There are also slides from a couple of sessions looking at the reasons for the recent resurgence of interest in Smalltalk: Arden Thomas looks at the features of Smalltalk that other languages lack, and Rob Rothwell explains how Smalltalk helps with the development of healthcare applications.

There are many more slide-packs available, and still more to be added, so please check out the conference page for more information. James Robertson is adding video and audio as it becomes available.

 

Hilaire Fernandes wrote to tell the Squeak-dev mailing list that the 9th Libre Software Meeting will be held at Mont de Marsan, Landes, in SW France, on 1 – 5 July. LSM is an international free software event taking place in July each year, in a French town; the first event took place in 2000 at Bordeaux. This year, Squeak/Smalltalk will be well represented with conferences and workshops on Squeak, Seaside and Sophie. There will also be a coding sprint for Pharo, a new implementation of Smalltalk based on Squeak.

For more information, see the post about the conference on Hilaire’s blog.
http://blog.ofset.org/hilaire/index.php?post/Squeak-Smalltalk-LSM-2008

Dan Ingalls has released JSqueak, a Squeak interpreter written in Java. 

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.

Squeak on the iPhone!

11 June, 2008

John M McIntosh announced on the squeak-dev mailing list that “I’m pleased to say that I’m one of the 1.5% of the iPhone developer population that has been accepted to officially build applications for distribution via Apple’s iPhone Application Store.”

He’s prepared a 93-day plan to build a new fully documented Objective C based source tree to host the Squeak VM on the iPhone and in addition as a 64bit VM on OS-X. He’s already collaborating with Impara who are looking at adapting the Squeak UI to the iPhone’s multi-touch paradigm and platform widgets, and is looking for further support (and funding) for this work.

John is also looking to offer support for Squeak developers hoping to make their applications available through the iPhone Store, although he notes that Apple has a number of restrictions limiting the types of applications that can be made available in this way.

The screenshot above shows a “visually exciting” 3.4 image running on an iPod Touch, the result of 15 days’ work. John does sound a note of caution: the VM is currently running at a speed equivalent to a 233Mhz 603e PowerBook, and 64MB of memory use is pushing the Apple’s imposed safety limits right to the max, so developers may have to relearn all those optimisation techniques they may have forgotten in recent years!

Follow

Get every new post delivered to your Inbox.

Join 47 other followers