New Website!

We have a new website and a new logo for our community. Go Smalltalk!

Smalltalk was designed for Kids!

Yes! Alan Kay was trying to develop an environment to be used in the education of our kids.

Did you Know that Smalltalk was created in 70's at Xerox?

The use of the mouse, the "copy and paste", the bitblt and others technologies was firstly created in Smalltalk. Steve Jobs saw those ideas at Xerox and he developed a new language, Objective-C.

Mailing List in Spanish!

Please, go to http://groups.google.com/group/clubsmalltalk and join us!

October 29, 2008

Interview to the Argentinean Smalltalk organization committee

The Argentinean Smalltalk congress has its second edition this year, and we interviewed the organizers. The key people to get this congress going on are Leandro Caniglia (LC), Andrés Valloud (AV), Hernán Wilkinson (HW), Andrés Fortier (AF) and Gonzalo Zabala among other well known people in the Smalltalk community who help them. 

How was the idea to organize a Smalltalk congress in Argentina born?

LC: When attending ESUG 2007 last year I suddenly realized that we had to do something similar in Argentina. I was just starting to consider that possibility myself when Stefan Ducasse came and told me exactly this: "you guys should organize a conference in Argentina". It became crystal clear to me that the time to do that had finally arrived.

More profoundly, I see the Smalltalks conferences as a new stage in the history of Smalltalk in our country: The first one started in the old days when Gustavo Rosi introduced Smalltalk in the University of La Plata. Years later we had the SUGAR crusade that spread the Smalltalk enthusiasm irradiated by the Squeak project. Then we had a rather introverted period where real Smalltalk jobs started to be offered and more opportunities to use Smalltalk emerged. All that evolution that took two decades made it possible for many local smalltalkers to grow up as professionals and, in some cases, to acquire international notoriety. The maturity achieved today is so visible that we abandoned our contemplative stance and started to be proactive actors of the international community. Because of these reasons, I don't see the 2007 and 2008 conferences of as a new venture but as the logical result of the irresistible appeal that Smalltalk had always had on Argentinean programmers.

AV: In some regards it was an accident. While in Argentina during in May of 2007, Leandro and myself had talked about building a conference like ESUG for Argentina, with the idea to do the real thing in 2009 or so once we had enough practice. I suggested we should do a draft conference first, so we thought about doing something in 2008. Later in the year, in the last few days of September, I spoke with Hernan Wilkinson and commented that some people were trying to do something. He was very enthusiastic, and once we saw we could have room at UBA things started happening very quickly. Andrés Fortier got invited to the organizing committee. It continued to snowball and that's how we had Smalltalks 2007 in the first days of December.

HW: From my point of view, all started when Andres told me via chat about people wanting to do a Smalltalk conference in Argentina... after a while I realized that those people were Leandro and him! I always wanted to do something like that but had never had the time neither the support to do it. I still do not have the time but hey, it is like in software development, there is never enough time to do what you want to do. But last year Andres and Leandro wanted also to do a conference and then Andres Fortier joined the team so we were a group of people that could share the responsibilities and duties. It became a great group really fast! We could solve the differences without problem; we decided how we would like the conference to be, etc. There was a great synergy among us. It also helped that the Computer Department of the FCEyN at UBA gave us all we needed for the conference to be possible. It was an exciting time and at least I could fulfill a dream I used to have. Here are some of the lines of a chat that was the kick-off of the congress:

4:02 PM Andres: que tal? todo bien? (How are you? is everything fine?)
4:03 PM me: todo bien. vos? (everything is fine. And you?)
4:03 PM Andres: tenia curiosidad... anduvo circulando la idea de hacer una miniconferencia de Smalltalk en Buenos Aires este diciembre, te interesa? (I was curious... there is an idea to hold a mini-conference of Smalltalk in Buenos Aires this December, are you interested?)
4:04 PM me: estaria muy bueno! yo hace rato que vengo pensando en una cosa así pero no tengo tiempo... (it would be great!, I have been thinking about something like that but I do not have time..) que estas pensando? (what are you thinking about?)
4:04 PM Andres: por ahora no hay nada en concreto... 1 solo track, asi todos pueden ver todo (right now there is nothing real... just 1 track, so everybody can see everything)
4:05 PM me: si, algo tipo esug... (yes, something like esug...)
4:06 PM Andres: si, algo asi (yes, something like that)
4:06 PM me: dame un segundo... (give me one second...)
4:06 PM Andres: ok... 0... 1...

