viernes, diciembre 05, 2008

PasswordsPro is ready to download (and buy)!

After the presentation of ClavesPC on ESUG 2008 I received some suggestions to release the same product but on English language.

Being that the product isn't anymore of my property because I sold it to the company Solo10 we talked and agreed to make an English version with the name PasswordsPro.

As usual, I did the product development work and Solo10 the graphics, site and commercial and marketing tasks.

As I started the development (when I first developed the Spanish version) with the multilingual option in mind, wasn't a big effort having the two versions living on the same sources and compile each one with a few settings.

The same to the installer, developed with NSIS and HM NIS Edit.

And, after some days of work, PasswordsPro is here, ready to help protect your private data! Check the screenshots page.

And, if you are a smalltalker, be prepared to the offer we are working on. Soon more info, so stay tunned!

miércoles, diciembre 03, 2008

Aida/Scribo Console

In the way of make Aida/Scribo a bit more user friendly to a non smalltalker user, Janko asked on the Aida list by the development of a little operation console.

I taken the job and developed a Morphic console to operate the basic aspects detaileds on Janko's mail.

The current version of the console permits:
To have the console working on your image, you can download it from its repository and make the following changes on SwazooServer class:
  • Add the instance method #isServing (under the category testing) with the following content:
^self servers notEmpty
  • Add the instance method #watchdogOther empty (on the category private-watchdog)
The console has two different interfaces (another way to show the power of Smalltalk) as you can see on the following pics:

To show it, evaluates: ScriboConsole basicView.

To show it, evaluates:
ScriboConsole fullView.

Enjoy it!

domingo, noviembre 30, 2008

More tips to get graphics inside the image

Some time ago I already talked about this topic. But what happens when the graphics is a bit big and the usual #printString, #fullPrintString, #longPrintString only show the first 5000 chars and ends with "etc..."

We talked about this topic with Jecel on the Squeak IRC and also with Nico Petton, who suggested this way to avoid the "etc..."

The trick is having the string on a text file, and then copy from them. The code that make the job is the following:

viernes, noviembre 14, 2008

How to install latest (development) versions of Aida, Scribo and friends.

Being that we (the developers) usually wants to work with the latest version of the tools we use I wrote a small Installer script to install all the needed components.

The script use Installer, then it should be run (evaluated on a workspace) after having installed a working version of Installer.

To install Installer you can download it from here: http://installer.pbwiki.com/f/Installer.st

The script is:

Transcript open.
Installer installUrl: 'http://mc.bioskop.fr/Sport/Sport-mu.2.mcz'.
Installer installUrl: 'http://www.squeaksource.com/OSProcess/OSProcess-dtl.45.mcz'.
Installer installUrl: 'http://mc.bioskop.fr/Swazoo/Swazoo-np.11.mcz'.
Installer installUrl: 'http://mc.bioskop.fr/Aida/Aida5.6-janko.112.mcz'.
Installer installUrl: 'http://scribo.aidaweb.si/repository/scribo-np.176.mcz'.
Installer installUrl:
Installer installUrl:
Installer installUrl:
Installer installUrl:
"Seems not work from FTP, install at hand"
"Installer installUrl: 'ftp://swikis.ddo.jp/SIXX/squeak/SIXX20071110.sar'."
Installer installUrl: 'http://squeaksource.blueplane.jp/FileMan/FileMan-mu.117.mcz'.

After the installation, you can put your Scribo to run, as follow:

SwazooAida demoStart.

(AIDASite named: 'aidademo') styleClass: #ScriboStyle; blog; wiki.

ScriboConsole new openAViewOnMe.

I tried this script succesfully on a stock Squeak 3.10.2 #7179 image. Of course, you should update the packages versions when they changes. Anyway, the script is here also.

Another useful script (to my style of work at least), to customize the stock image with
some development tools is the next:

Transcript open.
Installer installUrl: 'http://www.squeaksource.com/Installer/Installer-Core-mtf.250.mcz'.
Installer installUrl: 'http://www.squeaksource.com/shout/Shout.3.15-tween.72.mcz'.
Installer installUrl: 'http://www.squeaksource.com/shout/ShoutMonticello.1-tween.2.mcz'.
Installer installUrl: 'http://www.squeaksource.com/RoelTyper/RoelTyper-rw.60.mcz'.
Installer installUrl: 'http://www.squeaksource.com/eCompletion/ECompletion-danieroux.92.mcz'.
Installer installUrl: 'http://www.squeaksource.com/AST/AST-lr.160.mcz'.
Installer installUrl: 'http://www.squeaksource.com/RefactoringEngine/Refactoring-Core-lr.11.mcz'.
Installer installUrl: 'http://www.squeaksource.com/shout/ShoutWorkspace.1-tween.4.mcz'.
Installer installUrl: 'http://www.joeyhagedorn.com/media/downloads/Algernon.1.2.sar'.

It updates Installer and install some tools I usually use to develop.

sábado, noviembre 08, 2008

Albaplata Project first screenshots

As some readers of this blog may know , my company ArSol Software was hired by Igo Software to develop several multimedial units about culture and historic sites of Extremadura state on Spain.

To develop this project, I hired three squeakers from here, Argentina, and I'm really very happy with the results. The team is geographically disperse and I coordinated the work only by Internet, using mostly mail and some chat. Thanks you guys Alejandro, Javier and Francisco by your fantastic work!.

