<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planet Squeak</title>
	<!--<link rel="self" type="text/atom" href=""/>-->
	<link rel="alternate" type="text/html" href="http://planet.squeak.org"/>
	<id></id>
	<updated>2010-02-09T17:00:31+00:00</updated>
	<generator uri="http://www.planetplanet.org/">http://intertwingly.net/code/venus/</generator>

	<entry>
		<title>Squeak Oversight Board: Preliminary Agenda for 2/17/2010</title>
		<link rel="alternate" type="text/html" href="http://squeakboard.wordpress.com/2010/02/07/preliminary-agenda-for-2172010/"/>
		<id>http://squeakboard.wordpress.com/?p=248</id>
		<updated>2010-02-07T21:10:03+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;p&gt;Squeak 4.0 and SFC&lt;/p&gt;
&lt;p&gt;Free server hosting options&lt;/p&gt;
&lt;p&gt;Promotion and Visibility of Squeak&lt;/p&gt;
&lt;p&gt;Development Progress&lt;/p&gt;
&lt;p&gt;Squeak Swiki Improvement&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/squeakboard.wordpress.com/248/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/squeakboard.wordpress.com/248/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/squeakboard.wordpress.com/248/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/squeakboard.wordpress.com/248/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/squeakboard.wordpress.com/248/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/squeakboard.wordpress.com/248/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/squeakboard.wordpress.com/248/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/squeakboard.wordpress.com/248/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/squeakboard.wordpress.com/248/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/squeakboard.wordpress.com/248/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=squeakboard.wordpress.com&amp;amp;blog=7042622&amp;amp;post=248&amp;amp;subd=squeakboard&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</content>
		<author>
			<name>Ken Causey</name>
			<uri>http://squeakboard.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Squeak Oversight Board: Meeting Report for 2/3/2010</title>
		<link rel="alternate" type="text/html" href="http://squeakboard.wordpress.com/2010/02/07/meeting-report-for-232010/"/>
		<id>http://squeakboard.wordpress.com/?p=243</id>
		<updated>2010-02-07T21:09:45+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;p&gt;Once again everyone was present and accounted for today: Jecel Mattos de Assumpção Jr, Ken Causey, Bert Freudenberg, Craig Latta, Andreas Raab, Randal Schwartz, and Igor Stasenko.&lt;/p&gt;
&lt;p&gt;While we are reviewing other issues are focus right now is primarily on completing the process involved in releasing Squeak 4.0 and joining the &lt;a href=&quot;http://conservancy.softwarefreedom.org/&quot;&gt;Software Freedom Conservancy&lt;/a&gt;.  We are still checking facts and looking for possible problems but the chances look good for an imminent (small number of weeks) release.  One aspect of that is actually taking care of the packaging of 4.0 and updating places where the licensing of Squeak is referenced.  Expect a post on &lt;a href=&quot;http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev&quot;&gt;squeak-dev&lt;/a&gt; soon to discuss this issue and hammer out the details.&lt;/p&gt;
&lt;p&gt;We spent much of the rest of the meeting discussing the election process.  Part of our agreement with the SFC specifies how the ‘governing committee’ (AKA Squeak Oversight Board) is formed.  After the retirement of the SqueakPeople website was which was an integral part of forming the voters list for the Oversight Board election the process has temporarily become somewhat informal.  After discussing this in some detail we realized that trying to formalize things a bit more this year would likely just disrupt the upcoming election and so we ultimately decided to set this issue aside for now.  After the election the new Oversight Board and the Election Team should work on this issue with the assistance of the entire community.&lt;/p&gt;
&lt;p&gt;Thanks to Chris Cunnington with assistance from others on squeak-dev i&lt;a href=&quot;http://www.squeak.org/Documentation/Installation/#h-5&quot;&gt;nstructions on how to install Seaside on Squeak&lt;/a&gt; were placed on the Squeak website and linked to from the Seaside website.  As a community we fully intend to ensure that Seaside continues to run on Squeak.&lt;/p&gt;
&lt;p&gt;Our next meeting is scheduled for 2/17/2010.&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/squeakboard.wordpress.com/243/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/squeakboard.wordpress.com/243/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/squeakboard.wordpress.com/243/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/squeakboard.wordpress.com/243/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/squeakboard.wordpress.com/243/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/squeakboard.wordpress.com/243/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/squeakboard.wordpress.com/243/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/squeakboard.wordpress.com/243/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/squeakboard.wordpress.com/243/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/squeakboard.wordpress.com/243/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=squeakboard.wordpress.com&amp;amp;blog=7042622&amp;amp;post=243&amp;amp;subd=squeakboard&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</content>
		<author>
			<name>Ken Causey</name>
			<uri>http://squeakboard.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: Monticello, Metacello ... Metaceller</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/02/monticello-metacello-metaceller.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-2031586671402678193</id>
		<updated>2010-02-05T15:16:50+00:00</updated>
		<content type="html">&lt;a href=&quot;http://groups.google.com/group/metacello&quot;&gt;Metacello&lt;/a&gt; is a nice package management system for Monticello in &lt;a href=&quot;http://pharo-project.org&quot;&gt;Pharo&lt;/a&gt;.&lt;br /&gt;There are already various configurations for well known packages available in the &lt;a href=&quot;http://www.squeaksource.com/MetacelloRepository.html&quot;&gt;MetacelloRepository&lt;/a&gt; project.&lt;br /&gt;&lt;br /&gt;With a pharo image installed Metacello can be used to load a specific (or the latest) versions of Seaside:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;  Gofer new&lt;br /&gt;    squeaksource: 'MetacelloRepository';&lt;br /&gt;    package: 'ConfigurationOfSeaside30';&lt;br /&gt;    load.&lt;br /&gt;&lt;br /&gt; (Smalltalk at: #ConfigurationOfSeaside30) loadLatestVersion&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Tudor Girba now created a basic version of a browser called &quot;Metaceller&quot; for managing Metacello configurations that are already loaded in the image. Read &lt;a href=&quot;http://groups.google.com/group/metacello/browse_thread/thread/335b8177a7b82b5e&quot;&gt;more here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To load in Pharo evaluate:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; Gofer new &lt;br /&gt;        squeaksource: 'glamoroust'; &lt;br /&gt;        package: 'ConfigurationOfGlamoroust'; &lt;br /&gt;        load. &lt;br /&gt; (Smalltalk at: #ConfigurationOfGlamoroust) perform: #loadDefault. &lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;After loading you can open the tool using:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; GTMetaceller open&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-2031586671402678193?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: Smalltalk meetup in Cologne</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/02/smalltalk-meetup-in-cologne.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-953390311509891950</id>
		<updated>2010-02-01T19:39:40+00:00</updated>
		<content type="html">There is a Cologne Smalltalk User Meetup on 18th of February.&lt;br /&gt;Read &lt;a href=&quot;http://lists.gforge.inria.fr/pipermail/pharo-project/2010-February/021387.html&quot;&gt;more here&lt;/a&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-953390311509891950?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Gilad Bracha: Nail Files</title>
		<link rel="alternate" type="text/html" href="http://gbracha.blogspot.com/2010/02/nail-files.html"/>
		<id>tag:blogger.com,1999:blog-2447174102813539049.post-7827736697957440885</id>
		<updated>2010-02-01T19:37:37+00:00</updated>
		<content type="html">Files are extremely important in current computing experience. Much too important. Files should be put in their place; they should be put away.&lt;br /&gt;&lt;br /&gt;There are two aspects to this: the user experience, and the programmer experience. These are connected. Let’s start with the user experience.&lt;br /&gt;&lt;br /&gt;Users see a hierarchical file system (HFS), with directories represented as folders. The idea of an HFS goes way back. The folder was popularized by Apple - first with the Apple Lisa , the ill-fated precursor of the mac, and then with the mac itself.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Historical Tangent:&lt;/span&gt; The desktop metaphor comes from Xerox PARC.  I know some of that history is controversial, but one thing Steve Jobs did NOT see at the legendary 1979 Smalltalk demo was a folder.  Smalltalk had no file system to put folders in. To be fair though, Smalltalk had a category hierarchy navigated via a multi-pane browser much like the file browsers we see in MacOS today. The folder came later, with the Xerox Star (1981 or so).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;David Gelernter has said that computers are turning us into filing clerks. Sadly, his attempt to fix this was a commercial failure, but his point is well taken. We have seen attempts to improve the situation -  things like Apple’s spotlight and Google desktop search - but this is only a transition.&lt;br /&gt;&lt;br /&gt;Vista was supposed to have a database as a file system. This is where we’re going. Web apps don’t have access to the file system. Instead we see mechanisms like persistent object stores and/or databases. Future computers will abstract away the underlying file system - just like the iPhone and iPad. Jobs gave us the folder (i.e., the graphical/UI metaphor for the HFS) and Jobs taketh away.&lt;br /&gt;&lt;br /&gt;This trend is driven in part by an attempt to improve the user experience, but there are also other considerations. One of these is security - and better security is also better user experience. Ultimately, it is about control: If you don’t have a file system, it becomes harder for you to download content from unauthorized sources. This is also good for security, and in a perverse way, for the user experience. And it’s also good for software service providers.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;Tangent:&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; This is closely tied to my &lt;/span&gt;&lt;a style=&quot;font-style: italic;&quot; href=&quot;http://gbracha.blogspot.com/2010/01/closing-frontier.html&quot;&gt;previous post&lt;/a&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; regarding the trend toward software services that run on restricted clients.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which brings us to the programmer experience. File APIs will disappear from client platforms (as in the web browser).  So programmers will become accustomed to working with persistent object stores as provided by HTML 5, Air etc. And as they do, they will get less attached to files as code representation as well.&lt;br /&gt;&lt;br /&gt;Most programmers today have a deep attachment to files as a program representation. Take the common convention of representing the Java package hierarchy as a directory hierarchy, with individual classes as files within those directories.&lt;br /&gt;&lt;br /&gt;Unlike C or C++, there is nothing in the Java programming language that requires this. Java wisely dispensed with header files, include directives and the C preprocessor culture. This is a great help in fighting bloat, inordinately long compilation times, platform dependencies etc.&lt;br /&gt;&lt;br /&gt;A Java program consists of packages, which in turn consist of compilation units. There are no files to be found.  And yet, the convention of using directories as a proxy for the package hierarchy persists.&lt;br /&gt;&lt;br /&gt;Of course, it’s not just Java programmers. Programmers in almost any language waste their time fretting over files. The only significant exception is (bien sur!) Smalltalk (and its relatives).&lt;br /&gt;&lt;br /&gt;Files are an artifact that has nothing to do with the algorithms your program uses, or its data structures, or the problem the program is trying to solve. &lt;span style=&quot;font-style: italic; font-weight: bold;&quot;&gt;You don’t need to know how your code is scattered among files anymore than you need to know what disk sector it’s on.&lt;/span&gt;  Worrying about it is just unnecessary cognitive load. Programmers need not be filing clerks either.&lt;br /&gt;&lt;br /&gt;With modern IDEs, one can easily view the structure of the program instead. In fact, the IDE can load your Java program that much faster if it doesn’t use the standard convention.  You can still export your code in files for transport or storage but that is pretty much the only use for them.&lt;br /&gt;&lt;br /&gt;I suspect these comments will spur a heated response. Most programmers have used the file system as a surrogate IDE for so long that they find it hard to break old habits and imagine a cleaner, simpler way of doing business. But do note that I am &lt;span style=&quot;font-weight: bold;&quot;&gt;not&lt;/span&gt; arguing for the Smalltalk image model here - I’ve discussed its strengths and weaknesses &lt;a href=&quot;http://gbracha.blogspot.com/2009/10/image-problem.html&quot;&gt;elsewhere&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What I am saying is that your data - including but not limited to program code  - should be viewed in a structured, searchable, semantically meaningful form. Not text files, not byte streams, but (collections of) objects.&lt;br /&gt;&lt;br /&gt;As file systems disappear from the user experience, and from client APIs, newer generations of coders will be increasingly open to the idea of storing their code in something more like a database or object store. It will take time, and better tooling (especially IDEs and source control systems) but it will happen.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/2447174102813539049-7827736697957440885?l=gbracha.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Gilad Bracha (noreply@blogger.com)</name>
			<uri>http://gbracha.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Miguel Cobá: Seaside book - PDF version</title>
		<link rel="alternate" type="text/html" href="http://miguel.leugim.com.mx/index.php/2010/02/01/seaside-book-pdf-version/"/>
		<id>http://miguel.leugim.com.mx/?p=178</id>
		<updated>2010-02-01T19:28:39+00:00</updated>
		<content type="html">&lt;p&gt;Just announced on the Lukas Renggli’s blog:&lt;/p&gt;