What was the first repercussion among your university colleagues and private companies?

AV: We had very good feedback in our survey at the end of the conference. Also, organizations such as ESUG and GemStone were very positive in their comments.

AF: Here at the university we had good news seeing that Smalltalk was getting attention again. I'm particularly very happy about last year's result and for the support from my colleagues who also helped us in different areas.

HW: The question is kind of ambiguous, which is great! Because AV answered the repercussion after the conference, I'll concentrate on the repercussion before the conference, after the announcement.
As soon as we sent the email to the lists (Smalltalk lists, universities, programming groups, etc.) we got great feedback. We started to receive mails telling us that it was a great idea, that it was about time to have a Smalltalk conference in Argentina, etc. The repercussion was bigger than expected. In our first talks, when laying the groundwork of the conference, the idea was to have a one day conference, with no more that 40 to 50 people and with 8 or 10 talks, no more than that, but the response of the Smalltalk community was amazing. Everybody wanted to participate, everybody wanted to show what they were doing. I think it was the foundation of the conference that made it possible. We did not ask for really formal papers (like in research), we just asked the presenters to send a few lines about the topic they wanted to show and stressed the idea that we wanted everybody to participate. That I think, gave the presenters the courage to participate and it was a big surprise and really rewarding to see the kind of talks we had with the technical level they had.
So, I feel that the repercussion was more than we expected, that the Smalltalk community in Argentina needed something like that... it was just great.

LC: The repercussion surpassed our expectations, and its echoes are still audible. Andrés and I could confirm that in Smalltalk Solutions and ESUG 2008, where the interest in Argentina was very visible. In the local arena we are seeing new Smalltalk projects in companies that don't have a Smalltalk tradition, as well as foreign corporations keeping an eye on Argentinean human resources.

HW: I think that the international Smalltalk community was shocked by the outcome of the conference. I do not recall a Smalltalk conference with that many people. So I think this sends a message to the world: "In Argentina the Smalltalk community is big". Now we have to demonstrate that it is a good one from the technical point of view.
Going back to your question, we had really important support from international companies like Cincom, Instantiations and GemStone and from Smalltalk organizations like ESUG. The support that ESUG gave us was great! They sent us books and dvds to give away to the attendees. I think that that paid off... Look at the number of Argentine participants in the ESUG's Innovation Award, that is not just a coincidence, it is the result of the support we got from ESUG last year.
GemStone was a big player too. They sent James Foster to give a talk and a one day tutorial on GLASS, which was great also.
So, I feel that the Smalltalk community in Argentina is getting more attention from the international community, maybe not from the economic point of view because Argentina's economy is not as big as that of Europe or the US, but as source of good technical skills and ideas.

How is the congress financed? We know that registration to other conferences is quite expensive but this one is free.

LC: Very little money is required to grant everybody access to real knowledge, especially in a country with a solid tradition of public education. Funding is only crucial when friends are scarce. Fortunately, that's not our case and several companies and institutions are supporting this initiative. In 2007 we had the privilege of using the facilities of FCEyN for free and this year the UAI will host the conference at no charge. Money is not a problem when you are highly motivated by a broad audience.

AV: This was one of our goals from the beginning. I remember that LC was quite adamant that it should be free.

AF: As AV says, LC always said that the conference should be free and I think that it is great to be able to do it that way. As this year's conference, Smalltalks 2007 was possible thanks to all the sponsors that supported the event.

HW: Yes, it is like AV says. We wanted the conference to be free but we had concerns about it. LC pushed that idea really hard, and as in many other decisions he was "right on the money". The fact that the conference was free allowed more people to come and participate, and I think it goes hand by hand with the type of education that the four of us had, which is a public-free education. So, in some sense I felt I was returning to the people of our country what they gave us, the possibility of a good graduate education and I'm really happy with that. This is something we should not change while possible. Our goal is not to make money out of this, our goal is to promote a better way of programming, a better way of doing things in our profession and we believe Smalltalk is a good way to do that.

Today, what is the balance of the first congress and what are the motivations for the future?

