Learn the basics of Glamorous Toolkit
This is the first of several learning modules, as part of A Moldable Development Curriculum, designed to help newcomers to Glamorous Toolkit navigate the knowledge base and use the environment effectively to solve real problems.
Each learning module combines: - introductory material to read or watch - case studies to explore - step-by-step tutorials to follow - exercises to perform on your own - self-assessment quizzes to check what you've learned.
In this module, you will learn:
- What is Glamorous Toolkit? - Using a simple case study, how can GT be used to create explainable systems? - What is moldable development, and how does it support the creation of explainable systems? - How do you use Lepiter notebooks to create live documentation for your exploration?
You may like to take the following side roads:
- How to navigate the GT book. - How to engage with the GT community. - How to work with Smalltalk (Pharo basics).
Caveat: See Pages to be written for a list of pages still needed to complete this module.
In a nutshell, Glamorous Toolkit (GT) is an environment for making systems explainable through the creation of contextual tools . Every system is different, so a contextual tool helps you answer specific questions about a software system in the context of the problems you need to address. GT supports the inexpensive creation of such tools: - by adopting a moldable development methodology expressed as a set of development patterns - by providing a live, open-source environment that supports this methodology ( i.e., the “toolkit”)
To learn more, see:
Glamorous Toolkit is the landing page for the Glamorous Toolkit Book . It provides a very high-level overview of GT.
Take A quick tour of GT to get an overview of GT's user interface and the tools within it.
What is Glamorous Toolkit? explains through examples what is meant by contextual tools and how GT supports their creation through moldable development .
A short history of Glamorous Toolkit illustrates the timeline of the development of moldable tools and Glamorous Toolkit , and provides pointers to early publications.
Spend 30 minutes going through several short YouTube videos: Getting started with GT in 7', Inspecting objects with contextual views in 7', Understanding Lepiter in 7', How to find stuff in GT in 7'.
Glamorous Toolkit as a case study provides a series of examples, illustrating how contextual tools are used within GT itself to enrich the environment and make it more explainable.
How to install Glamorous Toolkit provides instructions on how to install GT, either by downloading a pre-built distribution, or by building the latest version with the help of a script.
Developers spend most of their time figuring systems out compiles decades of research and observations showing that developers spend most of their time understanding and reading existing code, arguing this dominant “figuring out” effort should be made explicit and optimized.
The Moldable Development Environment introduces Glamorous Toolkit, using inspector views of a FileReference
to show how custom, context-specific tools and views make software understanding and interaction inexpensive and powerful.
How to get started with Moldable Development outlines how to get started with Moldable Development by learning Pharo/GT, working from live objects, molding tools through contextual views/actions/searches/advice, and following best-practice patterns with pointers to further resources.
Molding the environment explains that GT is highly moldable, offers many kinds of extensions (with thousands in the core), and points to resources for extending inspector views/actions, Spotter searches, and the debugger.
What is the difference between Moldable Development and ... contrasts moldable development with literate programming, model-driven engineering, visual programming, and data science, emphasizing multiple contextual narratives and custom views/tools across the whole system.
Working with a REST API: the GitHub case study illustrates how we can turn the raw, static data returned by a REST API, such as the one offered by GitHub, into an explainable system — a live, explorable domain model that makes it much easier to answer questions about the system, simply by exploring, navigating and posing simple queries.
Tutorial: molding CSV data into an explainable system is a step-by-step tutorial showing you how to apply moldable development to a very simple case study of an existing CSV dataset for a research project. You will be shown how to extract the raw data, convert it to a more suitable JSON format, wrap the data as moldable domain objects, and then add numerous, tiny contextual tools to these objects to turn them into an explainable system.
Lepiter is the live documentation system for GT. For more details, see How to get started with Lepiter (FAQ) and Lepiter: a single starting point for scripting, linking and documenting.
See Project Diary for an illustration of how you can use Lepiter notebooks to track the progress of your project.
About this book gives you some pointers concerning the organization of the GT book and how to navigate it.
How do I find my pages? shows you how to find pages in other Lepiter databases, including your private notebook.
Engage with the community and contribute tells you how to engage both with other newcomers and with experienced GT developers on Discord.
If you don't have previous experience programming in Smalltalk, you might want to take a side road into A gentle introduction to Pharo Smalltalk. This page contains a first tutorial introduction to Smalltalk programming, and is followed by a series of further tutorial pages, diving into such details as Working with collections in Pharo and Understanding Smalltalk classes and metaclasses.
To test your basic knowledge about GT, please visit Quiz: GT Basics.
You can find other learning modules as they become available here: Page