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!

December 31, 2009

James Foster presenting Gemstone/S at Smalltalks 2009

This is a presentation by James Foster at Smalltalks 2009. It's an introduction to Gemstone technology. For more information, please visit his blog at: http://programminggems.wordpress.com/.

Smalltalks 2009 video presentation

The Smalltalks 2009 was the most important event for the smalltalkers in south-america. Here is a presentation video composed by Hernán Wilkinson. 

September 27, 2009

FAST has a new website

FAST (which is the acronym in Spanish for Smalltalk Argentine Foundation) has a new website powered by the GLASS platform (Gemstone/Linux/Apache/Squeak/Seaside) at www.fast.org.ar. It's the official site for Smalltalk 2009. Here you can register to the conference and if you do it before October 25th you will get the official conference t-shirt! Also, you can send your talk proposal or get involved in the coding contest.

Seaside for Dolphin 2.9.0-alpha4 available

Our friends at Infoil has announced the alpha release port of Seaside for Dolphin. Here is the link where you can download it: http://www.infoil.com.ar/seaside/. If you want to collaborate just contact Sebastian Calvo at fxgallego (at google's free email).
For more information, here is the announcement.

September 10, 2009

Dan Ingalls and Stéphane Ducasse will be at Smalltalks 2009

The Organization Committee of Smalltalks 2009 (Buenos Aires, 19-21 November) has announced that Dan Ingalls and Stéphane Ducasse will be at the Conference.
Congratulations to all the people at Smalltalks 2009! We're really excited at the local community! See you at the conference!

September 6, 2009

Retrobjects gets the first place at ESUG 2009 Innovation Awards

Congratulations to Gabriel Honoré for the first place obtained at the innovation awards! He has done a great job with his Commodore 64 emulator which can be downloaded from: http://www.zeek-it.com.ar/retrobjects.
Here you can read the interview to Gabriel after winning the first place in Smalltalks 2008.
Congratulations to all the SqueaNOS team too! They obteined the third position!

Gabriel Honoré and Gerardo Richarte
Photo by Hernán Wilkinson

The Argentinian team at ESUG 2009

This is the photo of the argentinian people who went to this ESUG edition. It's funny to see them wearing t-shirts from the argentinian soccer team and the argentinian rugby team, "Los Pumas".
Congratulations for the nice idea! 

The argentinian team in ESUG - Photo by Adriaan Van Os

August 23, 2009

Smalltalks 2009 Coding Contest

Welcome to Smalltalks 2009 Coding Contest!

This contest is organized in the context of the Smalltalks 2009 International Conference, to be held in Buenos Aires. It is also possible to participate in the contest remotely.
A discussion forum has been created for participants to share their experiences, make comments for developers, exchange information and of course download game versions and instructions: http://groups.google.com.ar/group/smalltalks-2009-coding-contest

Story, Motivation and Setting

Who has never heard the call of adventure? Who has never dreamed of riding dragons or unicorns, with the breeze stroking your face? Who has never longed to wield a broadsword, or to cast a powerful spell on an evil enemy? The clashing of forged metal against shield, magic sparkling in the air and at your fingertips, fantasy creatures, marvellous settings, quests and adventures...

Human fantasy is full of such things. Fairy stories, epic poetry, folklore, mythology and - latterly - novels, short stories, movies and TV series. Much more recently, video and computer games. The Internet, too, is now full of fantasy games where imaginary characters may "live" and have adventures in virtual worlds. This is what our coding contest is about this year: a (very schematic) epic fantasy game.

Be welcome to participate and have fun with this interesting challenge. Programming a game of this kind requires a great deal of effort; it is not finished yet and your comments and suggestions will surely come in handy.

Smalltalks 2009 Organization Committee

Smalltalks 2009 - Argentina's third Smalltalk conference

