Saturday, November 15, 2008

Smalltalks 2008, Saturday notes

I just got back from the conference's last day. Here are the notes for today.

First, I did my presentation on the implementation of the Coding Contest. It had been quite a while since I wanted to tell that the numerical model behind all this work, including how to model the behavior of Dilbert, Alice, Asok, Dogbert, Ratbert and Wally was...

... y = arctan(x)...

This function is used to model the progress of work, the quality of the perception of how much a work unit is done, the inspiration of programmers, the stress of programmers, the irritation of programmers... everything. I even found out later that it has been used to model characteristics of bipolar behavior disorder.

But well, enough of that. The code will be made available shortly, and so you will be able to play with it. After that came Leandro Caniglia's presentation on instance behavior. I missed most of it because I had to leave the room after my presentation to talk to some people, so I cannot comment much on it. However, I did see that he got lots of questions regarding the applications, which shows there was plenty of interest.

After the break came a presentation by Gabriel Honoré, who wrote a Commodore 64 emulator in VisualWorks. Not only it works --- it runs at 100% on a Core 2 Duo @ 2GHz (his machine). In fact, not only it works... it works correctly!!! He played some games on the screen, he even brought up the game Truco (for an explanation of how to play the game, see here). Yep, the one that uses the SID chip for speech synthesis. And it worked, and sounded, perfectly. At this point, Gabriel decided to open inspectors on the components of the C64. So he brought up the VIC-II video chip and with a simple message send (IIRC, self color: 6), he changed the border of the screen to being green while the game continued to run. A suggestion to spy on the computer's cards was made. At least in my opinion, the emulator was so good that the emulated C64 even resetted itself faithfully... the particular way in which the video chip behaved while the machine rebooted was reproduced correctly on the screen as far as I could tell. Gabriel commented the code will be available, in free form, at the Cincom public Store repository in a few months.

Finally, it was the turn of Gerardo Richarte to show SqueakNOS. After booting from an USB device, he went on to show how hardware devices are programmed in simple terms. Although I do not remember the exact figures for each, Smalltalk device drivers for things like network cards, the mouse, the keyboard and so on were at most 100 methods and 300 LOC. Most methods were one liners. Hardware interrupts are served by the image. And the slides for the presentation ran in a SqueakNOS image running with no OS under it. What is more, at the end of the presentation Gerardo told us he was going to write a hardware device driver for the IDE hard drive controller at port 0x1F0 and read data from the hard drive. In about 5 minutes he was done typing something like 16 accessor like methods, and then invoked a read for sector 0 from drive 0 head 0 with command 0x20. 256 16 bit shorts came back, and the last 2 bytes were 0xAA55, what is expected of a boot sector.

Something like 15 years ago I wrote a program to detect and mark bad and near bad clusters on FAT partitions. I did that in Pascal, and I can't tell you the trouble I had to go through to get that working right. Here, we have a device driver for the controller written in 5 minutes...

Then came the closing ceremony. While the best talk votes were tallied, we ran a prize draw amongst the registered people still present. Lo and behold the first person that came up was my sister! Sure enough, she was registered, but this was a ~1/200 chance... oh well, so we skipped her (besides she wasn't there at the moment) and continued on. In this way we handed out 9 books: 3 books given by Pragma (one of our sponsors), and a set of 6 of my books (3 hashing books, 3 mentoring course books). As I stated while at the conference, I'd like to thank ESUG for purchashing several of my books for their conference in Amsterdam.

Then came the prizes for the coding contest. Guillermo Amaral and Guido Chari claimed the Ipod Touch given by Instantiations, and Diego Geffner claimed the MP4 given by GeoAgris. Since the winners would have had to divide (I mean share) the Ipod Touch, the winner pair also claimed some of the bookstore gift certificates given by Snoop Consulting.

Finally came the prizes to the best two talks of the conference. In second place came SqueakNOS by Gerardo Richarte, which was awarded half of the remaining bookstore gift certificates. In first place came Gabriel Honoré's Commodore 64 emulator, and he received the remainder of the bookstore gift certificates plus the original August 1981 Byte magazine donated by Diego Roig-Seigneur.

Well, we in the organization committee think this year's conference went quite well, but we are also sure there are things to improve. If you have any comments to make, please send them our way at smalltalks2008 at gmail dot com. We look forward to hearing from you.

See you next year at Smalltalks 2009!

No comments: