Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
December 2017
- 83 participants
- 547 messages
Re: [Pharo-users] HTTP request question for an arango driver
by Stephane Ducasse
Yann
I do not think that connecting a database via a HTTP client can be as
fast as with a FFI or other means.
This is mainly why database like Gemstone are superior for accessing a
lot of data.
Stef
On Fri, Dec 8, 2017 at 4:32 PM, Yann Lesage <yannlesag(a)gmail.com> wrote:
> Hello,
>
>
> I write an driver for Arangodb . So like it's indicated in Arango
> documentation, I use the HTTP API. The repo is
> https://github.com/Valtena/Pharango
>
>
> Now, the problem : Arango using Znclient make around 1 000 requests/second.
>
>
> And the question : Are there any recommended pratice to have the better
> performance with ZNClient or a better way to perform lot of HTTP requests ?
>
>
> Thanks for your attention,
>
> Yann Lesage
>
>
>
Dec. 8, 2017
Re: [Pharo-users] Behold Pharo: The Modern Smalltalk
by Stephane Ducasse
Hi Richard
Thanks this is nice. I like Greeter :)
The suggestion of Ben are fun for the next one.
I will add a link to your article.
Stef
On Thu, Dec 7, 2017 at 11:35 PM, horrido <horrido.hobbies(a)gmail.com> wrote:
> Done. Class #Hello is now #Greeter in package "HelloDemo".
>
> I presume we're good to go, then?
>
>
>
> Offray Vladimir Luna Cárdenas-2 wrote
>> May be the class name could be changed a little bit to allow more
>> flexibility using the Pharo Quick Start as a base. Something like
>> "Greeter" and "Greeter new say: 'Hello world!'" or "Greeter new sayIt"
>> could be implemented from there. Nice to see more and more documentation
>> around Pharo, including this one.
>>
>> That being said, I have always felt that hello world is kind of a
>> strange introduction to programming:
>>
>> http://mutabit.com/offray/blog/en/entry/dumb-hello-world
>>
>> Cheers,
>>
>> Offray
>>
>>
>> On 07/12/17 15:31, horrido wrote:
>>> I've revised the draft slightly for the comments given here:
>>> https://medium.com/@richardeng/pharo-quick-start-5bab70944ce2
>>>
>>> Yes, it's a definite improvement. Thanks.
>>>
>>>
>>>
>>> Richard Sargent wrote
>>>> Excellent work, Richard!
>>>>
>>>> May I offer the small criticism against using #initialize for the method
>>>> name? I think a name like #sayIt (for example) and invocation like
>>>> "Hello
>>>> new sayIt" would make it explicit.
>>>>
>>>> This will be a great help for people who drop by out of curiosity.
>>>>
>>>>
>>>> On Thu, Dec 7, 2017 at 11:38 AM, horrido <
>>>> horrido.hobbies@
>>>> > wrote:
>>>>
>>>>> I've completed the first draft of my Pharo Quick Start guide
>>>>> <https://medium.com/@richardeng/pharo-quick-start-5bab70944ce2>
>>>>> .
>>>>> I
>>>>> decided
>>>>> to forge ahead anyway.
>>>>>
>>>>> Feedback welcome.
>>>>>
>>>>> Note that I chose wget instead of curl because many Linux distros do
>>>>> not
>>>>> have curl installed.
>>>>>
>>>>> I've tested the guide for various Linux distros including Mint 18.3
>>>>> (Ubuntu-based), Debian 9.2.1, Manjaro 17.0.6 (Arch-based), Solus 3, and
>>>>> Fedora 27. So it should be good for all the popular distros (Top 10).
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>>>>
>>>>>
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>>
>>>
>
>
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
Dec. 8, 2017
Re: [Pharo-users] Behold Pharo: The Modern Smalltalk
by horrido
Thanks to all your feedback, the Pharo Quick Start guide gets better and
better. Now, the reader will *really* see how easy Pharo is by the end of
the second section. The rest of the guide deals with the System Browser.
I'm very happy about this because I keep hearing crapola from JavaScript
developers saying how low the entry barrier for JavaScript is (everybody has
a web browser; all you need is a text editor and you can see immediate
results). I wanted to drive home the point that the entry barrier for Pharo
is exceptionally low, too.
And it's just as low as for Elixir, Julia, Nim, Racket, and other languages
I've recently tried.
Offray Vladimir Luna Cárdenas-2 wrote
> Maybe the core of the suggestion is start with the Playground and then
> go to the code browser, that's my workflow coming from other languages
> like Python and Scheme, and having the playground to emulate REPL before
> going to code browser has been really refreshing and also "going from
> scripting to object" is a well received approach in our Data Weeks.
>
> So the Pharo Quick Start, after providing the installation instrucctions
> could be something like:
>
> """
> The classical "Hello World!" program can be done in one line in Pharo,
> as in most dynamic languages by opening the Playground ("Cmd + Shif + o"
> shortcut on Mac o "Ctrl + Shift + o" on Windows) and writing "Transcript
> show: 'Hello World!" (see figure below), but we are going to learn also
> how to put this simple script into the Code Browser, a place where much
> of the Pharo power resides.
>
>
> ^ Up: The "Hello World!" example as a one-liner script ran in the
> Playground.
>
> """
> and then I would add the succinct explanation you are doing about how to
> create the Greeter.
>
> Cheers,
>
> Offray
>
> On 08/12/17 09:41, horrido wrote:
>> I'm not sure what you mean by *PrintIt:*. If you mean type 'Hello World'
>> in
>> the Playground and just *Print it*, that's not really a "program."
>>
>>
>>
>> Sean P. DeNigris wrote
>>> hernanmd wrote
>>>> To me the Hello World in Smalltalk was always just writing: 'Hello
>>>> world'
>>> +1. While putting it in a class shows a few more of the system's
>>> features,
>>> it also makes it seem more complex than other languages, when that's not
>>> really true. Why not just PrintIt: 'Hello world'? If it seems important
>>> to
>>> show classes, maybe start with PrintIt: 'Hello world' and step-by-step
>>> build
>>> through `Transcript show: 'Hello world'` to the class-based solution.
>>>
>>>
>>>
>>> -----
>>> Cheers,
>>> Sean
>>> --
>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>>
>>
>>
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>>
>
>
>
> amgfcildhiemjbph.png (21K)
> <http://forum.world.st/attachment/5060126/0/amgfcildhiemjbph.png>
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Dec. 8, 2017
Re: [Pharo-users] HTTP request question for an arango driver
by Norbert Hartl
Hi,
> Am 08.12.2017 um 15:32 schrieb Yann Lesage <yannlesag(a)gmail.com>:
>
> Hello,
>
>
> I write an driver for Arangodb . So like it's indicated in Arango documentation, I use the HTTP API. The repo is https://github.com/Valtena/Pharango
>
that is really wonderful. Iâm planning to do that for a long time but didnât find the time yet. Maybe I can find some time to help a little if you are interested.
> Now, the problem : Arango using Znclient make around 1 000 requests/second.
>
>
> And the question : Are there any recommended pratice to have the better performance with ZNClient or a better way to perform lot of HTTP requests ?
>
I think the biggest benefit comes from caching the ZnClient. It is designed to be used like that. Next could be using keep-alive in order to reduce the number of connections to be made. Finalky I could imagine that pooling the most heavy objects in zinc can remove stress from the garbage collector.
Norbert
>
> Thanks for your attention,
>
> Yann Lesage
Dec. 8, 2017
HTTP request question for an arango driver
by Yann Lesage
Hello,
I write an driver for Arangodb . So like it's indicated in Arango
documentation, I use the HTTP API. The repo is
https://github.com/Valtena/Pharango
Now, the problem : Arango using Znclient make around 1 000 requests/second.
And the question : Are there any recommended pratice to have the better
performance with ZNClient or a better way to perform lot of HTTP requests ?
Thanks for your attention,
Yann Lesage
Dec. 8, 2017
Re: [Pharo-users] Behold Pharo: The Modern Smalltalk
by Offray Vladimir Luna Cárdenas
Maybe the core of the suggestion is start with the Playground and then
go to the code browser, that's my workflow coming from other languages
like Python and Scheme, and having the playground to emulate REPL before
going to code browser has been really refreshing and also "going from
scripting to object" is a well received approach in our Data Weeks.
So the Pharo Quick Start, after providing the installation instrucctions
could be something like:
"""
The classical "Hello World!" program can be done in one line in Pharo,
as in most dynamic languages by opening the Playground ("Cmd + Shif + o"
shortcut on Mac o "Ctrl + Shift + o" on Windows) and writing "Transcript
show: 'Hello World!" (see figure below), but we are going to learn also
how to put this simple script into the Code Browser, a place where much
of the Pharo power resides.
^ Up: The "Hello World!" example as a one-liner script ran in the
Playground.
"""
and then I would add the succinct explanation you are doing about how to
create the Greeter.
Cheers,
Offray
On 08/12/17 09:41, horrido wrote:
> I'm not sure what you mean by *PrintIt:*. If you mean type 'Hello World' in
> the Playground and just *Print it*, that's not really a "program."
>
>
>
> Sean P. DeNigris wrote
>> hernanmd wrote
>>> To me the Hello World in Smalltalk was always just writing: 'Hello world'
>> +1. While putting it in a class shows a few more of the system's features,
>> it also makes it seem more complex than other languages, when that's not
>> really true. Why not just PrintIt: 'Hello world'? If it seems important to
>> show classes, maybe start with PrintIt: 'Hello world' and step-by-step
>> build
>> through `Transcript show: 'Hello world'` to the class-based solution.
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
Dec. 8, 2017
Re: [Pharo-users] Behold Pharo: The Modern Smalltalk
by Dimitris Chloupis
Now thatâs what I call a great way to promote something. Excellent work,
short to the point.
In the future you could combine small code snippets together with the rest
of your arguments for explaining the awesomeness of Pharo. Apple does this
very well and in similar style to what you have done here.
I love the size , quick to read, easy to understand.
On Fri, 8 Dec 2017 at 16:42, horrido <horrido.hobbies(a)gmail.com> wrote:
> I'm not sure what you mean by *PrintIt:*. If you mean type 'Hello World' in
> the Playground and just *Print it*, that's not really a "program."
>
>
>
> Sean P. DeNigris wrote
> > hernanmd wrote
> >> To me the Hello World in Smalltalk was always just writing: 'Hello
> world'
> >
> > +1. While putting it in a class shows a few more of the system's
> features,
> > it also makes it seem more complex than other languages, when that's not
> > really true. Why not just PrintIt: 'Hello world'? If it seems important
> to
> > show classes, maybe start with PrintIt: 'Hello world' and step-by-step
> > build
> > through `Transcript show: 'Hello world'` to the class-based solution.
> >
> >
> >
> > -----
> > Cheers,
> > Sean
> > --
> > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
Dec. 8, 2017
Re: [Pharo-users] Behold Pharo: The Modern Smalltalk
by horrido
I'm not sure what you mean by *PrintIt:*. If you mean type 'Hello World' in
the Playground and just *Print it*, that's not really a "program."
Sean P. DeNigris wrote
> hernanmd wrote
>> To me the Hello World in Smalltalk was always just writing: 'Hello world'
>
> +1. While putting it in a class shows a few more of the system's features,
> it also makes it seem more complex than other languages, when that's not
> really true. Why not just PrintIt: 'Hello world'? If it seems important to
> show classes, maybe start with PrintIt: 'Hello world' and step-by-step
> build
> through `Transcript show: 'Hello world'` to the class-based solution.
>
>
>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Dec. 8, 2017
Report period: 24 November 2017 to 8 December 2017
by Stephane Ducasse
Report period: 24 November 2017 to 8 December 2017
* 20734-Nested-Structures-using-Platform-longs-fails
>> Adding implementation of platform dependent longs in
FFIExternalStructureReferenceHandle.
>>
>> Fixes https://pharo.fogbugz.com/f/cases/20734/Nested-Structures-using-Platform-lo…
Issue URL: https://pharo.fogbugz.com/f/cases/20734
PR URL: https://github.com/pharo-project/pharo/pull/519
Diff URL: https://github.com/pharo-project/pharo/pull/519/files
Thanks to tesonep
* 20847 Super setUp need to be called in various test classes (Part 2)
>> - call super setUp in HiNodesAndLinksIteratorWithOneLinkModelTest
>> - call super setUp in GuideTest
>> - call super setUp in SMTPClientTest
>> - call super setUp in SocketStreamTest
>> - call super setUp in SocketTest
>> - call super setUp in ZipArchiveTest
>> - call super setUp in TonelRepositoryTest
>> - call super setUp in SlotMethodRecompilationTest
>> - call super setUp in SmalllintManifestCheckerTest
>> - call super setUp in OmSessionStoreNameStrategyTest
>> - call super setUp in PharoBootstrapRuleTest
>> - call super setUp in PharoIssueTest
>> - call super setUp in PharoTutorialTestGoOnMockTutorial
>> - call super setUp in PharoTutorialTestNavigation
>> - call super setUp in UUIDGeneratorTest
>> - call super setUp in TestObjectsAsMethods
>> - call super setUp in TutorialPlayerTestWithMockTutorial
>> - call super setUp in PNGReadWriterTest
>> - call super setUp in PragmaTest
>> - call super setUP in QuotedPrintableMimeConverterTest
>> - call super setUP in RandomTest
>> - call super setUP in RectangleTest
>> - call super setUP in RecursionStopperTest
>> - call super setUp in ResumableTestFailureTestCase
>> - call super setUp in MTDependencyTest
>> - call super setUp in MTDevelopmentWorkfowTestWithXMLParser
>> - call super setUp in NautilusTest
>> - call super setUp in NautilusUITest
>> - call super setUp in SimpleTestResourceTestCase
>> - call super setUp in SUnitTest
>> - call super setUp in SimpleTestResource
>> - call super setUp in GTDebuggerSmokeTest
>> - call super setUp in GTPlaygroundBasicTest
>> - call super setUp in GTSpotterCandidatesListTest
>> - call super setUp in ZdcPluginSSLSessionTest
>> - call super setUp in ZnStaticFileServerDelegateTests
>> - call super setUp in ZnStaticFileServerDelegateTests
>> - call super setUp in GLMAnnouncementPropagationTest
>> - call super setUp in GLMAnnouncerTest
>> - call super setUp in GLMExplicitBrowserCopyTest
>> - call super setUp in GLMPagerModelTest
>> - call super setUp in GLMUpdateMorphicTest
>> - call super setUp in GLMPagerMorphTest
>>
>> https://pharo.fogbugz.com/f/cases/20847/Super-setUp-need-to-be-called-in-va…
Issue URL: https://pharo.fogbugz.com/f/cases/20847 Super setUp
need to be called in various test classes (Part 2)
PR URL: https://github.com/pharo-project/pharo/pull/593
Diff URL: https://github.com/pharo-project/pharo/pull/593/files
Thanks to astares
* 20840 Super setUp need to be called in various test classes (Part 1)
>> - call super setUp in AbstractNautilusUITest
>> - call super setUp in AndreasSystemProfilerTest
>> - call super setUp in ArrayTest
>> - call super setUp in AssociationTest
>> - call super setUp in ASTCacheResetTest
>> - call super setUp in BagTest
>> - call super setUp in Base64MimeConverterTest
>> - call super setUp in BuilderManifestTest
>> - call super setUp in CairoUTF8ConverterTest
>> - call super setUp in ChangesBrowserTest
>> - call super setUp in ChangeSetClassChangesTest
>> - call super setUp in ClassRenameFixTest
>> - call super setUp in ClassTest
>> - call super setUp in TraitsResource
>> - call super setUp in CollectionValueHolderTest
>> - call super setUp in CommandLineArgumentsTest
>> - call super setUp in CopyVisitorTest
>> - call super setUp in FreeTypeCacheTest
>> - call super setUp in HashAndEqualsTestCase
>> - call super setUp in HeapTest
>> - call super setUp in SortedCollectionTest
>> - call super setUp in SortHierarchicallyTest
>> - call super setUp in SetTest
>> - call super setUp in StackTest
>> - call super setUp in StringTest
>> - call super setUp in SymbolTest
>> - call super setUp in FloatArrayTest
>> - call super setUp in SHStyleElementTest
>> - call super setUp in HistoryIteratorTest
>> - call super setUp in IntervalTest
>> - call super setUp in OrderedCollectionTest
>> - call super setUp in LazyTabGroupTest
>> - call super setUp in MatrixTest
>> - call super setUp in RPackageTestCase
>> - call super setUp in ScheduleTest
>> - call super setUp in SendsDeprecatedMethodToGlobalRuleTest
>> - call super setUp in MorphTest
>> - call super setUp in MorphicEventHandlerTest
>> - call super setUp in MorphicAdapterTest
>> - call super setUp in MorphicUIBugTest
>> - call super setUp in CircleMorphTest
Issue URL: https://pharo.fogbugz.com/f/cases/20840 Super setUp
need to be called in various test classes (Part 1)
PR URL: https://github.com/pharo-project/pharo/pull/590
Diff URL: https://github.com/pharo-project/pharo/pull/590/files
Thanks to astares
* 20838 Super setUp need to be called in System-SessionManager package tests
>> - call super setUp in SessionErrorHandlingTest
>> - call super setUp in SessionManagerRegistrationTest
>> - call super setUp in SessionManagerUnregistrationTest
>>
>> https://pharo.fogbugz.com/f/cases/20838/Super-setUp-need-to-be-called-in-Sy…
Issue URL: https://pharo.fogbugz.com/f/cases/20838 Super setUp
need to be called in System
PR URL: https://github.com/pharo-project/pharo/pull/588
Diff URL: https://github.com/pharo-project/pharo/pull/588/files
Thanks to astares
* 20839 Super setUp need to be called in NECompletion-Tests
>> - call super setUp in NECControllerTest
>> - call super setUp in NECOverrideModelTest
>> - call super setUp in NECUntypedModelTest
>>
>> https://pharo.fogbugz.com/f/cases/20839/
Issue URL: https://pharo.fogbugz.com/f/cases/20839 Super setUp
need to be called in NECompletion
PR URL: https://github.com/pharo-project/pharo/pull/589
Diff URL: https://github.com/pharo-project/pharo/pull/589/files
Thanks to astares
* 20826 Super setup need to be called in DependencyAnalyser tests
>> - call super setUp in DADependencyCheckerTest
>> - call super setUp in DAMessageSendAnalyzerTest
>> - call super setUp in DAPackageCycleDetectorTest (with some
formatting cleanups in setUp)
>> - call super setUp in DAPackageCycleTest
>> - call super setUp in DAPackageDependencyTest
>> - call super setUp in DAPackageDependencyWrapperTest
>> - call super setUp in DAPackageRelationGraphDiffTest
>> - call super setUp in DAPackageRelationGraphTest (with some
formatting cleanups in setUp)
>> - call super setUp in DAPackageTest (with some formatting
cleanups in setUp)
>> - call super setUp in DATarjanAlgorithmTest (with some
formatting cleanups in setUp)
>> Also add some tags to to better categorize the test classes in
package "Tool-Dependency-Analyse-Test"
Issue URL: https://pharo.fogbugz.com/f/cases/20826 Super setup
need to be called in DependencyAnalyser tests
PR URL: https://github.com/pharo-project/pharo/pull/579
Diff URL: https://github.com/pharo-project/pharo/pull/579/files
Thanks to astares
* 20791-World-menu-help-not-shown-in-the-menu
>> Set balloonText after the spec's help.
Issue URL: https://pharo.fogbugz.com/f/cases/20791
PR URL: https://github.com/pharo-project/pharo/pull/575
Diff URL: https://github.com/pharo-project/pharo/pull/575/files
Thanks to luque
* 20830 Super setup need to be called in Monticello tests and other
cleanups (comments, tags)
>> - call super setUp in MCChangeNotificationTest
>> - call super setUp in MCClassDefinitionTest
>> - call super setUp in MCDictionaryRepositoryTest
>> - call super setUp in MCDirectoryRepositoryTest
>> - call super setUp in MCFileInTest
>> - call super setUp in MCMczInstallerTest
>> - call super setUp in MCMethodDefinitionTest
>> - call super setUp in MCPatchTest
>> - call super setUp in MCSnapshotBrowserTest
>> - call super setUp in MCSnapshotTest
>> - call super setUp in MCStWriterTest
>> - call super setUp in MCVersionTest
>> - call super setUp in MCSnapshotResource (test resource)
>>
>> - categorize the three test methods in MCPackageManagerTest
>> - Add a comment to uncommented MCTestCase
>> - Add a comment to uncommented MCRepositoryTest
>> - Add a comment to uncommented MCSnapshotResource
>> - Add a comment to uncommented MCMockDependency
>>
>> - add some tags to structure the many test classes in the package better
>>
>>
>> https://pharo.fogbugz.com/f/cases/20830/Super-setup-need-to-be-called-in-Mo…
Issue URL: https://pharo.fogbugz.com/f/cases/20830 Super setup
need to be called in Monticello tests and other cleanups (comments,
tags)
PR URL: https://github.com/pharo-project/pharo/pull/583
Diff URL: https://github.com/pharo-project/pharo/pull/583/files
Thanks to astares
* 20816 Typo in DateAndTimeEpochTest and DateAndTimeUnixEpochTest tearDown
>> fix typo
>>
>> https://pharo.fogbugz.com/f/cases/20816/Typo-in-DateAndTimeEpochTest-and-Da…
Issue URL: https://pharo.fogbugz.com/f/cases/20816 Typo in
DateAndTimeEpochTest and DateAndTimeUnixEpochTest tearDown
PR URL: https://github.com/pharo-project/pharo/pull/572
Diff URL: https://github.com/pharo-project/pharo/pull/572/files
Thanks to astares
* 20822 Cleanup AbstractKeymappingTest
>> - override #isAbstract as it is an abstract test superclass
>> - call super setUp
>> - call super tearDown
>> - set default to nil in tearDown to avoid further referencing
Issue URL: https://pharo.fogbugz.com/f/cases/20822 Cleanup
AbstractKeymappingTest
PR URL: https://github.com/pharo-project/pharo/pull/577
Diff URL: https://github.com/pharo-project/pharo/pull/577/files
Thanks to astares
* 20820 Better formatting of TestSuite setUp
>> - one blank instead of two
>> - format to be more readable
>>
>> https://pharo.fogbugz.com/f/cases/20820/Better-formatting-of-TestSuite-setUp
Issue URL: https://pharo.fogbugz.com/f/cases/20820 Better
formatting of TestSuite setUp
PR URL: https://github.com/pharo-project/pharo/pull/574
Diff URL: https://github.com/pharo-project/pharo/pull/574/files
Thanks to astares
* 20825 Super setUp need to be called in Opal Compiler tests
>> - call super setUp in OCBytecodeDecompilerTest
>> - call super setUp in OCClosureCompilerTest
>> - call super setUp in OCCompilerExceptionTest
>> - call super setUp in OCCompilerNotifyingTest
>> - call super setUp in OCCompilerTest
Issue URL: https://pharo.fogbugz.com/f/cases/20825 Super setUp
need to be called in Opal Compiler tests
PR URL: https://github.com/pharo-project/pharo/pull/578
Diff URL: https://github.com/pharo-project/pharo/pull/578/files
Thanks to astares
* 20819 Fix variable assignment in RBScanner>>stripComment
>> https://pharo.fogbugz.com/f/cases/20819/Fix-variable-assignment-in-RBScanne…
Issue URL: https://pharo.fogbugz.com/f/cases/20819 Fix variable
assignment in RBScanner>>stripComment
PR URL: https://github.com/pharo-project/pharo/pull/573
Diff URL: https://github.com/pharo-project/pharo/pull/573/files
Thanks to astares
* Fix potential dangling reference to a released FT_Face
>> This is issue
https://pharo.fogbugz.com/f/cases/20776/Potential-dangling-ref-to-freed-FT_…
>>
>> Technical details:
>>
>> A cairo_font_face could still be referenced from external heap
and further used.
>> Thus we must NOT release the FT_Face until the external
reference count drops to 1.
>>
>> Thus the CairoFontFace is not a good place for retaining a
strong reference to the FT2Face, because the reference will vanish as
soon as the Smalltalk object is garbage collected, while some external
cairo_font_face still point on it.
>> It's better to have the strong reference in the executor, and
avoid garbageCollecting the executor while there are external
references to the resource data...
>>
>> The solution is to use a specific CairoFontFaceExecutor.
>> If the resource is shared, then we have no other choice than
regularly polling the ref count in a new Process.
>> This process must stop whenever the session change.
>>
>> Please review carefully and pass some tests.
Issue URL: https://pharo.fogbugz.com/f/cases/Fix potential
dangling reference to a released FT_Face
PR URL: https://github.com/pharo-project/pharo/pull/565
Diff URL: https://github.com/pharo-project/pharo/pull/565/files
Thanks to nicolas-cellier-aka-nice
* 20821 Remove unused ivar from RBKeywordToken and RBIdentifierToken
>> Remove
>> - unused ivar stopPosition in RBIdentifierToken and
>> - unused ivar stopPosition in RBKeywordToken
>>
>> https://pharo.fogbugz.com/f/cases/20821/Remove-unused-ivar-from-RBKeywordTo…
Issue URL: https://pharo.fogbugz.com/f/cases/20821 Remove unused
ivar from RBKeywordToken and RBIdentifierToken
PR URL: https://github.com/pharo-project/pharo/pull/576
Diff URL: https://github.com/pharo-project/pharo/pull/576/files
Thanks to astares
* 20828 Super setup need to be called in Versionner tests
>> - call super setUp in MBAbstractTest
>> - call super setUp in MBPackageInfoTest
>>
>> https://pharo.fogbugz.com/f/cases/20828/Super-setup-need-to-be-called-in-Ve…
Issue URL: https://pharo.fogbugz.com/f/cases/20828 Super setup
need to be called in Versionner tests
PR URL: https://github.com/pharo-project/pharo/pull/581
Diff URL: https://github.com/pharo-project/pharo/pull/581/files
Thanks to astares
* 20829 Super setup need to be called in Spec tests
>> - call super setUp in MorphicLabelAdapterTest
>> - call super setUp in MorphicTreeAdapterTest
>> - call super setUp in SpecInterpreterTest
>> - call super setUp in SpecTestCase
>>
>> https://pharo.fogbugz.com/f/cases/20829/Super-setup-need-to-be-called-in-Sp…
Issue URL: https://pharo.fogbugz.com/f/cases/20829 Super setup
need to be called in Spec tests
PR URL: https://github.com/pharo-project/pharo/pull/582
Diff URL: https://github.com/pharo-project/pharo/pull/582/files
Thanks to astares
* 20827 Super setUp need to be called RBParseTreeRewriterTest and
RBParseTreeSearcherTest
>> - call super setUp in RBParseTreeRewriterTest
>> - call super setUp in RBParseTreeSearcherTest
Issue URL: https://pharo.fogbugz.com/f/cases/20827 Super setUp
need to be called RBParseTreeRewriterTest and RBParseTreeSearcherTest
PR URL: https://github.com/pharo-project/pharo/pull/580
Diff URL: https://github.com/pharo-project/pharo/pull/580/files
Thanks to astares
* 20814 Add release check that we have no protocols left without methods
>> Check that we have no protocols left without methods
>>
>> https://pharo.fogbugz.com/f/cases/20814/Add-release-check-that-we-have-no-p…
Issue URL: https://pharo.fogbugz.com/f/cases/20814 Add release
check that we have no protocols left without methods
PR URL: https://github.com/pharo-project/pharo/pull/570
Diff URL: https://github.com/pharo-project/pharo/pull/570/files
Thanks to astares
* 20815 Add a release test ensuring that there are no empty packages in the i
>> Add a release test ensuring that there are no empty packages
in the image left
>>
>> https://pharo.fogbugz.com/f/cases/20815/Release-check-so-that-we-have-no-em…
Issue URL: https://pharo.fogbugz.com/f/cases/20815 Add a release
test ensuring that there are no empty packages in the i
PR URL: https://github.com/pharo-project/pharo/pull/571
Diff URL: https://github.com/pharo-project/pharo/pull/571/files
Thanks to astares
* 20786-halt-messages-are-not-highlighted-in-red-as-the-other-flavours-of-halt-messages
>> Added haltIfNil to the selectors to be highlighted by HaltIconStyler.
>> Changed the structure of the shouldStyleNode method's code to
increase clarity.
Issue URL: https://pharo.fogbugz.com/f/cases/20786
PR URL: https://github.com/pharo-project/pharo/pull/569
Diff URL: https://github.com/pharo-project/pharo/pull/569/files
Thanks to dupriezt
* 20781-update-to-iceberg-064
>> closes issue #20781
Issue URL: https://pharo.fogbugz.com/f/cases/20781
PR URL: https://github.com/pharo-project/pharo/pull/560
Diff URL: https://github.com/pharo-project/pharo/pull/560/files
Thanks to estebanlm
* 20793-During-Bootstrap-if-a-baseline-installation-fails-it-should-cancel-the-process
>> This PR introduces two changes to handle the errors during the
bootstrap:
>>
>> 1. The Whole process now has a timeout of 60 minutes.
>> 2. After initializing the world in BaselineOfMorphic the
UIManager is restored to the correct UIManager depending the system
state. If it is headless then the NonInteractiveManager is used,
otherwise the MorphicUIManager.
Issue URL: https://pharo.fogbugz.com/f/cases/20793
PR URL: https://github.com/pharo-project/pharo/pull/567
Diff URL: https://github.com/pharo-project/pharo/pull/567/files
Thanks to tesonep
* 20800-do-not-open-welcome-window-for-now
>> https://pharo.fogbugz.com/f/cases/20800/do-not-open-welcome-window-for-now
>>
>> do not open the welcome window
Issue URL: https://pharo.fogbugz.com/f/cases/20800
PR URL: https://github.com/pharo-project/pharo/pull/568
Diff URL: https://github.com/pharo-project/pharo/pull/568/files
Thanks to pavel-krivanek
* 20786-halt-messages-are-not-highlighted-in-red-as-the-other-flavours-of-halt-messages
>> Created HaltColonIconStylerClass, to style `halt:` message
nodes with red highlighting in code browsers.
Issue URL: https://pharo.fogbugz.com/f/cases/20786
PR URL: https://github.com/pharo-project/pharo/pull/564
Diff URL: https://github.com/pharo-project/pharo/pull/564/files
Thanks to dupriezt
* 20782-CompiledCode-misses-an-abstract-sourcePointer-method
>> introduced CompiledCode>>sourcePointer as an abstract method
Issue URL: https://pharo.fogbugz.com/f/cases/20782
PR URL: https://github.com/pharo-project/pharo/pull/561
Diff URL: https://github.com/pharo-project/pharo/pull/561/files
Thanks to LucFabresse
* -20785/Fix-the-names-of-uploaded-bootstrap-zip-files
>> https://pharo.fogbugz.com/f/cases/20785/Fix-the-names-of-uploaded-bootstrap…
Issue URL: https://pharo.fogbugz.com/f/cases/
PR URL: https://github.com/pharo-project/pharo/pull/563
Diff URL: https://github.com/pharo-project/pharo/pull/563/files
Thanks to pavel-krivanek
* 20783-upload-temporary-building-files-into-a-separate-repository
>> https://pharo.fogbugz.com/f/cases/20783/upload-temporary-building-files-int…
Issue URL: https://pharo.fogbugz.com/f/cases/20783
PR URL: https://github.com/pharo-project/pharo/pull/562
Diff URL: https://github.com/pharo-project/pharo/pull/562/files
Thanks to pavel-krivanek
* 20777-Fix-instVarAt-instVarAt-put-comment
>> https://pharo.fogbugz.com/f/cases/20777/Fix-instVarAt-instVarAt-put-comment
>>
>> http://forum.world.st/Problem-with-primitive-instVarAt-instVarAt-put-what-s…
Issue URL: https://pharo.fogbugz.com/f/cases/20777
PR URL: https://github.com/pharo-project/pharo/pull/559
Diff URL: https://github.com/pharo-project/pharo/pull/559/files
Thanks to clementbera
* 20772 - Unused temps in MBConfigurationInfo, MethodDictionaryTest,...
>> Fix unused temps in
>>
>> MethodDictionaryTest>>#testIdentityKeyAtNonExistantValueReturnsFailBlock
>> MBConfigurationInfo>>#buildStringOrText
>> MBPackageInfo>>#versions
>> MCFileTreeRepository class>>#parseName:extension:
>> MCWorkingCopyBrowser>>#addRepositoryToPackage
>> MethodDictionaryTest>>#testGrowPreservesElements
Issue URL: https://pharo.fogbugz.com/f/cases/20772
PR URL: https://github.com/pharo-project/pharo/pull/557
Diff URL: https://github.com/pharo-project/pharo/pull/557/files
Thanks to astares
* 20745-cleanup-unused-methods-OCOptimizedBlockScope
>> cleanup unused methods OCOptimizedBlockScope
>>
>> https://pharo.fogbugz.com/f/cases/20745/cleanup-unused-methods-OCOptimizedB…
Issue URL: https://pharo.fogbugz.com/f/cases/20745
PR URL: https://github.com/pharo-project/pharo/pull/556
Diff URL: https://github.com/pharo-project/pharo/pull/556/files
Thanks to MarcusDenker
* 20700-translateToUTC-does-not-work-on-Month-and-Year
>> 20700 translateToUTC does not work on Month and Year
>>
>> Update Year>>starting:duration: and Month>>starting:duration:
to keep the supplied DateAndTime's offset.
>>
>> Add automated tests to Year, Month and Week to confirm correct
operation.
Issue URL: https://pharo.fogbugz.com/f/cases/20700
PR URL: https://github.com/pharo-project/pharo/pull/545
Diff URL: https://github.com/pharo-project/pharo/pull/545/files
Thanks to akgrant43
* 20770-Open-WelcomeHelp-window-at-startup
>> https://pharo.fogbugz.com/f/cases/20770/Open-WelcomeHelp-window-at-startup
>>
>> open WelcomeHelp on startup
Issue URL: https://pharo.fogbugz.com/f/cases/20770
PR URL: https://github.com/pharo-project/pharo/pull/555
Diff URL: https://github.com/pharo-project/pharo/pull/555/files
Thanks to pavel-krivanek
* 20769-DateAndTime-now-returns-summer-time-in-winter-France-time-zone
>> https://pharo.fogbugz.com/f/cases/20769/DateAndTime-now-returns-summer-time…
>>
>> add missing startup list registrations
Issue URL: https://pharo.fogbugz.com/f/cases/20769
PR URL: https://github.com/pharo-project/pharo/pull/553
Diff URL: https://github.com/pharo-project/pharo/pull/553/files
Thanks to pavel-krivanek
* 19304-anyOne-comment-should-be-improved
>> https://pharo.fogbugz.com/f/cases/19304/
>>
>> improve #anyOne comment
Issue URL: https://pharo.fogbugz.com/f/cases/19304
PR URL: https://github.com/pharo-project/pharo/pull/552
Diff URL: https://github.com/pharo-project/pharo/pull/552/files
Thanks to pavel-krivanek
* 20768-remove-GLMWatcherMorphicTest
>> https://pharo.fogbugz.com/f/cases/20768/remove-GLMWatcherMorphicTest
>>
>> remove GLMWatcherMorphicTest
Issue URL: https://pharo.fogbugz.com/f/cases/20768
PR URL: https://github.com/pharo-project/pharo/pull/551
Diff URL: https://github.com/pharo-project/pharo/pull/551/files
Thanks to pavel-krivanek
* 20738 dictionarystore string generates incorrect source code when a
negative number is in values
Issue URL: https://pharo.fogbugz.com/f/cases/20738
dictionarystore string generates incorrect source code when a negative
number is in values
PR URL: https://github.com/pharo-project/pharo/pull/538
Diff URL: https://github.com/pharo-project/pharo/pull/538/files
Thanks to juliendelplanque
* 20767-Decrease-retry-times-for-failing-jobs
>> https://pharo.fogbugz.com/f/cases/20767/Decrease-retry-times-for-failing-jo…
Issue URL: https://pharo.fogbugz.com/f/cases/20767
PR URL: https://github.com/pharo-project/pharo/pull/550
Diff URL: https://github.com/pharo-project/pharo/pull/550/files
Thanks to pavel-krivanek
* 20758-Slot-should-have-explicit-property-definingClass2
>> definingClass is added to Slot.
>> It is initialized in ClassDescription>>superclass:layout:
>> SlotIntegrationTest>>testSlotsAreInitializedWithDefiningAnonimousClass
covers that initialization is performed.
>>
>> https://pharo.fogbugz.com/f/cases/20758/Slot-should-have-explicit-property-…
Issue URL: https://pharo.fogbugz.com/f/cases/20758
PR URL: https://github.com/pharo-project/pharo/pull/543
Diff URL: https://github.com/pharo-project/pharo/pull/543/files
Thanks to dionisiydk
* 20747-Date-comparisons-without-time-zone
>> 20747 Date comparisons without time zone
>>
>> Add time zone independent comparisons to Date.
Issue URL: https://pharo.fogbugz.com/f/cases/20747
PR URL: https://github.com/pharo-project/pharo/pull/544
Diff URL: https://github.com/pharo-project/pharo/pull/544/files
Thanks to akgrant43
* 20766-Increase-priority-of-FreeType-initialization
>> https://pharo.fogbugz.com/f/cases/20766/Increase-priority-of-FreeType-initi…
>>
>> increase priority of FreeType initialization
Issue URL: https://pharo.fogbugz.com/f/cases/20766
PR URL: https://github.com/pharo-project/pharo/pull/548
Diff URL: https://github.com/pharo-project/pharo/pull/548/files
Thanks to pavel-krivanek
* 20699-Convenience-method-for-creating-typed-buffers-to-pass-by-ref-through-FFI-
>> https://pharo.fogbugz.com/f/cases/20699/Convenience-method-for-creating-typ…
Issue URL: https://pharo.fogbugz.com/f/cases/20699
PR URL: https://github.com/pharo-project/pharo/pull/508
Diff URL: https://github.com/pharo-project/pharo/pull/508/files
Thanks to estebanlm
* 20759 Unused temps in Metacello classes
>> Fix unused temps
>>
>> MetacelloMCProjectSpec>>#determineCurrentVersionForLoad
>> MetacelloToolBox class>>#defaultTopic:for:
>> MetacelloToolBox>>#commitBaselineOfMethod
>> MetacelloToolBox>>#commitMethod
>> MetacelloToolBox>>#updateVersionMethodForVersion:projectAttributes:updateProjects:updatePackages:versionSpecsDo:
>> MetacelloToolBoxConstructor>>#extractSymbolicVersionSpecsFor:
>> MetacelloVersionSpec>>#configMethodOn:last:indent:
>> MetacelloMCVersion>>#executeLoadFromArray:
>> MetacelloMCVersionValidator>>#validateProjectVersionLoad:loads:
>> MetacelloMemberListSpec>>#mergeSpec:
>> MetacelloPackageSpec>>#currentPackageLoaded:notLoaded:using:
>> MetacelloPackageSpec>>#mergeSpec:
>> MetacelloProject>>#version:
>> MetacelloScriptEngine>>#lookupProjectSpecFor:
>> MetacelloSemanticVersionNumber class>>#fromString:forPattern:
Issue URL: https://pharo.fogbugz.com/f/cases/20759 Unused temps
in Metacello classes
PR URL: https://github.com/pharo-project/pharo/pull/546
Diff URL: https://github.com/pharo-project/pharo/pull/546/files
Thanks to astares
* 20763 ExternalAddress>>finalize should be in finalization protocol
>> Put finalize into finalization category to satisfy
ProperMethodCategorizationTest
>>
>> https://pharo.fogbugz.com/f/cases/edit/20763/ExternalAddress-finalize-shoul…
Issue URL: https://pharo.fogbugz.com/f/cases/20763
ExternalAddress>>finalize should be in finalization protocol
PR URL: https://github.com/pharo-project/pharo/pull/547
Diff URL: https://github.com/pharo-project/pharo/pull/547/files
Thanks to astares
* 20061-Explicit-isAbstract-is-needed-instead-of-using-hasAbstractMethods-in-tools2
>> https://pharo.fogbugz.com/f/cases/20061/Explicit-isAbstract-is-needed-inste…
>>
>> Few things are done:
>> - Behavior and friends define isAbstract method with optimized logic.
>> It gives 50 milliseconds for the test:
>> [50 timesRepeat: [ PluggableTextMorph isAbstract]] timeToRun.
>> 50 items is much more then we able to see in browser class
list. So it should not affect browser speed.
>> - BehaviorTest>>testIsAbstract
>> - CompiledMethod>>isAbstract is now take into account traits
explicit and implicit requirement.
>> - Nautilus uses #isAbstract instead of hasAbstractMethods to
mark abstract classes
Issue URL: https://pharo.fogbugz.com/f/cases/20061
PR URL: https://github.com/pharo-project/pharo/pull/541
Diff URL: https://github.com/pharo-project/pharo/pull/541/files
Thanks to dionisiydk
* 20740-Work-Needed-isAbstract-not-working-correctly-on-64bit
>> Fixed markerOrNil to work on both bytecode sets for 64 bits and 32 bits.
>>
>> https://pharo.fogbugz.com/f/cases/20740
Issue URL: https://pharo.fogbugz.com/f/cases/20740
PR URL: https://github.com/pharo-project/pharo/pull/537
Diff URL: https://github.com/pharo-project/pharo/pull/537/files
Thanks to clementbera
* 20176-Error-in-ByteArraybooleanAt
>> Fix ByteArray>>#booleanAt: to actually return true when the
byte at the querried position in the ByteArray is a non-zero integer
Issue URL: https://pharo.fogbugz.com/f/cases/20176
PR URL: https://github.com/pharo-project/pharo/pull/539
Diff URL: https://github.com/pharo-project/pharo/pull/539/files
Thanks to dupriezt
* 20756-Secondary-selections-are-dark-after-switch-to-the-white-theme-in-Pharo-7
>> https://pharo.fogbugz.com/f/cases/20756/Secondary-selections-are-dark-after…
>>
>> change default secondary selection color
Issue URL: https://pharo.fogbugz.com/f/cases/20756
PR URL: https://github.com/pharo-project/pharo/pull/540
Diff URL: https://github.com/pharo-project/pharo/pull/540/files
Thanks to pavel-krivanek
* 20690-assertequals
>> https://pharo.fogbugz.com/f/cases/20690/assert-equals
>>
>> - swap actual and experted sides in comparig inside assert:equals:
>> - deprecate assert:descriptionBlock:
Issue URL: https://pharo.fogbugz.com/f/cases/20690
PR URL: https://github.com/pharo-project/pharo/pull/533
Diff URL: https://github.com/pharo-project/pharo/pull/533/files
Thanks to pavel-krivanek
* 20729-Monticello-history-browser-should-enable-diffing-with-parent
>> This is issue
https://pharo.fogbugz.com/f/cases/20729/Monticello-history-browser-should-e…
>> Such option is really handy when cherry picking changes from
other branches
>> Pick the implementation from Squeak (fbs, eem) and adapt to Pharo
Issue URL: https://pharo.fogbugz.com/f/cases/20729
PR URL: https://github.com/pharo-project/pharo/pull/513
Diff URL: https://github.com/pharo-project/pharo/pull/513/files
Thanks to nicolas-cellier-aka-nice
Dec. 8, 2017
A Genetic Algorithms Framework for Pharo
by Alidra Abdelghani
Hi,
I just implemented (the kernel of) a Framework for genetic algorithms (https://en.wikipedia.org/wiki/Genetic_algorithm <https://en.wikipedia.org/wiki/Genetic_algorithm>) in Pharo.
Some of you could be dealing with optimisation problems. So maybe it could be useful for you.
I implemented some basic functionalities : monoobjecitve, multi objective, a crossover and mutation operators, uniform selection... I also implemented some basic exemples ( mono/multi knapsack and travelling salesman)
I still need to provide some documentation but there are lot of tests so it is easy to see how it works. I will add more operators from time to time.
The code is intended to be as easy to reuse as possible. It is on Smalltalkhub : http://smalltalkhub.com/#!/~Alidra/GeneticAlgorithmsFramework/ <http://smalltalkhub.com/#!/~Alidra/GeneticAlgorithmsFramework/>
Please take a look and tell me what you think. I will be pleased to help if you think the Framework can apply to your problem. just let me know :)
Abdelghani
Dec. 8, 2017