SummerTalk2006

Welcome to SummerTalk 2006. This program is here to help students work on open-source Smalltalk projects. The European Smalltalk User Group (http://www.esug.org/) will fund 5 students during the summer. Each student (in sync with his supporting organization and project leader) will receive 1500 euros. Each student will work under the guidance of a mentor accredited by ESUG. The money will be distributed in 2 steps: middle and end of the project.

The code developed during this program has to be released under the MIT Licence.

Selected Projects

The board voted on the projects and here are the results. We are sorry that we could not fund all the projects that we received. However if one of the selected project would be cancelled we would contact the ones of the pending list. The deadline to finish the work is the 15 of December 2006: the mentor and student are free to set up their agenda but should communicate it to the ESUG board and Serge Stinckwich (Serge.Stinckwich@info.unicaen.fr) who is in charge of the project.

New Compiler for Squeak

  • Description of the work: The Squeak compiler infrastructure shows its age: it is hard to understand and modify. In the context of the BlockClosure project, a new compiler has been developed, but some efforts are needed to finish the it (it lacks e.g good error reporting and the decompiler implementation has not yet been done). The student will learn about the compiler infrastructure and implement a decompiler.
  • Mentor : M. Denker
  • Student : Mathieu Suen

Fast Loading Package

  • Description of the work: The student will implement a kind of parcel like mechanism based on monticello 2 (which should be dialect agnostic). He will start with Squeak. The development will be XP style: scenario and test driven.
  • Mentor: R. Wuyts
  • Student: (roel got a contact)

RDF Framework for Smalltalk

  • Description of the work: implement the RDF API in Squeak based on Yaxo, which is an XML parser for Squeak. This API, compliant with the W3C RDF specification (http://www.w3.org/TR/rdf-syntax-grammar/), would allow a developer to handle an RDF graph in its various forms (RDF/XML, N3, abstract graph). In other words, it would be the Squeak equivalent of the Jena Java RDF API (http://jena.sourceforge.net/)
  • Mentor: Serge Stinckwich
  • Student: Julien Bourdon
  • Result. Rikaiko is a RDF framework developed in Squeak whose aim is to help developers to create semantic-web related applications. RDF (http://w3.org/RDF) is a W3C recommendation that includes a XML syntax which is the base of RSS (http://web.resource.org/rss/1.0/), Dublin Core (http://dublincore.org/) and FOAF (http://www.foaf-project.org/). During the SummerTalk 2006, I developed the base framework, handling base RDF/XML syntax (i.e. compliant with most of the RDF files) and the serialisation of the model into a N3 format. Moreover, the RDF graph can be queried to select specific triples. This work is still ongoing, and a test application in Seaside allowing the handling and browsing of FOAF files is being written in collaboration with Koji Yokokawa to show a possible application of this framework. The code is available on SqueakSource: http://www.squeaksource.com/Rikaiko.html. To make it work, you need to download the VWXML parser at: http://www.squeaksource.com/VWXML/. Rikaiko may not handle specific RDF files. Mail me

(jrgbourdon@gmail.com) if you have any question.

Process based BugTracking System

  • Description of the work: The goal of the project is to have a bug tracking system whose flow can be customized. Right now existing bugs tracking system are not really flexible. The project will be developed in XP style: scenario and tests driven all the way down.
  • Mentor: Stéphane Ducasse
  • Student: Florent Trolat
  • Result. http://membres.lycos.fr/artemice/Compass.pdf

To install CompassInstaller on squeaksource http://membres.lycos.fr/artemice/

  • result: Compass is a bug tracking system developed for squeak in squeak. This portal is built with the constant idea to provide a web application able to satisfy, with the same efficiently, the needs of the users and the administrators. Today it provides the capacity of define our own workflows,

managed users, bugs and todos with simple tools to describe graphs, rules, roles and others security properties. The use of Magritte, for meta-description and auto-generated components, and Seaside for the web interfaces, guarantees an easy way to add capabilities and functionalities. We hope an online version for the next weeks.

ICal support in Smalltalk

  • Description of the work: the student will implement an Ical implementation for Smalltalk.
  • Mentor: Bernard Pottier
  • Student: Yann Monclair
  • Result. SummerTime is a web based icalendar. It is developed in Squeak, using the ICal framework (developed by Philippe Marschall) and the Seaside framework (Developed by Avi Bryant and Al.). The idea behind the project was to offer an online solution for icalendaring, open source, installable anywhere, easy to use and compliant with the standards used by other tools such as Apple iCal, Microsoft Outlook or Mozilla Sunbird. During the SummerTalk 2006, I was able to create the web interface, and the editor tools to create calendars and events. Shortly after Christmas 2006 I added todos to SummerTime. Ongoing work by Jason Johnson on recurrence rules will provide a framework to support, implement and define recurrence rules for ical events. Once this is available, it will be integrated into SummerTime. The current SummerTime application offers creation of calendars, events and todos online. You can export a calendar from SummerTime, into an ics file, or back from an ics file into SummerTime. Your events are saved online, the access to your session is done by logging in, using your username and password. SummerTime can be installed on any server, as long as you can run a squeak vm on it. A sample application is running at http://icalendar.seasidehosting.st. You can find the code on SqueakSource : http://www.squeaksource.com/iCalSummerTalk.html. You need to load two packages, LogIn , which provides the login capabilities, and SummerTime, which contains the seaside application and all its components. Before loading the code, you need to install:

SqueakBot (funded by Planète Sciences)

  • Description: the student will take part in the SqueakBot project.
  • Mentor: Planète Sciences
  • Student: none

Tutorial on inheritance and evolution (funded by Klaus D. Witzel)

  • Description: the tutorial is about Inheritance of Acquired Behavior in the Context of Evolution, as coined by Jean-Baptiste Lamarck in his 2nd law (http://en.wikipedia.org/wiki/Jean-Baptiste_Lamarck). The intended audience are users of Smalltalk and the tutorial shall make use of the cross-platform multimedia capabilities of the Squeak environment. It is expected the tutorial runs two cases: one is set to be about class migration and roles and the second has to be suggested by the applicant. The work is sponsored by Klaus D. Witzel <klaus dot witzel at cobss dot ch> and will be made available in the public domain (both the author and the sponsor will be acknowledged).
  • Mentor: Klaus D. Witzel
  • Student: none

Sponsors

  • ESUG
  • <a href="http://www.planete-sciences.org/robot/"><img src="http://www.planete-sciences.org/images/logo_planetesciences_nation.gif" alt="Planète Sciences" width="150" height="75"></a>
  • Klaus D. Witzel

How we will proceed

We will proceed the following way:

  • the mentor should acknowledge that this is ok to start with the students
  • a month after the start of the project the mentor should gives his ok and the student will receive 500 Euros
  • then at the end of the project, the mentor should give its ok and the student will receive 1000 Euros once the code is publicly available and other parties can load it.

The projects should be distributed with the following licenses: MIT/Squeak-L

Note that we encourage students and mentors to advertize that they have been selected for a SummerTalk and make public their progress. Some quality points:

  • The project should be advertized so that other people may provide input, piece of code.
  • We would like to have Unit tests and comments for the projects.
  • The projects should be published in an open repository such as http://www.squeaksource.com/ or Cincom Store

Organization points

The selection process done by ESUG will take into account whether the student will be supervised, if there is an infrastructure to help him as well as a the relevance of the topic for the community and the trust in the mentor.

When and Process

  • Running from from June 15th, 2006 through December 15th, 2006.
  • By 10 of June ESUG should have received project proposals.