&lt;p&gt;The PDF version of the book &lt;a href=&quot;http://book.seaside.st/book&quot; class=&quot;external&quot; title=&quot;http://book.seaside.st/book&quot;&gt;Dynamic Web Development with Seaside&lt;/a&gt; is available to download now:&lt;/p&gt;
&lt;dl&gt;
&lt;dd&gt; &lt;a href=&quot;http://book.seaside.st/book/introduction/pdf-book&quot; class=&quot;external&quot; title=&quot;http://book.seaside.st/book/introduction/pdf-book&quot;&gt;http://book.seaside.st/book/introduction/pdf-book&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;At the end of the payment process (PayPal) you will be redirected to the download area where you are able to get the latest builds of the PDF version of the book. If you bookmark the page you will be able to download fixes and extra chapters as we integrate them into the online version. By buying the PDF version you support our hard work on the book.&lt;/p&gt;
&lt;p&gt;We wish to thank the &lt;a href=&quot;http://www.esug.org/&quot; class=&quot;external&quot; title=&quot;http://www.esug.org&quot;&gt;European Smalltalk User Group&lt;/a&gt;, &lt;a href=&quot;http://www.inceptive.be/&quot; class=&quot;external&quot; title=&quot;http://www.inceptive.be&quot;&gt;inceptive.be&lt;/a&gt;, &lt;a href=&quot;http://www.cincomsmalltalk.com/&quot; class=&quot;external&quot; title=&quot;http://www.cincomsmalltalk.com&quot;&gt;Cincom Smalltalk&lt;/a&gt; and &lt;a href=&quot;http://seaside.gemstone.com/&quot; class=&quot;external&quot; title=&quot;http://seaside.gemstone.com/&quot;&gt;GemStone Smalltalk&lt;/a&gt; for generously sponsoring this book. We are looking for additional sponsors. If you are interested, please contact us. If you are a publisher and interested in publishing this material, please let us know.&lt;/p&gt;
&lt;p&gt;So if you’re looking for a updated reference to Seaside, this is the book to have. Support the effort by purchasing a copy in PDF version. Also, soon they will have this version available in &lt;a href=&quot;http://lulu.com&quot; target=&quot;_blank&quot; title=&quot;lulu&quot;&gt;lulu&lt;/a&gt; so that if you prefere the dead-tree version, you’ll also soon have access to it.&lt;/p&gt;</content>
		<author>
			<name>miguel</name>
			<uri>http://miguel.leugim.com.mx</uri>
		</author>
	</entry>

	<entry>
		<title>Ramon Leon: Dynamic Web Development with Seaside PDF Available for Purchase</title>
		<link rel="alternate" type="text/html" href="http://onsmalltalk.com/2010-02-01-dynamic-web-development-with-seaside-pdf-available-for-purchase"/>
		<id>http://onsmalltalk.com/2010-02-01-dynamic-web-development-with-seaside-pdf-available-for-purchase</id>
		<updated>2010-02-01T10:02:20+00:00</updated>
		<content type="html">&lt;p&gt;Reposted from &lt;a href=&quot;http://www.lukas-renggli.ch/blog/seaside-book-pdf&quot;&gt;Lukas Renggli blog&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;dir&gt;
The PDF version of the book &lt;a href=&quot;http://book.seaside.st/book/introduction/pdf-book&quot;&gt;Dynamic Web Development with Seaside&lt;/a&gt; is available to download now.   &lt;p&gt;&lt;/p&gt;

&lt;p&gt;At the end of the payment process (PayPal) you will be redirected to the download area where you are able to get the latest builds of the PDF version of the book. If you bookmark the page you will be able to download fixes and extra chapters as we integrate them into the online version. By buying the PDF version you support our hard work on the book.&lt;/p&gt;

&lt;p&gt;We wish to thank the European Smalltalk User Group, inceptive.be, Cincom Smalltalk and GemStone Smalltalk for generously sponsoring this book. We are looking for additional sponsors. If you are interested, please contact us. If you are a publisher and interested in publishing this material, please let us know.
&lt;/p&gt;

&lt;p&gt;So please, support the Seaside community and buy the book, I know I will.&lt;/p&gt;&lt;/dir&gt;</content>
		<author>
			<name>Ramon Leon</name>
			<uri>http://onsmalltalk.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Milan Zimmermann: Using Etoys to Develop XO Sugar Activities</title>
		<link rel="alternate" type="text/html" href="http://etoys-squeak-and-sugar.blogspot.com/2009/12/use-etoys-to-develop-xo-sugar-activity.html"/>
		<id>tag:blogger.com,1999:blog-6780919917440386358.post-2219360832501027421</id>
		<updated>2010-02-01T00:27:50+00:00</updated>
		<content type="html">This blog describes how to use Etoys to develop a XO Sugar Activity. Let me start with a FAQ.

