Category: Tools

  • Soup for Squeak

    squeaksoup

    Zulq Alam has been working on Soup, a Squeak port of Beautiful Soup, the tolerant HTML/XML parser written in Python, which is extremely useful when you need to scrape data from a web page. He has recently announced a working release and gave some example of its usage.

    Zulq notes that there’s still plenty of work to do on this port:

    • No attempt is made to deal with different character sets and encodings.
    • The parser will not convert entity or char references.
    • The parser will not accept options such as whether to convert entities, which entities to convert, what to parse, etc.
    • The parser will only do HTML; there are no configurations for other XML flavours yet.

    He adds that the project repository is globally writable, and he looks forward to your feedback and contributions.

  • Squeak goes to Mars

    mars

    Esteban Lorenzano gave Squeakers on Mac OS X a nice little Christmas present to see out 2008, with the release of Mars, an MVC framework for Squeak built using Cocoa. Mars is a plugin, and will run in any fork of Squeak, and as you can see above, is integrated with OmniBrowser.

    Esteban notes that one of his main objectives in developing Mars is to keep it small and simple, in order to allow it to be executed in small environments such as the iPhone, (using John McIntosh’s new VM and Edgar de Cleene’s SqueakLightII minimal images).

    Mars is MIT licensed, and can be downloaded from the Mars homepage, which also has posts following the progress of Esteban’s work. Esteban adds that Mars is still in the pre-alpha stage, and he looks forward to bug reports, feature requests, comments, and of course, code.

  • Squeak and Seaside BOFs at OOPSLA ’08

    Nicolas Chen has posted a very interesting report on the Squeak and Seaside ‘Birds of a Feather’ sessions at this year’s OOPSLA Conference in Nashville, Tennessee. Speakers included Michael Lucas-Smith of Cincom talking  about their WebVelocity development tool for Seaside; Göran Krampe on Blackfoot, his lightweight SCGI-based KomHttpServer replacement for Seaside deployment; Dave Ungar (ex-Sun Labs, now at IBM Research) on his work on multi-core Squeak; and Jecel Assumpcao Jr. on Smalltalk Hardware Design, and his Siliconsqueak project.

    As promised, Göran has published videos of the sessions; see his blog for details.

  • Pier Content Management for Seaside

    As he demonstrated at ESUG, Tudor Girba has recently been working with Pier, the Web Content Management System built on Seaside, and has announced the release of a new version, with a number of new features. Pier CMS allows users to create and manage their own websites. It supports the development of plug-ins allowing the addition of features such as blogs.

    To accompany the new version, he also announced that there is now a new official homepage for Pier (written in Pier of course). The site allows you to download the latest code, and provides much-needed documentation including videos walking you through the set-up and use of Pier.

  • 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.

  • 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.

  • All new Monticello 2

    Colin Putney has announced the release of Monticello 2.0, a ground-up rewrite, using a new, more flexible and more performant versioning engine. Monticello is a distributed optimistic concurrent versioning system for Squeak code written by Avi Bryant and Colin Putney with contributions from many members of the Squeak community.

    The new version has a number of changes that Colin believes address problems uncovered while developing and using the first version. The new release manages versioning at a finer level: individual program elements – classes, methods, instance variables, etc. This means that Monticello 2 can be used to version arbitrary snippets of code. These might correspond to packages, change sets, or any other method a programmer chooses to separate “interesting” code from the rest of the image.

    According to the discussion that followed the announcement, the new code also manages updates more quickly and with less network and disc traffic, is more extensible, and has better separation of core and UI elements (which will ease porting to other Smalltalks).

    Older versions of the code are available on SqueakMap and SqueakSource, as well as the wiresong site, but in his email Colin says that the latest version should always be available at http://www.wiresong.ca/static/releases/Monticello-current.zip (I assume that requires a manual download and file-in – please let me know in the comments if there’s an easier way to do this). The zip file also has step-by-step instructions on how to use the (very different) user interface.

  • CMSBox wins top usability awards

    Avi Bryant alerted the Seaside mailing list to some exciting news: Cmsbox is one of the ten winners of this year’s useit.com 10 Best Application UIs of 2008, a competition intended to identify the 10 best-designed application user interfaces each year.

    Cmsbox is a powerful and flexible Content Management System (CMS) which allows users to create, edit and arrange content directly on the web site. It was built by Swiss company netstyle.ch using Squeak Smalltalk, Seaside and Scriptaculous.

    In describing the award, which is the latest in a string of awards won by CmsboxJakob Neilsen wrote that Cmsbox made it “particularly easy for direct users to create highly usable designs […] They have demonstrated that just one extra line of controls is all that is required to turn a website into a Web authoring environment. […] There are no modes to switch between, no edit windows to keep track of; it is immediately clear to users what effect their actions will have on the final layout because they are always working within that final layout”.

  • 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.”

  • Avi Bryant Interview

    Werner Schuster from InfoQ.com spent some time talking to Avi Bryant at QCon London 2008, and InfoQ have posted a recording of their conversation. In the interview, Avi talks about the Smalltalk web framework Seaside, DabbleDB, using Smalltalk images for persistence instead of an RDBMs, GemStone and more.