Según me comentó Göran Krampe, aparentemente alguien olvidó pagar facturas (no estoy seguro si sobre los servicios de hosting o nombres) pero eso es lo que pasó.
Me dijo ayer precisamente que tomará unos días más para que se regularice la situación.
Saludos.
Que salames. Bueno, mal de muchos consuelo de tontos.
Reenvio de la lista ddel clubsmalltalk, para alguno que lo pueda aprovechar.
------ Mensaje reenviado
De: clubSmalltalk group <noreply@googlegroups.com>
Fecha: Tue, 03 Oct 2006 08:01:15 +0000
Para: clubSmalltalk digest subscribers <clubSmalltalk@googlegroups.com>
Asunto: 4 new messages in 3 topics - digest
TOPIC: Oferta laboral: Beta tester
http://groups.google.com/group/clubSmalltalk/browse_thread/thread/7620681853
16fb0c
============================================================================
==
== 1 of 1 ==
Date: Mon 2 Oct 2006 14:35
From: "Carlos Ferro"
Estamos buscando candidatos para cubrir un puesto de beta-tester. El
perfil que buscamos es el siguiente:
* Estudiante de Ciencias de la Computación
* Buenos conocimientos de inglés para leer y escribir fluidamente en ese
idioma.
* Interés y capacidad para aprender y aplicar metodologías y
herramientas de beta-testing
* Conocimientos de Extreme Programming
La dedicación será parcial, de 4 horas diarias. Si el candidato lo desea,
después de un período inicial de entrenamiento, una parte de esa
dedicación podrá realizarla de forma remota a través de una conexión de
banda ancha. La relación laboral será por contratos con renovación anual.
Ofrecemos:
* Posibilidad de incorporarse a un equipo de smalltalkers profesionales
* Participar de un proyecto serio con excelentes oportunidades futuras
* Excelente clima laboral
* Compatibilidad con la continuación y finalización de la carrera
universitaria
Enviar curriculum vitae a ceferro@...
------ Fin del mensaje reenviado
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
Otro mensaje que espero alguno aproveche
------ Mensaje reenviado
De: clubSmalltalk group <noreply@googlegroups.com>
Fecha: Wed, 04 Oct 2006 07:53:26 +0000
Para: clubSmalltalk digest subscribers <clubSmalltalk@googlegroups.com>
Asunto: 1 new message in 1 topic - digest
Gente,
trabajo en una empresa multinacional para la cual estamos buscando
programadores Smalltalk.
Es requisito fundamental que cuenten con una buena base de objetos y
muchas ganas de aprender.
Se valorará experiencia laboral habiendo integrado equipos de
desarrollo sobre tecnologías de objetos, no necesariamente Smalltalk.
Los desarrollos se realizan sobre Gemstone, VisualWorks y VisualAge,
corriendo en cliente y server.
El ambiente de trabajo es muy bueno, se labura fuertemente en equipo
con una gran interacción entre las tareas de analisis, diseño y
desarrollo.
Los interesados pueden mandarme el CV y/o cualquier duda a esta
misma dirección: mchacho@....
Saludos, Héctor Macaudier.-
------ Fin del mensaje reenviado
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
A los que siguen la lista, este mail que llegó hoy de la lista internacional
me parece de suma importancia para difundir.
------ Mensaje reenviado
De: David Griswold <David.Griswold@...>
Responder a: The general-purpose Squeak developers list
<squeak-dev@...>
Fecha: Wed, 4 Oct 2006 17:52:03 -0700
Para: <squeak-dev@...>
Asunto: Common Smalltalk VM Summit
Hi everybody,
Dan Ingalls and I have been talking, trying to figure out what to do about
the major opportunity offered by the recent release of the Strongtalk
virtual machine as open source.
Rather than keep this discussion to ourselves, our thinking was that this
would be the perfect time to call a kind of summit, with representatives of
all the major Smalltalk implementations, both open-source and commercial.
The topic: what if we could build a shared high-performance open-source
platform suitable for hosting a number of different Smalltalk systems, one
that we can all share and work on together?
While the details of the type-feedback techniques used in the Strongtalk VM
are arcane, the benefits are not: *much* higher performance for general
Smalltalk code. Dan, myself, and many others who know about type-feedback
and the pioneering Self system, have been dreaming for many years about the
possibility that someday this technology might make it into mainstream
Smalltalk VMs. It would take Smalltalk performance to a whole new level.
That someday is here now, if the different factions within the Smalltalk
community can pull together a little bit so that we don't miss this
opportunity.
There may be debate within the community about some aspects of the
Strongtalk project, for example the type system, but we should all be able
to agree on the simple idea that a whole lot more performance would be a
Good Thing. Now a huge performance gift has suddenly shown up on our
doorstep.
The last thing Smalltalk needs is another incompatible implementation. The
splintering of Smalltalk implementations has dispersed the huge amount of
talent and effort needed to build, port, maintain, and extend a really good
virtual-machine. Alone, this is a problem for each of us. Together, a
really good, super-fast type-feedback VM is for the first time within reach.
I would like to invite the smart people out there who know and care most
about the various Smalltalk virtual machines, to join Dan and I in a fairly
focused discussion about this starting tomorrow (Thursday, PST) on the
Strongtalk discussion group, at
http://groups.google.com/group/strongtalk-general. I will be out of the
country for 6 weeks starting Wed the 11th, so I would like to propose that
we try to go back and forth about this a few times by the end of Friday, so
we can think about this over the weekend, and maybe come up with a proposed
general course of action by the middle of next week, so we all have
something to think about until my return.
Let's not lose this opportunity.
Cheers,
Dave
------ Fin del mensaje reenviado
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
A cualquiera que tenga como enviar el pago (no tengo mas la tarjeta
internacional), le agradecere se ponga en contacto via email privado.
------ Mensaje reenviado
De: Marcus Denker <denker@...>
Responder a: The general-purpose Squeak developers list
<squeak-dev@...>
Fecha: Thu, 5 Oct 2006 16:52:33 +0200
Para: The general-purpose Squeak developers list
<squeak-dev@...>
Asunto: Fwd: ESUG Smalltalk DVD updated
Begin forwarded message:
> From: Marcus Denker <denker@...>
> Date: 5. Oktober 2006 16:48:33 GMT+02:00
> To: ESUG ESUG <esug-list@...>
> Cc: esugcd-announce@...
> Subject: ESUG Smalltalk DVD updated
>
> Hello,
>
> The ESUG Smalltalk DVD has been updated.
>
> http://www.esug.org/resourcesdocsmedia/esugdvd/esugsmalltalkdvd/
>
> This is an updated version of the DVD handed out at ESUG 06. It
> contains
> all slides from the ESUG presentations and the following systems:
>
>
> VisualWorks NC
> VisualAge Smalltalk
> Dolphin
> Smalltalk/X
> GnuSmalltalk
> F-Script
> Squeak 3.9 and Croquet
> SmalltalkMT
> Ambrai Smalltalk Beta
> Gemstone
> Strongtalk (with vm source!)
> Videos, Books, Tutorials
> Self
> .....over 4 GB of Smalltalk!
>
> The DVD is now available via swiftcd/paypal for $9.98 (worldwide
> shipping included!).
>
> In addition to that, the Media DVD has been updated, too:
>
> http://www.esug.org/resourcesdocsmedia/esugdvd/esugmediadvd/
> This contains all the videos from http://www.esug.org/
> resourcesdocsmedia/onlinesmalltalkvideos/
>
>
> Marcus
>
------ Fin del mensaje reenviado
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
Esto será importante en el futuro, si suficiente gente sigue esta visión.
Para los veteranos argentinos, alguien recuerda la Bidu ?
------ Mensaje reenviado
De: Ian Piumarta <piumarta@...>
Responder a: The general-purpose Squeak developers list
<squeak-dev@...>
Fecha: Thu, 5 Oct 2006 15:35:18 -0700
Para: The general-purpose Squeak developers list
<squeak-dev@...>
Asunto: Re: pepsi? coke? croak?
Hi,
I really didn't want to talk about any of this just yet but since there
is already a little interest (and a little confusion) I'll try to
clarify.
> someone can point me out to some documentation to pepsi?
piumarta.com/pepsi/pepsi.html
piumarta.com/pepsi/coke.html
piumarta.com/papers/colas-whitepaper.pdf
> What is exactly pepsi/croak/idst?
'Id' is an object model. It's the simplest possible model that
permits an
object to receive a message without introducing any early bound
assumptions
in the mechanisms.
'Idst' is a Smalltalk-like syntax (and object library) built on Id using
prototypes rather than [meta]classes. The runtime is entirely
dynamic but
the code compiles to a static (native) executable.
'Pepsi' is a generic name for the universe of simple object models and
languages that can be built directly on top of Id. These exist
mainly to
provide a message-oriented foundation for making object structures in...
'Coke' is tree-based abstraction of computation. Structures
representing Coke
parse trees can be converted into machine code. One use for this
machine
code is to populate the method tables of Id objects, or to re-
implement its
semantics of message lookup and dispatch.
Coke has a natural textual representation as s-expressions, but one
interesting thing to do with it is build 'algebras of late-bound
syntax' and
feed it stuff written in arbitrary combinations of arbitrary
languages. One
interesting syntax to describe dynamically is Idst/Pepsi. (If you
remember
TV ads from the 70's you now understand the working names: Coke...
it's the
Real Thing.)
'COLAs' are combined object-lambda abstractions. The objects form
structures describing behaviour. The described behaviour provides the
objects with their implementation: message delivery and the
sequencing of
subsequent messaging within methods, as a minimum. Coke's dynamic code
generator provides incremental programming; it's static code generator
provides a 'kernel' when some subset of the system is compiled to a
binary.
Because static code implements the dynamic execution model there is
no early
binding trauma caused by doing so.
'Jolt' is the current prototype of Coke that can add dynamic
behaviour to
Pepsi objects.
'Croak' is a noise made by frogs.
> Is pepsi a system to compile small snippet of smalltalk code?
With the Idst syntax and object library, you might consider Pepsi as
something like that. Provided you don't mind the absence of classes and
that the bootstrap compiler 'idc' generates only static code, it's even
almost usable as such.
Current work includes: implementations of some popular scripting
languages
(JavaScript and Python); bindings to various window systems with
accelerated
2D and 3D graphics; rewriting the dynamic code generator to support both
dynamic and static output (turning Jolt into Coke); and parsing ISO C99
platform header files to obviate FFIs and off-line 'interface
generators' and
other similar forms of low-life.
Future plans include: a public release under the MIT license; some
kind of
language with generic functions and first-class-selector-driven
compilation
(maybe similar to Dylan); a version of Idst that conforms 100% to the
ANSI
Smalltalk standard; an integrated, graphical, incremental development
environment; and a 'whole-system' implementation based on a handful of
fundamental abstractions and algorithms that is homogenous, from
graphical
scripting all the way down to the metal.
(It's often said that Smalltalk and Lisp suffer because they are systems
that eat all of their young. If COLA succeeds it might be called the
system that
ate its parents.)
Hope that helped.
Cheers,
Ian
------ Fin del mensaje reenviado
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
Hola.
Edgar, intenté ponerme contacto en privado pero no recibí respuesta.
Como no sé si llegaste a leer el correo, por si acaso, te lo reenvío
por aquí.
Me gustaría saber de donde poder descargar la versión minimal de
squeak ya que me gustaría partir de ella para intentar portar una
imágen usable en mi pocketpc.
Un saludo y gracias.
--
::Mi blog::
http://blog.lordzealon.com
Linux-User: #370919
Edgar, intenté ponerme contacto en privado pero no recibí respuesta.
Como no sé si llegaste a leer el correo, por si acaso, te lo reenvío
por aquí.
Me gustaría saber de donde poder descargar la versión minimal de
squeak ya que me gustaría partir de ella para intentar portar una
imágen usable en mi pocketpc.
Un saludo y gracias.
Por privado no llego nada.
Medio raro , porque me mandan muchos mail.
No se si estas hablando de SqueakLight o de otra imagen “minima”
ahora gracias a Klaus podes bajar la última imagen de SqueakLight desde ftp://squeak.cobss.ch/pub/SqueakLight/
Usa las fuentes SqueakV3.sources.
No se que máquina virtual corresponde al pocketpc, a lo mejor alguno aqui te aclara.
Que pocesador / memoria tiene ?
No nececitas una imagen pequeña para correr en pocketPC. Cualquier imagen corre, el problema es la memoria que tengas disponible, de cuanta memoria hablamos?
Con Edgar corrimos y desarrollamos un squeak normal en una iPaq con 32 M. Luego del desarrollo trimeamos algo de lo que no usabamos.
Emilio
-----Mensaje original----- De: squeakRos@... [mailto:squeakRos@...]En nombre de Edgar J. De Cleene Enviado el: Martes, 10 de Octubre de 2006 21:35 Para: squeakRos@... Asunto: Re: [squeakRos] Descargar Squeak Minimal
Hola.
Edgar, intenté ponerme contacto en privado pero no recibí respuesta. Como no sé si llegaste a leer el correo, por si acaso, te lo reenvío por aquí.
Me gustaría saber de donde poder descargar la versión minimal de squeak ya que me gustaría partir de ella para intentar portar una imágen usable en mi pocketpc.
Un saludo y gracias.
Por privado no llego nada. Medio raro , porque me mandan muchos mail. No se si estas hablando de SqueakLight o de otra imagen “minima” ahora gracias a Klaus podes bajar la última imagen de SqueakLight desde ftp://squeak.cobss.ch/pub/SqueakLight/ Usa las fuentes SqueakV3.sources. No se que máquina virtual corresponde al pocketpc, a lo mejor alguno aqui te aclara. Que pocesador / memoria tiene ?
Hola, No nececitas una imagen pequeña para correr en pocketPC. Cualquier imagen corre, el problema es la memoria que tengas disponible, de cuanta memoria hablamos?
Con Edgar corrimos y desarrollamos un squeak normal en una iPaq con 32 M. Luego del desarrollo trimeamos algo de lo que no usabamos. Emilio
En estos dias ha “retornado” a la lista Aaron Reichow, quien tiene considerable experiencia en uso de pequeños dispositivos y tambien es uno de los pioneros en construcción de imagenes pequeñas, fijarse sus últimos posts en la lista internacional.
Tengo gran curiosidad de como respondera el OLPC con Squeak, en estos momentos hav varios de los masters adecuando la imagen de SqueakLand a 640 * 480 y al procesador que usaran.
En la facultad , lo menos que tenemos a disposición para nosotros son un par de Celeron 400 que “tiran” muy bien dos imagenes de SqueakLight al mismo tiempo, para nuestros prácticos de comunicación via TCP.
Espero que ayude esta info..
Aca con un par de chicas estamos intentanod armar algo que nos de una especie de plano con los recorridos de los colectivos.
Por razones de perfomance (el jpg que pienso usar es muuuuy grande) estoy intentando armar todo con la imagen más pequeña posible Morphica (la de 3.8 Mb)
Si alguien se interesa en este desarrollo, hablo con las chicas y armamos algo que se pueda seguir a distancia (y participar si desean)
http://201-212-99-13.cab.prima.net.ar:8888/prueba/12
Aqui intentaré ir agregando lo que haga.
Recordar , esto es para gente que recien empieza.
La idea es que funcione en cualquier imagen.
Ya vi que una vez instalado y leido el jpg, al grabar la imagen crece a 33
mb, por lo que ovidarse de poner la imagen en el ftp y que la bajen.
El jpg es el que se obtiene de entrar al sitio de la municipalidad, bajar el
plano total en pdf y convertirlo a .jpg.
En formato .jpg el plano solo ocupa 8.3 mb
Una vez descomprimido con los programas de gráficos (si no tienen el
GraphicConverter consiganlo) puedo ver que se necesitarían 115.9 mb de
memoria !!! y que la máquina tardará 9.2 segundos en leerlo.
Una vez cargado todo,
(PanningView onImageFile: 'Discovery:Users:admin:Desktop:planorosario2.jpg')
openInWorld
Me imagino que se darán cuenta que es un ejemplo y que tienen que cambiar el
path...
En el workspace y posteriormente self extent 440@463 para que tenga el
tamaño de una cuadricula del plano original.
Agrego un dibujito .
Otro tema.
Intento que se sepa que existen otros formatos aparte del de la PC.
El 3.9 , entre sus mejoras, incorpora varios conversores.
Así que una vez cargada la clase Recorridos, la idea es que manipulen un
único objeto Recorridos, que tenga la información de las líneas y los
listados de calle.
Elegí armar un Diccionario.
Para ver el objeto, en la imagen receptora hacer:
| inputStream anObject |
inputStream _ FileStream oldFileNamed: 'Recorridos.obj'.
anObject _ inputStream fileInObjectAndCode.
inputStream close.
(Inspector openAsMorphOn: anObject) openInHand
Con esto deberiamos tener un inspector "mirando" el objeto.
Esta será la única instancia de este objeto.
Recorridos allInstances first inspect "Hacer do it"
Recorridos allInstances first "Hacer inspect it"
Por último, la Mac codifica en MacRoman , así que p ej.
(((Recorridos allInstances first at: 'calles') at: 'EO') at: 4 )
convertFromWithConverter: MacRomanTextConverter new
Seleccionarlo y hacer print it en el Workspace a ver si les da
'Güemes'
En la categoría
ŒMultilingual-TextConversion'
podrán ver todos los conversores y jugar un poquito
Obviamente, una imagen de 3.8 Mb inicial no tiene la mas p... noción de esto
, ni de drag and drop, ni de servicios, ni ....
Pero funca y no es mucho mas grande que la consola de mi amigo Pavel.
Por razones de eficiencia, la imagen actualmente disponible en elpelotero y
el el server es una imagen derivada de lo que alguna vez fue el SqueakLight
3.7.2 y que si tiene drag and drop, servicios, las mejoras de los japoneses,
etc.
Pesa 5.2 mb.
Pueden actualizarse con Utilities actualizar en el do it del mundo
El número final debe ser en ambos casos 410 y puede que alguna de las dos
proteste por algo que no entienda.
Si los que no entienden son ustedes, queridos amigos lejanos, pregunten.
Edgar
'From SqueakLight3.7.1 of ''4 September 2004'' [latest update: #5985] on 11
October 2006 at 10:59:16 am'! !String methodsFor: 'converting' stamp: 'edc
10/11/2006 10:57'! alphanumeric "answer the receiver with only letters and
numbers" ^ self select: [:each | each isAlphaNumeric]! !
'From SqueakLight3.7.1 of ''4 September 2004'' [latest update: #5985] on 11
October 2006 at 9:08:42 am'! "Change Set: AutoScroll Date: 27 September 2002
Author: Torge Husfeldt This cs allows the user to add and then configure an
auto scroll mechanism to any morph that is a ScrollPaneX by the custom menu.
That is any morph that inherits from the new class AbstractScrollPane now
superclass of ScrollPaneX and TwoWayScrollPaneX, providing some of their common
behavior. There is anoter new (experimental) subclass of AbstractScrollPane
called PanningView. This class provides two-way auto scroll by default as well
as no scroll bars. This could also be easily achieved with a new initialization
method in TwoWayScrollPaneX."! MorphicModel subclass: #ComponentLikeModel
instanceVariableNames: 'pinSpecs' classVariableNames: '' poolDictionaries: ''
category: 'Morphic-Components'! ComponentLikeModel subclass: #AbstractScrollPane
instanceVariableNames: 'scrollBar scroller getMenuSelector getMenuTitleSelector'
classVariableNames: '' poolDictionaries: '' category: 'Morphic-Windows'!
AbstractScrollPane subclass: #PanningView instanceVariableNames: 'scrollRegion'
classVariableNames: '' poolDictionaries: '' category: 'Morphic-Windows'!
AbstractScrollPane subclass: #ScrollPaneX instanceVariableNames:
'retractableScrollBar scrollBarOnLeft scrollBarHidden hasFocus'
classVariableNames: '' poolDictionaries: '' category: 'Morphic-Windows'! Morph
subclass: #ScrollRegionMorph instanceVariableNames: 'lastPosition passiveRegion
insetPercentage scrollFactor stepDelay' classVariableNames: ''
poolDictionaries: '' category: 'Morphic-Windows'! AbstractScrollPane subclass:
#TwoWayScrollPaneX instanceVariableNames: 'xScrollBar yScrollBar'
classVariableNames: '' poolDictionaries: '' category: 'Morphic-Windows'!
!Morph methodsFor: 'classification' stamp: 'di 11/2/2000 13:24'! isSyntaxMorph
^false! !
!ComponentLikeModel methodsFor: 'components' stamp: 'di 5/1/1998
16:14'! addPinFromSpec: pinSpec | pin | pin _ PinMorph new component: self
pinSpec: pinSpec. self addMorph: pin. pin placeFromSpec. ^ pin! !
!ComponentLikeModel methodsFor: 'components' stamp: 'di 5/2/1998 15:07'!
deleteComponent model removeDependent: self. self pinsDo: [:pin | pin delete].
^ super delete! ! !ComponentLikeModel methodsFor: 'components' stamp: 'di
5/5/1998 00:57'! initComponentIn: aLayout model _ aLayout model. self
nameMeIn: aLayout. self color: Color lightCyan. self initPinSpecs. self
initFromPinSpecs. self showPins. model addDependent: self! !
!ComponentLikeModel methodsFor: 'components' stamp: 'di 5/1/1998 16:31'!
initFromPinSpecs "no-op for default"! ! !ComponentLikeModel methodsFor:
'components' stamp: 'di 5/3/1998 20:11'! initPinSpecs "no-op for default"
pinSpecs _ Array new. ! ! !ComponentLikeModel methodsFor: 'components' stamp:
'di 4/26/1998 10:40'! nameMeIn: aWorld | stem otherNames i partName className |
className _ self class name. stem _ className. (stem size > 5 and: [stem
endsWith: 'Morph']) ifTrue: [stem _ stem copyFrom: 1 to: stem size - 5]. stem
_ stem first asLowercase asString , stem allButFirst. otherNames _ Set newFrom:
aWorld allKnownNames. i _ 1. [otherNames includes: (partName _ stem , i
printString)] whileTrue: [i _ i + 1]. self setNamePropertyTo: partName! !
!ComponentLikeModel methodsFor: 'components' stamp: 'di 5/3/1998 20:18'!
pinSpecs ^ pinSpecs! ! !ComponentLikeModel methodsFor: 'components' stamp: 'di
5/2/1998 15:09'! pinsDo: pinBlock self submorphsDo: [:m | (m isKindOf:
PinMorph) ifTrue: [pinBlock value: m]]! ! !ComponentLikeModel methodsFor:
'components' stamp: 'di 5/3/1998 09:26'! renameMe | otherNames newName |
otherNames _ Set newFrom: self pasteUpMorph allKnownNames. newName _
FillInTheBlank request: 'Please give this new a name' initialAnswer: self
knownName. newName isEmpty ifTrue: [^ nil]. (otherNames includes: newName)
ifTrue: [self inform: 'Sorry, that name is already used'. ^ nil]. self
setNamePropertyTo: newName! ! !ComponentLikeModel methodsFor: 'components'
stamp: 'di 4/29/1998 15:16'! showPins "Make up sensitized pinMorphs for each of
my interface variables" self pinSpecs do: [:pinSpec | self addPinFromSpec:
pinSpec]! ! !ComponentLikeModel methodsFor: 'dropping/grabbing' stamp: 'ar
10/5/2000 20:03'! justDroppedInto: aMorph event: anEvent | theModel | theModel
_ aMorph modelOrNil. ((aMorph isKindOf: ComponentLayout)
and: [theModel
isKindOf: Component]) ifFalse: ["Disconnect prior to removal by move"
(theModel isKindOf: Component) ifTrue: [self unwire. model _ nil]. ^ super
justDroppedInto: aMorph event: anEvent]. theModel == model ifTrue: [^ self
"Presumably just a move"]. self initComponentIn: aMorph. super
justDroppedInto: aMorph event: anEvent! ! !ComponentLikeModel methodsFor:
'geometry' stamp: 'di 4/29/1998 09:49'! extent: newExtent super extent:
newExtent. self submorphsDo: [:m | (m isKindOf: PinMorph) ifTrue: [m
placeFromSpec]]! ! !ComponentLikeModel methodsFor: 'initialization' stamp: 'di
5/3/1998 09:24'! duplicate: newGuy from: oldGuy "oldGuy has just been
duplicated and will stay in this world. Make sure all the ComponentLikeModel
requirements are carried out for the copy. Ask user to rename it. "
newGuy
installModelIn: oldGuy pasteUpMorph. newGuy copySlotMethodsFrom: oldGuy
slotName.! ! !ComponentLikeModel methodsFor: 'naming' stamp: 'dgd 2/21/2003
23:01'! choosePartName "When I am renamed, get a slot, make default methods,
move any existing methods."
| old | (self pasteUpMorph model isKindOf:
Component)
ifTrue:
[self knownName ifNil: [^self nameMeIn: self
pasteUpMorph] ifNotNil: [^self renameMe]]. old := slotName. super
choosePartName. slotName ifNil: [^self]. "user chose bad slot name" self
model: self world model slotName: slotName. old isNil
ifTrue: [self
compilePropagationMethods] ifFalse: [self copySlotMethodsFrom: old] "old ones
not erased!!"! ! !ComponentLikeModel methodsFor: 'submorphs-add/remove' stamp:
'rbb 2/18/2005 13:32'! delete "Delete the receiver. Possibly put up confirming
dialog. Abort if user changes mind"
(model isKindOf: Component) ifTrue:
[^self deleteComponent]. (model isMorphicModel) ifFalse: [^super delete].
slotName ifNotNil:
[(self confirm: 'Shall I remove the slot ' , slotName
, ' along with all associated methods?')
ifTrue:
[(model class
selectors select: [:s | s beginsWith: slotName])
do: [:s | model class
removeSelector: s]. (model class instVarNames includes: slotName)
ifTrue: [model class removeInstVarName: slotName]] ifFalse:
[(self
confirm: '...but should I at least dismiss this morph? [choose no to leave
everything unchanged]')
ifFalse: [^self]]]. super delete! !
!AbstractScrollPane methodsFor: 'private' stamp: 'th 9/26/2002 22:16'!
disableAutoScroll (submorphs select:[:each | each class == ScrollRegionMorph])
do:[:each | each delete].! ! !AbstractScrollPane methodsFor: 'private' stamp:
'th 9/26/2002 22:16'! enableAutoScroll self addMorph:(ScrollRegionMorph new
bounds: self scroller bounds)! ! !AbstractScrollPane methodsFor: 'menu' stamp:
'th 9/26/2002 22:17'! addCustomMenuItems: aCustomMenu hand: aHandMorph |
myScrollRegion | super addCustomMenuItems: aCustomMenu hand: aHandMorph.
myScrollRegion _ submorphs detect:[:sm | sm class == ScrollRegionMorph]
ifNone:[nil]. myScrollRegion ifNil:[aCustomMenu add: 'enable autoscroll'
action: #enableAutoScroll] ifNotNil:[aCustomMenu add: 'disable autoscroll'
action: #disableAutoScroll].! !
!PanningView methodsFor: 'initialization'
stamp: 'th 9/26/2002 20:17'! initialize super initialize.
scroller :=
TransformMorph new color: Color transparent. scroller offset: 0@0. self
addMorph: scroller. scrollRegion _ ScrollRegionMorph new bounds: scroller
bounds. self addMorph: scrollRegion. self extent: 150@120! ! !PanningView
methodsFor: 'pane events' stamp: 'th 9/23/2002 18:13'! handlesMouseDown: evt ^
true! ! !PanningView methodsFor: 'pane events' stamp: 'th 9/23/2002 18:13'!
handlesMouseOver: evt ^ true! ! !PanningView methodsFor: 'pane events' stamp:
'th 9/23/2002 18:14'! mouseDown: evt evt yellowButtonPressed "First check for
option (menu) click" ifTrue: [^ self yellowButtonActivity: evt shiftPressed].
"If pane is not full, pass the event to the last submorph, assuming it is the
most appropriate recipient (!!)" scroller hasSubmorphs ifTrue: [scroller
submorphs last mouseDown: (evt transformedBy: (scroller transformFrom: self))]!
! !PanningView methodsFor: 'pane events' stamp: 'th 9/26/2002 10:00'!
mouseEnter: event
self owner addMorphFront: self! ! !PanningView methodsFor:
'pane events' stamp: 'th 9/26/2002 10:00'! mouseLeave: event
self owner
addMorphBack: self.! ! !PanningView methodsFor: 'pane events' stamp: 'th
9/23/2002 18:47'! mouseMove: evt "If pane is not full, pass the event to the
last submorph, assuming it is the most appropriate recipient (!!)" self
scrollBy: evt startPoint - evt position! ! !PanningView methodsFor: 'pane
events' stamp: 'th 9/23/2002 18:22'! mouseUp: evt "If pane is not full, pass
the event to the last submorph, assuming it is the most appropriate recipient
(!!)" scroller hasSubmorphs ifTrue: [scroller submorphs last mouseUp: (evt
transformedBy: (scroller transformFrom: self))]! ! !PanningView methodsFor:
'pane events' stamp: 'th 9/23/2002 18:23'! rejectsEvent: anEvent
scroller
submorphs isEmpty ifTrue: [^true]. "something messed up here" scroller
firstSubmorph isSyntaxMorph ifTrue: [^ super rejectsEvent: anEvent]. ^self
visible not "ignore locked status"! ! !PanningView methodsFor: 'geometry'
stamp: 'th 9/23/2002 18:00'! extent: newExtent
super extent: (newExtent max:
36@32). self resizeScroller.! ! !PanningView methodsFor: 'geometry' stamp: 'th
9/23/2002 18:06'! leftoverScrollRange "Return the entire scrolling range minus
the currently viewed area." ^ self totalScrollRange - self innerBounds extent
max: 0@0 ! ! !PanningView methodsFor: 'geometry' stamp: 'th 9/23/2002 18:03'!
resizeScroller
scroller bounds: self innerBounds! ! !PanningView methodsFor:
'geometry' stamp: 'th 9/23/2002 18:08'! scrollBy: delta "Move the contents in
the direction delta."
scroller offset: ((scroller offset - delta max: 0@0)
min: self leftoverScrollRange). ! ! !PanningView methodsFor: 'geometry' stamp:
'th 9/23/2002 18:04'! totalScrollRange
"Return the entire scrolling range." ^
((scroller localVisibleSubmorphBounds ifNil: [^nil]) encompass: 0@0) extent! !
!PanningView methodsFor: 'access' stamp: 'th 9/23/2002 17:58'! scroller ^
scroller! ! !PanningView methodsFor: 'access' stamp: 'th 9/23/2002 17:59'!
wantsSlot "For now do it the old way, until we sort this out" ^ true! !
!PanningView class methodsFor: 'instance creation' stamp: 'th 9/26/2002 09:54'!
onImage: aForm "Answer a two-way scroll pane that allows the user to scroll the
receiver in either direction. It will have permanent scroll bars unless you
take some special action."
^ self onMorph: (ImageMorph new image: aForm)! !
!PanningView class methodsFor: 'instance creation' stamp: 'th 9/26/2002 09:56'!
onImageFile: aFileName "Answer a two-way scroll pane that allows the user to
scroll the receiver in either direction. It will have permanent scroll bars
unless you take some special action."
^ self onImage: (Form fromBinaryStream:
(FileStream readOnlyFileNamed:aFileName))! ! !PanningView class methodsFor:
'instance creation' stamp: 'th 9/26/2002 09:53'! onMorph: aMorph "Answer a
two-way scroll pane that allows the user to scroll the receiver in either
direction. It will have permanent scroll bars unless you take some special
action."
| widget | widget _ self new. widget extent: ((aMorph width min:
300 max: 100) @ (aMorph height min: 150 max: 100)); borderWidth: 0. widget
scroller addMorph: aMorph. ^ widget! !
!ScrollRegionMorph methodsFor:
'accessing' stamp: 'th 9/26/2002 22:23'! insetPercentage ^insetPercentage
ifNil:[8]! ! !ScrollRegionMorph methodsFor: 'accessing' stamp: 'th 9/27/2002
11:02'! insetPercentage: anInteger
insetPercentage _ anInteger min: 50. self
ownerChanged. "A quick hack, updates possibly more than needed. Should not hurt
since not used often (i.e triggered by menu action)"! ! !ScrollRegionMorph
methodsFor: 'accessing' stamp: 'th 9/27/2002 10:52'! scrollFactor "scrollFacor
may be any magnitude of one or two dimensions" ^scrollFactor ifNil:[1].! !
!ScrollRegionMorph methodsFor: 'accessing' stamp: 'th 9/27/2002 10:52'!
scrollFactor: aFraction "scrollFacor may be any magnitude of one or two
dimensions" scrollFactor := aFraction.! ! !ScrollRegionMorph methodsFor:
'accessing' stamp: 'th 9/27/2002 10:30'! stepDelay ^stepDelay ifNil:[50]! !
!ScrollRegionMorph methodsFor: 'accessing' stamp: 'th 9/27/2002 10:52'!
stepDelay: anInteger "The delay between two steps of the scroll mechanism"
^stepDelay ifNil:[50]! ! !ScrollRegionMorph methodsFor: 'private' stamp: 'th
9/26/2002 19:22'! activate self startStepping! ! !ScrollRegionMorph
methodsFor: 'private' stamp: 'th 9/26/2002 20:06'! lastPosition
^lastPosition!
! !ScrollRegionMorph methodsFor: 'private' stamp: 'th 9/27/2002 10:50'!
moveAmount
^(((self lastPosition adhereTo: passiveRegion bounds) - self
lastPosition) * self scrollFactor) rounded! ! !ScrollRegionMorph methodsFor:
'private' stamp: 'th 9/26/2002 19:22'! passivate self stopStepping! !
!ScrollRegionMorph methodsFor: 'event handling' stamp: 'th 9/26/2002 19:00'!
handleListenEvent: event
event isMouse ifFalse:[^false]. lastPosition _ event
position. ! ! !ScrollRegionMorph methodsFor: 'event handling' stamp: 'th
9/25/2002 13:17'! handlesMouseOver: evt ^ true! ! !ScrollRegionMorph
methodsFor: 'event handling' stamp: 'th 9/25/2002 20:22'! mouseEnter: event
lastPosition _ event position. self startStepping. event hand
addMouseListener: self. ^true! ! !ScrollRegionMorph methodsFor: 'event
handling' stamp: 'th 9/25/2002 20:22'! mouseLeave: event
self stopStepping.
event hand removeMouseListener: self. ! ! !ScrollRegionMorph methodsFor: 'event
handling' stamp: 'th 9/26/2002 22:24'! ownerChanged | newBounds | newBounds _
owner scroller bounds. self bounds: newBounds. passiveRegion bounds:
(newBounds insetBy: newBounds extent * self insetPercentage // 100).! !
!ScrollRegionMorph methodsFor: 'event handling' stamp: 'th 9/26/2002 20:00'!
stepAt: aTime | amount | amount _ self moveAmount. owner scrollBy: amount.! !
!ScrollRegionMorph methodsFor: 'event handling' stamp: 'th 9/27/2002 10:59'!
stepTime ^ self stepDelay! ! !ScrollRegionMorph methodsFor: 'initialization'
stamp: 'th 9/26/2002 20:03'! initialize super initialize. self color: Color
transparent. passiveRegion _ Morph new. passiveRegion color: Color
transparent. passiveRegion on: #mouseEnter send: #passivate to: self.
passiveRegion on: #mouseLeave send: #activate to: self. self addMorph:
passiveRegion.! ! !ScrollRegionMorph methodsFor: 'menu' stamp: 'th 9/27/2002
10:56'! addCustomMenuItems: aCustomMenu hand: aHandMorph | submenu | super
addCustomMenuItems: aCustomMenu hand: aHandMorph. submenu _ MenuMorph new
defaultTarget: self. #(2 5 10 20 30 40 50) do:[:arg | submenu add: arg
printString target: self selector: #insetPercentage: argument: arg].
aCustomMenu add: 'set inset percentage' subMenu: submenu. submenu _ MenuMorph
new defaultTarget: self. {1/4. 1/3. 1/2. 1. 2. 5. 10.} do:[:arg | submenu
add: arg printString target: self selector: #scrollFactor: argument:
arg]. aCustomMenu add: 'set scroll factor' subMenu: submenu. submenu _
MenuMorph new defaultTarget: self. #(10 20 50 100 200 500) do:[:arg | submenu
add: arg printString target: self selector: #stepDelay: argument: arg].
aCustomMenu add: 'set step delay' subMenu: submenu. ! !
!ScrollRegionMorph
class methodsFor: 'instance creation' stamp: 'th 9/25/2002 20:36'! for:
orientation bounds: bounds | morph | morph _ self new. morph orientation:
orientation. morph bounds: bounds. morph color: Color transparent. ^morph! !
!TwoWayScrollPaneX methodsFor: 'initialization' stamp: 'th 9/26/2002 11:21'!
initialize | | super initialize. borderWidth _ 2. borderColor _ #inset.
self yScrollBar: (ScrollBar new model: self slotName: 'yScrollBar'). self
yScrollBar borderWidth: 2; borderColor: #inset. self addMorph: self yScrollBar.
self xScrollBar: (ScrollBar new model: self slotName: 'xScrollBar'). self
xScrollBar borderWidth: 2; borderColor: #inset. self addMorph: self xScrollBar.
scroller := TransformMorph new color: Color transparent. scroller offset: 0@0.
self addMorph: scroller.
self extent: 150@120! ! !TwoWayScrollPaneX
methodsFor: 'access' stamp: 'th 9/26/2002 11:20'! scrollBar ^ scrollBar
ifNil:[scrollBar _ Dictionary new]! ! !TwoWayScrollPaneX methodsFor: 'access'
stamp: 'th 9/26/2002 11:20'! xScrollBar ^ self scrollBar at: #x
ifAbsent:[xScrollBar]! ! !TwoWayScrollPaneX methodsFor: 'access' stamp: 'th
9/26/2002 11:19'! xScrollBar: aScrollBar self scrollBar at: #x put: aScrollBar.
xScrollBar _ aScrollBar.! ! !TwoWayScrollPaneX methodsFor: 'access' stamp: 'th
9/26/2002 11:20'! yScrollBar ^ self scrollBar at: #y ifAbsent:[yScrollBar]! !
!TwoWayScrollPaneX methodsFor: 'access' stamp: 'th 9/26/2002 11:19'! yScrollBar:
aScrollBar self scrollBar at: #y put: aScrollBar. yScrollBar _ aScrollBar.! !
!TwoWayScrollPaneX methodsFor: 'geometry' stamp: 'th 9/26/2002 11:30'!
fitContents "Adjust my size to fit my contents reasonably snugly"
self
extent: scroller submorphBounds extent + (self yScrollBar width @ self
xScrollBar height) + (borderWidth*2) ! ! !TwoWayScrollPaneX
methodsFor: 'geometry' stamp: 'th 9/26/2002 11:30'! resizeScrollBar "used to
handle left vs right scrollbar" self yScrollBar bounds: (bounds topLeft extent:
16 @ (bounds height - 16)). self xScrollBar bounds: ((bounds left + 16) @
(bounds bottom - 16) extent: (bounds width - 16) @ 16). ! ! !TwoWayScrollPaneX
methodsFor: 'geometry' stamp: 'th 9/26/2002 11:28'! resizeScroller | inner |
"used to handle left vs right scrollbar" inner _ self innerBounds. scroller
bounds: (inner topLeft + (self yScrollBar width@0) corner: (inner bottomRight -
(0@self xScrollBar height)))! ! !TwoWayScrollPaneX methodsFor: 'geometry'
stamp: 'th 9/26/2002 11:30'! scrollBy: delta "Move the contents in the
direction delta." "For now, delta is assumed to have a zero x-component. Used
by scrollIntoView:" | r newOffset |
newOffset _ (scroller offset - delta max:
0@0) min: self leftoverScrollRange. scroller offset: newOffset.
r _ self
leftoverScrollRange. r y = 0 ifTrue: [self yScrollBar value: 0.0] ifFalse:
[self yScrollBar value: newOffset y asFloat / r y]. r x = 0 ifTrue: [self
xScrollBar value: 0.0] ifFalse: [self xScrollBar value: newOffset x asFloat /
r x]. ! ! !TwoWayScrollPaneX methodsFor: 'geometry' stamp: 'th 9/26/2002
11:28'! setScrollDeltas | range scrollDelta totalRange innerBounds xScrollbar
yScrollbar | xScrollbar _ self xScrollBar. yScrollbar _ self yScrollBar.
totalRange _ self totalScrollRange ifNil: [^ self]. range _ self
leftoverScrollRange. innerBounds _ self innerBounds. scrollDelta _ 10 @ 10.
self hideOrShowScrollBar: xScrollbar forRange: totalRange x - (innerBounds
width - yScrollbar width). range x <= 0 ifTrue: [xScrollbar scrollDelta: 0.02
pageDelta: 0.2. xScrollbar interval: 1.0] ifFalse: [xScrollbar
scrollDelta: (scrollDelta x / range x) asFloat pageDelta: (innerBounds
width - scrollDelta x / range x) asFloat. xScrollbar interval: (innerBounds
width - scrollDelta x / totalRange x) asFloat].
self hideOrShowScrollBar:
yScrollbar forRange: totalRange y - (innerBounds height - xScrollbar height).
range y <= 0 ifTrue: [yScrollbar scrollDelta: 0.02 pageDelta: 0.2.
yScrollbar interval: 1.0] ifFalse: [yScrollbar scrollDelta: (scrollDelta y /
range y) asFloat pageDelta: (innerBounds height - scrollDelta y / range y)
asFloat. yScrollbar interval: (innerBounds height - scrollDelta y /
totalRange y) asFloat]! ! !TwoWayScrollPaneX methodsFor: 'retractable scroll
bar' stamp: 'th 9/26/2002 11:29'! xScrollerHeight
(submorphs includes: self
xScrollBar) "Sorry the logic is reversed :( " ifFalse: [^ 0 @ 0] "already
included" ifTrue: [^ 0 @ self xScrollBar height] "leave space for it" ! !
'From SqueakLight of 16 August 2006 [latest update: #406] on 6 October 2006 at
10:39:30 am'! Dictionary subclass: #Recorridos instanceVariableNames:
'selector' classVariableNames: '' poolDictionaries: '' category:
'Colectivos'! !Recorridos methodsFor: 'as yet unclassified' stamp: 'edc
10/5/2006 08:07'! indexIsOne "When used as a singleton list, index is always
one" ^ 1! ! !Recorridos methodsFor: 'as yet unclassified' stamp: 'edc
10/5/2006 08:19'! memberList | res | res := self at: (selector at:1). ^ res at:
(selector at:2)
! ! !Recorridos methodsFor: 'as yet unclassified' stamp: 'edc
10/4/2006 07:44'! nuevaLinea: aKey self at: aKey put: Dictionary new. (self at:
aKey ) at:'IDA' put: nil. (self at: aKey) at:'VUELTA' put: nil.! ! !Recorridos
methodsFor: 'as yet unclassified' stamp: 'edc 10/5/2006 08:21'! verRecorridoDe:
estaLinea | list res | res := PopUpMenu withCaption: 'Debe elegir entre '
chooseFrom: #('IDA' 'VUELTA'). res = 1 ifTrue:[res := 'IDA']
ifFalse:[res := 'VUELTA'].
selector:= Array with: estaLinea with: res.
(list := PluggableListMorph new) on: self list: #memberList selected:
#indexIsOne changeSelected: #indexIsOne menu: #memberMenu:shifted: keystroke:
nil. list color: Color paleYellow . list openInHand ! !
!Recorridos
methodsFor: 'accessing' stamp: 'edc 10/4/2006 09:49'! memberIndex "Answer the
value of memberIndex"
^ memberIndex! ! !Recorridos methodsFor: 'accessing'
stamp: 'edc 10/4/2006 09:49'! memberIndex: anObject "Set the value of
memberIndex"
memberIndex := anObject! !
Mas ofertas de trabajo.
------ Mensaje reenviado
De: "Grupo de clubSmalltalk:" <noreply@googlegroups.com>
Fecha: Thu, 12 Oct 2006 08:01:36 +0000
Para: Suscriptores a texto entero de clubSmalltalk
<clubSmalltalk@googlegroups.com>
Asunto: 1 mensajes nuevos del 1 tema (texto entero)
Gente,
la empresa donde trabajo, InfOil, publicó esta oferta en UniversoBIT.
Les paso el link,
http://www.universobit.com/ubit/gfs?open&REC=/olu/5914-145937
Me parece interesante para quien quiera laburar y aprender Smalltalk.
Saludos, Facundo
------ Fin del mensaje reenviado
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
--- En squeakRos@..., "Edgar J. De Cleene"
<edgardec2001@y...> escribió:
>
> Hola,
>
> No nececitas una imagen pequeña para correr en pocketPC. Cualquier
imagen
> corre, el problema es la memoria que tengas disponible, de cuanta
memoria
> hablamos?
> Con Edgar corrimos y desarrollamos un squeak normal en una iPaq con
32 M.
> Luego del desarrollo trimeamos algo de lo que no usabamos.
>
> Emilio
>
> En estos dias ha ³retornado² a la lista Aaron Reichow, quien tiene
> considerable experiencia en uso de pequeños dispositivos y tambien
es uno de
> los pioneros en construcción de imagenes pequeñas, fijarse sus
últimos posts
> en la lista internacional.
> Tengo gran curiosidad de como respondera el OLPC con Squeak, en estos
> momentos hav varios de los masters adecuando la imagen de SqueakLand
a 640 *
> 480 y al procesador que usaran.
> En la facultad , lo menos que tenemos a disposición para nosotros
son un par
> de Celeron 400 que ³tiran² muy bien dos imagenes de SqueakLight al mismo
> tiempo, para nuestros prácticos de comunicación via TCP.
>
> Espero que ayude esta info..
> Aca con un par de chicas estamos intentanod armar algo que nos de una
> especie de plano con los recorridos de los colectivos.
> Por razones de perfomance (el jpg que pienso usar es muuuuy grande)
estoy
> intentando armar todo con la imagen más pequeña posible Morphica (la
de 3.8
> Mb)
> Si alguien se interesa en este desarrollo, hablo con las chicas y
armamos
> algo que se pueda seguir a distancia (y participar si desean)
>
> Edgar
Se que no se necesita una imágen pequeña pero me gustaría probar a
partir de la versión minimal ya que quiero aprovechar el ahorro de
memoria, y a partir de ahí, modificarla para adaptarla a una pantalla
de pocketpc QVGA(320*200). La memoria en los PDA's no sobra
precisamente y deben trabajar lo menos posible para ahorrar batería.
La iPAQ en cuestión es una HP iPAQ 4150 con 64 MB de ram, una tarjeta
SD de 512MB y 400MHZ de procesador.
A ver si tengo un hueco y leo la lista, últimamente tengo poco tiempo,
y la lista de squeak-dev está siendo muy activa y no me da tiempo a
leerlo todo (y eso cuando consigo leer algo). LLevaré como un par de
semanas que no consigo seguir el ritmo.
Un saludo.
La iPAQ en cuestión es una HP iPAQ 4150 con 64 MB de ram, una tarjeta
SD de 512MB y 400MHZ de procesador.
Hoy acabo de probar la imagen con el plano cargado en un pentiun 550Mhz y anduvo muy bien.
Esta imagen “minima”, se descarga de ftp://squeaklight.noads.de@...:21/SqueakLight390.zip
Si quieres algo menos minimo, en el anterior mail mande de donde descargar lo que normalmente utilizamos en el laboratorio
--- En squeakRos@..., "Edgar J. De Cleene"
<edgardec2001@y...> escribió:
>
> > La iPAQ en cuestión es una HP iPAQ 4150 con 64 MB de ram, una tarjeta
> > SD de 512MB y 400MHZ de procesador.
> >
> > Hoy acabo de probar la imagen con el plano cargado en un pentiun
550Mhz y
> > anduvo muy bien.
> > Esta imagen ³minima², se descarga de
> > ftp://squeaklight.noads.de@8...:21/SqueakLight390.zip
> > Si quieres algo menos minimo, en el anterior mail mande de donde
descargar lo
> > que normalmente utilizamos en el laboratorio
> >
>
He cargado squeaklight.406 y la verdad no va nada mal. Aunque habría
que ver como hacer para que el browser por ejemplo, cogiese pantalla
completa de verdad. Aunque, con este tamaño de imágen, seguramente
habría que reestructurar las ventanas ya que se ven demasiado
ajustadas. Además, bloquea las teclas del PDA dejándolas inutilizadas,
pero esto supongo que será cosa de la VM.
Además, la barra de abajo tampoco se ve del todo bien porque sobrepasa
el ancho de la ventana
Sabrías decirme, como incluir un tamaño de fuente más pequeño que 10
en esa imagen?
Sería cuestión de retocar aquí y allí, y en principio sería bastante
usable. De rapidez no va del todo mal. Los mayores probelmas que veo
son los 10MB de la imágen más los 15MB del SqueakV3.sources, que para
un PDA, son bastantes.
Aquí te pego unas screenshots.
http://lordzealon.com/squeak/01-launching.bmphttp://lordzealon.com/squeak/02-launching2.bmphttp://lordzealon.com/squeak/03-memory.bmphttp://lordzealon.com/squeak/04-world.bmphttp://lordzealon.com/squeak/05-worldmenu.bmphttp://lordzealon.com/squeak/06-openingbrowser.bmphttp://lordzealon.com/squeak/07-browser.bmphttp://lordzealon.com/squeak/08-browserfullscreen.bmp
He cargado squeaklight.406 y la verdad no va nada mal. Aunque habría
que ver como hacer para que el browser por ejemplo, cogiese pantalla
completa de verdad. Aunque, con este tamaño de imágen, seguramente
habría que reestructurar las ventanas ya que se ven demasiado
ajustadas. Además, bloquea las teclas del PDA dejándolas inutilizadas,
pero esto supongo que será cosa de la VM.
Para ventana completa,
Menu del mundo
appearance
full screen on
Por código World fullScreenOn
Además, la barra de abajo tampoco se ve del todo bien porque sobrepasa
el ancho de la ventana
Digamos que en menos de 640*480 es muuuy difícil trabajar.
si te molesta, eliminala via halo
Sabrías decirme, como incluir un tamaño de fuente más pequeño que 10
en esa imagen?
El SqueakLight no tiene previsto leer ttf
Sería cuestión de retocar aquí y allí, y en principio sería bastante
usable. De rapidez no va del todo mal. Los mayores probelmas que veo
son los 10MB de la imágen más los 15MB del SqueakV3.sources, que para
un PDA, son bastantes.
te evitaras 20 Mb al costo de no registrar ningun cambio y perder algo de detalle en los browser.
Ya está el 410 con el agregado de Shout y las dos mejoras de los japoneses.
Estoy viendo de actualizar Zurgle, como homenaje a Jim Benson (mi capitán en el Sblog team) y para aprender un poco
Si queres seguir lo que estoy haciendo, mira de vez en cuando
Es super crudo, ya converti lo que eran dos directorios externos con todos los bmp a objetos válidos para CUALQUIER Squeak
El 410 carga los objetos .obj inteligentemente por drag and drop, abriendo un inspector.
Con lo que tendras el primer atisbo de la “programación mágica” o “porque desperdicie mi vida con todos los libros de UML y otras porquerías similares”
>>Sabrías decirme, como incluir un tamaño de fuente más pequeño que 10
en esa imagen?
>>El SqueakLight no tiene previsto leer ttf
Corrijo mi anterior mail.
En el proceso de tratar de convencer al SqueakLight de instalar Zurgle, al menos logre que instale las StrikeFonts provistas en el mismo.
Así que si se podría instalar otras fonts.
Pero estas fuentes son bitmaps y no se ven muy bien.
No hay incluídas ninguna de menos de 10 pt.
Podrías buscar fuentes Strike que sean de menos de 10 puntos e instalarlas..
En estos momentos lucho contra la redefinición de muchas clases y métodos .
Para cuando tengan hipo, ver esta colección de rostros de Squeakers y otras
fotos
http://www.frappr.com/squeak/photos
PD) La mia no la envio , no quiero romper el server :=)
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
jajajaja, yo mandé una mía de cuando estábamos un siesta sunchalense dando vueltas por el campo con mi hijo menor y me sacó una foto arriba de un eucaliptus caido.........asi que no creo que la tuya pueda romper el server, si se aguantó la mia!!
El día 19/10/06, Edgar J. De Cleene <edgardec2001@...> escribió:
Para cuando tengan hipo, ver esta colección de rostros de Squeakers y otras
fotos
Lo mismo digo, menuda cara que tengo, ni recordaba que la envié.
Si aguantó la mía sin que fuese desterrado de la comunidad, entonces
sirve cualquiera ;)
Un saludo.
--
Giuseppe Luigi Punzi
Linux User: #370919
http://blog.lordzealon.com
Me acaban de comunicar que el SqueakLight tendra enlace oficial desde el
sitio oficial de Squeak.
Así que gracias a todos los que me ayudaron en el pasado.
Intentaré seguir mejorando la imagen (no la mía que pese a lo que digan
Giusseppe y Germán no tiene solución).
Cuando pueda seducir a alguno de los alumnos para hacer tutoriales, los
seguiremos agregando.
Para la gente de la UTN y todos los que deseen ayudarnos en la quijotada,
recordar que hemos iniciado la tramitación para tener una electiva basada en
Squeak.
Agradeceremos opiniones, etc en el siguiente link que me gustaría saber si
funciona externamente.
http://201-212-99-13.cab.prima.net.ar:8888/Electiva
Edgar
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
>
> Me acaban de comunicar que el SqueakLight tendra enlace oficial desde el
> sitio oficial de Squeak.
>
> Así que gracias a todos los que me ayudaron en el pasado.
>
Enhorabuena.
> Intentaré seguir mejorando la imagen (no la mía que pese a lo que digan
> Giusseppe y Germán no tiene solución).
>
Eso está por ver ;)
> Cuando pueda seducir a alguno de los alumnos para hacer tutoriales, los
> seguiremos agregando.
>
> Para la gente de la UTN y todos los que deseen ayudarnos en la quijotada,
> recordar que hemos iniciado la tramitación para tener una electiva basada en
> Squeak.
>
> Agradeceremos opiniones, etc en el siguiente link que me gustaría saber si
> funciona externamente.
>
>
> http://201-212-99-13.cab.prima.net.ar:8888/Electiva
>
El link ahora mismo (21/10/2006 a las 12:43 hora española) no funciona.
Un saludo.
--
Giuseppe Luigi Punzi
Linux User: #370919
http://blog.lordzealon.com
Si, ya vi anoche en la UTN que quien sea que se molesta en ver todos los dias la imagen que soporta todo el sistema la colgo.
Así que aprovechare la oportunidad para “migrar” todo a la imagen que ahora esta en www.squeak.org/download.
Ya cargué el LightWeb.sar e hice un par de arreglos
Te dará acceso a la información disponible, los links pueden o no andar.
Eso corre sobre el Apache, para cuando se cuelga el Squeak
Te cuento que no pienso poner Zurgle en la imagen chica, Zurgle solo le agregaría como poco 1.2 Mb.
Te agradezco me hayas llamado la atención sobre eso, así reencontre las SkinsII de Wessel.
Se pueden mejorar, en cuanto “descubra” como leer los tar.gz de las “pieles” , podría tenerse dentro de la imagen por lo menos cuatro o cinco de las mas pequeñas sin mucho costo en tamaño
El sáb, 21-10-2006 a las 08:15 -0300, Edgar J. De Cleene escribió:
> Se pueden mejorar, en cuanto “descubra†como leer los tar.gz de las
> “pieles†, podría tenerse dentro de la imagen por lo menos cuatro o
> cinco de las mas pequeñas sin mucho costo en tamaño
En GNU/Linux sería
tar -xvzf nombre_del_archivo.tar.gz
pero no sé si tenés el tar en MAC
Saludos,
Francisco
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
> En mi post anterior se me pasó otra persona que ha hecho y hace
> muchísimo por Smalltalk y que a mi particularmente me ha ayudado un
> montón, se trata de Diego Gómez Deck. Perdón por la omisión Diego,
> pero sabés que tenés mi reconocimiento y agradecimiento.
>
> Saludos.
>
Y Edgar J. de Cleene. No te olvides de él, y también es profesor de
universidad (creo)
Si se quiere promover squeak, todas las partes de la comunidad hispana
debemos poner de nuestra parte. El "latino", por norma general (sobre
todo en España) es gandúl, hay que darle la documentación en español y
que no tenga que traducirla.
Yo por mi parte intento hacer lo que puedo intentando actualizar mi blog
con contenidos de Smalltalk, y en cuanto saque tiempo, ofrecer mi propia
experiencia según vaya aprendiendo (de momento intento portar una imágen
de squeak a PDA que sea usable)
Pero creo que, para contestar a la pregunta "¿porqué squeak no es tan
popular?" me remito a un post que se hizo en barrapunto.com
Cito una pequeña conversación de los comentarios del anuncio del libro
de Diego:
http://barrapunto.com/article.pl?sid=06/02/13/162223
=======================
"Mmm... ¿poco práctica? Exactamente ¿por qué? Smalltalk es uno de los
mejores lenguajes de programación que existen. Por supuesto no sólo lo
digo yo, sino una gran cantidad de estudiosos de la informática. El
hecho de que haya sido dado de lado sólo se debe a la tendencia
ineludible de la raza humana de no ver que con un mínimo esfuerzo de
sentirse cómodo en ese lenguaje se iban a ahorrar después muchas horas
de trabajo. Es más, Smalltalk, después de sus 25 o así años de
existencia sigue siendo pionero.
Y si no, busca las presentaciones de nuevos lenguajes de programación
como Python o Ruby y verás que mucha parte de su filosofía está tomada
de Smalltalk. Nunca he visto otro lenguaje de programación más elegante.
Elegante y diferente, de ahí la reticencia. Actualmente Smalltalk es un
lenguaje tan potente como pueda ser cualquier otro de los que se
utilicen regularmente. Tiene todas las librerías necesarias para hacer
casi cualquier cosa, entornos de ejecución, etc. etc. Y además, es mucho
más productivo :)
======================
Contestación:
=======================
Si algo realmente trae beneficios, tranquilo, la gente está dispuesta a
cambiar.
Ya sabes, la pela es la pela.
Otra cosa es que sea mas estructurado, con una filosofia mas pura, con
patatin y con patatan, pero....¿realmente es mas productivo? El mercado
dice que no.
=======================
=======================
No estoy de acuerdo. El mercado se equivoca muchas veces. Es por lo que
todavía se usa HTTP para hacer comunicación entre aplicaciones (los
tristes Servicios Web). Es por lo que existe el Spam y no hay
posibilidad de autenticación en envíos de correo, etc. etc.
Efectivamente, la pela es la pela, pero por tomar un ejemplo que acabo
de sacar, no sabría estimar cuánto dinero cuesta el Spam a las empresas
(a la mayoría de ellas, no a las que se lucran de ello, que son unas
cuantas). ¿Cómo es que no hay soluciones más eficaces?
El "mercado" como tú lo llamas se ve influenciado, por ejemplo, por
campañas de márketing dirigidas por grandes empresas que pueden dar
soluciones "terminadas" y de un alto valor percibido (en un momento
dado) pero también puede que de bajo valor tecnológico o de futuro. Es
tarea de los que realizan la investigación encontrar los mejores
paradigmas y prácticas.
Así, te puedo decir que hay muchos estudios que comprueban la
productividad de Smalltalk comparado con otros lenguajes, incluso de su
propio inventor Alan Kay. Basta con buscar en Google "smalltalk
productivity" para encontrar cientos.
Así que sí, el mercado se equivoca (como muchas otras veces).
diego.
=======================
Como opiné en la lista de squeak-dev (y muchas críticas que recibí)
entre otras muchas razones, squeak no atrae a los desarrolladores porque
parece un Scketcher para que jueguen los niños (aunque esto parece estar
cambiando), o se cree que es un lenguaje olvidado. Se mire como se mire
(y criticarme si quereis), pero es así.
Abrir una imágen 3.8 si no, y decirme que parece, eso no atrae a una
compañía, en cambio un entorno con look corporativo como VW o Dolphin si
podría atraer, pero esto ya es otro tema. Yo se que no es así, y debajo
se esconde algo muy poderoso, pero porque me preocupé en buscar
información, y enterarme un poco de como iba el tema, apuntarme a listas
de correo, leer, leer leer leer.
Y sobre todo, preocuparme porque no me gustan las modas (que si .NET,
Java, más de lo mismo reinventando la rueda), y como desarrollador que
soy (un artista, un creador) me preocupo para intentar crear algo único
con los mejores pinceles pero, los españoles, no somos así como norma
general. Primero debe entrar por el ojo.
A todo esto hay que añadir que Smalltalk da miedo (a mí me lo dá) son
muchos conceptos y cambia totalmente la visión de un desarrollador
acostumbrado a otros entornos. Lo ideal sería una comunidad en español
destinada a desarrolladores (no a colegios como small-land) con
tutoriales, charlas etc.. Pero todos, debemos poner de nuestra parte
para que llegue a buen puerto.
A todo esto, debo añadir, que si quiero trabajar con Smalltalk, tengo
que entrar en una compañía para migrar código a Java (ya que no vivo en
Argentina, y aquí no hay compañías que trabajen en ST), pero si quiero
hacer las cosas en Smalltalk (y vivir feliz como "artesano" que soy),
tendría que fundar mi propia empresa, y todos sabemos que esto no es
nada fácil, y no tengo ni tiempo, ni dinero.
Pero creo que todo esto ya sería otro tema, perdonar por extenderme y el
OFf-Topic, pero me he calentado en un momento. Smalltalk me gusta mucho,
y odio las críticas que leo muchas veces sobre él, y me siento impotente
por mi manera de ver las cosas y mi falta de tiempo.
--
Giuseppe Luigi Punzi
Linux User: #370919
http://blog.lordzealon.com
Intentar combatir los molinos de viento no es fácil.
Acá hago lo que puedo.
Lamentablemente , como habras visto en la lista colega, hay mucha buena gente peleada entre sí.
Lamentablemente , no todo el mundo habla o entiende español (nosotros decimos castellano)
Eso hace que tenga o que escribir las cosas dos veces o perder parte de posibles receptores.
Por lo demás, que cada quien use lo que le guste o le convenga, la libertad es libre.
O es que no estamos convencidos de que lo nuestro es bueno ? (Me refiero al Smalltalk/Squeak y si, yo me propongo no enseñar el famoso “autito “)
Luigi estoy totalmente de acuerdo con lo que decis.
Yo tambien recibi criticas en otras listas por defender Smalltalk e intuyo, que tambien mis criticas hacia Squeak referidas a este tema:
"
Abrir una imágen 3.8 si no, y decirme que parece, eso no atrae a una
compañía, en cambio un entorno con look corporativo como VW o Dolphin si
podría atraer, pero esto ya es otro tema. [....] "
nunca son bien tomadas por los smalltalkers. Y yo los entiendo. Mucho de esto tiene que ver con la converzacion que citaste en tu post. Hay tanto positivo en Smalltalk que a la vista de nosotros los que nos apasiona, eso es casi un detalle. Pero a la vista de los demas eso no es un detalle. Yo nunca pude desarrollar algo en Smalltalk que me pueda sustentar monetariamente. Hoy en dia, a la fuerza, lo tengo que mantener como un hobie en algun que otro fin de semana y esto es lamentable. En cada empresa o entidad que he trabajado he invertido mucha energia para convencer a la gente de usar Smalltalk (ya no importa que entorno: Squeak,VW,MT,etc) y nunca lo pude lograr. Al margen de mi capacidad de persuacion (no se puede cuantificar :) ) he tratado por todos los medios, modelando prototipos en Smalltalk de partes de sistemas que actualmente se estaban desarrollando en PHP o Java o .NET o en Delphi o en C++, etc, y el tema de siempre es el mismo: la interface visual.
Ese "tema" es realmente UN TEMA. Inclusive mostrando las caras de Dolphin o VisualWorks he tenido negativas (especialmente en el ambito privado). En consecuencia la mayoria de las veces me siento impotente y vuelco criticas por ej aca en SqueakRos con un tinte un poco exasperado. Mis sinceras disculpas a la gente de la lista.
"[...] me preocupo para intentar crear algo único
con los mejores pinceles pero, los españoles, no somos así como norma
general. Primero debe entrar por el ojo."
No solamente pasa en España. Aca en Argentina ha pegado bastante duro la moda .NET y Java. Y aca la norma es que casi todo entra por los ojos y lo que no entra por los ojos entra por los oidos con las campañas de evangelizacion de JAVA y .NET.
Yo aspiro como vos a vivir de desarrollar en Smalltalk. ¿Si voy a correr un rally por que tengo que recorrer el camino con un citroen 2CV si lo puedo recorrer con una super nave? Y ademas hay algo importantisimo: quiero disfrutar mi trabajo.
No estoy totalmente de acuerdo con muchos smalltalkers que insinuan que el nivel de complejidad de el desarrollo en Smalltalk no es absorvible por la generalidad de los programadores. ¿No se pusieron a pensar en la complejidad de los frameworks que hay en Java?? A medida que pase el tiempo la informatica va tomando complejidad, ya la tiene y mucha. No se si sera el "mismo" tipo de complejidad pero que la hay la hay. Y la masa acata la complejidad (muchas veces por la precariedad de los demas lenguajes) sin chistar. Acata el mandato del mercado... y no hay lugar para replanteos. Solo "escupir codigo", como decian mis ex compañeros de la universidad cuando se referian a codificar. Escupir codigo sin piedad y a como de lugar. Y el placer de crear algo? y el disfrute? Alguien o algo, me quito un par de cuadros en la pelicula. :)
"
A todo esto hay que añadir que Smalltalk da miedo (a mí me lo dá) son
muchos conceptos y cambia totalmente la visión de un desarrollador
acostumbrado a otros entornos."
Claro que mete miedo. Aquien no? Pero a mi (y a muchos otros), me mete "espanto" Java, .NET y PHP con ese amasijo de tecnologias entremezcladas entre HTML, javascript, Ajax, XML, farmework.NET, JBOSS, IIS, Apache,Hibernate, Propel sumado a algun lenguaje con nucleo procedural y ortopedia de orientacion a objetos. Un cocktel explosivo, con presagios de desastre...
"
A todo esto, debo añadir, que si quiero trabajar con Smalltalk, tengo
que entrar en una compañía para migrar código a Java (ya que no vivo en
Argentina, y aquí no hay compañías que trabajen en ST), pero si quiero
hacer las cosas en Smalltalk (y vivir feliz como "artesano" que soy),
tendría que fundar mi propia empresa, y todos sabemos que esto no es
nada fácil, y no tengo ni tiempo, ni dinero."
Seguro. Entre lo que uno desea y lo que se puede, hay un gran trecho. A muchos de nostros nos pasa.
"
Smalltalk me gusta mucho,
y odio las críticas que leo muchas veces sobre él, y me siento impotente
por mi manera de ver las cosas y mi falta de tiempo."
La mayoria de las criticas que tiene el Smalltalk no tienen asidero. Especialmente la gente que viene de un pasado procedural y estan conformes con el tipado fuerte, les encanta hacer castings de referencias y tienen un profundo desconocimiento de las raices del paradigma de objetos. Y la gente que tiene conocimiento, como los que desarrollan el lenguaje Java, asumen una postura agresiva porque Smalltalk sobrevive y saben que en el fondo los lenguajes que mantienen son solo un copia degenerada y decadente de Smalltalk, en consecuencia tienden a generar "maremotos en floreros" para que la masa se reafirme en la eleccion (inconciente) del rumbo y la tecnica que aplican en el dia a dia. El dinero.
Hola gente,
¡Que bueno! ¡Cuanto movimiento en la lista!
Yo también me quiero sumar a la discusión con un e-sábana-mail.
> Si se quiere promover squeak, todas las partes de la comunidad hispana
> debemos poner de nuestra parte. El "latino", por norma general (sobre
> todo en España) es gandúl, hay que darle la documentación en
> español y que no tenga que traducirla.
Eso es algo real, pero es más exagerado en España.
Acá, en España, hay una relación especial con(tra) el Inglés y es muy
común encontrarse programadores que NO saben leer inglés. Eso mismo, en
Argentina, es distinto y es muy raro encontrarse con algún programador
que no pueda, al menos, leer Inglés técnico. No se como será en otros
países hispanos parlantes.
> Yo por mi parte intento hacer lo que puedo intentando actualizar mi
> blog con contenidos de Smalltalk, y en cuanto saque tiempo, ofrecer mi
> propia experiencia según vaya aprendiendo (de momento intento portar
> una imágen de squeak a PDA que sea usable)
Creo que lo más importante, por lejos, es hacer cosas divertidas.
Estamos en una comunidad (la de Smalltalk) donde hay CIENTOS de cosas
para hacer... así que es más importante proteger a la (poca) gente que
tenemos que al Squeak en si.
Si tengo que elegir donde volcar los (pocos) recursos que disponemos,
creo que es más importante seguir invirtiendo más en investigación.
Con eso no quiero decir que no estaría de acuerdo con hacer, por
ejemplo, un binding al Squeak del GTK, del QT, o de cualquier otro
frameworks de widgets (de hecho el binding al ODBC de Squeak lo hice
yo). Sólo digo que, si tengo que elegir usar mi tiempo para portar un
toolkit de esos, o hacer algún trabajo de innovación real; está claro
que prefiero.
Si miran un poco la evolución de Squeak verán ese mismo patrón bien
marcado. No creo que sea casualidad que, por ejemplo, el Seaside se
desarrolle en Squeak. Imaginensé, por ejemplo, lo que tardaría una
discusión el alguna lista de Java (o Pyhton, o .NET) para meter
Continuations.... En cambio, en Squeak, fue trivial... copiar las
variables del contexto de ejecución actual y de todos los contextos
enganchados. Punto. Es muy interesante ver la implementación (casi
trivial) de la clase Continuation que viene en el Seaside.
Lo mismo se puede decir del Morphic, Croquet, Tweak, Sophie, Seaside,
Exupery, Squeak-E, etc.
> Pero creo que, para contestar a la pregunta "¿porqué squeak no es tan
> popular?"
Alan dice que es una diferencia cultural. El dice que las modas de
lenguajes (Java, .NET, etc) son modas "pop"; mientras que el LISP (y los
funcionales), el Prolog (y los lógicos) y Smalltalk (y los OO reales IO,
Self, etc) son, culturalmente, otra cosa.
Podemos comparar, pero hay que tener cuidado de no mezclar peras con
manzanas.
Como ejemplo: ¿A quién se le ocurre comparar los discos de Madonna
contra las sinfonías de Bach?... !A nadie! son cosas distintas, con
fines distintos, etc.
> me remito a un post que se hizo en barrapunto.com
>
> Cito una pequeña conversación de los comentarios del anuncio del
> libro de Diego:
> http://barrapunto.com/article.pl?sid=06/02/13/162223
[snip]
> Como opiné en la lista de squeak-dev (y muchas críticas que recibí)
> entre otras muchas razones, squeak no atrae a los desarrolladores
> porque parece un Scketcher para que jueguen los niños (aunque esto
> parece estar cambiando), o se cree que es un lenguaje olvidado. Se mire
> como se mire (y criticarme si quereis), pero es así.
Yo estoy de acuerdo al 100%.
Si tuviésemos más recursos, podríamos invertirlos tanto en investigación
como en desarrollo de cosas "necesarias", "útiles" o "convenientes".
Pero la pregunta es un poco distinta: Como NO tenemos todos los recursos
necesarios, ¿Qué hacemos?
Yo tengo mi respuesta: Investigación. Que es lo que falta en
prácticamente TODAS las otras comunidades (exceptuando las comunidades
de los funcionales, etc).
> Abrir una imágen 3.8 si no, y decirme que parece, eso no atrae a una
> compañía,
Tenemos que atraer buenos programadores. Y, creo, los buenos
programadores no se desesperan por un look&feel infantil, o por usar
muchos paréntesis en LISP.
Creo que el l&f de Squeak sirve muy bien como una escusa de fácil
acceso. Yo no he visto a ningún *buen* programador (aquellos que son
capaces de criticarse incluso a si mismos) decir que el LISP es malo
porque tiene muchos paréntesis, o el Squeak es malo porque trae colores
por defecto muy "pasteles".
[snip]
> y como desarrollador que
> soy (un artista, un creador) me preocupo para intentar crear algo
> único con los mejores pinceles
¡Artesanos! Como dice Paul Graham.
> pero, los españoles, no somos así
> como norma general. Primero debe entrar por el ojo.
Los españoles y el resto de la gente que conozco.
> A todo esto hay que añadir que Smalltalk da miedo (a mí me lo dá)
> son muchos conceptos y cambia totalmente la visión de un desarrollador
> acostumbrado a otros entornos.
Cualquier cambio cultural produce miedo.
Y, a muchos, eso nos motiva. Estar en la cresta de la hola, y tener
(muchas veces) que hacer nuestras propias herramientas es emocionante.
Prácticamente todos los Smalltalkers de años que conozco, en algún
momento, se les ocurrió la idea de hacer un ST.
Sin ir más lejos, lo más emocionante del desarrollo Web 2.0 que estoy
haciendo con Squeak, es el bootstrapping de un mini-ambiente Smalltalk
en los browsers.
> Lo ideal sería una comunidad en
> español destinada a desarrolladores (no a colegios como small-land)
> con tutoriales, charlas etc.. Pero todos, debemos poner de nuestra
> parte para que llegue a buen puerto.
Lo hemos intentado algunas veces, pero se puede volver a intentar.
Incluso yo había conseguido que la Junta de Extremadura nos cediera
alojamiento como para hacer una reunión de Smalltalkers por estas
tierras.
> A todo esto, debo añadir, que si quiero trabajar con Smalltalk, tengo
> que entrar en una compañía para migrar código a Java (ya que no vivo
> en Argentina, y aquí no hay compañías que trabajen en ST),
Hay compañias, en todos los países, que comprar "productos", que NO
compran un "desarrollo en XXX". ¿Alguna empresa se pregunta como está
hecho el Winamp, o el Winzip? De la misma forma que nadie se pregunta
como está hecho Google, o eBay, etc.
> pero si
> quiero hacer las cosas en Smalltalk (y vivir feliz como "artesano" que
> soy), tendría que fundar mi propia empresa, y todos sabemos que esto
> no es nada fácil, y no tengo ni tiempo, ni dinero.
Esa también es una de las conclusiones a las que todos llegamos, y
muchos de nosotros intentamos el mismo camino.
Hace poco alguien me propuso que nos organizáramos como una cooperativa.
Es una idea interesante, pero no tengo idea como llevarla a cabo.
> Pero creo que todo esto ya sería otro tema, perdonar por extenderme y
> el OFf-Topic, pero me he calentado en un momento. Smalltalk me gusta
> mucho, y odio las críticas que leo muchas veces sobre él, y me siento
> impotente por mi manera de ver las cosas y mi falta de tiempo.
No te preocupes por la gente que critica a ST (o que critica, en
general, sin hacer)... No merece la pena.
Preocupate por llegar a la gente que SI interesa, a los que saben que la
programación es de artesanos, a los que saben que la herramienta
utilizada tiene un gran impacto sobre la obra, etc.
¡Artesanos power!
Saludos,
--- Diego
Sin ir más lejos, lo más emocionante del desarrollo Web 2.0 que estoy
haciendo con Squeak, es el bootstrapping de un mini-ambiente Smalltalk
en los browsers.
Diego:
A mi tu idea del Web 2.0 me entusiasma muchisimo.
No veo la hora que pongas algo para probar.
Pienso que la combinación Kernel de Krivanek + Web 2.0 + VMMaker + La máquina virtual de John McIntosh para Sophie + AppleScript + OS X es imbatible.
El muy publicitado Leopard no es ni cerca esto...