﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Michael L Perry commented on Non overlapping time periods&amp;ndash;because I like the pain of 2 AM wakeup calls</title><description>A grace period for license enforcement is fine, but this isn't a good general purpose solution to time ranges. Some periodic time ranges must be non overlapping. If you simply give each period a few days grace, you end up with a few days overlap. In which time period did the events during that overlap take place? Sometimes this is an important question.

I prefer the solution of exclusive end dates. The end date of the range is not the last day that it is effective, but the first day that it is no longer effective. This coincides with the start date of the next range. It guarantees no overlaps and no gaps. And as an added bonus, you only need to store one date per period.

   start &lt;= today &lt; end</description><link>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment5</link><guid>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment5</guid><pubDate>Tue, 15 May 2012 15:50:43 GMT</pubDate></item><item><title>Pioter commented on Non overlapping time periods&amp;ndash;because I like the pain of 2 AM wakeup calls</title><description>@Rafal, just look at domain purchaise model, there is 14 days "window" alfter expiration time</description><link>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment4</link><guid>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment4</guid><pubDate>Tue, 15 May 2012 13:35:58 GMT</pubDate></item><item><title>configurator commented on Non overlapping time periods&amp;ndash;because I like the pain of 2 AM wakeup calls</title><description>Rafal: Never expire licenses at night where? Should we time them to expire when it's most convenient in our timezone? Most likely, a user will notice it first thing in their morning anyway. 

Either way, I think Ayende means that the extra three days bit is so that the users have time to fix this even if they've set up an annual charge (and saw the emails and decided to fix it when needed), and the ordering system was down for a while when they needed the new license.</description><link>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment3</link><guid>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment3</guid><pubDate>Tue, 15 May 2012 12:16:55 GMT</pubDate></item><item><title>Matthew Shapiro commented on Non overlapping time periods&amp;ndash;because I like the pain of 2 AM wakeup calls</title><description>I don't understand how this prevents sudden cutoffs. Regardless if you use AddYears(1) and AddYears(1).AddDays(3) you still have to have some way for them to get notice in advance, and if the billing system goes down on that 1 year day 3 then they will notice.</description><link>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment2</link><guid>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment2</guid><pubDate>Tue, 15 May 2012 12:04:19 GMT</pubDate></item><item><title>Rafal commented on Non overlapping time periods&amp;ndash;because I like the pain of 2 AM wakeup calls</title><description>Makes no difference if you don't remind them to renew the subscription earlier. You could give a month instead of 3 days and people would still phone you at 2 am with symptoms of a sudden license expiration
Some ideas:
1. never expire licenses at night 
2. my ISP has a nice solution for domain registration - the website is taken down as soon as the registration period ends but I can re-enable it immediately through an automated web interface - 'give me 3 extra days NOW and I'll pay during that time'</description><link>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment1</link><guid>http://ayende.com/155521/non-overlapping-time-periods-because-i-like-the-pain-of-2-am-wakeup-calls#comment1</guid><pubDate>Tue, 15 May 2012 10:29:53 GMT</pubDate></item></channel></rss>