<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<meta http-equiv="Content-Style-Type" content="text/css"/>
</head>
<body>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt">Writing and reading files can be done easily. For Cuis, I summarized the protocol in World >
Help... > Terse Guide to Cuis > File Streams. If a file is used for the output, then it will have to
be parsed in some way in the future. By compiling it into a class method which answers a
Dictionary accessed by the drawing methods, no further parsing is needed.</span></font></div>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt"><br />
</span></font></div>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt">A GUI might be appropriate for a user who does not like computers, but a definite
requirement IMO is to not have the IDE obvious.</span></font></div>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt"><br />
</span></font></div>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Arial" size="2">
<span style=" font-size:10pt">I'd like to use this discussion  to provoke comment on app delivery in Squeak and Cuis. If you
google 'Future of Smalltalk' you'll find a concise statement of the problem: "</span></font><font face="Times New Roman"><span style=" font-size:12pt">One of the big
problems ... which prevents the take-up of any "workspace" based language
(Smalltalk, APL, Forth etc.) is that it's really hard to work out what it is that is
delivered to the customer." - Frank Carver http://www.efsol.com/FrankCarver.html.</span></font></p>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt"><br />
</span></font></div>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt">On 2 May 2015 at 9:26, Ralph Johnson wrote:</span></font></div>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt"><br />
</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> Writing to a file is very similar to writing to the transcript. </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> You need to open a writestream on the </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> file, then you write to it.   </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> If I were writing the data out, I'd probably try to write it out as</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> a CSV (comma separated values) so </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> that I could read it into a spreadsheet.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> If you want to make it easy for people who don't like computers,</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> perhaps you should make a GUI </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> for it.  The GUI might list all the drawings in the top pane. </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> When you select a drawing, you get to </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> see its contents in the bottom pane.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> I assume that when you run drawn2012 it returns some kind of data</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> structure that gives you the </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> drawing for 2012?</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> My son had something like this.  He had his program send each</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> person email, telling them who </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> they drew.  If you wanted to do this, you could focus on how to</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> send email instead of on how to </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> make a GUI.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> I'm not sure what your motivation is here.  Is your main aim to</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> learn a little Smalltalk?  To make a </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> useful tool for yourself?  To make a useful tool for someone</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> else?  These are all worthy goals.  My </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> advice would depend on your goal.  And of course, goals change. </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> You might have started out just </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> wanting to learn Smalltalk but now you just want to make a tool that</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> someone else can use so you </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> don't have to be in charge any more.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> On Sat, May 2, 2015 at 8:07 AM, Dan Norton <dnorton@mindspring.com></span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> wrote:</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     Dumb questions can have uses after all. Thank you Hannes and</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> Ralph for your thoughtful</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     responses. You must have been digging into the archives - my</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> original post was nearly a</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     year ago.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     Perhaps it is time to say what I chose to do. Design of Secret</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> Santa was driven by:</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>        1. A desire for simplicity</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>        2. Relatively infrequent use (annual)</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     Input is a text file listing the names of participants. A pair</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> of names on the same line </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     denotes</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     a couple. Output consists of the result of drawing names,</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> compiled as a class method.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     Method names are serialized: drawn2012, drawn2013, ...</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     The Transcript shows the latest drawing, as a Dictionary, which</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> is compiled. Below that in </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     the</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     Transcript are the statistics (iterations, rule violations). The</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> image must be saved.</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     I would appreciate any thoughts on application delivery. The</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> above is a very crude, if not</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     non-existent, way to deliver an app. Use of external files for</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> output would improve things a</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     little. Isn't it possible to do better than this for a Smalltalk</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> app? What if the user is not a fan </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     of</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     computers?</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     </span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>      - Dan</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     _______________________________________________</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     Beginners mailing list</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     Beginners@lists.squeakfoundation.org</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">>     http://lists.squeakfoundation.org/mailman/listinfo/beginners</span></font></div>
<div align="left"><font face="Arial" color="#7f0000" size="2"><span style=" font-size:10pt">> </span></font></div>
<div align="left"><font face="Arial" size="2"><span style=" font-size:10pt"><br />
</span></font></div>
<div align="left"> </div>
</body>
</html>