Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Andrew Berg
Last updated at 11:58 pm UTC on 16 January 2006
I don't have a web page or anything, but I can be emailed at andrew_c_berg@yahoo.com. I have a little squeak with some random project ideas in it which can sometimes be reached at http://andrewberg.yi.org:8000/.

By day I am a programmer at VoteHere, Inc.. Voting should be reliable, secure, private and accurate. In the U.S. it is not, and it appears that it will not for some time yet.

I have spent some time thinking about how to make Squeak be able to call and impersonate XPCom interfaces. This would allow:
  1. Hosting the Gecko layout engine. This is a fairly complete component for displaying HTML, XHTML etc. with full CSS, DOM etc support. (This is my real goal for this project.)
  2. Adding callouts to C/C++ "primitives" without a VM rebuild, or even stop/start.
  3. Access to a full ECMAScript interpreter. This is pretty useless, but it's there.
  4. Easyish way to access Squeak objects from the outside world. Hopefully you'd just write an .idl file, compile it, and then your C/C++ code could send whatever message without needing to know any of the details of Smalltalk VM hacking.
Unfortunately, it would probably not be compatible with some of the non-Windows/Mac/POSIX ports of Squeak, so the interest would probably be somewhat limited.
If there is interest, I could finish this, but I have since decided that what I really ought to do is to use Squeak viewers for whatever media type are supported, and just launch external viewers on the rest. (Does anyone know how to launch an extenral program against a temp file, then wait for the external program to exit before deleting the temp file?)

My main non-work project for the past couple of years has been building a peer-to-peer groupware application. X (my groupware app) is to Napster as Lotus Notes is to a FTP site.. It would encompass instant messaging, persistant messaging, and group knowlege sharing. With built in support for attachments in various media formats.

Another idea that I've been kicking around is extending the Squeak VM to 64 bits, with a persistant image. I would like a Squeak image that could just map directly to an entire harddrive partition (or set of). I could then just store all my documents and media in variables! No more filesystem! Startup/shutdown should be nice and fast, since we wouldn't have to load any inactive parts of the image. Some of the unresolved issues: How to speed up garbage collection. Switching to a background, iterative process may be unavoidable. How to do checkpoints. Make sure that there is a known, stable, state for the system to restart into. It seems like this ties into the garbage collector, but I have not looked closely at how.