Blog FAQs - Using Etoys to Develop XO Sugar Activities

Changes:
February 2010 
added a note about different ways of installing the Sugar Operating System
added a note about Etoys and Squeak 
What is the Goal of this Blog?
This blog will talk about development of Sugar Activities in Etoys; it will also</content>
		<author>
			<name>Milan Zimmermann (noreply@blogger.com)</name>
			<uri>http://etoys-squeak-and-sugar.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Julian Fitzell: Easing compatibility with Grease</title>
		<link rel="alternate" type="text/html" href="http://blog.fitzell.ca/2010/01/easing-compatibility-with-grease.html"/>
		<id>tag:blogger.com,1999:blog-7664597274807100637.post-5201396160215498564</id>
		<updated>2010-01-30T08:35:36+00:00</updated>
		<content type="html">&lt;span style=&quot;text-align: right;&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_EoQpw9D2JLc/S2PqkKE44wI/AAAAAAAACkc/4B3a9iPSmRQ/s400/oilcan-sxc.hu-DarkSide%20%28whitened%29.jpg&quot; style=&quot;border: 0px;&quot; /&gt;&lt;p&gt;&lt;a style=&quot;font-size: 6pt;&quot; href=&quot;http://www.sxc.hu/photo/808789&quot;&gt;Photo by DarkSide, sxc.hu&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;In December, I gave a &lt;a href=&quot;http://www.slideshare.net/jfitzell/seaside-portability&quot;&gt;presentation on portability&lt;/a&gt; to the &lt;a href=&quot;http://www.nycsmalltalk.org/&quot;&gt;NYC Smalltalk&lt;/a&gt; group. &lt;a href=&quot;http://seaside.st/&quot;&gt;Seaside&lt;/a&gt; now runs on at least seven different Smalltalk distributions. Given the lack of standardization, this is no minor feat; for Seaside’s developers, the need to keep code portable is always on our mind. As a result, we have gradually accumulated a set of tools, patterns, and conventions to help keep our code as portable as possible and to factor out code that needs to be implemented differently on each platform.&lt;/p&gt;&lt;p&gt;In our work on other projects, we found the same portability challenges came up over and over and we wanted to use the tools we had developed for Seaside to address them. So we began to split out the Seaside-specific functionality, allowing us to leverage the generic parts it in our other work. And thus Grease was born.&lt;/p&gt;&lt;p&gt;So what exactly is Grease?&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Grease enhances the ANSI Smalltalk standard.&lt;/span&gt; With only a few exceptions, we assume platforms are fully ANSI-compliant. Platforms want to support Seaside and standardization makes this easier for the project’s developers and its porters.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Grease defines expected APIs with unit tests.&lt;/span&gt; Platforms can quickly determine if they are compatible and users can examine the tests to determine &lt;span style=&quot;font-style: italic;&quot;&gt;exactly&lt;/span&gt; which behaviours they can count on.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Grease takes a pragmatic approach to compatibility.&lt;/span&gt; Sometimes a method behaves so differently on two platforms, for example, that we are forced to avoid it or to standardize on a new selector. To get standard exception signaling on all platforms, Grease is forced to provide special exception classes that can be subclassed. Sometimes we need to put “right” aside and settle, instead, on a solution that can be implemented everywhere.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Grease tries to be concise and consistent.&lt;/span&gt; Despite its pragmatic approach, we still want to be “right” as much as possible. Because it’s hard to remove functionality once it has been added, we need to carefully consider each addition before proceeding. We’re moving slowly and looking for methods that are commonly used and that have clear names and semantics.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Grease does not try to solve all problems.&lt;/span&gt; We are not testing Sockets or HTTP clients. We don’t expect platforms to have standard SSL or graphics libraries. Its scope may grow over time, but for now we’re focusing on extending the functionality of the core classes defined in the ANSI standard (collections, exceptions, streams, blocks, etc.) and on other pieces of functionality that are critical to the Seaside project (e.g. random number generation and secure hashing).&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Grease is widely adopted.&lt;/span&gt; Implementations exist already for all platforms that support Seaside 3.0. As well as Seaside, new versions of Magritte, Pier, and Monticello are already being implemented on top of Grease.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you’re developing on Squeak or Pharo, you can also benefit from Slime, which uses the Refactoring Browser to find and, in some cases, rewrite common compatibility problems. Think of Grease as defining what you &lt;span style=&quot;font-style: italic;&quot;&gt;can&lt;/span&gt; write and Slime as defining what you &lt;span style=&quot;font-style: italic;&quot;&gt;can’t&lt;/span&gt;. It would be nice if Slime could be extended to other platforms, but their RB implementations are currently not compatible enough (a perfect target for Grease!).&lt;/p&gt;&lt;p&gt;Grease will continue to be part of the Seaside project and to be driven, for now, primarily by Seaside’s requirements. But we hope other projects will find it increasingly useful over time. Since each platform has already ported it, you may already be able to leverage it to provide increased consistency and portability for your applications. For the moment, consider Grease a prerelease and subject to major change; it will track Seaside releases for now, though I’m thinking of assigning independent version numbers to Grease releases to make things clearer.&lt;/p&gt;&lt;p&gt;The Grease packages can be found in the &lt;a href=&quot;http://www.squeaksource.com/Seaside30.html&quot;&gt;Seaside 3.0 repository&lt;/a&gt; or through your vendor's standard code distribution mechanism.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/7664597274807100637-5201396160215498564?l=blog.fitzell.ca&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Julian Fitzell (jfitzell@gmail.com)</name>
			<uri>http://blog.fitzell.ca/search/label/smalltalk</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: seasidehosting.st now with Pharo support</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/seasidehostingst-now-with-pharo-support.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-8721231618625358993</id>
		<updated>2010-01-29T08:35:25+00:00</updated>
		<content type="html">&lt;a href=&quot;http://lists.gforge.inria.fr/pipermail/pharo-project/2010-January/021284.html&quot;&gt;Adrian&lt;/a&gt; announced that the free &lt;a href=&quot;http://seaside.st/&quot;&gt;Seaside&lt;/a&gt; hosting service &lt;a href=&quot;http://www.seasidehosting.st&quot;&gt;seasidehosting.st&lt;/a&gt; now also supports &lt;a href=&quot;http://pharo-project.org&quot;&gt;Pharo&lt;/a&gt; (as well as any other closure aware Squeak images) since they updated the VM. Cool!&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-8721231618625358993?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Bert Freudenberg: Interactive OLPC XO Display Simulation</title>
		<link rel="alternate" type="text/html" href="http://croquetweak.blogspot.com/2007/03/interactive-olpc-xo-display-simulation.html"/>
		<id>tag:blogger.com,1999:blog-10460112.post-5092299994185428197</id>
		<updated>2010-01-27T15:37:49+00:00</updated>
		<content type="html">&lt;a href=&quot;http://squeakland.org/project.jsp?http://freudenbergs.de/bert/etoys/OLPC-XO-Display.pr&quot;&gt;&lt;img src=&quot;http://bp1.blogger.com/_gCu9ub99Rz4/Resga6xtdFI/AAAAAAAAABs/6CGTXxZzVgM/s400/OLPC-XO-Display.png&quot; style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5038156254970475602&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Many people still have not seen the innovative display of the OLPC project's &quot;XO&quot; laptop. It has twice the resolution of a regular LCD (200 dpi), and works in bright daylight in gray-scale reflective mode. It's impossible for me to increase your screen's resolution by software, and I cannot make your display reflective, but here is an interactive simulation of the backlight mode with its interesting color pattern. This pattern is the source of a lot of confusion about the &quot;color resolution&quot; of the display. The LCD has 1200x900 square pixels, but the backlight puts a full color through each pixel. It is not made of red, green, and blue sub-pixels like a regular LCD, but the first pixel is full red, the second green, the third blue, and so on. The DCON chip (Display CONtroller) selects the color components from the full-color frame buffer.&lt;br /&gt;&lt;br /&gt;My simulation of the DCON achieves the same effect by selecting either the red, green, or blue color component in each pixel. Just move the mouse pointer around to see how different colors are reproduced.  You'll notice strong diagonal patterns, but remember, on the actual display the pixels are only half as large. Note that the actual DCON optionally applies a bit of anti-aliasing in hardware which is not simulated here. It helps reproducing fine structures and depicts colors more accurately. Additionally, the simulation shows a magnified image to better illustrate the principle, but it is not accurate because the reflective area of each pixel is not depicted. Maybe I can add this in a later version.&lt;br /&gt;&lt;br /&gt;I made the simulation using Squeak / Etoys, which is one of the programming environments on the OLPC machine, but also works on Windows, Mac OS X, Linux, and many  more systems. If you run the simulation on the actual laptop (download the project, place it in /home/olpc/.sugar/default/etoys/MyEtoys, run Etoys, choose Load Project), then you should close the small simulated screen and just leave the magnified view open.&lt;br /&gt;&lt;br /&gt;For the interactive simulation, download &lt;a href=&quot;http://squeakland.org/detect.html&quot;&gt;Squeak&lt;/a&gt; (this version installs both, a regular application and a browser plugin), then &lt;a href=&quot;http://squeakland.org/project.jsp?http://freudenbergs.de/bert/etoys/OLPC-XO-Display.pr&quot;&gt;click here&lt;/a&gt; to run the simulation in your browser, or download the &lt;a href=&quot;http://freudenbergs.de/bert/etoys/OLPC-XO-Display.pr&quot;&gt;project file&lt;/a&gt;, launch Squeak, and drop the project into it.&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Intel-Mac users&lt;/span&gt; beware, the plugin is not supported directly yet. To see the project in  Safari, you have to quit Safari, set it to open in Rosetta (select Safari in the finder, press Cmd-i), and reopen. Or, use the download method, Squeak itself is running fine on Intel Mac, it's just the browser plugin that's making problems.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/10460112-5092299994185428197?l=croquetweak.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Bert (noreply@blogger.com)</name>
			<uri>http://croquetweak.blogspot.com/search/label/squeak</uri>
		</author>
	</entry>

	<entry>
		<title>Bert Freudenberg: Etoys kid-tested on XO</title>
		<link rel="alternate" type="text/html" href="http://croquetweak.blogspot.com/2007/01/etoys-kid-tested-on-xo.html"/>
		<id>tag:blogger.com,1999:blog-10460112.post-2513343767600019122</id>
		<updated>2010-01-27T15:37:42+00:00</updated>
		<content type="html">&lt;a href=&quot;http://bp0.blogger.com/_gCu9ub99Rz4/RbPn6l8B_mI/AAAAAAAAABI/Us45v3XKeng/s1600-h/OLPCSophie2.jpg&quot;&gt;&lt;img src=&quot;http://bp0.blogger.com/_gCu9ub99Rz4/RbPn6l8B_mI/AAAAAAAAABI/Us45v3XKeng/s200/OLPCSophie2.jpg&quot; style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5022613003250564706&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;I brought my green machine home this weekend, and my twins had fun with it. Enormous fun in fact for the two 7-year olds, pounding on TamTam furiously. I couldn't bear it anymore after half an hour or so.&lt;br /&gt;&lt;br /&gt;Instead, I showed Jakob how to make a little figure bounce around on the screen in Etoys, while his sister went to practice her cello. He painted a simple head, and then we used the &quot;forward by&quot; and &quot;bounce&quot; tiles in a tiny two-line script making it move around. I made the mistake of pointing out that the &quot;bounce&quot; tile can produce some noise when bouncing. Endless fun trying the different noises ensued. Oh well.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://bp1.blogger.com/_gCu9ub99Rz4/RbPn618B_nI/AAAAAAAAABQ/eDfr0-fxWAo/s1600-h/OLPCSophieJakob2.jpg&quot;&gt;&lt;img src=&quot;http://bp1.blogger.com/_gCu9ub99Rz4/RbPn618B_nI/AAAAAAAAABQ/eDfr0-fxWAo/s200/OLPCSophieJakob2.jpg&quot; style=&quot;margin: 0pt 10pt 10px 0px; float: left; cursor: pointer;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5022613007545532018&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;Disturbed in her practice by these noises, Sophie came over and wanted to paint, too. So we saved Jakob's project and started a new one for her. I sat back to work on my email and let her brother teach. She spend like half an hour just painting the figure. The paint tool showed that it is not tuned to the XO's display resolution yet, it's far too small. But not giving up that easily, Sophie was erasing and repainting it over and over until she was satisfied with her &quot;cow girl&quot;.  Then Jakob proudly told her how to let it move and bounce, he had rembered almost everything needed. Together they  quickly made it work, and just started exploring the noise-making possibilities again when we were saved by the call to dinner ...&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/10460112-2513343767600019122?l=croquetweak.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Bert (noreply@blogger.com)</name>
			<uri>http://croquetweak.blogspot.com/search/label/squeak</uri>
		</author>
	</entry>

	<entry>
		<title>Bert Freudenberg: OLPC talk at design school</title>
		<link rel="alternate" type="text/html" href="http://croquetweak.blogspot.com/2007/01/olpc-talk-at-design-school.html"/>
		<id>tag:blogger.com,1999:blog-10460112.post-6570186759354313299</id>
		<updated>2010-01-27T15:37:34+00:00</updated>
		<content type="html">I gave a talk about the $100-laptop at the Magdeburg school of &lt;a href=&quot;http://www.gestaltung.hs-magdeburg.de/&quot;&gt;Industrial Design&lt;/a&gt;. We did some very inspiring projects using Squeak, Etoys, and Croquet together before. The designers always come up with interesting ideas, even though not everything is directly implementable by us developers.&lt;br /&gt;&lt;br /&gt;Carola Zwick, dean of the school, wrote a book &lt;a href=&quot;http://www.avabooks.com.sg/avauk/details.php?id=107&quot;&gt;Designing for Small Screens&lt;/a&gt; that certainly gives valuable insight for OLPC developers, and she provided (though indirectly) some very important infrastructure for the OLPC office: her &lt;a href=&quot;http://www.seven5.com/&quot;&gt;group&lt;/a&gt; designed the &lt;a href=&quot;http://www.hermanmiller.com/mirra/&quot;&gt;chairs&lt;/a&gt; they are sitting on. I got the actual invitation by Christine Strothotte, who got her PhD doing computer graphics in Smalltalk just a few years before I got mine from the same school. She's teaching interaction design nowadays. I'm looking forward to doing an OLPC-related project with these great folks.&lt;br /&gt;&lt;br /&gt;A student took some &lt;a href=&quot;http://www.wretch.cc/album/album.php?id=hangxdesign&amp;amp;book=34&amp;amp;page=1&quot;&gt;photographs&lt;/a&gt; during the talk. Also, from his &lt;a href=&quot;http://hangxdesign.blogspot.com/2007/01/the100-dollar-laptop.html&quot;&gt;blog post&lt;/a&gt; it seems I convinced him of the merits of the OLPC project (it was a lively discussion). Thanks for posting, Cheng!&lt;a href=&quot;javascript:void(0)&quot; tabindex=&quot;7&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/10460112-6570186759354313299?l=croquetweak.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Bert (noreply@blogger.com)</name>
			<uri>http://croquetweak.blogspot.com/search/label/croquet</uri>
		</author>
	</entry>

	<entry>
		<title>Bert Freudenberg: Sophie, Tweak on the OLPC laptop</title>
		<link rel="alternate" type="text/html" href="http://croquetweak.blogspot.com/2007/01/sophie-tweak-on-olpc-laptop.html"/>
		<id>tag:blogger.com,1999:blog-10460112.post-2070333274906015010</id>
		<updated>2010-01-27T15:37:26+00:00</updated>
		<content type="html">&lt;a href=&quot;http://bp2.blogger.com/_gCu9ub99Rz4/RaZekV8B_kI/AAAAAAAAAAk/6P8mXeoRYL8/s1600-h/SophieOnXO-2.jpg&quot;&gt;&lt;img src=&quot;http://bp2.blogger.com/_gCu9ub99Rz4/RaZekV8B_kI/AAAAAAAAAAk/6P8mXeoRYL8/s320/SophieOnXO-2.jpg&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: right; cursor: pointer;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5018802813208231490&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;I just installed &lt;a href=&quot;http://sophieproject.org/&quot;&gt;Sophie&lt;/a&gt; on my green machine. Sophie is a project of the &lt;a href=&quot;http://www.futureofthebook.org/&quot;&gt;Institute for the Future of the Book&lt;/a&gt;, is implemented in &lt;a href=&quot;http://squeak.org/&quot;&gt;Squeak&lt;/a&gt; (just like my &lt;a href=&quot;http://wiki.laptop.org/go/Etoys&quot;&gt;Etoys activity&lt;/a&gt; on the laptop) using &lt;a href=&quot;http://tweak.impara.de/&quot;&gt;Tweak&lt;/a&gt; as its UI framework (which is the original topic of my blog). Tweak is also the base for the next-gen Etoys.&lt;br /&gt;&lt;br /&gt;Installation went pretty smooth. I downloaded the cross-platform zip file using the  Web activity from Sugar&lt;br /&gt;and unpacked it using the command line. The first start of Sophie failed, but after replacing the failing plugin with one from the pre-installed Squeak it started and worked. Yay!&lt;br /&gt;&lt;br /&gt;This is an excellent example why it's a good idea to have a regular X11 installation on the kid's laptop: a lot of software will just work, even if it is not correctly integrated into the Sugar UI.&lt;br /&gt;&lt;br /&gt;Michael Rüger of &lt;a href=&quot;http://impara.de/&quot;&gt;impara&lt;/a&gt; (a Squeak shop leading Sophie development here in Magdeburg, Germany) came over and made a little book, downloading two logos directly from the web (Sophie can do that!), adding a bit of text and color ... Tweak performance is not exactly blazing on the XO machine, I think we made the right decision to not use the Tweak-based Etoys but stick to the proven Morphic-based one. Of course one could optimize it a lot, but who has time for that? Anyway, it was useable - click the image to get a larger view:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://bp2.blogger.com/_gCu9ub99Rz4/RaZooV8B_lI/AAAAAAAAAAs/PEvYnG3fCKQ/s1600-h/SophieOnXO-1.jpg&quot;&gt;&lt;img src=&quot;http://bp2.blogger.com/_gCu9ub99Rz4/RaZooV8B_lI/AAAAAAAAAAs/PEvYnG3fCKQ/s320/SophieOnXO-1.jpg&quot; style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5018813877043986002&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/10460112-2070333274906015010?l=croquetweak.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Bert (noreply@blogger.com)</name>
			<uri>http://croquetweak.blogspot.com/search/label/squeak</uri>
		</author>
	</entry>

	<entry>
		<title>Bert Freudenberg: Squeak for every child</title>
		<link rel="alternate" type="text/html" href="http://croquetweak.blogspot.com/2006/09/squeak-for-every-child.html"/>
		<id>tag:blogger.com,1999:blog-10460112.post-115801261793100987</id>
		<updated>2010-01-27T15:37:18+00:00</updated>
		<content type="html">&lt;img src=&quot;http://photos1.blogger.com/blogger/1210/665/400/olpc-squeak.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Lately I work on Squeak integration in the One Laptop Per Child (&lt;a href=&quot;http://laptop.org/&quot;&gt;OLPC&lt;/a&gt;) project, perhaps better known as the &quot;$100 laptop&quot;. The whole etoys group came over to OLPC's office in Cambridge. Squeak looks surprisingly well on the display prototype, and also etoys are reasonably fast. Ian Piumarta took some nice &lt;a href=&quot;http://piumarta.com/photos/olpc/&quot;&gt;pictures&lt;/a&gt;, which might very well be the first photos of the actual display in the wild.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/10460112-115801261793100987?l=croquetweak.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Bert (noreply@blogger.com)</name>
			<uri>http://croquetweak.blogspot.com/search/label/squeak</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: Seaside - PDF Book</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/seaside-pdf-book.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-5948747103158883898</id>
		<updated>2010-01-27T14:14:59+00:00</updated>
		<content type="html">&lt;a href=&quot;http://lists.gforge.inria.fr/pipermail/pharo-project/2010-January/021141.html&quot;&gt;Lukas announced a PDF version&lt;/a&gt; of the &lt;a href=&quot;http://book.seaside.st/&quot;&gt;online Seaside book&lt;/a&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-5948747103158883898?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Randal Schwartz: Pier2 on Seaside3 on Squeak Trunk</title>
		<link rel="alternate" type="text/html" href="http://methodsandmessages.vox.com/library/post/pier2-on-seaside3-on-squeak-trunk.html?_c=feed-atom-full"/>
		<id>tag:vox.com,2010-01-27:asset-6a00e398cc856f00050123ddde6fbb860b</id>
		<updated>2010-01-27T01:22:39+00:00</updated>
		<content type="html">&lt;div&gt;
        &lt;p&gt;Apparently, while I wasn't looking, some Very Smart People finally ported Pier to new Seaside, which I've been waiting for as a prerequisite to cutting www.stonehenge.com over to Seaside and away from Perl. It's a bit tricky to get it all installed, but I have this magical set of incantations that can bring it in as needed:&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot; class=&quot;webkit-indent-blockquote&quot;&gt;&lt;p&gt;(Installer ss project: 'MetacelloRepository') install: 'ConfigurationOfMetacello'; install: 'ConfigurationOfPier2'!&lt;br /&gt;ConfigurationOfMetacello loadLatestVersion!&lt;br /&gt;ConfigurationOfMetacello project latestVersion load: #('UI')!&lt;br /&gt;ConfigurationOfPier2 load!&lt;/p&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stick these into a file ending in &quot;.cs&quot;, and then drag that file into an updated Squeak-Trunk image, or pull up a file list and browse to it and file it in.  After about 5 minutes and a lot of net downloads, you have a &quot;squeak trunk plus seaside 3 plus magritte plus pier 2&quot; image.  Yeay!&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;   &lt;p style=&quot;clear: both;&quot;&gt; 
    &lt;a href=&quot;http://methodsandmessages.vox.com/library/post/pier2-on-seaside3-on-squeak-trunk.html?_c=feed-atom-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00e398cc856f00050123ddde6fbb860b?_c=feed-atom-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;

                &lt;/div&gt;</content>
		<author>
			<name>Randal Schwartz</name>
			<uri>http://methodsandmessages.vox.com/library/posts/tags/squeak/page/1/</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: Pharo 1.0 Release Candidate 2 and image building</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/pharo-10-release-candidate-2-and-image.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-6227427604777245576</id>
		<updated>2010-01-26T21:44:04+00:00</updated>
		<content type="html">There is a new &lt;a href=&quot;http://pharo-project.org/pharo-download&quot;&gt;Pharo 1.0 RC2&lt;/a&gt; (release candidate 2) image available. If you are on Windows you can also download the &lt;a href=&quot;http://gforge.inria.fr/frs/download.php/25407/setup_pharo1.0-10508-rc2dev10.01.2.exe&quot;&gt;new setup&lt;/a&gt;. But there is much more going on in the Pharo community going on than just a new image.&lt;br /&gt;&lt;br /&gt;The interesting stuff is that by using the Metacello packaging system one is able to load &lt;a href=&quot;http://lists.gforge.inria.fr/pipermail/pharo-project/2010-January/019049.html&quot;&gt;packages that are compatible with Pharo&lt;/a&gt;. Try the examples in the provided intro workspaces of RC2 and check out &lt;a href=&quot;http://gemstonesoup.wordpress.com/2010/01/25/metacello-1-0-beta22-launches/&quot;&gt;Dales blog&lt;/a&gt; for more metacello news.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After playing a little bit with it and &lt;a href=&quot;http://lists.squeakfoundation.org/pipermail/seaside/2010-January/022335.html&quot;&gt;cleaning up my projects&lt;/a&gt; I'am now able to load a Seaside sample application - here &lt;a href=&quot;http://www.squeaksource.com/MetaSource.html&quot;&gt;MetaSource&lt;/a&gt; with dependencies like FFI, &lt;a href=&quot;http://www.seaside.st&quot;&gt;Seaside 3.0&lt;/a&gt;, &lt;a href=&quot;http://squeaksource.com/JQueryWidgetBox.html&quot;&gt;JQueryWidgetBox&lt;/a&gt;, ... just by providing a metacello configuration and evaluating a simple script:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;code&gt;&lt;br /&gt;Gofer new&lt;br /&gt; squeaksource: 'MetaSource';&lt;br /&gt; package: 'ConfigurationOfMetaSource';&lt;br /&gt; load.&lt;br /&gt;&lt;br /&gt;((Smalltalk at: #ConfigurationOfMetaSource) project version: '1.0-alpha1') load&lt;br /&gt;&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;There is also a &lt;a href=&quot;http://squeaksource.com/Loader.html&quot;&gt;loader&lt;/a&gt; in preparation to ease this a little bit more. However - it is really easy now to build custom images like the one with MetaSource - a simple seaside application:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href=&quot;http://n4.nabble.com/attachment/1298851/0/metasource.png&quot;&gt;&lt;img src=&quot;http://n4.nabble.com/attachment/1298851/0/metasource.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-6227427604777245576?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: German Smalltalk evening in Munich</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/german-smalltalk-evening-in-munich.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-1562686753252971388</id>
		<updated>2010-01-26T14:15:03+00:00</updated>
		<content type="html">There is a german &lt;a href=&quot;https://www.xing.com/net/smalltalk/smalltalk-news-6572/stammtisch-zur-oop-in-munchen-27545432/27545432/#27545432&quot;&gt;Smalltalker Meeting&lt;/a&gt; (&quot;Smalltalk-Stammtisch&quot;) on &lt;br /&gt;27.1.2010 in Munich. Just visit the &lt;a href=&quot;http://www.laab-muenchen.de&quot;&gt;Laab&lt;/a&gt; location in the evening. Entrance is free.&lt;br /&gt;&lt;br /&gt;There will be a presentation from &lt;a href=&quot;http://www.objdyn.com&quot;&gt;Thomas Stalzer&lt;/a&gt; on  &quot;Distributed Objectmodels&quot;. If you want to apply just send a short mail with your name to the &lt;a href=&quot;https://www.xing.com/net/smalltalk/smalltalk-news-6572/stammtisch-zur-oop-in-munchen-27545432/27545432/#27545432&quot;&gt;organizer&lt;/a&gt; (Steffen.mueller AT VisKonz.de)&lt;br /&gt;&lt;br /&gt;See also &lt;a href=&quot;http://joachimtuchel.wordpress.com/2010/01/26/smalltalk-stammtisch-in-munchen/&quot;&gt;Joachims blog&lt;/a&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-1562686753252971388?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Randal Schwartz: Squeak on Android!</title>
		<link rel="alternate" type="text/html" href="http://methodsandmessages.vox.com/library/post/squeak-on-android.html?_c=feed-atom-full"/>
		<id>tag:vox.com,2010-01-25:asset-6a00e398cc856f00050123ddf2d289860c</id>
		<updated>2010-01-25T21:10:57+00:00</updated>
		<content type="html">&lt;div&gt;
        &lt;div&gt;&lt;a href=&quot;http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-January/143467.html&quot;&gt;Andreas Raab writes&lt;/a&gt;:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot; class=&quot;webkit-indent-blockquote&quot;&gt;&lt;p&gt;As a result of my weekend distraction you can now download and run &lt;br /&gt;Squeak on any Android based phone. If you have an Android phone, simply &lt;br /&gt;search for &quot;squeak&quot; in the Android market place and it should find it &lt;br /&gt;right there (sorry, Google doesn't seem to give web access to the apps &lt;br /&gt;in the store so I can't send a link).&lt;/p&gt;&lt;p&gt;Please be aware that this is not a full port yet. It's a weekend effort &lt;br /&gt;to show the basic feasibility. Lots (and I mean *lots*) of things are &lt;br /&gt;still missing from a full port (among those is text input and network &lt;br /&gt;support to name just two of the more glaring ones). However, I would be &lt;br /&gt;*very* interested to hear if (and how well) it works for other &lt;br /&gt;Android-based cell phones. So if you have a Motorola Droid or or a &lt;br /&gt;T-Mobile G1 give it a shot and post some benchmark results.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;div&gt;Cool!  I don't have an Android (yet :), but I think this is pretty interesting.  Squeak already runs on the iPhone (two applications in the Apple App store), although not in a way that lets your program it.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;   &lt;p style=&quot;clear: both;&quot;&gt; 
    &lt;a href=&quot;http://methodsandmessages.vox.com/library/post/squeak-on-android.html?_c=feed-atom-full#comments&quot;&gt;Read and post comments&lt;/a&gt;   |   
    &lt;a href=&quot;http://www.vox.com/share/6a00e398cc856f00050123ddf2d289860c?_c=feed-atom-full&quot;&gt;Send to a friend&lt;/a&gt; 
