Deep into Pharo is the second volume of a series of books covering Pharo. Whereas the first volume is intended for newcomers, this second volume covers deeper topics.

External Page: cover.min.jpg

TopicsYou will learn about Pharo frameworks and libraries such as Glamour, PetitParser, Roassal, FileSystem, Regex, and Socket.
You will explore the language with chapters on exceptions, blocks, small integers, and floats.
You will discover tools such as profilers, Metacello and Gofer.

http://rmod.lille.inria.fr/pbe2/

You can contribute to Phratch by several ways.

  • First of all, you can download it and try it. If you have any problem or bug, you can add an issue in the bug tracker.
  • Then, if you are a Smalltalk developper, you can easily contribute to fix these bugs.
  • Another way to contribute is to make documentation for Phratch. Some posts are already available here.
  • You can also extend Phratch with your own blocks. Do not hesitate to share with us your productions.

To download the lastest version of Phratch, just follow the instructions.

Phratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web. It is a port of Scratch (http://scratch.mit.edu/) on recent platforms (Phrao 2.0 and Pharo 3.0)

More than Scratch, Phratch includes BYOB, Build your own Blocks (http://byob.berkeley.edu/#download). It allows one to create a block composed by other blocks. Creating a block is available in the category variables below the creation of variable and creation of list. Then, It is possible to edit the block by right clicking.
Phratch is also Panther: It includes two interesting categories: Files and colors. Files allows one to manipulate local and remote files, and Colors to manipulate color features.

Phratch includes new features like Settings, FileSystem, Metacello. For example, I can edit a normal block, and a real browser is opened.

A block is a smalltalk method containing a pragma. This pragma informs Phratch that this method should be displayed as a block. A lot of Blocks are provided by default: from Scratch but also a lots of them comes from BYOB, and Panther.

You can find Phratch and tutorials at code.google.com/p/phratch.

Location: Mines de Douai and ENSTA Brest (France)

Advisor and contacts:
Noury Bouraqadi, Luc Fabresse, Jannik Laval (car _at_ mines-douai.fr, website: http://car.mines-douai.fr/)
Loïc Lagadec (loic.lagadec _at_ ensta-bretagne.fr)

Profile: the candidate must hold a recent Master of Science degree in Computer Science or Software Engineering and must have solid skills in dynamic reflective language and OOP.

Description of the work:
The goal of this PhD is to study Smalltalk integration with FPGAs for robotic applications. This integration will enable us get the best from both worlds. Developers are provided with a high-level dynamic reflective language (Smalltalk) for building and debugging their applications. Still, we can have high performances by projecting part of the programs into FPGAs. These reconfigurable hardware chips can achieve performance faster than C programs, while consuming much less energy.

The work to do can decompose into the following tasks:
-Build reference robotic applications fully in Pharo Smalltalk using actual robots (see http://car.mines-douai.fr/robots/)
-Analyze these applications to identify critical parts to project on FPGAs to significantly increase performances (speed, energy)
-Do the actual projection to FPGA and evaluate performances of the transformed applications
-Generalize the approach and define a methodology for turning Smalltalk code into FPGA
-Propose a solution to automate the methodology

The Ph.D student will receive a grant which net amount is approximately 1420 euros per month for 3 years (36 months).
He will be co-supervised by Loïc Lagadec from the ENSTA-Bretagne (Lab-STICC, Brest) and Jannik Laval, Luc Fabresse and Noury Bouraqadi from Ecole des Mines de Douai (CAR, http://car.mines-douai.fr/).
The first 18th month will be spent in Douai (Lille area), while the last half of the PhD will be spent in Brest.
However, during the full 3 years, there will be a strong interaction with co-supervisers from both labs.

Bibliography:
-A Robust Layered Control System For A Mobile Robot. R. Brooks. IEEE Journal of Robotics and Automation. Vol. 2. Num 1. March, 1985.
-RCS: A Cognitive Architecture for Intelligent MultiAgent Systems. J.S. Albus and A. J. Barbera. Proceedings of the 5th IFAC/EURON Symposium on Intelligent Autonomous Vehicles (IAV 2004). Lisbon, Portugal, 2004.
-Handbook of Robotics. Bruno Siciliano and Oussama Khatib editors. Springer. 2008.
-Multi-Level Simulation of Heterogeneous Reconfigurable Platforms. D. Picard and L. Lagadec. International Journal of Reconfigurable Computing. 2012.
-High-level synthesis for FPGAs: From Prototyping to Deployment. Jason cong and stephen neuendorffer and juanjo noguera and kees vissers and zhiru zhang. IEEE Transactions on Computer-aided design of integrated circuits and systems. Vol. 30. Num 4. April, 2011.
-The MOLEN Polymorphic Processor. S. Vassiliadis and S. Wong and G. Gaydadjiev and K. Bertels and G. Kuzmanov and E. Moscu Panainte. IEEE Transactions on Computers. 2004.

During the execution of object-oriented applications, several millions of objects are created, used and then collected if they are not referenced. Problems appear when objects are unused but cannot be garbage-collected because they are still referenced from other objects. This is an issue because those objects waste primary memory and applications use more primary memory than they actually need.

Relying on the operating system’s (OS) virtual memory is not always enough since it cannot take into account the domain and structure of applications. At the same time, applications have no easy way to parametrize nor cooperate with memory management.

In our latest paper published in JOT, we present Marea, an efficient application-level object graph swapper for object-oriented programming languages. Its main goal is to offer the programmer a novel solution to handle application-level memory. Developers can instruct our system to release primary memory by swapping out unused yet referenced objects to secondary memory. Our approach has been qualitatively and quantitatively validated. Our experiments and benchmarks on real-world applications show that Marea can reduce the memory footprint between 23% and 36%.

Leading Banking Services in Luxembourg is seeking : a Smalltalk Software Developer.

Qualifications/required skills :

  • Software engineer with advanced SMALLTALK development skills.
  • Experience in smalltalk development is required.
  • If possible, experience in financial industry and ability to coach people.
  • English is the working language.

 

Other info:

  • Starting date : ASAP.
  • Estimated duration of the mission : until June 2013, serious extension options every 6 months.
  • Location : LUXEMBOURG.
  • Salary : negotiable.

Please send me your resume if you’re interested in that offer.

Bertrand Wunderlich
Recruitment officer

NFS S.A.
4, Place de Strasbourg
L-2562 LUXEMBOURG
LUXEMBOURG
T : +352 20 40 80 42
P : +352 661 500 151
www.nfs.lu

Santiago Bragagnolo joined the team since the beginning of the month, as we announced during our talk on Smalltalk for robotics last ESUG conference (see slides below). Santiago is working full time on the RoboShop project where we aim at building an infrastructure for service robotics in the context of a shopping mall. We are using ROS (Robot Operating System) as a middleware. Currently, we are focusing on RoSt a framework to bridge Pharo Smalltalk with ROS. The end of the tunnel is becoming closer. We can call services provided by ROS nodes and we can send ROS topic messages. We are currently making tests with the ROS turtle simulator. We hopefully will soon start experimenting with our human size robots.