Hi Matthew-- > If the board finds it appropriate, I am willing to be team leader. The board approves the team and you as its leader. I'm the default teams liaison; if you need any help from us, please let me know. I'll check for new activity on first Wednesdays. If the team seems inactive since the last check I'll bug you. :) (The same goes for all other teams I monitor, see [1].) Thanks for volunteering! -C [1] http://www.squeak.org/Community/Teams -- Craig Latta http://netjam.org/resume |
In reply to this post by Tapple Gao
Wonderful. I like it. With the scope of the group (at least the long term
scope) I would say it is to document all things squeak. It is common in open source programming to have one group that only programs and another that only documents. Of course documentation could be created more efficiently by the developer, but most developers (including myself) would rather code then document. So anyway, I will be willing to provide any help I can. I started a new job that is quite far from where I live, so I basically don't exist during the week but I will download emails overnight so I am somewhat reachable. :) I have around 2 hours per day to devote, but it is offline time until they get internet on the trains. :( While digging around, planning to do some documentation myself I found this page: http://www.oldenbuettel.de/squeak-doku/class_index.html I don't know if it is generated anymore, but if it is, we could write a little script to go through and put a common format on all the class comments and then fill in the information as we go. This would very quickly give us a Javadoc like class reference that would be accessable by everyone. Stephane and I had discussed a format, but I can't find the email atm. >From: Matthew Fulmer <[hidden email]> >Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: [hidden email] >Subject: [ANN] Squeak Documentation Team formation >Date: Thu, 21 Sep 2006 18:47:52 -0700 > >I request the formation of the Squeak Documentation Team. > >I created a document stating the plan, goals, and purpose of the >Squeak Documentation Team: >http://minnow.cc.gatech.edu/squeak/5870 > >I will commit to creating a useful Squeak Tutorial. > >If the board finds it appropriate, I am willing to be team >leader. > >Anyone want to help? > >-- >Matthew Fulmer > |
In reply to this post by Tapple Gao
I know the reflex is going to be to say yes, but I would say it's an
intermediate topic. The reason is that I think unit testing shines the brightest in later revisions to your applications (making sure changes didn't break code). A possible way is to make a theme like they did in Dolphin. In Dolphin the tutorial is about making a minimal bank account program. Someone wrote tutorials about how to extend these later. I think that could work. You make your simple Morhpic app, then in the next installment you explain the features your application doesn't have but needs and so you explain that you want to first make unit tests to ensure you don't break anything. >From: Matthew Fulmer <[hidden email]> >Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: [hidden email] >Subject: Should Test-Driven Development be in the beginners tutorial? >Date: Thu, 21 Sep 2006 20:25:17 -0700 > >On Thu, Sep 21, 2006 at 06:47:52PM -0700, Matthew Fulmer wrote: > > I created a document stating the plan, goals, and purpose of the > > Squeak Documentation Team: > > http://minnow.cc.gatech.edu/squeak/5870 > >I really want to introduce beginners to (and learn myself) how >to write good unit tests, then develop a class that conforms to >those unit tests inside the debugger. I have heard that that >capability is one of the best things about Smalltalk, and I know >that unit tests are a *very* good thing to use. > >Should I expose a Squeak beginner to this topic early on? >or should that be the topic of a separate tutorial? > >I do not know if my tutorial will target novice programmers or >not. > >-- >Matthew Fulmer > |
In reply to this post by Göran Krampe
>From: [hidden email] >Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: The general-purpose Squeak developers >list<[hidden email]> >Subject: Re: [ANN] Squeak Documentation Team formation >Date: Fri, 22 Sep 2006 08:51:29 +0200 > >Now, let me ask a really annoying question: What will happen with this >tutorial after year 2008? > I think the formation of an official documentation team is the answer to this question. The reason all the other tutorials became stale is because the maintainer left, right? If you have a documentation team then they are responsible for all things documentation and so it can't go stale unless there are no members on the team (or not enough to keep up). |
In reply to this post by J J-6
> A possible way is to make a theme like they did in Dolphin. In Dolphin the
> tutorial is about making a minimal bank account program. Someone wrote > tutorials about how to extend these later. I think that could work. You > make your simple Morhpic app, then in the next installment you explain the > features your application doesn't have but needs and so you explain that you > want to first make unit tests to ensure you don't break anything. Matthew asked about unit tests, but he really should have asked about test-first. This isn't test-first. Unit tests have many purposes. Only one is to ensure that changes don't break anything. A more important purpose is to ensure that you know what you are programming. Test-first lets you think about the interface to your classes from the users point of view. It provides documenation to how to use your classes, and provides a kind of specification. Test-first is about design even more than testing. -Ralph Johnson |
Well, that is valid. The alternative to what I said is: if your going to train someone, train them right from the start. I guess I don't do it the way you described because I make my classes with an interface, then part way through I determine my first cut was wrong. If I started with the tests I would have to change all the tests along with my class changes (right?), effectively doubling the work I do now. Has any work been done to integrate testing into the browser? It seems like some of the things you would write tests for are pretty predictable and could be automated or semi-automated. >From: "Ralph Johnson" <[hidden email]> >Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: "The general-purpose Squeak developers >list"<[hidden email]> >Subject: Re: Should Test-Driven Development be in the beginners tutorial? >Date: Sat, 23 Sep 2006 10:00:01 -0500 > >>A possible way is to make a theme like they did in Dolphin. In Dolphin >>the >>tutorial is about making a minimal bank account program. Someone wrote >>tutorials about how to extend these later. I think that could work. You >>make your simple Morhpic app, then in the next installment you explain the >>features your application doesn't have but needs and so you explain that >>you >>want to first make unit tests to ensure you don't break anything. > >Matthew asked about unit tests, but he really should have asked about >test-first. > >This isn't test-first. Unit tests have many purposes. Only one is to >ensure that changes don't break anything. A more important purpose is >to ensure that you know what you are programming. Test-first lets you >think about the interface to your classes from the users point of >view. It provides documenation to how to use your classes, and >provides a kind of specification. Test-first is about design even >more than testing. > >-Ralph Johnson > |
In reply to this post by ccrraaiigg
On Fri, Sep 22, 2006 at 01:39:43PM -0700, Craig Latta wrote:
> The board approves the team and you as its leader. I'm the default > teams liaison; if you need any help from us, please let me know. Who do I refer volunteers to for wiki edit permissions? Several people have good ideas and are willing to contribute, but I do not know of a reliable way to give them wiki edit permissions. Do I have permission to distribute the Swiki password to those who want to help? I got wiki permissions from Benjamin Pollack after I posted my basic idea on squeak-dev. I believe those who have a willingness to help and some idea of what they want to do should be given permission to contribute. Is there a policy in place that governs who can bestow wiki privileges upon others? -- Matthew Fulmer |
Matthew Fulmer schrieb:
> On Fri, Sep 22, 2006 at 01:39:43PM -0700, Craig Latta wrote: > >> The board approves the team and you as its leader. I'm the default >> teams liaison; if you need any help from us, please let me know. >> > > Who do I refer volunteers to for wiki edit permissions? Several > people have good ideas and are willing to contribute, but I do > not know of a reliable way to give them wiki edit permissions. > > Do I have permission to distribute the Swiki password to those > who want to help? vandalized over and over again. You can give out the password to anyone who's genuinely interested in Squeak. You may even post it here on the list - I don't think the wiki spammers search the list archive for the password. Cheers, Hans-Martin |
In reply to this post by Tapple Gao
Matthew Fulmer wrote:
> I request the formation of the Squeak Documentation Team. > > I created a document stating the plan, goals, and purpose of the > Squeak Documentation Team: > http://minnow.cc.gatech.edu/squeak/5870 > > I will commit to creating a useful Squeak Tutorial. > > If the board finds it appropriate, I am willing to be team > leader. > > Anyone want to help? > > Did you get the "Helpzip.zip" attachment that was sent recently (sorry, I couldn't find out who sent it. ) It seemed to be laid out well. Some thought was put into it. -- brad fuller |
In reply to this post by keith1y
On Fri, Sep 22, 2006 at 03:29:22AM +0100, Keith Hodges wrote:
> Andreas Raab wrote: > >Matthew Fulmer wrote: > >>I created a document stating the plan, goals, and purpose of the > >>Squeak Documentation Team: > >>http://minnow.cc.gatech.edu/squeak/5870 > One of my goals with the Magma-Pier integration is to be able to import > data from other wiki's. I thought that I might point such an importer at > the minnow squeak wiki! > > This will of course be a bit of a shakedown of the Magma-Pier combination. > > However in the long run, if it prooves viable, this may provide a better > basis for refactoring and tuning minnow content. > > a glimpse of the future perhaps. > > Keith Great Idea! please add it to the Future Projects page so that it does not get lost: http://minnow.cc.gatech.edu/squeak/809 -- Matthew Fulmer |
In reply to this post by Tapple Gao
Oh, and try to work some of this kind of stuff in:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-July/093048.html The Dictionary of Dictionaries example is especially nice. Someone new to program might not be so impressed, but people who have programmed other languages for a while will take notice of this sort of thing. |
In reply to this post by Brad Fuller
On Sat, Sep 23, 2006 at 10:11:50AM -0700, Brad Fuller wrote:
> Matthew, > Did you get the "Helpzip.zip" attachment that was sent recently (sorry, > I couldn't find out who sent it. ) > It seemed to be laid out well. Some thought was put into it. No, I did not. If you have a URL, it sounds like a great addition to the Catergory Index project: http://minnow.cc.gatech.edu/squeak/5871 -- Matthew Fulmer |
In reply to this post by Tapple Gao
On Fri, Sep 22, 2006 at 11:32:36AM -0700, Matthew Fulmer wrote:
> Here is my current criteria, and how I would rank relevant topics: > Is this skill essential to being a good Squeak and Morphic Programmer? > > Yes: > Installation > Debugging > Browsing > Coding > Smalltalk Language > Collections > Morphic > Probably: > Unit Testing > Change Sets > Maybe: > SqueakSource > SqueakMap > MontiCello > Projects > Probably not: > seaside > No: > mvc This discussion should involve the entire community. Please leave comments here or at http://minnow.cc.gatech.edu/squeak/5869 -- Matthew Fulmer |
In reply to this post by J J-6
As a TDD practictioner for almost 8 years, I can say from experience
that it doesn't double the work. Doing TDD makes you think about the design from the perspective of a real client (the test) as Ralph said. Chances are that you will get the interface you wanted through testing much easier than without because you have the client there telling you what you need as an interface. I don't claim that TDD is the silver bullet, dogmatically forcing it down the throats of others. But I can easily say that I am much more productive using TDD than without using it, just as I am much more productive using Smalltalk than Java or C++ or Perl or Ruby or... On 9/23/06, J J <[hidden email]> wrote: > > Well, that is valid. The alternative to what I said is: if your going to > train someone, train them right from the start. > > I guess I don't do it the way you described because I make my classes with > an interface, then part way through I determine my first cut was wrong. If > I started with the tests I would have to change all the tests along with my > class changes (right?), effectively doubling the work I do now. > > Has any work been done to integrate testing into the browser? It seems like > some of the things you would write tests for are pretty predictable and > could be automated or semi-automated. > > >From: "Ralph Johnson" <[hidden email]> > >Reply-To: The general-purpose Squeak developers > >list<[hidden email]> > >To: "The general-purpose Squeak developers > >list"<[hidden email]> > >Subject: Re: Should Test-Driven Development be in the beginners tutorial? > >Date: Sat, 23 Sep 2006 10:00:01 -0500 > > > >>A possible way is to make a theme like they did in Dolphin. In Dolphin > >>the > >>tutorial is about making a minimal bank account program. Someone wrote > >>tutorials about how to extend these later. I think that could work. You > >>make your simple Morhpic app, then in the next installment you explain the > >>features your application doesn't have but needs and so you explain that > >>you > >>want to first make unit tests to ensure you don't break anything. > > > >Matthew asked about unit tests, but he really should have asked about > >test-first. > > > >This isn't test-first. Unit tests have many purposes. Only one is to > >ensure that changes don't break anything. A more important purpose is > >to ensure that you know what you are programming. Test-first lets you > >think about the interface to your classes from the users point of > >view. It provides documenation to how to use your classes, and > >provides a kind of specification. Test-first is about design even > >more than testing. > > > >-Ralph Johnson > > > > > > -- Jason Rogers "Where there is no vision, the people perish..." Proverbs 29:18 |
In reply to this post by Tapple Gao
On Fri, 22 Sep 2006 11:32:36 -0700, Matthew Fulmer wrote:
> I do not want to duplicate effort; I want to create a tutorial to take a > programmer from "Squeak? Huh?" to "I know how to use squeak to develop > useful applications, and I know where to go for help" > > The content and organization of the tutorial is an open topic. Greetings, Cincom has a pair of tutorials that are excellent. They are intended for people with little programming and no smalltalk experience. They contain lots of graphics and lots of links to more detailed information. You are guided through developing an application that analyzes web log stats by first coding in a workspace and and then moving your code to methods. The first tutorial creates the classes and methods. In the second you develop a gui for the application and package it. Along the way you learn the basics of using smalltalk. By the end you hunger for more. While I'm sure you have your own ideas of content, you would do well to look over their material: http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=tutorials I don't know if there are any legal or ethical considerations but perhaps we could use the same application and content adapted for Squeak. I would be willing to do the first tutorial and with the help of someone knowledgeable in morphic, move on to the second. I am also willing to edit and prepare content provided by others. Chris |
In reply to this post by Tapple Gao
Am 22.09.2006 um 20:32 schrieb Matthew Fulmer:
> to take a programmer from "Squeak? Huh?" to "I know how to use > squeak to develop useful applications ... which is surprisingly hard. There was a (still unanswered) question for a tutorial on the newbies list - how to write and deploy (on various platforms) a program that just manipulates a text file. Sounds simple, and would be simple in many other systems. The question is if a tutorial could solve that or if there needs to be system changes to make Squeak less strange for newcomers - or if we explain to everyone why this is not simple, and should not be. - Bert - |
In reply to this post by Chris Kassopulo-2
On Sun, Sep 24, 2006 at 10:41:23AM -0400, Chris Kassopulo wrote:
> Cincom has a pair of tutorials that are excellent. They are intended for > people with little programming and no smalltalk experience. They contain > lots of graphics and lots of links to more detailed information. You are > guided through developing an application that analyzes web log stats by > first coding in a workspace and and then moving your code to methods. The > first tutorial creates the classes and methods. In the second you develop > a gui for the application and package it. Along the way you learn the > basics of using smalltalk. By the end you hunger for more. > > While I'm sure you have your own ideas of content, you would do well to > look over their material: > > http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=tutorials <personal_opinion> This is an excellent tutorial, and I hope our squeak tutorial can be of similar quality. However, I think this tutorial is unsuitable to a reader who is already familiar with blocks, loops, classes, and methods. If one understands these topics, the density of new information in the first tutorial is very low. Our tutorial should be much shorter and denser, since we are assuming that the reader already understands blocks, loops, classes, and methods. I did not look at the second tutorial. Also, the example of reading a log file did not seem very interesting or exciting to me; it is also not a typical application of Squeak. </personal_opinion> My idea for a demo application is a mock stock ticker. It would consist of two components: 1. A data "retrieval" class. This would not retrieve real data, but would make up companies and numbers and send that data to a client. It would mostly be a wrapper around a Dictionary or something similar; it would be an easy first class to write. It would also serve to introduce the reader to Collections and to the System Browser. 2. A StockTickerMorph. This would take the data from the server class and present it in a "scrolling ticker" widget similar to the one on TV. Again the real functionality is minimal, but it would illustrate how easy it is to create custom animated widgets in Squeak and Morphic (I am assuming it is easy). I admit that I am partial to pretty animations, and am not really interested in routine tasks like parsing log files. Also, I want to show the reader that Squeak not only makes "easy" things easy (log file inspection), but also makes "cool" things easy (animated widgets). I believe that is (or should be) a major selling point for Squeak. I realize I disagree with some of you about what should be in the tutorial, and what applications are interesting. Most of this disagreement can be summarized in three words: Morphic vs. Seaside. I am on the Morphic side, and Bakki and Chris seem to be on the Seaside side (Jason and Derek have not expressed an opinion). I cannot predict whether a beginner will be more interested in rich client development (Morphic), or web development (Seaside), and a including both in a single tutorial would make the tutorial broad rather than focused. Thus, I think that we should include one in the tutorial and save the other for later. Why should Morphic be in the beginners tutorial, rather than Seaside? * Morphic comes with the default Squeak image * Craig Latta wants a beginners tutorial on Morphic * Morphic is "cooler" than web development We could maintain a separate Seaside tutorial. However, we do not currently have the organizational capacity to focus on more than one project. I have said before: The reason that previous documentation efforts failed is the lack of focus. To succeed, we must press ahead. There is no "ahead" unless we set a goal and work toward it. Our current goal is reasonably small and well-defined. By achieving a small goal, we will prove to the community and to ourselves that we can achieve progressively bigger and better goals. Focus on the task at hand; everything else will come in time. > I am also willing to edit and prepare content provided by others. Welcome to the team! -- Matthew Fulmer |
+1 for Morphic.
On 9/25/06, Matthew Fulmer <[hidden email]> wrote: > On Sun, Sep 24, 2006 at 10:41:23AM -0400, Chris Kassopulo wrote: > > Cincom has a pair of tutorials that are excellent. They are intended for > > people with little programming and no smalltalk experience. They contain > > lots of graphics and lots of links to more detailed information. You are > > guided through developing an application that analyzes web log stats by > > first coding in a workspace and and then moving your code to methods. The > > first tutorial creates the classes and methods. In the second you develop > > a gui for the application and package it. Along the way you learn the > > basics of using smalltalk. By the end you hunger for more. > > > > While I'm sure you have your own ideas of content, you would do well to > > look over their material: > > > > http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=tutorials > > <personal_opinion> > > This is an excellent tutorial, and I hope our squeak tutorial > can be of similar quality. However, I think this tutorial is > unsuitable to a reader who is already familiar with blocks, > loops, classes, and methods. If one understands these topics, > the density of new information in the first tutorial is very > low. Our tutorial should be much shorter and denser, since we > are assuming that the reader already understands blocks, loops, > classes, and methods. I did not look at the second tutorial. > > Also, the example of reading a log file did not seem very > interesting or exciting to me; it is also not a typical > application of Squeak. > > </personal_opinion> > > My idea for a demo application is a mock stock ticker. It would > consist of two components: > > 1. A data "retrieval" class. This would not retrieve real data, > but would make up companies and numbers and send that data > to a client. It would mostly be a wrapper around a > Dictionary or something similar; it would be an easy first > class to write. It would also serve to introduce the reader > to Collections and to the System Browser. > > 2. A StockTickerMorph. This would take the data from the server > class and present it in a "scrolling ticker" widget similar > to the one on TV. Again the real functionality is minimal, > but it would illustrate how easy it is to create custom > animated widgets in Squeak and Morphic (I am assuming it is > easy). > > I admit that I am partial to pretty animations, and am not > really interested in routine tasks like parsing log files. > Also, I want to show the reader that Squeak not only makes > "easy" things easy (log file inspection), but also makes "cool" > things easy (animated widgets). I believe that is (or should be) > a major selling point for Squeak. > > I realize I disagree with some of you about what should be in > the tutorial, and what applications are interesting. Most of > this disagreement can be summarized in three words: Morphic vs. > Seaside. I am on the Morphic side, and Bakki and Chris seem to > be on the Seaside side (Jason and Derek have not expressed an > opinion). I cannot predict whether a beginner will be more > interested in rich client development (Morphic), or web > development (Seaside), and a including both in a single tutorial > would make the tutorial broad rather than focused. Thus, I > think that we should include one in the tutorial and save the > other for later. > > Why should Morphic be in the beginners tutorial, rather than > Seaside? > * Morphic comes with the default Squeak image > * Craig Latta wants a beginners tutorial on Morphic > * Morphic is "cooler" than web development > > We could maintain a separate Seaside tutorial. However, we do > not currently have the organizational capacity to focus on more > than one project. I have said before: > > The reason that previous documentation efforts failed is the > lack of focus. To succeed, we must press ahead. There is no > "ahead" unless we set a goal and work toward it. Our current > goal is reasonably small and well-defined. By achieving a small > goal, we will prove to the community and to ourselves that we > can achieve progressively bigger and better goals. Focus on the > task at hand; everything else will come in time. > > > I am also willing to edit and prepare content provided by others. > > Welcome to the team! > > -- > Matthew Fulmer > > -- Hiren J.Thacker |
In reply to this post by Tapple Gao
Hi,
first of all, thank you, Matthew, for tackling this. I'd actively contribute to documenting Squeak if I had the time. For now, I can volunteer to read and try documentation, tutorials, and such, if you like. On 9/25/06, Matthew Fulmer <[hidden email]> wrote: > I admit that I am partial to pretty animations, and am not > really interested in routine tasks like parsing log files. > Also, I want to show the reader that Squeak not only makes > "easy" things easy (log file inspection), but also makes "cool" > things easy (animated widgets). I believe that is (or should be) > a major selling point for Squeak. Here's another personal opinion. Frankly, that tutorial wouldn't make me too happy. What about the (in my opinion, most important) things in between "easy" and "cool" - i.e., plain pragmatic every-day GUIs? I really think those should be covered in any case, "cool" animated widgets notwithstanding. Let me explain. Over the last few days, I've been trying for some time to assemble a GUI as simple as this: a SystemWindow with a PluggableListMorph in it. I must admit two things: I'm not an experienced GUI programmer, and quite possibly I didn't try too hard, though it took me some time. In the end, I gave up because I couldn't figure out how to make the PluggableListMorph appear below the window's title bar. I don't believe that assembling a GUI as simple as this should be too complicated. Maybe it's very easy. I just couldn't do it, and that's frustrating. (BTW browsing and exploring some of the other SystemWindow offsprings didn't help much.) So, really, please, please consider having a go at "normal" GUI stuff as well. If I can build a fancy animated GUI, that's nice and impressive, but if I want to develop something that just needs to display some lists in some panes (like, say, a browser), that's at least as interesting and relevant. For example, John Maloney's Morphic tutorial is great, but it doesn't offer any help in this regard. > I realize I disagree with some of you about what should be in > the tutorial, and what applications are interesting. Most of > this disagreement can be summarized in three words: Morphic vs. > Seaside. I'd add another: "cool" vs. "pragmatic" Morphic. ;-) By the way, and contradicting what I wrote at the very beginning of this e-mail, I think I could write some tutorial-like stuff if I managed to get that little GUI up and running. Is that enough of a teaser? ;-) Best, Michael |
In reply to this post by Tapple Gao
Really good initiative...
I'll try to help if time allows > * Morphic is "cooler" than web development > not sure at all ;) consider seaside + scriptaculous, and I find it really fun and easier than morphic. Each time I try to dig into morphic, I just ran away ! But I agree that it's better to focus on one target and morphic is in the squeak core ;) > We could maintain a separate Seaside tutorial. However, we do > not currently have the organizational capacity to focus on more > than one project. If the UI is simple, maybe I'll give a try to make it in seaside... or even in magritte, as magritte is a metamodel that can render as a morph or a seaside component... but I agree, it's another tutorial ! Cédrick |
Free forum by Nabble | Edit this page |