I read it, it tells me _what_ it is; a different internal
representation for the Chronology classes, but I could not put together the why, as a user, I should want to use it. This is not a criticism, Dave, just ignorance. What's are the pros and cons of UTCDateAndTime approach? On Thu, Feb 18, 2016 at 10:51 AM, David T. Lewis <[hidden email]> wrote: > Hi Chris, > > This was something I did last year: > > http://wiki.squeak.org/squeak/6197 > > I would like to be able to share this so folks can review the code. I'd > prefer to be able to do that with Monticello, which is not practical with > the current package structure. > > Dave > >> On Wed, Feb 17, 2016 at 7:33 PM, David T. Lewis <[hidden email]> >> wrote: >>> I would like to move Chronology from 'Kernel-Chronology' to a new >>> package >>> called 'Chronology', and move 'KernelTests-Chronology' to a new package >>> called 'Tests-Chronology'. >>> >>> Rationale: >>> >>> - Chronology is a large package that is functionally separable from the >>> rest of the things in Kernel. >> >> It's not that big. It includes Date and Time, which are part of base >> Smalltalk-80. How you going to extricate those from Chronology? >> >>> - I have a UTC based variation of Chronology that addresses a number of >>> issues that I think may be of long term benefit, and that prevent the >>> kinds >>> of issues that we are currently seeing in trunk. I would like to offer >>> this >>> for review in the inbox, but that is not practical with the current >>> packaging. >> >> Chronology has proved its usefulness in a wide variety of >> applications. I have no issues with it. What issues are you >> attempting to address with your UTC based variation? >> >>> Would anyone object to this change to package structure? >> >> I really think Date and Time and possibly even DateAndTime are part of >> Kernel Smalltalk-80. I think it would be nice to know what it is >> you're really trying to accomplish with your UTC variation.. >> >> Incidentally, if you do go down this road, the standard that most >> packages following these days are hierarchical names; Chronology-Core >> and Chronology-Tests. >> > > |
I guess it has been nearly two years since I did that project. Time flies.
We discussed it on the list in thread "A UTC based implementation of DateAndTime": http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-May/178325.html But I'm not asking you to review that project, I just wanted to suggest giving Chronology its own package so that it would be possible to do things like this. For my purposes, I can always use a SAR. But it would be a lot nicer to be able to use Monticello. Dave > I read it, it tells me _what_ it is; a different internal > representation for the Chronology classes, but I could not put > together the why, as a user, I should want to use it. This is not a > criticism, Dave, just ignorance. What's are the pros and cons of > UTCDateAndTime approach? > > On Thu, Feb 18, 2016 at 10:51 AM, David T. Lewis <[hidden email]> > wrote: >> Hi Chris, >> >> This was something I did last year: >> >> http://wiki.squeak.org/squeak/6197 >> >> I would like to be able to share this so folks can review the code. I'd >> prefer to be able to do that with Monticello, which is not practical >> with >> the current package structure. >> >> Dave >> >>> On Wed, Feb 17, 2016 at 7:33 PM, David T. Lewis <[hidden email]> >>> wrote: >>>> I would like to move Chronology from 'Kernel-Chronology' to a new >>>> package >>>> called 'Chronology', and move 'KernelTests-Chronology' to a new >>>> package >>>> called 'Tests-Chronology'. >>>> >>>> Rationale: >>>> >>>> - Chronology is a large package that is functionally separable from >>>> the >>>> rest of the things in Kernel. >>> >>> It's not that big. It includes Date and Time, which are part of base >>> Smalltalk-80. How you going to extricate those from Chronology? >>> >>>> - I have a UTC based variation of Chronology that addresses a number >>>> of >>>> issues that I think may be of long term benefit, and that prevent the >>>> kinds >>>> of issues that we are currently seeing in trunk. I would like to offer >>>> this >>>> for review in the inbox, but that is not practical with the current >>>> packaging. >>> >>> Chronology has proved its usefulness in a wide variety of >>> applications. I have no issues with it. What issues are you >>> attempting to address with your UTC based variation? >>> >>>> Would anyone object to this change to package structure? >>> >>> I really think Date and Time and possibly even DateAndTime are part of >>> Kernel Smalltalk-80. I think it would be nice to know what it is >>> you're really trying to accomplish with your UTC variation.. >>> >>> Incidentally, if you do go down this road, the standard that most >>> packages following these days are hierarchical names; Chronology-Core >>> and Chronology-Tests. >>> >> >> > |
I have no problem if you want move Chronology classes to their own
package (but please do use the "-Core" and "-Tests" suffixes so we don't suffer the prefix selection problem). I'll be curious whether you choose to move Date and Time too.. I'm a heavy user of Chronology, if there's a better version of it, I'm definitely interested in possibly using it. I remember that thread; it helped us identify and fix a performance bug in standard Chronology. On Thu, Feb 18, 2016 at 11:30 AM, David T. Lewis <[hidden email]> wrote: > I guess it has been nearly two years since I did that project. Time flies. > > We discussed it on the list in thread "A UTC based implementation of > DateAndTime": > > http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-May/178325.html > > But I'm not asking you to review that project, I just wanted to suggest > giving Chronology its own package so that it would be possible to do > things like this. For my purposes, I can always use a SAR. But it would be > a lot nicer to be able to use Monticello. > > Dave > > >> I read it, it tells me _what_ it is; a different internal >> representation for the Chronology classes, but I could not put >> together the why, as a user, I should want to use it. This is not a >> criticism, Dave, just ignorance. What's are the pros and cons of >> UTCDateAndTime approach? >> >> On Thu, Feb 18, 2016 at 10:51 AM, David T. Lewis <[hidden email]> >> wrote: >>> Hi Chris, >>> >>> This was something I did last year: >>> >>> http://wiki.squeak.org/squeak/6197 >>> >>> I would like to be able to share this so folks can review the code. I'd >>> prefer to be able to do that with Monticello, which is not practical >>> with >>> the current package structure. >>> >>> Dave >>> >>>> On Wed, Feb 17, 2016 at 7:33 PM, David T. Lewis <[hidden email]> >>>> wrote: >>>>> I would like to move Chronology from 'Kernel-Chronology' to a new >>>>> package >>>>> called 'Chronology', and move 'KernelTests-Chronology' to a new >>>>> package >>>>> called 'Tests-Chronology'. >>>>> >>>>> Rationale: >>>>> >>>>> - Chronology is a large package that is functionally separable from >>>>> the >>>>> rest of the things in Kernel. >>>> >>>> It's not that big. It includes Date and Time, which are part of base >>>> Smalltalk-80. How you going to extricate those from Chronology? >>>> >>>>> - I have a UTC based variation of Chronology that addresses a number >>>>> of >>>>> issues that I think may be of long term benefit, and that prevent the >>>>> kinds >>>>> of issues that we are currently seeing in trunk. I would like to offer >>>>> this >>>>> for review in the inbox, but that is not practical with the current >>>>> packaging. >>>> >>>> Chronology has proved its usefulness in a wide variety of >>>> applications. I have no issues with it. What issues are you >>>> attempting to address with your UTC based variation? >>>> >>>>> Would anyone object to this change to package structure? >>>> >>>> I really think Date and Time and possibly even DateAndTime are part of >>>> Kernel Smalltalk-80. I think it would be nice to know what it is >>>> you're really trying to accomplish with your UTC variation.. >>>> >>>> Incidentally, if you do go down this road, the standard that most >>>> packages following these days are hierarchical names; Chronology-Core >>>> and Chronology-Tests. >>>> >>> >>> >> > > |
In reply to this post by David T. Lewis
On 18.02.2016, at 09:30, David T. Lewis <[hidden email]> wrote:
> > I guess it has been nearly two years since I did that project. Time flies. > > We discussed it on the list in thread "A UTC based implementation of > DateAndTime": > > http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-May/178325.html > > But I'm not asking you to review that project, I just wanted to suggest > giving Chronology its own package so that it would be possible to do > things like this. For my purposes, I can always use a SAR. But it would be > a lot nicer to be able to use Monticello. - Bert - smime.p7s (5K) Download Attachment |
> On 18.02.2016, at 09:30, David T. Lewis <[hidden email]> wrote:
>> >> I guess it has been nearly two years since I did that project. Time >> flies. >> >> We discussed it on the list in thread "A UTC based implementation of >> DateAndTime": >> >> http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-May/178325.html >> >> But I'm not asking you to review that project, I just wanted to suggest >> giving Chronology its own package so that it would be possible to do >> things like this. For my purposes, I can always use a SAR. But it would >> be >> a lot nicer to be able to use Monticello. > > Why wouldn’t it work to submit a new Kernel package to inbox? Migration > issue? > Yes, migration issues. The updates have to be done in steps, with old instances becomed into new at two points in the update process (in package preambles or postscripts). I can make it work at any given point, but a month later Kernel will have progressed, and I have to start over again. Dave |
> On 18.02.2016, at 11:18, David T. Lewis <[hidden email]> wrote: > >> On 18.02.2016, at 09:30, David T. Lewis <[hidden email]> wrote: >>> >>> I guess it has been nearly two years since I did that project. Time >>> flies. >>> >>> We discussed it on the list in thread "A UTC based implementation of >>> DateAndTime": >>> >>> http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-May/178325.html >>> >>> But I'm not asking you to review that project, I just wanted to suggest >>> giving Chronology its own package so that it would be possible to do >>> things like this. For my purposes, I can always use a SAR. But it would >>> be >>> a lot nicer to be able to use Monticello. >> >> Why wouldn’t it work to submit a new Kernel package to inbox? Migration >> issue? >> > > Yes, migration issues. The updates have to be done in steps, with old > instances becomed into new at two points in the update process (in package > preambles or postscripts). I can make it work at any given point, but a > month later Kernel will have progressed, and I have to start over again. > > Dave - Bert - smime.p7s (5K) Download Attachment |
In reply to this post by marcel.taeumel
Hi Marcel,
On Thu, Feb 18, 2016 at 12:07 AM, marcel.taeumel <[hidden email]> wrote: Hi, there! By my having coded time management in the Windows VM wrong? Look at sqWin32Heartbeat.c. This all needs rewriting anyway given the discussion on monotonic vs wall time.  I'd like to have one copy of the code that computes the VM's notion of time, perhaps written in Smalltalk, and place that above platform-specific code that answers the monotonic and wall clocks. But what should the VM do if it is faced with a huge jump in the time? Let's say that for testing you set the clock on your machine to 1970, then you started Smalltalk, and then you enabled syncing with the time server and the clock jumped forward to 2016. One could have the VM try to compensate but I think the best thing is to say "don't do that" and require teh user to restart their image. It's reasonable for the VM to maintain a clock that undergoes ntpd-like adjustments. It's complicated to have the VM try and distinguish small ntpd-like adjustments form huge adjustments in the clock. And keeping it simple seems like the best solution.
_,,,^..^,,,_ best, Eliot |
Why can’t we simply decouple the low-precision wall-clock from the high-precision monotonic clock used for timing? Marcel’s use case isn’t that unusual. I put my machine to sleep with images open all the time. That should work without having to restart the image. - Bert -
smime.p7s (5K) Download Attachment |
In reply to this post by Bert Freudenberg
We all know there are are many use-cases, and a couple of ways to
interpret things with TimeZones. Maybe we need to add a clarifying comment somewhere. Just because you think about things a particular way does not make the other ways "horrible" or not "sane". All this hyperbole does not help anyone understand what you think is wrong with Chronology. I'm certainly not going to let it be the basis for breaking legacy apps which have been working for years. Let's talk. I really didn't want to open this can of worms, but if we have to, we have to. On Thu, Feb 18, 2016 at 1:45 PM, Bert Freudenberg <[hidden email]> wrote: > >> On 18.02.2016, at 11:18, David T. Lewis <[hidden email]> wrote: >> >>> On 18.02.2016, at 09:30, David T. Lewis <[hidden email]> wrote: >>>> >>>> I guess it has been nearly two years since I did that project. Time >>>> flies. >>>> >>>> We discussed it on the list in thread "A UTC based implementation of >>>> DateAndTime": >>>> >>>> http://lists.squeakfoundation.org/pipermail/squeak-dev/2014-May/178325.html >>>> >>>> But I'm not asking you to review that project, I just wanted to suggest >>>> giving Chronology its own package so that it would be possible to do >>>> things like this. For my purposes, I can always use a SAR. But it would >>>> be >>>> a lot nicer to be able to use Monticello. >>> >>> Why wouldn’t it work to submit a new Kernel package to inbox? Migration >>> issue? >>> >> >> Yes, migration issues. The updates have to be done in steps, with old >> instances becomed into new at two points in the update process (in package >> preambles or postscripts). I can make it work at any given point, but a >> month later Kernel will have progressed, and I have to start over again. >> >> Dave > > Okay. If this is a chance to get more sane date/time handling, I’m all for it :) > > - Bert - > > > > > > |
In reply to this post by Bert Freudenberg
On Thu, Feb 18, 2016 at 12:49 PM, Bert Freudenberg <[hidden email]> wrote:
I think we must be talking about two different things. The utc coming into the VM either changes by small ammounts (via ntp) or by huge ammounts (programmer intervention). The VM can easily maintain a clock that copes with small changes to the value of utc by allowing its time, derived from the machine's monotonic time, to drift towards utc at no more than a given percentage of monotonic time. If this algorithm is used (it has the nice properties that we only need one clock for all services and that clock is acceptably accurate for measuring durations) it can't ever catch up with huge differences in teh value of utc, as would be caused by e.g. setting the system clock to 1970/1/1, starting Smalltalk and setting the time to 2016/2/18. But that's a completely different notion to saving the image and restarting it aeons later. utc will have changed bu a huge ammount but the VM will start from the value of utc when it starts up, and has nothing to do with the time when the image was saved. So I don't undersand hat you're getting at. But for me I very much want to have *one clock* in tghe VM. That's an advantage of using a utc microsecond clock. All other clocks of lesser resolution can be derived from it. If you look at the situation before with a separate second clock and millisecond clock you saw absurdities like the image spin looping for up to a second (half a second on average) just to find out what the value of the millisecond clock is when the second clock ticks. Tis is absurd both because a) it wastes up to half a second on startup, a disaster in e.g. a container farm scenario and b) because it assumes that the second clock and millisecond clock are synchronised, which they aren't, so in a day or so the two will have drifted so much that timestamps will be inaccurate.
_,,,^..^,,,_ best, Eliot |
On 18.02.2016, at 15:16, Eliot Miranda <[hidden email]> wrote:
I thought there were two clocks. Okay. Still, the VM should still jump the UTC clock forward if it was suspended. Backward jumps may be artificial and don’t necessarily have to be supported, but putting my machine to sleep and expecting the image to continue gracefully after wakeup seems reasonable, right?
- Bert -
smime.p7s (5K) Download Attachment |
In reply to this post by Chris Muller-4
On Thu, Feb 18, 2016 at 11:54:44AM -0600, Chris Muller wrote:
> I have no problem if you want move Chronology classes to their own > package (but please do use the "-Core" and "-Tests" suffixes so we > don't suffer the prefix selection problem). > So it should be this: Chronology-Core Chronology-Tests Instead of this: Chronology ChronologyTests Is that right? > I'll be curious whether > you choose to move Date and Time too.. Yes. I mean that everything that was in 'Kernel-Chronology' will now be in 'Chronology' or 'Chronology-Core'. Dave |
> Yes. I mean that everything that was in 'Kernel-Chronology' will now
> be in 'Chronology' or 'Chronology-Core'. So we will not be able to make a kernel image that does not include some flavor of Chronology then... On Thu, Feb 18, 2016 at 11:59 PM, David T. Lewis <[hidden email]> wrote: > On Thu, Feb 18, 2016 at 11:54:44AM -0600, Chris Muller wrote: >> I have no problem if you want move Chronology classes to their own >> package (but please do use the "-Core" and "-Tests" suffixes so we >> don't suffer the prefix selection problem). >> > > So it should be this: > > Chronology-Core > Chronology-Tests > > Instead of this: > > Chronology > ChronologyTests > > Is that right? > >> I'll be curious whether >> you choose to move Date and Time too.. > > Yes. I mean that everything that was in 'Kernel-Chronology' will now > be in 'Chronology' or 'Chronology-Core'. > > Dave > > |
In reply to this post by Chris Muller-4
On Thu, Feb 18, 2016 at 11:54:44AM -0600, Chris Muller wrote:
> I have no problem if you want move Chronology classes to their own > package (but please do use the "-Core" and "-Tests" suffixes so we > don't suffer the prefix selection problem). I'll be curious whether > you choose to move Date and Time too.. > I need some guidance on package naming. We have packages named 'Kernel' and 'KernelTests', 'Morphic' and 'MorphicTests', and 'Collections' and 'CollectionsTests'. Based on this, I would expect that 'Chronology' and 'ChronologyTests' would be good package names. Is that right? Or should it instead be 'Chronology-Core' and 'Chronology-Tests'? Thanks, Dave |
On Sat, Feb 20, 2016 at 7:35 PM, David T. Lewis <[hidden email]> wrote:
> On Thu, Feb 18, 2016 at 11:54:44AM -0600, Chris Muller wrote: >> I have no problem if you want move Chronology classes to their own >> package (but please do use the "-Core" and "-Tests" suffixes so we >> don't suffer the prefix selection problem). I'll be curious whether >> you choose to move Date and Time too.. >> > > I need some guidance on package naming. > > We have packages named 'Kernel' and 'KernelTests', 'Morphic' and > 'MorphicTests', and 'Collections' and 'CollectionsTests'. Based on > this, I would expect that 'Chronology' and 'ChronologyTests' would > be good package names. > > Is that right? Or should it instead be 'Chronology-Core' and > 'Chronology-Tests'? Note we also have packages named Regex-Core, Regex-Tests, SqueakSSL-Core, SqueakSSL-Tests, WebClient-Core, WebClient-Tests, which were (formerly) external packages. You want to make Chronology more like an external package, so it can be swapped out more easily. "-Core" brings a clarity to the core unit's modular boundary, while being consistent with the number of levels in each package name that comprises that system. |
On 21.02.2016, at 10:36, Chris Muller <[hidden email]> wrote:
> > On Sat, Feb 20, 2016 at 7:35 PM, David T. Lewis <[hidden email]> wrote: >> On Thu, Feb 18, 2016 at 11:54:44AM -0600, Chris Muller wrote: >>> I have no problem if you want move Chronology classes to their own >>> package (but please do use the "-Core" and "-Tests" suffixes so we >>> don't suffer the prefix selection problem). I'll be curious whether >>> you choose to move Date and Time too.. >>> >> >> I need some guidance on package naming. >> >> We have packages named 'Kernel' and 'KernelTests', 'Morphic' and >> 'MorphicTests', and 'Collections' and 'CollectionsTests'. Based on >> this, I would expect that 'Chronology' and 'ChronologyTests' would >> be good package names. >> >> Is that right? Or should it instead be 'Chronology-Core' and >> 'Chronology-Tests'? > > Note we also have packages named Regex-Core, Regex-Tests, > SqueakSSL-Core, SqueakSSL-Tests, WebClient-Core, WebClient-Tests, > which were (formerly) external packages. You want to make Chronology > more like an external package, so it can be swapped out more easily. > > "-Core" brings a clarity to the core unit's modular boundary, while > being consistent with the number of levels in each package name that > comprises that system. - Bert - smime.p7s (5K) Download Attachment |
On Mon, Feb 22, 2016 at 02:38:43PM -0800, Bert Freudenberg wrote:
> On 21.02.2016, at 10:36, Chris Muller <[hidden email]> wrote: > > > > On Sat, Feb 20, 2016 at 7:35 PM, David T. Lewis <[hidden email]> wrote: > >> On Thu, Feb 18, 2016 at 11:54:44AM -0600, Chris Muller wrote: > >>> I have no problem if you want move Chronology classes to their own > >>> package (but please do use the "-Core" and "-Tests" suffixes so we > >>> don't suffer the prefix selection problem). I'll be curious whether > >>> you choose to move Date and Time too.. > >>> > >> > >> I need some guidance on package naming. > >> > >> We have packages named 'Kernel' and 'KernelTests', 'Morphic' and > >> 'MorphicTests', and 'Collections' and 'CollectionsTests'. Based on > >> this, I would expect that 'Chronology' and 'ChronologyTests' would > >> be good package names. > >> > >> Is that right? Or should it instead be 'Chronology-Core' and > >> 'Chronology-Tests'? > > > > Note we also have packages named Regex-Core, Regex-Tests, > > SqueakSSL-Core, SqueakSSL-Tests, WebClient-Core, WebClient-Tests, > > which were (formerly) external packages. You want to make Chronology > > more like an external package, so it can be swapped out more easily. > > > > "-Core" brings a clarity to the core unit's modular boundary, while > > being consistent with the number of levels in each package name that > > comprises that system. > > Agree with Chris. > > - Bert - > I am not seeing the update notices on the mailing list, but I just did the move of Kernel-Chronology to Chronology-Core and KernelTests-Chronology to Chronology-Tests, with update-dtl.349.mcm to add the new packages. All seems well and I can update an earlier image from the stream. Dave |
For some reason the mails have only arrived to the packages list:
http://lists.squeakfoundation.org/pipermail/packages/2016-February/date.html Levente On Sat, 27 Feb 2016, David T. Lewis wrote: > On Mon, Feb 22, 2016 at 02:38:43PM -0800, Bert Freudenberg wrote: >> On 21.02.2016, at 10:36, Chris Muller <[hidden email]> wrote: >>> >>> On Sat, Feb 20, 2016 at 7:35 PM, David T. Lewis <[hidden email]> wrote: >>>> On Thu, Feb 18, 2016 at 11:54:44AM -0600, Chris Muller wrote: >>>>> I have no problem if you want move Chronology classes to their own >>>>> package (but please do use the "-Core" and "-Tests" suffixes so we >>>>> don't suffer the prefix selection problem). I'll be curious whether >>>>> you choose to move Date and Time too.. >>>>> >>>> >>>> I need some guidance on package naming. >>>> >>>> We have packages named 'Kernel' and 'KernelTests', 'Morphic' and >>>> 'MorphicTests', and 'Collections' and 'CollectionsTests'. Based on >>>> this, I would expect that 'Chronology' and 'ChronologyTests' would >>>> be good package names. >>>> >>>> Is that right? Or should it instead be 'Chronology-Core' and >>>> 'Chronology-Tests'? >>> >>> Note we also have packages named Regex-Core, Regex-Tests, >>> SqueakSSL-Core, SqueakSSL-Tests, WebClient-Core, WebClient-Tests, >>> which were (formerly) external packages. You want to make Chronology >>> more like an external package, so it can be swapped out more easily. >>> >>> "-Core" brings a clarity to the core unit's modular boundary, while >>> being consistent with the number of levels in each package name that >>> comprises that system. >> >> Agree with Chris. >> >> - Bert - >> > > I am not seeing the update notices on the mailing list, but I just did > the move of Kernel-Chronology to Chronology-Core and KernelTests-Chronology > to Chronology-Tests, with update-dtl.349.mcm to add the new packages. All > seems well and I can update an earlier image from the stream. > > Dave > > > |
Free forum by Nabble | Edit this page |