Argentina's third Smalltalk conference, Smalltalks 2009, will be held from November 19th through November 21rd at the Facultad de Ciencias Exactas y Naturales (FCEyN), Universidad de Buenos Aires (UBA). All those connected with Smalltalk, be it faculty, students, researchers, developers or entrepreneurs, are invited to participate, free of cost, as presenters and members of the audience. The organization committee will announce the registration website shortly.
The conference's goal is to gather both the Argentine and International Smalltalk community to get connected sharing our work and experience with regards to Smalltalk or related topics. Smalltalks 2009 presentations will be divided between the "Industry and Development" and "Research and Education" categories. In addition, the event will host a Smalltalk programming contest. As in other editions, well known personalities from the international community will attend the conference.
The "Research and Education" category is the best match for research and education work done with Smalltalk in universities and public or private entities. The "Industry and Development" category is suitable for presentations related to Smalltalk software developed by companies or individuals, both public and private.

A list of suggested presentation topics, not exclusive, is below:
  • Development tools.
  • Development with prototypes.
  • Model driven development.
  • Agile practices (XP, TDD, etc).
  • Web application development.
  • Metamodeling / metaprogramming.
  • New frameworks or models.
  • Materials for education.
  • Embedded systems and robotics.
  • SOA and web services.
  • Experience reports, both development and research.
  • Commercial systems.
  • Automation and best testing practices.
  • Interoperability with other technologies.
  • Best design and architecture practices.

Interested presenters should keep in mind the following deadline schedule:
  1. You must present a summary of the proposed presentation no later than Monday, October 19th, 2009. The summary must fit on a single page, and must include a description, objective, and category of the work to be shown. The submission procedure will be announced shortly.
  2. The conference's program committee will select the event's presentations from the proposals submitted according to the above procedure by Monday, October 26th. The proposals including dynamic examples as opposed to just static presentations will be given priority.
  3. The conference schedule will be published in the conference's website on Wednesday, October 28th.
  4. The conference's works and presentations will be published in the conference's website after the conference.
Those interested in the coding contest can become familiarized with it at the smalltalks-2009-coding-contest Google group: smalltalks-2009-coding-contest@googlegroups.com. The contest's goal is to have a good time solving a problem in Smalltalk, and win a prize while at it. We are working hard to ensure everyone can participate, and we will show examples and prototypes that can be improved by the participants.

For directions to FCEyN, you can go to the computer science department's web site: http://dc.uba.ar
Feel free to share this invitation with those who might be interested. If you have any questions, send us an email at fundacion.smalltalk@gmail.com

See you at the conference!
Smalltalks 2009 Organization Committee.

August 16, 2009

New Smalltalk book by Andres Valloud

Andrés Valloud has released a new book called Fundamentals of Smalltalk Programming Technique, volumen 1. Congratulations Andrés!
The Book is divided in two volumes, illustrates programming techniques every Smalltalk developer should master. The thorough treatment also describes the method to efficiently develop new skills, and exemplifies valuable lessons learned over more than a decade of experience.

Here is the link to buy it http://www.lulu.com/content/7451511.

June 30, 2009

SqueakNOS will be presented at the 6th ESUG Innovation Technology Awards

Gerardo Richarte has confirmed that the SqueakNOS project will be presented at the next ESUG innovation Technology awards. If the project is selected to be the prize winner, the money will be used to award the people who develop new features for SqueakNOS, such as device drivers, protocols, utilities and others.
ClubSmalltalk supports this initiative and wish the best of lucks for the project!

June 20, 2009

Gerardo Richarte, Hacking & No Operative Systems


Gerardo Richarte is a well know smalltalker in the community. He has contributed with a lot of interesting works, one of the most interesting and famous is SqueakNOS project and he has been working in computer security for many years.

CS: You work for a company that has a history between hackers, security and other very interesting stuff. Where does Squeak fits in that puzzle?

Not much... sadly. A few years ago, when we were starting developing what is now our main product, we had to decide what VM based language we were going to use and Luciano [Notarfrancesco] and I preached for Smalltalk. Actually, the first prototype of what now is part of the product, was implemented in Squeak (and assembly), and it did work quite well, but we later decided to reimplement it in C++ and chose python as VM based language. I think that if ruby had had been big at the time we would have chosen it. We dropped Smalltalk early, pretty much because we wanted to create a framework and development environment, and we feared how well it could be accepted by the security community if they had to learn Smalltalk to use it.
At some other time we started actually developing a full product in Squeak (CORE WISDOM) but although it was sold at least once and we love it and consider it was ground breaking in the security visualization area, it pretty much fell into oblivion. You can still download it and cry with us for a big loss...
In any case, I still think and hope there's a space for Smalltalk at Core, because I truly believe Smalltalk helps you understand things from a very rich and interesting point of view.

