<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> beginners-bounces@lists.squeakfoundation.org [mailto:beginners-bounces@lists.squeakfoundation.org] <b>On Behalf Of </b>Azka Niazi<br><b>Sent:</b> Friday, June 21, 2013 8:17 AM<br><b>To:</b> beginners@lists.squeakfoundation.org<br><b>Subject:</b> [Newbies] Apologies for the structure of this email...<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#444444'>I started this discussion (between the&nbsp;asterisks) at the&nbsp;Squeak development mailing list yesterday:</span><span style='font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#444444'>*******************************************************************************************************************</span><span style='font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>*******************************************************************************************************************<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>*******************************************************************************************************************<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif"'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#444444'>Treat me like a beginner. I have two targets:</span><span style='font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>1. I want to document the source code of Scratch.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>2. I want to modify Scratch.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Below the #'s is what I have already been told through this mailing list.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Now, the source code provided for Scratch [1] has two files with code inside them; a .SOURCES file and a .CHANGES file. I have two simple questions:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>What is the purpose of the two files?<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>If I want to change the code in one of these file and see it how does it come out, (how) can that be done?&nbsp;<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>I have been able to understand the format of the source code provided. I would like to ask is there is any code which is responsible for creating the OO world of Scratch. The system categories for Scratch objects hold a lot of classes in them. Those classes, along with a lot of other new and old classes have been used to construct Scratch. These classes didn't preexist. Can a file of code not be used to create new classes and system categories?<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Squeak by Example [8] talks about a 'hierarchy browser' which is easy to find with the files provided with it. Is there a similar kind of thing to explore Scratch objects? If yes, how to get to it. If no, how do can I trace the hierarchy of inheritance of objects used to make Scratch.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Thanks,<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Azka<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>##################################<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Scratch uses the Morphic UI on a Squeak image with a virtual machine underneath. The Squeak version is, I think, 2.8 (as opposed to 4.4 which is about to come out) and came out in 2005. The important difference is that the virtual machine has changed. Modern vms are closure complete and have a JIT.&nbsp;<br><br>To see Squeak 2.8 when it was released. [7]<br>For some videos on Scratch from a Squeak perspective [3-6].<br>An introductory book on Squeak. [8]<br>Source code on the virtual machines. [2].<br>The Scratch image that will not work on a modern Squeak virtual machine. [1]<br>But will work on a virtual machine from a Squeakland Etoys release. [10]<br>As you first expressed interest with how Scratch interfaces with the hardware you may need to join the VM-Beginners list [9].<br><br>[1]&nbsp;<a href="http://info.scratch.mit.edu/Scratch_Source_Code_Licensed_Code" target="_blank"><span style='color:#0068CF'>http://info.scratch.mit.edu/Scratch_Source_Code_Licensed_Code</span></a><br>[2]&nbsp;<a href="http://squeakvm.org/index.html" target="_blank"><span style='color:#0068CF'>http://squeakvm.org/index.html</span></a><br>[3]&nbsp;<a href="http://www.youtube.com/watch?v=wqV3nGD9N7U" target="_blank"><span style='color:#0068CF'>http://www.youtube.com/watch?v=wqV3nGD9N7U</span></a><br>[4]&nbsp;<a href="http://www.youtube.com/watch?v=XwmQ1DoEjsA" target="_blank"><span style='color:#0068CF'>http://www.youtube.com/watch?v=XwmQ1DoEjsA</span></a><br>[5]&nbsp;<a href="http://www.youtube.com/watch?v=uGyfzw_gePo" target="_blank"><span style='color:#0068CF'>http://www.youtube.com/watch?v=uGyfzw_gePo</span></a><br>[6]&nbsp;<a href="http://www.youtube.com/watch?v=YmTk9t71jZ4" target="_blank"><span style='color:#0068CF'>http://www.youtube.com/watch?v=YmTk9t71jZ4</span></a><br>[7]&nbsp;<a href="http://ftp.squeak.org/2.8/" target="_blank"><span style='color:#0068CF'>http://ftp.squeak.org/2.8/</span></a><br>[8]&nbsp;<a href="http://squeakbyexample.org/" target="_blank"><span style='color:#0068CF'>http://squeakbyexample.org/</span></a><br>[9]&nbsp;<a href="http://lists.squeakfoundation.org/pipermail/vm-beginners" target="_blank"><span style='color:#0068CF'>http://lists.squeakfoundation.org/pipermail/vm-beginners</span></a><br>[10]&nbsp;<a href="http://www.squeakland.org/" target="_blank"><span style='color:#0068CF'>http://www.squeakland.org/</span></a><o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Courtesy of Chris&nbsp;Cunnington; when I said I need to understand Scratch (get about its source code) and how does it interface with the hardware.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>*******************************************************************************************************************<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>*******************************************************************************************************************<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>*******************************************************************************************************************<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>In response to this Chris and Ron gave feedback:<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Chris's Feedback:<o:p></o:p></span></p></div><div><pre style='line-height:15.85pt'><span style='color:#444444'>I wouldn't worry about what the changes and sources files do right now.&nbsp;<br>You want to know how to open the image and look at the code. These&nbsp;<br>videos will help with that. [1] You need to go to Squeakland [2] and get&nbsp;<br>yourself an application. You can open the Scratch image from the Scratch&nbsp;<br>website with that. Finally, there is a beginners list [3] you can ask&nbsp;<br>questions at. This list isn't the best for this kind of question. Once&nbsp;<br>you learn some basics of Smalltalk, you should be able to explore the&nbsp;<br>source code of Scratch.<o:p></o:p></span></pre></div><div><pre style='line-height:15.85pt'><span style='color:#444444'>[1]&nbsp;<a href="http://smalltalk.org/videos/video_AbsoluteBeginner_DownloadOpen.html" target="_blank"><span style='color:#0068CF'>http://smalltalk.org/videos/video_AbsoluteBeginner_DownloadOpen.html</span></a><br>[2]&nbsp;<a href="http://www.squeakland.org/" target="_blank"><span style='color:#0068CF'>http://www.squeakland.org</span></a><br>[3]&nbsp;<a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank"><span style='color:#0068CF'>http://lists.squeakfoundation.org/mailman/listinfo/beginners</span></a><o:p></o:p></span></pre></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Ron's Feedback:<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The .sources and .changes files are not changed by hand they are files that act as storage space for the code you write in Smalltalk.&nbsp; The changes file tracks all changes that are made to the system.&nbsp; .sources is a file that holds the code for the image.&nbsp; You can think of a sources file as a starting point and changes adds to it.&nbsp;</span><span style='color:#444444'><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='color:#444444'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>You change code using browsers in Smalltalk itself.&nbsp; It&#8217;s not a good idea to try to change code in the files.</span><span style='color:#444444'><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='color:#444444'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>You create new classes using a Smalltalk browser.&nbsp; While you could use a file and file in the file it&#8217;s not a good idea to change code in files.</span><span style='color:#444444'><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='color:#444444'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>For scratch you will need to use a development image, or break into the development environment to access the development tools.&nbsp; Haven&#8217;t tried it but maybe that is where you are having difficulty.&nbsp; I would start here:&nbsp;</span><span style='color:#444444'><a href="http://download.scratch.mit.edu/source-code/ScratchSource1.4.zip" target="_blank"><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>http://download.scratch.mit.edu/source-code/ScratchSource1.4.zip</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;</span><span style='color:#444444'><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='color:#444444'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>A sealed image can lock out the dev tools, it may even strip out the development tools completely.&nbsp; Also a sealed image does not normally require a changes file since it is not used for the purpose of changing code.</span><span style='color:#444444'><o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>---------------------------------<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>---------------------------------<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>---------------------------------<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>My next response was the below (which I wrote minutes ago):<o:p></o:p></span></p></div><div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Thanks for the feedback Ron and Chris, but I have some more questions now.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>1. I am sorry I didn't fully understand what did you mean by &quot;act as storage space for the code you write in Smalltalk&quot;. Also please specify whether by Smalltalk you meant Smalltalk-80 (i.e. Squeak) or did you mean Smalltalk only. As in is there a custom to refer to Squeak as Smalltalk. Doesn't it create am<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>In my case Squeak = Smalltalk.<o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>2. You said the .sources file holds the code for the image file. But a lot of stuff is absent in the .sources file to make the image file what it is. For example, below&nbsp;is the general format throughout the files for adding methods in the class whose name will be written in place of&nbsp;</span><span style='font-family:"Courier New";color:#444444'>class-name:</span><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-bottom:16.2pt;text-indent:-27.35pt;line-height:15.85pt'><span style='font-size:10.0pt;font-family:"Courier New";color:#444444'>!class-name&nbsp;methodsFor: &#8216;protocol-name' stamp: &#8216;some-tag DD/MM/YYYY time-in-format'!</span><span style='color:#444444'><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:16.2pt;text-indent:-27.35pt;line-height:15.85pt'><span style='font-size:10.0pt;font-family:"Courier New";color:#444444'>name-of-method</span><span style='color:#444444'><o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:10.0pt;font-family:"Courier New";color:#444444'>&nbsp; &#8220;Body of the method&#8221;! !</span><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#444444'>Before adding methods to a class, in the .sources file only, there are some lines of code telling us which super class does it inherit from along with some description. There is no specification (in the .sources file) about the system category under which that&nbsp;particular&nbsp;class will fall. Yet, when one opens the image file all the classes are distributed among the system categories. From an object oriented point of view, I agree that it doesn't matter, but considering what I can see in the image file, and considering that I find it very hard at times to locate a class by browsing through the system browser by its name only and not knowing about it system category, I need to know if there is any part of the source code responsible for this classification with respect to system categories.<o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>You shouldn&#8217;t be using the sources or changes file to make changes but I suppose it is not a bad way to find code.&nbsp; It is much easier to use the browsers like the hierarchy browser to read and explore code.<o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The category is in the sources and changes file.&nbsp; Keep in mind that you will only see the category in a changes file if you make changes to the class.&nbsp; The sources file should have the category.&nbsp; <o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>For the class definition you should see something like this:<o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Courier New"'>Superclass subclass: #Class<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp; instanceVariableNames: ''<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp; classVariableNames: ''<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp; poolDictionaries: ''<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp; category: ''!<o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Courier New"'>!ADPCMCodec commentStamp: '</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Methods are written out as extensions to the class definition.&nbsp; They will have the protocol on them (the method category) but they will not have the class category since that is defined on the class not the method.&nbsp; <o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Keep in mind that all changes are in the changes file so you may see multiple versions of the same method in that file.&nbsp; Only one method is current so make sure you find the last change when reviewing the file.&nbsp; Again it&#8217;s much easier in the Squeak Development Image to review code since what you see will be the current versions of the methods.<o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:#444444'>3. Yes&nbsp;</span><span style='font-family:"Calibri","sans-serif";color:#444444'><a href="http://download.scratch.mit.edu/source-code/ScratchSource1.4.zip%20%20%20" target="_blank">http://download.scratch.mit.edu/source-code/ScratchSource1.4.zip&nbsp;</a>&nbsp;is where I started as well. I used the image file from this link. I couldn't find a hierarchy browser or anything analogous to it. I am sorry if this list the not the best place to ask this question, but how can I go about the inheritance hierarchy by using an image for Scratch.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I have not tried launching this but I saw that there was a way to break into the development area (in a previous email).&nbsp; Once you have done that use the world menu to open the browser.&nbsp; <o:p></o:p></span></p><p class=MsoNormal style='line-height:15.85pt'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Chris, I have joined the other mailing list you suggested and will soon initiate this discussion over there too. Thanks.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>-------------------------<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>-------------------------<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>-------------------------<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Although I posted my email to the Squeak development list, I am virtually posting it over here too. I am in need of answers. Thanks.<o:p></o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'>Azka<o:p></o:p></span></p></div></div><div><p class=MsoNormal style='line-height:15.85pt'><span style='font-family:"Calibri","sans-serif";color:#444444'><o:p>&nbsp;</o:p></span></p></div></div></div></div></body></html>