[Pharo-dev] Issue 12865 or "The monkey does not like banana"

2014-02-19 Thread Torsten Bergmann
Dont know why the monkey laments about "ManifestManifestResourcesTests" which 
is 
a class which is neither in original Pharo3.0 Latest update: #30755 nor in 
the latest Pharo3.0 Latest update: #30767.

Even with the second slice he does not like bananas

https://pharo.fogbugz.com/f/cases/12865

Any ideas?

Thx
T.



Re: [Pharo-dev] Estimating the amount of change between Pharo 2.0 and 3.0

2014-02-19 Thread Esteban A. Maringolo
2014-02-19 19:30 GMT-03:00 Sven Van Caekenberghe :
> Here is a simple calculation (that probably can be improved by the reflection 
> or Moose aficionados) to estimate the amount of change between Pharo 2.0 and 
> 3.0 by counting the number of methods in the image that have a timestamp 
> later than 2.0's release date: these should be new or modified.

(snip)

> 14735/(71973/100.0) => ~20 %
> Not bad.

20% of change in Quantity terms is a lot!

We'll never know what that 20% means in Quality terms. More than 20% for sure.

Regards,

--
E.



Re: [Pharo-dev] Desktop Apps with Pharo 3

2014-02-19 Thread Camillo Bruni
On 2014-02-19, at 16:19, Damien Cassou  wrote:
> On Tue, Feb 18, 2014 at 5:26 PM, Noury Bouraqadi  wrote:
>> For my Pharo Lecture I want to show students how to make a desktop app in 
>> Pharo 3.0 (Yes I'm using a Beta for my lecture, because Pharo 3 is cool :-)
> 
> 
> https://ci.inria.fr/pharo-contribution/job/PharoForTheEnterprise/lastSuccessfulBuild/artifact/Deployment/Deployment.pier.html

nice!

Too bad we still have to rely on bash scripts instead of pure Pharo code ;)


signature.asc
Description: Message signed with OpenPGP using GPGMail


[Pharo-dev] [pharo-project/pharo-core] cdf707: 30770

2014-02-19 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: cdf70741a240d2814af2917df6a26b821d731c94
  
https://github.com/pharo-project/pharo-core/commit/cdf70741a240d2814af2917df6a26b821d731c94
  Author: Jenkins Build Server 
  Date:   2014-02-19 (Wed, 19 Feb 2014)

  Changed paths:
M FileSystem-Core.package/Path.class/class/instance 
creation/from_delimiter_.st
M FileSystem-Core.package/Path.class/class/private/addElement_to_.st
M FileSystem-Core.package/Path.class/class/private/addParentElementTo_.st
M FileSystem-Core.package/Path.class/class/private/canonicalizeElements_.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testAbsolutePath.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testAbsolutePrintString.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testAbsoluteWithParents.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testAsReference.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testBasename.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testBasenameWithoutExtension.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testCommaAddsExtension.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testCommaAddsExtensionAgain.st
M FileSystem-Tests-Core.package/PathTest.class/instance/tests/testEqual.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testExtensions.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testMakeRelative.st
M FileSystem-Tests-Core.package/PathTest.class/instance/tests/testParent.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testParentParent.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testParentResolution.st
M FileSystem-Tests-Core.package/PathTest.class/instance/tests/testParse.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testParseBogus.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testParseTrailingSlash.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testParseWindowsPathWithUnixDelimiters.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testPrintRelativeWithParent.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testPrintWithDelimiter.st
A 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativeFromString.st
A 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativeFromStringNormalization.st
A 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativeFromStringNormalizationParent.st
A 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativeFromStringParent.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativePrintString.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativeTo.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativeToBranch.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRelativeWithParents.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testResolvePath.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testResolveString.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testRootPrintString.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testSimpleResolution.st
M FileSystem-Tests-Core.package/PathTest.class/instance/tests/testSlash.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testWithExtentionAddsExtension.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testWithExtentionReplacesExtension.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testWorkingDirPrintString.st
M 
FileSystem-Tests-Core.package/PathTest.class/instance/tests/testWorkingDirectoryParent.st
M 
NECompletion.package/NECContext.class/instance/private-type-guessing/guessTypeOf_.st
A 
NECompletion.package/NECContext.class/instance/private-type-guessing/nonAbstractTypeOf_.st
M 
NECompletion.package/NECContextTest.class/instance/tests/testReceiverConstant.st
M 
NECompletion.package/NECContextTest.class/instance/tests/testReceiverTempVar.st
M NECompletion.package/NECTestClass.class/definition.st
M 
NECompletion.package/NECTestClass.class/instance/initialization/initialize_.st
M 
NECompletion.package/NECUntypedModelTest.class/instance/tests/testCaseSensitive.st
M 
NECompletion.package/NECUntypedModelTest.class/instance/tests/testForClassInstVars.st
M Nautilus.package/NautilusUI.class/instance/menus 
behavior/toggleBreakPoint.st
M Polymorph-Widgets.package/IconicListItem.class/class/instance 
creation/text_icon_.st
M Polymorph-Widgets.package/IconicListItem.class/instance/accessing/icon_.st
A

[Pharo-dev] [pharo-project/pharo-core]

2014-02-19 Thread GitHub
  Branch: refs/tags/30770
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] Estimating the amount of change between Pharo 2.0 and 3.0

2014-02-19 Thread Sven Van Caekenberghe
Here is a simple calculation (that probably can be improved by the reflection 
or Moose aficionados) to estimate the amount of change between Pharo 2.0 and 
3.0 by counting the number of methods in the image that have a timestamp later 
than 2.0's release date: these should be new or modified.

(Object allSubclasses collect: [ :each | each methods size ]) sum.

