From hannes.hirzel at gmail.com Fri May 1 08:07:13 2015 From: hannes.hirzel at gmail.com (H. Hirzel) Date: Fri May 1 08:07:15 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: <2D61D70F-254F-4A32-BFE9-93C57E359273@freudenbergs.de> References: <5480DCAD.23507.EBC594@dnorton.mindspring.com> <5480F315.26620.1434BC5@dnorton.mindspring.com> <548193D5.3515.1FD623@dnorton.mindspring.com> <2D61D70F-254F-4A32-BFE9-93C57E359273@freudenbergs.de> Message-ID: On 12/5/14, Bert Freudenberg wrote: > On 05.12.2014, at 12:15, Dan wrote: >> >> On 5 Dec 2014 at 1:13, Bert Freudenberg wrote: >> >>> On 05.12.2014, at 00:49, Dan wrote: >>>> >>>> On 4 Dec 2014 at 23:22, Bert Freudenberg wrote: >>>> >>>>> Why wouldn't you just keep the "output" in the image and save >>> it? >>>>> When you restart it months later, it will be there. >>>>> >>>>> - Bert - >>>>> >>>> That surely is simpler than trying to compile a method. >>> >>> Not that compiling a method is hard. >>> >> That is encouraging. Is it something similar to "Dynamic Message Calling" >> described in the >> Terse Guide to Squeak? > > Like this: > > SomeClass compile: code classified: category. > > E.g. > MyClass compile: 'hello ^6*9' classified: 'foo'. > MyClass new hello > ==> 54 > > Or > > MyClass class compile: 'helloAgain ^13r42' classified: 'bar'. > MyClass helloAgain > ==> 54 > > >>>> I might put something like this in a package. >>> >>> I'm not sure what you mean by that. >>> >> I mean a package on SqueakMap where one can download it and try it out. I >> see there are >> over 700 packages out there for the choosing. A great variety. It's >> unfortunate that not all run >> on the current release of Squeak but maybe with a little work... ;) > > SqueakMap is just a catalog for finding useful code. You first need to put > your stuff somewhere else, SqueakMap would be the last step. > >>>> Would users find saving the image as... to be the expected way of >>> doing things? >>>> >>>> - Dan >>> >>> Depends on who your users are. If you were the user ... you're >>> saving your image all the time, right? >>> >> Um, not exactly. But more often than in the past. I feel most comfortable >> saving with >> Montecello. > > Smalltalk is a personal computing environment, first and foremost. Source > code is secondary. We basically just resort to source code when we want to > share stuff with other people. Source code in files has been called > "quaint". > >>> Maybe you should be more specific in what data you want to store, >>> how you want to distribute it, and who is going to use it. >>> >> I have in mind a list of names which are matched randomly in pairs then >> filtered according to >> a set of rules. The output is a dictionary and the rules specify that no >> pair can be the same as >> previous (up to 3) instances. There are other rules and often hundreds of >> iterations take >> place before all pairs obey all the rules. >> >> It might be used, as it is in our family, to draw names for Christmas. The >> person who runs the >> program distributes the results to those on the list. > > Keeping it in the image is certainly the simplest, especially if you intend > to use it by just running an expression in a workspace. > > If you build it as an app so the user does not have to deal with Smalltalk, > then it is advisable to treat the deployed image as read-only. In that case > you would have to store the data in a separate file. > > What makes no sense at all is storing that data in source code. Quite a number of people using Smalltalk "live" in an image. The image file is treated like a "database" which contains the work (data and code acting on it). For that what you do is to save the image and keep backups. And continue to work with the very same image. This is what Bert refers to. Another way is to multiple images. Or work with a group of others where you need to share the data. Everybody has his or her own image. Then keeping data in source code makes a lot of sense in particular if you are using a DSL (very easy in Smalltalk) which describes the data in a way decodable for non-Smalltalk users. Having the data in a class and filing it out as source code allows you to move your data easily to another image. You may have a package with your 'Resources', i.e. the data as code which people can load to get your work (as you write Metacello). There are however other ways for data exchange as well, search in the Squeak mailing list for SIXX (XML based) and Fuel (binary) for example. They have their own merits. I think for your question ' Using Output as the Next Input' to have the output encoded in source code and use it maybe months later (in a different image, maybe in a different Smalltalk system, e.g. Cuis or Pharo) makes a lot of sense if that works for you. As you have seen in the answer provided by Bert and others generating Smalltalk code is straightforward. Depending on your (internal) DSL you use to describe your data you may as well parse it with another system. Six years ago Goran Krampe came up with a (Smalltalk) file format he called 'Tirade' and there was some discussion on it on the Squeak list (http://goran.krampe.se/2009/03/16/tirade-a-file-format-for-smalltalkers/ and check out the list archives). I suggest you have a look at it and then maybe ask more about it here or on the Squeak, Pharo or Cuis list. Actually you asked a great question! HTH Hannes From johnson at cs.uiuc.edu Fri May 1 10:29:10 2015 From: johnson at cs.uiuc.edu (Ralph Johnson) Date: Fri May 1 10:29:11 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: <5480DCAD.23507.EBC594@dnorton.mindspring.com> References: <5480DCAD.23507.EBC594@dnorton.mindspring.com> Message-ID: There is no best way. There are many different ways, each with advantages and disadvantages. Suppose you have a workspace that makes some objects and stores them in workspace variables. The workspace contains a lot of different expressions that use these variables. Some of the expressions might assign to one of the variables, some might use them to change the objects stored in the variables, some might pop up windows on the variables, etc. You use the workspace by selecting expressions and executing them. You can run the expressions in any order, of course, though often some of them assume that variables have been initialized. If you do this, you can use your image as a database. You can save your image any time you want, and when you restart it, you will be right back where you left off. All the workspace variables will have the same values they did before. All the same windows will be up. Of course, if your machine (or image) crashes then you have to restore the last save, and you lose the work you did since then. A bigger problem is that the data is hard to give to someone else. You'd have to give him your entire image. This is a good way to save data when you are in the initial process of developing your program. But once you get into the phase where you are using your program to analyze a lot of different data, you probably want a way of storing data to files. There are lots of ways of storing data to files. You could store it as XML or CSVs. You could store it in a relational database. The simplest way of storing it is as serialized objects. The other ways of storing data to files require figuring out how to map objects to the data format that you pick, while serializing objects lets you avoid that work. On the other hand, it can only be read back by other images. Since you are seem to be learning Smalltalk, I would suggest doing everything in a workspace at first, and using your image as a database. This will force you to learn Smalltalk faster. When you think you understand it, come back and ask us about all the problems of using an image as a database. -Ralph Johnson On Thu, Dec 4, 2014 at 4:14 PM, Dan wrote: > Howdy, > > A class is instantiated and produces output in a data structure (array, > collection, dictionary, > ...). Upon each later (maybe months later) instantiation, the previous > output is needed as > input. What is the best way to do this for modest (not huge) output? Some > possibilities: > Externally - file out and file in > Within the class - compile class methods containing the output; save > with Montecello > > I'm interested in how to dynamically compile a class method. Can Browser > be invoked > dynamically? In studying Browser and friends, it looks complicated. Am I > missing something > or attempting something foolish or ...? > > - Dan > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150501/25808bd7/attachment-0001.htm From overcomer.man at gmail.com Sat May 2 05:14:02 2015 From: overcomer.man at gmail.com (Kirk Fraser) Date: Sat May 2 05:14:04 2015 Subject: [Newbies] Update Timer? Message-ID: I am building a simple database using a tree and a ReferenceStream as learned here. I want it to update the disk file every 10 min. with the current tree. What should I do? The classes Time, Duration, Stopwatch, Schedule, look like possibilities but the only method that looks good is Schedule "between: aStart and: anEnd do: aBlock" but I don't want it to hang waiting on the timer so the tree can't take my changes. How do I make something perform like a text editor that saves its work every 10 min? Thanks, Kirk Fraser -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150501/4e61af36/attachment.htm From dnorton at mindspring.com Sat May 2 13:07:40 2015 From: dnorton at mindspring.com (Dan Norton) Date: Sat May 2 13:07:45 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: References: <5480DCAD.23507.EBC594@dnorton.mindspring.com>, Message-ID: <5544CC1C.13634.87B9B0@dnorton.mindspring.com> Dumb questions can have uses after all. Thank you Hannes and Ralph for your thoughtful responses. You must have been digging into the archives - my original post was nearly a year ago. Perhaps it is time to say what I chose to do. Design of Secret Santa was driven by: 1. A desire for simplicity 2. Relatively infrequent use (annual) Input is a text file listing the names of participants. A pair of names on the same line denotes a couple. Output consists of the result of drawing names, compiled as a class method. Method names are serialized: drawn2012, drawn2013, ... The Transcript shows the latest drawing, as a Dictionary, which is compiled. Below that in the Transcript are the statistics (iterations, rule violations). The image must be saved. I would appreciate any thoughts on application delivery. The above is a very crude, if not non-existent, way to deliver an app. Use of external files for output would improve things a little. Isn't it possible to do better than this for a Smalltalk app? What if the user is not a fan of computers? - Dan From johnson at cs.uiuc.edu Sat May 2 14:26:40 2015 From: johnson at cs.uiuc.edu (Ralph Johnson) Date: Sat May 2 14:26:42 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: <5544CC1C.13634.87B9B0@dnorton.mindspring.com> References: <5480DCAD.23507.EBC594@dnorton.mindspring.com> <5544CC1C.13634.87B9B0@dnorton.mindspring.com> Message-ID: Writing to a file is very similar to writing to the transcript. You need to open a writestream on the file, then you write to it. If I were writing the data out, I'd probably try to write it out as a CSV (comma separated values) so that I could read it into a spreadsheet. If you want to make it easy for people who don't like computers, perhaps you should make a GUI for it. The GUI might list all the drawings in the top pane. When you select a drawing, you get to see its contents in the bottom pane. I assume that when you run drawn2012 it returns some kind of data structure that gives you the drawing for 2012? My son had something like this. He had his program send each person email, telling them who they drew. If you wanted to do this, you could focus on how to send email instead of on how to make a GUI. I'm not sure what your motivation is here. Is your main aim to learn a little Smalltalk? To make a useful tool for yourself? To make a useful tool for someone else? These are all worthy goals. My advice would depend on your goal. And of course, goals change. You might have started out just wanting to learn Smalltalk but now you just want to make a tool that someone else can use so you don't have to be in charge any more. On Sat, May 2, 2015 at 8:07 AM, Dan Norton wrote: > Dumb questions can have uses after all. Thank you Hannes and Ralph for > your thoughtful > responses. You must have been digging into the archives - my original post > was nearly a > year ago. > > Perhaps it is time to say what I chose to do. Design of Secret Santa was > driven by: > 1. A desire for simplicity > 2. Relatively infrequent use (annual) > > Input is a text file listing the names of participants. A pair of names on > the same line denotes > a couple. Output consists of the result of drawing names, compiled as a > class method. > Method names are serialized: drawn2012, drawn2013, ... > > The Transcript shows the latest drawing, as a Dictionary, which is > compiled. Below that in the > Transcript are the statistics (iterations, rule violations). The image > must be saved. > > I would appreciate any thoughts on application delivery. The above is a > very crude, if not > non-existent, way to deliver an app. Use of external files for output > would improve things a > little. Isn't it possible to do better than this for a Smalltalk app? What > if the user is not a fan of > computers? > > - Dan > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150502/277e6d61/attachment.htm From dnorton at mindspring.com Sat May 2 19:33:57 2015 From: dnorton at mindspring.com (Dan Norton) Date: Sat May 2 19:35:47 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: References: <5480DCAD.23507.EBC594@dnorton.mindspring.com>, <5544CC1C.13634.87B9B0@dnorton.mindspring.com>, Message-ID: <554526A5.3038.1E95EDB@dnorton.mindspring.com> 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. 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. 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: "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. On 2 May 2015 at 9:26, Ralph Johnson wrote: > > Writing to a file is very similar to writing to the transcript.? > You need to open a writestream on the > file, then you write to it. ? > > If I were writing the data out, I'd probably try to write it out as > a CSV (comma separated values) so > that I could read it into a spreadsheet. > > If you want to make it easy for people who don't like computers, > perhaps you should make a GUI > for it.? The GUI might list all the drawings in the top pane.? > When you select a drawing, you get to > see its contents in the bottom pane. > > I assume that when you run drawn2012 it returns some kind of data > structure that gives you the > drawing for 2012? > > My son had something like this.? He had his program send each > person email, telling them who > they drew.? If you wanted to do this, you could focus on how to > send email instead of on how to > make a GUI. > > I'm not sure what your motivation is here.? Is your main aim to > learn a little Smalltalk?? To make a > useful tool for yourself?? To make a useful tool for someone > else?? These are all worthy goals.? My > advice would depend on your goal.? And of course, goals change.? > You might have started out just > wanting to learn Smalltalk but now you just want to make a tool that > someone else can use so you > don't have to be in charge any more. > > On Sat, May 2, 2015 at 8:07 AM, Dan Norton > wrote: > Dumb questions can have uses after all. Thank you Hannes and > Ralph for your thoughtful > responses. You must have been digging into the archives - my > original post was nearly a > year ago. > > Perhaps it is time to say what I chose to do. Design of Secret > Santa was driven by: > ? ?1. A desire for simplicity > ? ?2. Relatively infrequent use (annual) > > Input is a text file listing the names of participants. A pair > of names on the same line > denotes > a couple. Output consists of the result of drawing names, > compiled as a class method. > Method names are serialized: drawn2012, drawn2013, ... > > The Transcript shows the latest drawing, as a Dictionary, which > is compiled. Below that in > the > Transcript are the statistics (iterations, rule violations). The > image must be saved. > > I would appreciate any thoughts on application delivery. The > above is a very crude, if not > non-existent, way to deliver an app. Use of external files for > output would improve things a > little. Isn't it possible to do better than this for a Smalltalk > app? What if the user is not a fan > of > computers? > > ?- Dan > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150502/b8d04020/attachment-0001.htm From johnson at cs.uiuc.edu Sat May 2 20:54:07 2015 From: johnson at cs.uiuc.edu (Ralph Johnson) Date: Sat May 2 20:54:09 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: <554526A5.3038.1E95EDB@dnorton.mindspring.com> References: <5480DCAD.23507.EBC594@dnorton.mindspring.com> <5544CC1C.13634.87B9B0@dnorton.mindspring.com> <554526A5.3038.1E95EDB@dnorton.mindspring.com> Message-ID: On Sat, May 2, 2015 at 2:33 PM, Dan Norton wrote: > 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. > A file can be AN output, not THE output. In general, it is useful to have a variety of outputs. I was thinking of creating text files in addition to what you are doing now. But, yes, one alternative is for the history of the drawings to be kept in a file and read in when you start up. That would require parsing the file. But I was assuming that was not what you meant. 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. > Horrors! Don't show the IDE unless the user is a programmer! 1) The trivial way to hide the IDE (while making it easy to get it back if you want it) Open the window for the application (assuming you built a GUI for your application). Close all other windows, especially windows for the IDE. Save the image. Now, when people start up the image, the first thing they see will be the window for the application. On the other hand, they can still get a menu to create a browser if they want to, so the IDE is only slightly hidden. 2) A much more complete way to hide the IDE. When the virtual machine starts up an image, it runs a bit of code (I think it actually runs a block that is stored in a class variable somewhere, but it has been a long time since I have looked at it) that redraws the windows and starts up a process to follow the mouse and the keyboard. You can change this to have it start up your own application. This is useful if you are trying to build a video game in Squeak. If you do this, you can hide everything except your application. There will be no way to get a browser, though usually you will still get a debugger if there is an error, and you can then evaluate an expression to open up a browser. If you REALLY want to hide the browser, delete its classes from the system. Of course, that makes debugging hard if you find an error later. In either case, it is possible to merge the image file with the virtual machine file to create a single, double-clickable file. That way, your customer can just double-click the file and run the application. It has been many years since I have done this, but I have often told students about it and they tell me it isn't hard. See http://wiki.squeak.org/squeak/778.diff?id=42 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150502/843b43cc/attachment.htm From overcomer.man at gmail.com Sat May 2 20:58:03 2015 From: overcomer.man at gmail.com (Kirk Fraser) Date: Sat May 2 20:58:05 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: <554526A5.3038.1E95EDB@dnorton.mindspring.com> References: <5480DCAD.23507.EBC594@dnorton.mindspring.com> <5544CC1C.13634.87B9B0@dnorton.mindspring.com> <554526A5.3038.1E95EDB@dnorton.mindspring.com> Message-ID: Frank, App delivery depends on your goals. If you are a miserly Scrooge at heart, you'll consider all your code proprietary or your customers too stupid to learn Smalltalk, so you can write your code in your own collection, keep it out of the System Browser, and hide it in a single variable, or adopt a restricted sandbox GUI like eToys uses which hides the Browser. But if you have a more loving view of your customers, you might decide to give them everything plus a tutorial on how to modify the source Smalltalk to suit their individual desires. Most business customers will find it cheaper to hire you to make changes either way since you'll have the knowledge and skill to do it faster than they could. One of the most disastrous miserly tactics I've ever heard of was a vendor put a time check on his code and if it wasn't updated every month it would fail to work, thus insuring continued payments he figured. But his tricking the customer failed when he went on vacation and didn't supply an upgrade one month, the system crashed, and the customer had to find a new solution. Kirk Fraser This is being done in poverty www.reliablerobots.com On Sat, May 2, 2015 at 12:33 PM, Dan Norton wrote: > 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. > > 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. > > 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: "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. > > On 2 May 2015 at 9:26, Ralph Johnson wrote: > > > > > Writing to a file is very similar to writing to the transcript. > > You need to open a writestream on the > > file, then you write to it. > > > > If I were writing the data out, I'd probably try to write it out as > > a CSV (comma separated values) so > > that I could read it into a spreadsheet. > > > > If you want to make it easy for people who don't like computers, > > perhaps you should make a GUI > > for it. The GUI might list all the drawings in the top pane. > > When you select a drawing, you get to > > see its contents in the bottom pane. > > > > I assume that when you run drawn2012 it returns some kind of data > > structure that gives you the > > drawing for 2012? > > > > My son had something like this. He had his program send each > > person email, telling them who > > they drew. If you wanted to do this, you could focus on how to > > send email instead of on how to > > make a GUI. > > > > I'm not sure what your motivation is here. Is your main aim to > > learn a little Smalltalk? To make a > > useful tool for yourself? To make a useful tool for someone > > else? These are all worthy goals. My > > advice would depend on your goal. And of course, goals change. > > You might have started out just > > wanting to learn Smalltalk but now you just want to make a tool that > > someone else can use so you > > don't have to be in charge any more. > > > > On Sat, May 2, 2015 at 8:07 AM, Dan Norton > > wrote: > > Dumb questions can have uses after all. Thank you Hannes and > > Ralph for your thoughtful > > responses. You must have been digging into the archives - my > > original post was nearly a > > year ago. > > > > Perhaps it is time to say what I chose to do. Design of Secret > > Santa was driven by: > > 1. A desire for simplicity > > 2. Relatively infrequent use (annual) > > > > Input is a text file listing the names of participants. A pair > > of names on the same line > > denotes > > a couple. Output consists of the result of drawing names, > > compiled as a class method. > > Method names are serialized: drawn2012, drawn2013, ... > > > > The Transcript shows the latest drawing, as a Dictionary, which > > is compiled. Below that in > > the > > Transcript are the statistics (iterations, rule violations). The > > image must be saved. > > > > I would appreciate any thoughts on application delivery. The > > above is a very crude, if not > > non-existent, way to deliver an app. Use of external files for > > output would improve things a > > little. Isn't it possible to do better than this for a Smalltalk > > app? What if the user is not a fan > > of > > computers? > > > > - Dan > > _______________________________________________ > > Beginners mailing list > > Beginners@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150502/74df10d7/attachment-0001.htm From herbertkoenig at gmx.net Sun May 3 04:37:03 2015 From: herbertkoenig at gmx.net (=?windows-1252?Q?Herbert_K=F6nig?=) Date: Sun May 3 04:37:07 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: References: <5480DCAD.23507.EBC594@dnorton.mindspring.com> <5544CC1C.13634.87B9B0@dnorton.mindspring.com> <554526A5.3038.1E95EDB@dnorton.mindspring.com> Message-ID: <5545A5EF.5060305@gmx.net> Heart inspect ifFalse: [Preferences disableProgrammerFacilities] SCNR, Herbert P.S. disableProgrammerFacilities has a good comment which I suggest reading. Am 02.05.2015 um 22:58 schrieb Kirk Fraser: > Frank, > > App delivery depends on your goals. If you are a miserly Scrooge at > heart, you'll consider all your code proprietary or your customers too > stupid to learn Smalltalk, so you can write your code in your own > collection, keep it out of the System Browser, and hide it in a single > variable, or adopt a restricted sandbox GUI like eToys uses which > hides the Browser. But if you have a more loving view of your > customers, you might decide to give them everything plus a tutorial on > how to modify the source Smalltalk to suit their individual desires. > Most business customers will find it cheaper to hire you to make > changes either way since you'll have the knowledge and skill to do it > faster than they could. > > One of the most disastrous miserly tactics I've ever heard of was a > vendor put a time check on his code and if it wasn't updated every > month it would fail to work, thus insuring continued payments he > figured. But his tricking the customer failed when he went on > vacation and didn't supply an upgrade one month, the system crashed, > and the customer had to find a new solution. > > Kirk Fraser > This is being done in poverty www.reliablerobots.com > > > On Sat, May 2, 2015 at 12:33 PM, Dan Norton > wrote: > > 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. > > 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. > > 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: "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. > > > On 2 May 2015 at 9:26, Ralph Johnson wrote: > > > > > Writing to a file is very similar to writing to the transcript. > > You need to open a writestream on the > > file, then you write to it. > > > > If I were writing the data out, I'd probably try to write it out as > > a CSV (comma separated values) so > > that I could read it into a spreadsheet. > > > > If you want to make it easy for people who don't like computers, > > perhaps you should make a GUI > > for it. The GUI might list all the drawings in the top pane. > > When you select a drawing, you get to > > see its contents in the bottom pane. > > > > I assume that when you run drawn2012 it returns some kind of data > > structure that gives you the > > drawing for 2012? > > > > My son had something like this. He had his program send each > > person email, telling them who > > they drew. If you wanted to do this, you could focus on how to > > send email instead of on how to > > make a GUI. > > > > I'm not sure what your motivation is here. Is your main aim to > > learn a little Smalltalk? To make a > > useful tool for yourself? To make a useful tool for someone > > else?These are all worthy goals. My > > advice would depend on your goal. And of course, goals change. > > You might have started out just > > wanting to learn Smalltalk but now you just want to make a tool that > > someone else can use so you > > don't have to be in charge any more. > > > > On Sat, May 2, 2015 at 8:07 AM, Dan Norton > > > wrote: > >Dumb questions can have uses after all. Thank you Hannes and > > Ralph for your thoughtful > >responses. You must have been digging into the archives - my > > original post was nearly a > >year ago. > > > >Perhaps it is time to say what I chose to do. Design of Secret > > Santa was driven by: > > 1. A desire for simplicity > > 2. Relatively infrequent use (annual) > > > >Input is a text file listing the names of participants. A pair > > of names on the same line > >denotes > > a couple. Output consists of the result of drawing names, > > compiled as a class method. > >Method names are serialized: drawn2012, drawn2013, ... > > > > The Transcript shows the latest drawing, as a Dictionary, which > > is compiled. Below that in > > the > >Transcript are the statistics (iterations, rule violations). The > > image must be saved. > > > > I would appreciate any thoughts on application delivery. The > > above is a very crude, if not > >non-existent, way to deliver an app. Use of external files for > > output would improve things a > >little. Isn't it possible to do better than this for a Smalltalk > > app? What if the user is not a fan > > of > >computers? > > > > - Dan > >_______________________________________________ > >Beginners mailing list > >Beginners@lists.squeakfoundation.org > > >http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150503/b5b4dc0f/attachment-0001.htm From overcomer.man at gmail.com Sun May 3 05:21:59 2015 From: overcomer.man at gmail.com (Kirk Fraser) Date: Sun May 3 05:22:02 2015 Subject: [Newbies] Re: Update Timer? In-Reply-To: References: Message-ID: Sleeping on a problem helped in this case. Time current minutes < timer minutes + 10 ifTrue: [^#waiting]. timer := Time current. I put that in an update method called by methods that change the data. Not guaranteed every 10 min depending on user behavior but close enough and easier than defining a process. On Fri, May 1, 2015 at 10:14 PM, Kirk Fraser wrote: > I am building a simple database using a tree and a ReferenceStream as > learned here. I want it to update the disk file every 10 min. with the > current tree. What should I do? > > The classes Time, Duration, Stopwatch, Schedule, look like possibilities > but the only method that looks good is Schedule "between: aStart and: anEnd > do: aBlock" but I don't want it to hang waiting on the timer so the tree > can't take my changes. How do I make something perform like a text editor > that saves its work every 10 min? > > Thanks, > > Kirk Fraser > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150502/19580684/attachment.htm From overcomer.man at gmail.com Sun May 3 05:31:13 2015 From: overcomer.man at gmail.com (Kirk Fraser) Date: Sun May 3 05:31:14 2015 Subject: [Newbies] Re: Update Timer? In-Reply-To: References: Message-ID: Woops! What if timer + 10 gets bigger than 60? Time current - timer < 10 When you can't get help, help yourself! On Sat, May 2, 2015 at 10:21 PM, Kirk Fraser wrote: > Sleeping on a problem helped in this case. > > Time current minutes < timer minutes + 10 > ifTrue: [^#waiting]. > timer := Time current. > > I put that in an update method called by methods that change the data. > Not guaranteed every 10 min depending on user behavior but close enough and > easier than defining a process. > > > On Fri, May 1, 2015 at 10:14 PM, Kirk Fraser > wrote: > >> I am building a simple database using a tree and a ReferenceStream as >> learned here. I want it to update the disk file every 10 min. with the >> current tree. What should I do? >> >> The classes Time, Duration, Stopwatch, Schedule, look like possibilities >> but the only method that looks good is Schedule "between: aStart and: anEnd >> do: aBlock" but I don't want it to hang waiting on the timer so the tree >> can't take my changes. How do I make something perform like a text editor >> that saves its work every 10 min? >> >> Thanks, >> >> Kirk Fraser >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150502/a56a2b7b/attachment.htm From dnorton at mindspring.com Sun May 3 17:52:42 2015 From: dnorton at mindspring.com (Dan Norton) Date: Sun May 3 17:52:46 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: <5545A5EF.5060305@gmx.net> References: <5480DCAD.23507.EBC594@dnorton.mindspring.com>, , <5545A5EF.5060305@gmx.net> Message-ID: <5546606A.9963.5D7C71@dnorton.mindspring.com> :D Unfortunately #disableProgrammerFacilities doesn't. On 3 May 2015 at 6:37, Herbert K?nig wrote: > > Heart inspect ifFalse: [Preferences disableProgrammerFacilities] > SCNR, > Herbert > > P.S. disableProgrammerFacilities has a good comment which I suggest > reading. > > Am 02.05.2015 um 22:58 schrieb Kirk Fraser: > Frank, > > App delivery depends on your goals.? If you are a miserly > Scrooge at heart, you'll consider > all your code proprietary or your customers too stupid to learn > Smalltalk, so you can write > your code in your own collection, keep it out of the System > Browser, and hide it in a single > variable, or adopt a restricted sandbox GUI like eToys uses > which hides the Browser. But if > you have a more loving view of your customers, you might decide > to give them everything > plus a tutorial on how to modify the source Smalltalk to suit > their individual desires.? Most > business customers will find it cheaper to hire you to make > changes either way since you'll > have the knowledge and skill to do it faster than they could. ? > > One of the most disastrous miserly tactics I've ever heard of > was a vendor put a time check > on his code and if it wasn't updated every month it would fail > to work, thus insuring > continued payments he figured.? But his tricking the customer > failed when he went on > vacation and didn't supply an upgrade one month, the system > crashed, and the customer > had to find a new solution. > > Kirk Fraser > This is being done in poverty www.reliablerobots.com? > > On Sat, May 2, 2015 at 12:33 PM, Dan Norton > wrote: > 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. > > 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. > > 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: "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. > > On 2 May 2015 at 9:26, Ralph Johnson wrote: > > > > > Writing to a file is very similar to writing to the > transcript.? > > You need to open a writestream on the > > file, then you write to it. ? > > > > If I were writing the data out, I'd probably try to write it > out as > > a CSV (comma separated values) so > > that I could read it into a spreadsheet. > > > > If you want to make it easy for people who don't like > computers, > > perhaps you should make a GUI > > for it.? The GUI might list all the drawings in the top > pane.? > > When you select a drawing, you get to > > see its contents in the bottom pane. > > > > I assume that when you run drawn2012 it returns some kind of > data > > structure that gives you the > > drawing for 2012? > > > > My son had something like this.? He had his program send > each > > person email, telling them who > > they drew.? If you wanted to do this, you could focus on how > to > > send email instead of on how to > > make a GUI. > > > > I'm not sure what your motivation is here.? Is your main aim > to > > learn a little Smalltalk?? To make a > > useful tool for yourself?? To make a useful tool for > someone > > else?? These are all worthy goals.? My > > advice would depend on your goal.? And of course, goals > change.? > > You might have started out just > > wanting to learn Smalltalk but now you just want to make a > tool that > > someone else can use so you > > don't have to be in charge any more. > > > > On Sat, May 2, 2015 at 8:07 AM, Dan Norton > > > wrote: > >???? Dumb questions can have uses after all. Thank you > Hannes and > > Ralph for your thoughtful > >???? responses. You must have been digging into the > archives - my > > original post was nearly a > >???? year ago. > >???? > >???? Perhaps it is time to say what I chose to do. Design > of Secret > > Santa was driven by: > >???? ? ?1. A desire for simplicity > >???? ? ?2. Relatively infrequent use (annual) > >???? > >???? Input is a text file listing the names of > participants. A pair > > of names on the same line > >???? denotes > >???? a couple. Output consists of the result of drawing > names, > > compiled as a class method. > >???? Method names are serialized: drawn2012, drawn2013, > ... > >???? > >???? The Transcript shows the latest drawing, as a > Dictionary, which > > is compiled. Below that in > >???? the > >???? Transcript are the statistics (iterations, rule > violations). The > > image must be saved. > >???? > >???? I would appreciate any thoughts on application > delivery. The > > above is a very crude, if not > >???? non-existent, way to deliver an app. Use of external > files for > > output would improve things a > >???? little. Isn't it possible to do better than this for a > Smalltalk > > app? What if the user is not a fan > >???? of > >???? computers? > >???? > >???? ?- Dan > >???? _______________________________________________ > >???? Beginners mailing list > >???? Beginners@lists.squeakfoundation.org > >???? > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > ?? > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > From herbertkoenig at gmx.net Sun May 3 19:32:32 2015 From: herbertkoenig at gmx.net (=?windows-1252?Q?Herbert_K=F6nig?=) Date: Sun May 3 19:32:35 2015 Subject: [Newbies] Feedback: Using Output as the Next Input In-Reply-To: <5546606A.9963.5D7C71@dnorton.mindspring.com> References: <5480DCAD.23507.EBC594@dnorton.mindspring.com>, , <5545A5EF.5060305@gmx.net> <5546606A.9963.5D7C71@dnorton.mindspring.com> Message-ID: <554677D0.2000506@gmx.net> Sorry, I noticed it in Preferences and thought it had made it into the image by now. In the days of 3.8 you would have to load SqueakLockdown-nk.1.cs prior to sending #disableProgrammerFacilities. If you can't find that file I can send it to you. But Squeak changed a lot so not sure if it still works. But I managed to find the folder where I had more or less automated the generation of locked down images because my customer at that time insisted on getting images (well programs as he called it) where an accidental click or keypress would not bring up strange things. Maybe you open a new thread on Squeak dev about this. Cheers, Herbert Am 03.05.2015 um 19:52 schrieb Dan Norton: > :D Unfortunately #disableProgrammerFacilities doesn't. > > On 3 May 2015 at 6:37, Herbert K?nig wrote: > >> Heart inspect ifFalse: [Preferences disableProgrammerFacilities] >> SCNR, >> Herbert >> >> P.S. disableProgrammerFacilities has a good comment which I suggest >> reading. >> >> Am 02.05.2015 um 22:58 schrieb Kirk Fraser: >> Frank, >> >> App delivery depends on your goals. If you are a miserly >> Scrooge at heart, you'll consider >> all your code proprietary or your customers too stupid to learn >> Smalltalk, so you can write >> your code in your own collection, keep it out of the System >> Browser, and hide it in a single >> variable, or adopt a restricted sandbox GUI like eToys uses >> which hides the Browser. But if >> you have a more loving view of your customers, you might decide >> to give them everything >> plus a tutorial on how to modify the source Smalltalk to suit >> their individual desires. Most >> business customers will find it cheaper to hire you to make >> changes either way since you'll >> have the knowledge and skill to do it faster than they could. >> >> One of the most disastrous miserly tactics I've ever heard of >> was a vendor put a time check >> on his code and if it wasn't updated every month it would fail >> to work, thus insuring >> continued payments he figured. But his tricking the customer >> failed when he went on >> vacation and didn't supply an upgrade one month, the system >> crashed, and the customer >> had to find a new solution. >> >> Kirk Fraser >> This is being done in poverty www.reliablerobots.com >> >> On Sat, May 2, 2015 at 12:33 PM, Dan Norton >> wrote: >> 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. >> >> 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. >> >> 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: "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. >> >> On 2 May 2015 at 9:26, Ralph Johnson wrote: >> >> > >> > Writing to a file is very similar to writing to the >> transcript. >> > You need to open a writestream on the >> > file, then you write to it. >> > >> > If I were writing the data out, I'd probably try to write it >> out as >> > a CSV (comma separated values) so >> > that I could read it into a spreadsheet. >> > >> > If you want to make it easy for people who don't like >> computers, >> > perhaps you should make a GUI >> > for it. The GUI might list all the drawings in the top >> pane. >> > When you select a drawing, you get to >> > see its contents in the bottom pane. >> > >> > I assume that when you run drawn2012 it returns some kind of >> data >> > structure that gives you the >> > drawing for 2012? >> > >> > My son had something like this. He had his program send >> each >> > person email, telling them who >> > they drew. If you wanted to do this, you could focus on how >> to >> > send email instead of on how to >> > make a GUI. >> > >> > I'm not sure what your motivation is here. Is your main aim >> to >> > learn a little Smalltalk? To make a >> > useful tool for yourself? To make a useful tool for >> someone >> > else? These are all worthy goals. My >> > advice would depend on your goal. And of course, goals >> change. >> > You might have started out just >> > wanting to learn Smalltalk but now you just want to make a >> tool that >> > someone else can use so you >> > don't have to be in charge any more. >> > >> > On Sat, May 2, 2015 at 8:07 AM, Dan Norton >> >> > wrote: >> > Dumb questions can have uses after all. Thank you >> Hannes and >> > Ralph for your thoughtful >> > responses. You must have been digging into the >> archives - my >> > original post was nearly a >> > year ago. >> > >> > Perhaps it is time to say what I chose to do. Design >> of Secret >> > Santa was driven by: >> > 1. A desire for simplicity >> > 2. Relatively infrequent use (annual) >> > >> > Input is a text file listing the names of >> participants. A pair >> > of names on the same line >> > denotes >> > a couple. Output consists of the result of drawing >> names, >> > compiled as a class method. >> > Method names are serialized: drawn2012, drawn2013, >> ... >> > >> > The Transcript shows the latest drawing, as a >> Dictionary, which >> > is compiled. Below that in >> > the >> > Transcript are the statistics (iterations, rule >> violations). The >> > image must be saved. >> > >> > I would appreciate any thoughts on application >> delivery. The >> > above is a very crude, if not >> > non-existent, way to deliver an app. Use of external >> files for >> > output would improve things a >> > little. Isn't it possible to do better than this for a >> Smalltalk >> > app? What if the user is not a fan >> > of >> > computers? >> > >> > - Dan >> > _______________________________________________ >> > Beginners mailing list >> > Beginners@lists.squeakfoundation.org >> > >> http://lists.squeakfoundation.org/mailman/listinfo/beginners >> > >> >> >> >> _______________________________________________ >> Beginners mailing list >> Beginners@lists.squeakfoundation.org >> http://lists.squeakfoundation.org/mailman/listinfo/beginners >> >> >> >> >> >> _______________________________________________ >> Beginners mailing list >> Beginners@lists.squeakfoundation.org >> http://lists.squeakfoundation.org/mailman/listinfo/beginners >> >> > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners From arielfsqueak at gmail.com Thu May 21 01:06:59 2015 From: arielfsqueak at gmail.com (Ariel Feinerman) Date: Thu May 21 01:07:01 2015 Subject: [Newbies] Cyrilic fonts in Squeak Message-ID: Hi all, does anyone know how to allow cyrillic and other languages in Squeak 4.5? -- Best regards, Ariel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150521/a25219e2/attachment.htm From lewis at mail.msen.com Thu May 21 01:21:34 2015 From: lewis at mail.msen.com (David T. Lewis) Date: Thu May 21 01:21:37 2015 Subject: [Newbies] Cyrilic fonts in Squeak In-Reply-To: References: Message-ID: <20150521012134.GB10254@shell.msen.com> On Thu, May 21, 2015 at 04:06:59AM +0300, Ariel Feinerman wrote: > Hi all, > > does anyone know how to allow cyrillic and other languages in Squeak 4.5? > I have no personal knowledge in this area, but I know that cyrillic fonts have been supported in various Squeak versions, and I would expect that this should be possible in the latest Squeak releases also. Try googling "squeak cyrillic fonts", follow a few links and see if it helps. Dave From bert at freudenbergs.de Thu May 21 12:55:42 2015 From: bert at freudenbergs.de (Bert Freudenberg) Date: Thu May 21 12:55:45 2015 Subject: [Newbies] Cyrilic fonts in Squeak In-Reply-To: <20150521012134.GB10254@shell.msen.com> References: <20150521012134.GB10254@shell.msen.com> Message-ID: <756C2C24-D546-408D-BCF9-2F77AC88A84B@freudenbergs.de> > On 21.05.2015, at 03:21, David T. Lewis wrote: > > On Thu, May 21, 2015 at 04:06:59AM +0300, Ariel Feinerman wrote: >> Hi all, >> >> does anyone know how to allow cyrillic and other languages in Squeak 4.5? >> > > I have no personal knowledge in this area, but I know that cyrillic fonts > have been supported in various Squeak versions, and I would expect that this > should be possible in the latest Squeak releases also. Try googling "squeak > cyrillic fonts", follow a few links and see if it helps. When importing a TTF font we only import the latin glyphs to save space. I?m not exactly sure where in the code that is, but by adding the cyrillic code points it should just work. All the machinery is there. Also, Nicolay?s ???????????? SDK supports cyrillic fonts: http://st.krestianstvo.org/web/en/download - Bert - -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4115 bytes Desc: not available Url : http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150521/f68c14be/smime.bin From arielfsqueak at gmail.com Thu May 21 21:00:54 2015 From: arielfsqueak at gmail.com (Ariel Feinerman) Date: Thu May 21 21:00:56 2015 Subject: [Newbies] Cyrilic fonts in Squeak In-Reply-To: <756C2C24-D546-408D-BCF9-2F77AC88A84B@freudenbergs.de> References: <20150521012134.GB10254@shell.msen.com> <756C2C24-D546-408D-BCF9-2F77AC88A84B@freudenbergs.de> Message-ID: I istalled Free Type Plus like it was said in http://www.nat-geo.ru/planet/193798-posledniy-den-palmiry but nothing change. Then I load fonts with cyrillic support http://dejavu-fonts.org/wiki/Download and https://fedorahosted.org/liberation-fonts. I changed system fonts and all works well. I can see, the only problem is lack of needed fonts, so why the developers do not include them in the production image or at least distribute them with it? Smalltalk is excellent for child teaching but it is not good for children to study programming with ???? marks and installing fonts ;-) On Thu, May 21, 2015 at 3:55 PM, Bert Freudenberg wrote: > > > On 21.05.2015, at 03:21, David T. Lewis wrote: > > > > On Thu, May 21, 2015 at 04:06:59AM +0300, Ariel Feinerman wrote: > >> Hi all, > >> > >> does anyone know how to allow cyrillic and other languages in Squeak > 4.5? > >> > > > > I have no personal knowledge in this area, but I know that cyrillic fonts > > have been supported in various Squeak versions, and I would expect that > this > > should be possible in the latest Squeak releases also. Try googling > "squeak > > cyrillic fonts", follow a few links and see if it helps. > > When importing a TTF font we only import the latin glyphs to save space. > I?m not exactly sure where in the code that is, but by adding the cyrillic > code points it should just work. All the machinery is there. > > Also, Nicolay?s ???????????? SDK supports cyrillic fonts: > > http://st.krestianstvo.org/web/en/download > > - Bert - > > > > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > -- Best regards, Ariel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150522/9691c876/attachment.htm From lewis at mail.msen.com Fri May 22 00:52:46 2015 From: lewis at mail.msen.com (David T. Lewis) Date: Fri May 22 00:52:48 2015 Subject: [Newbies] Cyrilic fonts in Squeak In-Reply-To: References: <20150521012134.GB10254@shell.msen.com> <756C2C24-D546-408D-BCF9-2F77AC88A84B@freudenbergs.de> Message-ID: <20150522005246.GA54070@shell.msen.com> On Fri, May 22, 2015 at 12:00:54AM +0300, Ariel Feinerman wrote: > I istalled Free Type Plus like it was said in > http://www.nat-geo.ru/planet/193798-posledniy-den-palmiry but nothing > change. Then I load fonts with cyrillic support > http://dejavu-fonts.org/wiki/Download and > https://fedorahosted.org/liberation-fonts. I changed system fonts and all > works well. I can see, the only problem is lack of needed fonts, so why the > developers do not include them in the production image or at least > distribute them with it? Smalltalk is excellent for child teaching but it > is not good for children to study programming with ???? marks and > installing fonts ;-) Maybe you can help by being a developer too :-) If you have knowledge of the subject, and an iterest in making improvements, then your help will be welcome. Here is an overview of how our community development process works: https://squeakboard.wordpress.com/2009/07/02/a-new-community-development-model/ Dave > > On Thu, May 21, 2015 at 3:55 PM, Bert Freudenberg > wrote: > > > > > > On 21.05.2015, at 03:21, David T. Lewis wrote: > > > > > > On Thu, May 21, 2015 at 04:06:59AM +0300, Ariel Feinerman wrote: > > >> Hi all, > > >> > > >> does anyone know how to allow cyrillic and other languages in Squeak > > 4.5? > > >> > > > > > > I have no personal knowledge in this area, but I know that cyrillic fonts > > > have been supported in various Squeak versions, and I would expect that > > this > > > should be possible in the latest Squeak releases also. Try googling > > "squeak > > > cyrillic fonts", follow a few links and see if it helps. > > > > When importing a TTF font we only import the latin glyphs to save space. > > I???m not exactly sure where in the code that is, but by adding the cyrillic > > code points it should just work. All the machinery is there. > > > > Also, Nicolay???s ???????????????????????? SDK supports cyrillic fonts: > > > > http://st.krestianstvo.org/web/en/download > > > > - Bert - > > > > > > > > > > _______________________________________________ > > Beginners mailing list > > Beginners@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > > > -- > Best regards, > Ariel > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners From arielfsqueak at gmail.com Fri May 22 21:46:23 2015 From: arielfsqueak at gmail.com (Ariel Feinerman) Date: Fri May 22 21:46:25 2015 Subject: [Newbies] Cyrilic fonts in Squeak In-Reply-To: <20150522005246.GA54070@shell.msen.com> References: <20150521012134.GB10254@shell.msen.com> <756C2C24-D546-408D-BCF9-2F77AC88A84B@freudenbergs.de> <20150522005246.GA54070@shell.msen.com> Message-ID: On Fri, May 22, 2015 at 3:52 AM, David T. Lewis wrote: > On Fri, May 22, 2015 at 12:00:54AM +0300, Ariel Feinerman wrote: > > I istalled Free Type Plus like it was said in > > http://www.nat-geo.ru/planet/193798-posledniy-den-palmiry but nothing > > change. Then I load fonts with cyrillic support > > http://dejavu-fonts.org/wiki/Download and > > https://fedorahosted.org/liberation-fonts. I changed system fonts and > all > > works well. I can see, the only problem is lack of needed fonts, so why > the > > developers do not include them in the production image or at least > > distribute them with it? Smalltalk is excellent for child teaching but it > > is not good for children to study programming with ???? marks and > > installing fonts ;-) > > Maybe you can help by being a developer too :-) If you have knowledge of > the subject, and an iterest in making improvements, then your help will > be welcome. > > Of course, it is why I am here. I like Squeak and wish to help as much as I can. I would like to use it in our University and therefore we need some internationalization . > Here is an overview of how our community development process works: > > > https://squeakboard.wordpress.com/2009/07/02/a-new-community-development-model/ > > Dave > > > > > > > On Thu, May 21, 2015 at 3:55 PM, Bert Freudenberg > > wrote: > > > > > > > > > On 21.05.2015, at 03:21, David T. Lewis wrote: > > > > > > > > On Thu, May 21, 2015 at 04:06:59AM +0300, Ariel Feinerman wrote: > > > >> Hi all, > > > >> > > > >> does anyone know how to allow cyrillic and other languages in Squeak > > > 4.5? > > > >> > > > > > > > > I have no personal knowledge in this area, but I know that cyrillic > fonts > > > > have been supported in various Squeak versions, and I would expect > that > > > this > > > > should be possible in the latest Squeak releases also. Try googling > > > "squeak > > > > cyrillic fonts", follow a few links and see if it helps. > > > > > > When importing a TTF font we only import the latin glyphs to save > space. > > > I???m not exactly sure where in the code that is, but by adding the > cyrillic > > > code points it should just work. All the machinery is there. > > > > > > Also, Nicolay???s ???????????????????????? SDK supports cyrillic fonts: > > > > > > http://st.krestianstvo.org/web/en/download > > > > > > - Bert - > > > > > > > > > > > > > > > _______________________________________________ > > > Beginners mailing list > > > Beginners@lists.squeakfoundation.org > > > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > > > > > > > > > > -- > > Best regards, > > Ariel > > > _______________________________________________ > > Beginners mailing list > > Beginners@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > -- Best regards, Ariel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150523/e89fe8fb/attachment-0001.htm From roedj at hotmail.com Sat May 23 03:07:47 2015 From: roedj at hotmail.com (Daniel Roe) Date: Sat May 23 03:07:59 2015 Subject: [Newbies] Is the "Blue Book" still useful? Message-ID: I have a copy of the Smalltalk-80 "Blue Book"by Goldberg and Robson. I am a complete noob when it comes to Smalltalk but would like to learn about it by using Squeak. Aside from some notational differences, that I can adjust to, is the "Blue Book" still useful in any way? Thanks for your time, Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150522/29d795e2/attachment.htm From overcomer.man at gmail.com Sat May 23 03:32:11 2015 From: overcomer.man at gmail.com (Kirk Fraser) Date: Sat May 23 03:32:14 2015 Subject: [Newbies] Is the "Blue Book" still useful? In-Reply-To: References: Message-ID: Hi Dan, In my opinion, hard copy books aren't as useful anymore. To start learning Squeak, if you have already downloaded the latest all-in-one, execute it, click the Help button on the top menu bar, select Terse Guide to Squeak, and study, trying statements out in a workspace. If some class looks interesting like a Dictionary, you may want to study it in detail to see how the data structure works - that got me a job once. Unfortunately there is no equally clear help item covering the less essential categories, classes, and packages included with the latest Squeak or hidden around in other Squeak derivatives. But once you've learned one class like Dictionary in detail, it will be easier to explore others. And if you need something you can't find like a class to access a webcam, just ask. Kirk Fraser On Fri, May 22, 2015 at 8:07 PM, Daniel Roe wrote: > I have a copy of the Smalltalk-80 "Blue Book"by Goldberg and Robson. I am > a complete noob when it comes to Smalltalk but would like to learn about it > by using Squeak. Aside from some notational differences, that I can adjust > to, is the "Blue Book" still useful in any way? > Thanks for your time, > > Dan > > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150522/23ff1df6/attachment.htm From lewis at mail.msen.com Sat May 23 04:17:48 2015 From: lewis at mail.msen.com (David T. Lewis) Date: Sat May 23 04:17:50 2015 Subject: [Newbies] Is the "Blue Book" still useful? In-Reply-To: References: Message-ID: <20150523041748.GB26206@shell.msen.com> On Fri, May 22, 2015 at 11:07:47PM -0400, Daniel Roe wrote: > I have a copy of the Smalltalk-80 "Blue Book"by Goldberg and Robson. I am a complete noob when it comes to Smalltalk but would like to learn about it by using Squeak. Aside from some notational differences, that I can adjust to, is the "Blue Book" still useful in any way? > Thanks for your time, Dan, Yes, it is useful. I recommend reading it from cover to cover. Do not expect our comtempory Squeak images to match the contents of the book, because many things have changed. What has not changed are the core concepts and design principles, and there is no better way to get an overview of these than to read the original descriptions. If you have an original copy of the Blue Book, you can list it on Ebay and derive considerable value from it in that manner. But personally, I would recommend just reading it and displaying it on your bookshelf. Dave From casey.obrien.r at gmail.com Sat May 23 11:35:25 2015 From: casey.obrien.r at gmail.com (Casey Ransberger) Date: Sat May 23 11:35:30 2015 Subject: [Newbies] Is the "Blue Book" still useful? In-Reply-To: References: Message-ID: <5E799189-B083-463C-8DFF-BBBF2891E102@gmail.com> Answer is yes. A lot of things have changed since then, but the book documents a very valuable milestone in the evolution of the system. Particularly the Smalltalk description on the interpreter VM is worth investigation. Almost nobody in the Squeak community is using the Reenskaug MVC architecture, but industry is using it in other languages (or trying to) so that's worth a look, since it was the first implementation of the paradigm. These days, Trygve is doing something really cool called DCI, which is also worth a look. Anyway as of now, the preferred document is usually the Blue Book, followed by the ANSI standard (which is not really a standard anyone cared much about.) Neither will describe the current system, but they could both be useful for understanding how we got to the current system. Ultimately, the trick is to learn how to interact with and understand the system as it has evolved up to the moment when you start changing it. But to get there, you might have some (un)learning to do. HTH, --C > On May 22, 2015, at 8:07 PM, Daniel Roe wrote: > > I have a copy of the Smalltalk-80 "Blue Book"by Goldberg and Robson. I am a complete noob when it comes to Smalltalk but would like to learn about it by using Squeak. Aside from some notational differences, that I can adjust to, is the "Blue Book" still useful in any way? > Thanks for your time, > > Dan > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150523/052d9fb3/attachment.htm From roedj at hotmail.com Sun May 24 03:08:03 2015 From: roedj at hotmail.com (Daniel Roe) Date: Sun May 24 03:08:07 2015 Subject: [Newbies] Is the "Blue Book" still useful? Message-ID: Thanks to all for the answers. As I proceed I'm sure to have more questions. Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150523/6047c000/attachment.htm From unoduetre at poczta.onet.pl Sun May 24 22:28:37 2015 From: unoduetre at poczta.onet.pl (Mateusz Grotek) Date: Sun May 24 22:04:38 2015 Subject: [SPAM] [Newbies] Is the "Blue Book" still useful? In-Reply-To: (from roedj@hotmail.com on Sun May 24 05:08:03 2015) References: Message-ID: <1432506517.11419.1@mglap> Yes, the book is still very useful. I consider it a "standard" reference for Smalltalk. Nevertheless consider the following links too: http://www.squeakbyexample.org/ - this gives you more updated info on Squeak (like e.g. Monticello, Morphic). http://stephane.ducasse.free.fr/FreeBooks.html - a huge collection of Smalltalk books. From arielfsqueak at gmail.com Sun May 24 22:13:08 2015 From: arielfsqueak at gmail.com (Ariel Feinerman) Date: Sun May 24 22:13:12 2015 Subject: [SPAM] [Newbies] Is the "Blue Book" still useful? In-Reply-To: <1432506517.11419.1@mglap> References: <1432506517.11419.1@mglap> Message-ID: Also I can suggest 'Purple Book' it is a newer version of a Blue one without description of the VM. On Mon, May 25, 2015 at 1:28 AM, Mateusz Grotek wrote: > Yes, the book is still very useful. I consider it a "standard" reference > for Smalltalk. > Nevertheless consider the following links too: > > http://www.squeakbyexample.org/ - this gives you more updated info on > Squeak (like e.g. Monticello, Morphic). > http://stephane.ducasse.free.fr/FreeBooks.html - a huge collection of > Smalltalk books. > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners > -- Best regards, Ariel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150525/a4ee76a5/attachment-0001.htm From ckhipschman at gmail.com Mon May 25 01:19:05 2015 From: ckhipschman at gmail.com (Chuck Hipschman) Date: Mon May 25 01:19:09 2015 Subject: [SPAM] [Newbies] Is the "Blue Book" still useful? In-Reply-To: <1432506517.11419.1@mglap> References: <1432506517.11419.1@mglap> Message-ID: <14F124AA-BB62-4F14-9A88-053CB43A82EB@gmail.com> "Discovering Smalltalk" by Wilf Lalonde is also another oldie but goodie IMHO. Chuck > On May 24, 2015, at 4:28 PM, Mateusz Grotek wrote: > > Yes, the book is still very useful. I consider it a "standard" reference for Smalltalk. > Nevertheless consider the following links too: > > http://www.squeakbyexample.org/ - this gives you more updated info on Squeak (like e.g. Monticello, Morphic). > http://stephane.ducasse.free.fr/FreeBooks.html - a huge collection of Smalltalk books. > _______________________________________________ > Beginners mailing list > Beginners@lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/beginners From overcomer.man at gmail.com Tue May 26 05:13:19 2015 From: overcomer.man at gmail.com (Kirk Fraser) Date: Tue May 26 05:13:23 2015 Subject: [Newbies] How to Double Squeak? Message-ID: I want to run 2 Squeaks on a 2 core computer. The first time I tried two instances, one complained that it couldn't save changes or something but ran anyway, enabling me to open both the internal webcam and a USB webcam at the same time and enjoy the same display speed on each. To avoid the file conflict I later copied the entire Squeak directory to a copy to run separately. I brought up the Task Manager to set the priorities high and affinity to each core separately. Oddly the task manager showed two Squeak.exe's but only one had a description Squeak Cog Virtual Machine. They both started but soon one gave a VM error message and quit. What is the correct way to run a Squeak on each core? I've seen a recommendation to use 4 cores for machine vision and i hope to do it in Squeak instead of C++ to better modify the perception code. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150525/e46e0c9c/attachment.htm From ron at usmedrec.com Tue May 26 18:14:02 2015 From: ron at usmedrec.com (Ron Teitelbaum) Date: Tue May 26 18:14:06 2015 Subject: [Newbies] How to Double Squeak? In-Reply-To: References: Message-ID: <0ab101d097df$bf159bf0$3d40d3d0$@usmedrec.com> Hi Kirk, You are correct that you need to copy the files, I would just copy the entire directory, as you did previously. The error you saw was about the changes file. The image will still run but since the changes file is already open in the first instance it cannot be used for the second. You could actually delete the changes file and run from the same directory but I wouldn't recommend that either. On windows you can set the affinity to a particular CPU. Use your task manager to set the affinity for each instance. They should then run on different CPUs. You may need to change the name to get it to stick for the next launch. All the best, Ron From: beginners-bounces@lists.squeakfoundation.org [mailto:beginners-bounces@lists.squeakfoundation.org] On Behalf Of Kirk Fraser Sent: Tuesday, May 26, 2015 1:13 AM To: A friendly place to get answers to even the most basic questions about Squeak. Subject: [Newbies] How to Double Squeak? I want to run 2 Squeaks on a 2 core computer. The first time I tried two instances, one complained that it couldn't save changes or something but ran anyway, enabling me to open both the internal webcam and a USB webcam at the same time and enjoy the same display speed on each. To avoid the file conflict I later copied the entire Squeak directory to a copy to run separately. I brought up the Task Manager to set the priorities high and affinity to each core separately. Oddly the task manager showed two Squeak.exe's but only one had a description Squeak Cog Virtual Machine. They both started but soon one gave a VM error message and quit. What is the correct way to run a Squeak on each core? I've seen a recommendation to use 4 cores for machine vision and i hope to do it in Squeak instead of C++ to better modify the perception code. Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20150526/52c46bd1/attachment.htm