&lt;/p&gt;

                &lt;/div&gt;</content>
		<author>
			<name>Randal Schwartz</name>
			<uri>http://methodsandmessages.vox.com/library/posts/tags/squeak/page/1/</uri>
		</author>
	</entry>

	<entry>
		<title>Gilad Bracha: Closing the Frontier?</title>
		<link rel="alternate" type="text/html" href="http://gbracha.blogspot.com/2010/01/closing-frontier.html"/>
		<id>tag:blogger.com,1999:blog-2447174102813539049.post-5998640595021731128</id>
		<updated>2010-01-24T23:37:46+00:00</updated>
		<content type="html">How is a programming language interpreter like pornography? They’re both banned at the iPhone App store. The restrictions on interpreters disturb me (this blog does not deal with the other topic).&lt;br /&gt;&lt;br /&gt;What if I want to write an iPhone app in my favorite programming language? Or my second favorite? The freedom to program in the language of my choice is a big concern of mine. Even though Squeak Smalltalk runs on the iPhone, and Newspeak runs on top of Squeak, I’m out of luck.  Packaging the entire runtime with each app is not attractive.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Tangent:&lt;/span&gt; In principle, one should be able to write a compiler that spits out Objective-C. After all, Objective-C incorporates Smalltalk style message sends, down to the keyword syntax. In practice, Objective-C on the iPhone doesn’t support true garbage collection, so it just seems too painful. This may change soon - maybe as soon as Wednesday., with iPhone OS 4 and/or the iTablet (pick your favorite rumor). &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The iPhone is a prime example of a trend where our computing platforms become more restricted. As we move toward software as a service rather than an artifact, the computer is no longer as personal; it is very much under control of the service provider. In this case Apple, in other cases Amazon or Google or Microsoft. I’d be surprised if the rumored iTablet won’t work on the same model: rather than an open version of MacOS, a semi-closed world with an app store.&lt;br /&gt;&lt;br /&gt;I completely understand why service providers place these restrictions.  What if my app is a storefront for apps? Whither the app store’s revenue? And then there are security concerns.&lt;br /&gt;&lt;br /&gt;On the iPhone, there are administrative restrictions. Other platforms are more open in that respect - but you tend to run into technical problems.  Take Android - you can distribute a language runtime, but it is the Javanese VM that’s in charge.&lt;br /&gt;&lt;br /&gt;No one will prevent you from implementing your own system on a JVM or on .Net. However, the VM, by its architecture, will make things difficult. If it does not support the right primitives, you find that your language is a second or third class citizen. &lt;br /&gt;&lt;br /&gt;Examples: the typed VM instruction sets are a problem for dynamically typed languages. On .Net, the DLR provides some support, but you’ll never get to peak performance using it as it stands today.  On the JVM, &lt;span style=&quot;font-weight: bold;&quot;&gt;invokedynamic&lt;/span&gt; will ship some sunny day, and that will be better. Even then, if you want real dynamism, you’ll find it very hard. How do you change the class of an object? How do you change the shape of a class? Or its superclass? The solutions are convoluted and/or suboptimal.&lt;br /&gt;&lt;br /&gt;On the desktop, you can choose to bypass these platforms, but the action is increasingly moving elsewhere.  Looking ahead, the dominant platforms won’t be traditional operating systems like Windows, MacOS and Linux; far fewer people will use them directly than today. Instead, we’ll have the web (as in, e.g., ChromeOS), and semi-enclosed service platforms: The moral equivalent of iTablet OS (regardless of what Apple does this Wednesday). The “real OS” may still be there underneath, but virtually no one will care.&lt;br /&gt;&lt;br /&gt;Each of these service platforms will combine a client side, running on phones, tablets, e-books, laptops (e.g., iPhone, Android, Kindle, ChromeOS) and desktops; and a server side (e.g., Azure, Google, E3, iTunes/MobileMe) supporting storage/backup, software update and distribution and services we haven't invented yet.&lt;br /&gt;&lt;br /&gt;The most open of these virtual platforms is of course, the web browser. Mercifully, it is relatively free of administrative restrictions and its machine language is much more flexible than MSIL or JVM byte codes (JVML). Which is not to say that you don’t have to go through some very convoluted and costly hoops. Think of weak pointers/finalization;  or stack manipulation (debuggers, tail recursion) etc.&lt;br /&gt;&lt;br /&gt;There are two threads here:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The narrow technical one, which is about providing abstractions that are good enough to support alternate ways of doing things. One wants flexible designs, especially in the languages that are supposed to be at the heart of general purpose open platforms. Of course, this is much easier said than done. &lt;/li&gt;&lt;li&gt;The broad technological/social/commercial one: the trend toward software services and the cloud is pulling us away from the personal computer and the individual control it entails.  Of course, one of the great attractions here is the idea of a service that relieves much of the responsibility for digital housekeeping. The vast majority of people don’t want all that control with the trouble that goes with it. Balancing this with the freedom to innovate at the platform and language level, and the freedom to choose among languages, is hard.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Long term, the platforms that have more flexibility will benefit more from new ideas, which gives me a basis for unnatural optimism :-)&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/2447174102813539049-5998640595021731128?l=gbracha.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Gilad Bracha (noreply@blogger.com)</name>
			<uri>http://gbracha.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: GemDev IDE - Smalltalk in Eclipse</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/gemdev-ide-smalltalk-in-eclipse.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-2362956642696600995</id>
		<updated>2010-01-21T10:01:33+00:00</updated>
		<content type="html">GemDev is an experimental implementation of Eclipse-based IDE for GemStone Smalltalk.&lt;br /&gt;&lt;br /&gt;See &lt;a href=&quot;http://karpisek.net/gemdev/&quot;&gt;more here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The IDE provides features like Smalltalk Browser, code editor or object inspector. Interesting.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-2362956642696600995?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Squeak Oversight Board: Preliminary Agenda for 2/3/2010</title>
		<link rel="alternate" type="text/html" href="http://squeakboard.wordpress.com/2010/01/21/preliminary-agenda-for-232010/"/>
		<id>http://squeakboard.wordpress.com/?p=241</id>
		<updated>2010-01-21T00:53:13+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;p&gt;Contributor relicensing agreements&lt;/p&gt;
