Repito, te copio lo que tengo en mi EdBookMorph
Voy a armar un tutorial mas detallado y cosas que pasan.
Argando el SqueakMap en realidad se agregan primero cosas, todo esto también
hay que sacarlo.
Mi primer experimento fue usar algo que me mando Goran y que esta en un
paquete que nunca salió (el VirtualHome).
De ahí empecé.
Respecto a los meetodos publicados, los conozco y tengo material que me
mandó John Macintosh para hacer la máquina Virtual para 68K y PPC y lo que
publico marcel para producir en Cocoa.
Lo que vos decís es el SystemTracer, te demora una eternidad y no tiene
documentación de como reemplazar o eliminar clases.
A mano lo he logrado, pero mi escaso conocimiento de Smalltalk hace que las
imagenes tengan algo fuera de secuencia.
Por otra parte el emulador de Craig Latta solo levanta con esfuerzo imagenes
2.7 y 3.0 MVC, no sirve para morphic y lo publicado no anda en versiones
nuevas.
Si sirve para enterarse un poco de como debería funcionar.
Quiero armar un modelo en Morphic basado en el LittleSmalltalk, algo que ya
propuso Diego en su momento.
Lamentablemente los fuentes de Timothy Budd no me compilan.
(las bellezas del ANSI C 'Es universal, su código siempre sirve ', jua jua
jua)
Asi que tengo un rompecabezas bastante mas complicado que el último que
hice.
Te gustaron las piezas no rectangulares y que se arme por proximidad ?
1- Partir de una imagen original:
Squeak3.4.image (se baja de ftp://st.cs.uiur.edu/smalltalk/squeak/3.4)
2- Cargar la imagen del Squeak e instalar el SqueakMap.
3 -Correr removals.st y grabar el resultado (ojo puede haber cambios en los
paquetes 'aprobados") , por lo que es necesario hacerlo conectado a Internet
Queda un archivo de 8 Mb .
4 Abrir un Workspace y hacer ActiveWorld removeAllMorphs.
5 Hacer Smalltalk makeSqueaklandRelease
Dará error y puede verse
(Object classPool at: #DependentsFields) a WeakIdentityKeyDictionary(a
FilePackageManager->#) FilePackageManager->#) Utilities->#(a
FilePackageManager) )
Smalltalk discardDiscards
seguir aquí y ver de hacer rehash
Instalar RemovalThings.st
Class allSubclasses size 1235
6- Remover StarSqueak
toRemove _ SystemOrganization categoriesMatching: 'StarSqueak*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1209
7- Remover XML
toRemove _ SystemOrganization categoriesMatching: 'XML*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1186
8 - Remover Movies
InformAbout removeSuspectMethods: 'Movies*'.
toRemove _ SystemOrganization categoriesMatching: 'Movies*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1181
9 - Remover 'Morphic-PDA'.
SystemOrganization removeSystemCategory: 'Morphic-PDA'.
Class allSubclasses size 1172
10 - Remover FFI-Examples
toRemove _ SystemOrganization categoriesMatching: 'FFI-Examples*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1156
11 - Remover Morphic-Postscript
InformAbout removeSuspectMethods: 'Morphic-Postscript*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Postscript*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1126
12 - Remover Morphic-Outliner
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Outliner*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1120
13 - Remover Morphic-GeeMail
InformAbout removeSuspectMethods: 'Morphic-GeeMail*'
toRemove _ SystemOrganization categoriesMatching: 'Morphic-GeeMail*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1107
14 - Remover Morphic-Components*
InformAbout removeSuspectMethods: 'Morphic-Components*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Components*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1078
15 InformAbout removeMoreSuspectMethods: #examples
16 - Remover Morphic-Demo
Smalltalk organization addCategory: 'Morphic-Clock'.
SystemOrganization classifyAll: #(ClockMorph) under: 'Morphic-Clock'.
t3 _ SystemOrganization categoriesMatching: 'Morphic-Demo'.
t3 do: [:t5 | SystemOrganization removeSystemCategory: t5].
PianoRollScoreMorph removeSelector: addMovieClipPlayer.
RecordingControlsMorph removeSelector: makeSoundMorph.
Class allSubclasses size 1049
17 - Remover Morphic-Remote
InformAbout removeSuspectMethods: 'Morphic-Remote*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Remote*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1035
18 - Remover Morphic-Collaborative
InformAbout removeSuspectMethods: 'Morphic-Collaborative*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Collaborative*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1028
19 - Remover Morphic-Experimental
Smalltalk organization addCategory: 'Morphic-AlignmentMorphBob1'.
SystemOrganization classifyAll: #(AlignmentMorphBob1) under:
'Morphic-AlignmentMorphBob1'.
InformAbout removeSuspectMethods: 'Morphic-Experimental*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Experimental*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1009
20 - Remover Morphic-PartsBin.
InformAbout removeSuspectMethods: 'Morphic-PartsBin*'.
InformAbout removeOtherSuspectMethods: #descriptionForPartsBin.
InformAbout removeOtherSuspectMethods: #supplementaryPartsDescriptions
InformAbout removeSuspectMethods: 'Morphic-PartsBin*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-PartsBin*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1004
21 - Remover Morphic-Stacks
InformAbout removeSuspectMethods: 'Morphic-Stacks*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Stacks*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 1001
22- Remover Morphic-Books
Smalltalk organization addCategory: 'Morphic-MorphThumbnail'.
SystemOrganization classifyAll: #(MorphThumbnail) under:
'Morphic-MorphThumbnail'.
InformAbout removeSuspectMethods: 'Morphic-Books*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Books*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 992
23 - Remover Balloon-MMFlash
toRemove _ SystemOrganization categoriesMatching: 'Balloon-MMFlash*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 963
24 Remover Network-TelNet/ +Chat
InformAbout removeSuspectMethods: 'Network-TelNet*'.
toRemove _ SystemOrganization categoriesMatching: 'Network-*Chat'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 942
25- Remover Protocols
toRemove _ SystemOrganization categoriesMatching: 'Protocols*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
26 - Remover Morphic-Tile
Class allSubclasses size 910
InformAbout removeSuspectMethods: 'Morphic-Tile*'.
toRemove _ SystemOrganization categoriesMatching: 'Morphic-Tile*'.
toRemove do: [:each | SystemOrganization removeSystemCategory: each].
Smalltalk garbageCollect.
Class allSubclasses size 905
27 - Remover Sounds
t3 _ SystemOrganization categoriesMatching: 'Sound*'.
t3 do: [:t5 | SystemOrganization removeSystemCategory: t5].
GraphMorph removeSelector: openWaveEditor.
Class allSubclasses size 835
27 - Remover System-Archive
InformAbout removeSuspectMethods: 'System-Archives*'.
t3 _ SystemOrganization categoriesMatching: 'System-Archives*'.
t3 do: [:t5 | SystemOrganization removeSystemCategory: t5].
t3 _ SystemOrganization categoriesMatching: 'Tools-ArchiveViewer*'.
t3 do: [:t5 | SystemOrganization removeSystemCategory: t5].
Smalltalk garbageCollect.
Class allSubclasses size 824
28 - Remover System-Serial Port
t3 _ SystemOrganization categoriesMatching: 'System-Serial Port*'.
t3 do: [:t5 | SystemOrganization removeSystemCategory: t5].
Smalltalk garbageCollect.
Class allSubclasses size 822
29 - Remover Tools-Process Browser
InformAbout removeSuspectMethods: 'Tools-Process Browser*'.
t3 _ SystemOrganization categoriesMatching: 'Tools-Process Browser*'.
t3 do: [:t5 | SystemOrganization removeSystemCategory: t5].
Smalltalk garbageCollect.
Class allSubclasses size 818
30 - Remover Genie
InformAbout removeSuspectMethods: 'Genie*'.
t3 _ SystemOrganization categoriesMatching: 'Genie*'.
t3 do: [:t5 | SystemOrganization removeSystemCategory: t5].
Smalltalk garbageCollect.
Class allSubclasses size 789