Author: Michael Davies

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

  • Swazoo 2.2 beta with fast file upload released

    Janko Mivšek has announced that Swazoo 2.2 is ready for beta testing, with much improved upload (input streaming) performance as a main new feature. Swazoo is an open source, vendor agnostic, dialect neutral, highly performant Smalltalk web server with resource and web request resolution framework, born on a first Camp Smalltalk 2000 in San Diego. It is used as standalone web server for static content or for running web frameworks like Seaside and Aida/Web.

    On Squeak it uploads 15 times faster than before, achieving 1.5MB/s throughput locally on a Linux 3.2GHz PC. On VisualWorks it is even more impressive: 30 times better, achieving 15MB/s throughput. This means only 20s for 300MB file upload. In both cases upload performance is about half of the download one due to additional MIME parsing needed.

    Janko believes that in Swazoo we now have a Smalltalk web server with comparable performance to others in terms of upload performance, meaning that Swazoo is ready for demanding upload tasks like video uploading as well as video-serving (eg for screencasts) which has been possible for a while.

    Currently running on Squeak, GNU Smalltalk, Gemstone, Dolphin and VisualWorks, Swazoo appears well on its way to meeting its goal, defined in a manifesto back in 2000: “to join forces and make a really good web server in Smalltalk, open source and for all Smalltalk dialects”.

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

  • Plopp featured in MacWorld

    MacWorld magazine is running a series of reviews of their favourite free and low-cost applications for the Mac, and one of their picks is Plopp, a painting tool from Impara for easily creating cartoon-like 3D scenes. Although their review doesn’t mention this (did they even know it?), Plopp was developed and runs totally in Squeak!, which of course means that it’s also available on Windows and (for free!) on Linux.

    Plopp seems to be getting a lot of attention at the moment, perhaps because you can also use it to create models for use in Second Life, so congratulations to all at Impara for the recognition their work is getting!

  • Get recording your Squeak videos now!

    The Squeak mailing lists have recently seen a surge of interest in getting videos published to help explain Squeak and Smalltalk to developers coming to the language and environment for the first time.

    In response to this Randal L. Schwartz has set up a new Squeak Smalltalk group on vimeo.com to allow Squeakers to easily upload and share their videos.

    Videos can be a great way to help people quickly pick up a lot of complex information, which makes this an opportunity for Squeakers old and new to help promote Squeak. If there are any topics that you think would suit a short video, why not try recording one and publishing it? If you’re the developer of a powerful Squeak developer tool, and you’re amazed that no-one seems to use all of its functionality, this would be a great way to expose all of those features in a compelling way.

    If you’re a new developer struggling with Squeak, let us know what topics you’d like to see covered in video tutorials. If you’ve got any recommendations for recording and editing software for Windows, Mac or Linux, please leave a comment.

  • SandstoneDb – Simple ActiveRecord-style persistence in Squeak

    Ramon Leon has released a tool he uses to simplify the development of Squeak applications. Called SandstoneDb, it’s a simple MIT-licensed object database that uses SmartRefStreams to serialize clusters of objects to disk.

    Ramon needed “a simple, fast, configuration-free, crash-proof, easy-to-use object database that doesn’t require heavy thinking to use …[and] that allows me to build and iterate prototypes and small applications quickly without having to keep a schema in sync, or stop to figure out why something isn’t working, or why it’s too slow to be usable.”

    By combining ideas from ActiveRecord and Prevayler, he’s certainly made it simple to use: define any objects that you want to persist as subclasses of SDActiveRecord and save your image to ensure the proper directories are created. To persist changes to your objects, call #commit on them. All data is written to disc when committed, and loaded into memory on startup.

    There is a cost to this: Ramon notes that the object graph is rebuilt on startup, leading to an impact on startup times; holding all the data in RAM also means that there are practical limits on how much data you can manage in this fashion. He’s happy that this solution meets his needs when developing and deploying applications for his customers, but he’s leaving open the option of a future implementation being disc-based.

    There’s a lot more information, including the philosophy behind SandstoneDb, a guide to the API, and usage notes at Ramon’s blog.

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

  • Potato – version of JSqueak from HPI

    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:
  • Conference news: ESUG 2008 – more information

    A set of posts to the squeak mailing lists has given more details about the 16th International Smalltalk Joint Conference organised by the European Smalltalk Users’ Group, to be held 25-29 August 2008 at CWI in Amsterdam.

    Programme Details

    Mathieu van Echtelt writes that the programme features more than 40 presentations on, among others, the following subjects:

    Programming Language Platforms

    • Newspeak (New open source dynamic language focusing on modularity, security and interoperability)
    • Cog (New highly optimized open source Squeak VM)
    • Maglev (Highly scalable Ruby VM)
    • OpenCroquet (Deeply collaborative, multi-user online Smalltalk development environment)

    Web Frameworks

    • Seaside (The continuation & component-based web framework)
    • WebVelocity
    • AidaWeb (Smalltalk Web Application Server)
    • WebTerminal

    Model Driven Engineering:

    • The Meta Environment Language Workbench
    • ObjectStudio ModelingTool
    • Fame; Meta-modeling Framework
    • MBA Smalltalk; to manage your objects

     
    Additionally, the winners of the ABN Amro sponsored Innovation Awards will be presented.

    Booking Accommodation 

    Noury Bouraqadi notes that discount hotel rates for conference attendees are available until 11 July.

    Seaside Sprint

    Lukas Renggli has announced that the core Seaside dev team will be holding the first official Seaside Sprint, starting after the conference closes at 14:00 on 29 August, and finishing when the last participant collapses over their smoking keyboard. He invites anyone interested in working on Seaside or related code to participate. The venue details will be announced once agreed.

    Camp Smalltalk

    As usual, the weekend preceding the conference will be used to host Camp Smalltalk, an opportunity to work with colleagues on a number of exciting projects. See the Camp Smalltalk page for more information.