What is Squeak?
Squeak is a free Smalltalk system originally released by a team including Alan Kay, Dan Ingalls, Ted Kaehler, John Maloney and Scott Wallace in 1996 when they were working at Apple. You might recognise the first three names from early Smalltalk papers from Xerox PARC. They produced a rather nice Smalltalk system with the unusual virtue that both the image and the Virtual Machine are open source - i.e. free, gratis and "no charge to you sir".
Finding Out More About Squeak
To find most of the web resources for Squeak, look at the Squeak.Org site. There are lots of pointers to information about Smalltalk, instructions for downloading Squeak, tutorials, FAQs etc. I won't waste space by duplicating any of it here. I do most strongly recommend that you read many of them.
Squeak runs on...
Macs, iPhones, most UNIX & Linux systems, Windows of various versions, RISC OS and some obscure specialised systems. See the above mentioned master page for details on how to get the files.
I’ve spent many years making Smalltalk available for RISC OS and other ARM based systems including the original Acorn Archimedes & RPC desktops, the Active Book, an early prototype version of the Compaq ‘iPaq’ handheld, the Interval Research ‘MediaPad’, an HP prototype pad-thing and other stuff still secret.
New News of a newsish nature
2013 - Squeak is back on RISC OS! Those nice people at the Raspberry Pi Foundation sent me a Pi; it has RISC OS on it and I’ve been getting things working on it.
It runs quite nicely in general; the Pi’s RISC OS graphics kernel is a bit slow seeming right now but there is work being done that should improve that significantly. It supports Scratch as well and runs it decently - though there is a lot of work being done to improve that, too. Somewhat perversely, MIT decided to rewrite Scratch in Flash (belch) ‘for better browser support’ and seem to have abandoned the ‘old’ Squeak based system. Since Flash doesn’t run on RISC OS nor indeed on ARM systems in general, we’ll be supporting ‘old’ Scratch for a while.
You can download a copy of Squeak for RISC OS from the central squeakvm.org site.
Currently I’m working for the Pi foundation to improve Scratch under Raspbian (their linux version) by rewriting some of the more egregiously ugly code, improve algorithms, tweak vm configurations and so on. As of early-2014 it’s significantly faster than the original version with a fair bit more to come. A major project has been porting the code forward to the latest Squeak image so that it can run on the most modern VMs; right now it is using the ‘StackVM’. I hope to get the newer design dynamic translating VM working soon.
When and if possible all of this will get moved over to RISC OS but making a living comes first!
Building the VM with VMMaker
I also developed and for many years maintained the VMMaker package, the lump of Squeak code that defines and generates the bulk of the VM. See the VMMaker page on the Squeak Swiki for more info. You can fetch the VMMaker package from SqueakMap or use the SqueakMap tool in the image and look for (guess what) VMMaker. You will also need a SubVersion client so that you can fetch the handwritten parts of the VM source code from the repository.
Once you have mastered the complexities of the VMMaker and successfully built yourself a custom VM you should download this certificate to attest to your mighty geekiness.
Stuff wot I wrot
• I contributed a chapter describing the structure, function, design and implementation of virtual machines and the lowest level of Smalltalk code to "Squeak: Open Personal Computing and Multimedia" edited by Mark Guzdial and Kim Rose, published by Prentiss-Hall. An online version of that chapter is here.
• I worked on a realtime OS in Squeak whilst employed at Interval Research Corp
• A short paper on making BitBlt work for little-endian machines without having an intermediate display-on-screen conversion
Squeak logo artwork
At the dawn of Squeak-time we needed a logo. Every project needs a logo. I designed one, it caught on and can be found all over the web, on T-shirts, sweatshirts, books, badges, underwear, hats and probably secret spy satellites in geosynchronous orbit. (No, seriously; there is now at least one satellite running Squeak code!)
Here are some files of the Squeak logo that you may like to use:-