<html><head><style id="css_styles" type="text/css"><!--blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
table { border-collapse: collapse; }
li[style='text-align: center;'], li[style='text-align: center; '], li[style='text-align: right;'], li[style='text-align: right; '] {  list-style-position: inside;}
body { font-family: 'Segoe UI'; font-size: 12pt; }
.quote { margin-left: 1em; margin-right: 1em; border-left: 5px #ebebeb solid; padding-left: 0.3em; }
a.em-mention[href] { text-decoration: none; color: inherit; border-radius: 3px; padding-left: 2px; padding-right: 2px; background-color: #e2e2e2; }
--></style></head><body><div>Hi Mark, all,
</div><div><br /></div><div>I myself discovered Smalltalk as late as 2020 and found that, at least in my case, learning Smalltalk was pretty difficult despite the simplicity, consistency and overall beauty of the language. And I too love it :) (in my case it's both Squeak and Cuis)
</div><div><br /></div><div>> Early in my learning I had a lot of beginner questions for which I failed to easily find answers. [...] and there is a high expectation that beginners will read through the source code and try hard to find answers on their own.
</div><div><br /></div><div>I so much share your frustration! In my experience no amount of reading the code can replace guidelines from experienced users enlightening the **intentions** behind the code as some parts of the code are just implementation details and trade-offs while some other parts are the "good stuff", bear the ideas. But which is which?! This is where I struggle the most, to be able to extract the ideas and filter out the "noise", and where I consider expert advice irreplaceable. And this is one of the things I'd love to find in comments. 
</div><div><br /></div><div>> So I frequently asked questions on this mailing list. Over time I learned that doing that is frowned on [...] While some in the community may have been annoyed by the number of questions I have asked [...]
</div><div><br /></div><div>I honestly don't believe it's the case! Otherwise I'd be afraid to ask next time :)
</div><div><br /></div><div>> I really want to contribute via the documentation I'm creating and hope that at some point all of that content can be the basis for a book focused on Cuis Smalltalk.
</div><div><br /></div><div>I wish you succeeded in this endeavor :) Again, my beginnings with Smalltalk were painful due to the lack of documentation and an availability of a vast knowledge base of the Stack Overflow type where you can sooner or later find a question similar to the one you're struggling with. I'm learning Rust at the moment and at least most of my beginner questions and confusion have been covered by the documentation so far. But I very much realize how much work it is to provide such a documentation and that it's only possible thanks to the size of the community; the amount of work to create (and maintain!) such a documentation is, I believe, about the same regardless of the language hence it's so much more difficult for small communities like Squeak/Cuis's where just a few individuals must carry the burden. 
</div><div><br /></div><div>Quite recently I've discovered that the github Copilot can be a tremendous help in learning a language (accelerates learning the syntax, explains features and bugs, auto-fills simple examples and even more complicated code snippets - not always correct but even that helps!). I wish such a tool was available for Smalltalk as a lot of beginner questions could be solved right away. 
</div><div><br /></div><div>I wish there were more up-to-date sources like the Cuis book, Squeak by example but also introductory books on more advanced stuff like Stephane Ducasse's books on concurrent programming in Smalltalk or Eliot Miranda's blog on contexts & friends.
</div><div><br /></div><div>Best of luck,
</div><div><br /></div><div>Jaromir</div>
<div x-em-replyforwardheader=""><br /></div>
<div>
<div>On 21-Oct-24 2:34:10 AM, "Mark Volkmann via Cuis-dev" <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:</div></div><div x-em-quote=""><br /></div>
<div id="xc12625a08c154e0"><blockquote cite="CAFfRWnU5xSpzwAoy0-LeoS0qra3zcBev_m8LNH-0+AKCR=fGKA@mail.gmail.com" type="cite" class="cite2">
<div dir="ltr"><div dir="ltr">I apologize if the way I worded my question came across as rude. That was certainly not my intent. I think I should explain why I've tried to be a part of the Cuis Smalltalk community for the past eight months or so.<div><br /></div><div>I'm pretty new to Smalltalk and it turns out I love it. And so far Cuis Smalltalk is my favorite distribution.</div><div><br /></div><div>Early in my learning I had a lot of beginner questions for which I failed to easily find answers. So I frequently asked questions on this mailing list. Over time I learned that doing that is frowned on and there is a high expectation that beginners will read through the source code and try hard to find answers on their own. I've tried hard to do that, but haven't always been successful.</div><div><br /></div><div>I decided that I wanted to help future beginners find the answers to all the questions I had more easily. So I started documenting everything I learned about Smalltalk at <a href="https://mvolkmann.github.io/blog/">https://mvolkmann.github.io/blog/</a> (select Smalltalk in the left nav to see a long list of subtopics). As you can see, I have spent a large amount of time on this. It's nothing compared to those of you that have been contributing to Cuis Smalltalk for years, but I think it provides a good resource for anyone new to Smalltalk in general and Cuis Smalltalk in particular.</div><div><br /></div><div>I do not have a particular app in mind that I want to build with Smalltalk. Instead I'm constantly thinking about how I would convince non-Smalltalk developers to give Cuis Smalltalk a try. A perfect example of that is my investigation into database access. Many of the developers I know are web developers. Accessing relational databases is a fundamental part of implementing most web applications. So I need to be able to demonstrate how that is done from Cuis Smalltalk to have any hope of convincing my web developer friends to try it. As far as I know, based on many searches, there is not currently a web page that shows step-by-step how to access a relational database using Cuis Smalltalk. I want to provide that if I can learn how to do it.</div><div><br /></div><div>While some in the community may have been annoyed by the number of questions I have asked, I do hope there is a feeling that my presence in the Cuis community has had a net positive impact. In addition to the documentation I've created in my blog I have identified a number of minor issues that have been fixed, contributed a small change set that added the ability to set a background image in cover and tile modes, and most recently contributed a library for implementing web servers that has many advantages over the WebClient library (<a href="https://github.com/mvolkmann/Cuis-Smalltalk-WebClientPlus">https://github.com/mvolkmann/Cuis-Smalltalk-WebClientPlus</a>).</div><div><br /></div><div>I really want to contribute via the documentation I'm creating and hope that at some point all of that content can be the basis for a book focused on Cuis Smalltalk.</div><div><br /></div><div>P.S. I honestly didn't know that the Cuis-Smalltalk-Dev/Documentation/Technical directory existed. Thanks for pointing that out. I'll read that now.</div></div><br /><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 20, 2024 at 5:48 PM Juan Vuletich <<a href="mailto:juan@cuis.st">juan@cuis.st</a>> wrote:<br /></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><u></u>

  
    
    
  
  <div bgcolor="#ffffff">
    Hi Mark,<br />
    <br />
    What follows may be an intricate reading involving language,
    manners, and how the Open Source world works. Please read carefully.
<br />
    <br />
    On 10/20/2024 7:31 AM, Mark Volkmann via Cuis-dev wrote:
    <blockquote type="cite" class="cite">
      
      I should have asked “Is it possible that nobody that uses Cuis
      Smalltalk in macOS accesses relational databases?”
</blockquote>
    <br />
    Who knows? Cuis Smalltalk is MIT license you get the whole system,
    free for any use, without any obligations. That means that you are
    not required to disclose what you do with it. As a consequence of
    that, the answer to "it is possible that nobody that uses Cuis
    Smalltalk does XXX?" is true, for any XXX. Does this matter? I don't
    think so.
<br />
    <br />
    A much better way to react would be something like "Hi Folks. I'm
    trying to do XXX. I know the system is fully open and explicitly
    designed to make it easy for me to solve my technical problems, but
    I'm still unable to do so. Has anybody faced these kinds of problems
    I'm seeing before, and is willing to help me?".
<br />
    <br />
    That will indeed work much better.<br />
    <br />
    Additionally, some comment from you revealing that you have already
    read the contents of the /Documentation/Technical folder would be
    appreciated. Your first message made me believe you hadn't realized
    you had trouble calling an API via FFI. But Jon's answer doesn't
    tell you that, and assumes you already know that. Your following
    message makes me now believe that you know that the problem may be
    "how to reference a lib path in the Open Smalltalk VM", indeed being
    aware that this is a problem with FFI.
<br />
    <br />
    Once you realize that, you may also realize that this problem has
    almost nothing to do with Cuis Smalltalk. A bit of googling shows
    people asking similar (but better formed) questions in nginx and
    lua.
<br />
    <br />
    I'm starting to have doubts about your intellectual honesty while
    asking these questions. I think the Cuis community deserves better
    than this. 
</div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div bgcolor="#ffffff">
    <br />
    Thanks,<br />
    <br />
    <blockquote type="cite" class="cite">
      <div><br />
        <div dir="ltr">---
          <div>R. Mark Volkmann
            <div>Object Computing, Inc.</div>
          </div>
        </div>
        <div dir="ltr"><br />
          <blockquote type="cite" class="cite">On Oct 20, 2024, at 6:26 AM, Mark
            Volkmann 
<a href="mailto:r.mark.volkmann@gmail.com"><r.mark.volkmann@gmail.com></a> wrote:<br />
            <br />
          </blockquote>
        </div>
        <blockquote type="cite" class="cite">
          <div dir="ltr">
            
            Yikes! Sounds complicated. Can you point me to any
            documentation that describes how I could reference a lib
            path in the Open Smalltalk VM?
            
<div><br />
            </div>
            <div>Is it possible that nobody that uses Cuis Smalltalk
              accesses relational databases?
</div></div></blockquote></div></blockquote></div></blockquote></div><span class="gmail_signature_prefix">-- </span><br /><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><font face="arial, helvetica, sans-serif">R. Mark Volkmann</font></div><div><span style="font-size:12.8px"><font face="arial, helvetica, sans-serif">Object Computing, Inc.</font></span></div></div></div></div></div></div></div></div></div>
</blockquote></div>
</body></html>