Hi 

Thanks I was planning to implement it. 
I asked Esteban to take the time to integrate my PR. 
Now can you send some PRs to the version of esteban like that we will get a 
better version. 
And you can open issues on his repo
We will fix them. 
S


> On 2 Aug 2020, at 20:22, Russ Whaley <whaley.r...@gmail.com> wrote:
> 
> Here are a couple of items with my first 5 minutes with the TODO tutorial...
> TODOListPresenter >> initializePresenters
> 
>       todoListPresenter := self newTable
>               addColumn: ((SpCheckBoxTableColumn evaluated: [:task | task 
> isDone]) width: 20);
>               addColumn: (SpStringTableColumn title: 'Title' evaluated: 
> [:task | task title]);
>               yourself.
> 
>       self layout: (SpBoxLayout newVertical 
>               add: todoListPresenter;
>               yourself) 
> 
> In this portion (Showing Tasks) - it does not define todoListPresenter.... is 
> it a local or a missed instVar.  I tried it first as a local to enable save, 
> but then...
> TODOListPresenter >> updatePresenter
> 
>       todoListPresenter items: TODOTask selectAll asOrderedCollection
> 
> todoListPresenter isn't available for updatePresenter... so I'm assuming it 
> must be an instvar?  I created accessors, then changed all the 
> todoListPresenter references to use the accessors (below).
> TODOListPresenter >> initializePresenters
> 
>       self todoListPresenter: (self newTable
>               addColumn: ((SpCheckBoxTableColumn evaluated: [:task | task 
> isDone]) width: 20);
>               addColumn: (SpStringTableColumn title: 'Title' evaluated: 
> [:task | task title]);
>               yourself).
> 
>       self layout: (SpBoxLayout newVertical 
>               add: self todoListPresenter;
>               yourself) 
> and...
> TODOListPresenter >> updatePresenter
> 
>       self todoListPresenter items: TODOTask selectAll asOrderedCollection
> 
> Also, in the first example - task isDone needs to be defined (and might be 
> defined later in the tutorial) - I'm assuming 
> SpCheckBoxTableColumn>>evaluated: is expecting a boolean, or do I need to 
> convert this somehow?  I can check all these things out - but just curious if 
> I'm missing something?
> TODOTask >> done
> 
>       ^ done
> TODOTask >> isDone
> 
>       ^ self done
> 
> I'll go through a bit more and update you on my progress.  Ted, I also hope 
> to get to take a look at Zebra today :)
> 
> 
> 
> 
> On Sun, Aug 2, 2020 at 2:07 PM Stéphane Ducasse <stephane.duca...@inria.fr 
> <mailto:stephane.duca...@inria.fr>> wrote:
> 
> 
>> On 2 Aug 2020, at 19:51, tbrunz <wild.id...@gmail.com 
>> <mailto:wild.id...@gmail.com>> wrote:
>> 
>>>> I've been thinking lately that it would be nice to expand the number of
>>>> Pharo tutorials we have available.  But rather than (or along with)
>>>> creating
>>>> more "beginner" level tutorials, I'd like to see some good "intermediate"
>>>> level Pharo tutorials.
>>> 
>>> Me too :)
>> 
>> Let's do it, then.  I'll volunteer to do most of the work.  :^)
> 
> I will review anything you write :)
>> 
>> My hope is that participating in this will make me capable of creating
>> advanced tutorials all by myself.
> 
> I usually like to write to learn and dump what I learned.
>> 
>>>> I think that programmers who already know the Pharo
>>>> syntax and messaging semantics could benefit from more advanced tutorials
>>>> that demonstrate how to develop "real world" Pharo code for "real world"
>>>> processing needs.
>>> 
>>> Yes yes I would love that.
>> 
>> That was part of my motivation for creating a Pharo app to solve the Zebra
>> Puzzle.  First, of course, I wanted to solve it.  ;^)
> 
> I will send you some feeedback and PR.
>> 
>>>> What I'm talking about is something that assumes you know the language,
>>>> the
>>>> basics of the IDE (but not necessarily how to leverage its capabilities
>>>> to
>>>> aid development), and the basics of the foundation classes (but not its
>>>> details).  I'd like a tutorial for intermediate Pharo programmers who
>>>> want
>>>> to become experts with Pharo.  Something that can show you how to apply
>>>> the
>>>> tools of the IDE and the features of the language and base classes to
>>>> create
>>>> solutions that solve complex problems.
>>> 
>>> do you have ideas?
>> 
>> I do!
>> 
>> As I started building the Logic Puzzle app, it occurred to me that I could
>> probably find several different, common structures in OOP (specifically,
>> Pharo) to add to the solution.  And then each would be its own example of
>> "what real Pharo code looks like".  I.e., be good examples.
>> 
>> But first, I needed to explore "how to do it in Pharo" for myself, which
>> naturally would have me working the IDE strongly.
>> 
>> Then I thought, the entire application can/should be an example, so it
>> should be a tutorial.
>> 
>> That means that I need more than just a completed application (that's "just
>> an example").  To be a *tutorial*, it means starting from scratch, showing
>> how to approach the solution, how to start a Pharo app, how to use the IDE,
>> how to write tests, how to refactor code, etc.
>> 
>> Then I thought, this needs a GUI.  Either a Spec2 UI or a web app UI (with
>> Seaside or Teapot).  But I would need help with that!  So I'll start by
>> creating a message-based solution, and maybe get help to add a UI later.
>> 
>> I did some prototyping, then got what I think might be a good code structure
>> (by version 4; it took a while to "think pure OOP"; old habits are hard to
>> fight against).  It runs, it works.
>> 
>> But.. Is it "good Pharo code"?  I'm not experienced enough to answer that
>> question.  I need a code review, criticism, guidance.  Point me in the right
>> direction and I'll keep working on it, and start thinking about how to
>> express the "meta" elements (how to use the IDE to make/test the code,
>> etc.).
>> 
>>>> What does the community think of this idea?
>>> 
>>> I love it. I did Pharo by example so that I can get of rid of the beginner
>> parts.
>>> After I did learning OOP and Pharo with style so that I do not have to talk
>> about it
>>> again.
>>> 
>>> So definitively.
>> 
>> Okay, great.  I'll do most of the work.  But I need help...
>> 
>> I don't want to go any further without someone much more experienced than I
>> am to review what I have and let me know what I'm doing right & what I'm
>> doing "no quite so right".  Yes, it runs, it works -- but that's *not* good
>> enough.  The goal here isn't to "hack out a solution and move on", the goal
>> is to "create an example and tutorial that's high enough quality to use to
>> teach Pharo to other people".  I don't want to be teaching *my* bad habits!
>> 
>> Also, I know next to nothing about Spec2 or Seaside/Teapot.  I just know
>> that I need to learn it, and I need to use it to give my tutorial a UI (or
>> two).  Newcomers will show up wanting to learn Pharo, and they need to be
>> reassured that they can create nice (enough) UIs without a huge effort. 
>> (Not everyone is a command line hacker, and end-users certainly don't want
>> to be.)
>> 
>> The more I learn (from you), the more I can be independent, and the more
>> tutorials I could produce -- without a lot of help.  I'm willing to do the
>> work, because that will help make me a Pharo "master programmer".  (I don't
>> want to be a hack, and I can't really be a trainer if I'm just a hack
>> myself.)  
>> 
>> I'll pay back the community by helping to attract and advance more
>> developers' skills.  I just have to have the more advanced knowledge &
>> skills myself.  So, train the (future) trainer, anyone??
>> 
>> -Ted
>> 
>> 
>> 
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html 
>> <http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html>
>> 
> 
> --------------------------------------------
> Stéphane Ducasse
> http://stephane.ducasse.free.fr <http://stephane.ducasse.free.fr/> / 
> http://www.pharo.org <http://www.pharo.org/> 
> 03 59 35 87 52
> Assistant: Aurore Dalle 
> FAX 03 59 57 78 50
> TEL 03 59 35 86 16
> S. Ducasse - Inria
> 40, avenue Halley, 
> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
> Villeneuve d'Ascq 59650
> France
> 
> 
> 
> -- 
> Russ Whaley
> whaley.r...@gmail.com <mailto:whaley.r...@gmail.com>
--------------------------------------------
Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org 
03 59 35 87 52
Assistant: Aurore Dalle 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

Reply via email to