[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/30618 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] 28388b: 30618
Branch: refs/heads/3.0 Home: https://github.com/pharo-project/pharo-core Commit: 28388b0732fe53dc90ace03d1d7fb813f2b5234e https://github.com/pharo-project/pharo-core/commit/28388b0732fe53dc90ace03d1d7fb813f2b5234e Author: Jenkins Build Server bo...@pharo-project.org Date: 2013-12-04 (Wed, 04 Dec 2013) Changed paths: M KernelTests.package/ClassDescriptionTest.class/instance/tests/testClassDescriptionRespectsPolymorphismWithTraitDescription.st M Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawCheckOn_in_.st A Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawCheckedIconOn_at_.st A Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawPartialCheckedIconOn_rectangle_at_offset_.st A Morphic-Base.package/MorphTreeNodeMorph.class/instance/drawing/drawUncheckedIconOn_at_.st M Network-Mail.package/MailMessage.class/class/utilities/dateTimeSuffix.st A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/accessing - icons/checkedBoxIcon.st A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/accessing - icons/partialCheckedBoxIcon.st A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/accessing - icons/uncheckedBoxIcon.st A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/private - contents/checkedBoxIconContents.st A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/private - contents/partialCheckedBoxIconContents.st A Polymorph-Widgets.package/EclipseUIThemeIcons.class/instance/private - contents/uncheckedBoxIconContents.st A Polymorph-Widgets.package/ThemeIcons.class/instance/accessing - icons/checkedBoxIcon.st A Polymorph-Widgets.package/ThemeIcons.class/instance/accessing - icons/partialCheckedBoxIcon.st A Polymorph-Widgets.package/ThemeIcons.class/instance/accessing - icons/uncheckedBoxIcon.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script273.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30618.st M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st M Slot.package/OldClassBuilderAdapter.class/definition.st R Slot.package/SlotVirus.class/README.md R Slot.package/SlotVirus.class/class/fixing/fixSuperclassSubclasses_.st R Slot.package/SlotVirus.class/class/fixing/refresh.st R Slot.package/SlotVirus.class/class/fixing/removeBrokenDoIts.st R Slot.package/SlotVirus.class/class/installing/basicLayoutFor_.st R Slot.package/SlotVirus.class/class/installing/basicLayoutScopeFor_.st R Slot.package/SlotVirus.class/class/installing/basicVariableLayoutFor_.st R Slot.package/SlotVirus.class/class/installing/basicWeakLayoutFor_.st R Slot.package/SlotVirus.class/class/installing/installLayoutVariable.st R Slot.package/SlotVirus.class/class/installing/installNewLayouts.st R Slot.package/SlotVirus.class/class/installing/layoutScopeFor_.st R Slot.package/SlotVirus.class/class/installing/newLayoutFor_.st R Slot.package/SlotVirus.class/class/installing/spread.st R Slot.package/SlotVirus.class/class/testing/checkAllLayouts.st R Slot.package/SlotVirus.class/class/testing/checkDuplicateClass_.st R Slot.package/SlotVirus.class/class/testing/checkInheritedSlots_.st R Slot.package/SlotVirus.class/class/testing/checkLayoutOfClass_.st R Slot.package/SlotVirus.class/class/testing/checkLayout_.st R Slot.package/SlotVirus.class/class/testing/checkSlotsIndices_.st R Slot.package/SlotVirus.class/class/testing/invalidClasses.st R Slot.package/SlotVirus.class/definition.st R Slot.package/extension/ClassDescription/instance/initializeLayout.st Log Message: --- 30618 12327 Use eclipse icon for checklist tick https://pharo.fogbugz.com/f/cases/12327 11832 Remove SlotVirus https://pharo.fogbugz.com/f/cases/11832 12326 MailMessage class #dateTimeSuffix calls deprecated primSecondsClock https://pharo.fogbugz.com/f/cases/12326 http://files.pharo.org/image/30/30618.zip
Re: [Pharo-dev] Unifying Testing Ideas
On Dec 4, 2013, at 5:18 AM, Dennis Schetinin chae...@gmail.com wrote: This is the task I would really like to participate in. Although, just as you, I have no time at all, I still will find at least few hours a week :) welcome to our nice club of busy people
Re: [Pharo-dev] Slice 12324
On 03 Dec 2013, at 18:36, Stephan Eggermont step...@stack.nl wrote: Can anyone put it in place? Can’t seem to commit it I get an error when I try to copy it to the inbox, but saving it again worked. Marcus
Re: [Pharo-dev] Unifying Testing Ideas
Sean P. DeNigris wrote Are you interested in integrating my changes into the current API? If so, I'll refactor them and clean them up. I personally would find it difficult to use the library without them. Coming from Ruby, a proper test double framework is the thing I miss most. Rspec was amazing. BabyMock is close, and with these changes has the test double features I commonly relied on Rspec for... Yes, anyArgs can be useful, and I was thinking about the /does/ extension too, and I convinced myself that it is ok and useful. I gave you access to the repo. The reason for my initial hesitation was that my goal is to not have too powerful features like rspec has. E.g. in rspec, it is easy to stub out global class objects and I see lots of ruby programmer doing it. I don't think this is the right solution for the problem. -- View this message in context: http://forum.world.st/Unifying-Testing-Ideas-tp4726787p4727265.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Unifying Testing Ideas
On 4 December 2013 10:01, Attila Magyar m.magy...@gmail.com wrote: Sean P. DeNigris wrote Are you interested in integrating my changes into the current API? If so, I'll refactor them and clean them up. I personally would find it difficult to use the library without them. Coming from Ruby, a proper test double framework is the thing I miss most. Rspec was amazing. BabyMock is close, and with these changes has the test double features I commonly relied on Rspec for... Yes, anyArgs can be useful, and I was thinking about the /does/ extension too, and I convinced myself that it is ok and useful. I gave you access to the repo. The reason for my initial hesitation was that my goal is to not have too powerful features like rspec has. E.g. in rspec, it is easy to stub out global class objects and I see lots of ruby programmer doing it. I don't think this is the right solution for the problem. Can you give an example of what you mean? Being about to stub out the file system, or the clock, seem like extremely useful things to do. (See https://github.com/defunkt/fakefs for instance.) frank
[Pharo-dev] Issue tracker: do not forget to change state to fix review needed
Hi, When submitting a fix, please do not forget to change the state of the issue. And issue with “work needed” yet a fix in the inbox will only be looked at by chance, and that chance is *very* low with 570 open issues… Marcus
Re: [Pharo-dev] Unifying Testing Ideas
The reason for my initial hesitation was that... in rspec, it is easy to stub out global class objects and... I don't think this is the right solution for the problem. Ha ha, you were right to be cautious. I've been thinking for offer a year about how to do that without method wrappers. But I will control myself in your project ;) - Cheers, Sean -- View this message in context: http://forum.world.st/Unifying-Testing-Ideas-tp4726787p4727283.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] [Pharo-users] Building Pharo using Interpreter Class
Hello Stephane, he tried several times last thursday. He also tried using Nabble which did not work. Nabble produced some error about him not having permission to post. However in the interface of Nabble it displays him as a well registered user, as far as I can judge. This is one of the headers when he tried to send to the mailing list: Original-Nachricht Betreff:Building Pharo without using only Interpreter class Datum: Thu, 28 Nov 2013 16:18:13 +0100 Von:Dimitri Korsch dimitri.kor...@student.hpi.uni-potsdam.de An: pharo-dev@lists.pharo.org Kopie (CC): Kirstin Heidler kirstin.heid...@student.hpi.uni-potsdam.de, nicco.kunzm...@student.hpi.uni-potsdam.de Maybe it didn't work becuase Nicco and I were in CC? Kirstin Am 03.12.2013 20:58, schrieb Stéphane Ducasse: Hello kirstin why dimitri is not able to post? can you tell us more? Stef On Dec 3, 2013, at 1:17 PM, Kirstin Heidler kirstin.heid...@student.hpi.uni-potsdam.de wrote: My freind Dimitri was not able to post his message. I am working with him on this. ___ Hello, as part of a Seminar in the University im trying to build the PharoVM. According to the README file here ([1]) I was able to generate and to build the VM successfully. Now I would like to build the VM without Cog or Stack-to-Register optimizations... The problem here is, that I could not find any config class (which is a subclass of CPlatformConfig), that provides the right configurations and allows to build the VM without errors. I have tried to modify PharoUnixConfig(because it was the default config class), but unfortunately the build failes when the compiler tries to compile gcc3x-interp.c. Could somebody help me with this problem? How should I configure my own Config class? Basically our Group tries to implement an object table in Pharo and we want to use (and modify) the basic Interpreter class. [1] https://github.com/pharo-project/pharo-vm Best regards, Dimitri Korsch
Re: [Pharo-dev] Unifying Testing Ideas
On 4 December 2013 11:34, Sean P. DeNigris s...@clipperadams.com wrote: The reason for my initial hesitation was that... in rspec, it is easy to stub out global class objects and... I don't think this is the right solution for the problem. Ha ha, you were right to be cautious. I've been thinking for offer a year about how to do that without method wrappers. But I will control myself in your project ;) It's still a work in progress, but Squeak's Environments ought to provide this: your test runs in a custom, temporary Environment into which you import your own DateAndTime or FileReference or whatever. Code inside the Environment just calls DateAndTime, blissfully unaware that it's calling your custom mocked implementation. frank
Re: [Pharo-dev] Grease conflicts #packages with RPackage
sorry, but I still do not understand why this is a problem. can you elaborate why it should not be more implementations? Esteban On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nl wrote: I could copy the separate packages, but not the slice. Please note that the added test is expected to fail on all builds containing Grease-Core. Stephan
Re: [Pharo-dev] Unifying Testing Ideas
I'll try. I think mocking the file system and other third party, low abstraction stuffs can lead brittle tests and duplications. For example we want to store certificate files in pem format in the file system. Mocking out the fs would look like this: file = mock('file') File.should_receive(:open).with(filename, w).and_yield(file) file.should_receive(:write).with(pem content of the cert) I don't know ruby too well, so don't know how many different ways I can write some content into a file, but I suspect there are lot. E.g. if I change the write to puts the test will fail, even if the functionality is still working. That's why it is brittle. There are also some duplication between the test and the production code, because both has the very same structure. Introducing a CertificateStore as a dependency with a more abstract interface solves this problem and simplifies the test as well. cert_store.should_receive(:store_cert).with(certificate) I'm no longer passing the content as a string but as certificate object, and I don't care about the low level details of the storing mechanism. As a matter of fact the storage may store the cert in an other location than the file system, and the client won't care. Then the question is, how do I test the certificate store? And this is the point where I would switch from mocking to integration test. Because I want to be sure that I understood the file system api correctly, and it writes the file physically to the disk. The previous test didn't provide this confidence. Using an inmemory file system to speed up the test is ok imho, but there is a risk of course that it behaves differently than the real one. Personally I wouldn't use in memory file system in a test like this. On Wed, Dec 4, 2013 at 11:31 AM, Frank Shearar frank.shea...@gmail.comwrote: Can you give an example of what you mean? Being about to stub out the file system, or the clock, seem like extremely useful things to do. (See https://github.com/defunkt/fakefs for instance.) frank
Re: [Pharo-dev] Grease conflicts #packages with RPackage
Because many times you sent class side #packages as part of RPackage framework. But...if you have other class side #packages that answer something different...then you are screw. See my original post: http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.comwrote: sorry, but I still do not understand why this is a problem. can you elaborate why it should not be more implementations? Esteban On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nlwrote: I could copy the separate packages, but not the slice. Please note that the added test is expected to fail on all builds containing Grease-Core. Stephan -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] Grease conflicts #packages with RPackage
and why is a problem for us and for grease? On Wed, Dec 4, 2013 at 1:09 PM, Mariano Martinez Peck marianop...@gmail.com wrote: Because many times you sent class side #packages as part of RPackage framework. But...if you have other class side #packages that answer something different...then you are screw. See my original post: http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.comwrote: sorry, but I still do not understand why this is a problem. can you elaborate why it should not be more implementations? Esteban On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nlwrote: I could copy the separate packages, but not the slice. Please note that the added test is expected to fail on all builds containing Grease-Core. Stephan -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] Grease conflicts #packages with RPackage
For us because there are 4 or 5 class side #packages IN PHARO, not grease. On Wed, Dec 4, 2013 at 9:11 AM, Esteban Lorenzano esteba...@gmail.comwrote: and why is a problem for us and for grease? On Wed, Dec 4, 2013 at 1:09 PM, Mariano Martinez Peck marianop...@gmail.com wrote: Because many times you sent class side #packages as part of RPackage framework. But...if you have other class side #packages that answer something different...then you are screw. See my original post: http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.comwrote: sorry, but I still do not understand why this is a problem. can you elaborate why it should not be more implementations? Esteban On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nlwrote: I could copy the separate packages, but not the slice. Please note that the added test is expected to fail on all builds containing Grease-Core. Stephan -- Mariano http://marianopeck.wordpress.com -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] Grease conflicts #packages with RPackage
On 04 Dec 2013, at 13:11, Esteban Lorenzano esteba...@gmail.com wrote: and why is a problem for us and for grease? because people want to say MyClass package and get back the RPackage that the class is in... On Wed, Dec 4, 2013 at 1:09 PM, Mariano Martinez Peck marianop...@gmail.com wrote: Because many times you sent class side #packages as part of RPackage framework. But...if you have other class side #packages that answer something different...then you are screw. See my original post: http://forum.world.st/Re-Grease-conflicts-packages-with-RPackage-td4706911.html On Wed, Dec 4, 2013 at 8:54 AM, Esteban Lorenzano esteba...@gmail.com wrote: sorry, but I still do not understand why this is a problem. can you elaborate why it should not be more implementations? Esteban On Tue, Dec 3, 2013 at 3:25 PM, Stephan Eggermont step...@stack.nl wrote: I could copy the separate packages, but not the slice. Please note that the added test is expected to fail on all builds containing Grease-Core. Stephan -- Mariano http://marianopeck.wordpress.com
Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default
Let me see what I can come up with. On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote: Thanks Max for the report. Do you have an idea on how we could solve the problem ? The previous behaviour was not acceptable either because the streams that came out of a memory filesystem were the only ones with binary content On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote: Damien, Marcus this change breaks a lot of things in FileSystem-Git. I don’t disagree with the idea that reading characters should be default (one could argue about it…) but your change makes it IMPOSSIBLE to read bytes because unprintable characters are discarded! So if my ByteArray is a NULL terminated string, for instance, I can not check for the NULL termination anymore. Cheers, Max
Re: [Pharo-dev] Grease conflicts #packages with RPackage
Esteban wrote: sorry, but I still do not understand why this is a problem. can you elaborate why it should not be more implementations? It breaks the system. You can no longer use senders. So currently, all Moose and Seaside based 3.0 images are somewhat unusable. Stephan
Re: [Pharo-dev] Grease conflicts #packages with RPackage
senders of what? I can use senders. On Wed, Dec 4, 2013 at 1:34 PM, Stephan Eggermont step...@stack.nl wrote: Esteban wrote: sorry, but I still do not understand why this is a problem. can you elaborate why it should not be more implementations? It breaks the system. You can no longer use senders. So currently, all Moose and Seaside based 3.0 images are somewhat unusable. Stephan
Re: [Pharo-dev] Slice 12324
I tried committing/copying an updated slice, but am unable to get it into the Pharo30Inbox, even though I can copy packages in it. Is this a known issue? Stephan
Re: [Pharo-dev] Slice 12324
nope... you should be able to commit the slice without problems. On Wed, Dec 4, 2013 at 1:40 PM, Stephan Eggermont step...@stack.nl wrote: I tried committing/copying an updated slice, but am unable to get it into the Pharo30Inbox, even though I can copy packages in it. Is this a known issue? Stephan
[Pharo-dev] [pharo-project/pharo-core] c77929: 30619
Branch: refs/heads/3.0 Home: https://github.com/pharo-project/pharo-core Commit: c779295fe80c6a7ada92f2ba73f0b09ee9571a4e https://github.com/pharo-project/pharo-core/commit/c779295fe80c6a7ada92f2ba73f0b09ee9571a4e Author: Jenkins Build Server bo...@pharo-project.org Date: 2013-12-04 (Wed, 04 Dec 2013) Changed paths: M Collections-Abstract.package/Collection.class/instance/testing/includesAllOf_.st R Collections-Unordered.package/Matrix.class/instance/testing/includesAllOf_.st M Kernel.package/AdditionalMethodState.class/instance/testing/analogousCodeTo_.st M Kernel.package/Timespan.class/instance/testing/includesAllOf_.st A Kernel.package/Timespan.class/instance/testing/includesAll_.st M Kernel.package/Timespan.class/instance/testing/includesAnyOf_.st A Kernel.package/Timespan.class/instance/testing/includesAny_.st A KernelTests.package/TimespanTest.class/instance/tests/testIncludesAll.st R KernelTests.package/TimespanTest.class/instance/tests/testIncludesAllOf.st A KernelTests.package/TimespanTest.class/instance/tests/testIncludesAny.st R KernelTests.package/TimespanTest.class/instance/tests/testIncludesAnyOf.st A Komitter.package/KomitCacheRemote.class/class/accessing/icon.st A Komitter.package/KomitGemstoneRemote.class/class/private-icons/iconContents.st A Komitter.package/KomitHttpRemote.class/class/accessing/icon.st A Komitter.package/KomitNewSlice.class/class/private-icons/iconContents.st M Komitter.package/KomitNewSlice.class/instance/accessing/remote.st A Komitter.package/KomitRemote.class/class/icon/icon.st A Komitter.package/KomitRemote.class/class/private-icons/iconContents.st A Komitter.package/KomitSmalltalkhubRemote.class/class/private-icons/iconContents.st A Komitter.package/KomitSqueakSourceRemote.class/class/private-icons/iconContents.st M Komitter.package/Komitter.class/instance/opening/open.st M Komitter.package/KomitterUI.class/instance/private/openRemoteManager.st R Komitter.package/MCKomitSubmitter.class/instance/private/retryOnCredentialRequest_.st A Komitter.package/MCKomitSubmitter.class/instance/private/retryOnCredentialRequest_for_.st M Komitter.package/MCKomitSubmitter.class/instance/private/storeDependencies_for_.st M Komitter.package/MCKomitSubmitter.class/instance/private/storeVersion_for_.st M Komitter.package/MCKomitSubmitter.class/instance/protocol/commitSlice_.st A Komitter.package/RemotesManager.class/instance/protocol/initialExtent.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script274.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30619.st M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 30619 12077 MNU in AdditionalMethodStateanalogousCodeTo: https://pharo.fogbugz.com/f/cases/12077 12319 Replace includesAllOf: by includesAll: everywhere. https://pharo.fogbugz.com/f/cases/12319 12332 New icons for remotes + ui centered at opening https://pharo.fogbugz.com/f/cases/12332 12284 Problem with credential https://pharo.fogbugz.com/f/cases/12284 http://files.pharo.org/image/30/30619.zip
[Pharo-dev] [ANN] Roassal 3d
Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Komitter
Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
Re: [Pharo-dev] [ANN] Roassal 3d
hey congratulations on your release. Which opengl version you use for Roassal 3d ? On Wed, Dec 4, 2013 at 3:29 PM, Alexandre Bergel alexandre.ber...@me.comwrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Komitter
Hi, I think that you need firstly to open Monticello and add your user name and password to the Pharo Inbox repository settings. -- Pavel 2013/12/4 Yuriy Tymchuk yuriy.tymc...@me.com Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
Re: [Pharo-dev] Komitter
I am actually using it since 2 days. Cool work! Cheers, R On Dec 4, 2013, at 2:42 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I did not annonce it yet since some features are missing, and few bugs needs to be fixed (actually the slice are waiting to be integrated :P) the repository problem is an issue with the credentials. The slice is in the issue tracker. If you want to not bump this, set your credentials from MC browser once and for all :P The window is modal since otherwise, it needs to be kept in sync with the system, which is a pain. We already discuss the fact it’s modal, so maybe it will disappear soon since we are still not strongly convinced in one way or the other :P Ben On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
[Pharo-dev] StartupAction and StartupLoader
Hi, Is there any way to specify the order of the preferences? Now I put a couple of .st files in my ~/Library/Preferences/pharo folder containing calls to StartupLoader default executeAtomicItems: { StartupAction name: 'Setting my preferences...' code: [ … ] and I am wondering if there is a way to specify the order in which those files are accessed. Cheers, R
Re: [Pharo-dev] Komitter
On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I did not annonce it yet since some features are missing, and few bugs needs to be fixed (actually the slice are waiting to be integrated :P) the repository problem is an issue with the credentials. The slice is in the issue tracker. If you want to not bump this, set your credentials from MC browser once and for all :P The window is modal since otherwise, it needs to be kept in sync with the system, which is a pain. Yes, true. You can just add refresh button. E.i. for me it’s easier to press button rather then closing and opening window. Uko We already discuss the fact it’s modal, so maybe it will disappear soon since we are still not strongly convinced in one way or the other :P Ben On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
Re: [Pharo-dev] StartupAction and StartupLoader
I do not think so :P Ben On 04 Dec 2013, at 14:45, Roberto Minelli roberto.mine...@usi.ch wrote: Hi, Is there any way to specify the order of the preferences? Now I put a couple of .st files in my ~/Library/Preferences/pharo folder containing calls to StartupLoader default executeAtomicItems: { StartupAction name: 'Setting my preferences...' code: [ … ] and I am wondering if there is a way to specify the order in which those files are accessed. Cheers, R
Re: [Pharo-dev] Komitter
I will give a try later today :P Ben On 04 Dec 2013, at 14:47, Yuriy Tymchuk yuriy.tymc...@me.com wrote: On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I did not annonce it yet since some features are missing, and few bugs needs to be fixed (actually the slice are waiting to be integrated :P) the repository problem is an issue with the credentials. The slice is in the issue tracker. If you want to not bump this, set your credentials from MC browser once and for all :P The window is modal since otherwise, it needs to be kept in sync with the system, which is a pain. Yes, true. You can just add refresh button. E.i. for me it’s easier to press button rather then closing and opening window. Uko We already discuss the fact it’s modal, so maybe it will disappear soon since we are still not strongly convinced in one way or the other :P Ben On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
Re: [Pharo-dev] Komitter
Thanks once more for your effort. This is a really important tool for me. Uko On 04 Dec 2013, at 14:52, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I will give a try later today :P Ben On 04 Dec 2013, at 14:47, Yuriy Tymchuk yuriy.tymc...@me.com wrote: On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I did not annonce it yet since some features are missing, and few bugs needs to be fixed (actually the slice are waiting to be integrated :P) the repository problem is an issue with the credentials. The slice is in the issue tracker. If you want to not bump this, set your credentials from MC browser once and for all :P The window is modal since otherwise, it needs to be kept in sync with the system, which is a pain. Yes, true. You can just add refresh button. E.i. for me it’s easier to press button rather then closing and opening window. Uko We already discuss the fact it’s modal, so maybe it will disappear soon since we are still not strongly convinced in one way or the other :P Ben On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
Re: [Pharo-dev] Komitter
On Wed, Dec 4, 2013 at 2:47 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote: On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I did not annonce it yet since some features are missing, and few bugs needs to be fixed (actually the slice are waiting to be integrated :P) the repository problem is an issue with the credentials. The slice is in the issue tracker. If you want to not bump this, set your credentials from MC browser once and for all :P The window is modal since otherwise, it needs to be kept in sync with the system, which is a pain. Yes, true. You can just add refresh button. E.i. for me it’s easier to press button rather then closing and opening window. I was thinking on that too, yep :) Uko We already discuss the fact it’s modal, so maybe it will disappear soon since we are still not strongly convinced in one way or the other :P Ben On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
Re: [Pharo-dev] [ANN] Roassal 3d
Great! Doru On Wed, Dec 4, 2013 at 2:29 PM, Alexandre Bergel alexandre.ber...@me.comwrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. -- www.tudorgirba.com Every thing has its own flow
Re: [Pharo-dev] Komitter
On 04 Dec 2013, at 14:56, Esteban Lorenzano esteba...@gmail.com wrote: On Wed, Dec 4, 2013 at 2:47 PM, Yuriy Tymchuk yuriy.tymc...@me.com wrote: On 04 Dec 2013, at 14:42, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: I did not annonce it yet since some features are missing, and few bugs needs to be fixed (actually the slice are waiting to be integrated :P) the repository problem is an issue with the credentials. The slice is in the issue tracker. If you want to not bump this, set your credentials from MC browser once and for all :P The window is modal since otherwise, it needs to be kept in sync with the system, which is a pain. Yes, true. You can just add refresh button. E.i. for me it’s easier to press button rather then closing and opening window. I was thinking on that too, yep :) SourceTree works like that and none complains. Of course it has some auto-refresh, but we can survive without that. Uko Uko We already discuss the fact it’s modal, so maybe it will disappear soon since we are still not strongly convinced in one way or the other :P Ben On 04 Dec 2013, at 14:35, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Hi guys, I’m very impressed with the new Komitter tool that I’ve found in Pharo today. It’s a really important tool that we really need. It’s amazing that you can at last see what is changed and pick what you want to commit. Also the startup gear animation is cool. Only one question: should I complain about getting MCKomitSubmitter(Object)doesNotUnderstand: #repository” when trying to commit, or it’s work in progress and everything is changing each day? Also why can’t I access anything else when Komitter window is open? Uko
[Pharo-dev] [pharo-project/pharo-core] 8868cb: 30620
Branch: refs/heads/3.0 Home: https://github.com/pharo-project/pharo-core Commit: 8868cb330f982ca2d1c6041c3355a9dade9efbc9 https://github.com/pharo-project/pharo-core/commit/8868cb330f982ca2d1c6041c3355a9dade9efbc9 Author: Jenkins Build Server bo...@pharo-project.org Date: 2013-12-04 (Wed, 04 Dec 2013) Changed paths: M Komitter.package/KomitNewSlice.class/instance/accessing/remote.st M Komitter.package/Komitter.class/class/icon/iconData.st A SUnit-Core.package/extension/Deprecation/instance/sunitAnnounce_toResult_.st A SUnit-Tests.package/SUnitTest.class/instance/helpers/deprecatedMessage.st A SUnit-Tests.package/SUnitTest.class/instance/testing/raiseDeprecationWarnings.st A SUnit-Tests.package/SUnitTest.class/instance/testing/testIgnoreDeprecationWarnings.st A SUnit-Tests.package/SUnitTest.class/instance/testing/testRaiseDeprecationWarnings.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script275.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30620.st M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 30620 12272 Better algorithm for finding the inbox https://pharo.fogbugz.com/f/cases/12272 12334 Nautilus codepane hides first lines if pin is set https://pharo.fogbugz.com/f/cases/12334 11423 Running unit tests that raise deprecation warnings makes them fail incomprehensibly https://pharo.fogbugz.com/f/cases/11423 http://files.pharo.org/image/30/30620.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/30620 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default
On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote: Let me see what I can come up with. To be somewhat compatible with existing streams, your memory stream should have the concept of ‘i am binary or textual’ and be able to switch in-place between these two states (#binary, #ascii). Depending on its state it should then return bytes or characters (or collections thereof). Have a look at ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut: To be 100% correct, encoding should be selectable. But maybe a default to utf-8 would be enough. You could have a look at ZnCharacter[Read|Write]Stream for inspiration. My 2c. On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote: Thanks Max for the report. Do you have an idea on how we could solve the problem ? The previous behaviour was not acceptable either because the streams that came out of a memory filesystem were the only ones with binary content On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote: Damien, Marcus this change breaks a lot of things in FileSystem-Git. I don’t disagree with the idea that reading characters should be default (one could argue about it…) but your change makes it IMPOSSIBLE to read bytes because unprintable characters are discarded! So if my ByteArray is a NULL terminated string, for instance, I can not check for the NULL termination anymore. Cheers, Max
Re: [Pharo-dev] [ANN] Roassal 3d
Awesome! Looks like Ronie indeed worked a lot to get this. Kudos! I am eager to be the 19th to learn more about Moose things ( http://www.lifl.fr/~etien/MooseDay.html). Phil On Wed, Dec 4, 2013 at 2:29 PM, Alexandre Bergel alexandre.ber...@me.comwrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] [Nautilus] Selecting package
Hi guys, I recently moved my tool to Pharo 3 and I am experiencing problems with the Nautilus. Long story sort: Why the argument of Nautilus#selectedPackage: aPackage is *not* a package but some weird PackageTreeSelection or subclass of it? I don’t followed (unfortunately) the evolution of the PackageTreeModel in general.. so I don’t really know how to proceed.. In the end I’ll need the RPackage of the PackageTreeSelection… Another question: what is a RPackageTag? I am confused. Cheers and thanks in advance for any answer, R
Re: [Pharo-dev] Convert to Athens
I'm facing some problems with AthensWrapMorph. Basically, when I add a morph, I can't change its position. It just stays in the top left. Whatever I try to do to change its position (self position: 100@100) does not work. Cheers, Jeff On Wed, Nov 20, 2013 at 5:04 PM, J.F. Rick s...@je77.com wrote: Thanks. It works. I already have found a few bugs and one thing I don't understand. (1) A few Paint things seem to implement athensFillRectangle:on: and athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems like it should be the latter rather than the former. I changed the names and the evil rectangle of doom disappeared. (2) Using the AthenWrapMorph, it seems that the bottom row of pixels is not rendered or clipped. I can stop this phenomenon by changing the createSurface method to have the extent be 0@1 bigger. While that works, it seems like there's a bug somewhere in AthensCairoSurface. (3) I ended up changing a morph so that it should render differently. In standard Pharo, I just use self changed and it updates. Is there an equivalent in Athens? Do I have to explicitly tell Athens to rerender it? If so, how? I tried self render but that did not seem to help. Cheers, Jeff On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.comwrote: http://www.smalltalkhub.com/#!/~Pharo/Athens On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote: Right. Where is this Athens repository? I have the latest in Pharo30/main (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem to include AthensWrapperMorph. Cheers, Jeff On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote: On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote: Indeed. I would like to know that. It doesn't seem to be included in the latest Pharo 3.0. it could be not yet included. in that case, load most recent Athens-Morphic package from athens repository. Cheers, Jeff On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes hilaire.fernan...@gmail.com wrote: Le 15/11/2013 14:17, Igor Stasenko a écrit : for transition , i implemented a special morph, AthensWrapMorph which wraps (as its name says) its children morphs and forces them to be rendered by athens (the child morphs will never receive #drawOn: but #drawOnAthensCanvas: instead ). I guess Jeff, may want to know where to find this wrapper. Hilaire -- Dr. Geo http://drgeo.eu -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
Re: [Pharo-dev] Komitter
+1 Thanks once more for your effort. This is a really important tool for me. Uko
Re: [Pharo-dev] [ANN] Roassal 3d
ronie will visit us at lille for a month starting 31 of December. Stef On Dec 4, 2013, at 4:02 PM, p...@highoctane.be wrote: Awesome! Looks like Ronie indeed worked a lot to get this. Kudos! I am eager to be the 19th to learn more about Moose things (http://www.lifl.fr/~etien/MooseDay.html). Phil On Wed, Dec 4, 2013 at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [ANN] Roassal 3d
Alex what about taking the doc and turning it in pier syntax? Stef On Dec 4, 2013, at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [ANN] Roassal 3d
Roassal 3D Its designed to work with OpenGL 2.x, however latest versions have been tested with OpenGL 4.x. Supporting multiples versions of OpenGL and taking advantage of the available hardware when possible, its always on the plans. Greetings, Ronie Salgado 2013/12/4 kilon alios kilon.al...@gmail.com hey congratulations on your release. Which opengl version you use for Roassal 3d ? On Wed, Dec 4, 2013 at 3:29 PM, Alexandre Bergel alexandre.ber...@me.comwrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Convert to Athens
Here's a piece of code to demonstrate the problem: AthensWrapMorph new extent: 300@300; addMorph: (Morph new position: 100@100; extent: 100@100; yourself); openInWorld. I think this should draw a blue square at 100@100. Instead, it draws a blue square at 0@0. What am I doing wrong? Cheers, Jeff On Wed, Dec 4, 2013 at 6:17 PM, J.F. Rick s...@je77.com wrote: I'm facing some problems with AthensWrapMorph. Basically, when I add a morph, I can't change its position. It just stays in the top left. Whatever I try to do to change its position (self position: 100@100) does not work. Cheers, Jeff On Wed, Nov 20, 2013 at 5:04 PM, J.F. Rick s...@je77.com wrote: Thanks. It works. I already have found a few bugs and one thing I don't understand. (1) A few Paint things seem to implement athensFillRectangle:on: and athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems like it should be the latter rather than the former. I changed the names and the evil rectangle of doom disappeared. (2) Using the AthenWrapMorph, it seems that the bottom row of pixels is not rendered or clipped. I can stop this phenomenon by changing the createSurface method to have the extent be 0@1 bigger. While that works, it seems like there's a bug somewhere in AthensCairoSurface. (3) I ended up changing a morph so that it should render differently. In standard Pharo, I just use self changed and it updates. Is there an equivalent in Athens? Do I have to explicitly tell Athens to rerender it? If so, how? I tried self render but that did not seem to help. Cheers, Jeff On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.comwrote: http://www.smalltalkhub.com/#!/~Pharo/Athens On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote: Right. Where is this Athens repository? I have the latest in Pharo30/main (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem to include AthensWrapperMorph. Cheers, Jeff On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote: On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote: Indeed. I would like to know that. It doesn't seem to be included in the latest Pharo 3.0. it could be not yet included. in that case, load most recent Athens-Morphic package from athens repository. Cheers, Jeff On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes hilaire.fernan...@gmail.com wrote: Le 15/11/2013 14:17, Igor Stasenko a écrit : for transition , i implemented a special morph, AthensWrapMorph which wraps (as its name says) its children morphs and forces them to be rendered by athens (the child morphs will never receive #drawOn: but #drawOnAthensCanvas: instead ). I guess Jeff, may want to know where to find this wrapper. Hilaire -- Dr. Geo http://drgeo.eu -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
Re: [Pharo-dev] [Moose-dev] [ANN] Roassal 3d
Would be great to do that. I guess we would easily get the latex version from this right? How should we start? Which Pier installation can we use for this? Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Dec 4, 2013, at 2:22 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Alex what about taking the doc and turning it in pier syntax? Stef On Dec 4, 2013, at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Re: [Pharo-dev] Convert to Athens
On 20 November 2013 17:04, J.F. Rick s...@je77.com wrote: Thanks. It works. I already have found a few bugs and one thing I don't understand. (1) A few Paint things seem to implement athensFillRectangle:on: and athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems like it should be the latter rather than the former. I changed the names and the evil rectangle of doom disappeared. this is recent changes. I chosen to namespace selectors. The former selectors should not be used and replaced by new ones (if they still there). I suspect you using outdated version + loaded recent version(s) of packages, going into desync between packages. It is recommended to always use published version of Athens and always load configuration(s). (2) Using the AthenWrapMorph, it seems that the bottom row of pixels is not rendered or clipped. I can stop this phenomenon by changing the createSurface method to have the extent be 0@1 bigger. While that works, it seems like there's a bug somewhere in AthensCairoSurface. I doubt it is in AthensCairoSurface. Most probably it is clipping issue. Need to be carefully checked. Changing the surface size is just workaround. (3) I ended up changing a morph so that it should render differently. In standard Pharo, I just use self changed and it updates. Is there an equivalent in Athens? Do I have to explicitly tell Athens to rerender it? If so, how? I tried self render but that did not seem to help. No any equivalent. Updating UI is orthogonal to Athens. AthenWrapMorph sends drawOnAthensCanvas: to its submorphs, everything else is up to implementation. Cheers, Jeff On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.com wrote: http://www.smalltalkhub.com/#!/~Pharo/Athens On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote: Right. Where is this Athens repository? I have the latest in Pharo30/main (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem to include AthensWrapperMorph. Cheers, Jeff On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote: On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote: Indeed. I would like to know that. It doesn't seem to be included in the latest Pharo 3.0. it could be not yet included. in that case, load most recent Athens-Morphic package from athens repository. Cheers, Jeff On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes hilaire.fernan...@gmail.com wrote: Le 15/11/2013 14:17, Igor Stasenko a écrit : for transition , i implemented a special morph, AthensWrapMorph which wraps (as its name says) its children morphs and forces them to be rendered by athens (the child morphs will never receive #drawOn: but #drawOnAthensCanvas: instead ). I guess Jeff, may want to know where to find this wrapper. Hilaire -- Dr. Geo http://drgeo.eu -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko.
Re: [Pharo-dev] [Moose-dev] [ANN] Roassal 3d
Would be great to do that. I guess we would easily get the latex version from this right? this is automatic :) and the HTML version and the md version even if some bugs should be fixed. How should we start? Which Pier installation can we use for this? everything is explained on github PharoForTheEntreprise Let us know if something does not work. Stef Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Dec 4, 2013, at 2:22 PM, Stéphane Ducasse stephane.duca...@inria.fr wrote: Alex what about taking the doc and turning it in pier syntax? Stef On Dec 4, 2013, at 2:29 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Dear Friends and Colleagues, We are happy to (officially) announce Roassal 3d. Roassal 3d is about creating and animating 3d scenes. It is meant to visualize data. Roassal 3d recently got textures, translucence, additional layouts and various light models. It would be great to receive feedback. Ronie worked very hard on making Roassal3d happen. Milton has put quite some effort on writing documentation and writing examples. A very preliminary version of the documentation may be found on: https://www.dropbox.com/s/mctbza5qfcdxbs3/Roassal3dtutorial.pdf The screenshots contained in this documentation should convey an accurate feeling of what Roassal 3d is up to. Loading Roassal 3d in Pharo 3.0 is trivial, thanks to a configuration. Simply open a workspace and do-it the following code: Gofer new smalltalkhubUser: 'ronsaldo' project: 'roassal3d'; package: 'ConfigurationOfRoassal3d'; load. (Smalltalk at: #ConfigurationOfRoassal3d) loadDevelopment We are also looking for contributors to the documentation, we plan to have a book chapter on it. Get in touch with us! Thanks to Usman, Jean-Baptiste, Igor for their help and contributions. Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Re: [Pharo-dev] [Nautilus] Selecting package
On Dec 4, 2013, at 4:10 PM, Roberto Minelli roberto.mine...@usi.ch wrote: Hi guys, I recently moved my tool to Pharo 3 and I am experiencing problems with the Nautilus. Long story sort: Why the argument of Nautilus#selectedPackage: aPackage is *not* a package but some weird PackageTreeSelection or subclass of it? I guess that if you would get simply the rpackage ie the model you would be in trouble if you want to do some ui stuff with the representation of the package. Now if you have a PackageTreeSelection then you can dispatch to the selection and avoid ifs and crawling from rpackage to nautilus. So have a look at the code it should not be that complex and last time I looked at the code when esteban was writing it, it looks good to me. Less tests, more dispatch. I don’t followed (unfortunately) the evolution of the PackageTreeModel in general.. so I don’t really know how to proceed.. In the end I’ll need the RPackage of the PackageTreeSelection… Another question: what is a RPackageTag? Packages contain tag for classes (like old categories but per packages) I am confused. Cheers and thanks in advance for any answer, R
Re: [Pharo-dev] [ANN] Roassal 3d
Nice! I directly tried it loading into 30618 with te latest vm on OS X Mavericks. When loading the configuration as shown in the manual, there was a complaint about a class not found yet. The examples showed up fine though. They look great. The first one with the square/cube I couldn’t get the camera viewpoint to move to where I could see it was a cube. That worked much better with the later examples. The session management isn’t working out well: saving the image with an open view and quitting, the image crashed on restart. I’m looking forward to adding some 3D views to PetitDelphi. Stephan
Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default
Here would be the Xtream way IMHO: 1) At the end, the file should be handled as binary. 2) A facade BivalentReadStream (and BivalentWriteStream) would be created, able to switch encoding 3) The implementation would be to wrap either directly over the binary stream, or indirectly over an encoded stream which wraps other the binary stream. 4) For write, the facade should just ensure that buffers (if any) are properly flushed, and then just delegate to specialized wrapped streams. 5) For read, it might be a bit more involved if some buffer were used in intermediate wrappers, because they should push back the excess bytes read and restore the state of lower level binary stream... In all case, all should happen thru delegation and the facade should be rather dumb. 2013/12/4 Sven Van Caekenberghe s...@stfx.eu On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote: Let me see what I can come up with. To be somewhat compatible with existing streams, your memory stream should have the concept of ‘i am binary or textual’ and be able to switch in-place between these two states (#binary, #ascii). Depending on its state it should then return bytes or characters (or collections thereof). Have a look at ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut: To be 100% correct, encoding should be selectable. But maybe a default to utf-8 would be enough. You could have a look at ZnCharacter[Read|Write]Stream for inspiration. My 2c. On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote: Thanks Max for the report. Do you have an idea on how we could solve the problem ? The previous behaviour was not acceptable either because the streams that came out of a memory filesystem were the only ones with binary content On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote: Damien, Marcus this change breaks a lot of things in FileSystem-Git. I don’t disagree with the idea that reading characters should be default (one could argue about it…) but your change makes it IMPOSSIBLE to read bytes because unprintable characters are discarded! So if my ByteArray is a NULL terminated string, for instance, I can not check for the NULL termination anymore. Cheers, Max
Re: [Pharo-dev] Opal hook?
AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook' executes the default action for OCUndeclaredVariableWarning, which is opening a pop-up titled: Unknown variable Here the error is raised at compilation time, therefore it would have no effect to wrap this with a #on:do: I do not understand why if an exception is raised why I cannot trap it. [AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do: [ self halt.] does not halt. The fact that is is at compilation time does not mean anything to me. So why? I'm totally confused by this bad and unexpected behavior. Do you imply that the warning is already trapped and that I cannot take precedence? Probably but this has nothing to do with compilation time. Then to me OCSemanticWarning should be enhanced so that we do not get these silly menus. An exception should work and clients should be able to customise it to (for example introduce menu and dialog with the users but they should not be the only default. We see again this plague of interactive environment not being rethought in the 2013 age. defaultAction self errorNotification ifFalse: [ ^nil ]. ^self openMenuIn: [:labels :lines :caption | UIManager default chooseFrom: labels lines: lines title: caption] but that we could specify the action to be executed instead. to me CompilerException should have nothing to do with UI and popup. Then we should be able to pass objects that knows how to handle the errors in interactive way or not. As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. Stef [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address name phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e halt ] Here we catch the error, and you can handle it. Now it is not easily possible to resume the error, because you want a global instead and Opal expects a temp (there are way to resume but with very deep stack manipulation that I do not want to show to young pharoers present on this mailing list). So the best is to retry it. One solution is therefore: [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | Smalltalk at: e node name put: StubRootClass. e retry ] with e node name answering #AnUnknownClass here. Now you need to make sure that the exception block is executed for the case of a missing superclass and not something else or you will end up creating loads of globals. The exception block should be something similar to: [ :e | e node name first isUppercase and: [ some condition ] ifTrue: [ Smalltalk at: e node name put: StubRootClass. ^ e retry ]. e pass ] How to undefined and OCUndeclaredVariableWarning relate? In your case, while loading from Monticello the code is compiled and evaluated in non interactive mode. Therefore it cannot trigger the default action of OCUndeclaredVariableWarning which is a UI event. So it sets by default the unknown global to: Undeclared at: varName asSymbol put: nil. OCUndeclaredVariable new name: varName asSymbol in: OCUndeclaredVariableWarning defaultAction which then later triggers the code in UndefinedObject.
Re: [Pharo-dev] [ANN] Roassal 3d
Hi Alexandre, Ronie, Milton, first: this is a cool project! Then a few comments: 1. When using the script in a fresh Pharo3.0 Latest update: #30620 it complains: This package depends on the following classes: ROAthensMorph You must resolve these dependencies before you will be able to load these definitions: R3MorphOverlay clear Nonetheless one can proceed and it loads 2. If I use the samples from the tutorial PDF and copy them into a Pharo workspace they are not accepted by Pharo - looks like an encoding issue in the PDF (when copying from Adobe PDF viewer on Windows into Pharo) When I type the samples manually they work 3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. 4. Did I already told you that this is a cool project? 5. See 4. Bye T.
Re: [Pharo-dev] Komitter
Does Kommitter enables partial commits (cherry picking) for a package? If so, my question is how does it deal with MC ancestry? Imagine I have a package- A.247 from my-trunk. I merge some A.312 from my-work repository with work in progress. Now I want to cherry pick the changes which are OK, and publish only those to my-trunk. I do so in my-trunk/A.313. Will A.312 be in the ancestry of A.313? Logically as MC is working, yes, because it is in the ancestry of in-image working copy. What if I later download A.313 from my-trunk in a fresh image and try to merge A.312 to finish the work in progress? IMO, this is not possible, A312 being an ancestor, no change will happen. So, it sounds like when I committed my-trunk/A.313 with partial changes, I should have commited my-work/A.314 immediately after with the rest of pending changes... If I forgot to do so and threw my image away, from a fresh image, it is still possible to load A.312, merge A.313, and publish A.314 in my-work repo. But then it rather complicates the flow... If we commit/merge carelessly, we might throw away some valuable work in progress. The fear of such scenario prevented us to integrate a change from Bert in Squeak/trunk enabling such partial commits (directly from MC UI in Squeak case). 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr +1 Thanks once more for your effort. This is a really important tool for me. Uko
Re: [Pharo-dev] Komitter
Nicolas From what I understand Kommitter just filters the entities that will be passed as modified and as such does not change the ancestry of a package. Stef On Dec 4, 2013, at 8:12 PM, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: Does Kommitter enables partial commits (cherry picking) for a package? If so, my question is how does it deal with MC ancestry? Imagine I have a package- A.247 from my-trunk. I merge some A.312 from my-work repository with work in progress. Now I want to cherry pick the changes which are OK, and publish only those to my-trunk. I do so in my-trunk/A.313. Will A.312 be in the ancestry of A.313? Logically as MC is working, yes, because it is in the ancestry of in-image working copy. What if I later download A.313 from my-trunk in a fresh image and try to merge A.312 to finish the work in progress? IMO, this is not possible, A312 being an ancestor, no change will happen. So, it sounds like when I committed my-trunk/A.313 with partial changes, I should have commited my-work/A.314 immediately after with the rest of pending changes... If I forgot to do so and threw my image away, from a fresh image, it is still possible to load A.312, merge A.313, and publish A.314 in my-work repo. But then it rather complicates the flow... If we commit/merge carelessly, we might throw away some valuable work in progress. The fear of such scenario prevented us to integrate a change from Bert in Squeak/trunk enabling such partial commits (directly from MC UI in Squeak case). 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr +1 Thanks once more for your effort. This is a really important tool for me. Uko
Re: [Pharo-dev] Komitter
Err, from a fresh image, we should not merge A.313 but adopt it in our ancestry, else merging will remove all the pending changes... 2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com Does Kommitter enables partial commits (cherry picking) for a package? If so, my question is how does it deal with MC ancestry? Imagine I have a package- A.247 from my-trunk. I merge some A.312 from my-work repository with work in progress. Now I want to cherry pick the changes which are OK, and publish only those to my-trunk. I do so in my-trunk/A.313. Will A.312 be in the ancestry of A.313? Logically as MC is working, yes, because it is in the ancestry of in-image working copy. What if I later download A.313 from my-trunk in a fresh image and try to merge A.312 to finish the work in progress? IMO, this is not possible, A312 being an ancestor, no change will happen. So, it sounds like when I committed my-trunk/A.313 with partial changes, I should have commited my-work/A.314 immediately after with the rest of pending changes... If I forgot to do so and threw my image away, from a fresh image, it is still possible to load A.312, merge A.313, and publish A.314 in my-work repo. But then it rather complicates the flow... If we commit/merge carelessly, we might throw away some valuable work in progress. The fear of such scenario prevented us to integrate a change from Bert in Squeak/trunk enabling such partial commits (directly from MC UI in Squeak case). 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr +1 Thanks once more for your effort. This is a really important tool for me. Uko
Re: [Pharo-dev] Opal hook?
On 04 Dec 2013, at 20:02, Stéphane Ducasse stephane.duca...@inria.fr wrote: AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook' executes the default action for OCUndeclaredVariableWarning, which is opening a pop-up titled: Unknown variable Here the error is raised at compilation time, therefore it would have no effect to wrap this with a #on:do: I to me CompilerException should have nothing to do with UI and popup. Then we should be able to pass objects that knows how to handle the errors in interactive way or not. As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. The whole exception / error handling of the compiler needs to be deeply rethought. Sadly I have no cycles free in my brain to even start to think about it, and, even more important, we should wait until the old Compiler is removed… Marcus
Re: [Pharo-dev] [ANN] Roassal 3d
Hi Alexandre, Ronie, Milton, first: this is a cool project! Then a few comments: 1. When using the script in a fresh Pharo3.0 Latest update: #30620 it complains: This package depends on the following classes: ROAthensMorph You must resolve these dependencies before you will be able to load these definitions: R3MorphOverlay clear Nonetheless one can proceed and it loads This is a bug, we are working to fix it. 2. If I use the samples from the tutorial PDF and copy them into a Pharo workspace they are not accepted by Pharo - looks like an encoding issue in the PDF (when copying from Adobe PDF viewer on Windows into Pharo) When I type the samples manually they work There is an issue with dropbox and PDF. You can download the file and open it, that should work. 3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. We are going to review|work on that 4. Did I already told you that this is a cool project? 5. See 4. Thank you Bye 2013/12/4 Torsten Bergmann asta...@gmx.de Hi Alexandre, Ronie, Milton, first: this is a cool project! Then a few comments: 1. When using the script in a fresh Pharo3.0 Latest update: #30620 it complains: This package depends on the following classes: ROAthensMorph You must resolve these dependencies before you will be able to load these definitions: R3MorphOverlay clear Nonetheless one can proceed and it loads 2. If I use the samples from the tutorial PDF and copy them into a Pharo workspace they are not accepted by Pharo - looks like an encoding issue in the PDF (when copying from Adobe PDF viewer on Windows into Pharo) When I type the samples manually they work 3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. 4. Did I already told you that this is a cool project? 5. See 4. Bye T.
Re: [Pharo-dev] [ANN] Roassal 3d
On 04 Dec 2013, at 20:30, milton mamani akeval...@gmail.com wrote: 3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. even better: have a jerkins build where people can download an image… Marcus
Re: [Pharo-dev] Opal hook?
As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. The whole exception / error handling of the compiler needs to be deeply rethought. Sadly I have no cycles free in my brain to even start to think about it, and, even more important, we should wait until the old Compiler is removed… Ok I will check something on UndefinedObject to start with. Then it would be fun to prototype a kind of strategy hiearchy on the side (extracted from also) behavior of OCSemanticsError It was nice to see it and since now I'm ok to have a look at the compiler code it was interesting. Stef Marcus
Re: [Pharo-dev] Opal hook?
On 04 Dec 2013, at 20:34, Stéphane Ducasse stephane.duca...@inria.fr wrote: As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. The whole exception / error handling of the compiler needs to be deeply rethought. Sadly I have no cycles free in my brain to even start to think about it, and, even more important, we should wait until the old Compiler is removed… Ok I will check something on UndefinedObject to start with. Then it would be fun to prototype a kind of strategy hiearchy on the side (extracted from also) behavior of OCSemanticsError It was nice to see it and since now I'm ok to have a look at the compiler code it was interesting. The current design is motivated mostly by backward compatibility, not anything else. Marcus
Re: [Pharo-dev] Opal hook?
Ok I will check something on UndefinedObject to start with. Then it would be fun to prototype a kind of strategy hiearchy on the side (extracted from also) behavior of OCSemanticsError It was nice to see it and since now I'm ok to have a look at the compiler code it was interesting. The current design is motivated mostly by backward compatibility, not anything else. I see :) I would really to see an headless, interactive and scriptable scenarios to be exercised. So this is good it will get better :) Stef
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/30621 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] 4f381f: 30621
Branch: refs/heads/3.0 Home: https://github.com/pharo-project/pharo-core Commit: 4f381f0027728a768390f2f648edbdb1ac123088 https://github.com/pharo-project/pharo-core/commit/4f381f0027728a768390f2f648edbdb1ac123088 Author: Jenkins Build Server bo...@pharo-project.org Date: 2013-12-04 (Wed, 04 Dec 2013) Changed paths: A CodeImport.package/MethodDeclaration.class/instance/importing/handleMissingBehavior.st M CodeImport.package/MethodDeclaration.class/instance/importing/importFor_.st A CodeImport.package/MissingClassError.class/README.md A CodeImport.package/MissingClassError.class/class/instance creation/className_.st A CodeImport.package/MissingClassError.class/definition.st A CodeImport.package/MissingClassError.class/instance/accessing/className_.st A CodeImport.package/MissingClassError.class/instance/accessing/superclassName.st A CodeImport.package/MissingClassError.class/instance/accessing/superclassName_.st A CodeImport.package/MissingClassError.class/instance/actions/asResumable.st A CodeImport.package/MissingClassError.class/instance/actions/defineClass.st A CodeImport.package/MissingClassError.class/instance/testing/isResumable.st M Komitter.package/Komitter.class/instance/accessing/stagingArea.st R Komitter.package/Komitter.class/instance/opening/open.st M Komitter.package/Komitter.class/instance/opening/openAndCommitToMonticello.st A Komitter.package/Komitter.class/instance/opening/openAndDo_.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script276.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30621.st M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st M Spec-Core.package/DialogWindowModel.class/instance/initialize/initialize.st M Spec-Core.package/SpecDialogWindow.class/instance/accessing/toolbar_.st M Spec-Core.package/SpecDialogWindow.class/instance/protocol/setToolbarFrom_.st M Spec-Core.package/TextInputFieldModel.class/instance/initialization/initialize.st A Spec-MorphicAdapters.package/MorphicDialogWindowAdapter.class/instance/spec protocol/toolbar_.st A Spec-MorphicAdapters.package/MorphicTextInputFieldAdapter.class/instance/spec protocol/encrypted_.st M Spec-MorphicAdapters.package/SpecTreeNodeModel.class/instance/protocol/lastClicked_.st Log Message: --- 30621 - issue 12317: Better way to let the user handle missing class when loading code https://pharo.fogbugz.com/f/cases/12317/Better-way-to-let-the-user-handle-missing-class-when-loading-code - issue 12335: Some fixes https://pharo.fogbugz.com/f/cases/12335/Some-fixes - issue 12336: Do not open Komitter modal https://pharo.fogbugz.com/f/cases/12336/Do-not-open-Komitter-modal http://files.pharo.org/image/30/30621.zip
[Pharo-dev] [update 3.0] #30621
30621 - - issue 12317: Better way to let the user handle missing class when loading code https://pharo.fogbugz.com/f/cases/12317/Better-way-to-let-the-user-handle-missing-class-when-loading-code - issue 12335: Some fixes https://pharo.fogbugz.com/f/cases/12335/Some-fixes - issue 12336: Do not open Komitter modal https://pharo.fogbugz.com/f/cases/12336/Do-not-open-Komitter-modal Diff information: http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-MorphicAdapters-StephaneDucasse.91.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Spec-Core-StephaneDucasse.254.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/Komitter-StephaneDucasse.58.diff http://smalltalkhub.com/mc/Pharo/Pharo30/main/CodeImport-StephaneDucasse.42.diff
[Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me
Here’s a new slice, the corresponding packages are in the inbox. SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz Description: Binary data
Re: [Pharo-dev] Komitter
On 04 Dec 2013, at 20:12, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: Does Kommitter enables partial commits (cherry picking) for a package? If so, my question is how does it deal with MC ancestry? Imagine I have a package- A.247 from my-trunk. I merge some A.312 from my-work repository with work in progress. Now I want to cherry pick the changes which are OK, and publish only those to my-trunk. I do so in my-trunk/A.313. Will A.312 be in the ancestry of A.313? Logically as MC is working, yes, because it is in the ancestry of in-image working copy. What if I later download A.313 from my-trunk in a fresh image and try to merge A.312 to finish the work in progress? IMO, this is not possible, A312 being an ancestor, no change will happen. This is indeed what is happening. A solution would be to allow to merge with an ancestor. After some investigation, it’s doable. The “problem” is I do not know how to detect that a version has been “fully-merged already or not. But with the patch is juste made, you can merge with your ancestors. Another approach would be the git one. When you merge, you commit automatically the merge. Ben So, it sounds like when I committed my-trunk/A.313 with partial changes, I should have commited my-work/A.314 immediately after with the rest of pending changes... If I forgot to do so and threw my image away, from a fresh image, it is still possible to load A.312, merge A.313, and publish A.314 in my-work repo. But then it rather complicates the flow... If we commit/merge carelessly, we might throw away some valuable work in progress. The fear of such scenario prevented us to integrate a change from Bert in Squeak/trunk enabling such partial commits (directly from MC UI in Squeak case). 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr +1 Thanks once more for your effort. This is a really important tool for me. Uko
Re: [Pharo-dev] Opal hook?
Steph, each time you want to evaluate something, do you agree that this involves - a parse phase of the expression you want to evaluate to create an AST - a code generation phase from AST - bytecodes to generate a CompiledMethod - the evaluation phase itself which evaluates above CompiledMethod with appropriate receiver (nil generally) I didn't check OPAL, but do you agree that the semantic analysis determining which are those variables you called {'AnUnknownClass'. 'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen somewhere between AST and CompiledMethod creation? So if there is a semantic exception, like UndeclaredVariable, how would the CompiledMethod be generated in the first place? If it's not generated, how would it be executed? If it's not executed, how would the message on:do: be sent to a block with 2 arguments? Unless you suggest to attempt executing a ParseTree which is known to be defectuous... 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook' executes the default action for OCUndeclaredVariableWarning, which is opening a pop-up titled: Unknown variable Here the error is raised at *compilation time, *therefore it would have* no effect to wrap this with a #on:do: * I do not understand why if an exception is raised why I cannot trap it. [AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do: [ self halt.] does not halt. The fact that is is at compilation time does not mean anything to me. So why? I'm totally confused by this bad and unexpected behavior. Do you imply that the warning is already trapped and that I cannot take precedence? Probably but this has nothing to do with compilation time. Then to me OCSemanticWarning should be enhanced so that we do not get these silly menus. An exception should work and clients should be able to customise it to (for example introduce menu and dialog with the users but they should not be the only default. We see again this plague of interactive environment not being rethought in the 2013 age. defaultAction self errorNotification ifFalse: [ ^nil ]. ^self openMenuIn: [:labels :lines :caption | UIManager default chooseFrom: labels lines: lines title: caption] but that we could specify the action to be executed instead. to me CompilerException should have nothing to do with UI and popup. Then we should be able to pass objects that knows how to handle the errors in interactive way or not. As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. Stef [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address name phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e halt ] Here we catch the error, and you can handle it. Now it is not easily possible to resume the error, because you want a global instead and Opal expects a temp (there are way to resume but with very deep stack manipulation that I do not want to show to young pharoers present on this mailing list). So the best is to retry it. One solution is therefore: [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | Smalltalk at: e node name put: StubRootClass. e retry ] with e node name answering #AnUnknownClass here. Now you need to make sure that the exception block is executed for the case of a missing superclass and not something else or you will end up creating loads of globals. The exception block should be something similar to: [ :e | e node name first isUppercase and: [ some condition ] ifTrue: [ Smalltalk at: e node name put: StubRootClass. ^ e retry ]. e pass ] *How to undefined and OCUndeclaredVariableWarning relate?* In your case, while loading from Monticello the code is compiled and evaluated in non interactive mode. Therefore it cannot trigger the default action of OCUndeclaredVariableWarning which is a UI event. So it sets by default the unknown global to: Undeclared at: varName asSymbol put: nil.
Re: [Pharo-dev] [ANN] Roassal 3d
Hi Stephan! Nice! Thanks! When loading the configuration as shown in the manual, there was a complaint about a class not found yet. Sorry about that. An incorrect version contained in a baseline went through our tests. The problem is now fixed. The examples showed up fine though. They look great. Thanks! The first one with the square/cube I couldn’t get the camera viewpoint to move to where I could see it was a cube. That worked much better with the later examples. The session management isn’t working out well: saving the image with an open view and quitting, the image crashed on restart. Yes! Next week I will be in Lille, I hope to fix this I’m looking forward to adding some 3D views to PetitDelphi. That would be truly amazing! Cheers, Alexandre
Re: [Pharo-dev] Opal hook?
I forgot to add that the OCUndeclaredVariableWarning was already handled at semantic analysis. Do you suggest that default behavior should be to handle and retry instead of handle and return? One way to achieve what you are asking would be to initialize the Undeclared entry to some kind of ProtoObject that does not understand anything and rethrow a OCUndeclaredVariableWarning instead of a MessageNotUnderstood... (very uneasy to debug, since the Debugger itself is querying the receiver etc... - unless Debugger is using basic mirror primitives) 2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com Steph, each time you want to evaluate something, do you agree that this involves - a parse phase of the expression you want to evaluate to create an AST - a code generation phase from AST - bytecodes to generate a CompiledMethod - the evaluation phase itself which evaluates above CompiledMethod with appropriate receiver (nil generally) I didn't check OPAL, but do you agree that the semantic analysis determining which are those variables you called {'AnUnknownClass'. 'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen somewhere between AST and CompiledMethod creation? So if there is a semantic exception, like UndeclaredVariable, how would the CompiledMethod be generated in the first place? If it's not generated, how would it be executed? If it's not executed, how would the message on:do: be sent to a block with 2 arguments? Unless you suggest to attempt executing a ParseTree which is known to be defectuous... 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook' executes the default action for OCUndeclaredVariableWarning, which is opening a pop-up titled: Unknown variable Here the error is raised at *compilation time, *therefore it would have* no effect to wrap this with a #on:do: * I do not understand why if an exception is raised why I cannot trap it. [AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do: [ self halt.] does not halt. The fact that is is at compilation time does not mean anything to me. So why? I'm totally confused by this bad and unexpected behavior. Do you imply that the warning is already trapped and that I cannot take precedence? Probably but this has nothing to do with compilation time. Then to me OCSemanticWarning should be enhanced so that we do not get these silly menus. An exception should work and clients should be able to customise it to (for example introduce menu and dialog with the users but they should not be the only default. We see again this plague of interactive environment not being rethought in the 2013 age. defaultAction self errorNotification ifFalse: [ ^nil ]. ^self openMenuIn: [:labels :lines :caption | UIManager default chooseFrom: labels lines: lines title: caption] but that we could specify the action to be executed instead. to me CompilerException should have nothing to do with UI and popup. Then we should be able to pass objects that knows how to handle the errors in interactive way or not. As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. Stef [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address name phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e halt ] Here we catch the error, and you can handle it. Now it is not easily possible to resume the error, because you want a global instead and Opal expects a temp (there are way to resume but with very deep stack manipulation that I do not want to show to young pharoers present on this mailing list). So the best is to retry it. One solution is therefore: [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | Smalltalk at: e node name put: StubRootClass. e retry ] with e node name answering #AnUnknownClass here. Now you need to make sure that the exception block is executed for the case of a missing superclass and not something else or
Re: [Pharo-dev] [ANN] Roassal 3d
3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. even better: have a jerkins build where people can download an image… That would be great. How to do this? Cheers, Alexandre
Re: [Pharo-dev] Opal hook?
2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com I forgot to add that the OCUndeclaredVariableWarning was already handled at semantic analysis. This is not the case. The OCUndeclaredVariableWarning is handled in the default action. Therefore anyone can catch it. In this case for instance: [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address name phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e halt ] The Semantic warning is caught outside of the semantic analysis and it works perfectly fine. The only thing is that you need to retry the error and not resume it to restart the semantic analysis (or you have an inconsistent execution state in the semantic analysis visitor). Do you suggest that default behavior should be to handle and retry instead of handle and return? One way to achieve what you are asking would be to initialize the Undeclared entry to some kind of ProtoObject that does not understand anything and rethrow a OCUndeclaredVariableWarning instead of a MessageNotUnderstood... (very uneasy to debug, since the Debugger itself is querying the receiver etc... - unless Debugger is using basic mirror primitives) 2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com Steph, each time you want to evaluate something, do you agree that this involves - a parse phase of the expression you want to evaluate to create an AST - a code generation phase from AST - bytecodes to generate a CompiledMethod - the evaluation phase itself which evaluates above CompiledMethod with appropriate receiver (nil generally) I didn't check OPAL, but do you agree that the semantic analysis determining which are those variables you called {'AnUnknownClass'. 'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen somewhere between AST and CompiledMethod creation? So if there is a semantic exception, like UndeclaredVariable, how would the CompiledMethod be generated in the first place? If it's not generated, how would it be executed? If it's not executed, how would the message on:do: be sent to a block with 2 arguments? Unless you suggest to attempt executing a ParseTree which is known to be defectuous... 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook' executes the default action for OCUndeclaredVariableWarning, which is opening a pop-up titled: Unknown variable Here the error is raised at *compilation time, *therefore it would have* no effect to wrap this with a #on:do: * I do not understand why if an exception is raised why I cannot trap it. [AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do: [ self halt.] does not halt. The fact that is is at compilation time does not mean anything to me. So why? I'm totally confused by this bad and unexpected behavior. Do you imply that the warning is already trapped and that I cannot take precedence? Probably but this has nothing to do with compilation time. Then to me OCSemanticWarning should be enhanced so that we do not get these silly menus. An exception should work and clients should be able to customise it to (for example introduce menu and dialog with the users but they should not be the only default. We see again this plague of interactive environment not being rethought in the 2013 age. defaultAction self errorNotification ifFalse: [ ^nil ]. ^self openMenuIn: [:labels :lines :caption | UIManager default chooseFrom: labels lines: lines title: caption] but that we could specify the action to be executed instead. to me CompilerException should have nothing to do with UI and popup. Then we should be able to pass objects that knows how to handle the errors in interactive way or not. As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. Stef [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address name phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e halt ] Here we catch the error, and you can handle it. Now it is not easily possible to
Re: [Pharo-dev] [ANN] Roassal 3d
3. Providing a script is so old style and hard to remember - why not define a #stable and put your config into MetaRepoForPharo30 So others can easily load it via ConfigurationBrowser with a few clicks in a fresh image. Yes! You’re very right. Can you add me as a contributor to MetaRepoForPharo30 ? I need this to commit right? I added you, but I think you can also commit without since this is in group Pharo, so I think anyone who contributes to Pharo is able to contribute to the meta repo for configs bye T.
Re: [Pharo-dev] Convert to Athens
I've updated to the latest of Athens and I still get this bug, except now the square appears at 0@1. Cheers, Jeff On Wed, Dec 4, 2013 at 6:35 PM, J.F. Rick s...@je77.com wrote: Here's a piece of code to demonstrate the problem: AthensWrapMorph new extent: 300@300; addMorph: (Morph new position: 100@100; extent: 100@100; yourself); openInWorld. I think this should draw a blue square at 100@100. Instead, it draws a blue square at 0@0. What am I doing wrong? Cheers, Jeff On Wed, Dec 4, 2013 at 6:17 PM, J.F. Rick s...@je77.com wrote: I'm facing some problems with AthensWrapMorph. Basically, when I add a morph, I can't change its position. It just stays in the top left. Whatever I try to do to change its position (self position: 100@100) does not work. Cheers, Jeff On Wed, Nov 20, 2013 at 5:04 PM, J.F. Rick s...@je77.com wrote: Thanks. It works. I already have found a few bugs and one thing I don't understand. (1) A few Paint things seem to implement athensFillRectangle:on: and athensFillPath:on: rather than fillRectangle:on: and fillPath:on:. It seems like it should be the latter rather than the former. I changed the names and the evil rectangle of doom disappeared. (2) Using the AthenWrapMorph, it seems that the bottom row of pixels is not rendered or clipped. I can stop this phenomenon by changing the createSurface method to have the extent be 0@1 bigger. While that works, it seems like there's a bug somewhere in AthensCairoSurface. (3) I ended up changing a morph so that it should render differently. In standard Pharo, I just use self changed and it updates. Is there an equivalent in Athens? Do I have to explicitly tell Athens to rerender it? If so, how? I tried self render but that did not seem to help. Cheers, Jeff On Wed, Nov 20, 2013 at 11:08 AM, Igor Stasenko siguc...@gmail.comwrote: http://www.smalltalkhub.com/#!/~Pharo/Athens On 20 November 2013 09:04, J.F. Rick s...@je77.com wrote: Right. Where is this Athens repository? I have the latest in Pharo30/main (Athens-Morphic-MarcusDenker.23.mcz) and that does not seem to include AthensWrapperMorph. Cheers, Jeff On Wed, Nov 20, 2013 at 8:35 AM, Igor Stasenko siguc...@gmail.comwrote: On 19 November 2013 17:42, J.F. Rick s...@je77.com wrote: Indeed. I would like to know that. It doesn't seem to be included in the latest Pharo 3.0. it could be not yet included. in that case, load most recent Athens-Morphic package from athens repository. Cheers, Jeff On Fri, Nov 15, 2013 at 7:34 PM, Hilaire Fernandes hilaire.fernan...@gmail.com wrote: Le 15/11/2013 14:17, Igor Stasenko a écrit : for transition , i implemented a special morph, AthensWrapMorph which wraps (as its name says) its children morphs and forces them to be rendered by athens (the child morphs will never receive #drawOn: but #drawOnAthensCanvas: instead ). I guess Jeff, may want to know where to find this wrapper. Hilaire -- Dr. Geo http://drgeo.eu -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default
Thanks for the input. The problem with ReadStream and WriteStream is that they (at least in 2.0 and 3.0) never supported switching in the first place. #binary and #ascii simply answer self. That means the collection the stream operates on predetermines the output. I’ve noticed a couple of different approaches to solving this problem in the way that streams are used throughout the image and I want to make a list of those to see if there’s some kind of pattern that maybe leads to an acceptable version with little changes as opposed to an optimal version where we have to change a lot of the implemenation details of streams. Cheers, Max On 04.12.2013, at 19:45, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: Here would be the Xtream way IMHO: 1) At the end, the file should be handled as binary. 2) A facade BivalentReadStream (and BivalentWriteStream) would be created, able to switch encoding 3) The implementation would be to wrap either directly over the binary stream, or indirectly over an encoded stream which wraps other the binary stream. 4) For write, the facade should just ensure that buffers (if any) are properly flushed, and then just delegate to specialized wrapped streams. 5) For read, it might be a bit more involved if some buffer were used in intermediate wrappers, because they should push back the excess bytes read and restore the state of lower level binary stream... In all case, all should happen thru delegation and the facade should be rather dumb. 2013/12/4 Sven Van Caekenberghe s...@stfx.eu On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote: Let me see what I can come up with. To be somewhat compatible with existing streams, your memory stream should have the concept of ‘i am binary or textual’ and be able to switch in-place between these two states (#binary, #ascii). Depending on its state it should then return bytes or characters (or collections thereof). Have a look at ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut: To be 100% correct, encoding should be selectable. But maybe a default to utf-8 would be enough. You could have a look at ZnCharacter[Read|Write]Stream for inspiration. My 2c. On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote: Thanks Max for the report. Do you have an idea on how we could solve the problem ? The previous behaviour was not acceptable either because the streams that came out of a memory filesystem were the only ones with binary content On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote: Damien, Marcus this change breaks a lot of things in FileSystem-Git. I don’t disagree with the idea that reading characters should be default (one could argue about it…) but your change makes it IMPOSSIBLE to read bytes because unprintable characters are discarded! So if my ByteArray is a NULL terminated string, for instance, I can not check for the NULL termination anymore. Cheers, Max
[Pharo-dev] Smalltalker meeting at Prague
Hi guys I will be at Prague teaching from 9 to 13 december and we can organise a Smalltalker gathering for example after work. Tell me if you are interested. Stef
[Pharo-dev] Lectures at Prague
Alive and Kicking This presentation will discuss some successes stories around Smalltalk such AMD 64 bits, OOCL (http://www.oocl.com/), MediaGenix (www.mediagenix.tv), LAMRC (http://www.lamrc.com), netstyle.ch or yesplan.be. Then I will talk about Pharo and the recent advances in Pharo 20 and 30 alpha. More importantly I will give an overview of all the partners and shows that Pharo is composed of a really strong community of academic partners, research groups and companies. In addition I will stress that Pharo is YOUR open-source platform and that if you start to consider it as it then suddenly you realise that you want to improve it and that you can get an impact and influence Pharo's future and your future. I will finish by an key example showing the essence of object-oriented programming and prove to the audience that this is because of such example that Pharo is one of the best system to understand deeply object-oriented programming from its roots. Bio: Stephane leads the RMoD (http://rmod.lille.inria.fr) team. He is expert in two domains: object-oriented language design and reengineering. He worked on traits, composable groups of methods, and this work got some impact. Traits have been introduced in AmbiantTalk, and Squeak/Pharo, Perl, PHP and under a variant into Scala, Fortress of SUN Microsystems. He is one of the developer of Pharo http://www.pharo.org/ a new dynamic language used in industry and academia. He is also expert on software quality, program understanding, program visualizations, reengineering and metamodeling. He is one of the developer of Moose, an open-source software analysis platform http://www.moosetechnology.org/. He is working with http://www.synectique.eu/ a company building dedicated tools for advanced software analysis. He wrote several books: Pharo by Example and Deep into Pharo. He is president of ESUG http://www.esug.org Lecture: Prague Monday 9 December at The lecture starts at 4:15pm in the new Czech National Technical Library There will be a workshop wednesday / thursday afternoon Stef
Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me
It would be nice if someone else but me could do this… small things like this can suck away *all* time if only one person does them. (and no, I *never* had problems to submit a slice…) On 04 Dec 2013, at 20:54, Stephan Eggermont step...@stack.nl wrote: Here’s a new slice, the corresponding packages are in the inbox. SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz
Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me
Noted. Thanks Marcus. On 05.12.2013, at 08:10, Marcus Denker marcus.den...@inria.fr wrote: It would be nice if someone else but me could do this… small things like this can suck away *all* time if only one person does them. (and no, I *never* had problems to submit a slice…) On 04 Dec 2013, at 20:54, Stephan Eggermont step...@stack.nl wrote: Here’s a new slice, the corresponding packages are in the inbox. SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz
Re: [Pharo-dev] 12259: FileSystem memory reads writesusing a binary stream by default
On Dec 5, 2013, at 7:48 AM, Max Leske maxle...@gmail.com wrote: Thanks for the input. The problem with ReadStream and WriteStream is that they (at least in 2.0 and 3.0) never supported switching in the first place. #binary and #ascii simply answer self. That means the collection the stream operates on predetermines the output. I’ve noticed a couple of different approaches to solving this problem in the way that streams are used throughout the image and I want to make a list of those to see if there’s some kind of pattern that maybe leads to an acceptable version with little changes as opposed to an optimal version where we have to change a lot of the implemenation details of streams. thanks such analysis is indeed important. Cheers, Max On 04.12.2013, at 19:45, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: Here would be the Xtream way IMHO: 1) At the end, the file should be handled as binary. 2) A facade BivalentReadStream (and BivalentWriteStream) would be created, able to switch encoding 3) The implementation would be to wrap either directly over the binary stream, or indirectly over an encoded stream which wraps other the binary stream. 4) For write, the facade should just ensure that buffers (if any) are properly flushed, and then just delegate to specialized wrapped streams. 5) For read, it might be a bit more involved if some buffer were used in intermediate wrappers, because they should push back the excess bytes read and restore the state of lower level binary stream... In all case, all should happen thru delegation and the facade should be rather dumb. 2013/12/4 Sven Van Caekenberghe s...@stfx.eu On 04 Dec 2013, at 13:14, Max Leske maxle...@gmail.com wrote: Let me see what I can come up with. To be somewhat compatible with existing streams, your memory stream should have the concept of ‘i am binary or textual’ and be able to switch in-place between these two states (#binary, #ascii). Depending on its state it should then return bytes or characters (or collections thereof). Have a look at ZnLimitedReadStream#next and/or ZnBivalentWriteStream#nextPut: To be 100% correct, encoding should be selectable. But maybe a default to utf-8 would be enough. You could have a look at ZnCharacter[Read|Write]Stream for inspiration. My 2c. On 03.12.2013, at 19:36, Damien Cassou damien.cas...@gmail.com wrote: Thanks Max for the report. Do you have an idea on how we could solve the problem ? The previous behaviour was not acceptable either because the streams that came out of a memory filesystem were the only ones with binary content On Dec 3, 2013 5:35 PM, Max Leske maxle...@gmail.com wrote: Damien, Marcus this change breaks a lot of things in FileSystem-Git. I don’t disagree with the idea that reading characters should be default (one could argue about it…) but your change makes it IMPOSSIBLE to read bytes because unprintable characters are discarded! So if my ByteArray is a NULL terminated string, for instance, I can not check for the NULL termination anymore. Cheers, Max
Re: [Pharo-dev] [Nautilus] Selecting package
Hi Stef, I spoke with Esteban before, however thanks for the clarification. IMHO however the current structure is confusing, and names are misleading. The thing about packages, categories, namespaces and what not has always been not perfect for me, nor in Pharo nor in many other PLs. The way I would have done it, conceptually, independently of Nautilus, Monticello and whatever else is the following: A package is a container used to structure a project, it contains - zero or more classes - zero or more other packages this is the world of bisounours welcome to reality. This model would be damn simple, and consistent and not covering what we want :) and you should not explicitly think about how to structure your things.. I can create a package ‘DFlow’ put some classes, then I create another package 'DFlow-Core’ which *automatically* goes into the ‘DFlow’ package because it starts with the same prefix plus the dash, we do not want to rely on naming conventions. Now this has been discussed during a couple of years. so look for it and esteban spent 5 months on it so do you think that it was that simple? which is somewhat our convention, right? And however we can think of mechanisms to cope with other kind of automatic sub-packaging and/or manual removal (in case our heuristics fail). I can think to a lot of nice solutions but after you should have solutions - scale - migrate - fit people practices For me having packages, groups, tags, and categories is too much. We are killing categories and I would have removed it completely (not having tags) but people and practice showed that they were needed Then groups is just so handy I use that all the time. Then I do not understand why you bother. The point is that each of these objects should reply polymorphically to the same message probably allClasses, extensions, … if this is not the case then this is also easy we should add these messages. If you do not have specific entities you are forced to have conditionals and it starts to get ugy and not modular so I do not see your problems. OO design is your friend but it requires time to deeply understand it.
Re: [Pharo-dev] Opal hook?
On Dec 4, 2013, at 10:02 PM, Clément Bera bera.clem...@gmail.com wrote: It didn't halt on your machine because you didn't copy and paste the code that halts (i guess I wrote too much code in the mail so it was not clear). You copied the code that I explicitly said that doesn't halt because the error is raised at compilation time. I saw it do not worry. I was just shocked by the state of the exceptions. This code halts (copy, paste and run it you will see): [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address name phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e halt ] We can discuss this another day when you have time because seemingly my mail was not clear (you said you couldn't trap the semantic warning). Now I'm really sick today so we can discuss friday or next week. rest well 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr Ok I will check something on UndefinedObject to start with. Then it would be fun to prototype a kind of strategy hiearchy on the side (extracted from also) behavior of OCSemanticsError It was nice to see it and since now I'm ok to have a look at the compiler code it was interesting. The current design is motivated mostly by backward compatibility, not anything else. I see :) I would really to see an headless, interactive and scriptable scenarios to be exercised. So this is good it will get better :) Stef
[Pharo-dev] [pharo-project/pharo-core] 2a2066: 30622
Branch: refs/heads/3.0 Home: https://github.com/pharo-project/pharo-core Commit: 2a2066a1c5cc797ddd25e470115ab7ed577d3afd https://github.com/pharo-project/pharo-core/commit/2a2066a1c5cc797ddd25e470115ab7ed577d3afd Author: Jenkins Build Server bo...@pharo-project.org Date: 2013-12-04 (Wed, 04 Dec 2013) Changed paths: A Komitter.package/CredentialEditor.class/README.md A Komitter.package/CredentialEditor.class/class/specs/defaultSpec.st A Komitter.package/CredentialEditor.class/definition.st A Komitter.package/CredentialEditor.class/instance/accessing/password.st A Komitter.package/CredentialEditor.class/instance/accessing/passwordLabel.st A Komitter.package/CredentialEditor.class/instance/accessing/showPasswordWidget.st A Komitter.package/CredentialEditor.class/instance/accessing/username.st A Komitter.package/CredentialEditor.class/instance/accessing/usernameLabel.st A Komitter.package/CredentialEditor.class/instance/initialize-release/initializeDialogWindow_.st A Komitter.package/CredentialEditor.class/instance/initialize-release/initializePresenter.st A Komitter.package/CredentialEditor.class/instance/initialize-release/initializeWidgets.st A Komitter.package/CredentialEditor.class/instance/protocol/getPassword.st A Komitter.package/CredentialEditor.class/instance/protocol/getUsername.st A Komitter.package/CredentialEditor.class/instance/protocol/initialExtent.st A Komitter.package/CredentialEditor.class/instance/protocol/setPassword_.st A Komitter.package/CredentialEditor.class/instance/protocol/setUsername_.st A Komitter.package/CredentialEditor.class/instance/protocol/title.st A Komitter.package/KomitRemote.class/instance/as yet unclassified /password.st A Komitter.package/KomitRemote.class/instance/protocol/password_.st A Komitter.package/KomitRemote.class/instance/protocol/username.st A Komitter.package/KomitRemote.class/instance/protocol/username_.st A Komitter.package/Komitter.class/class/protocol/openAndCommitToMonticello.st R Komitter.package/Komitter.class/class/world menu/finderMenuOn_.st A Komitter.package/Komitter.class/class/world menu/initialize.st A Komitter.package/Komitter.class/class/world menu/komitterMenuOn_.st M Komitter.package/KomitterUI.class/instance/initialization/initializeLatelyPresenter.st M Komitter.package/KomitterUI.class/instance/private/openRemoteManager.st A Komitter.package/RemotesManager.class/class/icons/editRemoteIcon.st A Komitter.package/RemotesManager.class/class/private-icons/editRemoteIconData.st M Komitter.package/RemotesManager.class/class/specs/defaultSpec.st M Komitter.package/RemotesManager.class/definition.st R Komitter.package/RemotesManager.class/instance/accessing/addRemote.st A Komitter.package/RemotesManager.class/instance/accessing/addRemoteWidget.st A Komitter.package/RemotesManager.class/instance/accessing/editRemoteWidget.st R Komitter.package/RemotesManager.class/instance/accessing/removeRemote.st A Komitter.package/RemotesManager.class/instance/accessing/removeRemoteWidget.st R Komitter.package/RemotesManager.class/instance/initialization/buildRoots.st A Komitter.package/RemotesManager.class/instance/initialization/initializeDialogWindow_.st M Komitter.package/RemotesManager.class/instance/initialization/initializePresenter.st M Komitter.package/RemotesManager.class/instance/initialization/initializeWidgets.st A Komitter.package/RemotesManager.class/instance/private-icons/editRemoteIcon.st A Komitter.package/RemotesManager.class/instance/private/addRemote.st R Komitter.package/RemotesManager.class/instance/private/addRepository.st A Komitter.package/RemotesManager.class/instance/private/buildRoots.st A Komitter.package/RemotesManager.class/instance/private/editRemote.st A Komitter.package/RemotesManager.class/instance/private/newRemote.st R Komitter.package/RemotesManager.class/instance/private/newRepository.st A Komitter.package/RemotesManager.class/instance/private/removeRemote.st R Komitter.package/RemotesManager.class/instance/private/removeRepository.st M Nautilus.package/MultipleMethodsEditor.class/instance/updating/updateLayoutForSingleWithButtons.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - scripts/script277.st A ScriptLoader30.package/ScriptLoader.class/instance/pharo - updates/update30622.st M ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 30622 12334 Nautilus codepane hides first lines if pin is set https://pharo.fogbugz.com/f/cases/12334 12337 Install global shortcut https://pharo.fogbugz.com/f/cases/12337 12333 Add a button to edit a remote in RemotesManager https://pharo.fogbugz.com/f/cases/12333 http://files.pharo.org/image/30/30622.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/30622 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] Opal hook?
Hi nicolas I forgot to add that the OCUndeclaredVariableWarning was already handled at semantic analysis. Do you suggest that default behavior should be to handle and retry instead of handle and return? I suggest that we can define what is the behavior of handling an exceptional cases. One way to achieve what you are asking would be to initialize the Undeclared entry to some kind of ProtoObject that does not understand anything and rethrow a OCUndeclaredVariableWarning instead of a MessageNotUnderstood... (very uneasy to debug, since the Debugger itself is querying the receiver etc... - unless Debugger is using basic mirror primitives) we should be able to say: when you encounter an undefined do that when you enconter a syntax error do that We should have a list of hooks and exceptional situations and be able to define the actions we want to be performed. This way the compiler would not depend on the UI also :). I love these layers from the past. When you have a UI then you specify new actions which involves popup and other niceties. and in particular exception should not hardcode the popup of menu and other UI related things. So this is not linked to the phases of compilation, this is linked to offering customisable error. Stef 2013/12/4 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com Steph, each time you want to evaluate something, do you agree that this involves - a parse phase of the expression you want to evaluate to create an AST - a code generation phase from AST - bytecodes to generate a CompiledMethod - the evaluation phase itself which evaluates above CompiledMethod with appropriate receiver (nil generally) I didn't check OPAL, but do you agree that the semantic analysis determining which are those variables you called {'AnUnknownClass'. 'OCUndeclaredVariableWarning'. 'self'} and how to bind them, must happen somewhere between AST and CompiledMethod creation? So if there is a semantic exception, like UndeclaredVariable, how would the CompiledMethod be generated in the first place? If it's not generated, how would it be executed? If it's not executed, how would the message on:do: be sent to a block with 2 arguments? Unless you suggest to attempt executing a ParseTree which is known to be defectuous... 2013/12/4 Stéphane Ducasse stephane.duca...@inria.fr AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook' executes the default action for OCUndeclaredVariableWarning, which is opening a pop-up titled: Unknown variable Here the error is raised at compilation time, therefore it would have no effect to wrap this with a #on:do: I do not understand why if an exception is raised why I cannot trap it. [AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: 'customers accountID address name phoneNumber' classVariableNames: '' poolDictionaries: '' category: 'Examples-Cookbook'] on: OCUndeclaredVariableWarning do: [ self halt.] does not halt. The fact that is is at compilation time does not mean anything to me. So why? I'm totally confused by this bad and unexpected behavior. Do you imply that the warning is already trapped and that I cannot take precedence? Probably but this has nothing to do with compilation time. Then to me OCSemanticWarning should be enhanced so that we do not get these silly menus. An exception should work and clients should be able to customise it to (for example introduce menu and dialog with the users but they should not be the only default. We see again this plague of interactive environment not being rethought in the 2013 age. defaultAction self errorNotification ifFalse: [ ^nil ]. ^self openMenuIn: [:labels :lines :caption | UIManager default chooseFrom: labels lines: lines title: caption] but that we could specify the action to be executed instead. to me CompilerException should have nothing to do with UI and popup. Then we should be able to pass objects that knows how to handle the errors in interactive way or not. As a clear example, this is just bad that each time we want to change the UI message we have to change the compiler exception. ugly at wish. I have no cycle to fix that now. I will check if I can get something in UndefinedObject so that I can continue to work on my task. Stef [ OpalCompiler new evaluate: 'AnUnknownClass subclass: #Adaptor1Example instanceVariableNames: ''customers accountID address name phoneNumber'' classVariableNames: poolDictionaries: category: ''Examples-Cookbook''' ] on: OCSemanticWarning do: [ :e | e halt ] Here we catch the error, and you can handle it.
Re: [Pharo-dev] Committing slices to Pharo30Inbox still doesn't work for me
Hi stefan this is strange why would you be the only one that cannot commit slices? Can you do a controlled experience? Stef On Dec 4, 2013, at 8:56 PM, Stephan Eggermont step...@stack.nl wrote: Here’s a new slice, the corresponding packages are in the inbox. SLICE-Issue-12324-There-should-be-no-class-side-implementations-of-packages-except-for-ClassDescription-StephanEggermont.2.mcz