&lt;p&gt;Software Freedom Conservancy and Relicensing&lt;/p&gt;
&lt;p&gt;Free server hosting options&lt;/p&gt;
&lt;p&gt;Promotion and Visibility of Squeak&lt;/p&gt;
&lt;p&gt;Development Progress&lt;/p&gt;
&lt;p&gt;Squeak Swiki Improvement&lt;/p&gt;
&lt;p&gt;Seaside support&lt;/p&gt;
&lt;p&gt;Something more?  Add a comment…&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/squeakboard.wordpress.com/241/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/squeakboard.wordpress.com/241/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/squeakboard.wordpress.com/241/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/squeakboard.wordpress.com/241/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/squeakboard.wordpress.com/241/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/squeakboard.wordpress.com/241/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/squeakboard.wordpress.com/241/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/squeakboard.wordpress.com/241/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/squeakboard.wordpress.com/241/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/squeakboard.wordpress.com/241/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=squeakboard.wordpress.com&amp;amp;blog=7042622&amp;amp;post=241&amp;amp;subd=squeakboard&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</content>
		<author>
			<name>Ken Causey</name>
			<uri>http://squeakboard.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Squeak Oversight Board: Meeting Report for 1/20/2010</title>
		<link rel="alternate" type="text/html" href="http://squeakboard.wordpress.com/2010/01/21/meeting-report-for-1202010/"/>
		<id>http://squeakboard.wordpress.com/?p=237</id>
		<updated>2010-01-21T00:47:55+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;p&gt;Perfect attendance:  Jecel Mattos de Assumpção Jr, Ken Causey, Bert Freudenberg, Craig Latta, Andreas Raab, Randal Schwartz, and Igor Stasenko were all present today.&lt;/p&gt;