LC: We have many concrete objectives for the short and long term. For instance, we want to encourage organizations to take advantage of Smalltalk for teaching and learning concepts that are crucial in Computer Science, so we organize the conferences in educational institutions. We want to encourage professionals to rediscover the joy of programming, and that's why we introduced a challenging coding contest this year. We want to provide developers with a forum for fruitful discussion, a place where those that had worked hard can proudly present their achievements, so we carefully select the best submissions we receive for the presentations. We want to facilitate the communication with the rest of the world and that's why we invite international speakers and, in turn, attend international conferences trying to involve well known Smalltalkers with our activities. Above all these goals there is the decision to start building something for the future. We are creating a non-profit foundation that will allow us to help the Smalltalk community to develop itself more efficiently. Unlike other professional associations our idea is to create a foundation because we don't want to restrict our support to the members of a club, but to the community as a whole.

HW: From my point of view, and as I said before, the balance is more than positive. The congress surpassed all our expectations, the feedback we had was great and we already had good feedback about doing it again this year. We achieved more than we expected and that gave us the "means" to continue. I think the motivations for the future include the same ones we had from the first time, but also include our desire to make the conference more "international". We would like more people from outside to come, but we know it is not easy because there are already two Smalltalk conferences (Smalltalk Solutions and ESUG) and we do not want to compete with them, on the contrary we want be part of the same goal. The language is another problem of making the conference international. It is not going to be easy for all the Argentine presenters to give their talks in English. I would be more than happy if we can bring well known people of the Smalltalk Community to give a talk in the conference, that would be the "heaven" for me.

What can we expect from the second edition?

AV: Perhaps it is easier to state what are our own expectations, and I'd like to share one of mine. I have been very lucky in that I have had the opportunity to learn from really talented people. Not everybody has that chance. So, something I would like our conferences (and now the foundation as well) to provide is a context in which it is possible to share what we know with each other so that we can move forward into the future.

LC: The second edition will confirm that the annual Argentinean conference has continuity. That will give authors that did not present their work last year a good reason to do that this time. Moreover, it will install in the conscious of all Smalltalkers that the event will come back next year. This is the constructive character that I mentioned before; people and companies will know that they are not alone and that starting a Smalltalk project is not a risky bet but a wise decision.

HW: I think it will be as good as last year's conference and maybe better from the technical point of view. I have no doubt that there are going to be really good presentations. We will have people from GemStone, for example, that will talk about their experience with Smalltalk, we will have the coding contest that will provide a new track we did not have last year, etc. I believe it is going to be a really good conference. This year we plan the conference to have three days from the beginning, last year we planned one day and finally took three. Although I'm very optimistic about this year I'm not sure we will get as many people as we got last year. I think that the conference last year was like an "explosion", it was something new and everybody wanted to participate. I'm not sure what is going to happen this year about the number of attendees. Although there are already 130+ people registered, my guess is that this year it is going to be difficult to pass the 300 registrations we got last year. I would be very happy if we could match that number of registrations. But do not get me wrong, I'm not disappointing with this, I think it is "business as usual" and we are working really hard to get an attractive schedule and I think we will get one.

How many people are working behind the organization?

AV: The organizing committee is the same one as in Smalltalks 2007, with the addition of Gonzalo Zabala who is managing the venue for this year. We would like to thank Gonzalo and the UIA for their generous offer to host the conference for free.

HW: As Andres says, we are 5 people working on it.

The last edition of ESUG was a record. Do you think that this congress can repeat this success?

AV: While I was at ESUG, I got a question from one of the organizers. Perhaps with a bit of disbelief and amazement, it was phrased along these lines:
"This year we have about 170 people at ESUG, and we literally sold out. But you guys had 300 registrations last year, in your first year, and in a single country! How is that possible?"
Perhaps the answer to that is in some of the cultural idiosyncrasies of Argentina. I'd say that as long as we satisfy these needs, the conference will do well. Of course we would be very happy if each year we doubled the assistance, but on the other hand we would have a big problem in a few years :).

HW: Well I guess I kind of answered that in part before. Although I think it is going to be difficult to get 300 people again, I might be wrong. But I would not measure the success of the conference only from the number of registrations, I think it is important to measure the number of presentations and the quality of them, and here I'm sure we will get the same success or maybe more than last year.