(Object allSubclasses collect: [ :class | 
  ((class methods) select: [ :each |  
[ '2013-03-18T00:00:00' asDateAndTime <= (DateAndTime fromMethodTimeStamp: 
each timeStamp) ] 
  on: Error do: [ false ] ]) size ]) sum.

14735/(71973/100.0) => ~20 %

Not bad.

Sven


[Pharo-dev] [pharo-project/pharo-core] ea0a41: 30769

2014-02-19 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: ea0a41c838cbc1b685eed58530183b6b51da90f3
  
https://github.com/pharo-project/pharo-core/commit/ea0a41c838cbc1b685eed58530183b6b51da90f3
  Author: Jenkins Build Server 
  Date:   2014-02-19 (Wed, 19 Feb 2014)

  Changed paths:
M Kernel.package/DateAndTime.class/class/input/readFrom_.st
A 
KernelTests.package/DateAndTimeTest.class/instance/tests/testReadFromDateOnly.st
A Morphic-Base.package/MorphTreeNodeModel.class/instance/accessing/name.st
M Morphic-Base.package/PluggableTextMorph.class/instance/editor 
access/handleEdit_.st
A 
Morphic-Base.package/ScrollBar.class/instance/update/updateDownButtonBounds.st
A 
Morphic-Base.package/ScrollBar.class/instance/update/updatePagingAreaBounds.st
A Morphic-Base.package/ScrollBar.class/instance/update/updateSliderBounds.st
A 
Morphic-Base.package/ScrollBar.class/instance/update/updateUpButtonBounds.st
M Morphic-Base.package/Slider.class/instance/geometry/extent_.st
A Morphic-Base.package/Slider.class/instance/update/updateSliderBounds.st
M Nautilus.package/PackageTreeNautilusUI.class/instance/package 
filter/packageMatchPattern_.st
M Nautilus.package/PackageTreeNautilusUI.class/instance/package 
filter/packagePattern.st
M Nautilus.package/PackageTreeNautilusUI.class/instance/package 
filter/packageSearchUpdate_.st
R Network-Kernel.package/Password.class/class/as yet 
unclassified/shutDown.st
A Network-Kernel.package/Password.class/class/system startup/shutDown.st
A Network-Kernel.package/Password.class/instance/accessing/decode_.st
A 
Network-Kernel.package/Password.class/instance/accessing/serverPasswords.st
R Network-Kernel.package/Password.class/instance/as yet 
unclassified/decode_.st
R Network-Kernel.package/Password.class/instance/as yet 
unclassified/serverPasswords.st
M Network-Kernel.package/SocketPrimitiveFailed.class/README.md
M NetworkTests.package/FileUrlTest.class/README.md
M NetworkTests.package/HTTPEncodingTest.class/README.md
R NetworkTests.package/HTTPEncodingTest.class/instance/as yet 
unclassified/testEncodeForHTTP.st
A 
NetworkTests.package/HTTPEncodingTest.class/instance/tests/testEncodeForHTTP.st
M NetworkTests.package/HierarchicalUrlTest.class/README.md
M NetworkTests.package/HttpUrlTest.class/README.md
M NetworkTests.package/MailMessageTest.class/README.md
M NetworkTests.package/MockSocketStream.class/README.md
M NetworkTests.package/NetNameResolverTest.class/README.md
A 
NetworkTests.package/NetNameResolverTest.class/instance/accessing/localHostAddressIsLoopBackAddress.st
A 
NetworkTests.package/NetNameResolverTest.class/instance/accessing/localHostNameIsLoopBackName.st
R 
NetworkTests.package/NetNameResolverTest.class/instance/testing/localHostAddressIsLoopBackAddress.st
R 
NetworkTests.package/NetNameResolverTest.class/instance/testing/localHostNameIsLoopBackName.st
M NetworkTests.package/QuotedPrintableMimeConverterTest.class/README.md
M NetworkTests.package/SMTPClientTest.class/README.md
M NetworkTests.package/SocketStreamTest.class/README.md
M NetworkTests.package/SocketTest.class/README.md
M NetworkTests.package/UUIDPrimitivesTest.class/README.md
M NetworkTests.package/UUIDTest.class/README.md
M Polymorph-Widgets.package/UITheme.class/instance/morph 
creation/newScrollBarDownButtonFor_.st
M Polymorph-Widgets.package/UITheme.class/instance/morph 
creation/newScrollBarUpButtonFor_.st
A Polymorph-Widgets.package/UITheme.class/instance/morph 
creation/scrollBarDownButtonBoundsFor_.st
A Polymorph-Widgets.package/UITheme.class/instance/morph 
creation/scrollBarUpButtonBoundsFor_.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script422.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30769.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M Spec-Core.package/MenuModel.class/instance/initialize/initialize.st
M 
Spec-Debugger.package/SpecDebugger.class/instance/opening/openFullNoSuspendLabel_.st
M 
Spec-Inspector.package/InspectorNavigator.class/instance/menu/customMenuActions.st

  Log Message:
  ---
  30769
12925 MorphTreeNodeModel speedup
https://pharo.fogbugz.com/f/cases/12925

12923 DateAndTime gets into infinite loop when a time is missing
https://pharo.fogbugz.com/f/cases/12923

12815 Class comments missing for Network package
https://pharo.fogbugz.com/f/cases/12815

12927 Speed up Slider and ScrollBar by reusing submorphs
https://pharo.fogbugz.com/f/cases/12927

12891 Inspector menu histroy back/forward shows "a KeyCombinationChoice" 
keyboard shortcut
https://pharo.fogbugz.com/f/cases/12891

