Jetstorm is the library to make Pharo communicate with the Lego Mindstorm Ev3. We provide the technical report. It explains the protocol and the architecture of the library.

If you want to cite it, here is the lines to copy and paste in bibtex:

@techreport{Lava14a,
   Author = {Jannik Laval},
   Institution = {URIA -- Ecole des Mines de Douai},
   Title = {JetStorm - A communication protocol between Pharo and Lego Mindstorms},
   Url = {www.jannik-laval.eu/assets/files/papers/Lava14a-JetStorm.pdf},
   Year = {2014}
}

With the evolution of JetStorm, the Technical Report will be improved.

I am pleased to announce Phratch website.

Thanks to the support of ESUG, it is possible to make visible this wonderful project.

For now, what is available on the site:
- a presentation of Phratch (you can refer to it now)
- installation files, there is a portable version for Windows, Linux, MacOS.
- tutorials
- block documentation: generated from a Phratch image !
- Some elements for Jetstorm (a lot of new articles will come soon)
- a category with news

Now about the versions, I am developing the version 3.0
Why this number ? Why a third version in one year of work ?
It is clear that a lot of work is already done. Each version represents strong changes in the architecture.
- version 1.0 is the port of Scratch + BYOB + Panther in Pharo. It is working but not extendable.
- version 2.0 makes Phratch really extendable. We can develop our own block for everything in Pharo. I also make Phratch more modular with the use of Pragmas for some menus, declaration of blocks… It is available only in Pharo 3.0. There are some languages available, I hope more people can translate in other languages.
- version 3.0 is the version in development. What is new here: Before this version Phratch was really slow. I am cleaning the code, and now it begins to be fast, really fast ! We also begun to write tests.

I am really happy to have the support of ESUG and Pharo.
Thanks to the community to make Pharo as usable as it it, it makes our dreams possible.

I begin to write a strong interesting new functionality in Phratch: the Meta Repository.

The idea comes from Pharo: The Meta Repository is an area where you can put the installation process (in our words, a Metacello Configuration) of an extension of Phratch.

You can build a Metacello configuration based on the chapter already written about Metacello, available here: http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/Metacello.pdf.
For now, you just need to have a class that has the pattern name ConfigurationOgYourAddOnName, where YourAddOnName should be changed by the name you want.

Then, just put the new configuration package on the PhratchMetaRepo, using Metacello, and putting it on the server: http://smalltalkhub.com/mc/JLaval/PhratchMetaRepo/main
using the following configuration of the Monticello configuration:

MCHttpRepository
    location: 'http://smalltalkhub.com/mc/JLaval/PhratchMetaRepo/main'
    user: ''
    password: ''

Finally, on the user side of Phratch, you can see a new menu “AddOns”, where you can install all new add-ons. For now, there is one project: JetStorm for Phratch, that allows one to connect the robots Lego Mindstorms to Phratch.

I hope a lot of new projects will appear in following months.

Jannik

Do you know Lego MindStorms ? The last one is the Ev3 serie (http://www.lego.com/fr-fr/mindstorms/). One particularity of this version compared to the previous ones is the possibility to plug a Wifi key and connect via TCP.

So, if you have this material (one Mindstorms Ev3, one compatible Wifi key), you can control your robot with Pharo !

Just load these lines:

Gofer it
     url: 'http://smalltalkhub.com/mc/JLaval/JetStorm/main'      username: ''
     password: '';
     package: 'ConfigurationOfJetStorm';
     load.
(Smalltalk at: #ConfigurationOfJetStorm) loadBleedingEdge.

I know also that for Christmas, it is not possible to learn a new API, we all have a lot of other things to do ! So, you can play with it into Phratch.

For that, just load Phratch and the package EV3Phratch as follow.

Gofer it
       url: 'http://smalltalkhub.com/mc/JLaval/Phratch/main'        username: ''
       password: '';
       package: 'ConfigurationOfPhratch';
       load.
(Smalltalk at: #ConfigurationOfPhratch) loadBleedingEdge.
Gofer it
       url: 'http://smalltalkhub.com/mc/JLaval/JetStorm/main'        username: ''
       password: '';
       package: 'EV3Phratch';
       load.

Have fun !