Category: Platforms

  • Imagine Invent Inspire – Etoys

    Etoys-iii

    Don’t miss the new Etoys book: http://wiki.squeakland.org/index.php/LearningWithEtoysI3.

    Etoys is:

    • an educational tool for teaching children powerful ideas in compelling ways
    • a media-rich authoring environment and visual programming system
    • a free software program that works on almost all personal computers

    All school children should have the opportunity to engage with computers in the most meaningful way. Learning to think and using the computer to discover and work with powerful ideas is the knowledge of true value. The community of Etoys users is working toward the dream of having all students become computer literate. This book only covers a small portion of those items. As you and your students learn some of the basic techniques, you will find more and more uses for them. The process of learning Etoys is just that, a process; the learning is on-going even though projects are begun and finished. Students will enjoy becoming experts and sharing their knowledge with others in the classroom.

    Imagine this: A group of learners want to visualize what they Imagine so they go to Etoys to Invent their dreams and Inspire each other by building on their various Etoys projects. Today’s learners need this kind of experience to be prepared for the future.

    For more information about Etoys visit www.squeakland.org

  • Cuis 3.0 released

    Juan Vuletich has just announced the release of version 3.0 of Cuis.

    Cuis is a free Smalltalk-80 environment originally derived from Squeak by Juan with a vision of creating a simple and powerful environment by stripping out the layers of complexity that have accreted as Squeak has been developed over many years. In particular, this has meant major re-design of Morphic code in Cuis.

    Version 3.0 includes the core of a new architecture for cleaner separation of view and model for text morphs, as well a first version of a powerful theming framework developed by Casey Ransberger, giving simple control over every aspect of the appearance of the Cuis user interface. A number of sample themes have already been developed to demonstrate the power of this framework: DarkTheme as shown above demonstrates dark, translucent windows for late-night Linux hackers.

    Download the Cuis 3.0 package for yourself to see the new code in action – it runs happily on existing VMs.

  • Hear the Mouse Roar on Multi-Core!

    Stefan Marr has just announced on his blog the relase of RoarVM, the first single-image manycore virtual machine for Smalltalk. RoarVM is based on the work on Renaissance VM by David Ungar and Sam S. Adams at IBM Research, and was ported to x86 architecture by Stefan.

    From his post: “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.7 image.” Support for Pharo 1.2 is currently limited to 1 core, but this is being worked on!

    Here’s some indicative figures for this new VM (using an adapted version of tinyBenchmarks on an MVC image):

     1 core   66M bytecodes/sec;  3M sends/sec
     8 cores 470M bytecodes/sec; 20M sends/sec

    As Stefan notes “The RoarVM is a research project and is not as optimized for performance as the standard Squeak VM”. For comparison:

    Squeak 4.2.4beta1U, MVC image, OS X 555M bytecodes/sec; 12M sends/sec

    so you’ll need a few cores active before you start to see improvements over your existing image! There are also a number of known issues with the current implementation.

    You can download the code from the RoarVm page at GitHub, contribute to the discussion on the vm-dev mailing list, or follow #RoarVM updates on Twitter.

  • Seaside 3.0 released

    Following some last minute work at this year’s second Camp Smalltalk event, the Seaside developers are pleased to announce the release of Seaside 3.0 on the eve of the ESUG 2010 Conference in Barcelona.

    Seaside has undergone a total overhaul, with many classes having been refactored to reduce complexity, decrease coupling, and improve flexibility. The packages in Seaside are now cleanly defined with clear relationships and interdependencies, allowing you to load only those pieces you require. There are improvements in testing, in portability and in performance, as well as much better tools for developers including the Seaside Control Panel for Pharo and Squeak, and the web-based administration interface.

    For more information, see the Seaside 3.0 release announcement, or the following links:

    Seaside 3.0 Detailed Release Notes
    http://seaside.st/community/development/seaside30

    Seaside One-Click Experience 3.0 (runs with one-click on Mac, Windows and Linux)
    http://www.seaside.st/distributions/Seaside-3.0-final.app.zip

    Seaside 3.0 Developer Image 3.0 (for Pharo developers)
    http://www.seaside.st/distributions/Seaside-3.0-final.zip

    SqueakSource Repository for Seaside 3.0
    http://www.squeaksource.com/Seaside30.html

  • And this time we mean it…

    In an unexpected statement today, Apple have again changed their stance on the use of third-party development tools. In particular, they say that “we are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need”. Daring Fireball has a nice summary of the key changes to the terms and conditions.

    This puts us all back to where we were last year, with Squeak again being a realistic choice of development environments for use on the iPod Touch, iPhone, and of course the iPad. John MacIntosh’s port of the Squeak Virtual Machine to iOS, and Bert Freudenberg’s work on multi-touch support will prove very useful resources in getting keen developers up and running quickly. Unfortunately, Apple explicitly rule out any applications that can download additional code after purchase, meaning that Scratch on iOS is probably still out of bounds.

    There’s already lots of speculation about what’s driven this change of heart, based on the timing of this announcement (just after the big Apple event last week), its low profile release, and its terseness (reminiscent of Steve Jobs’ rather direct written communications), but whatever the cause, Squeak developers have cause to celebrate!

  • Google buys (part of) Instantiations

    Instantiations, the company who took over IBM’s Visual Age for Smalltalk business, have now had the Java part of their operation snapped up by Google, who were reportedly interested in Instantiation’s Java and Ajax team, especially their GWT Designer product, which is slated to become part of the Google Web Toolkit infrastructure.

    In many cases in the past, innovative companies using Smalltalk have attracted the attentions of the big players, who have then bought them and dropped all Smalltalk development in favour of Java or other enterprise environments. In this case however, Instantiations’ Smalltalk business is being spun off, and will remain in business as a separate entity focusing on development and support of Smalltalk products including VA Smalltalk, as their new homepage makes clear.

  • A newer, faster computer – for free!

    Eliot Miranda has announced that his new Cog VM is now available for download, bringing Just-In-Time compilation and massive speed-ups to Squeak and Pharo.

    If you’ve been following Eliot’s blog, you’ll know that he’s been working on this new VM for quite a few months now; well, it’s now ready for public consumption, and it’s blisteringly fast: up to three times faster than the existing VMs.

    The VM selectively re-compiles code to native (Intel) machine-code, based on the size and complexity of the methods, and how often they’re called. This means that the benefits of the new VM vary from task to task, but Andreas Raab estimates that you should expect a 2-3x performance improvement generally, “more towards 2x when running primitive and I/O-bound stuff; more towards 3x when running ‘pure’ Smalltalk code”.

    Eliot is interested in hearing from developers on other platforms who want to port the new VM to those platforms. In the meantime, he has also released the “Stack VM”, a cross-platform interpreter that uses context-to-stack mapping to achieve more modest performance gains.

    See Eliot’s original post and the following discussion for more details of the new VM, some notes of caution, and how to get your hands on it and use it.

    Thanks to Eliot for this great piece of work, and to Teleplace who have funded this work (and have been using it for the past year), and have agreed to release the new VM’s under the MIT Licence.

  • Squeak running on iPad

    Bert Freudenberg has recently got Squeak working on the iPad, and has the video to prove it!

    Bert’s work is based on John McIntosh‘s original port of the Squeak Virtual Machine to Apple’s touch-based OS, modified slightly to enable multi-touch and keyboard input. Bert also added multi-touch handling to Morphic. Interestingly, he notes that “Morphic was designed to handle multiple ‘hands’ (pointing devices) from the beginning”, so Squeak has always been multi-touch capable, and just let down by operating systems until now!

    Bert’s work will help the Etoys team prepare their application for the next machine from OLPC, the XO-3, which will also be a touch device. The new version of the Sugar OS for the new device is still being developed, so it looks as though Etoys is well ahead of the curve.

    Given the recent changes to Apple’s licence terms for iOS developers, it’s looking increasingly likely that we will see Squeak-based applications appearing for the iPad in the future. After a forty year wait, the Dynabook is nearly here!

  • JNIPort: Running Java from Squeak

    Joachim  Geidel has published a preview release of JNIPort, a Smalltalk library which allows Java code to be invoked from Smalltalk. It acts as a bridge between the world of Smalltalk objects and a Java Virtual Machine (JVM) where Java code is executing.

    The port to Pharo and Squeak is not yet finished: it lacks support for callbacks from Java to Smalltalk, and is a work in progress. Joachim is particularly interested in feedback from Squeak 4.1 users.

    JNIPort was originally written by Chris Uppal for Dolphin Smalltalk and published under a liberal licence which permits its use in commercial and non-commercial software. Joachim Geidel originally ported JNIPort to VisualWorks in 2006 and is now building on that work to make it available to Pharo and Squeak. The goal is to publish a stable release for VisualWorks, Pharo and Squeak in Q3/2010.

    In addition to giving Smalltalk programs access to Java libraries and services, the interactivity of Smalltalk makes it an ideal environment to experiment and prototype new Java functionality.

    Once it’s installed, calling some Java can be as simple as three lines in your workspace:

    jvm := JVM current.
    class := jvm findClass: #’java.lang.System’.
    class currentTimeMillis_null

    Installation instructions documentation and much more information are on the JNIPort Wiki.

  • Dynamic Web Development with Seaside

    Dynamic Web Development with Seaside

    A print-on-demand, softcover copy of the book “Dynamic Web Development with Seaside” is now available from Lulu.

    Seaside is an source framework for developing highly dynamic and interactive web applications, and makes building web applications as simple as building desktop applications. The book gives you all the instruction and support necessary to get up and running in all the popular distributions of Smalltalk, with separate chapters on Pharo and Squeak, Cincom Smalltalk, Gemstone/S, GNU Smalltalk and VASmalltalk.

    The printed book is based on the free online version and the purchasable PDF version of the book, and will be updated regularly. The book costs around €28/£24/$40 and will be delivered within 3-5 working days, so order your copy now!

    The authors wish to thank the European Smalltalk User Group (ESUG), inceptive.be, Cincom Smalltalk, Gemstone Smalltalk,  and Instantiations for generously sponsoring this book.