12929 Reduce default filtering overhead in TreeNautilus
https://pharo.fogbugz.com/f/cases/12929

12922 Newly ope

[Pharo-dev] [pharo-project/pharo-core]

2014-02-19 Thread GitHub
  Branch: refs/tags/30769
  Home:   https://github.com/pharo-project/pharo-core


Re: [Pharo-dev] Spec and menu shortcuts

2014-02-19 Thread Martin Dias
On Wed, Feb 19, 2014 at 8:36 PM, Benjamin Van Ryseghem <
benjamin.vanryseg...@gmail.com> wrote:

> It is a mix of two things:
> - the auto binding of menu in tree was not plugged
> - the auto binding of menu support only the use of MenuModel (not block).
>
> Both are now fixed in commit 8ed8cbb even if I am still not convinced
> about the solution for the block
>

Thanks Ben.
I didn't understand: should I review that commit before integration into
Pharo3? no idea where to find it.

Martín


Re: [Pharo-dev] GSoC: call for ideas

2014-02-19 Thread Daniela Meneses
Hello,

Here is my proposal:

Title: Improving Strings manipulation
Dialect: Pharo
Skill Level: Intermediate
Possible Mentor: Stephane Ducasse
Student Name: Daniela Meneses
Context: Pharo offers several good libraries to manipulate collections.
However, the Strings API could benefit from a new study and redesign or
enhancements.
Goal: The goal of the project is to help rethinking the String manipulation
API of Pharo.
Benefits to the community: The String class will increment its test
coverage, include more useful methods based on ruby and python String API
and improve the documentation for some methods.


Cheers,
Daniela Meneses


On Tue, Feb 11, 2014 at 5:42 AM, Damien Cassou wrote:

> Hi fellow Pharo hackers,
>
> ESUG, the European Smalltalk User Group, is applying for this
> year's Google Summer of Code.  As you probably know, the Summer
> of Code provides the opportunity to fund students to work during
> the summer on Pharo.  Please reply to this
> email (be sure to use "Reply to all") if you have ideas you
> would like to propose.
>
> Please include a summary of the project and links to web pages
> that can help prospective students to write their application.
> Please also include the following information:
>
> - if applicable, other dialects that you would be willing to
>   mentor this project for
>
> - the skill level
>
> - name of the mentor(s), email addresses, and possibly any IRC
>   network/channel/nickname where they can be found.
>
> Thanks for contributing to ESUG's Summer of Code application!
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
>
>


-- 
Regards,
Dann Meneses


Re: [Pharo-dev] Bug in DateAndTime class

2014-02-19 Thread Sven Van Caekenberghe
https://pharo.fogbugz.com/f/cases/12923/DateAndTime-gets-into-infinite-loop-when-a-time-is-missing

fix/slice submitted.

On 19 Feb 2014, at 15:21, Diego Lont  wrote:

> I think a zero time would be best, as I did so in my proposed fix.
> 
>> Thanks for the report.
>> 
>> Yes, an issue, a unit test and a slice to fix it would be cool ;-)
>> 
>> BTW, what do you propose: throw an error or use a zero time ?
>> 
>> On 19 Feb 2014, at 10:27, Diego Lont  wrote:
>> 
>>> Hi all,
>>> 
>>> I probably should make an issue out of this, and follow the workflow, but I 
>>> found a bug in the DateAndTime class in the method readFrom:
>>> 
>>> This method comes in an infinite loop, if there is only a date specified: 
>>> it tried to do aStream next while aStream peek is not a digit. And since 
>>> aStream peek returns nil when the stream is at the end, this will result in 
>>> an infinite loop. Here is the fixed method.
>>> 
>>> Cheers,
>>> Diego
>>> 
>>> readFrom: aStream
>>> "Parse and return a new DateAndTime instance from stream, 
>>> as a Date, a Time and a TimeZone offset."
>>> "self readFrom: ' 2013-03-04T23:47:52.876+01:00' readStream"
>>> 
>>> | offset date time |
>>> date := Date readFrom: aStream.
>>> [ aStream peek isDigit or: [ aStream atEnd ] ] whileFalse: [ aStream 
>>> next ].
>>> aStream atEnd
>>> ifTrue: [ time := Time midnight ]
>>> ifFalse: [ time := Time readFrom: aStream ].
>>> aStream skipSeparators.
>>> offset := self readTimezoneOffsetFrom: aStream.
>>> ^ self
>>> year: date year
>>> month: date monthIndex
>>> day: date dayOfMonth
>>> hour: time hour
>>> minute: time minute
>>> second: time second
>>> nanoSecond: time nanoSecond
>>> offset: offset
>>> 
>>> "   '-1199-01-05T20:33:14.321-05:00' asDateAndTime
>>> ' 2002-05-16T17:20:45.1+01:01' asDateAndTime
>>> 
>>> ' 2002-05-16T17:20:45.02+01:01' asDateAndTime
>>> 
>>> ' 2002-05-16T17:20:45.003+01:01' asDateAndTime
>>> 
>>> ' 2002-05-16T17:20:45.0004+01:01' asDateAndTime
>>> ' 2002-05-16T17:20:45.5' asDateAndTime
>>> ' 2002-05-16T17:20:45.06+01:01' asDateAndTime
>>> 
>>> ' 2002-05-16T17:20:45.007+01:01' asDateAndTime
>>> ' 2002-05-16T17:20:45.0008-01:01' asDateAndTime   
>>> ' 2002-05-16T17:20:45.9+01:01' asDateAndTime  
>>> ' 2002-05-16T17:20:45.01+01:01' asDateAndTime  
>>> 
>>> ' 2002-05-16T17:20' asDateAndTime
>>> ' 2002-05-16T17:20:45' asDateAndTime
>>> ' 2002-05-16T17:20:45+01:57' asDateAndTime
>>> ' 2002-05-16T17:20:45-02:34' asDateAndTime
>>> ' 2002-05-16T17:20:45+00:00' asDateAndTime
>>> ' 1997-04-26T01:02:03+01:02:3' asDateAndTime 
>>> "
>> 
>> 
> 
> 