CS: How was your first approach to the Smalltalk culture?

Leandro [Caniglia] was the one who definitively introduced me to Smalltalk and the joy of it. It was back in 1997, when I was a mathematician wannabe at the Universidad de Buenos Aires, and he was a professor there. He'd put together a wonderful course entitled "Mathematical Objects in Smalltalk", that's where the MathMorphs team was born, and where lots of great ideas originally came from (http://mate.dm.uba.ar/~caniglia/mathMorphs.html). Squeak was very new at the time, and we started using some version of Digitalk Smalltalk, but we very quickly switched to the younger and incredibly active Squeak, after Luciano [Notarfrancesco] came one day with the news that the Original Team was giving birth to a new son (or daughter maybe).
My first approach to Smalltalk was fun and happy, inspiring and creative. Smalltalk made me feel again what I had felt with a few other programming styles, it slowly settled in, it absolutely changed my way of approaching computing, and the world. Relationships between things, how they are defined by the way they interface with the world, how they talk to each other, that's how everything goes, the language may vary, Messages, in any level of communication, are of the at most importance.

CS: Richie, You have been working behind the SqueakNOS project for several years now. Could you tell us a little about the history behind the project?

Sure, I like to remember the first day, when four of us (Luciano, Leandro, Valeria [Murgia], Andrés [Valloud] and me) where in Mar del Plata, in a Smalltalk conference. All of us had a history doing Assembly and low level stuff, and we started playing with the idea of doing an OS in Smalltalk.
I think it was when we were experimenting with Celeste (http://wiki.squeak.org/squeak/1467) as mail reader, and we really just wanted to bring everything into the Image, and make everything else disappear. We started approaching the idea, until one of us actually said "it's possible, I think we can do it!"... and we went back home.
At the time we used to do the SqueakNicks, and in the next weekend we got together after the conference, a couple of us just brought a working
first booting version of SqueakNOS... it was just amazing! We actually did it!
On the technical side, this first version was a big hack, a stripped down interpreter, based on a headless version of Squeak, using a mini.image, we probably had no keyboard and no graphics, but it was starting to interpret, and #startUp actually worked and printed "Hello from Squeak!" on the text screen... it was all a feat! :)

CS: How could the Smalltalk community help you to leverage this project to the next phase?

It already did, our work is absolutely standing on the shoulders of giants, we just wrapped it in a different package, and gave it a twist and a nice bow. Also all the happy faces we saw last year at the ESUG, and all the encouraging words I've got before, the random encounter with two squeakers at a security conference who actually were waiting for SqueakNOS to be usable, everything helped a lot, and each time gave us a kind push forward.
And then, of course, there's a huge lot to do and experiment. From simple things to big things... it's kind of weird, but we truly feel alone, although lots of people would like to see SqueakNOS working. Maybe everybody thinks it's complicated to help, but it truly is not.
Support for more hardware is of course needed, and the harder part of doing it is getting the right documentation, because after that, it's just a matter of translating it into Smalltalk... no assembly or C is required for anything, at least not until you want to go deeper.
Then, the networking part is very important too. Luciano has made and incredibly legible TCP/IP implementation, and although we think it's complete, we can't call victory until it's tested further: it needs testing, and it can be in a regular Squeak, if it really makes any difference.
Then we also need to plug this TCP/IP implementation to Squeak's sockets, but then, it already has some sort of streams, so it's just a matter of making the interfaces correctly tessellate.
What else? oh, of course we could try to port it to other platforms (PowerPC? ARM? bare FPGAs? XO/OLPC?) And of course there are lots of ideas and plenty of room for experimentation!

CS: What are the plans for the future?

Plans? oh, of course, rule the world! What else? heh, no seriously: change the world :-)
This is just an experiment, we dream of producing something actually useful, but during the last ESUG (2008), when we were back into it, we started dreaming awake and plotting for making SqueakNOS the main OS in the XO/OLPC, we just couldn't stop repeating to everybody who bumped into us "Can you imagine what could happen if you put this in the OLPC and kids, at least some, started discovering they could completely understand and change ALL the software in their computers? What could happen if they started seeing, for example, the ProcessScheduler as a little bit more complex eToys activity? How would anything built by this kids look like?! it would truly be amazing, it could truly change the world!!!" wow, sorry, I just got exited again...
So yes, we actually do still plan to change the world, it's only we are preparing to jump :-)
Oh, you meant more real plans? Personally I would like to see, and work, on trying to put SqueakNOS on bare hardware. Quite a significant number of people from the hardware world approached me saying they'd like to try SqueakNOS on their own hardware systems, and I'd love to give it a try. And truly, no kidding, I would also like to see it working on the OLPC, with a complete OLPC system on top of it... just to see if we could convince "someone" to actually give it a real try with kids.
But well... you know, we've only get one life at a time, all this could only be possible if a good bunch of us seriously get together and contribute... even the smallest contribution is more than no contribution, right? :-)

May 11, 2009

ClubSmalltalk & PasswordsPro Promotion

PasswordsPro is a tool designed to help you manage your passwords and private data securely. It stores all your passwords and text notes in a single file locked with one master password. That one password is all you need to access all your private data.
PasswordsPro is developed in Dolphin Smalltalk and it had been presented in ESUG 2008. User feedback has been extremely positive.
Given the strong reviews, ClubSmalltalk and PasswordPro are announcing a fantastic promotional deal. The purchase of a license for the special edition of ClubSmalltalk gives you PasswordsPro, which normally sells at $29, for the outstanding price of $15. A third of the cash will go toward ClubSmalltalk. And that's not all: The buyer will get two discount coupons to purchase another license that can be gifted.

PasswordsPro's developer explains the product

To get more information on PasswordsPro, Germán Arduino, an independent software developer and the principal architect of Password Pro, answered some questions.

Germán, what inspired you to make this kind of software? And why did you choose Dolphin Smalltalk to develop it? 

I was searching some cool idea to develop a desktop product to market as Micro ISV and Daniel Pierini, a friend of mine and now my partner at PasswordsPro, got the idea. Daniel is the owner of an important Web hosting company (Solo10.com) and needed a password manager. The whole idea for the product comes from him.
I was immediately enthused and started coding. Of course, being a Smalltalker myself, the idea I was searching was to develop this software with Dolphin Smalltalk Professional. There several reasons for this. First, I've owned a Pro Edition of Dolphin for some years, but I've only used it to make some custom products. I never designed any software for the mass market. I became very interested in trying to develop in a commercial way. I tried before with Promoter, a product using Web UI, but Squeak came up with it. I wanted to try to built a true desktop product.
The choice to use Dolphin was one of functionality. Dolphin fit perfectly for the development of PasswordsPro. It allows you to generate compact Windows exes that don't need lengthy runtimes (This was one of Daniel's original goals). Such exes also run smoothly under Wine on Linux and ever on a pen drive connected to a Windows machine.
Dolphin is really an excellent implementation of Smalltalk and can be used to develop any sort of software. This idea also originated out of need. I realy needed a password manager. 

