<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4331031540540221444</id><updated>2011-11-28T00:43:24.377Z</updated><category term='apache'/><category term='SqueakDBX'/><category term='morphic'/><category term='squeak'/><category term='smalltalk'/><category term='tutorial'/><category term='irc'/><category term='magritte'/><category term='caching'/><category term='seaside'/><category term='GNU Smalltalk'/><category term='OpenDBX'/><category term='Hello World'/><title type='text'>Dreams of a Scorpion</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-1365447299920522573</id><published>2009-05-15T13:57:00.002Z</published><updated>2009-05-15T14:00:20.198Z</updated><title type='text'>Nice quote about Smalltalk</title><summary type='text'>"The thing that I really hate about Smalltalk though, is the fact that every time I wish C++ or Java did something differently it turns out that Smalltalk does it the way I want it to. I've never even used Smalltalk on a real project. I just learned it so that I could read source code, now I keep running into things that would be easier if I were using it. It's really annoying."Attributed to Phil</summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/1365447299920522573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=1365447299920522573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1365447299920522573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1365447299920522573'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2009/05/nice-quote-about-smalltalk.html' title='Nice quote about Smalltalk'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-6427370139319659017</id><published>2008-08-16T08:05:00.007Z</published><updated>2008-08-16T14:45:46.609Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='caching'/><category scheme='http://www.blogger.com/atom/ns#' term='irc'/><category scheme='http://www.blogger.com/atom/ns#' term='seaside'/><category scheme='http://www.blogger.com/atom/ns#' term='squeak'/><title type='text'>Caching static web content with Seaside</title><summary type='text'>Given that it looks as though ircbrowse has gone away permanently, I decided to write my own little client for viewing the logs of the #squeak IRC channel. Fortunately most of the hard work had already been done at http://tunes.org/~nef/logs/squeak/, but as the site itself notes: "these logs are purposely "raw" and are intended to be parsed/reformated/wrapped before viewing."So I put together a </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/6427370139319659017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=6427370139319659017' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/6427370139319659017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/6427370139319659017'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/08/caching-static-web-content-with-seaside.html' title='Caching static web content with Seaside'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_KDKRNVtQDJY/SKa4pswXuEI/AAAAAAAAALM/gnqwTgWbnHU/s72-c/irclog.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-7123999299882112675</id><published>2008-07-17T19:29:00.006Z</published><updated>2008-12-09T03:10:02.504Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='smalltalk'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Hello World'/><category scheme='http://www.blogger.com/atom/ns#' term='squeak'/><title type='text'>My first video: creating a Hello World class in Squeak</title><summary type='text'>Given the recent push to get Squeak video tutorials available, I decided to have a go myself. I took as my starting point my post from a few months back, intended to act as a quick introduction to developers coming to Squeak for the first time.My first problem was to find a good screen capture utility. Unfortunately, Wink isn't available for OS X, but a bit of searching uncovered Snapz Pro X. </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/7123999299882112675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=7123999299882112675' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/7123999299882112675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/7123999299882112675'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/07/my-first-video-creating-hello-world.html' title='My first video: creating a Hello World class in Squeak'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_KDKRNVtQDJY/SH-g3ihaP8I/AAAAAAAAAKs/9EtfS94EULU/s72-c/SafariScreenSnapz001.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-1209139887035594685</id><published>2008-07-14T20:08:00.007Z</published><updated>2008-12-09T03:10:02.872Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='seaside'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Using Apache as a front-end for Seaside</title><summary type='text'>I'll admit it, configuring Apache scares the bejeezus out of me. The documentation seems to be so focused on the trees, that the wood becomes an impenetrable, gloomy forest. I guess I'm not alone in this, which makes Ramon Leon's posts on configuring Apache with Seaside(1, 2, 3) so useful.Despite this, I've still steered clear of going near Apache, until Ramon posted a sample extract of </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/1209139887035594685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=1209139887035594685' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1209139887035594685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1209139887035594685'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/07/using-apache-as-front-end-for-seaside.html' title='Using Apache as a front-end for Seaside'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_KDKRNVtQDJY/SHvA2tYK_3I/AAAAAAAAAKk/XUVhHtwdv9o/s72-c/landscape-29.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-2043809707680842711</id><published>2008-07-08T19:27:00.006Z</published><updated>2008-12-09T03:10:03.997Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='morphic'/><title type='text'>Digging into the functionality behind morphs</title><summary type='text'>Someone on the Seaside mailing list asked how to find out the meanings of all the icons against each method in the browser. The answer is quite interesting, as it helps you understand the importance of the "live environment" that Squeaks gives you.Looking at a typical class, you'll see that many method definitions have a little icon by the name:(nb alt- and cmd- prefixes used below may need to be</summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/2043809707680842711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=2043809707680842711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/2043809707680842711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/2043809707680842711'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/07/digging-into-functionality-behind.html' title='Digging into the functionality behind morphs'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_KDKRNVtQDJY/SHPC8pTqVtI/AAAAAAAAAJk/gAu1swMyLQo/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-3830273534017510786</id><published>2008-05-23T14:00:00.003Z</published><updated>2008-05-23T14:04:47.318Z</updated><title type='text'>Ideal language for the JVM?</title><summary type='text'>Charles Nutter (JRuby specialist at Sun) said recently:"The CLR kind of grew up on the static language side of the world, from the C++ folks, whereas Java grew up on the Smalltalk side of the world. It was actually grown out of a Smalltalk VM. So what we have on the JVM, oddly enough, is a dynamic language runtime under the covers powering a statically typed language. The work that we are doing </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/3830273534017510786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=3830273534017510786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3830273534017510786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3830273534017510786'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/05/ideal-language-for-jvm.html' title='Ideal language for the JVM?'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-3586573125007910129</id><published>2008-05-22T15:57:00.002Z</published><updated>2008-05-22T16:19:33.839Z</updated><title type='text'>Scripting with Smalltalk - updated</title><summary type='text'>My post yesterday attracted more attention than I expected, with Paolo Bonzini and Randal Schwartz both being able to make out the code well enough to comment on it. Paolo was able to identify a number of improvements to the code, both in terms of identifying more appropriate approaches, and in identifying where the code was spending its time. As a result, here's a much faster version. It's also </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/3586573125007910129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=3586573125007910129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3586573125007910129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3586573125007910129'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/05/scripting-with-smalltalk-updated.html' title='Scripting with Smalltalk - updated'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-491700518253410404</id><published>2008-05-21T20:12:00.006Z</published><updated>2008-05-21T21:28:52.198Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNU Smalltalk'/><title type='text'>Scripting with Smalltalk</title><summary type='text'>When I saw this post by Peter Norvig, and especially the lines-of-code comparison towards the end of the page, I thought it would be interesting to see how Smalltalk compared. Given the line-of-code metric, this was an ideal chance for me to play with GNU Smalltalk, which positions itself as a scripting-friendly Smalltalk. It proved to be quite a straightforward exercise, and the code came out </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/491700518253410404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=491700518253410404' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/491700518253410404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/491700518253410404'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/05/scripting-with-smalltalk.html' title='Scripting with Smalltalk'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-7101148735591367784</id><published>2008-05-11T16:29:00.006Z</published><updated>2008-05-12T23:14:43.064Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqueakDBX'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenDBX'/><category scheme='http://www.blogger.com/atom/ns#' term='squeak'/><title type='text'>Using OpenDBX with Squeak</title><summary type='text'>A team of students from UTN (National Technological University in Argentina) co-ordinated by Estaban Lorenzano has just been doing some work on SqueakDBX, a package to allow Squeak to access OpenDBX functionality, which gives a lighter-weight alternative to ODBC for connecting to databases including Firebird, Interbase, MS SQL Server, MySQL, Oracle, PostgreSQL, SQLite, SQLite3 and Sybase.This </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/7101148735591367784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=7101148735591367784' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/7101148735591367784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/7101148735591367784'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/05/using-opendbx-with-squeak.html' title='Using OpenDBX with Squeak'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-5372704743442377931</id><published>2008-03-13T10:01:00.004Z</published><updated>2008-03-13T10:46:42.876Z</updated><title type='text'>Snippet: how to trigger events on a checkbox in Seaside</title><summary type='text'>Richard Eng was having trouble using a checkbox to trigger a change in the contents of a textarea.Lukas responded that:To trigger a callback of a form element, you need to specify this form element with #triggerFormElement:. As the comment of this method says, this does not work for multi-select lists and checkboxes, as those two form elements internally depend on another hidden form element. So </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/5372704743442377931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=5372704743442377931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/5372704743442377931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/5372704743442377931'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2008/03/snippet-how-to-trigger-events-on.html' title='Snippet: how to trigger events on a checkbox in Seaside'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-6546032491813154777</id><published>2007-12-17T17:55:00.001Z</published><updated>2008-01-23T20:49:04.177Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='smalltalk'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='squeak'/><title type='text'>How to create a class in Squeak - an illustrated step-by-step guide</title><summary type='text'>A lot of people are flummoxed when they first open a Squeak image, especially developers who want to just get on and write some Smalltalk code. This guide should help you get over that first hump. To start off, I'll assume that you've got a Squeak image running and you're looking at a screen wondering what to do now!First, for this exercise, you can close any windows in Squeak by pressing on the </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/6546032491813154777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=6546032491813154777' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/6546032491813154777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/6546032491813154777'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/12/how-to-create-class-in-squeak.html' title='How to create a class in Squeak - an illustrated step-by-step guide'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-7262702002475827604</id><published>2007-12-01T18:16:00.000Z</published><updated>2007-12-02T13:56:48.763Z</updated><title type='text'>How to use decorator WAFormDecoration</title><summary type='text'>This is a very simple example of how to use a decorator in Seaside, based on my understanding from  two blogs. A decorator allows you to wrap standard functionality around the content generated by your component, so hiding a lot of the 'boilerplate' complexity otherwise required. This example allows you to build up a form with buttons of your choice; provide a list of buttons, and a matching </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/7262702002475827604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=7262702002475827604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/7262702002475827604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/7262702002475827604'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/12/how-to-use-waformdecorator.html' title='How to use decorator WAFormDecoration'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-8711496339653197883</id><published>2007-07-13T10:46:00.000Z</published><updated>2007-07-13T10:55:01.463Z</updated><title type='text'>Morphic development tutorial</title><summary type='text'>Stephen Wessels has put together a very thorough development tutorial at http://squeak.preeminent.org/tut2007/html/index.htmlIt's aimed at new Squeakers and introduces and explains the main elements of the development environment, as well as giving an insight into areas such as test-driven development, object-oriented design, and code refactoring.</summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/8711496339653197883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=8711496339653197883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/8711496339653197883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/8711496339653197883'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/07/morphic-development-tutorial.html' title='Morphic development tutorial'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-965046159057517575</id><published>2007-05-23T16:52:00.000Z</published><updated>2007-05-23T16:59:44.431Z</updated><title type='text'>Sending mail from your Seaside application</title><summary type='text'>There's a very useful step-by-step guide on how to send emails from your Seaside application at saush.com, which also documents an experienced developer's first experiences with Squeak. All good stuff.</summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/965046159057517575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=965046159057517575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/965046159057517575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/965046159057517575'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/05/sending-mail-from-your-seaside.html' title='Sending mail from your Seaside application'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-2125865423832557882</id><published>2007-05-08T21:09:00.000Z</published><updated>2007-05-08T21:18:58.704Z</updated><title type='text'>Simple Seaside &amp; Magritte application</title><summary type='text'>Ramon Leon continues his excellent series of blog posts on Squeak - this time to note his creation of a sample application demonstrating how to build a simple application using Seaside and Magritte.This is a great introduction to building a web application using these tools, and I found it a useful exercise to see how Ramon dealt with some of the common tasks involved in such an application: </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/2125865423832557882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=2125865423832557882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/2125865423832557882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/2125865423832557882'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/05/simple-seaside-magritte-application.html' title='Simple Seaside &amp; Magritte application'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-8774432548405874448</id><published>2007-03-30T13:52:00.000Z</published><updated>2007-03-30T14:14:03.974Z</updated><title type='text'>Golden nuggets</title><summary type='text'>There's a lot of useful discussion going on over the seaside mailing list at the moment, triggered off by a question from Andreas Raab asking about some of the mechanics of Seaside. Some key points that were interesting to me:A component is responsible for generating a part of the html of a "page". This includes forms, since they are part of html (note that you must not nest forms, forms really </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/8774432548405874448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=8774432548405874448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/8774432548405874448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/8774432548405874448'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/03/golden-nuggets.html' title='Golden nuggets'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-885798213614456469</id><published>2007-02-17T20:07:00.000Z</published><updated>2007-02-17T20:08:08.750Z</updated><title type='text'>A new GUI builder for Morphic</title><summary type='text'>A few weeks ago I posted a comment to the squeak-dev mailing list bemoaning the current state of UI support in Squeak. My concerns were:Most of [the many GUI-builders in Squeak] are incomplete, out-of-date, and abandoned; but they show that developers are repeatedly coming back to a need to find an easy way to create and manage a user interface that employs the metaphors that have become familiar</summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/885798213614456469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=885798213614456469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/885798213614456469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/885798213614456469'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/02/new-gui-builder-for-morphic_17.html' title='A new GUI builder for Morphic'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-8212481893844303884</id><published>2007-02-16T11:55:00.000Z</published><updated>2007-02-16T12:01:33.418Z</updated><title type='text'>Sample Image Viewer - a simple SystemWindow application</title><summary type='text'>One of the problems I, and many other beginners, had when coming to Squeak was in building a GUI for my application. There are many half-built and unmaintained GUI builders out there, but most of the core Squeak applications are built manually using SystemWindow. Although these are thought of as self-documenting, I found it difficult to see the wood for the trees when examining them.My first </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/8212481893844303884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=8212481893844303884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/8212481893844303884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/8212481893844303884'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/02/sample-image-viewer-simple-systemwindow.html' title='Sample Image Viewer - a simple SystemWindow application'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-1321024244457063325</id><published>2007-02-14T19:35:00.000Z</published><updated>2007-02-14T19:42:24.852Z</updated><title type='text'>Good (though old) lecture notes on Smalltalk</title><summary type='text'>I've just found a link from the Squeak wiki to a set of lecture notes from Ralph Johnson (one of the Design Patterns "Gang of Four")  on Smalltalk (based on VisualWorks, though he has since migrated to Squeak):http://st-www.cs.uiuc.edu/users/johnson/cs497/notes98/online-course.htmlThe lecture notes are accessible, but the video links aren't as they're copyrighted by the university. If you're </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/1321024244457063325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=1321024244457063325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1321024244457063325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1321024244457063325'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/02/good-though-old-lecture-notes-on.html' title='Good (though old) lecture notes on Smalltalk'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-1687039442364599248</id><published>2007-02-07T22:28:00.000Z</published><updated>2007-02-16T12:03:42.012Z</updated><title type='text'>anObject select: #aMethodName considered harmful</title><summary type='text'>I was browsing some of the Magritte source code, when I saw a message that confused me:       selectors := anObject class allSelectors            select: #isDescriptionSelector.I couldn't understand how you could pass a Symbol to #select: instead of a block-- certainly the definition of Collection&gt;&gt;select: implies it should only take a block. But trying it for myself, I saw it worked-- eg{ 1. 2. </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/1687039442364599248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=1687039442364599248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1687039442364599248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/1687039442364599248'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/02/anobject-select-amethodname-considered.html' title='anObject select: #aMethodName considered harmful'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-3188036794561042471</id><published>2007-02-02T18:35:00.000Z</published><updated>2007-02-16T12:06:03.987Z</updated><title type='text'>Making sense of it all</title><summary type='text'>I've been playing about with Magritte a bit more over the past couple of days, and I'm beginning to get a better understanding of it - I can build edit-forms and reports now. I can't quite see how readonly views work, but I'm sure I'll crack it eventually...More impressive (to me anyway) is that I've found a couple of bugs in Squeak!The Traits-Tests suite of tests leaves lots of classes like </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/3188036794561042471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=3188036794561042471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3188036794561042471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3188036794561042471'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/02/making-sense-of-it-all.html' title='Making sense of it all'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-2430640889376268635</id><published>2007-01-30T17:53:00.000Z</published><updated>2007-01-30T18:17:20.529Z</updated><title type='text'>Useful quickstart for Magritte</title><summary type='text'>Ramon Leon's ever-impressive blog has a great quick screencast introduction to Seaside and Magritte, and reading between the lines, it does appear that the approach that I described in my previous post is the right way to be thinking about the role of Magritte.</summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/2430640889376268635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=2430640889376268635' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/2430640889376268635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/2430640889376268635'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/01/useful-quickstart-for-magritte.html' title='Useful quickstart for Magritte'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4331031540540221444.post-3774450854300212209</id><published>2007-01-30T16:44:00.001Z</published><updated>2008-06-24T14:31:17.708Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='seaside'/><category scheme='http://www.blogger.com/atom/ns#' term='squeak'/><category scheme='http://www.blogger.com/atom/ns#' term='magritte'/><title type='text'>Magritte vs Seaside</title><summary type='text'>I'm just starting to experiment with using Magritte and Seaside in Squeak, and it's proving to be interesting if slightly hard going!I think where I've got to with Magritte is that it's  best thought of as a tool for building  "edit" screens for objects (a task that it does very effectively under Seaside), but if you're trying to do anything else with your object, then it's back to plain old </summary><link rel='replies' type='application/atom+xml' href='http://dreamsofascorpion.blogspot.com/feeds/3774450854300212209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4331031540540221444&amp;postID=3774450854300212209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3774450854300212209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4331031540540221444/posts/default/3774450854300212209'/><link rel='alternate' type='text/html' href='http://dreamsofascorpion.blogspot.com/2007/01/magritte-vs-seaside.html' title='Magritte vs Seaside'/><author><name>Michael Davies</name><uri>http://www.blogger.com/profile/00446726284329769719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
