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

Ken Murchison <murch@andrew.cmu.edu> Tue, 03 February 2015 17:53 UTC

Return-Path: <murch@andrew.cmu.edu>
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 C25D61A7029 for <calsify@ietfa.amsl.com>; Tue, 3 Feb 2015 09:53:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.209
X-Spam-Level:
X-Spam-Status: No, score=-4.209 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 3qCeqT6SLSLo for <calsify@ietfa.amsl.com>; Tue, 3 Feb 2015 09:53:25 -0800 (PST)
Received: from smtp.andrew.cmu.edu (SMTP.ANDREW.CMU.EDU [128.2.105.203]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B6DE31A6FFF for <calsify@ietf.org>; Tue, 3 Feb 2015 09:53:25 -0800 (PST)
Received: from localhost.localdomain (cpe-76-180-151-43.buffalo.res.rr.com [76.180.151.43]) (user=murch mech=PLAIN (0 bits)) by smtp.andrew.cmu.edu (8.14.8/8.14.8) with ESMTP id t13HrMHl017291 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 3 Feb 2015 12:53:23 -0500
Message-ID: <54D10B12.3020205@andrew.cmu.edu>
Date: Tue, 03 Feb 2015 12:53:22 -0500
From: Ken Murchison <murch@andrew.cmu.edu>
Organization: Carnegie Mellon University
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
MIME-Version: 1.0
To: Cyrus Daboo <cyrus@daboo.name>, Barry Leiba <barryleiba@computer.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>
In-Reply-To: <54D107AC.3050706@andrew.cmu.edu>
Content-Type: multipart/alternative; boundary="------------020407030700010609050607"
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2015.2.3.164219
X-SMTP-Spam-Clean: 27% ( SXL_IP_DYNAMIC 3, BODYTEXTH_SIZE_10000_LESS 0, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_6000_6999 0, BODY_SIZE_7000_LESS 0, DATE_TZ_NA 0, FROM_EDU_TLD 0, RDNS_GENERIC_POOLED 0, RDNS_POOLED 0, RDNS_RESIDENTIAL 0, RDNS_SUSP 0, RDNS_SUSP_GENERIC 0, RDNS_SUSP_SPECIFIC 0, REFERENCES 0, __ANY_URI 0, __BAT_BOUNDARY 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CP_URI_IN_BODY 0, __CT 0, __CTYPE_HAS_BOUNDARY 0, __CTYPE_MULTIPART 0, __CTYPE_MULTIPART_ALT 0, __FORWARDED_MSG 0, __HAS_FROM 0, __HAS_HTML 0, __HAS_MSGID 0, __INT_PROD_LOC 0, __IN_REP_TO 0, __MIME_HTML 0, __MIME_VERSION 0, __MOZILLA_MSGID 0, __MOZILLA_USER_AGENT 0, __RDNS_POOLED_1 0, __REFERENCES 0, __SANE_MSGID 0, __SUBJ_ALPHA_NEGATE 0, __TAG_EXISTS_HTML 0, __TO_MALFORMED_2 0, __URI_NO_WWW 0, __URI_NS , __USER_AGENT 0)
X-SMTP-Spam-Score: 27%
X-Scanned-By: MIMEDefang 2.74 on 128.2.105.203
Archived-At: <http://mailarchive.ietf.org/arch/msg/calsify/QOBJqyADG1pUeC_Mq6u4tp7EoqA>
Cc: Calsify <calsify@ietf.org>
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: Tue, 03 Feb 2015 17:53:27 -0000

On 02/03/2015 12:38 PM, Ken Murchison wrote:
> On 02/03/2015 10:08 AM, Cyrus Daboo wrote:
>> Hi Ken,
>>
>> --On February 3, 2015 at 10:02:01 AM -0500 Ken Murchison 
>> <murch@andrew.cmu.edu> wrote:
>>
>>> It appears your previous rules properly handle the 30 Adar I (leap 
>>> year)
>>> case, but the new rules do not.  Can we come up with rules that can 
>>> model
>>> the 3 cases listed above?
>>
>> OK thanks for looking into that. If we want to provide full 
>> flexibility to control what happens we would need to have two "skip" 
>> indicators, one for skipping invalid months and one for skipping 
>> invalid days (with the month one applied first, followed by the day 
>> one). So:
>>
>> RRULE:FREQ=YEARLY;SKIP-MONTH=FORWARD;SKIP-DAY=FORWARD
>>
>> Would match the Hebrew birthday case you found.
>>
>> RRULE:FREQ=YEARLY;SKIP-MONTH=FORWARD;SKIP-DAY=BACKWARD
>>
>> Would match the behavior from my last email. If we find there really 
>> is never a use case for the above, then we could stick with the 
>> single SKIP option. But lets see if we can get a confirmation on that.
>>
>
> Cyrus,
>
> I believe we can get by with just a single SKIP and your previous 
> rules to handle both cases above (using Hebrew leap month):
>
> RRULE:FREQ=YEARLY;RSCALE=HEBREW;SKIP=FORWARD;BYMONTH=5L;BYMONTHDAY=30
>
> Would yield 1 Nisan (skipping forward both a month and day)
>
>
> RRULE:FREQ=YEARLY;RSCALE=HEBREW;SKIP=FORWARD;BYMONTH=5L;BYMONTHDAY=-1
>
> Would yield 29 Adar (skipping forward just a month)
>
>
> For the BACKWARD cases, both BYMONTHDAY=30 and BYMONTHDAY=-1 would 
> yield Shevat 30.
>

And it turns out that the BACKWARD case works for celebrating birthdays 
in the Chinese calendar, based on the following in Wikipedia 
<http://en.wikipedia.org/wiki/Chinese_calendar#Age_recognition_in_China>:

"The birthday is the day in each year that have the same date as the one 
on which someone was born. It's easy to confirm the birthday in the 
Chinese calendar for most people. But, if someone was born on the 30_th 
of a month, his birthday is the last day of that month, and if someone 
is born in an intercalary month, his birthday is the day with the same 
date in the common month of the intercalary month."

-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University