Re: [Pharo-dev] WorkingSession log

2017-07-27 Thread Ben Coman
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 Ducasse 
wrote:

> 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

2017-07-27 Thread Nicolai Hess
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!)]

2017-07-27 Thread Stephane Ducasse
> 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

2017-07-27 Thread p...@highoctane.be
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 Ducasse 
wrote:
>
> 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

2017-07-27 Thread Stephane Ducasse
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] [ANN] Pharo 6.1 (summer) released!

2017-07-27 Thread Hilaire

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!

2017-07-27 Thread Hilaire



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

2017-07-27 Thread Mariano Martinez Peck
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

2017-07-27 Thread Sven Van Caekenberghe
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!

2017-07-27 Thread Tudor Girba
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 Ducasse  wrote:
> 
> 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!

2017-07-27 Thread Serge Stinckwich
On Thu, Jul 27, 2017 at 10:04 AM, Hilaire  wrote:

> 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!

2017-07-27 Thread Hilaire
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

2017-07-27 Thread Juraj Kubelka
Hi,

> El 26-07-2017, a las 20:28, Holger Freyther  escribió:
> 
> 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