About Smalltalk

In the last year, there has been a steady growth in the amount of Smalltalk projects in Argentina. In your opinion, what could be the reasons and motivation of this growth, when in the whole world there are a lot of projects based on the trendy languages?


AV: I think this is also related to the cultural background of Argentina. Note that I moved to the US 8 years ago, so maybe this is my idealized rationalization of what is going on. But, while I would say there is a certain amount of people who go with what is most popular, I also remember an environment in which exploration and a desire for more transcendental work is rewarded. Smalltalk is an ideal complement for this.

HW: Well, I think there are many reasons. Some of them I can think of are:
  1. The importance that dynamically typed languages are gaining around the world. With Ruby, Python and the like, programmers are starting to realize that dynamic typing was not so bad after all, on the contrary, it has many advantages over static typing. So, smart people, people that care about creating good software beyond what tools the "market" imposes, is starting to think "hey, these Smalltalk guys have been saying this for a long time... let see what other things Smalltalk has..."
  2. There is an important group of people that have been pushing and teaching Smalltalk for quite a long time, no matter what technology is the "hottest" one. I believe that it is paying off... I know people that have been teaching Smalltalk for more that 15 years already! That's quite a long time in "computer technology" terms. So, I believe this is another reason of the importance of Smalltalk in Argentina, the education.
  3. Another reason is, I believe, the fact that there are companies in Argentina that work with Smalltalk and have been doing it for a while. So this is an indication that working with Smalltalk cannot be that bad after all.
  4. I think there is a "cultural" reason also. In Argentina we have some kind of "revolutionary" trait; we do not get along with standards so easily. I'm not saying this is good or bad, it is just a way of being. This helps when people have "to go against the flow", and working with Smalltalk is like going against the flow of technology.

Anyway, those are some reasons I can think of right now.

Nowadays, we can see a lot of new languages based on Smalltalk like Ruby, Python but what are the major misunderstandings in the IT industry about Smalltalk? Why do all those companies prefer new languages that maybe aren't so mature instead of a more evolved environment like Smalltalk?


AV: To some extent, I'd say that it is a reflection of the availability of developers. It is here where I think the root of this phenomenon hides. Basically, there is something exciting about going in a new language. Having been there, I think that there is this feeling of most people being basically on the same skill level --- clearly this must be so because for a new language you will not find developers with decades of experience. Also, since the language is new, most of the technical issues that are visible will be the ones that have been solved over and over again in the last 30 years or so. This also means that most problems have a clear solution path, and that to some degree it will be relatively easy to find developers knowledgeable enough to reimplement a known solution in this new language. So at first there seems to be vibrant, unstoppable progress, and this attracts more people. Eventually, however, the more fundamental issues become more apparent. This is when a new language is launched to start the process all over again, in the name of addressing the hard problem.
Note that in the same way that Smalltalk would not be considered trendy because it is not taught to most people in colleges for example, I'd venture that neither is C even though nobody could deny its relevance. Rather, I'd say that most developers are taught Java or something like that. In as much as we go for the apparently easy stuff, we continue to neglect the difficult problems.
Carl Sagan once said that our value is in the courage of our questions and the depth of our answers. Knuth recently complained because he sees rampant one-upmanship in computer science research. To me, what happens in computer languages is just an illustration of their keen observations, and it goes back to our goals for the conference and the FAST foundation.