&lt;p&gt;Movement is slow but progressing on the MIT relicensing issue and our intent to join the S&lt;a href=&quot;http://conservancy.softwarefreedom.org/&quot;&gt;oftware Freedom Conservancy&lt;/a&gt;.  We are making one more attempt to contact contributors who have not returned signed re-licensing agreements and we will give them a couple of weeks to respond and after that we will take the result and submit it to the SFC for approval.  If they are satisfied with it we will label it Squeak 4.0 and will be functionally equivalent to the &lt;a href=&quot;http://www.squeak.org/Download/&quot;&gt;3.10.2 release &lt;/a&gt;but fully under the &lt;a href=&quot;http://opensource.org/licenses/mit-license.php&quot;&gt;MIT license&lt;/a&gt;.  This is a major requirement for our joining the SFC and once complete we are confident that the rest of the process is reasonably straightforward and hopefully completable on the order of a few weeks.&lt;/p&gt;
&lt;p&gt;Once Squeak 4.0 has been released focus will turn to releasing a 4.1 based on the &lt;a href=&quot;http://source.squeak.org/trunk.html&quot;&gt;Trunk development work&lt;/a&gt;.  We are vaguely aiming at releasing this in March or April if all goes smoothly.&lt;/p&gt;
&lt;p&gt;One of the issues regarding the release of Trunk development work is how to release an image that has had many packages removed and yet make those removals easily and obviously available for reinstallation to users who are new to Squeak.  &lt;a href=&quot;http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-December/141934.html&quot;&gt;Andreas brought this issue up on the squeak-dev mailing&lt;/a&gt; in hopes that someone would become interested and come up with a solution.  This has not happened as of yet and is a topic we continue to discuss.  The reality however is that Andreas and the rest of the Oversight Board have only so much time and other projects that require attention and this one is not likely to get sufficient attention from us before 4.1 is released.  Ultimately we will of course do the best we can to make external package installation as easy as possible, but we welcome better solutions than exist today.  Please give this issue some thought and if you have an idea, better yet a solution, please bring it to the attention of the community on the &lt;a href=&quot;http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev&quot;&gt;squeak-dev mailing list&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Oversight Board election &lt;a href=&quot;http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-January/143375.html&quot;&gt;is coming up soon&lt;/a&gt;.  Look for campaigner’s comments, ensure you are registered to vote, and vote.&lt;/p&gt;
&lt;p&gt;Our next meeting is scheduled for February 3, 2010.&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/squeakboard.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/squeakboard.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/squeakboard.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/squeakboard.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/squeakboard.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/squeakboard.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/squeakboard.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/squeakboard.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/squeakboard.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/squeakboard.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=squeakboard.wordpress.com&amp;amp;blog=7042622&amp;amp;post=237&amp;amp;subd=squeakboard&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</content>
		<author>
			<name>Ken Causey</name>
			<uri>http://squeakboard.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: Smalltalk the good parts</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/smalltalk-good-parts.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-7766203444451602502</id>
		<updated>2010-01-20T10:53:45+00:00</updated>
		<content type="html">Douglas Putnam started a blog called &lt;a href=&quot;http://smalltalkthegoodparts.com&quot;&gt;http://smalltalkthegoodparts.com&lt;/a&gt;  to record his Smalltalk explorations. He starts with a proof of concept for &lt;a href=&quot;http://smalltalkthegoodparts.com/?p=17&quot;&gt;running Smalltalk on Slicehost&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;&quot;We believe that Smalltalk can give us a technological advantage in the coming Web 3.0. &quot;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pssst ... use Smalltalk as your secret weapon and dont tell any other! ;)&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-7766203444451602502?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: Porting from Java to Smalltalk/Seaside</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/porting-from-java-to-smalltalkseaside.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-6631328429183215565</id>
		<updated>2010-01-19T09:33:15+00:00</updated>
		<content type="html">&lt;a href=&quot;http://lists.squeakfoundation.org/pipermail/seaside/2010-January/022346.html&quot;&gt;Interesting&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Maybe the Smalltalk community should provide tools to ease porting ;)&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-6631328429183215565?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Torsten Bergmann: Squeak on Android</title>
		<link rel="alternate" type="text/html" href="http://astares.blogspot.com/2010/01/squeak-on-android.html"/>
		<id>tag:blogger.com,1999:blog-9604963.post-4726315829911399902</id>
		<updated>2010-01-18T11:56:25+00:00</updated>
		<content type="html">&lt;a href=&quot;http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-January/143467.html&quot;&gt;Andreas started to port Squeak to Android&lt;/a&gt;. Cool!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20100117/0ce8a5a5/AndroidSqueak-0001.png&quot; /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/9604963-4726315829911399902?l=astares.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Torsten (noreply@blogger.com)</name>
			<uri>http://astares.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Gilad Bracha: Debugging Visual Metaphors</title>
		<link rel="alternate" type="text/html" href="http://gbracha.blogspot.com/2008/07/debugging-visual-metaphors.html"/>
		<id>tag:blogger.com,1999:blog-2447174102813539049.post-5523663196277658696</id>
		<updated>2010-01-18T01:58:08+00:00</updated>
		<content type="html">My previous post commented on the unsatisfactory state of mainstream IDEs. Continuing with this theme, I want to focus on one of my long term pet peeves - debugger UIs.&lt;br /&gt;&lt;br /&gt;Donald Norman, in his book &lt;a href=&quot;http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0385267746&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;The Design of Everyday Things&lt;/span&gt;&lt;/a&gt;, makes the point that truly good designs are easy to use, because they make it intuitive how they should be used - in his words, they &lt;span style=&quot;font-style: italic;&quot;&gt;afford&lt;/span&gt; a usage pattern.&lt;br /&gt;&lt;br /&gt;How do you describe the state of a running program on a whiteboard? You draw the stack. So it seems to me that a stack is the natural visual metaphor for a debugger. Here is a screen shot of our new Hopscotch-based debugger, which will soon replace the Squeak debugger in the Newspeak IDE.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://bracha.org/Hopscotch%20debugger.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;You can see that the debugger looks like a stack trace. Every entry in the stack trace can be expanded into a presenter that shows that stack frame - including the source code for the method in question, and a view of the state of the frame - the receiver, the variables in the activation, the top of the evaluation stack for expressions (i.e., the last value computed).&lt;br /&gt;&lt;br /&gt;Of course, this isn’t my idea. It’s another one of those great ideas from Self, as evidenced in this screenshot:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://bracha.org/Self%20debugger.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;we already stole the idea from Self once before, in Strongtalk, as shown here.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://bracha.org/StrongtalkDebugger.jpg&quot; style=&quot;width: 709px; height: 572px;&quot; /&gt;&lt;br /&gt;&lt;br /&gt;One of the nice properties of the stack oriented view is that you can view multiple stack frames at once, so you can see and reason about a series of calls, much as you would at your whiteboard.&lt;br /&gt;&lt;br /&gt;In contrast, most IDEs (even Smalltalk IDEs) show a multi-pane view, with one pane showing the source for the current method (in its file, naturally), one pane showing the state of the current frame, and one showing the stack trace.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://bracha.org/EclipseDebugger.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can’t easily see the state of the caller of the current method, or its code, while simultaneously looking at the current method (or another activation in the call chain). And if you modify the current method’s code (assuming you can do that at all), you’re likely locked into a mode, and can’t see the other frames unless you save or cancel your changes.&lt;br /&gt;&lt;br /&gt;Hopscotch GUIs are inherently non-modal - so you can modify any one of the methods you’re viewing, and then link to another page to view, say, the complete class declaration, all without opening another window and without having to save or lose your work.&lt;br /&gt;&lt;br /&gt;The fact that one rarely needs more than one window is one of the things I really like about Hopscotch. There’s no need for a docking bar, or tabs for that matter. Tabs are popular these days, but they don’t scale: they occupy valuable screen real estate, and beyond half a dozen or so become disorienting and unmanageable.&lt;br /&gt;Hopscotch does better than the mainstream, and better than previous efforts like Strongtalk or Self, partly because of its navigation model, and partly because of the inherent &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;compositionality&lt;/span&gt; of tools built with it.  The fact that I can move from the debugger to the class browser in the same window did not require special planning - it’s inherent in the way Hopscotch based tools behave - they can be composed by means of a set of combinators. Compositionality is one of the most crucial, and most often overlooked, properties in software design; it’s what sets Hopscotch apart.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;You can find out more about Hopscotch in this &lt;a href=&quot;http://bracha.org/hopscotch-wasdett.pdf&quot;&gt;paper&lt;/a&gt; and on &lt;a href=&quot;http://blog.3plus4.org/&quot;&gt;Vassili ‘s blog&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The design of debugger UIs is one example of something that needs to change in modern IDEs. There are others of course. Many are related to the basic problems of modality, navigation and proliferation of panes/windows noted above. Overall, your typical IDE UI is too much like the &lt;a href=&quot;http://uscockpits.com/Jet%20Bombers/B-52G%20Stratofortress%20center.JPG&quot;&gt;control panel of a B-52 bomber&lt;/a&gt; or an &lt;a href=&quot;http://www.space1.com/Spacecraft_Data/Handbook_Illustrations/Apollo/Apollo_Control_Panel/apollo_control_panel.html&quot;&gt;Apollo space capsule&lt;/a&gt;: a mind boggling array of switches, gauges, controls and wizards that interact with each other in myriad and confusing ways.  This is neither necessary nor desirable. Like explicit memory management and primitive types, in time we will progress beyond these.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/2447174102813539049-5523663196277658696?l=gbracha.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Gilad Bracha (noreply@blogger.com)</name>
			<uri>http://gbracha.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Gilad Bracha: Invisible Video</title>
		<link rel="alternate" type="text/html" href="http://gbracha.blogspot.com/2008/07/invisiible-video.html"/>
		<id>tag:blogger.com,1999:blog-2447174102813539049.post-7477168280176165957</id>
		<updated>2010-01-18T01:56:27+00:00</updated>
		<content type="html">A quick update; several people have told me that the Smalltalk Solutions video of the Hopscotch demo is unhelpful, since you can't see the screen. I should have watched it before linking to it; I apologize. Since I was in the room during the presentation, I didn't think to watch it again. My bad.  I've taken the link down. We'll produce a viewable demo for download and post it in th enear future.  Again, apologies to  to anyone who spent time downloading/watching the unwatchable.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/2447174102813539049-7477168280176165957?l=gbracha.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Gilad Bracha (noreply@blogger.com)</name>
			<uri>http://gbracha.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Gilad Bracha: Apologia</title>
		<link rel="alternate" type="text/html" href="http://gbracha.blogspot.com/2009/01/apologia.html"/>
		<id>tag:blogger.com,1999:blog-2447174102813539049.post-1728887574143465074</id>
		<updated>2010-01-18T01:56:27+00:00</updated>
		<content type="html">Here’s a quick update on the status of the Newspeak prototype release. If anyone is keeping score - I had said we’d put something out in the first week of January 2009.  So we’re behind schedule. I apologize, but what are you going to do - cut my funding?&lt;br /&gt;&lt;br /&gt;Nevertheless, we will be putting a prototype out soon. I’m holding off so that a few small things can be added.&lt;br /&gt;&lt;br /&gt;In the meantime, I wanted to take the opportunity to say a bit about the prototype. Obviously, due to our reduced circumstances, it is a lot less ambitious than I had once hoped.&lt;br /&gt;&lt;br /&gt;We do have a native GUI binding on Windows; I had hoped to have native GUI bindings for Mac and Linux, but that will depend on future open source contributions. You can of course run the system on those platforms, but you’ll have to live with the Morphic binding for now.&lt;br /&gt;&lt;br /&gt;The language itself remains incomplete as well - but the key features are there. I expect to rev the syntax and add the missing features (like object literals) over time. One of the reasons these features have been delayed is that I want to add them in the context of a completely new compiler.  Such a compiler will also make it easier to do ports - e.g., Newspeak on V8.&lt;br /&gt;&lt;br /&gt;One of the biggest deficits is the lack of libraries written in Newspeak. We continue to rely heavily on the existing Squeak libraries. We have made some progress on this front, largely through the efforts of some volunteers who got early access to the system. I want to take this opportunity to thank Yardena Meymann, David Pennell and Stephen Pair for their work on the library port. They are all busy professionals who were willing to take the time to do something concrete to help move Newspeak forward. I hope that we’ll see a lot more of that after the release!&lt;br /&gt;&lt;br /&gt;What we’ve been doing is porting some of the core libraries from Strongtalk to Newspeak. These libraries have several important advantages: they are small, yet complete enough to run a real system; they are blue book compatible (give or take), so we have a good chance of replacing our uses of Squeak code with them, without excessive disruption; they are quite cleanly written; they have type annotations; and, it so happens, they have a liberal license.&lt;br /&gt;&lt;br /&gt;On the other hand, these libraries were not purpose built for Newspeak; no thought has been given to security, the designs do not leverage features like mixins as much as one might etc..  Still, they provide us the with the most realistic path to getting a small stand alone system in the foreseeable future.&lt;br /&gt;&lt;br /&gt;This library code will not be anywhere near complete and integrated when we put out the prototype. But it whatever we have will be available, and we’ll move on from there.&lt;br /&gt;There are any number of other things lacking, and no doubt many will be eager to point them out. However, that scarcely matters. What matters is the &lt;span style=&quot;font-style: italic;&quot;&gt;potential&lt;/span&gt; this system has. It’s being put out, so those with the imagination, sophistication and, above all, &lt;span style=&quot;font-weight: bold;&quot;&gt;taste&lt;/span&gt; to appreciate it can start using it and contributing to it - eventually realizing that potential.&lt;br /&gt;&lt;br /&gt;So for that small elite that has shown interest and appreciation for Newspeak so far - thanks, and hang in there. It will be available, Real Soon Now :-)&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/2447174102813539049-1728887574143465074?l=gbracha.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Gilad Bracha (noreply@blogger.com)</name>
			<uri>http://gbracha.blogspot.com/</uri>
		</author>
	</entry>

</feed>
