Re: [calsify] SKIP was Re: AD review of draft-ietf-calext-rscale-03

Marten Gajda <marten@dmfs.org> Wed, 04 February 2015 13:17 UTC

Return-Path: <marten.gajda@googlemail.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 577111A87EB for <calsify@ietfa.amsl.com>; Wed, 4 Feb 2015 05:17:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.501
X-Spam-Level:
X-Spam-Status: No, score=0.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, J_CHICKENPOX_44=0.6, J_CHICKENPOX_47=0.6, J_CHICKENPOX_48=0.6, J_CHICKENPOX_52=0.6, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4Llrk82WiD4T for <calsify@ietfa.amsl.com>; Wed, 4 Feb 2015 05:17:11 -0800 (PST)
Received: from mail-we0-x22b.google.com (mail-we0-x22b.google.com [IPv6:2a00:1450:400c:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 87B7D1A00E4 for <calsify@ietf.org>; Wed, 4 Feb 2015 05:17:10 -0800 (PST)
Received: by mail-we0-f171.google.com with SMTP id k11so1713421wes.2 for <calsify@ietf.org>; Wed, 04 Feb 2015 05:17:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type; bh=/sqI3pPkQxI9vQcKHOY8lKguWfj48dnZ2u6UPnY//5o=; b=0u4vh2Ctlioi48prwymqOUzNEyMhaJmB9lRR5zT6c/TorvAPx9m+pSo3X1TeLkdz6H /CVTll87IDyHCH2ggc3RlwOv0/5aQrNlIzPOPAgI+8b7z9gaUFuJyZ62SUFqzDu5b6Wo tKz6YZAgV9f/ozx8GEtG3rJdmrZ94a75REHay1UOYAj6FtMJECVDyst7+j3wIXMrm6lZ qBj29InuhPkYaF3kT3cdThRcMLGthwludZurqvo9E1JtnkPhga+HUn+shCP8zNcNAgB9 /PmZi+/XA/0iV3B/b/jT/kxmNAshKkvnyPPJsTc8k2/BmkV+knHvSLIpgaig0zHrYgJ4 f5/w==
X-Received: by 10.194.85.233 with SMTP id k9mr20441354wjz.106.1423055829253; Wed, 04 Feb 2015 05:17:09 -0800 (PST)
Received: from smtp.dmfs.org (p4FF0E020.dip0.t-ipconnect.de. [79.240.224.32]) by mx.google.com with ESMTPSA id li7sm29241126wic.4.2015.02.04.05.17.05 (version=TLSv1 cipher=RC4-SHA bits=128/128); Wed, 04 Feb 2015 05:17:06 -0800 (PST)
Sender: Marten Gajda <marten.gajda@googlemail.com>
Received: from localhost.localdomain (linux.fritz.box [192.168.2.53]) by smtp.dmfs.org (Postfix) with ESMTPSA id 5A34136B; Wed, 4 Feb 2015 14:17:04 +0100 (CET)
Message-ID: <54D21BD0.7070006@dmfs.org>
Date: Wed, 04 Feb 2015 14:17:04 +0100
From: Marten Gajda <marten@dmfs.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Gregory Yakushev <yakushev@google.com>, Cyrus Daboo <cyrus@daboo.name>, Ken Murchison <murch@andrew.cmu.edu>, calsify@ietf.org
References: <68FCD7D11F934509267D5915@cyrus.local> <CALaySJKQP9WjRQV2qrgfLiGwj-SQAUCF6RVcQuRrUYNpfqp17A@mail.gmail.com> <7FF77F2FE3390FFD1149E953@cyrus.local> <CALaySJK3RiXXHTq9MC4nwA4c_gZzEVDoWa96MDc7Ue4yDRgbWA@mail.gmail.com> <C80A141CD062EFF630B6D2BB@caldav.corp.apple.com> <54D0E2E9.2030505@andrew.cmu.edu> <99B9DDB4AEFC12755724C5DD@caldav.corp.apple.com> <54D107AC.3050706@andrew.cmu.edu> <2D953326EFEE238B1CCF867E@caldav.corp.apple.com> <54D10C50.20909@andrew.cmu.edu> <54D10FDB.6070001@andrew.cmu.edu> <54D12AAC.7000202@dmfs.org> <54D12E31.4020506@andrew.cmu.edu> <55A07C99191DC58DAAA160D5@caldav.corp.apple.com> <54D1368F.2000501@dmfs.org> <6BD446FBAB897BCD227A82F1@caldav.corp.apple.com> <54D14289.90201@dmfs.org> <CAJxDCqVKd6QNCeYPGF39=KeWVRk8Mc=khOnfbhrPBzc0vvAHEw@mail.gmail.com>
In-Reply-To: <CAJxDCqVKd6QNCeYPGF39=KeWVRk8Mc=khOnfbhrPBzc0vvAHEw@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------040000080202090801090405"
Archived-At: <http://mailarchive.ietf.org/arch/msg/calsify/Q78KoFkSl21RrscF2oOMneF2v8I>
Subject: Re: [calsify] SKIP was Re: AD review of draft-ietf-calext-rscale-03
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Feb 2015 13:17:19 -0000

Am 04.02.2015 um 12:26 schrieb Gregory Yakushev:
> Quite a discussion here, let me try to catch up.
>
> As for 
> FREQ=YEARLY;RSCALE=HEBREW;MONTHLY=5L;BYDAY=MO,TU,WE,TH,FR,SA,SU;SKIP=FORWARD 
> case, its clearly artificial and doesn't represent any real-world 
> usecase, so there's no preference for our users on how to handle it.
That's true, but it's probably easy to generate a real world example 
where the execution order of SKIP and BYxxx rules matters.

The question is, do we want BYDAY and BYMONTHDAY expansion to be 
executed on the days of the skipped leap month or on the days of the 
actual month?

The more I think about this, the more I like the idea to apply SKIP 
right after BYMONTH when skipping a leap month. When you expand BYDAY=SU 
for a leap month you probably want to expand all Sundays in the 
following (or preceding) month when the year is not a leap year. The 
number of Sundays you expand for the skipped month might be different 
from the number of Sundays in the next or previous month. Also when 
rolling a day backwards to the previous month, a Sunday would fall on a 
different weekday (unless the number of days in that month is a multiple 
of 7).

>
> As was cleared above, SKIP behavior is clear for all Calendars except 
> Hebrew, and for all except Hebrew people will use SKIP=BACKWARD for 
> most usecases.
>
> It is important to clear the Hebrew case, but lets keep in mind this 
> we are talking about a very narrow usecase for a relatively small 
> number of users. It will be unfair to complicate life for billions of 
> Chinese or Hindu users to make Hebrew case perfectly right.
I think the user shouldn't notice any difference. It's the developers 
that have to get this right. Setting the default to SKIP=OMIT sounds 
like the best solution to me. It doesn't prefer any specific calendar 
and it doesn't change the semantics of existing rule when you add 
RSCALE=GREGORIAN but no SKIP.

Marten

>
> Do I understand correctly that current draft allows to specify an 
> RRULE for all Hebrew cases, even though it looks ugly for Adar I 30th?
>
> Grisha
>
>
> On Tue Feb 03 2015 at 10:50:15 PM Marten Gajda <marten@dmfs.org 
> <mailto:marten@dmfs.org>> wrote:
>
>
>     Am 03.02.2015 um 22:04 schrieb Cyrus Daboo:
>>     I think Ken's idea is that you apply the SKIP after BYMONTH only
>>     if the invalid data corresponds to an invalid leap month as
>>     opposed to a leap day. In which case the SKIP would not have
>>     applied after BYMONTH in your example. But I think a behavior
>>     like that is going to be really tricky for implementors to get
>>     right and hard to describe really well without having to delve
>>     into the gory details of RRULE processing.
>>
>     Ah, got it.
>
>     So, considering the following
>
>     Applying SKIP=FORWARD after BYDAY on the following rule
>
>     FREQ=YEARLY;RSCALE=HEBREW;MONTHLY=5L;BYDAY=MO,TU,WE,TH,FR,SA,SU;SKIP=FORWARD
>
>     results in 30 instances in leap years and in non-leap years, since
>     it would expand the week days in Adar I and roll them forward
>     afterwards
>
>     Applying SKIP=FORWARD after BYMONTH but before BYDAY results in 30
>     instances in leap years, but 29 instances in non-leap years, since
>     the weekdays would be expanded for Adar instead of Adar I.
>
>     It's similar when the month following the leap month has more days
>     than the leap month itself.
>
>     In essence, applying SKIP after all BYxxx parts won't change the
>     number of instances (given they don't fall on another instance),
>     but Ken's approach might do that.
>
>     Not sure what's preferable in this case.
>
>
>
>
>     -- 
>
>     *Marten Gajda*
>     Schandauer Straße 34
>     01309 Dresden
>     Germany
>
>     tel: +49 177 4427167
>     email: marten@dmfs.org <mailto:marten@dmfs.org>
>     twitter: twitter.com/dmfs_org <http://twitter.com/dmfs_org>
>
>     VAT Reg. No.: DE269072391
>
>     _______________________________________________
>     calsify mailing list
>     calsify@ietf.org <mailto:calsify@ietf.org>
>     https://www.ietf.org/mailman/listinfo/calsify
>


-- 
Marten Gajda
Schandauer Straße 34
01309 Dresden
Germany

tel: +49 177 4427167
email: marten@dmfs.org
twitter: twitter.com/dmfs_org

VAT Reg. No.: DE269072391