Sensitive information like bank passwords, credit card information and other data is always at risk. How does PasswordsPro address this issue?  

The lack of security was one of the main motivations behind PasswordsPro. Many computer owners have several passwords, usernames and ATM pins, among other things, and it is difficult to remember all this crucial access info. 
In addition to passwords, most of us have files that contain text that also need to be stored in a safe way. like e-mails, work documents, etc. The goal of PasswordsPro is for the user to have this private information locked in a secure file that is encrypted with a master password. 
Inside the product we have some interesting features. For example:
  • The program doesn't store the master password on the files, avoiding reverse-engineered attacks. It has a feature called Inactivity Protection. It automatically closes an open passwords file after a configurable number of minutes without activity.
  • The program may be executed from a pen drive. That means that you can an have all your passwords everywhere you go. 
  • The pendrive with your data and the program is all you need. And if your pendrive is loss or stolen, don't worry: Nobody can read your private data.
Have you enjoyed developing of this product?

Definitely. I have been interested in security topics and security programming (encryption algorithms) from years, from when I developed a Gmail-like complete mail system in a mainframe environment. At the same time, I'm a Smalltalker who enjoys developing anything with Smalltalk. So this project, which fused security and encryption with Smalltalk, was really cool to me. I hope continue working on it.

What's next for PasswordsPro?