HW: Well, I think AV put it very clear. We live in a "pop culture" in which "new" is believed to mean "better", and Smalltalk is "old", so why use it? When people are faced with Smalltalk for the first time they ask me, "can you do a web app with it? can you connect to a relational database? can you parse an XML document?". All of these are technical questions, they do not care about the "essentials" of programming, of having a good model, of being able to develop an app in a short time, in getting feedback of your changes immediately, etc., they just care about technology because that is what they have been taught. They think Smalltalk is not prepared because it is old and new technology has appeared. Of course, they do not know if this "new technology" is better or not, they do not know if Smalltalk was a pioneer in that kind of technology, they are just "pushed" by the market... In some sense it is what some people want education to be. Some people just want graduate students to be prepared for the technology of the moment because they want to sell that technology! And it is better to sell new technology than old technology. It is like fashion, does somebody understand why we have to change our shoes every year? Why do they get out of fashion? There is no reason but a commercial one. So I believe this is one reason (Thank God we still have public-free universities in Argentina where the professors are free to choose the technology they want, they are not pushed by the market of some companies).
Another reason is because Smalltalk is still way ahead of the common languages, it is still revolutionary after almost 30 years! In the beginning of the 90s it was revolutionary because of the VM, the Garbage Collector, etc. and it was not accepted because of that. Java killed that myth by the end of the 90s. Now we are starting to see another revolution regarding dynamically typed languages and it is going to get some time before it gets fully accepted, for this to became true Java has to go through the same thing that happened to C++, some similar language has to kill it (Maybe that language is Ruby...)
But Smalltalk has one more revolutionary characteristic that no other programming environment has, the image. That is the last barrier on the revolution. The image is the big difference, the image is what makes you work with objects in "real time", no difference between compile time and execution time, no files at all, just objects. It is going to be difficult to get out of the "file" world imposed by Unix in the 60s but I think that is the last barrier. When I see people trying to get rid off the Smalltalk image I believe they are wrong, I think they are not truly "Smalltalkers". Which Smalltalker wants to get rid off the image? I know nobody! Is losing the image a good price to pay to be "compatible" with the old Unix style? I think not, at least I do not want to lose the inspector neither the great Smalltalk debugger.
So I believe that there is a long way to go for Smalltalk to get really accepted, before that the "files paradigm" has to come to an end, and this change is going to take a long time because it is not only a change in a programming language but in the whole computer architecture (from operating systems up to the applications), and it may be Smalltalk is not the language that will do it, it may be another language, with another name but with the same object-message-meta-circular-image-model Smalltalk has.

October 20, 2008

Magma OODBMS Release 4.1

Oct. 13th, Chris Muller has announced the realease 41 of Magma object-oriented database management system.
Here is the reproduction of the announcement to the squeak list by Chris:

I am pleased to announce release 41 of the "Magma" object-oriented database management system has been posted to SqueakMap. Release 41 brings significant improvements in performance, scalability and robustness, particularly on slow networks, as well as improved transparency and operation.

Improved Performance and Scalability

At the core of the better performance and scalability are architectural improvements to the networking module, "Ma Client Server", which now maintains up to 50 simultaneous socket connections instead of just one, and now also compresses request/response ByteArray's when appropriate. The compression, alone, showed more than 100% performance improvement on ADSL-speed network connections. Thanks to ofset.org for funding this development.

Improved Operational Monitoring

An all-new performance and system-health monitoring package called "Ma Statistics" was developed and integrated into all layers of the Magma architecture. Performance statistics for the last half-hour (hour, day, week, your choice) are captured in five-minute (also adjustable) intervals. Is the server taxed or loafing? What was the average response time for clients? What was the longest response-time for any single request for any client? What was the average size of each response? These and dozens of other statistics are now captured while the server runs, with no performance penalty.

Improved Distribution

A MagmaForwardingProxy is a "bookmark" to an object in another repository, further improving performance, scale, distribution and database administration. These have been present for some time, but have been heavily tested and improved in this release.

Improved Transparency

Transactions may now be as long as desired. In fact, transactions may even span image saves! You may start an image, connect to a Magma repository, begin a transaction, make some changes, save and exit the image (not yet having committed), reboot the image later (objects in the image are brought up to date with changes by other sessions), continue any further changes, and finally commit successfully.

Improved Operation

With remote administration, release 41 better supports headless-operation mode. The server now also keeps track of its memory consumption relative to capacity and will take action to reduce memory utilization, as necessary, before it becomes a problem (although Magma servers have always operated with a relatively low and fixed memory footprint, albeit dependent on number of clients and activity).

October 19, 2008

SmallFaces, a widget toolkit for Seaside

The crucial benefit is getting rid of the tag idea, so basically you have widget objects for the web, for which can configure visual aspects (layout, appearance) and AJAX events (using SASE). SmallFaces includes common GUI objects as TextFields, Buttons, ListBox, CheckBox, CheckBoxGroup, RadioButton, RadioButtonGroup, etc.
Web applications are growing every day, and with the explosion of the AJAX technology few years ago, the web trends move towards desktop-like applications, making a fuzzy limit between both. Those who experienced pure desktop GUI developement (and believe the markup way to do things is fine for simple user interfaces, but do not scale very well when complex applications come), will feel the SmallFaces API a second nature.
See the following page at the Squeak swiki for instructions http://wiki.squeak.org/squeak/6088
Spanish documentation about the project is located here http://cs.hernanmorales.com.ar/projects/smallFaces/sf-es.php

