The Weekly Squeak work page
Last updated at 6:41 am UTC on 27 February 2006
This is the work-in-progress copy of The Weekly Squeak. It will be often updated during the week and, once its content is cooked, moved to TWS' main page.
Feel free to peruse this notes, but please note that this is a work in progress whose content may vary a lot, and can contain errors and omissions. – The News Team
The Weekly Squeak, Light Edition No.2: January 8th - January 14th
An interesting (albeit long) discussion on immediate types, memory allocation, garbage collection, et al.
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099008.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099067.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099165.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099362.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099021.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099054.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099359.html
SqueakLight: an overview of the project
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099236.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099290.html
On development process, backwards compatibility and forks
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099239.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099237.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099265.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099356.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099276.html
A quick description of HttpView2, and plans for the future
http://lists.squeakfoundation.org/pipermail/seaside/2006-January/006488.html
http://lists.squeakfoundation.org/pipermail/seaside/2006-January/006500.html
Cryptography Repository Publicly Available
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099308.html
French Seaside tutorials
http://lists.squeakfoundation.org/pipermail/seaside/2006-January/006510.html
Google video: Squeak videos now for download
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099314.html
The Weekly Squeak, Light Edition No.3: January 15th - January 21st
Recent updates for Squeak 3.9 alpha, with Changelogs.
6707
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098774.html
6708
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098806.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098832.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099180.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099459.html
6709
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099493.html
6710
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099508.html
6713
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099534.html
6715
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099756.html
6716
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099812.html
6717
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099841.html
A discussion on the PlusTools: should they stay or should they go?
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098787.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099460.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099540.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099582.html
Let's talk about Squeak 3.8.1
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099020.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099514.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099657.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099693.html
Team Reports for December, 2005
Janitors
Box-Admins
Webteam
Morphic
Election
The Weekly Squeak, Light Edition No.4: January 22nd - January 28th
The Weekly Squeak, Light Edition No.5: January 29th - February 4th
The Weekly Squeak, Light Edition No.6: February 5th - February 11th
The Weekly Squeak, Light Edition No.7: Februray 12th - February 18th
DrGeo II: a dynamic geometry enviroment in Squeak
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099179.html
http://squeakland.org/pipermail/squeakland/2006-February/003006.html
The Weekly Squeak, Light Edition No.8: February 19th - February 25th
New Mac VMs, now with Unix file names
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099261.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-February/100344.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-February/100438.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-February/100964.html
The Weekly Squeak, Light Edition No.9: February 26th - March 4th
Squeaklings
by Ron Teitelbaum
Welcome to a new column called Squeaklings. The intention of the column is to occasionally point out interesting code snippets that may have been posted on squeak-dev or other interesting code samples that we have come across. The intended audience for this column is everyone, but we will try to focus on code that can be understood quickly by most readers.
In this episode of Squeaklings we will concentrate on the method
- BlockClosureensure: aBlock (in VW Smalltalk see valueNowOrOnUnwindDo: )
Ensure does what it says: No matter what I want you to ensure the following code block is always run.
Here is an example of how it might be used:
pre
MyClass writeLiteralToFile
“Write the literal string 'Hello there I am your Myfile contents' to the file ‘MyFile.txt’”
[aFile := FileStream fileNamed: 'MyFile.txt'.
aFile nextPutAll: 'Hello there I am your Myfile contents' copy.
] ensure: [aFile close].
/pre
This seems pretty straight forward: No matter what if this code fails, I always want you to close the file. Here are some ways to test this. Add a halt in the code and see if the file closes after abandoning the halt. You can also add a halt in the ensure block to see when the code executes.
So is this code safe? Well in general it is but there are gotchas to watch out for. Your ensure block is not fail safe. In this case if aFile is nil (put a halt after FileStream and abandon the halt). A message #close sent to nil equals kabluee so be sure that what is in your ensure block can actually be run in the event of an error. If you are executing this code in a workspace be sure to add the | aFile | . I will leave it as an exercise to answer why.
One last thing you may be wondering why I added a copy onto my string literal. I’ve been told over and over this is not necessary but being bitten once by an OODB that persisted string literals and blew things up because of it, I always put it in. Try this. Add a method test to any class that returns a string literal.
pre
MyClass class test
^’test’
/pre
Then execute the following code MyClass test at: 2 put: $a. Now what does MyClass test return? Look at the method, look at the result. It’s true in general that this is very unlikely to happen, unless you use the OODB I’m talking about but it feels better to me to add the copy which fixes this problem.
Comments, requests etc.
Any comment, request, threat or flame should be sent to theNews Team.
Sources
Mailing lists/b
Squeak-devhttp://lists.squeakfoundation.org/mailman/listinfo/squeak-devSqueaklandhttp://squeakland.org/mailman/listinfo/squeaklandSmallwikihttp://impara.de/mailman/listinfo/smallwikiSeasidehttp://lists.squeakfoundation.org/pipermail/seaside