Future plans depend primarily on the sales of the current product. But if all goes well, we are considering several possibilities. Some are:
  • PasswordsPro Mobile (To iPhone and other phone cells)
  • PasswordsPro Corporate (A special version focused on big IT staffs that need to administer/manage many passwords in its datacenters)
  • Integration with devices such as Yubikey

Get the Promotion!

April 26, 2009

The SqueakDBX team has announced the first stable version of the OpenDBX Wrapper

The SqueakDBX team has announced the first stable version of the OpenDBX Wrapper, here is the announcement in the Squeak List: 
After a continuous work since January 08, we are very glad to announce our first stable version of SqueakDBX.
For those who don't know what this is about, the aim of this project is to build an OpenDBX (http://www.linuxnetworks.de/doc/index.php/OpenDBX/) wrapper which will allow users to perform relational database operations (DDL, DML and SQL) through a truly open source library. Through this feature, the squeak community will hopefully be able to interact with major database engines, such as Oracle and SQL Server, besides those which are open source, like PostgreSQL, MySQL or Sqlite. Moreover, by integrating this with GLORP (http://www.glorp.org/), will allow us to generate a complete and open source solution to relational data base access.

Why did we do squeakDBX?

There are several approaches to persistence in Squeak, some very interesting: OODB like Gemstone and magma, image, CouchDB or TokyoT/C, and so on. All of this options get sense if you can actually decide the way you will persist your objects.
However, this is not something that happens very frequently. FREQUENTLY, the client (the one who pays you for making the software) requires you to use a particular persistence strategy (RDBMS). Not only that, but also a database in particular (like Oracle, MS SQL, and so on). They have lots of reasons: they already have license for it, they have support and companies for it, they know SQL, they want to do selects, legacy systems, and so on. But Squeak only provides drivers for MySQL and PostgreSQL natively, so... what would you do in the rest of the cases? move to another language? OK, we don't. We want to program systems in Squeak.
If you know about SqueakDBX you can just see changelog here: http://wiki.squeak.org/squeak/6109; If you don't, you should continue reading ;)
SqueakDBX features:

  • Runs on Squeak and Pharo.
  • Own SqueakDBX plugin (experimental). Ability to easily change the external call strategy (FFI or our own plugin).
  • Support for: Oracle, PostgreSQL, MySQL, MS SQL Server, ODBC and SQLite3
  • Automated database connection ralease (although manual disconnection is recommended ;-)
  • Automated results retrieving in order to do another query, after doing a query and not iterating ALL results 
  • Error handling: Not only errors, but levels associated with an error in order to avoid FFI calls (if you get a fatal error, it has no sense to do another query and the resources must be free). See http://wiki.squeak.org/squeak/6076
  • Very completed documentation in wiki and getting started.
  • Code critics and SwaLint were run several times.
  • Good design (at least all the major refactors demonstrated that).
Full documentation, installation and getting started instructions can be found at wiki page: http://wiki.squeak.org/squeak/6052. We spent a lot of time in it. It has all the information you may need and is in continuos development.
Benchmarks: We have a lot of SqueakDBX benchmarks and also some for native squeak drivers (PostgreSQL and MySQL) and SqueakDBX seems to be faster than both of them. You can read more here: http://wiki.squeak.org/squeak/6063
Packages can be installed from Universe (3.10) or SqueakMap. Current version is 1.0. Sources can be download from SqueakSource http://www.squeaksource.com/SqueakDBX (it requires FFI installed).

