Category: Development

  • Subversion integration for Squeak

    Michael Perscheid and his colleagues in the Software Architecture Group of the Hasso-Plattner-Institut have just announced the release of SqueakSVN, a tool to give Squeak access to the version control capabilities offered by Subversion, the open-source revision control system. This will allow Squeak developers take advantage of the benefits of Subversion’s growing popularity and support, while remaining within the Squeak browser environment.

    SqueakSVN supports repositories using the http, file and svn protocols, but there is currently no support for https. There are more details at the SqueakSVN project home page, including a video of SqueakSVN in use.

    The new package was developed in co-operation with CollabNet, the primary corporate sponsor of Subversion.

  • Squeak on the iPhone – available for download!

     

    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.

  • BabyIDE – A New Interactive Development Environment

    Trygve Reenskaug wrote to the Squeak dev mailing list to announce the release of BabyIDE, an IDE which which runs on Squeak Smalltalk, and is based on his exploration of a new development paradigm, called DCI. The aim of the DCI (Data-Context-Interaction) paradigm is to minimise any gaps between the programmer’s mental model of the program and the program that is actually stored and executed in the computer, by presenting system operations as networks of communicating objects.

    Trygve, who is based at the Department of Informatics at the University of Oslo, has written a detailed overview (pdf) of the thinking behind his work on BabyIDE and BabyUML.

  • ESUG ’08 – Seaside Sprint

     

    Following the conclusion of ESUG‘s 16th Joint International Smalltalk Conference in Amsterdam, the Seaside developers held a Seaside Sprint. The aim of the sprint was to address a number of outstanding issues in order to move Seaside 2.9 towards release.

    The sprint was a great success with 14 developers working on a number of issues. Eighteen key bugs were resolved, and progress was made in a number of other areas. The attendees had a range of levels of knowledge and experience, from the core developers, to those seeing Seaside code for the first time

    The Sprint attendees would like to thank Café Kobalt and the Amsterdam Bibliotheek who provided essential facilities including free internet access, and great food and drink.

  • Squeak projects at Camp Smalltalk

    Over fifty Smalltalk developers have spent the last two days working on a variety of Camp Smalltalk projects before this year’s ESUG Conference. A number of projects were based on Squeak:

    The SqueakNOS team are working to get rid of the need to have an OS underlying the Squeak image. They have now got to the point where any image can run on their VM with minor changes. They can boot from USB memory, and are making progress on accessing SD memory cards.

    The Amelia Project aims to use OpenCroquet to develop a three-dimensional multiuser collaborative virtual environment to help teachers organizing computer-mediated activities where children can collaborate, negotiate and make decisions regarding the spatial configuration of school spaces. Filipe Santos was able to work with other Squeak developers to move his work forward.

    The MOOSE team worked on their collaborative research platform for Software Analysis and Information Visualisation, and were able to make significant progress with migrating their FAMIX2 meta-model to Squeak using Fame.

    Hilaire Fernandes and Michael Reuger began exploring how to integrate DrGeoII, a tool for interacting with geometric figures, into the Sophie multimedia authoring environment.

    Giovanni Corriga worked on the code for the KomHttpServer, and delivered a number of bug-fixes.

    Lukas Renggli and Philippe Marschall were able to fix a number of bugs in Magritte, and add new functionality to Pier, as well as releasing a new maintenance version of Seaside.

  • SqueakDBX: beta release for OpenDBX plugin

    A team of students from UTN (National Technological University in Argentina) co-ordinated by Estaban Lorenzano has just announced the first beta release of SqueakDBX, a package to allow Squeak to access OpenDBX functionality, so allowing users to perform relational database operations (DDL, DML and SQL) through a truly open source library. OpenDBX can interact with major database engines such as Oracle and MSSQL besides open source databases such as Postgresql and MySQL. SqueakDBX can also integrate with GLORP.

    From the release notes, the key features for this release are:

    • Tested on 3.10 and Pharo. 
    • Support for Linux and OSX. 
      • Proved on windows (through MinGW), but some changes in OpenDBX are still needed (next version will have full compatibility).
    • Tested on PostgreSQL, MySQL and Oracle. 
      • MS SQL Server, Firebird, Interbase, SQLite, SQLite3 and Sybase tests will be available as soon as possible. 
    • Transactional management.
    • Automatic conversion of resultset columns (a String) into squeak types. 
      • Large objects (clob, blob, arrays, and so on) are not yet supported.
    • Special OpenDBX options: multi-statments, compression, paged results. 
    • Automated database connection release on garbage collection (although manual disconnection is recommended)
    • Error handling

    Some benchmark testing has been carried out, and the performance of the drivers appears to be comparable with native drivers.

    The team are very keen to get feedback, bug reports, experiences on different platforms etc, and welcome any contributions. Sources can be download from SqueakSource (it requires FFI installed). Full documentation, installation and getting started instructions can be found at the SqueakDBX wiki page.

    This project has been selected as part of ESUG SummerTalk 2008.

  • Volunteers wanted for Squeak project

    Lukas Renggli is looking for willing volunteers to complete work on a project that he has been working on. OB-Tools is a package that aims to build the remaining development tools on top of OmniBrowser. It currently includes working versions of the Inspector, Object Explorer, Debugger, Process Browser, File Browser, Transcript and Workspace. It’s already progressed to the point where Damien Cassou is planning to include it in his Squeak Developer Images. It’s also being used by Gwenael Casaccio in his Google Summer of Code project Squeak GTK.

    Lukas asks: “I wonder if anybody would be willing to take over the effort? I don’t have much time to work on it and I think it would be a pity to let the code rot. The core is relatively stable, and there are only very few things missing compared to the original morphic tools. It would be cool to add tests similar to what we have for OB-Standard.”

  • WxSqueak reaches 0.5

    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.

  • Squeak’s Google Summer of Code projects

    As we mentioned in March, the Squeak Project was accepted as a mentoring organisation for the 2008 Google Summer of Code. Five students stepped up to the challenge, choosing to work on the following projects:

    The students have already been working on their projects with great enthusiasm, as you can see by checking their posts on the Summer of Squeak blog, and now that the summer holidays are upon us, it looks like the rate of progress is really shooting up! The projects are all going to be valuable additions to Squeak, and I’m sure we’re all looking forward to seeing the final outputs.

  • JSqueak – Smalltalk interpreter written in Java

    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.