IGO Software provided the graphical, video and audio resources and we built the units (one Squeak application by unit) using the framework FMA, originally developed by Diego Gómez Deck.

Each unit will be available on 3 languages (Spanish, English and Portuguese) and will run on touch screens on different places of the Extremadura state. The target users are the tourists that want to have a quick trip by the historical sites, before doing the real trip.

All this project is yet in development phase, but we want to share thiese first screens of some of the units, until the moment that the Consejería de Cultura de la Junta de Extremadura release the complete applications.

The topics covered by the project are (with the names on spanish, to avoid translations errors):
  • Centro de Interpretación del Ferrocarril en Extremadura
  • Centro de Interpretación de la Ciudad Medieval de Plasencia
  • Centro de Interpretación del Campamento Romano de Cáceres el Viejo
  • Centro de Interpretación de la minería en Extremadura
  • Centro de Interpretación del Circo Romano
  • Centro de Interpretación de los Conjuntos Históricos en Extremadura
  • Centro de Interpretación del Pintor Zurbarán
These units show different sort of games, as trivia and puzzles, that the user must follow, learning lot of details of each topic. A voice help is available on any topic, to help responding.

As usual on the Extremadura projects, all the software is open sourced and is available to download from Squeaksource, under the name Albaplata project.

jueves, septiembre 11, 2008

How to change the Aida/Web banner

I'm in the way of use and learn Aida/Web and Scribo and I'm starting using Scribo as wiki.

In this way I need to learn a lot of things, and I will post here some small "how to's" of things that may be useful to other people in the same way as me.

After install all the needed packages in a Squeak image, and having Scribo running, the first thing may be desirable may be to change the Aida banner for an own one.

Then, you need to "save as" such banner and generate a new image of the same size that which you saved, decorate it with your own graphics and then do the following:

1. Evaluate in a workspace on your Aida image:

WebStyle new importImage: 'aidabannergif' from: 'aidabannergif.gif'.

were aidabanner.gif is the name of the graphics file on your image directory and #aidabannergif the name of the method to be created on the WebStyle class under the category imgs.

2. Replace the content of the method #aidaBannerGif of class DefaultWebStyle with the content of the recent created in the step 1 and it's all.

To end, you should delete the method #aidabannergif on class WebStyle to maintain your image as clean as possible.

Of course, this is the quick and dirty method to have things as fast as possible, but the correct way should be create your own webstyle. Surely I will talk about this topic sooner or later.

viernes, septiembre 05, 2008

Smalltalk/X site revamped

Yesterday, after a comment from Janko Mivšek (the author of Aida/Web), about a new port of his product, this time to Smalltalk/X I felt the need of visit the Exept Software AG site, that don't visited from a long time.

Was great to check that the site was completely revamped and a new version of Smalltalk/X is available.

I downloaded and installed the Linux version (see the attached pic) and it runs ok on my Xubuntu box.

After the installaton, I checked the documentation, in parts I knew from the past were incompletes and another great new! They are now completed and extended!. (At least those docs I knew from previous versions).

I already invested some time in the past in Smalltalk/X, were we used to have a wiki on the now defunct swiki.net and even a mail list, were Claus Gittinger posted sometimes.

Again, I want to give a try to ST/X, hope I will have time soon.

viernes, agosto 29, 2008

11 entre 20, no está mal!

ESUG 2008 finalizó y ClavesPC calificó 11 entre 20 trabajos presentados en el Innovation Technology Awards.

Esto es muy importante para nosotros, (el team de ClavesPC somos solamente dos personas, quien esto escribe como desarrollador y Daniel como el ideólogo del producto) y queremos agradecer a todos quienes nos votaron y a quienes se tomaron el trabajo de revisar el producto, pero muy especialmente va nuestro agradecimiento para una amiga, Natalia Esteban, quien desinteresadamente presentó el software y trabajó armando dicha presentación y fue la mayor artífice para esos votos que conseguimos. Natalia, mil gracias por la ayuda.

Por otra parte, también queremos agradecer a Hernán, quién nos contactó con Natalia, sabiendo que ella viajaba a Amsterdam, ante un pedido mío por ayuda para esta presentación ya que para nosotros es imposible un viaje de esa naturaleza.

Finalmente queremos felicitar a los productos que integraron el podio del concurso, ya que son productos realmente excelentes, así como el resto de trabajos que participaron y para nosotros es un honor y un orgullo haber podido estar ahi.

En este enlace podrán ver algunas fotos de Natalia presentando ClavesPC el 25 de Agosto en Amsterdam. Muchas Gracias también a Andrés Valloud que tomó las fotos.

martes, julio 08, 2008

Smalltalks 2008 - Buenos Aires - Argentina


First invitation to participate in the second conference.

This year, the site chosen was the Universidad Abierta

November 13 through November 15.

Once again, entry, coffee and pastries will be completely free.

The conference will be divided into two modules, Scientific Research and Software Industry.

A coding contest will be held this year.

Guest lectures by outstanding personalities.

Tutorial sessions.

This is an international conference; smalltalkers from everywhere will be attending.

Important Dates

Conference: November 13 through November 15.

Paper submission deadline (research): August 31.

Presentation submission deadline (software development): September

Contest registration deadline: September 30.

Conference registration deadline: November 7.


Important Addresses

Universidad Abierta Interamericana: Av. Montes de Oca 745.

Conference site:

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:

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:


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.
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:

"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:])
[(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:])
[(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.