OpenDBX version: 1.4.
Remember that you can compile OpenDBX by yourself or use precompiled binaries. For more information please read: http://wiki.squeak.org/squeak/6129.

GLORP integration: Actually, this may include two parts: The integration of GLORP with squeak is completely hardcoded with PostgreSQL native driver. Because of this, first we will do a refactor in GLORP in order to enable it to support different drivers. We will create a PostgreSQL driver with the things that GLORP already has. We invited Alan Night to have dinner with us when he came to Argentina. We told him our ideas and discuss for a while till we got a first design of this refactor. We have already started this part.
Create a SqueakDBX driver for GLORP just like the one we are planning to do for PostgreSQL.

The last squeak port of GLORP is very old and there is nobody to do it. A friend of us, Diogenes Moreira, has accepted this job, so, thanks to him, we hope to have latest GLORP releases in Squeak.
You can see our Glorp progress here: http://wiki.squeak.org/squeak/6132

Help is always wanted. We would really appreciate if you:

Give us opinions, comments, ideas, new features, complaints and so on.
Tell us if you find a bug. Tell us if you test SqueakDBX with other RDMBS or OS different from the ones we tested. Just to know if it works or not :)

If you try SqueakDBX and you write something somewhere like a blog, let us know. We have this link: http://wiki.squeak.org/squeak/6131 where we put useful links for all the people.
Special thanks to:

  • ESUG, for supporting us through Summer of Talk 08; 
  • To Norbert (author of openDBX) for his help and to all the people who tested it and help us.
Cheers,
SqueakDBX team

April 3, 2009

Interview with Gabriel Honoré, the creator of a Commodore 64 emulator in Smalltalk

In the second edition of Smalltalks, the Argentinean Smalltalk congress, he presented a Commodore 64 emulator. The talk was the most voted by the public and, as the result, he won the historical Byte magazine issue. In this interview, he answered some questions about his motivations and future plans.

CS: Gabriel, tell a little about your background
GH: My name is Gabriel Honoré, I'm 24 and I live in Buenos Aires, Argentina. I'm studying Computer Science at the University of Buenos Aires, and I work as a game developer.
Since I was a child I developed a special interest for computers. The first computer I used was a Commodore 64 that belonged to my brother. I remember how much I enjoyed playing its games. In the meantime, I found out that I could use a computer to make programs, and since then, programming became one of my favorite hobbies.
When my parents bought me my first IBM compatible I learnt new programming languages. Eventually, I discovered the demoscene and immediately became interested in computer graphics and low level programming.
During my studies in the university I realized that I was also very interested in other things I hadn't investigated previously in depth, such as computer architecture and software development using the object paradigm.

CS: How did you start with Smalltalk?
GH: The first time I heard about Smalltalk was in one of the subjects I attended, called Paradigms of Programming Languages. The last classes corresponded to the object paradigm, and to show the concepts behind it, my teachers used Smalltalk.
What was my first impression? Well, first I was amazed with the keyword messages; I had never read such a clear code! The "everything is an object" concept resulted quite natural and at the same time, made me feel curious. Afterwards, we went over some of the other language features such as late binding and its dynamic typing system.
All those language features along with those of the object paradigm awoke a spark in me that led me to decide to attend two subjects about the paradigm. In those subjects I learnt in detail what the paradigm was about, along with Smalltalk. I found out that Smalltalk was more than a programming language and I came to know its other virtues such as its excellent dynamic environment, its free access to all the system objects, the persistence of objects and the non-distinction between a development time and an execution time, just to name a few.
Since that moment, all my personal projects started to be done in Smalltalk. And where I can't use Smalltalk, I try to apply its principles!

