Hi,

Is nice to see this thread.

Our approach to building documentation is a problem/local first one. So
we go from particular problems/projects as need of the community 
dictate them. We do workshops and create the documentation while the
workshop is happening and then we compile such documentation in booklets
(see for example Documentathon: Agile and resilient tools and techniques
to write and publish together -- In Spanish [1]). Is similar to the book
sprints[1a] but we did a parallel development without knowing them. We
use CodiMD[2] for collaborative workshop note taking and then we combine
Pandoc, Markdeep[3], Fossil[4] and others with Pharo and Grafoscopio to
create the publication and collaborate on it asynchronously.

This problem based approach means that we are kind of intermediate level
oriented by design and tt also means that we have gaps in our knowledge
(particularly on the TDD front), as we have learn as we go/need. We are
combining stuff from data and file (STON, JSON, FileLocator)
serialization and manipulation and also calling external programs and
scheduling taks (OSSubprocess, TaskIt), making visualizations (Roassal)
and coming with solutions on how to combine such technologies to
solve/easy the tasks at hand and making compelling arguments to
(h)ac(k)tivists, researchers or/and journalist (see for example the
Panama Papers as reproducible research[5] or domain specific
visualizations for governments medicine information[5a]).

All this is powered by Pharo technologies and communities, but I think
that we still can make a compelling case for wider audiences about Pharo
and making it more visible. Now with Covid, the need for self/autonomous
publishing is becoming more visible again, as educators, activists,
communities are turning to more activities online and also need more
autonomy over their online presence beyond what is provided by
oligopolistic providers. So we're going to start a series of workshops
on agile and resilient Indie Web[6] with Pharo, building blogs, wikis
and portfolios with it (and Fossil, Markdeep, etc), using Pharo for
orchestration and articulation of other technologies, but making it more
visible also (as agility and resilience are not properties of the
overcomplicated web of today).

Usually I try to bootstrap the problem solving environment, so probably
the web presences we build in the the workshops (starting on August
15th) will serve to document and share the experience. The workshops
will be given in Spanish (I'll share the invitation in the Pharo Spanish
discord channel), because of our local first approach, but the software
we develop to support the experience will be useful to non Spanish
speakers also.

So I hope this contribute to showcase the Pharo usage in solving
intermediate ("real life") level problems and even to involve non
Spanish speakers with code reviews and testing, making suggestions and
helping us to improve the software engineering parts behind such
problems/projects, as I greatly appreciate the experience and teachings
of this community.

I'll keep you informed.

Cheers,

Offray


[1] https://mutabit.com/repos.fossil/documentaton/
[1a] https://en.wikipedia.org/wiki/Book_sprint
[2] https://demo.codimd.org/
[3] https://casual-effects.com/markdeep/
[4] https://fossil-scm.org/
[5] https://mutabit.com/offray/blog/en/entry/panama-papers-1
[5a] https://mutabit.com/offray/blog/en/entry/sdv-infomed
[6] https://indieweb.org/

On 2/08/20 12:51 p. m., tbrunz 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.  :^)
>
> My hope is that participating in this will make me capable of creating
> advanced tutorials all by myself.
>
>>>  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.  ;^)
>
>>> 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
>


Reply via email to