Re: [Pharo-dev] WorkingSession log
I vaguely remember StrikeFonts being considered for removal once(??) but this seems a good reason to not do that, and eliminate the FreeType stuff for server-side deployment. cheers -ben On Fri, Jul 28, 2017 at 3:14 AM, Stephane Ducassewrote: > This is really interesting. > I would be interested to see why ClassSessionHandler(FreeTypeSettings) > takes 2/3 of the computation. > Without it we would be 100 ms. > > Stef > > On Thu, Jul 27, 2017 at 2:49 PM, Sven Van Caekenberghe > wrote: > > Hi, > > > > I instrumented WorkingSession with a log collection that holds timing > info for each #startUp: executed. In a clean Pharo 6 image, 62 were run. > Most of them resulted in a 0ms execution time (#millisecondsToRun: i.e. > they were faster than 1ms). Here is the list of the non zero ones: > > > > 1ms startup:true a ClassSessionHandler(ProcessorScheduler) > > 1ms startup:true a ClassSessionHandler(OSPlatform) > > 6ms startup:true a ClassSessionHandler(ExternalObject) > > 1ms startup:true a ClassSessionHandler(DiskStore) > > 5ms startup:true a ClassSessionHandler(SmalltalkImage) > > 9ms startup:true a ClassSessionHandler(DisplayScreen) > > 1ms startup:true a ClassSessionHandler(Cursor) > > 41ms startup:true a ClassSessionHandler(FT2Handle) > > 238ms startup:true a ClassSessionHandler(FreeTypeSettings) > > 1ms startup:true a ClassSessionHandler(WorldMorph) > > 14ms startup:true a ClassSessionHandler(OmSessionStore) > > > > For a total of 318ms > > > > I think being able to inspect the WorkingSession and see this list > (ordered, with timing info) would be generally useful (and low cost). Even > headless, we could access the list using eval. > > > > Sven > > > > PS: The code of SessionManager/WorkingSession was very readable, well > done Christophe ! > > > > > > > > > >
[Pharo-dev] iceberg / libgit behind proxy
Anyone got it working to use iceberg /libgit behind a proxy? I can access monticello repositories with the right proxy settings. But using iceberg shows an error about can not access github.org
Re: [Pharo-dev] Improving formatting [was: Big claps for Epicea (small request!)]
> Hi Denis, > you're right, for literal numbers it's been solved in Pharo at least since > 3.0, or maybe even 2.0 (by usage of RB AST I guess). > That's a major improvment over Squeak which is is certainly where I last > encountered the problem. > > Still, formatting does mess line breaking/indenting/commenting in literal > arrays. Yes I would love to have a better heuristics. Now we refactored the prettyprinter so it should be easier to play and enhance it.
Re: [Pharo-dev] WorkingSession log
In my case it once took eons because I had lots of fonts on a machine. It depends if you have the font check enabled or not I guess. But yeah, loading truetype fonts and all glyphs etc take a while I assume. Having this "boot time sequence log" is nice. Clement told me once to do this in a 5.0 WorkingSession>>#runStartup: isImageStarting | c | Smalltalk at: #LOG11 put: OrderedCollection new. c := Smalltalk at: #LOG11. self runList: manager startupList do: [ :each | c add: each -> DateAndTime now. each startup: isImageStarting ]. self executeDeferredStartupActions: isImageStarting then save and start again, and then inspect the LOG11 global. the thing that took time was the FT2 loading. Phil On Thu, Jul 27, 2017 at 9:14 PM, Stephane Ducassewrote: > > This is really interesting. > I would be interested to see why ClassSessionHandler(FreeTypeSettings) > takes 2/3 of the computation. > Without it we would be 100 ms. > > Stef > > On Thu, Jul 27, 2017 at 2:49 PM, Sven Van Caekenberghe wrote: > > Hi, > > > > I instrumented WorkingSession with a log collection that holds timing info for each #startUp: executed. In a clean Pharo 6 image, 62 were run. Most of them resulted in a 0ms execution time (#millisecondsToRun: i.e. they were faster than 1ms). Here is the list of the non zero ones: > > > > 1ms startup:true a ClassSessionHandler(ProcessorScheduler) > > 1ms startup:true a ClassSessionHandler(OSPlatform) > > 6ms startup:true a ClassSessionHandler(ExternalObject) > > 1ms startup:true a ClassSessionHandler(DiskStore) > > 5ms startup:true a ClassSessionHandler(SmalltalkImage) > > 9ms startup:true a ClassSessionHandler(DisplayScreen) > > 1ms startup:true a ClassSessionHandler(Cursor) > > 41ms startup:true a ClassSessionHandler(FT2Handle) > > 238ms startup:true a ClassSessionHandler(FreeTypeSettings) > > 1ms startup:true a ClassSessionHandler(WorldMorph) > > 14ms startup:true a ClassSessionHandler(OmSessionStore) > > > > For a total of 318ms > > > > I think being able to inspect the WorkingSession and see this list (ordered, with timing info) would be generally useful (and low cost). Even headless, we could access the list using eval. > > > > Sven > > > > PS: The code of SessionManager/WorkingSession was very readable, well done Christophe ! > > > > > > > > >
Re: [Pharo-dev] WorkingSession log
This is really interesting. I would be interested to see why ClassSessionHandler(FreeTypeSettings) takes 2/3 of the computation. Without it we would be 100 ms. Stef On Thu, Jul 27, 2017 at 2:49 PM, Sven Van Caekenberghewrote: > Hi, > > I instrumented WorkingSession with a log collection that holds timing info > for each #startUp: executed. In a clean Pharo 6 image, 62 were run. Most of > them resulted in a 0ms execution time (#millisecondsToRun: i.e. they were > faster than 1ms). Here is the list of the non zero ones: > > 1ms startup:true a ClassSessionHandler(ProcessorScheduler) > 1ms startup:true a ClassSessionHandler(OSPlatform) > 6ms startup:true a ClassSessionHandler(ExternalObject) > 1ms startup:true a ClassSessionHandler(DiskStore) > 5ms startup:true a ClassSessionHandler(SmalltalkImage) > 9ms startup:true a ClassSessionHandler(DisplayScreen) > 1ms startup:true a ClassSessionHandler(Cursor) > 41ms startup:true a ClassSessionHandler(FT2Handle) > 238ms startup:true a ClassSessionHandler(FreeTypeSettings) > 1ms startup:true a ClassSessionHandler(WorldMorph) > 14ms startup:true a ClassSessionHandler(OmSessionStore) > > For a total of 318ms > > I think being able to inspect the WorkingSession and see this list (ordered, > with timing info) would be generally useful (and low cost). Even headless, we > could access the list using eval. > > Sven > > PS: The code of SessionManager/WorkingSession was very readable, well done > Christophe ! > > > >
Re: [Pharo-dev] [ANN] Pharo 6.1 (summer) released!
Thanks Nicolai Hilaire Le 26/07/2017 à 17:07, Nicolai Hess a écrit : whatever, put a slice for this case into the inbox SLICE-Issue-20166-wrong-cliprect-on-transformed-athens-canvas-NicolaiHess.1 -- Dr. Geo http://drgeo.eu
Re: [Pharo-dev] [ANN] Pharo 6.1 (summer) released!
Le 26/07/2017 à 16:42, Nicolai Hess a écrit : It is ok if we tell hilaire to not just put bugreports on the ml but create a bug report on fogbugz instead. So people can fix/provide a slice and run the validation. And this is what I do But this happend in this case. It is just that we do not get it right to handle this case because it depens on athens. Indeed -- Dr. Geo http://drgeo.eu
Re: [Pharo-dev] Lots of "UTF8InvalidText: Invalid utf8 input detected" from OMBU
On Wed, Jul 26, 2017 at 6:36 AM, Henrik Sperre Johansen < henrik.s.johan...@veloxit.no> wrote: > There's https://pharo.fogbugz.com/f/cases/20112/, your error could be the > same. > (a multibyte character crossing the initial-guess block boundary) > > As outlined there, the (temp) fix is to put an error handler around the > nextEntryPositionIfFound:ifNone: call in refreshNewBlocksFrom: > > Hi Henry, Thanks for the pointer. I patched my images with your workaround. I will use it for a couple of days and I will later tell if you it seems to fix it or not. Cheers, > Cheers, > Henry > > > > -- > View this message in context: http://forum.world.st/Lots-of- > UTF8InvalidText-Invalid-utf8-input-detected-from-OMBU- > tp4956734p4956805.html > Sent from the Pharo Smalltalk Developers mailing list archive at > Nabble.com. > > -- Mariano http://marianopeck.wordpress.com
[Pharo-dev] WorkingSession log
Hi, I instrumented WorkingSession with a log collection that holds timing info for each #startUp: executed. In a clean Pharo 6 image, 62 were run. Most of them resulted in a 0ms execution time (#millisecondsToRun: i.e. they were faster than 1ms). Here is the list of the non zero ones: 1ms startup:true a ClassSessionHandler(ProcessorScheduler) 1ms startup:true a ClassSessionHandler(OSPlatform) 6ms startup:true a ClassSessionHandler(ExternalObject) 1ms startup:true a ClassSessionHandler(DiskStore) 5ms startup:true a ClassSessionHandler(SmalltalkImage) 9ms startup:true a ClassSessionHandler(DisplayScreen) 1ms startup:true a ClassSessionHandler(Cursor) 41ms startup:true a ClassSessionHandler(FT2Handle) 238ms startup:true a ClassSessionHandler(FreeTypeSettings) 1ms startup:true a ClassSessionHandler(WorldMorph) 14ms startup:true a ClassSessionHandler(OmSessionStore) For a total of 318ms I think being able to inspect the WorkingSession and see this list (ordered, with timing info) would be generally useful (and low cost). Even headless, we could access the list using eval. Sven PS: The code of SessionManager/WorkingSession was very readable, well done Christophe !
Re: [Pharo-dev] [ANN] Pharo 6.1 (summer) released!
Hi, Athens is part of Pharo and the priority is to make it work for Pharo. If there are other users of such a core technology, they should be the ones adapting. @Alex Syrel: could you please take a look at the latest commits from Athens and clarify their state? Cheers, Doru > On Jul 26, 2017, at 9:44 PM, Stephane Ducassewrote: > > Hi Nicolai > > Athens is important for us too. Now none of us in the team has the > experience in Cairo. > Users of Athens usually do not want to invest understanding it either. > > I tried to create the conditions that Igor could stay in the > communautee but it failed > because alone I could not do it. > > Now Athens is what is in Pharo. I have no idea of the rest. > > Stef > > > On Wed, Jul 26, 2017 at 4:42 PM, Nicolai Hess wrote: >> >> >> 2017-07-26 16:25 GMT+02:00 Stephane Ducasse : >>> >>> I imagine that hot-fixes means when we found a serious bug in the >>> alpha version and see that it is also in the previous version. >>> >>> Now Hilaire if you want a change to be integrated in Pharo and Pharo >>> 60 for example. >>> >>> - we should have a bug entry on fogbugz (you see when I read the >>> emails I do not see the bug entry >>> so I have to look for it and lose time - because crawling the bug >>> database is tedious, so this is a lot more efficient to send also bug >>> entries). >>> - we should have a fix. >>> - it should be tagged for Pharo 60. >>> - it should be validated (pass the tests). >>> >>> Each time we introduce a fix, we may break sometimes so we pay really >>> attention to have >>> limited fixes with limited impact. >>> >>> For the ones you mentioned: >>> >>> - I cannot find the PNGReader bug entry. I read all the mails of the >>> thread. >>> So this is not efficient. >>> >>> - https://pharo.fogbugz.com/f/cases/20166/ is there but there is no >>> fix so we will have >> >> >> The problem with fixes for Athens is, that nobody could tell we what the >> current state is. >> >> http://forum.world.st/current-athens-configuration-td4914441.html#a4914488 >> >> the latest changes are from alexej and I guess they are important for sparta >> and the further development for bloc/sparte for pharo 7/8 >> We can not just take the latest version and put it in pharo 6, and hope that >> it will work. >> We need for this external package a good communication about changes and >> versions. >> This did not happen here. And I am not sure if we maybe already put some >> changes in pharo 6, that are not at the athens repository. >> I once considered athens as an important package for the new pharo ui, but >> the way it is handled now looks more like abandoned. >> >> that is the reason why I just put the fix for 20166 in the comment of the >> bug entry instead of providing a slice / or update the version on the >> repository. >> >> >> It is ok if we tell hilaire to not just put bugreports on the ml but create >> a bug report on fogbugz instead. So people can fix/provide a slice and run >> the validation. >> But this happend in this case. It is just that we do not get it right to >> handle this case because it depens on athens. >> >> >>> >>> >>> People are nice and trying to help now everybody has its own agenda >>> and we set these "rules" >>> to avoid that we all lose time. If you want that people help you then >>> try to adhere to such best >>> practices. >>> >>> Follow the Pharo process. >>> >>> Stef. >>> >>> >>> On Tue, Jul 25, 2017 at 6:01 PM, Hilaire wrote: Hi, It is the other minor bugs fixes details which were missing. What is hot-fixes? Hilaire -- Dr. Geo http://drgeo.eu >>> >> > -- www.tudorgirba.com www.feenk.com “Live like you mean it."
Re: [Pharo-dev] [ANN] Pharo 6.1 (summer) released!
On Thu, Jul 27, 2017 at 10:04 AM, Hilairewrote: > If you read carefully what I wrote, I was wondering what were these small > bugs fixes... and if P6.1 would be helpful for the drgeo problems: a list > of bugs with links to the bug tracker will have been enough. > > I guess this will easier for Pharo 7. We can group PR with milestones on github in order to built nice list when release new version. I guess something similar could be done on fogbugz. > Hilaire > > > Le 26/07/2017 à 16:25, Stephane Ducasse a écrit : > >> People are nice and trying to help now everybody has its own agenda >> and we set these "rules" >> > > -- > Dr. Geo > http://drgeo.eu > > > > -- Serge Stinckwich UCN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/
Re: [Pharo-dev] [ANN] Pharo 6.1 (summer) released!
If you read carefully what I wrote, I was wondering what were these small bugs fixes... and if P6.1 would be helpful for the drgeo problems: a list of bugs with links to the bug tracker will have been enough. Hilaire Le 26/07/2017 à 16:25, Stephane Ducasse a écrit : People are nice and trying to help now everybody has its own agenda and we set these "rules" -- Dr. Geo http://drgeo.eu
Re: [Pharo-dev] GTInspector and sorting in dictionaries
Hi, > El 26-07-2017, a las 20:28, Holger Freytherescribió: > > Hey, > > I have a simple dictionary with class as the key and a number as value. In > the inspector I try to sort it by the value. But it is doing an alphabetical > sort and not numerical? By default, Glamour framework sorts string representations of displayed data. > > I can change Dictionary>>#gtInspectorItemsIn: to pass a sortedBy: block when > adding the value column but is "<" a general usable protocol? How would one > specialize the sort depending on the data in the dictionary? You cannot send #< message to any object, e.g. Object new < Object new. I think it would be necessary to introduce a new method to Object (or ProtoObject) to deal with your scenario in a polymorphic way. > > Any ideas how to get numbers sorted intuitively without adding too much magic > (trying to convert the string representation back to a number, custom > GTTablePresentation, using "a value < b value" and use the string > representation if that fails..)? If I need a customized Inspector views, I usually subclass a collection class. In your case, it would be: Dictionary subclass: NumberKeyedDictionary … or something like that … then you can change Glamour presentations (GTInspector extensions). > > cheers > holger Cheers, Juraj