2010/10/11 Andres Valloud <[email protected]> > Che, igual... no es por ser amargo, pero no te parece un poco mucho > que una imagen de desarrolo ocupe 50mb?...
No. Mi máquina tiene 500gb de HDD. Además, la imagen de desarrollo es 20MB. Seaside30 y Glorp son 2 proyectos grandes. En realidad, son 30MB (después de borrar la cache de Monticello). Cuanto pesa el eclipse con toda la sdk? > por supuesto es mucho mas > facil decirlo que hacerlo, pero me parece que estaria bueno ir al > reves... o sea, empezar con una imagen chiquita y cargarle encima lo > que uno quiere pero nada mas que eso. > > A largo plazo, me parece que la estamos pifiando con esto (no solo > Squeak/Pharo, que conste!). Como ilustracion, hace 15 años, la imagen > base de VisualWorks ocupaba ~3mb. Impresionante como anda esa imagen > en una maquina de hoy, todo rapidisimo, todo al toque, nada demora, > todo vuela. Hoy, visual.im anda cerca de los 20mb. No sera 50mb, > pero igual estaria bueno que un monton de lo que esta en esa imagen > viniera en paquetes. Sacarle cosas a visual.im a mano no es tan facil > como parece. > > Del mismo modo, hace mas o menos 9 años existia el Squeak World Tour, > y llegamos a tener una imagen de desarrollo bastante normal de 2.2mb. > Nos costo bastante limpiarla, empezamos con una imagen normal de > Squeak. Todavia me acuerdo tener que andar haciendo cosas horribles > como mandarle become: String new a ciertos objetos para poder > borrarlos porque se resistian a irse (!!!). Use esa imagen durante un > buen rato para hacer mis cosas de Minesweeper. > > minesweeper. que es eso? me interesa. > Pero bueno, porque nos hace falta tanto chirimbolo para programar? A > mi gusto, pagamos un precio alto porque el bodoque inicial (el > "kernel") crece y se hace mas y mas dificil romperlo en pedazos > chicos, Nicolas Paez, argentino, está laburando en Pharo en un proyecto llamado Seed. El te podrá dar detalles, pero entre unas de las cositas que hizo fue integrar bocha de cambios en los paquetes y categorias, para poder hacerlo mas modulable. De hecho, se usaron herramientas de visualizacion en Moose para detectar ciclos y demás. Se buscó romper con estos ciclos, etc. De ahí que es más fácil hacer la PharoKernel, que ronda los 2.2 mb. > porque despues no se pueden descargar las cosas una vez que > las cargaste e integraste demasiado (un ejemplo que me viene a la > mente: tratar de sacar una extension al browser mientras el browser > funciona, en general no veo muchas ganas de programar una registracion > de modulos para que descargar extensiones funcione de manera > razonable), y porque en general tratar de borrar cosas una vez que > estan cargadas siempre es mas dificil que nunca haberlas cargado desde > el vamos. Insisto que no es trabajo facil y al final parece que no > tuviera valor asi que no se hace, pero es super importante. > Estoy de acuerdo. > > Tendriamos que tener una imagen de 250kb o menos, generada mediante > codigo en vez de hackeaduras de workspace. Esta imagen tendria que > poder cargar codigo en paquetes. Uno de esos paquetes tendria que ser > la interfaz grafica. De este modo, siempre se podria reproducir un > estado de cosas predecible y versionable (podes poner el codigo que > genera la imagen, los paquetes, y las especificaciones de imagenes de > desarrollo o produccion o lo que fuera bajo un sistema de control de > versiones). Ademas, asi te aseguras que ninguna de tus hackeaduras de > workspace o algun bug corrompio tu imagen años atras. Por ejemplo, > hace poco Nicolas Cellier se dio cuenta que bitXor: y bitAnd: no > siempre daban los resultados correctos. Seguro, ese bug lo arreglas. > Pero cuantas decadas tuvieron esos bugs para romper de manera sutil la > imagen que desde ese tiempo venimos emparchando? Como sabes que la > imagen esta bien si no la podes reproducir desde cero con una maquina > virtual sin el bug, y cargando paquetes sin el bug desde el vamos? > > 2010/10/11 Mariano Martinez Peck <[email protected]>: > > Otra cosa, tanto importa el tamaño de la imagen de desarrollo? > > > > Mirá que para hacer un deploy se suele hacer distinto. Tenes que usar un > > PharoCore (no Pharo de desarrollo), cargarle todos los paquetes que > quieras, > > y al final evaluar "ScriptLoader new cleanUpForRelease.". Está imágen va > a > > ser mucho mas chica y limpia para app productivas. > > > > Saludos > > > > Mariano > > > > 2010/10/10 Mariano Martinez Peck <[email protected]> > >> > >> > >> 2010/10/10 GallegO <[email protected]> > >>> > >>> Hola: > >>> > >>> > Hace lo que yo te dije, ScriptLoader new cleanUpFor release. Si te > >>> > fijas, > >>> > eso adentro hace además de un montón de cosas, lo que te dijo > Esteban: > >>> > > >>> > MCFileBasedRepository flushAllCaches. > >>> > MCMethodDefinition shutDown. > >>> > MCDefinition clearInstances. > >>> > >>> Efectivo! 32.8 mega ahora. Si le descontamos los bitmaps, que seguro > >>> no estaban, da mas o menos el tamaño inicial. > >> > >> :) > >> > >>> > >>> >> Pregunta aparte. Vos estas manteniendo las ConfigurationOfXxxx para > >>> >> pharo > >>> >> no? > >>> > > >>> > Maso. No todo. Me encargo de actualizar (más que nada a la hora de > >>> > hacer un > >>> > nuevo release de Pharo) los Conf que yo use para Pharo y el > >>> > ConfigurationOfPharo. Por? > >>> > > >>> ok, entiendo la diferencia. > >>> Hay alguna tool para armar las Configuration? Veo que cada clase tiene > >>> una estructura similar pero no identica. > >>> En realidad, queria hacerme un script para bajar todo lo que necesito > >>> para portar Seaside 3.0.rc desde SqueakSource. > >> > >> Primero, te recomiendo que hagas el tutorial de Metacello. No te lleva > mas > >> de una hora. En la imagen dev ya viene cargado incluse. Mira: > >> http://code.google.com/p/metacello/wiki/Tutorial > >> > >> Lo de seaside es facil, evalua: > >> > >> Gofer new > >> squeaksource: 'MetacelloRepository'; > >> package: 'ConfigurationOfSeaside30'; > >> load. > >> > >> ConfigurationOfSeaside30 project latestVersion load. > >> > >> If you want to load different groups, just ask: > >> > >> ConfigurationOfSeaside30 project latestVersion groups. Then you can load > >> the groups you wants with #load: > >> > >> > >>> > >>> Antes cuando estaba el > >>> Seaside builder me fue muy facil obtener el script. Ahora cuando fui a > >>> mirar las configuration me pegue un palo. Por lo menos me gustaria > >>> poner algo que loguee en el Transcript los pacs que va instalando, > >>> luego me copio de ahi eso y lo importo en dolphin directamente. > >> > >> Podes hacer esto. Con Metacello podes hacer hasta si queres un "record" > >> que hace todo, pero en realidad nada (o sea, resuelve dependencias y > blah > >> pero no te instala nada). > >> > >> ConfigurationOfSeaside30 project latestVersion record. > >> > >> Y a eso le podes imprimir el #loadDirective....hace un print de: > >> > >> ConfigurationOfSeaside30 project latestVersion record loadDirective. > >> > >> > >> > >>> > >>> Como reflexion me parece medio extraño esto de las configuration, > >>> instalar una clase, luego evaluar en un workspace. Sin animo de > >>> ofender, me da la impresion que no le han encontrado la vuelta. O si? > >>> > >> > >> Obvio. Pero no podes empezar haciendo todo de golpe. Primero tiene que > >> estar andando bien el software, luego podes crear una UI mas feliz. Yo > en > >> Ubuntu use el apt-get toda mi vide y nunca necesité el synaptic. > Igualmente, > >> está Metacello-OB que tiene UI. Aunque ni idae, nunca lo use. Yo lo > hago a > >> mano. Tambien existe Metaceller y hay otros flacos haciendo otra UI. Ya > va a > >> llegar. > >> > >>> > >>> Bueno, voy a probar lo otro y tratar de ayudar en lo que pueda para > >>> testear en Win. > >> > >> :) > >> > >>> > >>> Gracias por todo. > >>> > >>> Saludos > >>> > >>> -- > >>> To post to this group, send email to [email protected] > >>> To unsubscribe from this group, send email to > >>> [email protected]<clubsmalltalk%[email protected]> > >>> > >>> http://www.clubSmalltalk.org > > > > -- > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected]<clubsmalltalk%[email protected]> > > > > http://www.clubSmalltalk.org > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<clubsmalltalk%[email protected]> > > http://www.clubSmalltalk.org > -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
