[Pharo-dev] Fwd: [Esug-list] 2nd Visualization Contest with Roassal
Begin forwarded message: From: Alexandre Bergel aber...@dcc.uchile.cl Subject: [Esug-list] 2nd Visualization Contest with Roassal Date: 9 Apr 2014 23:46:52 GMT+2 To: ESUG Mailing list esug-l...@lists.esug.org Dear colleagues and friends, We are happy to announce the Second Visualization Contest with Roassal. What can I win? - 150 euros, sponsored by ObjectProfile - a über-cool ObjectProfile T-shirt and some wonderful stickers - maximum publicity of your work - a nice award certificate, delivered during ESUG How can I win? - you have to produce a visualization with Roassal. You can use the Pharo, VisualWorks or VAST version of Roassal. Here is an example of what we expect http://bit.ly/sunburstDemo or http://bit.ly/GraphET - making a video is mandatory. The video will weight the most in our decision. The video could be of any length and has to include your name and say that is was made (partly or completely) with Roassal. No need to talk, just show off! - making your code available and easy to install will help you get more points How can I submit? - send the links of your video and other material (if needed) to i...@objectprofile.com Every email you will send to this email will be acknowledged. If you do not receive a 'Ok' from us, it means we haven't read it, in that case send your email again after a few days. - the deadline for submitting is August 11, 2014 Mini FAQ? - Is the object-profile team allowed to participate? No - Should my visualization or code be open source? No need for this, whatever license is fine. However your video has to be public. - How can I get more information? Just comment on the facebook https://www.facebook.com/ObjectProfile or using Twitter @ObjectProfile or send email to i...@objectprofile.com or the pharo or moose mailing list - What I submit two different videos? Yes, no problem with that - How will judge the videos? both the esug community and the object profile team. The Esug community will have 30% of the final grade, object profile the remaining 70% Cheers, The profilers -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. ___ Esug-list mailing list esug-l...@lists.esug.org http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Re: [Pharo-dev] Absolute and relative directories
on Mac OS '.' asFileReference absolutePath isAbsolute - true '.' asFileReference absolutePath isAbsolute On 10 Apr 2014, at 09:59, Nicolai Hess nicolaih...@web.de wrote: Which OS? for windows: '.' asFileReference absolutePath isAbsolute - true 2014-04-10 9:44 GMT+02:00 Damien Cassou damien.cas...@gmail.com: '.' asFileReference absolutePath isAbsolute === false Is that desirable? It seems wrong to 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] MongoGB GridFS driver for Pharo
Ok, thanks Esteban. Do you plan to integrate it in Voyage or should we look into it? The agenda of Esteban is getting full so if you can push a first version this will help/ Any starting point? Never done something similar. Cheers, R
[Pharo-dev] What about a Pharo day in May-June?
Hi guys I think that it would be great to organize a gathering/talks/show me your stuff/networking day before spring. What do you think that this idea? We could host it at Lille. Stef
Re: [Pharo-dev] bugette in script file-in
https://pharo.fogbugz.com/default.asp?13191 so that we do not forget On 09 Apr 2014, at 20:43, Eliot Miranda eliot.mira...@gmail.com wrote: Hi All, again noticed in the simulator: If one files-in a script via the command line (myvm myimage script.st) then the CodeImporter evaluates an extra empty string after filing n the chunks in the script, which creates an extra empty compiled method and executes it. -- best, Eliot
[Pharo-dev] Log of actions now on github and in markDown
Hi guys I moved the changeLog of Pharo30 (and I will move all the other ones too). https://github.com/pharo-project/ChangeLogs/blob/master/Pharo30ChangeLogs.md Stef PS: do not ask me why…. better markdown than a broken click and play wiki.
Re: [Pharo-dev] Case 13007 Cannot-integrate-a-slice-with-monticello-red-square-in-the-UI
super! On 08 Apr 2014, at 02:28, Ben Coman b...@openinworld.com wrote: Pharo4Stef wrote: Hi I did not check the latest submission but to me putting a mutex on list looks like a bad decision. May be the original forking of the project list is the problem. What is the point of view of the people that work on the issue. Forking to get speed is often a way to pay high price after. Synchronisation points are important. Stef On 07 Apr 2014, at 18:36, Ben Coman b...@openinworld.com wrote: Priority 2 fix ready for review. Please come pick it apart. https://pharo.fogbugz.com/f/cases/13007/Cannot-integrate-a-slice-with-monticello-red-square-in-the-UI cheers -ben The fix no longer uses the mutex idea. We've refactored the per-keypress update from 2500ms down to 200ms. As well the fork has been moved within the calculation method such that object state is not updated until after the calculation, and is then the instance variable assignment is wrapped by a #defer: which should take care of the race condition with the #drawOn: Its now been reviewed by Nicolai. Just need one more. cheers -ben
Re: [Pharo-dev] Pharo Consortium: New Bronze Member Ta Mère
This is great news! I would vote for “Ta Mère” as the best company name ever. In fact I’m not that sure :) For the non french even if this is normally spelled french it can be interpreted as slang as nearly an insult. So this is quite provocative. Alexandre On Apr 8, 2014, at 2:53 PM, Marcus Denker marcus.den...@inria.fr wrote: The Pharo Consortium is very happy to announce that Ta Mère has joined the Consortium as a Bronze Industrial Member. More about - Ta Mère: http://tamere.eu - Pharo Consortium: http://consortium.pharo.org The goal of the Pharo Consortium is to allow companies to support the ongoing development and future of Pharo. Individuals can support Pharo via the Pharo Association: http://association.pharo.org -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] [Vm-dev] Pharo VM bug 11130
On 06 Apr 2014, at 23:08, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: 2014-04-06 22:29 GMT+02:00 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com: Good news, I've managed to make your issue apparently vanish in Pharo3.0 VM. For this, I: - cleaned up unecessary differences with Eliot's VMMaker.oscog branch, - removed unecessary changes ahead of VMMaker.oscog-eem.333 version (those stamped LucFabresse) - carefully applied changes from VMMaker.oscog-eem.333 that were not applied Note that this version was marked as merged, which it was obviously not Please, if you do not fully merge, but just cherry pick some changes, it's better to not merge. - upgraded to (merged) VMMaker.oscog-eem.335 because it fixes a snafu - integrated the issues for which I emitted a pull request All this work can be found publicly at https://github.com/nicolas-cellier-aka-nice/pharo-vm/compare/fixMergeWithEliotVersion333 I cannot tell which missing change exactly was the root cause, and I cannot dissect either, but I saw several + LiteralStart missing... Or it could be related to cogit method/block native code generation... The changes are most probably here https://github.com/nicolas-cellier-aka-nice/pharo-vm/commit/af718618eee516d15c0b362123e3a77c8b6fd2e8 Bad news, the structures at beginning of src/cm/cogit.c are generated out of order, and I didn't find the cause yet. Once solved, I think my branch should be carefully reviewed and integrated. Haha! this is Class classsuperclassOrder: which break things... The order of structures passed on input was mostly good but ruined on output... The Squeak ChangeSet classsuperclassOrder: does not convert the list of classes asSet, thus somehow preserves provided order. The Pharo version does not take so much care it seems... Apparently the method was changed again in Pharo3.0, but neither does it preserve order. Can you publish the change for the superclassOrder: as a bug entry? we should add a test After fixing it, compilation went well... 2014-04-03 4:13 GMT+02:00 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com: 2014-04-02 23:59 GMT+02:00 Stephan Eggermont step...@stack.nl: Nicolas wrote: Hmm, don't waste too much time. All these methods are unchanged in github pharo-vm head revision (VMMaker-oscog-StefanMarr.313) The cause must be completely different in latest pharo vms. Uhm, why? They haven’t changed. Sorry, haven't changed means that there's no diff with the corrected version. IOW, the fixes from Eliot have been integrated for a long time already. You are seeing another symptom, probably another bug impacting the same code. There are many diffs between pharo's and Eliot's branch, but not where you're looking at. Pharo vms 105 and later no longer crash, but all reliably show the bug. And 236 is the last Squeak one to show the problem. I might take a look at Esteban’s versions from the same time, 228 and 229 Stephan
Re: [Pharo-dev] WhatsUp from: 2014-04-07 until: 2014-04-20
On 07 Apr 2014, at 07:00, seas...@rmod.lille.inria.fr wrote: Hi! We're sending this automatic email twice a month, to give the community an opportunity to easily know what's happening and to coordinate efforts. Just answer informally, and feel free to spawn discussions thereafter! ### Here's what I've been up to since the last WhatsUp: - Presented Pharo to a well known group doing HCI in france. Kind of planting seed. - Working on new chapter or old chapters - Preparing release ### What's next, until 2014-04-20 (*): - $NEXT_STEPS_TOWARDS_WORLD_DOMINATION (*) we'll be expecting results by then ;)
Re: [Pharo-dev] ghost windows
Yes it happens to me form time to time but it is difficult to debug the situation. On 07 Apr 2014, at 08:53, Johan Brichau jo...@inceptive.be wrote: Hi there, I often get in a situation where 'ghost windows' remain in the Pharo window (see screenshot). These windows are closed (see taskbar) and I cannot select nor click these ghost windows to remove them. Is there a way to remove them programmatically? They cause visual clutter when working with multiple real windows and I do not want to rebuild an entire development image each time this occurs. Though this is in Pharo3, I think I occassionally had these in Pharo1.4 as well. cheers Johan PharoScreenshot.png
Re: [Pharo-dev] [Vm-dev] Pharo VM bug 11130
Yes, I did: https://pharo.fogbugz.com/f/cases/13180/Class-class-superclassOrder-should-preserve-classes-order Of course, those kind of expectations should be asserted by a test (I didn't). TX! After fixing it, compilation went well... 2014-04-03 4:13 GMT+02:00 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com: 2014-04-02 23:59 GMT+02:00 Stephan Eggermont step...@stack.nl: Nicolas wrote: Hmm, don't waste too much time. All these methods are unchanged in github pharo-vm head revision (VMMaker-oscog-StefanMarr.313) The cause must be completely different in latest pharo vms. Uhm, why? They haven’t changed. Sorry, haven't changed means that there's no diff with the corrected version. IOW, the fixes from Eliot have been integrated for a long time already. You are seeing another symptom, probably another bug impacting the same code. There are many diffs between pharo's and Eliot's branch, but not where you're looking at. Pharo vms 105 and later no longer crash, but all reliably show the bug. And 236 is the last Squeak one to show the problem. I might take a look at Esteban’s versions from the same time, 228 and 229 Stephan
Re: [Pharo-dev] Case 13007 Cannot-integrate-a-slice-with-monticello-red-square-in-the-UI
Hi I did not check the latest submission but to me putting a mutex on list looks like a bad decision. May be the original forking of the project list is the problem. What is the point of view of the people that work on the issue. Forking to get speed is often a way to pay high price after. Synchronisation points are important. Stef On 07 Apr 2014, at 18:36, Ben Coman b...@openinworld.com wrote: Priority 2 fix ready for review. Please come pick it apart. https://pharo.fogbugz.com/f/cases/13007/Cannot-integrate-a-slice-with-monticello-red-square-in-the-UI cheers -ben
Re: [Pharo-dev] Build process of Pharo image
On 05 Apr 2014, at 21:48, Hilaire Fernandes hilaire.fernan...@gmail.com wrote: Still, I do not get why the newer packages are not loadable with configurations instead of been carved in the image. Why can't packages developers provide such configurations? sure give us a list? - RB - Nautilus - spec - Keychain - key mapping - smart suggestions - ….. - and many more do you want an image by default without any tools? I do but we need time. So what we want to do is - to have a core mage that the one people use is based on the core + the loading of the components and now we are arriving to this situation because before we did not have command-line jenkins - for Pharo 4.0 we will get there. Now since it is not easy to unload tools, and I’m busy with other aspects of work we could not do it the way you describe it but this is what we want. = why did we fail ok you have a core and some nice configurations then a guy report a bug and a fixe from this core and configuration we should create a new core AND correctly loading configurations and this is not fully automated yet. have a look at Pharo/SystemConfigurations You take unReloader you run the scripts and you load the configurations. when they fail you fix them and restart. I have been doing that a lot and we will continue but this is booring. So we should build tools and so far I do not see many people **Helping** beside pavel on this task so you are right we are concious about it but no resources. Why don't we have an image without those packages? Then public images built with. Is it not what Jenkins is supposed to do? I am afraid the situation looks like Etoys carved in Squeak. We are fighting against it. Hilaire Le 05/04/2014 18:32, Marcus Denker a écrit : Yes, we need to look into a more modular build in Pharo4… to not just load updates on the server but instead build from a small core (and possibly even from a bootstrap). -- Dr. Geo http://drgeo.eu
Re: [Pharo-dev] MC diffs are seriously broken in Pharo2.0
On 06 Apr 2014, at 17:36, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: I'm trying to fix some Pharo VM issues (11330), but have awfully bad experience with Pharo2.0 tools. The autocompletion stuff is a joke, it moves the input cursor randomly and spoils my input. That's the first thing I disable. Do you have the same with 30? Because I know that there were some problems when we merged OC and EC but this is nearly more than a year ago. The pharo's PolyMorphDiffTool is good looking but awfully slw It clearly does not scale (10 minutes or so to diff Eliot's branch) so I reverted to the old diff tool. But of course, someone broke MCMethodDefinitionsummary (gratuitously?) and I had to revert this method to have class names displayed again. Nicolas this is probably not gratuitoulsy and you know it. Doing imply doing mistakes. Give me a fully tested system and you will see that we will not break it. So can you open a bug entry so that we do not forget to fix it. But worse than all, there are insane caches operating in MCVersion that drove me crazy. Here is the scenario: 1) I diff working copy against package.branchA-version.mcz 2) I cherry pick and install a few methods 3) I diff against package.branchA-version.mcz again to check if I missed smthing 4) Huh? it looks like my cherry pick have not been installed??? Yes they were installed, but the completePackageSnapshot has been cached in MCVersion!!! What a mistake! The working copy is going to evolve, caching a snapshot of it is a DUMB thing.It means that methods that I further change in the working copy will NEVER be taken into account next time I'll do a diff. So I had to change MCVersionchanges ^ self completeSnapshot patchRelativeToBase: self loadCompletePackageSnapshot This is so broken that I have to report here. Thanks this is the best things to do. You see probably one guy tried to speed up the system and this happens. Note that I did not check if symptoms are still in Pharo 3.0, but the working copy scnapshot cache still is for sure! Guys, it makes me wonder, who is eating the dog food? We are constantly using Pharo alpha the complete moose and pharo Did anyone progress into developing VM in Pharo 3.0, because if I must eat it, I'd prefer the freshest ;) I guess so. Esteban does not look like using Pharo2.0 but I will let him reply. Or if I fix some more bug, I'd like my efforts to not apply to an obsolete version. Us too. :) Thanks for reporting problems. Can you open bug entries so that we can handle these problems? Stef
Re: [Pharo-dev] Puzzled
In fact there was an error in the debugger code = endless loop in another thread it was strange because the test was not returning On 05 Apr 2014, at 19:30, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Stef, I think it is because forContext:priority: does not schedule the process, just creates it. The debugger code steps the process but after stepping the process is still not runnable. So the process terminate is unnecessary; the process should not have been added to the run queue and should juts be GCed. Since it is not the question is what refers to the process after the test has run. To debug, I would rewrite the test as such: testBasic | process debugger printedString | process := Process forContext: [ 20 factorial ] asContext priority: Processor activePriority. debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. self assert: debugger stack selectedIndex = 1. printedString := OpalCompiler isActive ifTrue: [ '[ 20 factorial ] in DebuggerTesttestBasic'] ifFalse: [ '[...] in DebuggerTesttestBasic' ]. self assert: debugger stack selectedItem printString = printedString. debugger send. debugger send. self assert: debugger code getText = (Integer#factorial) sourceCode. self assert: debugger stack selectedItem printString = 'SmallInteger(Integer)factorial'. ^process and then chase pointers on the result to see what is holding onto the process. Sicne the process is never runnable there's no need to set its priority to anything special. However, one should also be able to replace the process terminate with process resume to get it to run to termination (provided its priority stays at Processor userInterruptPriority). HTH On Thu, Apr 3, 2014 at 10:41 AM, Pharo4Stef pharo4s...@free.fr wrote: Hi guys I need your brain cells. When I execute the test testBasic | context process debugger printedString | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. self assert: debugger stack selectedIndex = 1. printedString := OpalCompiler isActive ifTrue: [ '[ 20 factorial ] in DebuggerTesttestBasic'] ifFalse: [ '[...] in DebuggerTesttestBasic' ]. self assert: debugger stack selectedItem printString = printedString. debugger send. debugger send. self assert: debugger code getText = (Integer#factorial) sourceCode. self assert: debugger stack selectedItem printString = 'SmallInteger(Integer)factorial'. two times my image (latest get totally unusable). I thought that may be the process should be terminated so I added process terminate But nothing changes. I tried to debug the code but not chance. I tried self halt after [ 20 factorial ] asContext. I tried to execute the beginning in a workspace and not as a test to eliminate problem. But again no chance. So did I miss something obvious? Stef -- best, Eliot
Re: [Pharo-dev] [Moose-dev] Re: Re: Re: Fwd: Font problem is still there
Igor I was wondering the following: ? But TextStyle is not about strikefont? Stef On 04 Apr 2014, at 02:55, Igor Stasenko siguc...@gmail.com wrote: Okay, i think i got it.. Here is what happens: - the font size is usually specified in points, not x@y points, but typographical points, which is 1/72 inch TextStyle pointsToPixels: 14 TextStyle pointsToPixels: 14 = 18.668 pointsToPixels: points ^points * self pixelsPerInch / 72.0 but in Athens, i , stupid idiot, completely forgot about that, and use point size directly, to scale up font .. but the point is that this scaling performed in font units (EMs). so, to actually scale font correctly, i must use same TextStyle pointsToPixels: .. as Freetype package using.. there is one caveat, that if you really want to see exactly , say 16 points sized font on your screen, it is not possible without knowing the display resolution - how many pixels in one inch (hence #pixelsPerInch ). Unfortunately, our VMs don't give us a way to determine DPI of display.. and so, it is always 96 :/ pheww fromFreetypeFont: aFont cairoFace: face . - fontMatrix scaleBy: aFont pointSize. + fontMatrix scaleBy: (TextStyle pointsToPixels: aFont pointSize). problem solved ... (i hope) :) -- Best regards, Igor Stasenko.
Re: [Pharo-dev] [Moose-dev] Re: Re: Re: Fwd: Font problem is still there
I don't think there is any way for the VM to know the #pixelsPerInch of the display, regardless of the display resolution. There is no api in the OS for that? It would be really strange that we cannot know such information. Maybe that implies that some calibration would be needed in the image to relate font points to the physical display. Dave
Re: [Pharo-dev] Puzzled
Thanks camille apparently I restarted from a clean image but may be I merged. Could you try loading the latest version of 12460 and let me know? On 04 Apr 2014, at 09:21, Camille Teruel camille.ter...@gmail.com wrote: I tried on my machine in latest image and no matter how many times I run this test, this test still passes and I don't notice any slowdown nor image freeze. But I see the hanging processes. Adding 'process terminate' at the end works for me. On 3 avr. 2014, at 19:41, Pharo4Stef pharo4s...@free.fr wrote: Hi guys I need your brain cells. When I execute the test testBasic | context process debugger printedString | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. self assert: debugger stack selectedIndex = 1. printedString := OpalCompiler isActive ifTrue: [ '[ 20 factorial ] in DebuggerTesttestBasic'] ifFalse: [ '[...] in DebuggerTesttestBasic' ]. self assert: debugger stack selectedItem printString = printedString. debugger send. debugger send. self assert: debugger code getText = (Integer#factorial) sourceCode. self assert: debugger stack selectedItem printString = 'SmallInteger(Integer)factorial'. two times my image (latest get totally unusable). I thought that may be the process should be terminated so I added process terminate But nothing changes. I tried to debug the code but not chance. I tried self halt after [ 20 factorial ] asContext. I tried to execute the beginning in a workspace and not as a test to eliminate problem. But again no chance. So did I miss something obvious? Stef
[Pharo-dev] font folder on win7
Hi guys I’m trying to understand why people get problems with fonts on windows. The logic in the font manager is 'cdefghijklmnopqrstuvwxyz' et pour chaque disc dans '\windows\fonts' '\winnt\fonts but I wonder if the location of font on windows 7 is correct. Can anybody with a window 7 report where the fonts are located? stef
Re: [Pharo-dev] font folder on win7
thanks! On 04 Apr 2014, at 19:44, Vincent BLONDEAU vincent.blond...@polytech-lille.net wrote: The best is to use environment variables : Under W7 it is : %SYSTEMROOT%\Fonts But you can get it under Pharo: PlatformResolver forCurrentPlatform directoryFromEnvVariableNamed: 'SYSTEMROOT' Vincent De : Pharo-dev [mailto:pharo-dev-boun...@lists.pharo.org] De la part de Chris Cunningham Envoyé : vendredi 4 avril 2014 19:09 À : Pharo Development List Objet : Re: [Pharo-dev] font folder on win7 It is located in \Windows\Fonts (and window is case-agnostic, so \windows\fonts works as well) -cbc On Fri, Apr 4, 2014 at 9:48 AM, Pharo4Stef pharo4s...@free.fr wrote: Hi guys I’m trying to understand why people get problems with fonts on windows. The logic in the font manager is 'cdefghijklmnopqrstuvwxyz' et pour chaque disc dans '\windows\fonts' '\winnt\fonts but I wonder if the location of font on windows 7 is correct. Can anybody with a window 7 report where the fonts are located? stef
Re: [Pharo-dev] font folder on win7
This is strange because the system is looking for the correct location but does not find them. On 04 Apr 2014, at 19:09, Chris Cunningham cunningham...@gmail.com wrote: It is located in \Windows\Fonts (and window is case-agnostic, so \windows\fonts works as well) -cbc On Fri, Apr 4, 2014 at 9:48 AM, Pharo4Stef pharo4s...@free.fr wrote: Hi guys I’m trying to understand why people get problems with fonts on windows. The logic in the font manager is 'cdefghijklmnopqrstuvwxyz' et pour chaque disc dans '\windows\fonts' '\winnt\fonts but I wonder if the location of font on windows 7 is correct. Can anybody with a window 7 report where the fonts are located? stef
Re: [Pharo-dev] Suggested Syntax Highlighting Features for Beginners
On 04 Apr 2014, at 19:26, J.F. Rick s...@je77.com wrote: On Fri, Apr 4, 2014 at 6:41 PM, Ben Coman b...@openinworld.com wrote: For assignment, I would say bold both := and the variable being assigned to. I like that a lot, especially since it draws the two critical elements of variable and assignment together. On a minor note, both := and = are currently the same color: black. That only furthers the := is a message misconception. It might be worthwhile also giving := its own color, given its uniqueness. yes this would be nice. And a fix for that. Did you also see that what I like is to make a distinction between a possible selector and a wrong one? because this is nice. Underlining sounds interesting, but there are a few choices: a. nested underlining - self someMessage: (self otherMessage: arg 1 and: arg2) and: arg3 b. non-nested underlining - only underline #otherMessage:and: and not #someMessage:and: c. dynamically underline only message where cursor is located. I think you could do nested underlining in the same way that nested blocks and parentheses work. someMessage: and the second and: are underlined in black. otherMessage: and the first and: are underlined in green. That way nesting is clear. This would also be useful for code with nested conditionals, probably the most common occurrence of nested multi-part messages. I also like (c) as a minimally intrusive change that could help novices when they write code. It has the disadvantage that novices couldn't look at a piece of foreign code and get where the multi-part messages were. Cheers, Jeff -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
[Pharo-dev] left over when resizing window
Hi all do you see a glitch when I resize a window? Because it is not really nice. Stef
Re: [Pharo-dev] left over when resizing window
On 03 Apr 2014, at 16:42, Esteban Lorenzano esteba...@gmail.com wrote: that happens in retina displays. I’m aware… no time yet to fix it :( esteban do you think that this is related to the VM? I would find that strange. Esteban, still on holidays On 03 Apr 2014, at 11:32, Serge Stinckwich serge.stinckw...@gmail.com wrote: This is this kind of glitches (see screenshot) ? I already talk about that some months ago in the mailing-list. On Thu, Apr 3, 2014 at 3:11 PM, Tudor Girba tu...@tudorgirba.com wrote: Funny that you do not see the same issues. I reproduce it consistently like this: - On 10.9.2 on a MacBook Pro with Retina display - Download the latest Pharo 3 and the latest VM and run it: curl -L get.pharo.org/30+vmLatest | sh - Open a workspace or any other window and drag it around Doru Doru On Thu, Apr 3, 2014 at 3:04 PM, Camille Teruel camille.ter...@gmail.com wrote: On 3 avr. 2014, at 14:58, Tudor Girba tu...@tudorgirba.com wrote: Hi, Here it is on the very latest of Pharo 3: https://www.dropbox.com/s/hfi5j64e9kyim14/Screenshot%202014-04-03%2014.56.33.png Ok, now I remember that I had that once several months ago, but I don't remember under which setting. I solved it with 'start drawing/stepping again' as Sergi said. We should find a way to reproduce it. Pharo3.0 Latest update: #30811 'NBCoInterpreter NativeBoost-CogPlugin-GuillermoPolito.19 uuid: acc98e51-2fba-4841-a965-2975997bba66 Mar 20 2014 NBCogit NativeBoost-CogPlugin-GuillermoPolito.19 uuid: acc98e51-2fba-4841-a965-2975997bba66 Mar 20 2014 https://github.com/pharo-project/pharo-vm.git Commit: 6e08ad296c0df6c1a4215a5dada5380c897dc2fe Date: 2014-03-17 14:45:12 +0100 By: Esteban Lorenzano esteba...@gmail.com Jenkins build #14812' Cheers, Doru On Thu, Apr 3, 2014 at 2:33 PM, Camille Teruel camille.ter...@gmail.com wrote: On 3 avr. 2014, at 14:21, Tudor Girba tu...@tudorgirba.com wrote: It happens all the time on Mac. It is not so obvious in the default Pharo image because of the background. In the Moose image, the background is white and you see it immediately when resizing or dragging a window. I tried with many windows in the latest Moose image and I still see nothing. I'm on mavericks. Smalltalk vm version -- 'NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano esteba...@gmail.com Jenkins build #14535 ' Doru On Thu, Apr 3, 2014 at 2:16 PM, Camille Teruel camille.ter...@gmail.com wrote: On 3 avr. 2014, at 13:54, Pharo4Stef pharo4s...@free.fr wrote: Hi all do you see a glitch when I resize a window? Because it is not really nice. Nope, nothing in latest image at least. Does it happen in a fresh image? Stef -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- www.tudorgirba.com Every thing has its own flow -- Serge Stinckwich UCBN UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/ Screen Shot 2014-04-03 at 16.30.05.png
[Pharo-dev] Puzzled
Hi guys I need your brain cells. When I execute the test testBasic | context process debugger printedString | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. self assert: debugger stack selectedIndex = 1. printedString := OpalCompiler isActive ifTrue: [ '[ 20 factorial ] in DebuggerTesttestBasic'] ifFalse: [ '[...] in DebuggerTesttestBasic' ]. self assert: debugger stack selectedItem printString = printedString. debugger send. debugger send. self assert: debugger code getText = (Integer#factorial) sourceCode. self assert: debugger stack selectedItem printString = 'SmallInteger(Integer)factorial'. two times my image (latest get totally unusable). I thought that may be the process should be terminated so I added process terminate But nothing changes. I tried to debug the code but not chance. I tried self halt after [ 20 factorial ] asContext. I tried to execute the beginning in a workspace and not as a test to eliminate problem. But again no chance. So did I miss something obvious? Stef
Re: [Pharo-dev] Puzzled
even using ensure: to make sure that the process is terminated it is not really working. I have the impression that there is a problem and that the tests does not really finishes but this is really difficult to debug. Hi guys I need your brain cells. When I execute the test testBasic | context process debugger printedString | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. self assert: debugger stack selectedIndex = 1. printedString := OpalCompiler isActive ifTrue: [ '[ 20 factorial ] in DebuggerTesttestBasic'] ifFalse: [ '[...] in DebuggerTesttestBasic' ]. self assert: debugger stack selectedItem printString = printedString. debugger send. debugger send. self assert: debugger code getText = (Integer#factorial) sourceCode. self assert: debugger stack selectedItem printString = 'SmallInteger(Integer)factorial'. two times my image (latest get totally unusable). I thought that may be the process should be terminated so I added process terminate But nothing changes. I tried to debug the code but not chance. I tried self halt after [ 20 factorial ] asContext. I tried to execute the beginning in a workspace and not as a test to eliminate problem. But again no chance. So did I miss something obvious? Stef
Re: [Pharo-dev] Puzzled
When I use | context process | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. [ debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. ] ifCurtailed: [ process terminate] I do not get any extra process hanging around. now if I do | context process | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. [ debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. Transcript show: debugger stack selectedIndex ] ifCurtailed: [ process terminate] But then when I do | context process debuggerg | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. [ debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. Transcript show: debugger stack selectedIndex; cr. ] ensure: [ process terminate] I get processes stuck trying to open the log fiel ro something like that. Now I do not understand because when I ask the setter to stack (to get what is set in this variable) the system tells me that there is no store. Stef On 03 Apr 2014, at 20:49, Pharo4Stef pharo4s...@free.fr wrote: even using ensure: to make sure that the process is terminated it is not really working. I have the impression that there is a problem and that the tests does not really finishes but this is really difficult to debug. Hi guys I need your brain cells. When I execute the test testBasic | context process debugger printedString | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand. self assert: debugger stack selectedIndex = 1. printedString := OpalCompiler isActive ifTrue: [ '[ 20 factorial ] in DebuggerTesttestBasic'] ifFalse: [ '[...] in DebuggerTesttestBasic' ]. self assert: debugger stack selectedItem printString = printedString. debugger send. debugger send. self assert: debugger code getText = (Integer#factorial) sourceCode. self assert: debugger stack selectedItem printString = 'SmallInteger(Integer)factorial'. two times my image (latest get totally unusable). I thought that may be the process should be terminated so I added process terminate But nothing changes. I tried to debug the code but not chance. I tried self halt after [ 20 factorial ] asContext. I tried to execute the beginning in a workspace and not as a test to eliminate problem. But again no chance. So did I miss something obvious? Stef
Re: [Pharo-dev] Puzzled
| context process debugger | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. [ debugger := Smalltalk tools debugger new process: process controller: nil context: context. Transcript show: debugger stack class ; cr ] ensure: [ process terminate] When I look at some of the stuck processes SpecDebuggerinitializePresenter super initializePresenter. self flag: 'some of this logic could be moved to the stack widget'. self flag: 'The toolbar should not be updated when the list changes, but when an action is perormed.'. self stack whenListChanged: [ :aList | aList isEmpty ifFalse: [ self stack setSelectedItem: aList first ]. Updating the toolbar will result in changing the button widgets. If the widget hasn't been opened, there will be no spec, which leads to an error. self spec ifNotNil: [ self updateToolbar ] ]. self stack whenSelectedItemChanged: [:aContext | self updateCodeFromContext: aContext. self updateInspectorsFromContext: aContext. self stack updateForSelectionChanged ]. self contextInspector initializeAutoRefresh. ^^^ And initializeAutoRefresh does not exist in the latest image. I have no idea why the debugger may work may be this method is not used at all. Can somebody else confirm because I have the impression to fall into a rat nest. stef
[Pharo-dev] endless number of call to initializePresenter when opening a debugger!!!
Can one of you do the following experience to let me know if I’m totally mad or not? 1 - Add Transcript show:'initializePresenter'; cr. in the SpecDebuggerinitializePresenter as below: initializePresenter super initializePresenter. Transcript show:'initializePresenter'; cr. self flag: 'some of this logic could be moved to the stack widget'. self flag: 'The toolbar should not be updated when the list changes, but when an action is perormed.'. self stack whenListChanged: [ :aList | aList isEmpty ifFalse: [ self stack setSelectedItem: aList first ]. Updating the toolbar will result in changing the button widgets. If the widget hasn't been opened, there will be no spec, which leads to an error. self spec ifNotNil: [ self updateToolbar ] ]. self stack whenSelectedItemChanged: [:aContext | self updateCodeFromContext: aContext. self updateInspectorsFromContext: aContext. self stack updateForSelectionChanged ]. self contextInspector initializeAutoRefresh. 2- open a transcript 3- open a workspace and execute 1 halt. I get a really large number of initializePresenter in the transcript
Re: [Pharo-dev] endless number of call to initializePresenter when opening a debugger!!!
Indeed this is normal because initializeAutoRefresh does not exist! So a nice endless loop. On 03 Apr 2014, at 21:21, Pharo4Stef pharo4s...@free.fr wrote: Can one of you do the following experience to let me know if I’m totally mad or not? 1 - Add Transcript show:'initializePresenter'; cr. in the SpecDebuggerinitializePresenter as below: initializePresenter super initializePresenter. Transcript show:'initializePresenter'; cr. self flag: 'some of this logic could be moved to the stack widget'. self flag: 'The toolbar should not be updated when the list changes, but when an action is perormed.'. self stack whenListChanged: [ :aList | aList isEmpty ifFalse: [ self stack setSelectedItem: aList first ]. Updating the toolbar will result in changing the button widgets. If the widget hasn't been opened, there will be no spec, which leads to an error. self spec ifNotNil: [ self updateToolbar ] ]. self stack whenSelectedItemChanged: [:aContext | self updateCodeFromContext: aContext. self updateInspectorsFromContext: aContext. self stack updateForSelectionChanged ]. self contextInspector initializeAutoRefresh. 2- open a transcript 3- open a workspace and execute 1 halt. I get a really large number of initializePresenter in the transcript
Re: [Pharo-dev] endless number of call to initializePresenter when opening a debugger!!!
And now I understand because we forgot to remove this message sent when removing the polling behavior of inspector. On 03 Apr 2014, at 21:23, Pharo4Stef pharo4s...@free.fr wrote: Indeed this is normal because initializeAutoRefresh does not exist! So a nice endless loop. On 03 Apr 2014, at 21:21, Pharo4Stef pharo4s...@free.fr wrote: Can one of you do the following experience to let me know if I’m totally mad or not? 1 - Add Transcript show:'initializePresenter'; cr. in the SpecDebuggerinitializePresenter as below: initializePresenter super initializePresenter. Transcript show:'initializePresenter'; cr. self flag: 'some of this logic could be moved to the stack widget'. self flag: 'The toolbar should not be updated when the list changes, but when an action is perormed.'. self stack whenListChanged: [ :aList | aList isEmpty ifFalse: [ self stack setSelectedItem: aList first ]. Updating the toolbar will result in changing the button widgets. If the widget hasn't been opened, there will be no spec, which leads to an error. self spec ifNotNil: [ self updateToolbar ] ]. self stack whenSelectedItemChanged: [:aContext | self updateCodeFromContext: aContext. self updateInspectorsFromContext: aContext. self stack updateForSelectionChanged ]. self contextInspector initializeAutoRefresh. 2- open a transcript 3- open a workspace and execute 1 halt. I get a really large number of initializePresenter in the transcript
Re: [Pharo-dev] Puzzled
ok now I understand: an endless loop inside the debugger creation. I do not understand why we did not address it with clement because we open the debugger and other when we fixed the logic of the inspector (to avoid polling refresh). Stef On 03 Apr 2014, at 21:13, Pharo4Stef pharo4s...@free.fr wrote: | context process debugger | context := [ 20 factorial ] asContext. process := Process forContext: context priority: Processor userInterruptPriority. [ debugger := Smalltalk tools debugger new process: process controller: nil context: context. Transcript show: debugger stack class ; cr ] ensure: [ process terminate] When I look at some of the stuck processes SpecDebuggerinitializePresenter super initializePresenter. self flag: 'some of this logic could be moved to the stack widget'. self flag: 'The toolbar should not be updated when the list changes, but when an action is perormed.'. self stack whenListChanged: [ :aList | aList isEmpty ifFalse: [ self stack setSelectedItem: aList first ]. Updating the toolbar will result in changing the button widgets. If the widget hasn't been opened, there will be no spec, which leads to an error. self spec ifNotNil: [ self updateToolbar ] ]. self stack whenSelectedItemChanged: [:aContext | self updateCodeFromContext: aContext. self updateInspectorsFromContext: aContext. self stack updateForSelectionChanged ]. self contextInspector initializeAutoRefresh. ^^^ And initializeAutoRefresh does not exist in the latest image. I have no idea why the debugger may work may be this method is not used at all. Can somebody else confirm because I have the impression to fall into a rat nest. stef
[Pharo-dev] where is the jenkins monkey job?
Hi I would like to know if the monkey is currently running and not stalled but I cannot find the jenkins job doing it. Stef
Re: [Pharo-dev] where is the jenkins monkey job?
https://ci.inria.fr/pharo/job/Pharo-3.0-Issue-Validator/ On 03 Apr 2014, at 22:02, Pharo4Stef pharo4s...@free.fr wrote: Hi I would like to know if the monkey is currently running and not stalled but I cannot find the jenkins job doing it. Stef
Re: [Pharo-dev] simulator spotted a small problem with initializing stdout for the CommandLineHandler
Tx https://pharo.fogbugz.com/default.asp?13165 On 01 Apr 2014, at 19:48, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Camillo, Clément and I are simulating Pharo for Sista and I've spotted the following small problem with the BasicCommandLineHandler's use of stdout. It looks like a bug in MultiByteFileStreamwantsLineEndConversion:. BasicCommandLineHandlerinitializeStdout sets stdout's line end conventuion, but in doing so MultiByteFileStreamwantsLineEndConversion: sends MultiByteFileStreamdetectLineEndConvention, which is wrong, because stdout is write-only. I needed to change the simulator to fail as the VM does, but perhaps a better fix is not to try and read from write-only streams. Anyway, thought I'd point it out. No biggie. 16r101B18 M MultiByteFileStreamdetectLineEndConvention 16r1F3A7A0: a(n) MultiByteFileStream 16r101B38 I MultiByteFileStreamwantsLineEndConversion: 16r1F3A7A0: a(n) MultiByteFileStream 16r101B60 I BasicCommandLineHandler(CommandLineHandler)initializeStdout 16r1F3A654: a(n) BasicCommandLineHandler 16r101B84 I BasicCommandLineHandler(CommandLineHandler)initialize 16r1F3A654: a(n) BasicCommandLineHandler 16r101BA4 I BasicCommandLineHandlerinitialize 16r1F3A654: a(n) BasicCommandLineHandler 16r101BBC M BasicCommandLineHandler class(Behavior)new 16r5B04CC: a(n) BasicCommandLineHandler class 16r101BD4 M [] in BasicCommandLineHandler classstartUp: 16r5B04CC: a(n) BasicCommandLineHandler class -- best, Eliot
[Pharo-dev] Was TickingWindow integrated?
Hi guys I’m in a train (no internet) and I see that the inspector does not refresh but in fact we introduced with clement a nice tickingWindow in spec and the goal is that the window refresh its contents. I have the impression it was not integrated. Note that this change is important because it removes a lot of processes hanging in the background. Stef
Re: [Pharo-dev] Was TickingWindow integrated?
https://pharo.fogbugz.com/default.asp?12460 this is this issue and we should not let all these processes in the image. Stef Hi guys I’m in a train (no internet) and I see that the inspector does not refresh but in fact we introduced with clement a nice tickingWindow in spec and the goal is that the window refresh its contents. I have the impression it was not integrated. Note that this change is important because it removes a lot of processes hanging in the background. Stef
Re: [Pharo-dev] Thanks to all of you who asked
great news. On 02 Apr 2014, at 17:17, Alexandre Bergel alexandre.ber...@me.com wrote: As you may know, an earthquake occurred yesterday evening in the north of Chile. It was a strong one. Many of us have asked how well we are. We are all good. Luckily, Chile is very well prepared. Whereas a shake of 8.3 is strong enough to swipe away most of countries, Chile almost did not suffer. It happens in the north of Chile, quite far from Santiago, where most of us are based. We actually did not feel anything. Over the last few months, the Chilean ground has been shaking a lot, around Santiago. Thanks for thinking about us. You guys are great! Alexandre (in the name of all the people living in Chile part of this mailing list) -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
[Pharo-dev] Where are the monkey rules?
Hi this is really annoying not to be able to run the same rules than the ones in the monkey. Why? because the feedback loop is terrible. So where are defined the monkey rules? How can I load them and run them on a slice? Also this is annoying that a change get rejected because of problem in the package but not in the code published by the slice. Right now this leads to important fixes not been integrated because they were flagged automatically by the monkey and passed under the radar. So after a month going back again inside the changes is not fun. Luckily there were simple. Stef
Re: [Pharo-dev] [Spec] whenSelectedItemsChanged: on TreeModel
I made a plugin to spy on the NaytimusAnnouncer and in fact there is a storm of announcements flying around all the time. arghh Thanks for letting us knowing. And they do not carry the expected payload ( nil instead of the method for example) The plugin is in Smalltallhub in philippeback , HOExtras I'll do a screencast to show you. Phil Le 2 avr. 2014 13:30, Martin Dias tinchod...@gmail.com a écrit : Hi, I still can reproduce this issue in Pharo 30807 (last image). I'm trying to workaround it with some problems. I ignore if this is already reported in fogbugs. Steps to reproduce: a) do it: TreeModel new roots: (1 to: 2); whenSelectedItemsChanged: [ :items | self logCr: items ]; openWithSpec. = in Transcript I see: b) during initial do it: #() c) after a click on 2: #() an OrderedCollection(2) d) after a click on 1: an OrderedCollection(2) an OrderedCollection(2) an OrderedCollection(1) Cheers, MArtín On Wed, Dec 11, 2013 at 6:10 PM, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: As I said to Martin, I will investigate why, but it’s a bit tricky Must be some issue in MorphTreeMorph I introduced recently Ben On 11 Dec 2013, at 16:46, Roberto Minelli roberto.mine...@usi.ch wrote: Hi, I am experiencing problems with #whenSelectedItemsChanged: on a TreeModel. In particular, the block (i.e., argument of #whenSelectedItemsChanged: gets randomly executed a couple of times (3/4) the second time that the selection happens. The first time is fine. It looks like the registration of the “event” or “announcement” is done multiple times. Any hint? Cheers, R
Re: [Pharo-dev] [Moose-dev] Re: Re: Re: Fwd: Font problem is still there
On 02 Apr 2014, at 14:46, J.F. Rick s...@je77.com wrote: Is this supposed to fix the font rendering problem or some other font problem? I tried it and it doesn't seem to help the rendering problem. normally it should fix the font PrObLem can you check that you loaded the latest NB? Cheers, Jeff On Tue, Apr 1, 2014 at 6:27 PM, Igor Stasenko siguc...@gmail.com wrote: okay i uploaded updated configs for NativeBoost and Athens into official repositories for these projects. Gofer new smalltalkhubUser: 'Pharo' project: 'NativeBoost'; configuration; load. ConfigurationOfNativeBoost loadDevelopment. Gofer new smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load. ConfigurationOfAthens loadDevelopment. shall do the trick.. for more details see https://pharo.fogbugz.com/f/cases/13150/Different-memory-alignment-on-different-platforms On 28 March 2014 21:13, Pharo4Stef pharo4s...@free.fr wrote: thanks Igor. I’m trying to look at the font reloading bug. On 28 Mar 2014, at 17:19, Igor Stasenko siguc...@gmail.com wrote: https://pharo.fogbugz.com/f/cases/13150/Different-memory-alignment-on-different-platforms On 28 March 2014 16:42, Igor Stasenko siguc...@gmail.com wrote: so, the quick and dirty fix is to put: CairoGlyph classbyteAlignment NativeBoost platformId = NativeBoostConstants win32PlatformId ifTrue: [ ^ 8 ]. ^ super byteAlignment and then: CairoGlyph rebuildFieldAccessors CairoGlyphsArray initialize (note you must run this snippet each time your image changes platform).. and i need more time to fix it for real, because it is NB issue, to automatically recalculate the structs size if it changes platform.. (which also means you cannot store instances of struct in image which survive the session) ... damn.. that's going to be complicated. --- On 28 March 2014 16:27, Igor Stasenko siguc...@gmail.com wrote: On 28 March 2014 16:01, Igor Stasenko siguc...@gmail.com wrote: Ookkayy.. so, current status: - finally we got an agreement that big red square because of font loading issues and font rendering artifacts is two separate issues. Thanks! - i am not going to address font-loading issue here and now.. (because we spent time on it earlier today with Stef already and you should have the report on it in separate mail). - we seem to be agreed that it is best to use same (up-to-date version) of software when reporting issues to work on them. Thanks again. :) - while on linux and mac things seem to be working fine, i can confirm that there is rendering artifacts (same as reported by Vincent) on Windows. so i going to explore what causing this problem.. ... and found the cause: On windows, for unknown reason, the structure (cairo_glyph_t) uses different memory space alignment than on mac and linux fieldsDesc ^ #( ulongindex; double x; double y; ) on mac and linux , the size of this structure in memory = 4 + 8 + 8 = 20 bytes, on windows, however, due to 8-byte alignment, it is 4 + 8 + 8 + (4 alignment) bytes... this causing the effect that if you copy array of glyphs in memory, it does not copying whole array by slightly less (because it uses wrong struct size which is smaller than it is).. and because of that, you got weird artefacts at the tail of string, replaced by misplaced/invalid characters etc.. because it is basically read from uninitialized part of memory with random data. i going to fix structure alignment for windows from default 4 bytes to 8 bytes.. but this is not very good news.. because this affecting many things... (as you can imagine, not only cairo/athens working with external structures, which need to be properly aligned). -- Best regards, Igor Stasenko. -- Best regards, Igor Stasenko. -- Best regards, Igor Stasenko. -- Best regards, Igor Stasenko. -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
Re: [Pharo-dev] [Inspiration] Toward a better programming
On 02 Apr 2014, at 13:31, Goubier Thierry thierry.goub...@cea.fr wrote: Le 02/04/2014 08:12, Tudor Girba a écrit : The language itself is less interesting for me, but what makes it stand out is that it has a coherent and robust philosophy behind and phenomenal goals to reach. In Pharo, we have the luxury of building on top of coherent and robust philosophy (even if different from the Wolfram one) and we should try as much as possible to keep our eyes on phenomenal goals that seem unreachable. I see two barriers in the current Pharo to be able to reach that: - Lack of clear documentation of the underlying code management structure and facilities. It takes ages to get into the gritty details of things like RPackage and the refactory framework, documentation is very often limited to this is the way Nautilus does it, and no worry about changing it, Nautilus developpers are the same guy which ends up being very painful for someone outside that core group. I agree but who is writing doc beside me and sven? Do you think that this is easy to write doc on something that you did not write. For Rpackage this is not that complex and you do not want to document the part that glue inside announcement and other. - GUI conservatism. The choice made in Pharo in the overall look is to be conservative and business-like, and so blame the too-advanced, too-fancy Morphic (and at the same time have Roassal pushing the enveloppe, but outside the normal toolkit :) which means someone would find it probably hard to do Roassal-based development tools). Glamour, Spec and GTToolkit are interesting to look at along that conservatism in GUI. You cannot clean Morphic without removing experimental stuff. Once we will have a better morphic then we can be more adventurous. You probably did not spend enough time in morphic if you do not think that I’m right. :) Now this is clear that Roassal is a bit reinventing Morphic to some extend but this is like that. Another thing I like in Wolfram's work is attention to details: http://blog.wolfram.com/2008/01/10/ten-thousand-hours-of-design-reviews/ Details are crucial, and all the effort in Pharo around naming and redesigning what already exists is incredibly important. But, it is precisely at the moment when we are knee-deep in details that is crucial to keep our eyes on the phenomenal long term goals. I'm less convinced by that. Refining, trying, fiddling, spending hundreds of iterations on making drag and drop or scrolling perfect, yes. Redesigning whole chunks of the low-level facilities without really seeing where we will end up, at at the same time presenting a very conservative view on top of it, not much. For example, I know of a GTInspector use case which is entirely justified by deficiencies in the standard system browser ;) There is so much to build. Let's be bold. +100 Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
Re: [Pharo-dev] [Pharo-users] Tiny-social meeting in Buenos Aires
cool idea. stef On 31 Mar 2014, at 16:16, Esteban Lorenzano esteba...@gmail.com wrote: Hi, As some of you know, I’m on vacations in Buenos Aires. Last days I was talking with the other Esteban of this list and with Hernan about doing a Pharo meeting to talk about the upcoming Pharo3 and well… to socialise a bit :) It cannot be a true sprint or formal event because my times are complicated (also I’m on holidays!) but is good to meet anyway and exchange impressions and news. Anyway, it will be friday 18hs to 20:30hs, in this place: http://www.cervelar.com.ar (in the Belgrano location). If you are in Buenos Aires and want to come, please send a confirmation (we need to make a reservation). Cheers, Esteban
Re: [Pharo-dev] [Inspiration] Toward a better programming
Go go go! Roassal2 (with Athens) can change the face of Pharo. Stef I cannot resist to jump on this. Indeed, we have the moral obligation to promote what we have crafted over the year. Producing a high-quality video has been on my todo list for quite some times already. As you probably know, we did some intent already (videos about Roassal, GraphET, and other tools), but we were too young maybe. Within the next few weeks we will work on a cool video to promote Roassal2, and our goal is to reach users beyond the Smalltalk boundary. We have everything so far. The moose distribution is a wonderful toolbox that can literally blow away any example shown in this video. As you may have seen, we have worked on Roassal2 which includes a new geographical map builder, tabular table importer, GraphET2, fancy curves, html and amber exporter. A video carefully orchestrated has the potential to kick away Aurora, Light Table, Wolfram and all their friends. We will soon get there... Alexandre On Mar 29, 2014, at 2:20 PM, Tudor Girba tu...@tudorgirba.com wrote: Beautiful demo. This should be our game, yet others are playing it :(. Doru On Sat, Mar 29, 2014 at 11:31 AM, Sven Van Caekenberghe s...@stfx.eu wrote: On 29 Mar 2014, at 10:38, Sven Van Caekenberghe s...@stfx.eu wrote: This is a nice write down: http://www.chris-granger.com/2014/03/27/toward-a-better-programming/ with a nice demo of a prototype: https://www.youtube.com/watch?v=L6iUm_Cqx2s Luckily, the horrible C++ code computing standard deviation in the article can be written quite elegantly and directly in Pharo: | input | input := #(2 4 4 4 5 5 7 9). (((input - input average) raisedTo: 2) sum / (input size - 1)) sort. Sven Damn spelling correction ;-) | input | input := #(2 4 4 4 5 5 7 9). (((input - input average) raisedTo: 2) sum / (input size - 1)) sqrt. -- www.tudorgirba.com Every thing has its own flow -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Re: [Pharo-dev] Font problem identified
Thanks I will have a look. I was thinking to put in place a registration mechanism. Stef On 30 Mar 2014, at 19:56, Ben Coman b...@openinworld.com wrote: Pharo4Stef wrote: Thanks for you suggestion I will check how to implement a registration mechanism. I was wondering if I missed the obvious. Stef i'd like to point out, that there is of course easy brute-force solution to this problem (simply put dirty patch to force re-loading fonts).. however, i think we should wisely consider, how to deal with it in graceful manner by providing a font-registration mechanism for any potential 3-rd party package(s). Like that, we will solve the problem for longer time period than just the single next day. -- Best regards, Igor Stasenko. I've uploaded a possible solution. I learnt something new today. That is very cool to be able to embed fonts in the image like that. cheers -ben
Re: [Pharo-dev] Release Mode
great mail :) On 28 Mar 2014, at 23:03, Nicolai Hess nicolaih...@web.de wrote: 2014-03-28 16:58 GMT+01:00 Marcus Denker marcus.den...@inria.fr: On 28 Mar 2014, at 16:53, p...@highoctane.be wrote: The look of nautilus button isn't ok to integrate since there is much more work needed to get this working properly. Now, the scrollbars in 2.0 really suck if you ask me. So, I'd vote for that one. Welcome back to the fray. So lets revert all the updates of this week, from the problematic ones onwards. But I can only work on that next week. Marcus Please No :) I am happy about any work that is done, even if it is some ui enhancement, even if it is in feautre freeze phase. Because, we are a just too small community. Most work is done in developers free time. We are providing some kind of a product (Pharo), but it is OUR product, we are mostly commited to ourself. So, the most important point isn't a release date, but that we are communicating, discussing, talking about that changes. Yes, of course, I know it has to be ready at some point, it won't help if we are working on a pre-release version for years:) Please let us take that changes, hoping they don't introduced new bugs and discussing now everything where we had missed to talk about. Having said that. IF YOU have the time to work on Pharo and would like to do some enhancements now, ok! But try to step back for one minute and think to yourself: are there bugs I can resolve instead? do some code review instead? look at the new or really old (maybe all those forgotten) issues on the buglist. There are plenty of things that have to be done for the release. But of course any other change may be worthwhile as well (first impressions on UI related things may count ten times more then a handfull fixed bugs). And if you really want your changes now, make this explicit on the mailing list: hey I would include this enhancement now, because ., would do you think? Nicolai
Re: [Pharo-dev] Font problem identified
Thanks for you suggestion I will check how to implement a registration mechanism. I was wondering if I missed the obvious. Stef i'd like to point out, that there is of course easy brute-force solution to this problem (simply put dirty patch to force re-loading fonts).. however, i think we should wisely consider, how to deal with it in graceful manner by providing a font-registration mechanism for any potential 3-rd party package(s). Like that, we will solve the problem for longer time period than just the single next day. -- Best regards, Igor Stasenko.
[Pharo-dev] Fwd: Feedback for Pharo 3
Begin forwarded message: From: Richard Sargent richard.sarg...@gemtalksystems.com Subject: Feedback for Pharo 3 Date: 27 Mar 2014 18:46:11 GMT+1 To: Stéphane Ducasse stephane.duca...@inria.fr Hi Stéphane, Benjamin Pollack @bitquabit just tweeted the features list for 3.0. I have to say that you folks have some really exciting things happening there. However, the naming of the methods for the Simple Delayed Execution for Blocks needs work. The #value* methods are so named because they return the value from the Block's execution. Neither #valueWithInterval: nor #valueAfterWaiting: answers the result of the Block's evaluation. The naming of the arguments is questionable, too. The name aDelay suggests an instance of a given class, but the comment suggests the argument is an integer (milliseconds). I can see argument for a Duration as the argument, in the expression [...something...] evaluateEvery: 100 ms. I don't think it can get clearer than that. But for performance, one might want an integer argument. Here the naming gets challenging. #evaluateEveryMilliseconds: is as close as I can come to readable, but I don't really like it either. Thanks for all your hard work (and good work!). Richard Sargent
Re: [Pharo-dev] [Pharo-users] [ANN] Application Security for your domains
the linke o your blog leads to http://www.smalltalkhub.com/#%21/%7Ehernan/ApplicationSecurity On 28 Mar 2014, at 00:58, Hernán Morales Durand hernan.mora...@gmail.com wrote: Hello guys, I'm doing a double announcement here. First, a new blog about development with Pharo, and Smalltalk: http://80738163270632.blogspot.com.ar/ Second, my first entry contains a post about Application Security, a new package to make Pharo applications more secure. You can start playing with the objects right now, while more documentation is being written for the next release. Hope you like it and I'm looking forward to hearing from you. Cheers, Hernán
Re: [Pharo-dev] DateAndTime#= slow?
Excellent! Thanks for all this good and proactive energy. Stef Umbrella issue: https://pharo.fogbugz.com/f/cases/13139/Speed-Regressions-in-DateAndTime I rewrote (and simplified) DateAndTime#+ #- #= I added caching for #epoch I switched the localTimeZone to an #asFixedTimeZone variant My benchmark now runs 40x FASTER than in Pharo 1.4 All Chronology tests remain green. I will upload slices when the funding goal of 1,000,000 USD is reached on https://www.kickstarter.com/projects/1003214829/improve-pharo-dateandtime-performance PS: Half of the funds will go to Camillo for making DateAndTime work in UTC internally ;-) PS2: I am not sure I am allowed to fix this so close to release, is it a feature or a bug fix ? ;-) On 27 Mar 2014, at 12:29, Sven Van Caekenberghe s...@stfx.eu wrote: On 27 Mar 2014, at 11:55, Johan Brichau jo...@inceptive.be wrote: On 27 Mar 2014, at 11:50, Sven Van Caekenberghe s...@stfx.eu wrote: It is slow(er) in 2 and fast(er) in 3, according to this discussion and my reading of the code. If you see the inverse, than please provide some details. We come from Pharo 1.4, where our timing benchmarks that use a lot of DateAndTime operations run 4x faster (in Gemstone too). It is indeed faster in 3 than in 2. (I believe because of a wait in de DateAndTime creation that has to do with clock precision). Johan An x4 (400%) slowdown sounds like an unacceptable regression to me. Could you maybe provide some benchmark ? I did a quick one (in Pharo 3): [ | timestamps | timestamps := Array streamContents: [ :out | 1024 timesRepeat: [ out nextPut: (DateAndTime now - (60*60*24*265) atRandom seconds) ] ]. 64 timesRepeat: [ timestamps sorted ]. timestamps sort. timestamps collect: [ :each | timestamps includes: each ] ] timeToRun. = 0:00:00:09.491 In 1.4, this is indeed about 40 times faster: [ | timestamps | timestamps := Array streamContents: [ :out | 1024 timesRepeat: [ out nextPut: (DateAndTime now - (60*60*24*265) atRandom seconds) ] ]. 64 timesRepeat: [ timestamps sorted ]. timestamps sort. timestamps collect: [ :each | timestamps includes: each ] ] timeToRun milliSeconds. = 0:00:00:00.228 For this test, ZTimestamp is 100 times faster: [ | timestamps | timestamps := Array streamContents: [ :out | 1024 timesRepeat: [ out nextPut: (ZTimestamp now - (60*60*24*265) atRandom seconds) ] ]. 64 timesRepeat: [ timestamps sorted ]. timestamps sort. timestamps collect: [ :each | timestamps includes: each ] ] timeToRun. = 0:00:00:00.07 Looking at this with the Time Profiler, I see that DateAndTime#asSeconds (used in #) takes 95% of the time. I am pretty sure we can fix this. I'll make an issue and slice later on. Sven -- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
Re: [Pharo-dev] [Moose-dev] Problem with fonts
On 28 Mar 2014, at 12:38, Stéphane Ducasse stephane.duca...@inria.fr wrote: Hi We found with igor the problems that produced red cross in Moose. The problem is that the system is looking Source Sans Pro and does not find it. The logic in findBestFont: does not find it because there is no such font registered in font manager and the default logic is to return TextStyle defaultFont which is a bitmpa one. So question: - may be we should have a FT font default loaded in the system? - Doru we remember that you loaded font in the system? May be you do not register well the fonts. Could you let us know what you did? can you execute the following -0 (LogicalFont familyName: 'Source Sans Pro' pointSize: 12) realFont you should get a freetype font - 1 Disable the freetrype in the setting - 2 Enable again freetype in the setting - 3 (LogicalFont familyName: 'Source Sans Pro' pointSize: 12) realFont because you should get a strikeFont and this is the bug So it looks like the image level fonts are lost. Stef and Igor. ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Re: [Pharo-dev] DateAndTime#= slow?
Hi johan Please let us know because I would be in favor of integrating such speed up if your system fully work. stef On 28 Mar 2014, at 09:17, Johan Brichau jo...@inceptive.be wrote: On 28 Mar 2014, at 06:24, Esteban Lorenzano esteba...@gmail.com wrote: Bugs are errors that prevents the system to run. nagging Some performance problems make the system impossible to work with /nagging Anyway, going to check in Sven's changes today. cheers Johan
Re: [Pharo-dev] New website about Spec - http://spec.st
Thanks ben This is really to see my ideas coming to live ;D I am glad to announce (even if Philippe already let the cat out :P) a website dedicated to Spec: http://spec.st. You can find a quick introduction, documentation (mainly what is now in the Pharo For The Enterprise book), and a news feed where I will explain the API changes, the news widgets introduce etc. What is the best github repo to edit the chapter? The website contents can be found here (https://github.com/spec-framework/website) so if you want to contribute you are welcome :) Ben PS: I would like to thank Johan Fabry who helped me a lot writing the documentation, Sean P. DeNigris who fixed my english a couple of times and Nicolas Petton who helped me on the website look and feel
Re: [Pharo-dev] [Moose-dev] Re: Re: Fwd: Font problem is still there
yes but if you uncheck and recheck freetype the embedded fonts are lost - substition - substitution failed. - get a strike font and boum. Can you confirm? On 28 Mar 2014, at 15:26, Tudor Girba tu...@tudorgirba.com wrote: Excellent. I confirm the same result in the latest Moose image (which no longer loads anything related to Athens). It works out of the box without any resetting of the fonts (by using the already installed Source Sans Pro. Cheers, Doru a WorldMorph(511705088) [wo.png On Fri, Mar 28, 2014 at 3:15 PM, Igor Stasenko siguc...@gmail.com wrote: On 28 March 2014 15:01, Tudor Girba tu...@tudorgirba.com wrote: I added the code in the mail precisely to leave out any ambiguities :). The first part of the snippet (as also listed by Vincent) loads the very latest development version of Athens configuration. So, yes, I think I loaded the latest code. Doru and that code snippet works only if you have FreeSans font in your system.. which not exists on Mac OS (at least in my installation).. i took the latest pharo 3.0 image: curl get.pharo.org/30 | bash % Total% Received % Xferd Average Speed TimeTime Time Current Dload Upload Total SpentLeft Speed 100 2587 100 25870 0 70999 0 --:--:-- --:--:-- --:--:-- 421k Downloading the latest 30 Image: http://files.pharo.org/image/30/latest.zip Pharo.image 193-51-236-207:pharo sig$ ./pharo-ui Pharo.image - went to font settings and updated the font list from system. And then evaluated: AthensSceneView new scene: [ :canvas | |s| canvas setFont: (LogicalFont familyName: 'Arial' pointSize: 20). s:= String newFrom: ($A to: $Z),($a to: $z), ($0 to: $9). canvas pathTransform restoreAfter: [ canvas pathTransform translateX: 0 Y: 50. canvas setPaint: Color black. canvas drawString:s ] ];openInWindow And here's what i got: Screen Shot 2014-03-28 at 3.11.25 PM.png And the screenshot you given cannot be true, because 20 points font size should be much larger than 10 point (the font used for label above with zoom/pan metrics). Note, i did not loaded anything into pharo image.. just evaluated the above snippet.. on my machine, which is: 10.8.3 mac os -- Best regards, Igor Stasenko. -- www.tudorgirba.com Every thing has its own flow ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Re: [Pharo-dev] [Moose-dev] Re: Re: Fwd: Font problem is still there
On 28 Mar 2014, at 15:01, Tudor Girba tu...@tudorgirba.com wrote: I added the code in the mail precisely to leave out any ambiguities :). The first part of the snippet (as also listed by Vincent) loads the very latest development version of Athens configuration. So, yes, I think I loaded the latest code. but is it? Can you check? Doru On Fri, Mar 28, 2014 at 2:57 PM, Igor Stasenko siguc...@gmail.com wrote: On 28 March 2014 14:42, Tudor Girba tu...@tudorgirba.com wrote: I also tried based on a Moose 5.0 image on OS X 10.9.2: Gofer new smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; loadDevelopment. AthensSceneView new scene: [ :canvas | |s| canvas setFont: (LogicalFont familyName: 'FreeSans' pointSize: 20). s:= String newFrom: ($A to: $Z),($a to: $z), ($0 to: $9). canvas pathTransform restoreAfter: [ canvas pathTransform translateX: 0 Y: 50. canvas setPaint: Color black. canvas drawString:s ] ];openInWindow And I still get the problem: by 'still' you mean you loaded up-to-date version of Athens into your moose image and it still doesn't works? because Moose 5.0 image which i downloaded earlier today has very old Athens version. an AthensSceneView(824442880).png Doru -- Best regards, Igor Stasenko. -- www.tudorgirba.com Every thing has its own flow ___ Moose-dev mailing list moose-...@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Re: [Pharo-dev] DateAndTime#= slow?
It is easy. It is called pharo 3.1 or pharo 4.0. The rule is: Don’t change the current release being in freeze. Release it, change then everything you wanted in the next step and make sure you can release the next version pretty soon. IMHO the best solution to this kind of problems is to have small iterations. Yes I like your idea. We can do a 3.1. May be this is an indication that we should start a 4.0alpha? Stef
Re: [Pharo-dev] [Moose-dev] Re: Re: Re: Fwd: Font problem is still there
thanks Igor. I’m trying to look at the font reloading bug. On 28 Mar 2014, at 17:19, Igor Stasenko siguc...@gmail.com wrote: https://pharo.fogbugz.com/f/cases/13150/Different-memory-alignment-on-different-platforms On 28 March 2014 16:42, Igor Stasenko siguc...@gmail.com wrote: so, the quick and dirty fix is to put: CairoGlyph classbyteAlignment NativeBoost platformId = NativeBoostConstants win32PlatformId ifTrue: [ ^ 8 ]. ^ super byteAlignment and then: CairoGlyph rebuildFieldAccessors CairoGlyphsArray initialize (note you must run this snippet each time your image changes platform).. and i need more time to fix it for real, because it is NB issue, to automatically recalculate the structs size if it changes platform.. (which also means you cannot store instances of struct in image which survive the session) ... damn.. that's going to be complicated. --- On 28 March 2014 16:27, Igor Stasenko siguc...@gmail.com wrote: On 28 March 2014 16:01, Igor Stasenko siguc...@gmail.com wrote: Ookkayy.. so, current status: - finally we got an agreement that big red square because of font loading issues and font rendering artifacts is two separate issues. Thanks! - i am not going to address font-loading issue here and now.. (because we spent time on it earlier today with Stef already and you should have the report on it in separate mail). - we seem to be agreed that it is best to use same (up-to-date version) of software when reporting issues to work on them. Thanks again. :) - while on linux and mac things seem to be working fine, i can confirm that there is rendering artifacts (same as reported by Vincent) on Windows. so i going to explore what causing this problem.. ... and found the cause: On windows, for unknown reason, the structure (cairo_glyph_t) uses different memory space alignment than on mac and linux fieldsDesc ^ #( ulongindex; double x; double y; ) on mac and linux , the size of this structure in memory = 4 + 8 + 8 = 20 bytes, on windows, however, due to 8-byte alignment, it is 4 + 8 + 8 + (4 alignment) bytes... this causing the effect that if you copy array of glyphs in memory, it does not copying whole array by slightly less (because it uses wrong struct size which is smaller than it is).. and because of that, you got weird artefacts at the tail of string, replaced by misplaced/invalid characters etc.. because it is basically read from uninitialized part of memory with random data. i going to fix structure alignment for windows from default 4 bytes to 8 bytes.. but this is not very good news.. because this affecting many things... (as you can imagine, not only cairo/athens working with external structures, which need to be properly aligned). -- Best regards, Igor Stasenko. -- Best regards, Igor Stasenko. -- Best regards, Igor Stasenko.
[Pharo-dev] Every class should redefine printOn:
Hi guys I’m trying to understand freeType and when I debug I get aBlah aFoo and this is frankly annoying because I’m trying to learn the implementation and it does not help me at all. I hate the classes that only their implementors understand. In Pharo 4.0 I will put a strict rule: - no class will be integrated if they do not redefine printOn: - I will set a general rules to check printOn: methods. printOn: methods are the first debugging information. Stef
Re: [Pharo-dev] funny TIOBE
On 28 Mar 2014, at 22:00, Sean P. DeNigris s...@clipperadams.com wrote: Pavel Krivanek-3 wrote after a very long time I checked the TIOBE index and Smalltalk is not listed there at all... :-) Maybe we died and don't know it... must be heaven, not hot enough for the other place ;) :) - Cheers, Sean -- View this message in context: http://forum.world.st/funny-TIOBE-tp4751510p4751522.html Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
Re: [Pharo-dev] Every class should redefine printOn:
On 28 Mar 2014, at 22:08, Sven Van Caekenberghe s...@stfx.eu wrote: I am all for that, but I don't think you can make it that strict, what if there are no instance variables ? ok :) a smart rule I like custom #printOn:'s especially for debugging. On 28 Mar 2014, at 21:45, Pharo4Stef pharo4s...@free.fr wrote: Hi guys I’m trying to understand freeType and when I debug I get aBlah aFoo and this is frankly annoying because I’m trying to learn the implementation and it does not help me at all. I hate the classes that only their implementors understand. In Pharo 4.0 I will put a strict rule: - no class will be integrated if they do not redefine printOn: - I will set a general rules to check printOn: methods. printOn: methods are the first debugging information. Stef
[Pharo-dev] Font problem identified
Hi guys I found the problem now I will think about the solution. https://pharo.fogbugz.com/default.asp?13149 Stef
Re: [Pharo-dev] New Nautilus side bar buttons
On 28 Mar 2014, at 17:57, Benjamin benjamin.vanryseghem.ph...@gmail.com wrote: Hello guys, since I do not really like the new buttons introduced in Nautilus, and since the previous one were broken, I propose this new set of buttons based on the eclipse theme. Nautilus new buttons.png closeup.png Tell me what you think about it :) much nicer! Tx Ben
Re: [Pharo-dev] Nicer scrollbars [was RE: Fixing inconsistent buttons look in PharoUI]
Hi guys pay attention that igor redesigned a full new class for scrollbar because the old one sucks so that we can do clever scrolling in TextEditor. Stef On 26 Mar 2014, at 13:13, Tudor Girba tu...@tudorgirba.com wrote: If you are at it, would you be interested in trying to provide a scrollbar without the arrow buttons, and with half the width? :) Doru On Wed, Mar 26, 2014 at 12:39 PM, Goubier Thierry thierry.goub...@cea.fr wrote: Cool, you're giving me hope that one day I'll switch to the Pharo3 theme :) Thierry Le 26/03/2014 11:58, Philippe Back a écrit : And while I was at it, I made the scrollbars nicer. https://pharo.fogbugz.com/default.asp?13136 All of this made me notice that there are quite a number of little glitches all over. Especially when using larger fonts. Phil *From:*Philippe Back [mailto:p...@highoctane.be] *Sent:* mercredi 26 mars 2014 10:51 *To:* 'pharo-dev@lists.pharo.org' *Subject:* Fixing inconsistent buttons look in PharoUI I’ve made a pass at fixing the buttons look (border in some places, no border in others). Spec-generated buttons are using the ButtonModel and MorphicButtonAdapter but the defaultSpec fo the the ButtonModel is asking the borderWidth and borderColor from the model, which is all nice but should be looking like the standard PluggableButtonMorphs, which do have a border. So, aligned now. https://pharo.fogbugz.com/default.asp?13135 Slice in inbox: SLICE-Issue-13135-Inconsistent-look-of-buttons-across-tools-Border-no-border-PhilippeBack.1 Phil http://www.avast.com/ Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection Antivirus avast! http://www.avast.com/ est active. -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95 -- www.tudorgirba.com Every thing has its own flow
Re: [Pharo-dev] [Help needed] Issuer tracker TODO Pharo3
I would love to have the time and internet access :( On 27 Mar 2014, at 13:22, Marcus Denker marcus.den...@inria.fr wrote: Hi, There are 23 issues open for Pharo3 https://pharo.fogbugz.com/f/filters/64/3-0-TODO In general, it would be nice if more people would care about - testing and reviewing proposed fixes - just keeping the issue tracker healthy Marcus
Re: [Pharo-dev] Pen back in the image
build it on top of athens On 27 Mar 2014, at 17:33, Hilaire Fernandes hilaire.fernan...@gmail.com wrote: I think too it is nice class to introduce to programming Hilaire Le 27/03/2014 17:17, p...@highoctane.be a écrit : Hello, I'd like to see the Pen class coming back in the main image. It really is useful for getting people acquainted with the tools and the bluebook uses it. I am not asking for a form editor (it could be handy though). Path is dead as it was hijacked by FileSystem. I miss it too. What do you people think? Phil -- Dr. Geo http://drgeo.eu
Re: [Pharo-dev] Font problem is still there
Btw, guys i need some details: - what platform you using Windows and Linux (this is the moose image). - what default font you using No idea. We will give you the image of nicolas and the image of the contact I got. It happens on windows for her. Apparently people where putting the same image on a different machines and it worked. Nicolas got a problem on linux. May be this is just a stupid use of freetype with the settings but since WE DO NOT understand font the setting should do it right. Stef
Re: [Pharo-dev] Crazy Smalltalk code snippets
Hi frank It would really great if you send an article on this to the ESUG workshop. I can help reviewing the draft if you want. Stef Yes: http://ss3.gemstone.com/ss/Control.html Last time I checked I did need to add a shim (see the ControlPharo package), but it did load cleanly and pass all its own tests. Control not only provides a convenient way of making partial continuations (of the shift/reset sort, if you're familiar with the literature), but also _delimited_ dynamic variables. As soon as you start stack-slicing with partial continuations, you quickly find that standard implementations of dynamic variables fail in all sorts of nasty ways. Fundamentally, normal dynamic variables _cannot_ work cleanly with partial continuations because they either close over too much of the dynamic environment, or too little. Here's some reading on the topic: [1] http://okmij.org/ftp/Computation/dynamic-binding.html [2] http://www.cs.rutgers.edu/~ccshan/dynscope/DDBinding.pdf [3] http://www.lshift.net/blog/2012/06/27/resumable-exceptions-can-macro-express-delimited-dynamic-variables frank Cheers, -- Pavel -- best, Eliot
Re: [Pharo-dev] Use Spotlight to quickly evaluate and inspect short expressions
I like the idea now it is importznt that spotlight found class , method, package well :) Stef On 25 Mar 2014, at 14:30, Sven Van Caekenberghe s...@stfx.eu wrote: I had this idea: https://pharo.fogbugz.com/f/cases/13128/Use-Spotlight-to-quickly-evaluate-and-inspect-short-expressions now you can do shift-Enter:42Enter to inspect the magic number 42 shift-Enter:1500*1.25Enter to quickly compute your 25% raise shift-Enter:Float piEnter to see how many decimals you still remember shift-Enter:ZnClient new get: 'http://zn.stfx.eu/zn/small.html'Enter and so on. The interaction with the completion menu is not 100% perfect, but pressing Space at the end before Enter solves that. Feedback ? Sven PS: I know that many Smalltalk greybeards type everywhere to the same effect, and that is cool to, but it leaves around dirty windows. Opening a workspace for a single expression often is overkill. This feature is totally keyboard driven and very clean. PS2: Yes it resembles Emacs' M-: (evaluate-expression), but Pharo is much cooler, right ;-)
Re: [Pharo-dev] [Pharo-fuel] FileSystemGit and Fuel final report
When I see all the interactions and people helping I think that this was really worth :) Thanks for ESUG for sponsoring your trip (like that we can reinvite with RMOD money). Stef On 24 Mar 2014, at 10:06, Max Leske maxle...@gmail.com wrote: For those who’ve been interested in what went on during the last two weeks, where I visited Lille, I’ve compiled a short report. Regarding my work on Git I’ll continue to report on the status from time to time. I want to thank everyone at RMoD once again for the warm welcome and the support I received. Special thanks to Ben and Camillo for providing a place to crash at. Thanks also go to all of you guys and girls on the list for pushing Pharo constantly and for showing interest in my work. It’s very encouraging. Cheers, Max Git: - Esteban Lorenzano and me worked together on preparing the libgit2 and libssh2 libraries for integration into the VM - Igor Stasenko worked with me to solve a couple of problems I had with NativeBoost. Especially callbacks can be tricky - Learnt how to build the VM in debugging mode so that I could debug FFI calls in XCode - Stefan Marr worked with me on moving the tests from Phexample to SUnit - The implementation now enables writing of blobs, trees and commits, cloning of remote repositories (https), fetching from remote repositories (https), pushing to remote repositories (https) - Authentication with remote repositories via SSH is working but clone, fetch, push don't work yet (problems with the libssh2 interaction that I wasn't able to resolve yet) - I set up an initial build infrastructure on the INRIA CI server (https://ci.inria.fr/pharo-contribution/job/LibGit2/) - We defined a rough roadmap for what needs to be done in the near future: 1. finish the low level libgit2 abstraction (offer a minimal API that hides the bindings; we don't want users to use the bindings directly) 2. we already have a prototype of a FileSystem wrapper for Git. We want to use that on top of the libgit2 abstraction layer 3. we already have a Monticello FileSystem wrapper prototype. We want to use that to abstract from the actual storage method. Together with the Git-FileSystem wrapper this should make it very easy to continue (for now) using Monticello and the existing GUI tools while using Git as a backend for storage. - On Friday 21 I gave a short demo at RMoD on the work accomplished and what the plans are for the future Fuel: - Martín Dias and I worked together on: - debugging a problem with large object graphs - preparing a new baseline for Fuel 2 - moving the benchmark suite to SMark - setting up a benchmark build on the INRIA CI server which will help us track performance changes when introducing changes - defining a rough roadmap for Fuel - Had a discussion with Usman Bhatti about the uses and the future of Fuel in Moose ___ Pharo-fuel mailing list pharo-f...@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-fuel
Re: [Pharo-dev] Random refactoring on UITheme or what?
bitter In Pharo3, the UITheme hierarchy seems to have been hit by random refactoring (it really looks like that) because it is broken in so many place[1][2][3] and in such obvious way (very visible). It will be nice the random refactorers take(s) full responsibility to do the job from A to Z, and not only from A to H. /bitter [1] https://pharo.fogbugz.com/f/cases/12554/Broken-Watery-theme [2] https://pharo.fogbugz.com/f/cases/13112/Broken-Vistary-theme [3] https://pharo.fogbugz.com/f/cases/13114/Broken-PharoTheme Thanks Thanks hilaire. Indeed this is sometimes difficult to do things :) I think that we should be more cautious about - making sure that changes fully works. I can tell you that when we worked three days with igor to clean the frame API it was a huge work but we when over all the corners and nobody saw even that we worked. - deprecate more Now you see you are the first one to report this. Stef
Re: [Pharo-dev] Random refactoring on UITheme or what?
Speaking of that, one will notice that the class comment of UITheme has the examples list: Common superclass for User Interface themes. Provides methods for creating new morphs in a standard way, various services like a file dialog, message dialogs etc. and also methods for customising aspects of the appearance of various morphs. Though conceptually abstract, no code is missing. Subclasses, therefore, should override the aspects they wish to change. UITheme exampleBasicControls UITheme exampleBuilder UITheme exampleColorControls UITheme exampleDialogs UITheme exampleGroups UITheme exampleOtherControls UITheme exampleWindowWithToolbars But in 3.0 it is not in there, it moved to Widgets in 'Morphic-Examples-Widgets’ indeed! with: ExampleBuilderMorph WidgetExamples Maybe worth a change in the class comment. Yes! I think that many changes missed a deprecation or information to help people migrating.
Re: [Pharo-dev] Bug in Rectangle?
https://pharo.fogbugz.com/default.asp?13116 Pointvertex: aPoint ^aRectangle vertex: self vertex: aPoint Rectangle classvertex: point1 vertex: point2 ^self origin: (point1 min: point2) corner: (point1 max: point2)
Re: [Pharo-dev] Bug in Rectangle?
From the st80 ages, rectangle have allways been oriented. You have an origin and a corner inst var, not 2 corners or vertices. And you have creation messages Rectangle classorigin:corner: The conventions are that of latin scribes, the orientation of rectangle should be (left-right , top-down) There is an assumption that a rectangle with negative width (right-left) or height (bottom-top) should be treated as empty. And this was globally well maintained except a few breakages introduced in Squeak along the years (but I hope I corrected most of the slips since then). Now Igor and Stephane had another view more geometric and un-oriented, and wanted to change conventions/handling of empty rectangles in Pharo. I don't know how far they went, or even if it is feasible at all... IMO, it's a recipe for maximizing breakage/gain ratio. It is clearly not. :) We removed bugs in the invalid rectangle areas and others. And we fixed all the places that were created negative dimensions (like in framelayout) because rectangle where hijack to represent two points that were not a rectangle. We also introduce margin which is really nice to represent 1,2, or 4 digits and avoid to overuse again a rectangle. Note that VW has Rectangle classvertex:vertex:, and we probably should add such message... 2014-03-21 15:15 GMT+01:00 Noury Bouraqadi bouraq...@gmail.com: Inverting the origin and the corner of a rectangle changes the result of intersection. I guess it's a bug, though I imagine that changing the code of Rectangle is likely to have deep/undesired consequences.. (0@0 corner: 100@100) intersects: (-50@ -50 corner: 80@80) == true (100@100 corner: 0@0) intersects: (-50@ -50 corner: 80@80) == false Noury
Re: [Pharo-dev] Bug in Rectangle?
You did not fix everything that was fixed in Squeak. Example: rect1 := 10@10 corner: 40@40. empty2 := 30@30 corner: 20@20. (rect1 intersects: empty2) - true I think that we should not use intersect: anymore because it does not make sense. What I see is that you provided intersect:ifNone: to avoid producing empty rectangle in the first place - or to produce explicitely empty 0@0 extent: 0@0. But - not all intersect: senders have been changed, Indeed we should probably continue - some senders have been changed questionably (allowedArea in IdentifierChooserMorph is re-implementing RealEstateAgent class maximumUsableArea differently) - I don't know if intersect: was the sole source of empty rectangles… No around 160 layoutFrame and others Until all producers have been eradicated, the empty invariant still exists, and Rectangle methods must still be guarded against empty rectangle edge cases. Right now, it is not enforced everywhere (see intersects: case above). Right now you're in the middle of the bridge, but that's OK if the emptiness invariant eradication is still planned, it's just a temporary transition.. If I remember correctly the goal is to never have never width.
Re: [Pharo-dev] Location of Metacello package dependency
We were discussing about that. My point is that the system should work if the catalog fall apart. Now others told me that in other community this is the inverse. People only refer to the catalog. Since we did not get last year and this year the engineer I requested to work on the validation of distirbution we did not make progress on that front because we are busy. For me I do not use SqueakSource not because it is written Squeak but because I think that squeaksource is over and too old. Stef I'm currently browsing the various ConfigurationOf in MetaRepoForPharo30 catalog hoping to find a pattern to serve as guidelines, but what I see is a messy variety of solutions: - direct reference to specific source repositories of package B as Johan suggested (and the successive baselines are effectively tracking motions of B) IMO the worst thing, I don't manage B and don't want to update my ConfigurationOfA each time B moves. - references to ConfigurationOfB thru squeaksource MetacelloRepository. My preferred solution. I don't care if the catalog is centralized on squeaksource, Smalltalkhub or whatever, but I want a centralized catalog Me too. Now the question is the following one. Ideally I would like to have one inbox and that configuration move to the catalog for their version. (Because I do not see the point of having around old versions of projects that do not load in the given version). I explained that in the Pharo vision document. Now may be other solutions are better. Stef - refrences thru MetaRepo catalog du jour (tracking motions of MetaRepo across baselines) My original question, using secondary catalogs is not a problem if they are just a duplicata, but I prefer to ask, because it sounds strange to have multiple catalogs just to implement a filter (the filter being select those packages that are tested and approved in pharo x.y)... Certainly a workaround for a missing feature of Metacello. - a mixture of the 3 solutions above for some packages! That appears as randomness from my POV, or like of guidance So again, what are the best practices currently, and could we think of it in a bit longer term? 2014-03-22 21:51 GMT+01:00 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com: 2014-03-22 21:27 GMT+01:00 Johan Brichau jo...@inceptive.be: I don't understand what squeaksource has to do with that. With main repository, I mean the repository of the project itself. Almost all ConfigurationOfXXX are hosted together with the project itself. They are also referenced in that repo. The MetacelloRepo or MetaRepos are almost always secondary copies (if not, they should be) Johan Arghh N, so that is really going to be a problem for me ! With MetacelloRepository I absolutely don't care where to find a specific package, I have some kind of centralized catalog. Now, if I must track each and every motion of package B from squeaksource to ss3 to SmalltalkHub to github to (what's next ?), the idea of catalog is completely broken then... Nicolas On 22 Mar 2014, at 21:10, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: OK, if the MetacelloRepository on squeaksource can still serve as reference, I'm perfectly OK with it, I don't know why I had this impression that anything beginning with those 6 letters was going to be seen as a problem ;) 2014-03-22 18:53 GMT+01:00 Johan Brichau jo...@inceptive.be: Why can you not reference the main repository? The meta repository is just a place where the configuration loader tool fetches them. Platform-specific elements go in the separate 'sections' of a baseline or version method. Don't make separate branches of the same ConfigurationOf class. You will not only make your life hard but also confuse all users! Maybe you can explain why you think you need those? Johan On 22 Mar 2014, at 18:20, Nicolas Cellier nicolas.cellier.aka.n...@gmail.com wrote: I have some packages A that depend on another package B. In Metacello, I can easily declare the dependency spec className: 'ConfigurationOfB'; versionString: #'stable'; repository: 'http://www.squeaksource.com/MetacelloRepository' ]. But the repository is hardcoded here. My problem is that I'd like to edit a ConfigurationOfA valid for pharo 1.x, 2.0.x and 3.0.x (so far so good) and put a copy in MetaRepoForPharo20 and another copy in MetaRepoForPharo30. Since the repository is hardcoded, this is going to be a problem because the MetaRepo will then cross-ref other repositories and weaken robustness or miss uptodate ConfigurationOfB... I'd like to avoid maintaining many branches of ConfigurationOfA. How do others resolve this?
Re: [Pharo-dev] Voyage cannot be load
I know. I would wish we would stop having metacello versions that contain dependencies to symbolic versions. A tool like versionner should rewrite every symbolic version to a number version when producing a release. Indeed! Christophe is working on that. Release should not be symbolic! Stef
Re: [Pharo-dev] Nautilus: plugins, PackageTreePackageSelection, PackageTreeTagSelectop, promote, tags, ...
thanks phil We should do another pass on nautilus. On 21 Mar 2014, at 19:58, p...@highoctane.be wrote: Furthering the investigation: With groups, plugins are not working at all as package doesn't exist in DynamicClassGroup etc. I fixed the plugin I was interested in but this makes for strange code as: packageSelected: anAnnouncement | package name | (anAnnouncement respondsTo: #package) ifTrue: [ ... This is because the announcement comes for a package which is not one. even if one has registered it with: registerTo: aModel aModel announcer on: NautilusPackageSelected send: #packageSelected: to: self Maybe should we have other announcements for these specific items like DynamicClassGroup (e.g. DynamicClassGroupSelected announcement) I have made a little plugin to help me explore the selected classes in the left most list. Also adding RPackagepackage ^self helps with package selected code as without it it is hard to write: package node item package for both PackageTreeTagSelection and PackageTreePackageSelection This makes the TasksPlugin code like; packageSelected: anAnnouncement | package | (anAnnouncement respondsTo: #package) ifTrue: [ package := anAnnouncement package. package ifNil: [ tasks removeAll ] ifNotNil: [ (package node item respondsTo: #package) ifTrue: [ tasks := (self systemNavigation allCallsOn: 'flag:' asSymbol) select: [ :m | package node item package includesMethod: m selector ofClass: m methodClass ] ]. ]. ] ifFalse: [ tasks removeAll. ]. self changed: #tasks. Maybe can we get this leaner with the proposed changes to the announcements. Phil On Fri, Mar 21, 2014 at 7:12 PM, p...@highoctane.be p...@highoctane.be wrote: I have been looking at Nautilus plugins as I wanted to be able to export some classes to other formats (e.g. CSV, XML for use with other tools). Then, I started playing around with the URLPlugin with its buildString method, which proves helpful to find out about what is selected in the 'list2'. So, that's where I started drilling down the rabbit hole... So, I see that we have packages and package tags. And actions like promote as true package and demote (which kind of doesn't work and crashes, but I should test further). One thing is that this setup breaks the PackageTasks plugin is broken at this point. We have: packageSelected: anAnnouncement package := anAnnouncement package. ... tasks := (self systemNavigation allCallsOn: 'flag:' asSymbol) select: [ :m | package includesMethod: m selector ofClass: m methodClass ] ] But with the packages and tags, it doesn't work. In fact, package is misleading as the announcement contains a PackageTreePackageSelection or a PackageTreeTagSelection. Question: how is one filtering on either the package or a given tag? Is this possible? I saw the node and nodeitem things. I was trying to build the full path (Like Nautilus-Plugin from what is selected in the model). Question; Is there any method for doing that at this point? (e.g. fullTag?) Then I tried this: Object subclass: # instanceVariableNames: '' classVariableNames: '' category: 'Nautilus-Nautilus' This gets mixed with the classes in Nautilus under the Nautilus package in the Nautilus tag. So, a tag class is mixed with the root package. Not nice. What's the underlying model? Is there a doc somewhere? Going back to the digging... TIA Phil ExplorePackageSelectedPlugin.st
Re: [Pharo-dev] FileSystem-Git status update 2
+1 On 19 Mar 2014, at 08:53, Yuriy Tymchuk yuriy.tymc...@me.com wrote: Good to see this progress! Thanks for your effort. Uko On 19 Mar 2014, at 08:46, Max Leske maxle...@gmail.com wrote: - I moved all the code to the FileSystemGitDev team on Smalltalkhub - we now have a working LibGit2 build (tests fail but that will be fixed in the coming days) - we got simple fetch working yesterday (yay!) - we (which means Stefan) started rewriting our tests with SUnit, moving away from Phexample (for several reasons) Today’s program: - migrate more tests - fix initialization and setup issues - try to perform a complete fetch + merge (without conflicts) - implement clone - try to get push working Have a great day! Cheers, Max
[Pharo-dev] Fwd: pharo sound should be working
Begin forwarded message: From: xavier MESSNER xmess...@gmail.com Subject: Re: [Pharo-dev] pharo sound should be working Date: 17 Mar 2014 22:12:30 GMT+1 To: Stéphane Ducasse stephane.duca...@inria.fr Salut Stéphane, Les modifications apportées corrigent le problème. Le son fonctionne correctement mais uniquement si le serveur sonore Pulseaudio n'est pas démarré, ce qui n'est pas le cas pour les distributions modernes ou orientées desktop. Pour avoir du son j'ai dû désactiver pulseaudio. Voici comment j'ai procédé. Dans ~/.pulse/client.conf autospawn = no Cela permet de ne pas relancer le service en automatique Ensuite killall pulseaudio Maintenant je suis dans une configuration idéale et j'ai pu rejouer la mélodie de pacman :) Seulement, si le serveur de son pulseaudio est lancé j'ai cela qui apparaît dans la console sound_Start(default) soundStart: snd_add_pcm_handler: Fonction non implantée sound_Start(default) soundStart: snd_add_pcm_handler: Fonction non implantée Je suis bien parti de la dernière version de la vm disponible comme demané. A mon avis lorsqu'on utilise pulseaudio, il y a conflit avec la vm qui elle veut utiliser alsa. Xavier. 2014-03-17 20:03 GMT+01:00 Stéphane Ducasse stephane.duca...@inria.fr: xavier peux-tu reessayer? Begin forwarded message: From: Esteban Lorenzano esteba...@gmail.com Subject: Re: [Pharo-dev] pharo sound should be working Date: 17 Mar 2014 15:45:06 GMT+1 To: Pharo Development List pharo-dev@lists.pharo.org Reply-To: Pharo Development List pharo-dev@lists.pharo.org can you check with the latest vm now? btw… you need to install: sudo apt-get install libasound2-plugins:i386 in order to prevent warnings. On 15 Mar 2014, at 00:03, Nicolai Hess nicolaih...@web.de wrote: 2014-03-14 21:43 GMT+01:00 Esteban Lorenzano esteba...@gmail.com: Hi, so I committed some changes to allow soundplugin to work on the pharovm. can you please download and test in your platforms? Works on windows (remember, in linux you need libasound2 dependency installed) it does not work on linux Ubuntu 12.04.2 LTS (I have installed libasound2). Why don't we include the pulse config again and build the vm-sound-pulse module as well? As I described it in the issue 12493, vm-sound-oss is buildable too. But current linux distribution don't provide the older OSS sound system. (it worked for me with ubuntu 10.04 but not with 12.04) cheers, Esteban
[Pharo-dev] Better catalog builder
Hi guys I improved the catalog builder to take into more sources of configurations. I will add an Error log to identify potential problems. Stef
[Pharo-dev] Catalog entry of ConfigurationOfPunQLite is broken
Hi I improved the CatalogBuilder to be more robust but Catalog entry of ConfigurationOfPunQLite is broken Startup Error: MessageNotUnderstood: ByteStringput: ByteString(Object)doesNotUnderstand: #put: ConfigurationOfPunQLite classcatalogKeyClassesAndExample CatalogBuilderbuildKeyClassesFor:on: CatalogBuildercatalogCardBodyFor: in Block: [:s | ... Thanks
[Pharo-dev] Looking for a project reloader tool
Hi guys I’m starting to get bored to always reload my projects in new images. I would like to have a simple button to say Save script to reload on a project Does any of you implement such behavior? Else I will do it. Stef
Re: [Pharo-dev] Looking for a project reloader tool
yes but my projects are often not related. I will try to add a menu in the configurationBrowser to generate nice information such as Gofer it smalltalkhubUser: 'MartinDias' project: 'Epicea'; configuration; loadStable. Gofer it smalltalkhubUser: 'DamienCassou' project: 'Pier-Gutemberg'; package: 'ConfigurationOfCatalog'; load. Stef On 18 Mar 2014, at 11:14, Sven Van Caekenberghe s...@stfx.eu wrote: One way to do this (restore all your own stuff in a new image) is to use a single configuration ... On 18 Mar 2014, at 11:08, Pharo4Stef pharo4s...@free.fr wrote: Hi guys I’m starting to get bored to always reload my projects in new images. I would like to have a simple button to say Save script to reload on a project Does any of you implement such behavior? Else I will do it. Stef
Re: [Pharo-dev] Just found, i can compile this:
On 18 Mar 2014, at 17:02, Clément Bera bera.clem...@gmail.com wrote: Hello, For blockClosures it is normal, block closure arguments have always been assignable since smalltalk-80. No this is wrong. We could add a warning to discourage it, but we cannot forbid it, or we will not be able to load lots of frameworks and libraries that use it. No they should not So 12419 is not a bug to me, it's a feature. No this is a bug. For methods it is a bug, thanks for noticing. I will check. 2014-03-18 15:45 GMT+01:00 Nicolai Hess nicolaih...@web.de: similiar to issue 12419 block arguments should be read only 2014-03-18 15:21 GMT+01:00 Camille Teruel camille.ter...@gmail.com: Indeed, I can compile: Cfoo: arg ^ arg := 3 And 'C new foo: 1' returns 3... On 18 mars 2014, at 15:16, Igor Stasenko siguc...@gmail.com wrote: extent: newExtent vertical ifTrue: [ newExtent := self defaultWidth @ newExtent y ] ifFalse: [ newExtent := newExtent x @ self defaultWidth ]. super extent: newExtent Can you verify it? Arguments should be not assignable. -- Best regards, Igor Stasenko.
Re: [Pharo-dev] Adding a new catalog entry
well we will have to clean and simplify all that in the future. This is why versionner should be good so that people use it and we can simplify the declarations. Stef But I had the feeling that Versionner UI is currently very limited vs Metacello options (especially w.r.t. cross dialect support) The problem is that metacello is too complex. :) And the API could be better. Or do you have a different POV, like only Pharo3.0 stuff should go to MetaRepoForPharo3.0, and the ConfigurationOf... should be expunged from any other dialect/version ? For now this is ok to have multiple dialects in the metarepo because people may want to have gemstone and squeak version. Now for the core Pharo tool configruations should be as simple as possible (RB, …) Stef Bye T. Gesendet: Sonntag, 16. März 2014 um 17:31 Uhr Von: Nicolas Cellier nicolas.cellier.aka.n...@gmail.com An: Pharo Development List pharo-dev@lists.pharo.org Betreff: Re: [Pharo-dev] Adding a new catalog entry 2014-03-16 16:06 GMT+01:00 Sven Van Caekenberghe s...@stfx.eu: Nicolas, On 16 Mar 2014, at 10:08, Sven Van Caekenberghe s...@stfx.eu wrote: To get access your StHub account, if you have any, should be part of the Pharo team, but I don't think I can do that. I now see that 'nice' is part of 'Pharo', so I think you should be able to save to MetaRepoForPharo30. Thanks, I think I messed up when entering my credentials... I have now published with a symbolic stable version. Sven
Re: [Pharo-dev] WhatsUp from: 2014-03-17 until: 2014-03-31
### Here's what I've been up to since the last WhatsUp: - working on new book chapter - better catalog - working on finding money for engineers. ### What's next, until 2014-03-31 (*): - consortium more work. - working on finding money for engineers - unreloader
Re: [Pharo-dev] WhatsUp from: 2014-03-17 until: 2014-03-31
seas...@rmod.lille.inria.fr wrote: Hi! We're sending this automatic email twice a month, to give the community an opportunity to easily know what's happening and to coordinate efforts. Just answer informally, and feel free to spawn discussions thereafter! ### Here's what I've been up to since the last WhatsUp: * Had a dozen or so bug fixes integrated. Surprised myself by how far I could dig into the system and it still made sense. I've learnt a lot about corners of the system I'd normally never poke around in. Its been fun. And this is cool :) ### What's next, until 2014-03-31 (*): Squash more bugs.
Re: [Pharo-dev] pharo sound should be working
did you enable sound in the setting? On 17 Mar 2014, at 20:53, Nicolai Hess nicolaih...@web.de wrote: Still no sound on Ubuntu 12.04 (libasound2 and libasound2-plugins installed). I see the warning on the terminal although libasound2-plugins is installed. 2014-03-17 17:40 GMT+01:00 Esteban Lorenzano esteba...@gmail.com: the ppa is not updated yet… this is a test version. you have to install libasound2i386 and libasound2-plugins:i386. you get the vm with zeroconf: wget -O- get.pharo.org/vmLatest | bash Esteban On 17 Mar 2014, at 16:49, J.F. Rick s...@je77.com wrote: What would I need to do to install it on Ubuntu? Could I just use the PPA? If so, what are the commands? Cheers, Jeff On Mon, Mar 17, 2014 at 3:45 PM, Esteban Lorenzano esteba...@gmail.com wrote: can you check with the latest vm now? btw… you need to install: sudo apt-get install libasound2-plugins:i386 in order to prevent warnings. On 15 Mar 2014, at 00:03, Nicolai Hess nicolaih...@web.de wrote: 2014-03-14 21:43 GMT+01:00 Esteban Lorenzano esteba...@gmail.com: Hi, so I committed some changes to allow soundplugin to work on the pharovm. can you please download and test in your platforms? Works on windows (remember, in linux you need libasound2 dependency installed) it does not work on linux Ubuntu 12.04.2 LTS (I have installed libasound2). Why don't we include the pulse config again and build the vm-sound-pulse module as well? As I described it in the issue 12493, vm-sound-oss is buildable too. But current linux distribution don't provide the older OSS sound system. (it worked for me with ubuntu 10.04 but not with 12.04) cheers, Esteban -- Jochen Jeff Rick, Ph.D. http://www.je77.com/ Skype ID: jochenrick
Re: [Pharo-dev] Image's size in pillar
HI natalia in my chapter I do +Inspecting and interacting with a Dicefile://figures/DiceNoDetail.pdf|width=50|label=figDiceNoDetail+ and it is working. I checked and when I modify the size the picture size changes too. Stef On 16 Mar 2014, at 14:23, Natalia Tymchuk natalia.tymc...@unikernel.net wrote: Hello, I write chapter for PharoForTheEnterprise and I have problems with images. It is said, that I should use the syntax : +Captionfile://image.png|width=50|label=label+ but with changing the value width I didn’t get changes of my images sizes. How can I make my images take half of the page’s width? Best regards, Natalia
Re: [Pharo-dev] Image's size in pillar
ok now I understand you meant in the html output. Probably the exporter does not do it well. In latex it works. On 16 Mar 2014, at 19:51, Natalia Tymchuk natalia.tymc...@unikernel.net wrote: I see this code figureimg src=pictures/AB2.png/imgfigcaptionAB2 example/figcaption/figure in the generated file. And here is no width defined or maybe I didn’t see it. On Mar 16, 2014, at 3:37 PM, Pharo4Stef pharo4s...@free.fr wrote: HI natalia in my chapter I do +Inspecting and interacting with a Dicefile://figures/DiceNoDetail.pdf|width=50|label=figDiceNoDetail+ and it is working. I checked and when I modify the size the picture size changes too. Stef On 16 Mar 2014, at 14:23, Natalia Tymchuk natalia.tymc...@unikernel.net wrote: Hello, I write chapter for PharoForTheEnterprise and I have problems with images. It is said, that I should use the syntax : +Captionfile://image.png|width=50|label=label+ but with changing the value width I didn’t get changes of my images sizes. How can I make my images take half of the page’s width? Best regards, Natalia
Re: [Pharo-dev] method Quest :)
I have to think if the asSet is needed too. In fact I want in addition intersectionAndDifferences: aColl because I want to be able to define nicely merge: aDict onKeyConflictDoValues: aBlock as follow | d d2 | d := #(1 3 4 5 ) groupedBy: #even. d2 := #(10 31 41 50 ) groupedBy: #even. d merge: d2 onKeyConflictDoValues: [ :aValue :anotherValue | (aValue, anotherValue) asSet asOrderedCollection ] Because manipulating dictionaries whose values are collections is boring. Stef On 14 Mar 2014, at 23:15, Sven Van Caekenberghe s...@stfx.eu wrote: Are the final #asArray conversions always needed ? If not, it would be more efficient not to do them every time, no ? On 14 Mar 2014, at 22:19, Pharo4Stef pharo4s...@free.fr wrote: something like that diffs: aCollection Answer the set theoretic differences of two collections. The first element of the result is the difference from the perspective of the receiver and the second element the difference from the perspective of the argument. #(a b c d e f) diffs: #(a b z k) #(#a #b #c #d #e #f) { #(#f #d #e #c) . #(#k #z)} { self difference: aCollection . aCollection difference: self } | receiver another | receiver := self asSet. another := aCollection asSet. self do: [ :each | (another includes: each) ifTrue: [ receiver remove: each. another remove: each ]]. ^ { receiver asArray . another asArray}
Re: [Pharo-dev] method Quest :)
Now I can merge dictionaries in a nice way testMergeWithNonOverlappingKeys self run: #testMerge | d d2 d3 | d := Dictionary new at: #x put: #(x y z) ; at: #y put: #(e f g ) ; at: #a put: #(a b c); yourself. d2 := Dictionary new at: #x put: #(x y z) ; at: #y put: #( h i j) ; yourself. d3 := d merge: d2 onKeyConflictDoValues: [ :aValue :anotherValue | (aValue, anotherValue) asSet asOrderedCollection ]. self assert: (d3 at: #y) equals: #(e f g h i j). self assert: (d3 at: #a) equals: #(a b c ). self assert: (d3 at: #x) equals: #(x y z).
Re: [Pharo-dev] EyeTreeInspector not ready for prime-time
thanks sven. On 13 Mar 2014, at 22:35, Sven Van Caekenberghe s...@stfx.eu wrote: Should I make a slice ? I have grouped all my suggested solutions and then some more in https://pharo.fogbugz.com/f/cases/13076/Optimize-the-information-displayed-by-EyeInspector-and-EyeTreeInspector Sven
Re: [Pharo-dev] FileSystem-Git status update
excellent! Keep pushing. On 14 Mar 2014, at 11:11, Max Leske maxle...@gmail.com wrote: Hi everyone I promised to keep you posted about the progress, so here goes: - Esteban and I worked together yesterday and we got callbacks working - I will now do some cleanup so that its actually possible to work on libgit2 (some bindings have changed between versions 0.18 and 0.20 and I need to find out which) - Esteban and I will sit together again on Monday and prepare work for others / implement the object model on top of libgit2. I hope that we can separate tasks so that multiple people can work in parallel In my opinion we should be able to create local repositories, perform commits, switch branches and do checkouts by tuesday next week. Optimistically, fetch and push should also work by the end of the week. But that’s really just conjecture and I’ll keep you all posted. Just a reminder: at the moment we are working to get Git running with NativeBoost *at all*. Plans for abstraction, Monticello - Git, Github etc. should certainly be discussed, but don’t expect those things to be there at the end of next week. Max
Re: [Pharo-dev] method Quest :)
something like that diffs: aCollection Answer the set theoretic differences of two collections. The first element of the result is the difference from the perspective of the receiver and the second element the difference from the perspective of the argument. #(a b c d e f) diffs: #(a b z k) #(#a #b #c #d #e #f) { #(#f #d #e #c) . #(#k #z)} { self difference: aCollection . aCollection difference: self } | receiver another | receiver := self asSet. another := aCollection asSet. self do: [ :each | (another includes: each) ifTrue: [ receiver remove: each. another remove: each ]]. ^ { receiver asArray . another asArray}
Re: [Pharo-dev] [ANN] Merchant - a credit card processing library
Thanks this is nice to see all these packages getting exposure On 12 Mar 2014, at 22:01, Sebastian Sastre sebast...@flowingconcept.com wrote: Hi there, actually this was announced a long ago, but we moved it to github: https://github.com/sebastianconcept/Merchant Also available in Pharo's ConfigurationOf.. catalog Hourra. It might be useful for other people sebastian o/
[Pharo-dev] method Quest :)
Hi guys I need the following behavior and I started to implement it (but I’m not sure that I implemented in a good way). But may be this method already exist. testDiffs self run: #testDiffs self assert: (#(a b c d e f) diff: #(a b z k)) equals: {#(c d e f) . #(z k)}. Stef
Re: [Pharo-dev] method Quest :)
I was thinking that I could do it in one pass. On Thu, Mar 13, 2014 at 8:52 AM, Pharo4Stef pharo4s...@free.fr wrote: #(a b c d e f) diff: #(a b z k) Use #difference: #(a b c d e f) difference: #(a b z k). == #(#f #d #e #c) #(a b z k) difference: #(a b c d e f) == #(#k #z) -- 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] thumbs up to Pharo3 from Yesplan
Thanks and good holidays Hi everyone, I want to send a thumbs up to everyone working on Pharo, coming from the Yesplan.be team. Over the past few months, we have been working on migrating the development of Yesplan from Pharo1.4 to Pharo3.0 (yes, we did skip Pharo2.0). I have been working in Pharo3 exclusively since January and have seen the tools evolve and improve. Up until last week, my colleagues were still working on Pharo1.4 because we needed to ensure continued development on the product itself. So the application is completely cross-platform Pharo1.4, Pharo3.0 and Gemstone2.4 (verified by 4082 automated tests). My time is limited right now (stress before leaving on a week holiday), but if you are interested, I intend to write up more feedback. There are issues we are trying to investigate ourselves, but obviously we are not time-efficient diving into unknown code. Keep up the good work! Johan