[Pharo-dev] Spec and menu shortcuts

2014-02-19 Thread Martin Dias
Hi,

I'm in latest Pharo 3 and I found that in this tree the cmd+h shortcut is
displayed (in the menu) but it does not work when I press the keys:

TreeModel new
roots: (1 to: 5);
 menu: [ :aMenu |
aMenu addGroup: [ :group |
group addItem: [ :item |
 item
name: 'Halt';
shortcut: $h command;
 action: [ self halt ] ]] ];
 openWithSpec.

Do you see something wrong in my code? Is this a known issue?

Thanks in advance,
Martín


[Pharo-dev] [pharo-project/pharo-core]

2014-02-19 Thread GitHub
  Branch: refs/tags/30768
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] e4cace: 30768

2014-02-19 Thread GitHub
  Branch: refs/heads/3.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: e4cace997146921fc08d27c111c789b1b5f0cd39
  
https://github.com/pharo-project/pharo-core/commit/e4cace997146921fc08d27c111c789b1b5f0cd39
  Author: Jenkins Build Server 
  Date:   2014-02-19 (Wed, 19 Feb 2014)

  Changed paths:
A 
Monticello.package/extension/RPackageOrganizer/instance/basicInitializeFromMC.st
M 
Monticello.package/extension/RPackageOrganizer/instance/initializeFromMC.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
scripts/script421.st
A ScriptLoader30.package/ScriptLoader.class/instance/pharo - 
updates/update30768.st
M 
ScriptLoader30.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M Spec-MorphicAdapters.package/MorphicTreeAdapter.class/instance/widget 
API/menu_shifted_.st
M Traits.package/TClass.class/instance/class 
variables/removeClassVarNamed_.st

  Log Message:
  ---
  30768
12855 #removeClassVarNamed: is broken
https://pharo.fogbugz.com/f/cases/12855

12909 initializeDefaultFromMC is over an old organizer (while calling RPackage 
stuff)
https://pharo.fogbugz.com/f/cases/12909

12921 TreeInspector default right-click menu causes error
https://pharo.fogbugz.com/f/cases/12921

12910 Add Inbox to all Versionner packages
https://pharo.fogbugz.com/f/cases/12910

http://files.pharo.org/image/30/30768.zip




Re: [Pharo-dev] SlotIntegrationTest >>testCopyPreservesLayout

2014-02-19 Thread Camille Teruel
It's an expected failure (SlotIntegrationTests>>#expectedFailures). 
The bug has been postponed to Pharo 4.
See: https://pharo.fogbugz.com/f/cases/11243/Class-copy-does-not-preserve-layout

On 19 févr. 2014, at 16:27, Damien Cassou  wrote:

> On Wed, Feb 19, 2014 at 4:25 PM,   wrote:
>> SlotIntegrationTest new setUp testCopyPreservesLayout tearDown.
> 
> 
> fails for me
> 
> -- 
> Damien Cassou
> http://damiencassou.seasidehosting.st
> 
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
> 




[Pharo-dev] SlotIntegrationTest >>testCopyPreservesLayout

2014-02-19 Thread btc


Does evaluating this fail for anyone else?

SlotIntegrationTest new setUp testCopyPreservesLayout tearDown.

cheers -ben





Re: [Pharo-dev] Test for the string class available on SmalltalkHub

2014-02-19 Thread Damien Cassou
On Wed, Feb 19, 2014 at 3:43 PM,   wrote:
> Also I have seen discussion that
> assert: a equals: b
> is preferred over
> assert: ( a = b)


yes, because you get better error messages.

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill



Re: [Pharo-dev] SlotIntegrationTest >>testCopyPreservesLayout

2014-02-19 Thread Damien Cassou
On Wed, Feb 19, 2014 at 4:25 PM,   wrote:
> SlotIntegrationTest new setUp testCopyPreservesLayout tearDown.


fails for me

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill



Re: [Pharo-dev] Desktop Apps with Pharo 3

