2018-09-21 ___A_n_o_t_h_e_r__S_m_a_l_l_t_a_l_k__j_o_u_r_n_e_y___________________ I have spent the last weeks with another visit to the land of Smalltalk. As I have described earlier[0] Smalltalk is a really interesting OO langugage with its own eco system. This time I have been choosing Squeak[1] as my platform in preparation of a little talk[2] I gave at my local computer club. Thanks to krono[3] for all the help and codezeilen[4] for helping out with my patches. While the talk had the goal to give a small introduction into Smalltalk I wanted to write some little program to get back into the explorative development mode of Smalltalk writing. So naturally I have implemented a small gopher client[5] that will display gopher sites as a BookMorph and is able to render images as well. You can finde screenshots here[6] and here[7]. As always finding the right classes has been the biggest obstacle for me. This time Squeak has been an even bigger target in terms of classes as Cuis. That's ~2250 classes vs. ~550. So after some unsuccessful attempts with just a TextMorph inside a Scrollpane inside a PasteUpMorph, I finally settled with a BookMorph whose original intent has been to do interactive books and presentations. So you will get a widget with history 'paging' (even with cheesy page turning sounds!) for free. Which is excellent for implementing gopher on it turned out. The rendering logic has been written in an afternoon. Most of the rest of the 2-3 days of time went into diagnosing resizing / scrolling bugs which have been mitigated by moving to BookMorph. The next step for me is to learn how to really build a UI in Smalltalk. Krono pointed me to the Toolbuilder classes and their building spec and I have started to create a client based on my initial set of classes, this time refactored as a Smalltalk model. I want to do it with the model/viewer paradigm as I hope to gain some insights about how this all really works and whether that's a good fit for another ongoing project of mine. Another issue is to learn how to do UTF-8 properly with Smalltalk / Squeak and setup a proper code repository with my own gitd. Learning all the tools has been a challenging but pleasant experience. Also the community in itself is very newcommer friendly and welcoming. Stay tuned for further Smalltalk news! ___References________________________________________________________ [0]: gopher://vernunftzentrum.de:70/0/ckeen/phlog/2018-03-11-On-smalltalk.md [1]: https://squeak.org/ [2]: gopher://vernunftzentrum.de:70/9/ckeen/smalltalk.pdf [3]: https://toot.berlin/@krono [4]: https://freehold.earth/@codezeilen [5]: gopher://vernunftzentrum.de:70/9/ckeen/Gopher-ck.1.mcz [6]: https://vernunftzentrum.de/media/e90c868d-594c-4cb6-bd16-47c55937b6f4/FirstMorph.png [7]: https://vernunftzentrum.de/media/70e376da-0a5d-4405-b908-d2927c27f092/Book.png