[ANN] Phratch: Scratch on Pharo2.0
Hi Pharoers, I am porting Scratch and BYOB on Pharo 2.0. The name of the project is Phratch. To begin, I took Scat (a port of Scratch on Pharo1.3) and modify it to make it work on Pharo 2.0. For that I integrated FileSystem. Then, I took BYOB and port it in the project. I have some bugs, but the main features are working. The main issue is that it is slow. I will investigate that too. The goal for me is to use it for teaching software engineering and robotics. I hope to use Phratch and Pharo 2.0 to create new features. The project is on SmalltalkHub, and a google code page is available, mainly for reporting issues: https://code.google.com/p/phratch/ To download Phratch, just run this code: Gofer it url: 'http://smalltalkhub.com/mc/JLaval/Phratch/main'; package: 'ConfigurationOfPhratch'; load. (Smalltalk at: #ConfigurationOfPhratch) loadBleedingEdge. Cheers, Jannik
On Mar 24, 2013, at 8:56 PM, jannik.laval <jannik.laval@gmail.com> wrote:
Hi Pharoers,
I am porting Scratch and BYOB on Pharo 2.0. The name of the project is Phratch. To begin, I took Scat (a port of Scratch on Pharo1.3) and modify it to make it work on Pharo 2.0. For that I integrated FileSystem. Then, I took BYOB and port it in the project.
Excellent!
I have some bugs, but the main features are working. The main issue is that it is slow. I will investigate that too.
The goal for me is to use it for teaching software engineering and robotics. I hope to use Phratch and Pharo 2.0 to create new features.
The project is on SmalltalkHub, and a google code page is available, mainly for reporting issues: https://code.google.com/p/phratch/
To download Phratch, just run this code:
Gofer it url: 'http://smalltalkhub.com/mc/JLaval/Phratch/main'; package: 'ConfigurationOfPhratch'; load. (Smalltalk at: #ConfigurationOfPhratch) loadBleedingEdge.
I loaded it using the pharo20 one click. But it does not work. Apparently got blocked in WeakSet something. Loading NScratchâ¦. I reloaded. And it seems ok. How do we open Scratch? Stef Esteban it got blocked in this method. initialize: aString "We fill RPackageSet with a collection of matching RPackage. Since this is accessed a lot of times, we optimized the code for speed on resolution, and now we have what you see. This code should be something like this: packageName := aString. packages := RPackageOrganizer default packages select: [ :each | each name = packageName or: [ each name beginsWith: packageName, '-' ] ] sadly, that's incredible slow, so, we changed. BEWARE: Don't change this code without paying attention to speed. " | size separatorIndex first | self initialize. packageName := aString asSymbol. size := packageName size. first := packageName at: 1. separatorIndex := size + 1. packages := RPackage organizer packages select: [ :each | | eachSize | eachSize := each name size. (size == eachSize and: [ packageName == each name ]) or: [ eachSize > size and: [ (((each name at: separatorIndex) == $-) and: [ (each name at: 1) == first ]) and: [ (each name beginsWith: packageName) ] ] ] ]
Hi Stef, On Mar 24, 2013, at 9:14 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
On Mar 24, 2013, at 8:56 PM, jannik.laval <jannik.laval@gmail.com> wrote:
Hi Pharoers,
I am porting Scratch and BYOB on Pharo 2.0. The name of the project is Phratch. To begin, I took Scat (a port of Scratch on Pharo1.3) and modify it to make it work on Pharo 2.0. For that I integrated FileSystem. Then, I took BYOB and port it in the project.
Excellent!
I have some bugs, but the main features are working. The main issue is that it is slow. I will investigate that too.
The goal for me is to use it for teaching software engineering and robotics. I hope to use Phratch and Pharo 2.0 to create new features.
The project is on SmalltalkHub, and a google code page is available, mainly for reporting issues: https://code.google.com/p/phratch/
To download Phratch, just run this code:
Gofer it url: 'http://smalltalkhub.com/mc/JLaval/Phratch/main'; package: 'ConfigurationOfPhratch'; load. (Smalltalk at: #ConfigurationOfPhratch) loadBleedingEdge.
I loaded it using the pharo20 one click. But it does not work. Apparently got blocked in WeakSet something. Loading NScratchâ¦.
Strange, it works for me...
I reloaded. And it seems ok.
How do we open Scratch?
When the load is finished, a workspace is opened with this line: ScratchFrameMorph open Cheers, Jannik
Stef
Esteban it got blocked in this method.
initialize: aString "We fill RPackageSet with a collection of matching RPackage. Since this is accessed a lot of times, we optimized the code for speed on resolution, and now we have what you see. This code should be something like this:
packageName := aString. packages := RPackageOrganizer default packages select: [ :each | each name = packageName or: [ each name beginsWith: packageName, '-' ] ]
sadly, that's incredible slow, so, we changed. BEWARE: Don't change this code without paying attention to speed. " | size separatorIndex first |
self initialize.
packageName := aString asSymbol. size := packageName size. first := packageName at: 1. separatorIndex := size + 1. packages := RPackage organizer packages select: [ :each | | eachSize | eachSize := each name size. (size == eachSize and: [ packageName == each name ]) or: [ eachSize > size and: [ (((each name at: separatorIndex) == $-) and: [ (each name at: 1) == first ]) and: [ (each name beginsWith: packageName) ] ] ] ]
Strange, the repository should be downloaded at the installation. Jannik On Mar 24, 2013, at 9:35 PM, stephane ducasse <stephane.ducasse@free.fr> wrote:
ScratchFrameMorph open
It does not work
Path / 'Users' / 'ducasse' / 'Workspace' / 'FirstCircle' / 'ActiveResearch' / 'Pharo' / 'PharoHarvestingFixes' / '20' / 'Released' / 'ScratchSkin'
not found.
Stef
Jannik, you should write to the Scat list. Joan and I kind of gave up about two years ago but there has been some new people (Irfan khan, Dave Mason, ...) contributing a bit to the project. These were our last news right before giving up: https://code.google.com/p/scat/wiki/PublicRelease By the way, the source code was also moved to stHub: http://smalltalkhub.com/#!/~bromagosa/Scat, I've just added you as a contributor. Cheers, Bernat. 2013/3/24 jannik.laval <jannik.laval@gmail.com>
Strange, the repository should be downloaded at the installation.
Jannik
On Mar 24, 2013, at 9:35 PM, stephane ducasse <stephane.ducasse@free.fr> wrote:
ScratchFrameMorph open
It does not work
Path / 'Users' / 'ducasse' / 'Workspace' / 'FirstCircle' / 'ActiveResearch' / 'Pharo' / 'PharoHarvestingFixes' / '20' / 'Released' / 'ScratchSkin'
not found.
Stef
-- Bernat Romagosa.
Hi, I just merge your last changes with Phratch source-code. I think you shoud try Phratch and see the bug tracker of Phratch, because I added some. What I did in Phratch, is that it does not break the Pharo image. There is no other modifications than in the package of Phratch. I saw that Scat modify Morphic and Graphics to add some instance variables, that I don't have in Phratch. I saw also your bug-tracker and I resolved some issues: PNG transparency, Camera images, and a part of GIF import. What is the Scat mailing list ? Like that I can communicate directly with the team. Cheers, Jannik 2013/3/25 Bernat Romagosa <tibabenfortlapalanca@gmail.com>
Jannik, you should write to the Scat list. Joan and I kind of gave up about two years ago but there has been some new people (Irfan khan, Dave Mason, ...) contributing a bit to the project. These were our last news right before giving up: https://code.google.com/p/scat/wiki/PublicRelease
By the way, the source code was also moved to stHub: http://smalltalkhub.com/#!/~bromagosa/Scat, I've just added you as a contributor.
Cheers,
Bernat.
2013/3/24 jannik.laval <jannik.laval@gmail.com>
Strange, the repository should be downloaded at the installation.
Jannik
On Mar 24, 2013, at 9:35 PM, stephane ducasse <stephane.ducasse@free.fr> wrote:
ScratchFrameMorph open
It does not work
Path / 'Users' / 'ducasse' / 'Workspace' / 'FirstCircle' / 'ActiveResearch' / 'Pharo' / 'PharoHarvestingFixes' / '20' / 'Released' / 'ScratchSkin'
not found.
Stef
-- Bernat Romagosa.
-- ~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
On 25 Mar 2013, at 13:50, jannik laval <jannik.laval@gmail.com> wrote:
What I did in Phratch, is that it does not break the Pharo image. There is no other modifications than in the package of Phratch. I saw that Scat modify Morphic and Graphics to add some instance variables, that I don't have in Phratch.
;-) Great!
Hi Jannik, Great! Thanks for taking this project further on, maybe someday we'll finally have a working Scratch on Pharo... :) The mail list is scat-project@googlegroups.com. Cheers! Bernat. 2013/3/25 jannik laval <jannik.laval@gmail.com>
Hi,
I just merge your last changes with Phratch source-code. I think you shoud try Phratch and see the bug tracker of Phratch, because I added some.
What I did in Phratch, is that it does not break the Pharo image. There is no other modifications than in the package of Phratch. I saw that Scat modify Morphic and Graphics to add some instance variables, that I don't have in Phratch.
I saw also your bug-tracker and I resolved some issues: PNG transparency, Camera images, and a part of GIF import.
What is the Scat mailing list ? Like that I can communicate directly with the team.
Cheers, Jannik
2013/3/25 Bernat Romagosa <tibabenfortlapalanca@gmail.com>
Jannik, you should write to the Scat list. Joan and I kind of gave up about two years ago but there has been some new people (Irfan khan, Dave Mason, ...) contributing a bit to the project. These were our last news right before giving up: https://code.google.com/p/scat/wiki/PublicRelease
By the way, the source code was also moved to stHub: http://smalltalkhub.com/#!/~bromagosa/Scat, I've just added you as a contributor.
Cheers,
Bernat.
2013/3/24 jannik.laval <jannik.laval@gmail.com>
Strange, the repository should be downloaded at the installation.
Jannik
On Mar 24, 2013, at 9:35 PM, stephane ducasse <stephane.ducasse@free.fr> wrote:
ScratchFrameMorph open
It does not work
Path / 'Users' / 'ducasse' / 'Workspace' / 'FirstCircle' / 'ActiveResearch' / 'Pharo' / 'PharoHarvestingFixes' / '20' / 'Released' / 'ScratchSkin'
not found.
Stef
-- Bernat Romagosa.
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
-- Bernat Romagosa.
participants (6)
-
Bernat Romagosa -
jannik laval -
jannik.laval -
stephane ducasse -
Stéphane Ducasse -
Sven Van Caekenberghe