Download and Installation Info

Prerequisites
  • Seaside and Scriptaculous
    • Phantasia (CSS) package from Monticello adding the following repository:
      MCHttpRepository
      location: 'http://www.squeaksource.com/Phantasia'
      user: ''
      password: '' 

      Installation

      • Load SmallFaces-bll.1.mcz package from Monticello adding the following repository:
      MCHttpRepository
      location: 'http://www.squeaksource.com/SmallFaces'
      user: ''
      password: ''
      • To see useful examples load SmallFacesExamples-bll.1.mcz package

      Tested under

      • Official Squeak 3.9
      • Damien Cassou

      Authors

      • Hernan Morales Durand, Norberto Manzanos and Juan M. Burella

      October 8, 2008

      Smalltalk at the Open Faculty Congress

      At the University of La Plata (UNLP) starts the Open Faculty Congress ("Facultad Abierta" in Spanish) and there are three talks related to Smaltalk in the agenda.

      Agenda

      Basic course of UML 2.0
      Oct 8, 9 and 10 at 6.30 pm to 8:30 pm
      Classroom 4 ground floor - Faculty of Informatics
      More information in spanish

      Objects, Smalltalk and Technology
      Oct 8 at 2 pm Classroom 4 ground floor - Faculty of Informatics
      More information in spanish

      October 4, 2008

      Smalltalks 2008 Coding contest has started

      The Smalltalks 2008 coding contest has started. If you are interested in participating, please visit the official conference webpage at http://neuquina.lifia.info.unlp.edu.ar:8001/Smalltalks-2008

      Go Smalltalk & Good luck!

      Sep 19th, 2008 - Claus Gittinger talk at the UBA campus

      This is a short summary of the talk given by Claus Gittinger, founder of Exept Software AG and creator of Smalltalk/X, on Friday September 19th, at University of Buenos Aires campus.
      The introduction of the talk was a presentation of Smalltalk/X, it's history and technical things which are very different from other Smalltalks.
      The motivation of making his own Smalltalk came when he read the famous Byte magazine in 1981. Since at that time it was very slow to have a byte-code interpreter, his first idea was to make something which compiles Smalltalk.
      The process to achieve this was to:
      • Take a Smalltalk file (file out format) for a class
      • Translate it to c (using stc), implementing all semantics of the original Smalltalk including contexts, blocks, etc.
      • Compile it by the c compiler, obtaining .o or .obj files
      • Make a dll with a collection of .obj files
      In 85, the Smalltalk/X system consisted of a bunch of dlls, a startup main and a runtime system dll. Also, at this stage was possible to collect other dlls and create standalone applications, without the Smalltalk development environment. In 86-87, he created a byte-code interpreter and a byte-code compiler, written in Smalltalk. In 88-89, he added a JITter, which takes byte-codes and produce machine code, on the fly, in the executing image.When starting Smalltalk/X, initially everything is compiled (via the stc) to machine code. If some methods are changed with the browser, the system will generate byte-code methods and when executing for the first time, the system will generate
      machine code methods.
      As a result, Smaltalk/X has an image but doesn't need one. Another interesting feature of Smalltalk/X is how window events are handled. Each topview and all of its subviews are grouped together in a WindowGroup, which runs on it's own process.
      All events (keyboard, mouse etc.) are read by a separate process (called the event dispatcher), which reads the event from the operating system, puts it into a corresponding event-queue for the windowgroup, and notifies the view process about the arrival of the event (which is sitting on a semaphore, waiting for this arrival).
      As a result, the hole system is not blocked by a long (or endless) operation occurring in one WindowGroup.


      Then, the main topics were related to Method Lookup, Inline Caching and Garbage Collection methods.
      Finally, Claus made a short demostration of expecco.


      Thanks to Felix Madrid (fmadrid at the google email) for this resume and the photos :-)

      Short Videos of the class

      Smalltalk/X - Garbage Collection
      Smalltalk/X - Compilers