David T. Lewis uploaded a new version of Chronology-Core to project The Trunk:
http://source.squeak.org/trunk/Chronology-Core-dtl.2.mcz
==================== Summary ====================
Name: Chronology-Core-dtl.2
Author: dtl
Time: 28 February 2016, 8:24:12.86775 pm
UUID: 0dc832c9-bf4c-4559-a705-c19f44392089
Ancestors: Chronology-Core-dtl.1, Kernel-tfel.1001
Re-save Chronology-Core-dtl.1 with Kernel-tfel.1001 added to ancestry to preserve version history from Kernel package.
=============== Diff against Chronology-Core-dtl.1 ===============
David T. Lewis uploaded a new version of Chronology-Tests to project The Trunk:
http://source.squeak.org/trunk/Chronology-Tests-dtl.2.mcz
==================== Summary ====================
Name: Chronology-Tests-dtl.2
Author: dtl
Time: 28 February 2016, 8:35:52.174374 pm
UUID: 18679fa3-2c25-4043-a7b1-d6dd8ef7dff6
Ancestors: Chronology-Tests-dtl.1, KernelTests-eem.305
Re-save Chronology-Tests-dtl.1 with KernelTests-eem.305 added to ancestry to preserve version history from Kernel package.
=============== Diff against Chronology-Tests-dtl.1 ===============
I experimented with a bouncing atoms kind of system where atoms could
collide and change direction.
I sorted atoms based on vertical position and tested collisions with a
subset based on vertical position.
Then I could keep the collision testing to only a small number of atoms.
Best,
Karl
On Fri, Feb 26, 2016 at 4:05 PM, <commits(a)source.squeak.org> wrote:
> A new version of Collections was added to project The Inbox:
> http://source.squeak.org/inbox/Collections-pre.679.mcz
>
> ==================== Summary ====================
>
> Name: Collections-pre.679
> Author: pre
> Time: 26 February 2016, 4:04:56.205127 pm
> UUID: 2ac5821c-d6f5-418c-ab07-ed3c2b9de62c
> Ancestors: Collections-eem.678
>
> This is a new iteration method which allows the iteration over asymmetric
> pairs. I have found this useful in game collision detections or duplicate
> detections. Alternatively we might want to take a second collection as
> input and create asymmetric pairs from self and this second collection.
>
> =============== Diff against Collections-eem.678 ===============
>
> Item was added:
> + ----- Method: Collection>>asymmetricPairsDo: (in category 'accessing')
> -----
> + asymmetricPairsDo: aBlock
> +
> + | iterationCollection currentElement |
> + iterationCollection := self copy.
> +
> + [currentElement := iterationCollection anyOne.
> + iterationCollection remove: currentElement.
> + iterationCollection isEmpty not]
> + whileTrue: [ iterationCollection
> + do: [:element | aBlock value: currentElement
> value: element]].!
>
>
>
But this already exist, at least for SequenceableCollection, try:
(1 to: 4) combinations: 2 atATimeDo: [:e | Transcript cr; show: e
printString]
2016-02-26 16:05 GMT+01:00 <commits(a)source.squeak.org>:
> A new version of Collections was added to project The Inbox:
> http://source.squeak.org/inbox/Collections-pre.679.mcz
>
> ==================== Summary ====================
>
> Name: Collections-pre.679
> Author: pre
> Time: 26 February 2016, 4:04:56.205127 pm
> UUID: 2ac5821c-d6f5-418c-ab07-ed3c2b9de62c
> Ancestors: Collections-eem.678
>
> This is a new iteration method which allows the iteration over asymmetric
> pairs. I have found this useful in game collision detections or duplicate
> detections. Alternatively we might want to take a second collection as
> input and create asymmetric pairs from self and this second collection.
>
> =============== Diff against Collections-eem.678 ===============
>
> Item was added:
> + ----- Method: Collection>>asymmetricPairsDo: (in category 'accessing')
> -----
> + asymmetricPairsDo: aBlock
> +
> + | iterationCollection currentElement |
> + iterationCollection := self copy.
> +
> + [currentElement := iterationCollection anyOne.
> + iterationCollection remove: currentElement.
> + iterationCollection isEmpty not]
> + whileTrue: [ iterationCollection
> + do: [:element | aBlock value: currentElement
> value: element]].!
>
>
>
Not having done any research on this, I find it quite logical that the
locale does not determine the timezone. Actually, I would assume it to
not determine the language either. My Windows currently runs with the
German locale (number and date formats) but the language is English
(text labels, program names). That is inconsistent, but I find it
convenient -- matter of taste. And if I travelled to some other part
of the world, I would like to adjust the timezone setting to match the
local time, but I would not want to change the language or the
formatting procedures.
Nevertheless it might be desirable to have something like Tim
suggested, "a way to gather up a bunch of preferences", so you could
turn one knob to make the image feel like home for a Chinese user
(Chinese locale and Chinese as a language), for example.
2016-02-26 17:47 GMT+01:00 Chris Muller <asqueaker(a)gmail.com>:
>>> On Tue, Feb 23, 2016 at 03:52:57PM -0800, Bert Freudenberg wrote:
>>>> We do have a preference useLocale that governs whether the Locale plugin should be used. If enabled, the system tries to load translation files on startup. Only Etoys ever shipped with translations, so this fails in a squeak.org image. That???s why the preference was off in all releases.
>>
>> My understanding is that the concept of Locale is supposed to be a nice way to gather up a bunch of preferences (currency symbol & format, number formatting, favourite breakfast item, etc) which seems like a good way to simplify the preferences setting dance.
>>
>> The fact that one part - the language translation files - isn’t supported completely doesn’t seem like it should stop us using the rest. Just handle being unable to load them!
>
> Thank you, yes, Squeak has lots of bugs, but we still use Squeak. However...
>
> --- snip ---
>
>> The general definition of Locale used in software is the Posix standard which doesn’t include the timezone (which I must admit puzzles me a little, but what do I know?)
>
> Wow. I just checked and, you're right. Although Merriam-Webster's
> definition of Locale:
>
> "a place or locality especially when viewed in relation to a
> particular event or characteristic"
>
> would definitely be inclusive of Timezone and DST events, Wikipedia's
> definition explicitly states:
>
> "The locale settings are about formatting output given a locale.
> So, the timezone information and daylight saving time are not usually
> part of the locale settings..."
>
> Again, I say "wow" because, wikipedia's definition is actually
> *further* from Websters definition than the reverse. A lot of people
> speak multiple languages and, therefore, probably deal in multiple
> currency symbols, so currency-symbol is as much a function of WHO as
> it is of WHERE.
>
> But Timezone's and DST events are definitely a function of WHERE. Period.
>
> Okay then. Crazy, but, okay. At least we have some basis, somewhere,
> (wikipedia), for what appeared to me to be a random exclusion from our
> Locale setting...
>
> However, because of your and my surprise, I still will make an update
> to the preference description text to ensure future users are aware
> that TZ is controlled by a separate preference.
>
>> So my suggestion is to have an auto-tz option and ability to set a specific TZ for whatever reason, and to make locales work even when the translation file(s) may be missing.
>
> Agree.
>
We do have a preference useLocale that governs whether the Locale plugin should be used. If enabled, the system tries to load translation files on startup. Only Etoys ever shipped with translations, so this fails in a squeak.org image. That’s why the preference was off in all releases.
That preference also (if someone enabled it in their image) used to set the local time zone on startup. We now have a different mechanism for that, which continuously tracks the system’s time zone across daylight savings and location changes. This can be disabled by “DateAndTime automaticTimezone: false”.
Chris is proposing to enable the useLocale preference, and make the timezone updating dependent on it, instead of having a separate preference for that. This is to support users who may have been setting their locale manually, or used that preference to enable timezone updating, and are not aware of the new preference. The useLocale preference would govern both the automatic time zone setting in DateAndTime and the use of Locale plugin for language setting at startup.
What do you all think?
- Bert -