CS: Why did you decide to build a Commodore 64 emulator?
GH: Nostalgia was a determining factor. The Commodore 64 was the first computer I had at home, and as a child, I spent hours and hours in front of the TV writing my own programs or copying them from books and magazines.
From that moment on, I've been interested in everything that concerns that computer; you will be surprised to know the amount of software and hardware projects that are being developed for the C64 after such a long time!
On the other hand, my interest in the object paradigm and the discovery of Smalltalk awoke in me the desire of making a relatively big project involving them.
There were other things that motivated me to start with this project. For example, I realized that almost every emulator was written in statically typed languages and just a few in dynamically typed ones (actually, I found just one, written in Python). Also, very few of them were developed based on the object paradigm, and the ones that did failed at identifying unrelated entities and giving each one a different object in the model.
All this things made me wonder: Could it be done? Could I make an emulator in Smalltalk that works at full-speed, can run the majority of the games available, and at the same time has a good object oriented software model? Would I have to sacrifice a good model in order to obtain a reasonable performance?
Making a C64 emulator in Smalltalk meant a big challenge, a lot of fun and a huge satisfaction as I knew I would be joining two things that I like a lot: the C64, and software modeling using the object paradigm.

CS: What were the most difficult parts to resolve in an emulator?
GH: The most difficult part is to achieve a good and clean design, while at the same time working out specific problems of the software domain, such as performance.
This is especially true when it comes to the modeling of hardware components, because an isomorphic representation in software usually requires high computation power. A lot of times, the available solutions to reduce this negative impact imply changing the software model in a way that it doesn't work exactly like the real counterparts anymore, making the model poorer.

CS: What is the conclusion after the experience?
GH:It was a very great experience! As regards the emulator, I could achieve all the objectives I set myself. The result was a functional emulator with a high level of compatibility and a reasonable performance, while keeping a clear and simple model, and with many concepts being reified.
Personally, I had a lot of fun during this project. I acquired greater knowledge about computer architecture, and I learnt a lot about how sound works (something I felt always curious about). I kept discovering more about Smalltalk and I improved my skills to model with objects.
As a bonus, my thesis director offered me to make a thesis based on my C64 project. Afterwards, my lecture at Smalltalks 2008 showed me that people also liked it. What more can I ask for!

CS: A Commodore 64 emulator and Smalltalk could be, for a lot of trendy IT Colleges, like a couple of things from the past. How do you feel about the trendy market of today?
GH: I don't think it is a healthy decision to define the choice of a programming language, or a development environment, exclusively because it is a tendency. Needs are not the same for everyone, and different development languages/environments tend to solve different needs.
I think the decision has to be made with the improvement of productivity in mind, allowing software developers to only worry about creating good software, and not to waste time dealing with technical issues of the language or the environment they use.
Smalltalk is a system that was thought with productivity in mind; we can see that, for instance, in the excellent level of its tools, its dynamism, its capabilities to be extended and adapted to any context, and its high fidelity to the object paradigm.

CS: What are your future plans?
GH: Within a short time I will intend to develop a framework that makes easier the development of emulators for all kinds of old computers and consoles. Once that is finished, I'd like to develop at least one more emulator that uses it. A NES console Nintendo Entertainment System and other Commodore computers are possible candidates.
I also want to publish my C64 emulator, for free, even though I would like to add first some features that I consider important and that are lacking now.

February 5, 2009

Bertrand Meyer in Argentine

Bertrand Meyer is giving a conference the next February 11th, 2009 at the Universidad Tecnologica Nacional (National Technological University) called "Touch of Class: How we teach introductory programming".
This is the abstract of the conference: "Teaching programming faces a host of challenges, due in particular to he unprecedented variety of student backgrounds and to the demands of the IT industry. Techniques that worked well in the seventies do not scale up to today's context. The "concepts or skills?" debate is more relevant than ever, especially in the ever more globalized world of software development.
For the past 6 years, we have taught introductory programming at ETH, based on an "outside-in" approach that makes it possible to introduce the reality of large software while emphasizing the principles of sound software development. This approach has resulted in a forthcoming textbook ("Touch of Class: An Introduction to Programming well with Objects and Contracts", Springer-Verlag, May 2009). I will present the result of our experience, including metrics that we have systematically collected along the way, and draw conclusions regarding how to teach programming today. I will argue the task consists of teaching twenty-six seminal concepts, and will explore one of them in depth."

For more information, please refer to: http://www.seminariosathena.com.ar/