B4A

sábado, junio 28, 2008

ESUG 2008 International Smalltalk Conference


Dear software engineer,

End of August, a unique conference will take place in Amsterdam, The Netherlands. This conference is organized by the European Smalltalk User Group (ESUG).

Smalltalk (http://en.wikipedia.org/wiki/Smalltalk) is a dynamic and reflective language exercising a continuing influence on historic and current developments in programming languages and software technology.

This year celebrates the 16th edition of the ESUG conference, which features more than 40 presentations on, among others, the following subjects:

Programming Language Platforms:
- Newspeak (New open source dynamic language focusing on modularity,
security and interoperability)
- Cog (New highly optimized open source Squeak VM)
- Maglev (Highly scalable Ruby VM)
- OpenCroquet (Deeply collaborative, multi-user online Smalltalk
development environment)

Web Frameworks:
- Seaside (The continuation & component-based web framework)
- WebVelocity
- AidaWeb (Smalltalk Web Application Server)
- WebTerminal

Model Driven Engineering:
- The Meta Environment Language Workbench
- ObjectStudio ModelingTool
- Fame; Meta-modeling Framework
- MBA Smalltalk; to manage your objects

Additionally, the winners of the ABN Amro sponsored Innovation Awards
will be presented.

Are you interested in the latest developments in dynamic languages and
Web development, be sure to register as soon as possible at http://www.esug.org.

Important information:

Conference website:
http://www.esug.org/conferences/16thinternationalsmalltalkjointconference2008/

Time: Augustus 25-29, 2008
Venue: Centrum voor Wiskunde en Informatica (CWI), Kruislaan 413,
Amsterdam, Turing Zaal.
Directions: http://www.cwi.nl/about/directions.html

Hope to see you at ESUG'08!

Kind regards

ESUG 2008

sábado, marzo 15, 2008

Monticello Backport to Squeak 3.4

To the work I'm doing to BluePlane, the company of Tansel Ersavas and John Magnifico I backported Monticello to run on a Squeak 3.4 image.

The easy way to have it running is download the .cs and install it on a clean stock 3.4 Squeak image.

When installing, you must respond with "yes" when ask to create the pool dictionary MCMockClassPoolRepository and press "ok" when inform about an "Erased Method".

If all goes ok, then you will have Monticello running on your 3.4 image (On the World Menu --> open --> Monticello Browser), as in the pic:


If you are interested in the details of the backport, they are:

1. Filein the source code from PackageInfo (Taken from PackageInfo-Base-avi.18.mcz).

2. When the walback with the DNU error of the TheWorldMenu appear, go to the #initialize method in the debugger, erase the line:

TheWorldMenu registerOpenCommand: {'Package List'. {self. #open}}

and replace it with something as self inform: 'Erased Method' (just a flag).

3. Filein PluggableButtonMorph (Taken from a stock 3.4 image).

4. Modify FileList of 3.4 image:

a- Adding FileReaderRegistry class variable
b- Adding on the class category "file reader registration", the method:

registeredFileReaderClasses

FileReaderRegistry ifNil: [FileReaderRegistry _ OrderedCollection new].
^ FileReaderRegistry

c- Adding on the class category "file reader registration", the method:

registerFileReader: aProviderClass
"register the given class as providing services for reading files"

| registeredReaders |
registeredReaders := self registeredFileReaderClasses.
(registeredReaders includes: aProviderClass)
ifFalse: [ registeredReaders addLast: aProviderClass ]

5. Filein the sources from from Monticello-avi.59.mcz
(Press close if a warning appear)

6. Add at CompileMethod "source code management" category, the method:

getPreambleFrom: aFileStream at: position
| writeStream |
writeStream _ String new writeStream.
position
to: 0
by: -1
do: [:p |
| c |
aFileStream position: p.
c _ aFileStream basicNext.
c == $!
ifTrue: [^ writeStream contents reverse]
ifFalse: [writeStream nextPut: c]]

7. Add at CompileMethod priting category, the method:

timeStamp
"Answer the authoring time-stamp for the given method, retrieved from the sources or changes file. Answer the empty string if no time stamp is available."

"(CompiledMethod compiledMethodAt: #timeStamp) timeStamp"

| file preamble stamp tokens tokenCount |
self fileIndex == 0 ifTrue: [^ String new]. "no source pointer for this method"
file _ SourceFiles at: self fileIndex.
file ifNil: [^ String new]. "sources file not available"
"file does not exist happens in secure mode"
file _ [file readOnlyCopy] on: FileDoesNotExistException do:[:ex| nil].
file ifNil: [^ String new].
preamble _ self getPreambleFrom: file at: (0 max: self filePosition - 3).
stamp _ String new.
tokens _ (preamble findString: 'methodsFor:' startingAt: 1) > 0
ifTrue: [Scanner new scanTokens: preamble]
ifFalse: [Array new "ie cant be back ref"].
(((tokenCount _ tokens size) between: 7 and: 8) and: [(tokens at: tokenCount - 5) = #methodsFor:])
ifTrue:
[(tokens at: tokenCount - 3) = #stamp:
ifTrue: ["New format gives change stamp and unified prior pointer"
stamp _ tokens at: tokenCount - 2]].
((tokenCount between: 5 and: 6) and: [(tokens at: tokenCount - 3) = #methodsFor:])
ifTrue:
[(tokens at: tokenCount - 1) = #stamp:
ifTrue: ["New format gives change stamp and unified prior pointer"
stamp _ tokens at: tokenCount]].
file close.
^ stamp

8. Add commentStamp accessor to class ClassOrganizer.

And in the the WorldMenu now exist the "Monticello Browser" option.

If not, may be some differences between images, that may generate other behaviours, and the need of patch some code from a stock 3.9 image.

If the World Menu don't have the option, you can open the Monticello Browser evaluating on a workspace: "MCWorkingCopyBrowser open".

Idioma de este blog

La verdad es que no he tenido mucho tiempo de publicar nada últimamente, pero tengo ahora algunas cosas del motivo original de este blog, es decir Squeak, que voy a publicar en inglés para evitar tener que hacerlo también en el blog de SqueakPeople.

Quien necesite alguna clarificación en español, sobretodo teniendo en cuenta que mi inglés está muy lejos de ser perfecto, me pregunta y trataré de aclarar.

viernes, octubre 12, 2007

ArSol Open Source Software Directory

En estos últimos tiempos estuvimos trabajando con un amigo (Daniel Pierini, de Solo10.com) en un proyecto que creemos puede ser de utilidad.

Se trata de un directorio/buscador de soluciones open source. La idea es que cualquier persona, empresa o institución que necesite software para cualquier fin, pueda encontrar en nuestro directorio las opciones más importantes que haya disponibles en el mundo del software libre.

Es un proyecto que está en construcción, que requiere de bastante trabajo para seleccionar los productos y sitios a incluir, ya que nuestro objetivo es dotar los contenidos de la calidad necesaria. Sin embargo, creemos que ya tiene información suficiente para ser de utilidad.

Es por ello que, además, necesitamos de la colaboración de todos los navegantes, sugiriendo aquellos sitios/productos que consideren útiles para incluir en el directorio. Esto se puede hacer desde esta página.

De la misma forma si alguien encuentra en el directorio un sitio que considera no apropiado o que no responda al espíritu del software libre, agradeceremos nos lo hagan saber por mail a la dirección contact @ arsol . biz.

En el futuro, esperamos poder brindar además, otros tipos de soluciones relacionadas con el software libre.