2014-02-19 Thread Damien Cassou
On Tue, Feb 18, 2014 at 5:26 PM, Noury Bouraqadi  wrote:
> For my Pharo Lecture I want to show students how to make a desktop app in 
> Pharo 3.0 (Yes I'm using a Beta for my lecture, because Pharo 3 is cool :-)


https://ci.inria.fr/pharo-contribution/job/PharoForTheEnterprise/lastSuccessfulBuild/artifact/Deployment/Deployment.pier.html

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill



Re: [Pharo-dev] Connection closed while waiting for data in bootstrapped image

2014-02-19 Thread Sven Van Caekenberghe
Weird indeed!

This works as well.

In one console:

# ./pharo PharoKernel.image eval 'Socket newTCP listenOn: 8484; 
waitForConnectionFor: 60; receiveData'
'Hi there!!
'

In another:

# nc localhost 8484
Hi there!!

Strange, strange, strange

On 18 Feb 2014, at 15:23, Pavel Krivanek  wrote:

> They seem to be ok.
> 
> I tried to look at the sockets during waiting in other thread and signal 
> their semaphores but no change.
> Socket loopbackTest WORKS. 
> 
> -- Pavel
> 
> 
> 2014-02-17 11:18 GMT+01:00 Guillermo Polito :
> ExternalSemaphores table may be not well initialized? I can help having a 
> look this afternoon :) 
> 
> 
> On Mon, Feb 17, 2014 at 11:11 AM, Sven Van Caekenberghe  wrote:
> Hi Pavel,
> 
> I just tried on a machine of mine.
> 
> I changed testNetwork.st to
> 
> Transcript show: (ZnClient new logToTranscript; get: 
> 'http://zn.stfx.eu/zn/numbers.txt'); cr.
> 
> That way you get a bit more progress info. As I suspected the request is 
> written and the failure is while reading the response. I tried connecting to 
> a local Zinc server which confirmed this as well: the request comes in on the 
> server and it writes the response.
> 
> This is the output now:
> 
> root@stfx:~# ./pharo PharoKernel.image testNetwork.st
> 
> 2014-02-17 10:00:59 463573 I Wrote a ZnRequest(GET /random)
> 2014-02-17 10:00:59 463573 D Sent headers
> 
> User-Agent: Zinc HTTP Components 1.0
> 
> Accept: */*
> 
> Host: localhost:1701
> 
> 
> ===
> Notice: Errors in script loaded from /root/testNetwork.st
> ===
> Errors in script loaded from /root/testNetwork.st
>  Startup Error: ConnectionClosed: Connection closed while waiting for 
> data.
> Socket>>waitForDataFor: in Block: [ ConnectionClosed signal: 'Connection 
> closed whil...etc...
> Socket>>waitForDataFor:ifClosed:ifTimedOut:
> Socket>>waitForDataFor:
> Socket>>receiveDataSignallingTimeout:into:startingAt:
> SocketStream>>receiveData
> SocketStream>>next
> ZnLineReader>>processNext
> ZnLineReader>>nextLine
> ZnStatusLine>>readFrom:
> ZnStatusLine class>>readFrom:
> ZnResponse>>readHeaderFrom:
> ZnResponse(ZnMessage)>>readFrom:
> ZnResponse class(ZnMessage class)>>readFrom:
> ZnClient>>executeRequestResponse
> ZnClient>>getConnectionAndExecute in Block: [ self executeRequestResponse ]
> BlockClosure>>ensure:
> ZnClient>>getConnectionAndExecute
> ZnClient>>executeWithRedirectsRemaining:
> ZnClient>>executeWithRetriesRemaining: in Block: [ self 
> executeWithRedirectsRemaining: self maxNumb...etc...
> BlockClosure>>on:do:
> ZnClient>>executeWithRetriesRemaining:
> ZnClient>>executeWithTimeout in Block: [ self executeWithRetriesRemaining: 
> self numberOfR...etc...
> BlockClosure>>on:do:
> ZnClient>>executeWithTimeout in Block: [ ...
> ZnClient>>withTimeoutDo: in Block: [ ^ block value ]
> ZnConnectionTimeout(DynamicVariable)>>value:during: in Block:
> 
> You are using regular socket streams, which is good. For now I can't think of 
> a reasons why the reading would fail, if I think of something, I will let you 
> know.
> 
> It is pretty hard to debug this way ;-)
> 
> Sven
> 
> On 17 Feb 2014, at 10:22, Pavel Krivanek  wrote:
> 
> > (NetNameResolver addressForName: 'www.esug.org') returns good value...
> >
> > -- Pavel
> >
> >
> > 2014-02-17 9:32 GMT+01:00 Pavel Krivanek :
> > Hi,
> >
> > thank you for the tip. It seems that it is not directly Zinc related. But 
> > if you want something to play with, do:
> >
> > - load the bootstrapped image:
> > https://ci.inria.fr/pharo-contribution/view/Pharo-Kernel-3.0/job/PharoKernel3.0-Bootstrap/lastSuccessfulBuild/artifact/PharoKernel/results/PharoKernel.zip
> >
> > ./pharo PharoKernel.image fix.st
> > ./pharo PharoKernel.image loadNetwork.st
> > ./pharo PharoKernel.image testNetwork.st
> >
> > The CI slaves revolt now so I cannot make it more comfortable :-)
> >
> > Cheers,
> > -- Pavel
> >
> >
> >
> >
> > 2014-02-16 22:58 GMT+01:00 Sven Van Caekenberghe :
> >
> > Hi Pavel,
> >
> > On 16 Feb 2014, at 22:23, Pavel Krivanek  wrote:
> >
> > > Hi Sven,
> > >
> > > we can successfully load network packages to the bootstrapped image but 
> > > when we try to test it using:
> > >
> > > ZnClient new get: 'http://zn.stfx.eu/zn/numbers.txt'.
> > >
> > > we get "ConnectionClosed: Connection closed while waiting for data" error 
> > > after few seconds. Do you have some idea, what may be wrong? Probably 
> > > something is not initialized well but I have no clue what.
> > >
> > > Cheers,
> > > -- Pavel
> >
> > Hard to say. I would guess that you are already on the point of waiting for 
> > a server response, so you already successfully initialised networking, 
> > resolved DNS, opened a TCP socket and wrote the request over it. On the 
> > other hand, one of those steps might not have been done right, since you 
> > get no response.
> >
> > Any chance of a stack trace ? Or an im

Re: [Pharo-dev] Test for the string class available on SmalltalkHub

2014-02-19 Thread btc




b...@openinworld.com wrote:

  
Daniela Meneses wrote:
  

Hi
to all,


I'm
writing missing test for the String class methods to improve the test
coverage. I will commit my changes in this project at SmalltalkHub:


http://smalltalkhub.com/#!/~DanielaMeneses/ImprovingStringAPI


Feel
free to take a look. Any feedback will be really welcome and useful. :D


--
Cheers,
Daniela

  
hi Daniela, 
  
That is a nice initiative.  I guess you have bigger plans to "rethink
the String manipulation API of Pharo" where you will want to be
experimenting in a separate branch, but adding tests would be
beneficial for the mainline now.  I'd encourage you to open a Case at
pharo.fogbugz.com and submit those tests as a slice :)
You definitely get feedback as part of the integration review process.
cheers -ben


btw a small thing, in #testAsPluralbasedOn, maybe
    self deny: ('dog' asPluralBasedOn: 1) = 'dogs'.

would be better as 
    self assert: ('dog' asPluralBasedOn: 1) equals: 'dog'.

since the first has an infinite number of solutions, and the second has
only one.

Also I have seen discussion that 
    assert: a equals: b 
is preferred over 
    assert: ( a = b)

cheers -ben





Re: [Pharo-dev] ARM, Raspbian: Good new everyone, Raspbian display is now fixed

2014-02-19 Thread Serge Stinckwich
Thank you for this really nice work !

Don't forget at the end to produce a Raspbian deb package so everyone
could easily install a Pharo VM and image on a RPi.

Regards

On Thu, Feb 13, 2014 at 5:38 PM, Jean Baptiste Arnaud
 wrote:
> Hello
> I finally successfully fixed the PharoS bug on Raspbian.
> So now the UI is not completely block it is just slow.
>
> As it is not yet merge with the common Pharo repository (the pull request is
> send), but you can test it here:
> https://ci.inria.fr/pharo-contribution/view/RaspberryPi-Experimentation/job/RaspberryPi-Cross-Compilation-JB/
>
>
> Best Regards
> Jean Baptiste Arnaud
> jbaptiste.arn...@gmail.com
>
>
>
>
>
>
>



-- 
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/



Re: [Pharo-dev] Versionner in pharo 3.0

2014-02-19 Thread Christophe Demarey
Hi Norbert,

Le 19 févr. 2014 à 13:32, Norbert Hartl a écrit :

> Is anybody using Versionner in 3.0? I would be really interested in some 
> success reports. In my case I cannot achieve much with it.

People just start to use Versionner since it was integrated lately (vm problem).

> I really don’t get when it is creating a baseline version and when a static 
> version. Releasing a valid baseline produces a static version that looks good 
> but also it creates a new baseline. Why?

baseline = dev version
numbered version = release

A project evolves or is ... dead (kind of).
That's why a new development version is always generated after a release.
I had a discussion with Damien this morning. He argued that Versionner should 
be able to able to reuse baselines until there is a change to this baseline ... 
and is right (need to work on that).
To avoid problems, Versionner now always create a new baseline for the next 
development version.

> Because creating a baseline in any of my projects lead to a bogus 
> configuration. Versionner rewrites project dependency wrongly (projects are 
> named after configurations and not after names I give them. loads: directives 
> are stripped off but references in the rest of the configuration are not 
> changed accordingly).

Yes, you reported this bug: https://pharo.fogbugz.com/f/cases/12903.
I will work on this one tomorrow.

> In my current project it creates a baseline with the same version as a static 
> version that already exists. 
static version => release
baseline => new dev version

> It is a shame because it looks so good but all the funtionalities do not work 
> in my projects except „commit the project“. I hope I’m doing something wrong 
> but then I downloaded a fresh pharo 3.0 this morning and loaded my config and 
> went from there.

Are there some other bugs not reported?

> How to proceed? What kind of test case should I deliver. I think Versionner 
> is pretty important and I should be usable in 3.0.

Reporting bugs and provide a way to reproduce is a good start point.

Thank you for taking time to test and to report problems,
Christophe.

smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-dev] Test for the string class available on SmalltalkHub

2014-02-19 Thread btc




Daniela Meneses wrote:

  
  Hi
to all,
  
  
  I'm
writing missing test for the String class methods to improve the test
coverage. I will commit my changes in this project at SmalltalkHub:
  
  
  http://smalltalkhub.com/#!/~DanielaMeneses/ImprovingStringAPI
  
  
  Feel
free to take a look. Any feedback will be really welcome and useful. :D
  
  
  --
  Cheers,
  Daniela
  

hi Daniela, 

That is a nice initiative.  I guess you have bigger plans to "rethink
the String manipulation API of Pharo" where you will want to be
experimenting in a separate branch, but adding tests would be
beneficial for the mainline now.  I'd encourage you to open a Case at
pharo.fogbugz.com and submit those tests as a slice :)
You definitely get feedback as part of the integration review process.
cheers -ben





Re: [Pharo-dev] Bug in DateAndTime class

2014-02-19 Thread Diego Lont
I think a zero time would be best, as I did so in my proposed fix.

> Thanks for the report.
> 
> Yes, an issue, a unit test and a slice to fix it would be cool ;-)
> 
> BTW, what do you propose: throw an error or use a zero time ?
> 
> On 19 Feb 2014, at 10:27, Diego Lont  wrote:
> 
>> Hi all,
>> 
>> I probably should make an issue out of this, and follow the workflow, but I 
>> found a bug in the DateAndTime class in the method readFrom:
>> 
>> This method comes in an infinite loop, if there is only a date specified: it 
>> tried to do aStream next while aStream peek is not a digit. And since 
>> aStream peek returns nil when the stream is at the end, this will result in 
>> an infinite loop. Here is the fixed method.
>> 
>> Cheers,
>> Diego
>> 
>> readFrom: aStream
>>  "Parse and return a new DateAndTime instance from stream, 
>>  as a Date, a Time and a TimeZone offset."
>>  "self readFrom: ' 2013-03-04T23:47:52.876+01:00' readStream"
>> 
>>  | offset date time |
>>  date := Date readFrom: aStream.
>>  [ aStream peek isDigit or: [ aStream atEnd ] ] whileFalse: [ aStream 
>> next ].
>>  aStream atEnd
>>  ifTrue: [ time := Time midnight ]
>>  ifFalse: [ time := Time readFrom: aStream ].
>>  aStream skipSeparators.
>>  offset := self readTimezoneOffsetFrom: aStream.
>>  ^ self
>>  year: date year
>>  month: date monthIndex
>>  day: date dayOfMonth
>>  hour: time hour
>>  minute: time minute
>>  second: time second
>>  nanoSecond: time nanoSecond
>>  offset: offset
>> 
>>  "   '-1199-01-05T20:33:14.321-05:00' asDateAndTime
>>  ' 2002-05-16T17:20:45.1+01:01' asDateAndTime
>> 
>>  ' 2002-05-16T17:20:45.02+01:01' asDateAndTime
>> 
>>  ' 2002-05-16T17:20:45.003+01:01' asDateAndTime
>> 
>>  ' 2002-05-16T17:20:45.0004+01:01' asDateAndTime
>>  ' 2002-05-16T17:20:45.5' asDateAndTime
>>  ' 2002-05-16T17:20:45.06+01:01' asDateAndTime
>> 
>>  ' 2002-05-16T17:20:45.007+01:01' asDateAndTime
>>  ' 2002-05-16T17:20:45.0008-01:01' asDateAndTime   
>>  ' 2002-05-16T17:20:45.9+01:01' asDateAndTime  
>>  ' 2002-05-16T17:20:45.01+01:01' asDateAndTime  
>> 
>>  ' 2002-05-16T17:20' asDateAndTime
>>  ' 2002-05-16T17:20:45' asDateAndTime
>>  ' 2002-05-16T17:20:45+01:57' asDateAndTime
>>  ' 2002-05-16T17:20:45-02:34' asDateAndTime
>>  ' 2002-05-16T17:20:45+00:00' asDateAndTime
>>  ' 1997-04-26T01:02:03+01:02:3' asDateAndTime 
>>  "
> 
> 




[Pharo-dev] Versionner in pharo 3.0

2014-02-19 Thread Norbert Hartl
Is anybody using Versionner in 3.0? I would be really interested in some 
success reports. In my case I cannot achieve much with it.

I really don’t get when it is creating a baseline version and when a static 
version. Releasing a valid baseline produces a static version that looks good 
but also it creates a new baseline. Why? Because creating a baseline in any of 
my projects lead to a bogus configuration. Versionner rewrites project 
dependency wrongly (projects are named after configurations and not after names 
I give them. loads: directives are stripped off but references in the rest of 
the configuration are not changed accordingly). In my current project it 
creates a baseline with the same version as a static version that already 
exists. 
It is a shame because it looks so good but all the funtionalities do not work 
in my projects except „commit the project“. I hope I’m doing something wrong 
but then I downloaded a fresh pharo 3.0 this morning and loaded my config and 
went from there.

How to proceed? What kind of test case should I deliver. I think Versionner is 
pretty important and I should be usable in 3.0.

Norbert




[Pharo-dev] Pharo on Raspberry Pi

2014-02-19 Thread Torsten Bergmann
good news:

"After some efforts, fighting with cross-compilers (cross assemblers) 
Jean-Baptiste Arnaud finally fixed the PharoS bug on Raspbian and now Pharo 
runs totally on Raspberry. Well done JB."

see [1] and some advertising [2]. 

[1] http://pharoweekly.wordpress.com/2014/02/19/raspberrypi/
[2] http://www.dzone.com/links/pharo_runs_totally_on_raspberry.html



Re: [Pharo-dev] RFB "fixed" for pharo 3.0

2014-02-19 Thread Sebastian Sastre
great :D

thanks for that!

I'll certainly use it

sebastian

o/

> On 19/02/2014, at 07:50, Norbert Hartl  wrote:
> 
> On my way to use pharo 3.0 in deployment I noticed RFB is not working in 
> pharo 3.0. I examined the problem and find _a_ cause for it. I don’t know 
> enough about keyboard handling so I don’t know if this workaround is good or 
> bad. At least I can use RFB in 3.0 again meaning it works as good/bad as 
> before. I’ve added a new version 0.61 especially for pharo 3.0.
> 
> 
> Changes are in
> 
> —
> Name: RFB-NorbertHartl.42
> Author: NorbertHartl
> Time: 19 February 2014, 11:36:04.43861 am
> UUID: 399bd413-4fe4-43ec-9041-f95b6fb9b594
> Ancestors: RFB-MarianoMartinezPeck.41
> 
> Added extra key code in keyboard event so that RFB is usable in pharo 3.0. 
> Exchanged some of the deprecations as well as this version is supposed to be 
> used for pharo 3.0. One deprecation method is still left and that is Beeper 
> beepPrimitive. This seems to be a problem in pharo
> 
> —
> 
> Norbert



[Pharo-dev] RFB "fixed" for pharo 3.0

2014-02-19 Thread Norbert Hartl
On my way to use pharo 3.0 in deployment I noticed RFB is not working in pharo 
3.0. I examined the problem and find _a_ cause for it. I don’t know enough 
about keyboard handling so I don’t know if this workaround is good or bad. At 
least I can use RFB in 3.0 again meaning it works as good/bad as before. I’ve 
added a new version 0.61 especially for pharo 3.0.


Changes are in

—
Name: RFB-NorbertHartl.42
Author: NorbertHartl
Time: 19 February 2014, 11:36:04.43861 am
UUID: 399bd413-4fe4-43ec-9041-f95b6fb9b594
Ancestors: RFB-MarianoMartinezPeck.41

Added extra key code in keyboard event so that RFB is usable in pharo 3.0. 
Exchanged some of the deprecations as well as this version is supposed to be 
used for pharo 3.0. One deprecation method is still left and that is Beeper 
beepPrimitive. This seems to be a problem in pharo

—

Norbert


Re: [Pharo-dev] Bug in DateAndTime class

2014-02-19 Thread Sven Van Caekenberghe
Thanks for the report.

Yes, an issue, a unit test and a slice to fix it would be cool ;-)

BTW, what do you propose: throw an error or use a zero time ?

On 19 Feb 2014, at 10:27, Diego Lont  wrote:

> Hi all,
> 
> I probably should make an issue out of this, and follow the workflow, but I 
> found a bug in the DateAndTime class in the method readFrom:
> 
> This method comes in an infinite loop, if there is only a date specified: it 
> tried to do aStream next while aStream peek is not a digit. And since aStream 
> peek returns nil when the stream is at the end, this will result in an 
> infinite loop. Here is the fixed method.
> 
> Cheers,
> Diego
> 
> readFrom: aStream
>   "Parse and return a new DateAndTime instance from stream, 
>   as a Date, a Time and a TimeZone offset."
>   "self readFrom: ' 2013-03-04T23:47:52.876+01:00' readStream"
> 
>   | offset date time |
>   date := Date readFrom: aStream.
>   [ aStream peek isDigit or: [ aStream atEnd ] ] whileFalse: [ aStream 
> next ].
>   aStream atEnd
>   ifTrue: [ time := Time midnight ]
>   ifFalse: [ time := Time readFrom: aStream ].
>   aStream skipSeparators.
>   offset := self readTimezoneOffsetFrom: aStream.
>   ^ self
>   year: date year
>   month: date monthIndex
>   day: date dayOfMonth
>   hour: time hour
>   minute: time minute
>   second: time second
>   nanoSecond: time nanoSecond
>   offset: offset
> 
>   "   '-1199-01-05T20:33:14.321-05:00' asDateAndTime
>   ' 2002-05-16T17:20:45.1+01:01' asDateAndTime
> 
>   ' 2002-05-16T17:20:45.02+01:01' asDateAndTime
> 
>   ' 2002-05-16T17:20:45.003+01:01' asDateAndTime
> 
>   ' 2002-05-16T17:20:45.0004+01:01' asDateAndTime
>   ' 2002-05-16T17:20:45.5' asDateAndTime
>   ' 2002-05-16T17:20:45.06+01:01' asDateAndTime
> 
>   ' 2002-05-16T17:20:45.007+01:01' asDateAndTime
>   ' 2002-05-16T17:20:45.0008-01:01' asDateAndTime   
>   ' 2002-05-16T17:20:45.9+01:01' asDateAndTime  
>   ' 2002-05-16T17:20:45.01+01:01' asDateAndTime  
> 
>   ' 2002-05-16T17:20' asDateAndTime
>   ' 2002-05-16T17:20:45' asDateAndTime
>   ' 2002-05-16T17:20:45+01:57' asDateAndTime
>   ' 2002-05-16T17:20:45-02:34' asDateAndTime
>   ' 2002-05-16T17:20:45+00:00' asDateAndTime
>   ' 1997-04-26T01:02:03+01:02:3' asDateAndTime 
>   "




[Pharo-dev] Bug in DateAndTime class

2014-02-19 Thread Diego Lont
Hi all,

I probably should make an issue out of this, and follow the workflow, but I 
found a bug in the DateAndTime class in the method readFrom:

This method comes in an infinite loop, if there is only a date specified: it 
tried to do aStream next while aStream peek is not a digit. And since aStream 
peek returns nil when the stream is at the end, this will result in an infinite 
loop. Here is the fixed method.

Cheers,
Diego

readFrom: aStream
"Parse and return a new DateAndTime instance from stream, 
as a Date, a Time and a TimeZone offset."
"self readFrom: ' 2013-03-04T23:47:52.876+01:00' readStream"

| offset date time |
date := Date readFrom: aStream.
[ aStream peek isDigit or: [ aStream atEnd ] ] whileFalse: [ aStream 
next ].
aStream atEnd
ifTrue: [ time := Time midnight ]
ifFalse: [ time := Time readFrom: aStream ].
aStream skipSeparators.
offset := self readTimezoneOffsetFrom: aStream.
^ self
year: date year
month: date monthIndex
day: date dayOfMonth
hour: time hour
minute: time minute
second: time second
nanoSecond: time nanoSecond
offset: offset

"   '-1199-01-05T20:33:14.321-05:00' asDateAndTime
' 2002-05-16T17:20:45.1+01:01' asDateAndTime

' 2002-05-16T17:20:45.02+01:01' asDateAndTime

' 2002-05-16T17:20:45.003+01:01' asDateAndTime

' 2002-05-16T17:20:45.0004+01:01' asDateAndTime
' 2002-05-16T17:20:45.5' asDateAndTime
' 2002-05-16T17:20:45.06+01:01' asDateAndTime

' 2002-05-16T17:20:45.007+01:01' asDateAndTime
' 2002-05-16T17:20:45.0008-01:01' asDateAndTime   
' 2002-05-16T17:20:45.9+01:01' asDateAndTime  
' 2002-05-16T17:20:45.01+01:01' asDateAndTime  

' 2002-05-16T17:20' asDateAndTime
' 2002-05-16T17:20:45' asDateAndTime
' 2002-05-16T17:20:45+01:57' asDateAndTime
' 2002-05-16T17:20:45-02:34' asDateAndTime
' 2002-05-16T17:20:45+00:00' asDateAndTime
' 1997-04-26T01:02:03+01:02:3' asDateAndTime 
"