text:
@implementation NSDate (Escort)
#pragma mark - private
+ (NSCalendar *)AZ_currentCalendar {
    NSMutableDictionary *dictionary = [[NSThread currentThread] threadDictionary];
    NSCalendar *currentCalendar = [dictionary objectForKey:@"AZ_currentCalendar"];
    if (currentCalendar == nil) {
        currentCalendar = [NSCalendar currentCalendar];
        [dictionary setObject:currentCalendar forKey:@"AZ_currentCalendar"];
    }
    return currentCalendar;
}

+ (NSDate*)dateFormString:(NSString*)dateStr format:(NSString*)format
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:format];
    NSDate *date = [dateFormatter dateFromString:dateStr];
    [dateFormatter release];
    return [date dateByLocalTimeZone];
}
- (NSString *)dateToStringWithFormat:(NSString*)format
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:format];
    NSString *strDate = [dateFormatter stringFromDate:self];
    [dateFormatter release];
    return strDate;
}
#pragma mark - Relative dates from the current date
+ (NSDate *)dateTomorrow {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] + (SECONDS_IN_DAY * 1);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

+ (NSDate *)dateYesterday {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] - (SECONDS_IN_DAY * 1);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

+ (NSDate *)dateWithDaysFromNow:(NSInteger) dDays {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] + (SECONDS_IN_DAY * dDays);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

+ (NSDate *)dateWithDaysBeforeNow:(NSInteger) dDays {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] - (SECONDS_IN_DAY * dDays);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

+ (NSDate *)dateWithHoursFromNow:(NSInteger) dHours {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] + (SECONDS_IN_HOUR * dHours);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

+ (NSDate *)dateWithHoursBeforeNow:(NSInteger) dHours {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] - (SECONDS_IN_HOUR * dHours);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

+ (NSDate *)dateWithMinutesFromNow:(NSInteger) dMinutes {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] + (SECONDS_IN_MINUTE * dMinutes);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

+ (NSDate *)dateWithMinutesBeforeNow:(NSInteger) dMinutes {
    NSTimeInterval timeInterval = [NSDate timeIntervalSinceReferenceDate] - (SECONDS_IN_MINUTE * dMinutes);
    return [[NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval] dateByLocalTimeZone];
}

#pragma mark - Comparing dates

- (BOOL)isEqualToDateIgnoringTime:(NSDate *) otherDate {
    NSCalendar *currentCalendar = [NSDate AZ_currentCalendar];
    NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
    NSDateComponents *components1 = [currentCalendar components:unitFlags fromDate:self];
    NSDateComponents *components2 = [currentCalendar components:unitFlags fromDate:otherDate];
    return (components1.year == components2.year) &&
        (components1.month == components2.month) &&
        (components1.day == components2.day);
}

- (BOOL)isToday {
    return [self isEqualToDateIgnoringTime:[[NSDate date] dateByLocalTimeZone]];
}

- (BOOL)isTomorrow {
    return [self isEqualToDateIgnoringTime:[NSDate dateTomorrow]];
}

- (BOOL)isYesterday {
    return [self isEqualToDateIgnoringTime:[NSDate dateYesterday]];
}

- (BOOL)isSameWeekAsDate:(NSDate *) aDate {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components1 = [calendar components:NSCalendarUnitWeekOfYear fromDate:self];
    NSDateComponents *components2 = [calendar components:NSCalendarUnitWeekOfYear fromDate:aDate];
    if (components1.weekOfYear != components2.weekOfYear) {
        return NO;
    }
    return (fabs([self timeIntervalSinceDate:aDate]) < (SECONDS_IN_DAY * DAYS_IN_WEEK));
}

- (BOOL)isThisWeek {
    return [self isSameWeekAsDate:[[NSDate date] dateByLocalTimeZone]];
}

- (BOOL)isNextWeek {
    NSDate *nextWeek = [NSDate dateWithDaysFromNow:DAYS_IN_WEEK];
    return [self isSameWeekAsDate:nextWeek];
}

- (BOOL)isLastWeek {
    NSDate *lastWeek = [NSDate dateWithDaysBeforeNow:DAYS_IN_WEEK];
    return [self isSameWeekAsDate:lastWeek];
}

- (BOOL)isSameMonthAsDate:(NSDate *) aDate {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *componentsSelf = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:self];
    NSDateComponents *componentsArgs = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:aDate];
    if (componentsSelf.year != componentsArgs.year || componentsSelf.month != componentsArgs.month) {
        return NO;
    }
    return YES;
}

- (BOOL)isThisMonth {
    return [self isSameMonthAsDate:[[NSDate date] dateByLocalTimeZone]];
}

- (BOOL)isSameYearAsDate:(NSDate *) aDate {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *componentsSelf = [calendar components:NSCalendarUnitYear fromDate:self];
    NSDateComponents *componentsArgs = [calendar components:NSCalendarUnitYear fromDate:aDate];
    if (componentsSelf.year != componentsArgs.year) {
        return NO;
    }
    return YES;
}

- (BOOL)isThisYear {
    return [self isSameYearAsDate:[[NSDate date] dateByLocalTimeZone]];
}

- (BOOL)isNextYear {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *componentsSelf = [calendar components:NSCalendarUnitYear fromDate:self];
    NSDateComponents *componentsNextYear = [calendar components:NSCalendarUnitYear fromDate:[[NSDate date] dateByLocalTimeZone]];
    componentsNextYear.year += 1;
    if (componentsSelf.year != componentsNextYear.year) {
        return NO;
    }
    return YES;
}

- (BOOL)isLastYear {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *componentsSelf = [calendar components:NSCalendarUnitYear fromDate:self];
    NSDateComponents *componentsLastYear = [calendar components:NSCalendarUnitYear fromDate:[[NSDate date] dateByLocalTimeZone]];
    componentsLastYear.year -= 1;
    if (componentsSelf.year != componentsLastYear.year) {
        return NO;
    }
    return YES;
}

- (BOOL)isEarlierThanDate:(NSDate *) aDate {
    return ([self compare:aDate] == NSOrderedAscending);
}
- (BOOL)isEarlierThanDateIgnoringTime:(NSDate *) aDate {
    NSDate *date1 = [NSDate dateFormString:[self format:@"yyyy-MM-dd"] format:@"yyyy-MM-dd"];
    NSDate *date2 = [NSDate dateFormString:[aDate format:@"yyyy-MM-dd"] format:@"yyyy-MM-dd"];
    return ([date1 compare:date2] == NSOrderedAscending);
}
- (BOOL)isLaterThanDate:(NSDate *) aDate {
    return ([self compare:aDate] == NSOrderedDescending);
}
- (BOOL)isLaterThanDateIgnoringTime:(NSDate *) aDate {
    NSDate *date1 = [NSDate dateFormString:[self format:@"yyyy-MM-dd"] format:@"yyyy-MM-dd"];
    NSDate *date2 = [NSDate dateFormString:[aDate format:@"yyyy-MM-dd"] format:@"yyyy-MM-dd"];
    return ([date1 compare:date2] == NSOrderedDescending);
}
- (BOOL)isEarlierThanOrEqualDate:(NSDate *) aDate {
    NSComparisonResult comparisonResult = [self compare:aDate];
    return (comparisonResult == NSOrderedAscending) || (comparisonResult == NSOrderedSame);
}

- (BOOL)isLaterThanOrEqualDate:(NSDate *) aDate {
    NSComparisonResult comparisonResult = [self compare:aDate];
    return (comparisonResult == NSOrderedDescending) || (comparisonResult == NSOrderedSame);
}

- (BOOL)isInPast {
    return [self isEarlierThanDate:[[NSDate date] dateByLocalTimeZone]];
}

- (BOOL)isInFuture {
    return [self isLaterThanDate:[[NSDate date] dateByLocalTimeZone]];
}

#pragma mark - Date roles
// https://github.com/erica/NSDate-Extensions/issues/12
- (BOOL)isTypicallyWorkday {
    return ([self isTypicallyWeekend] == NO);
}

- (BOOL)isTypicallyWeekend {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSRange weekdayRange = [calendar maximumRangeOfUnit:NSCalendarUnitWeekday];
    NSDateComponents *components = [calendar components:NSCalendarUnitWeekday fromDate:self];
    NSInteger weekdayOfDate = [components weekday];
    if (weekdayOfDate == weekdayRange.location || weekdayOfDate == weekdayRange.length) {
        return YES;
    }
    return NO;
}

#pragma mark - Adjusting dates

- (NSDate*)dateByLocalTimeZone
{
//    NSTimeZone *zone = [NSTimeZone systemTimeZone];
//    NSInteger interval = [zone secondsFromGMTForDate:self];
//    NSDate *localeDate = [self dateByAddingTimeInterval:interval];

    return self;

}

- (NSDate *)dateByAddingYears:(NSInteger) dYears {
    NSDateComponents *components = [[NSDateComponents alloc] init];
    components.year = dYears;
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    return [[calendar dateByAddingComponents:components toDate:self options:0] dateByLocalTimeZone];
}

- (NSDate *)dateBySubtractingYears:(NSInteger) dYears {
    return [self dateByAddingYears:-dYears];
}

- (NSDate *)dateByAddingMonths:(NSInteger) dMonths {
    NSDateComponents *components = [[NSDateComponents alloc] init];
    components.month = dMonths;
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    return [[calendar dateByAddingComponents:components toDate:self options:0] dateByLocalTimeZone];
}

- (NSDate *)dateBySubtractingMonths:(NSInteger) dMonths {
    return [self dateByAddingMonths:-dMonths];
}

- (NSDate *)dateByAddingDays:(NSInteger) dDays {

    NSTimeInterval a_day = 24*60*60*dDays;
    NSDate *newDate = [self dateByAddingTimeInterval: a_day];
    return newDate;

}

- (NSDate *)dateBySubtractingDays:(NSInteger) dDays {
    NSDateComponents *components = [[NSDateComponents alloc] init];
    components.day = -dDays;
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    return [[calendar dateByAddingComponents:components toDate:self options:0] dateByLocalTimeZone];

}

- (NSDate *)dateByAddingHours:(NSInteger) dHours {
    return [[self dateByAddingTimeInterval:(SECONDS_IN_HOUR * dHours)] dateByLocalTimeZone];
}

- (NSDate *)dateBySubtractingHours:(NSInteger) dHours {
    return [[self dateByAddingTimeInterval:-(SECONDS_IN_HOUR * dHours)] dateByLocalTimeZone];
}

- (NSDate *)dateByAddingMinutes:(NSInteger) dMinutes {
    return [[self dateByAddingTimeInterval:(SECONDS_IN_MINUTE * dMinutes)] dateByLocalTimeZone];
}

- (NSDate *)dateBySubtractingMinutes:(NSInteger) dMinutes {
    return [[self dateByAddingTimeInterval:-(SECONDS_IN_MINUTE * dMinutes)] dateByLocalTimeZone];
}

- (NSDate *)dateAtStartOfDay {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    components.hour = 0;
    components.minute = 0;
    components.second = 0;

    return [[calendar dateFromComponents:components] dateByLocalTimeZone];
}

- (NSDate *)dateAtEndOfDay {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    components.hour = 23;
    components.minute = 59;
    components.second = 59;
    return [[calendar dateFromComponents:components] dateByLocalTimeZone];
}

- (NSDate *)dateAtStartOfWeek {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
//    calendar.firstWeekday = 0;
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitWeekOfYear forDate:self];
    components.day = range.location;
    return [[calendar dateFromComponents:components] dateByLocalTimeZone];
}

- (NSDate *)dateAtEndOfWeek {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];

    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitWeekOfYear forDate:self];
    components.day = range.length+range.location;

//    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitWeekday fromDate:self];

//    NSDateComponents *componentsToAdd = [[NSDateComponents alloc] init];
//    [componentsToAdd setDay: + (((([components weekday] - [calendar firstWeekday])
//                                  + 7 ) % 7))+6];
//    NSDate *endOfWeek = [calendar dateByAddingComponents:componentsToAdd toDate:[NSDate date] options:0];
//
//    NSDateComponents *componentsStripped = [calendar components: (NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay)
//                                                        fromDate: endOfWeek];
//
//    //gestript
//    endOfWeek = [calendar dateFromComponents: componentsStripped];
    return [[calendar dateFromComponents:components] dateByLocalTimeZone];
}

- (NSDate *)dateAtStartOfMonth {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:self];
    components.day = range.location;
    return [[calendar dateFromComponents:components] dateByLocalTimeZone];
}

- (NSDate *)dateAtEndOfMonth {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:self];
    components.day = range.length;
    return [[calendar dateFromComponents:components] dateByLocalTimeZone];
}

- (NSDate *)dateAtStartOfYear {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    NSRange monthRange = [calendar rangeOfUnit:NSCalendarUnitMonth inUnit:NSCalendarUnitYear forDate:self];
    NSRange dayRange = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:self];
    components.day = dayRange.location;
    components.month = monthRange.location;
    NSDate *startOfYear = [calendar dateFromComponents:components];
    return [startOfYear dateByLocalTimeZone];
}

- (NSDate *)dateAtEndOfYear {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self];
    NSRange monthRange = [calendar rangeOfUnit:NSCalendarUnitMonth inUnit:NSCalendarUnitYear forDate:self];
    NSRange dayRange = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:self];
    components.day = dayRange.length;
    components.month = monthRange.length;
    NSDate *endOfYear = [calendar dateFromComponents:components];
    return [endOfYear dateByLocalTimeZone];
}

#pragma mark - Retrieving intervals
- (NSInteger)minutesAfterDate:(NSDate *) aDate {
    NSTimeInterval timeIntervalSinceDate = [self timeIntervalSinceDate:aDate];
    return (NSInteger)(timeIntervalSinceDate / SECONDS_IN_MINUTE);
}

- (NSInteger)minutesBeforeDate:(NSDate *) aDate {
    NSTimeInterval timeIntervalSinceDate = [aDate timeIntervalSinceDate:self];
    return (NSInteger)(timeIntervalSinceDate / SECONDS_IN_MINUTE);
}

- (NSInteger)hoursAfterDate:(NSDate *) aDate {
    NSTimeInterval timeIntervalSinceDate = [self timeIntervalSinceDate:aDate];
    return (NSInteger)(timeIntervalSinceDate / SECONDS_IN_HOUR);
}

- (NSInteger)hoursBeforeDate:(NSDate *) aDate {
    NSTimeInterval timeIntervalSinceDate = [aDate timeIntervalSinceDate:self];
    return (NSInteger)(timeIntervalSinceDate / SECONDS_IN_HOUR);
}

- (NSInteger)daysAfterDate:(NSDate *) aDate {
    NSTimeInterval timeIntervalSinceDate = [self timeIntervalSinceDate:aDate];
    return (NSInteger)(timeIntervalSinceDate / SECONDS_IN_DAY);
}

- (NSInteger)daysBeforeDate:(NSDate *) aDate {
    NSTimeInterval timeIntervalSinceDate = [aDate timeIntervalSinceDate:self];
    return (NSInteger)(timeIntervalSinceDate / SECONDS_IN_DAY);
}

- (NSInteger)monthsAfterDate:(NSDate *) aDate {
    NSInteger result = (self.gregorianYear - aDate.gregorianYear) * 12 + (self.month - aDate.month);

    if (result == 0) {
        return 0;
    } else if (0 < result) {
        if (aDate.day < self.day || (aDate.day == self.day && [self timeIntervalIgnoringDay:aDate] <= 0)) {
            return result;
        } else {
            return result - 1;
        }
    } else {
        if (self.day < aDate.day || (self.day == aDate.day && 0 <= [self timeIntervalIgnoringDay:aDate])) {
            return result;
        } else {
            return result + 1;
        }
    }
}

- (NSInteger)monthsBeforeDate:(NSDate *) aDate {
    return -[self monthsAfterDate:aDate];
}

- (NSTimeInterval)timeIntervalIgnoringDay:(NSDate *) aDate {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    enum NSCalendarUnit unitFlags = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
    NSDateComponents *components = [calendar components:unitFlags fromDate:aDate];
    NSDateComponents *components1 = [calendar components:unitFlags fromDate:self];
    return [[calendar dateFromComponents:components] timeIntervalSinceDate:[calendar dateFromComponents:components1]];
}

- (NSInteger)distanceInDaysToDate:(NSDate *) aDate {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *dateComponents = [calendar
        components:NSCalendarUnitDay fromDate:self toDate:aDate options:0];
    return [dateComponents day];
}
#pragma mark - Decomposing dates
// NSDate-Utilities API is broken?
- (NSInteger)nearestHour {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSRange minuteRange = [calendar rangeOfUnit:NSCalendarUnitMinute inUnit:NSCalendarUnitHour forDate:self];
    // always 30...
    NSInteger halfMinuteInHour = minuteRange.length / 2;
    NSInteger currentMinute = self.minute;
    if (currentMinute < halfMinuteInHour) {
        return self.hour;
    } else {
        NSDate *anHourLater = [self dateByAddingHours:1];
        return [anHourLater hour];
    }
}

- (NSInteger)hour {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitHour fromDate:self];
    return [components hour];
}

- (NSInteger)minute {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];

    NSDateComponents *components = [calendar components:NSCalendarUnitMinute fromDate:self];
    return [components minute];
}

- (NSInteger)seconds {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];

    NSDateComponents *components = [calendar components:NSCalendarUnitSecond fromDate:self];
    return [components second];
}

- (NSInteger)day {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];

    NSDateComponents *components = [calendar components:NSCalendarUnitDay fromDate:self];
    return [components day];
}

- (NSInteger)month {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];

    NSDateComponents *components = [calendar components:NSCalendarUnitMonth fromDate:self];
    return [components month];
}

- (NSInteger)week {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];

    NSDateComponents *components = [calendar components:NSCalendarUnitWeekOfYear fromDate:self];
    return [components weekOfYear];
}

- (NSInteger)weekday {
    NSCalendar *calendar = [NSDate AZ_currentCalendar];

    NSDateComponents *components = [calendar components:NSCalendarUnitWeekday fromDate:self];
    return [components weekday];
}

// http://stackoverflow.com/questions/11681815/current-week-start-and-end-date
- (NSInteger)firstDayOfWeekday {
    NSDate *startOfTheWeek;
    NSTimeInterval interval;
    [[NSDate AZ_currentCalendar] rangeOfUnit:NSCalendarUnitWeekOfYear
                                 startDate:&startOfTheWeek
                                 interval:&interval
                                 forDate:self];
    return [startOfTheWeek day];
}

- (NSInteger)lastDayOfWeekday {
    return [self firstDayOfWeekday] + (DAYS_IN_WEEK - 1);
}

- (NSInteger)nthWeekday {
    NSDateComponents *components = [[NSDate AZ_currentCalendar] components:NSCalendarUnitWeekdayOrdinal fromDate:self];
    return [components weekdayOrdinal];
}

- (NSInteger)year {
    NSDateComponents *components = [[NSDate AZ_currentCalendar] components:NSCalendarUnitYear fromDate:self];
    return [components year];
}
- (NSInteger)gregorianYear {
    NSCalendar *currentCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
    NSDateComponents *components = [currentCalendar components:NSCalendarUnitEra | NSCalendarUnitYear fromDate:self];
    return [components year];
}

- (NSInteger)weeksInYear
{
    NSDateComponents *compt = [[NSDateComponents alloc] init];

    [compt setYear:[self year]];
    [compt setMonth:[self month]];
    [compt setDay:[self day]];

    NSCalendar *calendar = [NSCalendar currentCalendar];

    NSDate *date = [calendar dateFromComponents:compt];

    //[calendar setMinimumDaysInFirstWeek:6];
    NSInteger count = [calendar ordinalityOfUnit:NSCalendarUnitWeekOfYear inUnit:NSCalendarUnitYear forDate:date];
    return count;
}

@end

redpajama_set_name: RedPajamaGithub


Show your Bearkats school spirit this football season with this Sam Houston State University purse! Stand with the Bearkats with this Sam Houston State University purse and show your SHSU pride! This purse is built to beat out the competition and highlight your Bearkats spirit and style. This SHSU purse (style number #SAM-P026-1) looks great at any Sam Houston State University event.


text:
Lukáš Melich (ur. 16 września 1980 w Jilemnicach) – czeski lekkoatleta specjalizujący się w rzucie młotem. Brązowy medalista mistrzostw świata.

Jego pierwszą międzynarodową imprezą były rozgrywane w sierpniu 1999 mistrzostwa Europy juniorów, na których zajął 5. miejsce. Dwa lata później był jedenasty na młodzieżowym czempionacie Starego Kontynentu. Czwarty zawodnik uniwersjady w Daegu (2003). W 2005, bez awansu do finału, pierwszy raz w karierze startował na mistrzostwach świata.

Odpadł w eliminacjach mistrzostw Europy w Göteborgu (2006). Rok później zajął 4. miejsce na światowych wojskowych igrzyskach sportowych. W 2008 reprezentował Czechy na igrzyskach olimpijskich w Pekinie, na których nie udało mu się awansować do finału. Bez powodzenia startował także na mistrzostwach świata w Berlinie (2009).

W 2012 odpadł w eliminacjach mistrzostw Europy w Helsinkach. W tym samym roku ponownie wystartował na igrzyskach olimpijskich – w Londynie zajął 6. lokatę. W sierpniu 2013 zdobył brązowy medal mistrzostw świata w Moskwie. W tym samym roku zajął 3. miejsce w klasyfikacji końcowej IAAF Hammer Throw Challenge.

Wielokrotny mistrz Czech oraz reprezentant kraju w pucharze Europy, drużynowym czempionacie Europy i w meczach międzypaństwowych.

Rekord życiowy: 80,28 (15 czerwca 2013, Szczecin).

Osiągnięcia

Bibliografia

Czescy młociarze
Czescy olimpijczycy
Medaliści Mistrzostw Świata w Lekkoatletyce 2013
Urodzeni w 1980
Lekkoatleci na Letnich Igrzyskach Olimpijskich 2016

redpajama_set_name: RedPajamaWikipedia


We know yogurt is very healthy and should be consumed daily, but we may not find it very tasty and be very eager to include it in our meals. If that's the case with you, and you don't care much about eating plain yogurt, we suggest trying to make some simple, refreshing yogurt dishes that are just right for the summer.
The famous Greek sauce, ever-present in fast food restaurants, can be homemade in just 10 minutes.
Mince the garlic and mix with oil, then add the yogurt. Peel the cucumber, grate it and force out the water excess. Add it to the mixture, with some dill, the lemon juice, salt and pepper.
It will be great with fries or baked potatoes and grills.
A drink people in Turkey and neighboring can't do without, ayran is all about freshness, flavor and has a unique invigorating when consumed when it's hot. So don't hesitate to make yourself a full jug at home and have some in the fridge.
Clean the mint leaves and mince them. Mix the yogurt, water, salt and mint leaves. Add 4 – 6 ice cubes and mix 10 seconds more.
To make it creamier and fresher, you can also add yogurt in this delicious Mexican dip.
Mash the two avocados and mix with the yogurt. Add the minced onion, jalapeno and cilantro, the lime juice and salt and mix well.


A flavour-packed grilled chicken that's a cinch to make.
Now that it's summer, we've switched off our ovens and have turned our attention to the mighty grill. Quick, easy and practically no clean-up, make us love this style of cooking. Here we've created a recipe for lime & honey grilled chicken that is seriously going to rock your world (or, at the very least, your weeknight dinner routine). So, go on, what are you waiting for? It's time to get your grill-on!
Place chicken breasts in a shallow casserole dish and set aside while you prepare your marinade.
Combine the lime zest, lime juice, honey, olive oil, cumin, salt and pepper in a bowl. Pour over chicken breasts and turn to coat evenly. Cover and refrigerate for 15 to 30 minutes.
Prepare a BBQ or a grill pan over medium-high heat. Grill chicken breasts for 20 - 25 minutes, turning once. Timing will depend on the size and thickness of your breasts. Chicken should be completely cooked through and reach an internal temperature of 165° F when read with an instant read thermometer.
Once fully cooked, remove chicken breasts from grill and let rest for 5 minutes before serving. Sprinkle with freshly chopped cilantro and serve with lime wedges.
TIP: We love this chicken served with steamed rice and avocado slices.


Email marketing is one of the most popular marketing tools that many businesses are using for their marketing campaign. The email marketing service provide options for the marketers to send email directly to their users. Instead of spending your time and money on creating print marketing campaigns that end up in dusty mailboxes, you can now incorporate marketing efforts in your social network with Effective mailing campaigns. With Email Marketing, you can instantly see who is opening the emails you send, which links they are clicking and how many recipients are forwarding their emails to friends, etc.
Some Email Marketing services even offer special buttons that link to social networks such as Tweet or Like buttons. So your messages will be shared more easily. In addition, you can also see how many email addresses respond to your emails and how many people unsubscribe from the mailing list. Through these reports, you can quickly determine which marketing tools are working for you and what you can improve your reach. Another way you can do this is to send surveys through these Email Marketing services to the Planning so that you can help you adjust your products and approaches to best suit their needs and interests.
Once you start with your first email marketing campaign, you will never have to look back on what you did with direct mail via the post. I'm pretty much sure that Email Marketing helps you connect to your customers more easily and efficiently.
Which email marketing service I should choose for our marketing campaign?
However, the question for business owners is "Which email marketing service I should choose for our marketing campaign?". This is a big question that many people are concerning about. The process of finding and selecting the best email marketing service is really difficult when there are tons of email marketing service provider.
Which email marketing tool is the most effective? Easiest to use?
What is its price? How are the functions attached?
How many email lists are collected?
Choosing the right email marketing service can have a significant impact on the success of your marketing campaign. In this article, we will show you the best email marketing services that are suitable for your business.
Which benefit that businesses can get when choosing email marketing service?
There are many people think that they can use Google mail for sending email to their audience. Why they should use an email marketing service? However, you can totally use Google Mail, Yahoo, Hotmail, etc. to send email to many audience using BCC function. But, that's normal email service, not email marketing.
Collect email addresses from your blog, website, social media platform to build mail list.
Report – you need to know how many people have opened emails? How many people click on the link in the email content?
You even need to let them choose to unsubscribe and not receive mail from you anymore!
Why it is important to choose the right email marketing service?
Due to the ease to manage and power that email marketing service gives to the marketers, this type of marketing tool gets an average of 43000% return on investment in US. Besides, this is one of the most cost-effective marketing tool for companies.
Besides, the email marketing service you choose will have significant impact on the success of your email marketing campaign because they are responsible for making sure that your emails actually get delivered to users' mailboxes. Therefore, you need to be really careful when considering to choosing best tools. Otherwise, you will end up paying a lot of money but get the worst deliverability.
A good email marketing service will help you to interact with users through highly engaging emails and you can totally control and track the performance of these emails. Additionally, the most important thing is that your emails will not be fell off into spam folder of your users' mailboxes.
Therefore, let's take a look on this list to choose the best email marketing service for your business and start your campaign right away.
This is a tool that allows you to use free to build email lists up to 2000 addresses and can send up to 12,000 emails per month. Email templates available and very nice will help you create a beautiful email, look quite professional.
Recently MailChimp has also allowed you to create email campaigns and schedule automatic sending in the free plan, so this is definitely an email marketing service chosen by many bloggers when starting your blog, simply Can start email marketing at 0 dong!
The only drawback with MailChimp is that the rate of email being sent to promotion tab (advertising) is very high, so the open rate of mail is often low.
Providing statistics, report and management, detailed user analysis.
After 30 days of trial if you decide to continue using it, you need to pay the lowest package ($15/month) to build an email list up to 1000 addresses, with unlimited number of emails sent.
In addition, GetResponse also regularly offers lifetime discount programs (discounting renewals) up to 40% for users, which saves a lot of budget.
In addition to common functions such as creating forms, connecting with 3rd tools, creating automatic mailing campaigns … ConvertKit has some other advanced functions that many other email marketing tools do not yet have, such as tagging for each link and use extremely powerful functions to send email to the exact group of people who have clicked on a link in the email you sent.
That is, you can categorize lists into different customer groups, according to specific actions, interests, specific concerns. From there, you can choose each target group more accurately instead of sending an email to the entire list.
Then, when you send an email you can also track who has opened the email and who has not opened it, then with just one click you can send the email again to everyone who has not opened the email!
In summary, this is the most powerful mail service comparing to the two services above. But, ConvertKit still has the drawback that is providing simple without beautiful email templates and the price is still quite high.
Constant Contact is supposed to be the fastest growing email marketing service. This tool is really easy to use and suitable for beginners. Like other email marketing tools, you can manage email lists, contacts, templates of email, schedule emails and much more. Each account will give you accessibility to keep tracking and see the report for emails. Besides, Constant Contact offers built-in social media sharing tools, free image library, list segmentation, Facebook ads integration and eCommerce integration.
Additionally, Email Plus accounts will have more powerful features like email automation, surveys & polls, online donations, A/B testing tool to maximize open rate. This email marketing service also have helpful resources for supporting users. Do not worry if you have any difficulty when using Constant Contact.
SendinBlue is one of the leading transactional email services with about 95% of deliverability which is really a good number. Besides, this email marketing service provides drag and drop tool. This will help you who are beginners with no experience easier to build their own email. You can easily create beautiful and highly engaging emails to send to your users.
Moreover, SendinBlue includes beginner-friendly automation tools that allow you to send transactional emails, create workflows, and segment users. It will be your choice to select the best time to send emails with AI algorithms. Additionally, this service offers a completely free email marketing plan that lets you send up to 300 emails per day. But the free plan will create SendinBlue watermark in your emails. Premium plans start from $25 per month. You can also include SMS to your account, but the pricing will vary depending on your sending requirements.


Now that Virginia and Baylor have had their one shining moment, we'd be remiss to just let the college basketball season slip away without mentioning the big news on Tuesday about iconic programs in both the men's and women's game.
The UCLA men, the land of John Wooden, and the Tennessee women, who Pat Summitt led so brilliantly, have landed new coaches.
The Bruins has hired Mick Cronin away from the Cincinnati. And the Lady Vols are expected to announce the hiring of Kelly Harper, who was at Missouri State.
The hiring of Cronin ends a three-month search for the replacement of Steve Alford, who was canned on New Year's Eve in his sixth season with the Bruins after leading the program to four NCAA appearances.
It has been a strange journey for the Bruins, one that tried to lure John Calipari away from Kentucky, Jamie Dixon from TCU and Rick Barnes from Tennessee.
Just think for a second about how times have changed on the college landscape. There was a time when the UCLA job was considered the preeminent one in the nation, the pinnacle of anyone's career. But now it's just another school and another program, something of an afterthought in the Pac-12 and nationally.
Cronin led the Bearcats to nine consecutive NCAA Tournament appearances and he will make $24 million over six seasons. Both the money and the opportunity were too much for Cronin to turn down. Cincinnati plays in the American Athletic Conference, not exactly a basketball powerhouse.
Cronin coached 13 seasons at Cincinnati. But there's nothing on his resume that necessarily predicts great success. His teams advanced to the Sweet 16 only once, in 2012. But he has won at least 20 in each of the past nine seasons and has a 89-18 record over the past three seasons. Cincinnati lost in the first round of this year's NCAA tournament to Iowa after winning the AAC title.
He's also one of six NCAA coaches to bring his team to the tournament in nine straight seasons, joining Mark Few (Gonzaga), Tom Izzo (Michigan State), Mike Krzyzewski (Duke), Bill Self (Kansas) and Roy Williams (North Carolina).
The Bruins were 17-16 in 2019 and their pursuit of Calipari only served to get him what's essentially a lifetime deal with Kentucky. They tried to pry Dixon away from TCU, but the sides could not resolve an issue with his buyout, which was in the area of $8 million. And then they went after Barnes, reportedly with a $5 million per year deal.
Three strikes and there were almost out. And who knows who might have been next had Virginia Tech hired Wofford coach Mike Young and not Cronin, as had been rumored.
The hiring of Harper brings one of the program's to guards back to Knoxville. Then known as Kelly Jolly, Tennessee's new coach was the point guard on three national championship teams for Summitt, the great Hall of Famer who died in 2016.
After her career ended in 1999, she began coaching as an assistant at Auburn before being the head coach at Western Carolina, North Carolina State and Missouri State. The Lady Bears advanced to the Sweet 16 this season as an 11 seed by beating No. 6 DePaul and No. 3 Iowa State. She was 118-79 in six seasons at Missouri State.
Harper takes over for Holly Warlick, another former Lady Vol. She was dismissed shortly after Tennessee was eliminated from the NCAAs. She had been its coach for seven seasons. Warlick was 172-67 atTennessee. This season, the Lady Vols were 19-13 and lost in the first round to UCLA.
Elite Eight: Can Notre Dame Make It Two Straight?


Home » Report » Strategic Research » What Does Research Say About Public Funding for Political Campaigns?
The issue of public funding for political campaigns is heating up as the U.S. Supreme Court considers whether to take up the case of Arizona Freedom Club PAC v. Bennett, a First Amendment challenge by the Institute for Justice to Arizona's public funding law. Legal challenges to similar laws in Connecticut and Florida continue to work their way through the courts, and the U.S. Congress is considering the Fair Elections Now Act, which would provide congressional candidates with government money to run for office. Public funding advocates often make bold claims about the benefits of these systems, but scientific evidence supporting these claims is scarce. This research brief examines the evidence about the effects of public funding.
Can Publicly Financed Elections Survive Without Punishing Free Speech?


When my wife and I first started our practice, our hearts were to provide quality tax and accounting services. Back when we started the practice, we were recently married. Now, after the past 15 or so years, many things have changed. However, one thing that has not, our commitment to our clients.
As CPAs, our clients confide in us many things. When you come to our office, you will be greeted by a staff member and offered a cup of coffee.
Why Choose our Firm ?


Proceedings of annexation and consolidation of Marion and Prince Edward Islands. 1948.
Log of report of proceedings by the SANDF of the annexation and consolidation of Marion and Prince Edward islands from 1948 to 1950.


text:
Using a thermometer with yeast bread
How to nail the perfectly baked loaf
Classic Sandwich Bread Golden Pull-Apart Butter Buns Sprouted Wheat Easy Rustic Bread Classic Baguettes
THUMP THUMP THUMP. Yeast bread bakers have traditionally tested their loaves for doneness by tapping on the bottom and listening for a distinctive hollow thump: a perfectly good method. But for those of us who don't like juggling blistering hot loaves in order to get at their bottoms for the thump test, there's another method: taking the bread's internal temperature. Using a thermometer with yeast bread not only saves you the "hot potato" juggle, it offers excellent guidance — if you know how to interpret your temperature results.
You may notice that many of our King Arthur Flour yeast bread recipes call for the perfectly baked loaf to reach an internal temperature of 190°F. And honestly, this is a good benchmark. Most loaves and rolls will indeed be done when they register 190°F at their center.
But some breads — baguettes, for instance — need to reach a higher internal temperature to be fully baked. And some bakers argue that large, dense/hearty whole grain rounds should be baked to an internal temperature of 205°F to 210°F, in order to ensure they're completely baked at the center.
I recently baked an array of yeast breads, taking their temperature (at the center of the loaf) in 5-minute increments towards the end of their bake and detailing the results. Bottom line: 190°F is indeed a good benchmark. Every loaf I baked — except for the baguettes — cooled to an excellent texture when brought to 190°F during baking. Still, I discovered some interesting things along the way. Let's check out the tests.
Using a thermometer with yeast bread:
Sandwich loaves
Here's the dough for two of my favorite sandwich loaves: Classic Sandwich Bread, and 100% Whole Wheat Nut & Seed Bread. Each makes a close-grained, tender, moist sandwich loaf.
For each bread, I bake one loaf to 190°F, one to 205°F. Once cool, I slice the loaves right through the center, to make sure I'm seeing the point where any under-baking would have happened.
Loaves baked to each temperature look similar at the center; the only visual difference is the slightly thicker crust on the loaves baked to 205°F.
Sampling the loaves, though, there's a noticeable difference in texture. The 190°F loaves are moister and softer; the 205°F loaves, drier. And after a couple of days, the 190°F loaves still retain some moisture — making them seem fresher.
Verdict: Pan bread (sandwich loaves) are fully baked, yet still nicely moist and tender, when baked to 190°F.
Large whole-grain rounds
Sprouted Wheat Easy Rustic Bread is a good example of a loaf that might be difficult to bake to the correct doneness without using a thermometer.
It's a dark loaf to begin with, thanks to the whole-grain sprouted wheat flour, so it's hard to gauge how done it is by its crust color. Add its dense texture, and its shape — there's no bread where the center is farther from the edge than a round boule — and you've got a baking challenge.
I bake one loaf to 190°F, the other to 210°F — the temperature many bread bakers claim is optimum for this type and shape of loaf, given the need to ensure it's fully baked all the way to the center.
The result? Just like the previous test, these loaves are similar in appearance. The center of the 190°F loaf (pictured at left) isn't gummy/under-baked. But again, once I taste the two side by side, the 190°F loaf is definitely moister, its crust less tough. And it stays softer as time goes by.
Verdict: Even a large, fairly dense whole grain loaf is fully baked at 190°F. I enjoy a soft, moist, tender loaf, so the 190°F bread is my favorite. If you like your whole-grain bread drier/chewier, bake it longer — but baking to 210°F isn't necessary to prevent under-baking.
Let me just add that I LOVE this bread. I'm not a devotee of whole wheat bread but this loaf, thanks to its mellow sprouted wheat flour, has mild yet rich flavor: vaguely nutty, somewhat grain-y. And its texture is nearly cake-like — it's that tender.
Soft dinner rolls
Does the ideal internal temperature change with the size of the bread? Let's bake these Golden Pull-Apart Butter Buns and find out.
The recipe calls for buns to bake for 22 to 24 minutes, until golden brown.
I decide to start taking their temperature at 15 minutes. At this point, as you can see, they're barely browned. Yet the interior temperature of one of the buns on the edge is already 192°F, while the center bun is just 171°F.
I take the buns out of the oven. Meanwhile, I bake the other pan of buns for 5 more minutes — a total of 20 minutes.
The 20-minute buns (right) are light golden brown. An outside bun registers 208°F, while the center bun is 199°F — well above the 190°F proving ideal for other breads.
So we have four different finish temperatures to evaluate with these buns: 171°F and 192°F from the first pan; and 199°F and 208°F from the second pan.
Predictably, the 171°F bun is very soft and tender and moist. It's not gummy, but it is VERY fragile; squeeze a piece in your fingers, and it turns into a dough ball.
The remaining hot buns are uniformly delicious.
Notice I said "hot," though. The big difference is apparent once the buns cool. All slice nicely; all exhibit fully baked interiors. But the buns from the first pan (the pale buns) are still soft, tender, and moist at room temperature; while the buns from the second pan (the ones with nicely browned tops) are somewhat dry and tough.
The less-baked buns remain moist for several days at room temperature, while the buns baked longer become progressively drier.
Verdict: If you're serving buns hot from the oven, bake them until light brown. If you're planning on serving them at room temperature — or reheating them — bake them only until they're pale gold, and their interior temperature doesn't rise higher than 190°F or so.
My final test is a bread that's at the opposite end of the texture spectrum from soft dinner rolls: crisp/chewy baguettes. I use our Classic Baguette recipe to discover the optimum way to bake the ideal crusty baguette.
First, I rethink my expectations. Do I want a baguette with a soft, moist center? No; I want a center that's fairly dry, chewy, and filled with large holes: typical baguette texture.
So rather than evaluating baguettes by their internal temperature, I decide to judge them by the darkness of their crust. The recipe calls for baking the loaves for 25 to 30 minutes; I take my first loaf out after 20 minutes, when it's a medium golden brown. Its interior temperature is a whopping 212°F.
I take the next loaf out 5 minutes later: again, its temperature is 212°F. I learn later that bread's interior temperature will never rise above 212°F, since that's the boiling point of water (and the temperature of steam, which water becomes as it evaporates from the loaf).
The remaining loaf I bake the full 30 minutes; it's a very dark golden brown. Once cool, I compare all three loaves: the darker loaves have richer flavor, due to caramelization of the crust. They're also chewier, as their crust is somewhat thicker.
And, just as I found in my other tests, the loaf baked to the lowest temperature retains its moisture longest: which in the case of baguettes isn't a good thing. Moisture in the interior of an under-baked (light-crusted) baguette will migrate outwards, leaving the crust soft and leathery.
Verdict: You don't need a thermometer to tell if a baguette is fully baked. For best results, simply bake until thoroughly browned. In this case, the color of the crust is more important than the bread's temperature.
What we learned about using a thermometer with yeast bread:
Use a thermometer (I like the Thermapen) to assess the doneness of pan breads, freeform loaves, and soft rolls. A temperature of 190°F at the center will yield bread that's fully baked (soft and moist) but not over-baked (tough and dry).
For thin/crusty bread with a dry interior, like baguettes, small crusty rolls, or focaccia, rely on crust color to determine the point of optimum doneness.
Due to certain inherent characteristics of rye flour, rye bread tends towards excessive moistness, and should be baked to an internal temperature of 205°F to 210°F.
Gluten-free yeast bread needs to bake to 205°F in order to gelatinize its starches, which "lock up" and provide the bread's structure.
Bakers working at high altitude should reduce the desired internal temperature of their breads by about 5°F, to account for water's lower boiling point.
Using a thermometer with yeast bread is a reliable way to ensure bread is fully baked. Do you take your bread's temperature? Or are you a devoted "thumper"? Share your bread-testing experiences in comments, below.
bread temperature
Thermapen
temperature of bread
The note at the end says to reduce the doneness temp by 5 degrees for high altitude. Does this hold, regardless of how high one is? At 7,500 ft, what should the temperature of my white loaves be?
Morgan at King Arthur Flour
In reply to The note at the end says to… by CJ (not verified)
Hi there, CJ! We recommend lowering the internal temperature by 5°F no matter how high you are, no need to adjust for your specific altitude. Happy baking!
Does 190 degrees work for pepperoni bread?
November 8, 2019 at 12:45pm
In reply to Does 190 degrees work for… by Jenny (not verified)
Hi there, Jenny! An internal temperature of 190°F should be just right for your pepperoni bread!
Sara S Marsh
What about for an enriched dough with filling, like my holiday Potica? Making sure it's done all the way through with out drying the filling out is paramount!
In reply to What about for an enriched… by Sara S Marsh (not verified)
Hi there, Sara! We recommend baking an enriched dough to an internal temperature of 200°F. Happy baking!
Kelly | Foodtasia
This is a fabulous article! Thanks so much for the info!
I think the retained heat must continue to bake a loaf even after you remove it from the oven, and the amount and rate of loss of that retained heat must govern what is the ideal internal temperature at which to do that removing. In that light, it seems to me shrewd you considered different shapes and colors, but I think it's important to consider that the mass and hydration of you loaf will make a difference, at least under the continued cooking hypothesis. From basic thermodynamics, loaves that weigh more and/or have a higher hydration will take longer to bake and emerge with more retained heat. The rounder the loaf the smaller the surface area and slower the loss of that heat. The darker the dough, the faster the loss.
RALPH WILDER
This is exactly the information I have been searching for to get my rolls how I want them, thank you.
July 9, 2019 at 12:32pm
Do we measure the temperature after taking it out of the pan? And if temperature is lower than desired we can return it to the pan and bake for more time?

redpajama_set_name: RedPajamaCommonCrawl


FREEEEEDOMMM - New! Only AU Chat RP!
— ❝ The Mansion ❞ ✁ new & open - ▸ a u r p, , detailed 1st & 3rd accepted┇EXO WHERE YOU AT?!┇need co-admins ! !
† ʈɦɘ ʂɑɲɔʈuɑɽʏ † ▓ semi au semi crack rp ▓ in need of 2 more admins ▓ come join now and Yui will shower you with lotso LURVE ▓ «↻now playing: 'Headbanger'; BABYMETAL» ▓ #GuysPeulijeu #seventeenwhereartthou?


Amazing Grays: Our Wedding: The Reception...First Dances and Cake!
Our Wedding: The Reception...First Dances and Cake!
Sean and I, along with great friends, spent a weekend in "the land where the blues was born," Clarksdale, Mississippi for our friends' wedding a couple years ago. We spent an epic night we will never forget at Ground Zero, the blues club co-owned by Mississippi native Morgan Freeman. We felt like we'd been transported to another era, in the city known for its deep blues heritage. Up until that night, my now husband, was not a dancer. But the raw, earthy rasp of the night's act, Super Chikan, and rhythm of the slide guitar teamed up and crawled up inside him that night...and he's been a dancin' blues machine ever since! During a brief break to sit at our checkered table, we decided that this was what we wanted our wedding reception to feel like.
We scouted numerous blues bands in Memphis, and kept our ears open each time we spent a night out on Beale. We set our sights on James Govan and the Boogie Blues Band at Rum Boogie, but they were happily playing every weekend there and were not available for weddings. The band was number one priority for us so I weeded through every name on my researched list, thinking, "Too pop. Too laid back. Too jazzy. Too old."
It dawned on us that instead of getting a band that might give us the same bluesy sound from that night...Why not just get that same band?? We knew Super Chikan was probably too big for our standards. (What? You haven't heard of him??) But nevertheless, Sean got in touch with his agent and they said he was willing to play our wedding reception! But he alone would cost the same as most bands and him with his band was triple...plus the cost of a hotel room for all members for the night. We considered. But knew there was something more perfect.
We finally had dinner at Huey's one night to hear the night's entertainment, The King Beez, former house band for B.B. King's Blues Club. The very first song they sang was by my favorite, Otis Redding. Done.
They were so much fun!
"Baby, It's been a long day, baby.
Here by my side, all the time.
And baby, the way you move me, it's crazy.
You please me and you don't even have to try.
When I say this love won't ever fade away.
The road has begun to move beneath my feet.
In a Mississippi mornin', She's an angel in flight.
In the blink of an eye, She'll be out of your sight.
Somethin' bout a southern girl.
We got alot goin' on.
Sean's Mom wanted the same upbeat feeling that we were going for with our first dance. Our reception was no time for a sappy, sad moment. It was a fun celebration! So she chose Stevie Wonder's You Are the Sunshine of My Life. So appropriate, because he is her pride and joy.
And I know that this must be heaven.
That's why I'll always stay around.
And let them eat cake!
You're first, my dear husband!
Look at how beautiful that place is.
And how funny that face is!
I can't for the life of me remember what the cake tasted like. The bite we fed each other was all we ate so I don't really know!
This, for some reason, is one of my absolute favorite pictures of the wedding. I know it's bizarre, but I've pictured it blown up in my dining room. I'm sure it would cause most guests to lose their appetite, but it just looks so full of life to me.
I love all the twinkles in the background.
My poor eyes were getting blood shot. We still had a long night ahead!
He is so satisfied with himself.
But always takes care of me.
Ok, time to get cleaned up.
And hit the dance floor!
Next up in the wedding installments...The hot and sultry, down-home bluesy reception dancing!
One of my all time most favoritest posts!! Love it!
Me ;) I thought you'd be able to figure it out by what I typed!!
Hello! I found this site when I was researching wedding locations...I'm getting married next year at The Memphis Waterworks (ceremony and reception). Your photos are beautiful and it looks like such a great time was had by all. Thank you for publishing this. I'm a little nervous because I booked sight unseen! I live in California and have only been to Memphis once (my fiance's home town). We are heading to check it out at Christmas. Your photos have helped put me at ease. Where did your guys get their suits? Love them! Love the whole look. Great job and congrats!


text:
Q: choose the right doublette to delete I have a dataset with 400.000 cases. The problem is, there are sometimes around 21.000 doublettes for one case. Another problem is that I can't just delete the doublettes, cause I don't know which case is complete with all information. Unfortunately there is no date of modification. So I'd like to know if there's any possibility to choose the case with the most information to delete all the doublettes with less information.
Thanks for your help in advance!

A: I suggest counting the missing/empty cells in each row and then selecting the rows with the minimum number of empty cells - for each ID.
*First creating some fake data for demonstration.
*I'm constructing this so it contains a mixture of string and number variables.

DATA LIST list/ID (f) Svar1 (a1) Nvar1(f) Svar2 (a1) Nvar2(f).
begin data
111,'a',1,'a',2
111,p ,1,'b',
111,'c',1, ,1
222,'v',1, ,2
222,'k',2,'x',2
222,'n',,'z',
end data.

* note the separate treatment of string and number variables.

count EmptyCells=Svar1 Svar2("") Nvar1 Nvar2 (sysmis).
aggregate /outfile=* mode=addvariables   /break=id   /EmptyCells_min=min(EmptyCells).

* variable EmptyCells now contains the count of empty cells in every row.
* EmptyCells_min has the minimum number of empty cells in a row for every ID.

select if EmptyCells_min=EmptyCells.

After selecting, you are left with the row that has the maximum number of non-empty cells for each ID.
Note - you may be left with a number of rows for one ID - all containing the same number of non empty cells. You'll have to decide how to select among those rows, or to think about aggregating them.

redpajama_set_name: RedPajamaStackExchange


text:
Class of 2013 Prepares for Future at Rocky Mountain National Park
The Class of 2013 traveled to Rocky Mountain National Park this fall for their senior retreat. The seniors participated in thought-provoking activities that addressed the transition from their roles as Park Scholars to alumni. Discussions incorporated topics such as making contributions to their communities and maintaining connections with the program and NC State.
The Class of 2013 on their senior retreat in Rocky Mountain National Park.
"The trip truly reunited us as a class," says senior retreat committee co-chair John Miller '13. "I loved being able to renew my friendships and discuss future goals, all while taking in an incredible view of the mountains."
The class was joined by Park alumni Kristoph Kleiner '09, Ryan Neely '09, Matt Pender '06, Tyler Pool Pender '06, Emily Rader-Neely '09, Michele Tam '00, BJ Ward '09, and Hannah Whitaker '06. These alumni assisted the seniors in developing goals and aspirations for the future.
While in Colorado, the group rode horses, rafted on the Colorado River, and hiked along the shores of Bear Lake, Dream Lake, and Emerald Lake. The senior retreat is held in a national park each year to allow students the opportunity to engage with nature and gain a deeper understanding of the country's environmental, cultural, and historical resources.
"Nestled between mountain peaks and glaciers, this retreat experience allowed us to examine where we have come from and where we are headed," says committee co-chair Gretchen Stokes '13. "The resources, enrichment, and intellect of the Park community will continue to be an integral part of our lives as we each begin our next chapter."


Konawaena Elementary School is a public elementary school located in Kealakekua, HI in the Hawaii Department of Education School District. It enrolls 556 students in grades 1st through 12th. Konawaena Elementary School is the 73rd largest public school in Hawaii and the 16,979th largest nationally. It has 17.9 students to every teacher.
The form below lets you find Konawaena Elementary School alumni info and Konawaena Elementary School students.
Out of 208 ranked schools in Hawaii, Konawaena Elementary School is ranked 44th for total students on lunch assistance.
The percentage of Konawaena Elementary School students on free and reduced lunch assistance (66.7%) is higher than the state average of 51.6%. This may indicate that the area has a higher level of poverty than the state average.


text:
package org.sosy_lab.cpachecker.util.predicates.smtInterpol;

import static com.google.common.base.Preconditions.checkNotNull;

import java.io.PrintWriter;

import org.sosy_lab.cpachecker.util.predicates.interfaces.BooleanFormula;

import de.uni_freiburg.informatik.ultimate.logic.Term;

class LoggingSmtInterpolInterpolatingProver extends SmtInterpolInterpolatingProver {

  private final PrintWriter out;

  LoggingSmtInterpolInterpolatingProver(SmtInterpolFormulaManager pMgr,
      PrintWriter pOut) {
    super(pMgr);
    out = checkNotNull(pOut);
  }

  @Override
  protected void pushAndAssert(Term pTerm) {
    out.println("(push 1)");
    out.println(mgr.dumpFormula(pTerm));
    super.pushAndAssert(pTerm);
  }

  @Override
  public void pop() {
    out.println("(pop 1)");
    super.pop();
  }

  @Override
  public boolean isUnsat() throws InterruptedException {
    out.println("(check-sat)");
    return super.isUnsat();
  }

  @Override
  protected BooleanFormula getInterpolant(Term pTermA, Term pTermB) {
    out.println("(get-interpolants " + pTermA + " " + pTermB + ")");
    return super.getInterpolant(pTermA, pTermB);
  }

  @Override
  public void close() {
    out.close();
    super.close();
  }
}


Have you ever wondered why so many meetings and presentations have defaulted to the same old "30 slides in 30 minutes" format, all with the same blue background? I'm going to blame 1990's-era Microsoft for making it really hard to schedule a meeting in Outlook for less than 30 minute increments and for the default template of PowerPoint.
Regardless of who's to blame or how we got there, there will be no end of the 30×30 meeting until we all do something about it. We'd like to suggest some alternatives for you to use every day. Not only are these options just different than a standard 30×30 meeting (making the sheer novelty useful in its own right), but in many ways they are better than 30×30 meetings. They increase attendee attention, message retention and even employee morale.
Option 1: The 10 and 20 meeting. The first ten minutes are slide show. Honestly, few 30-slide presentations can't be distilled down into 5-7 slides with just a few major points and a hand-out to provide backing and supporting data point. The rest of the meeting is a panel discussion or point/counterpoint discussing the idea, how it can and should be applied, ways it can be made better, etc. Because the content gets boiled down to its essence, it won't bore people. By allowing more voices to get involved, the message becomes more meaningful and memorable.
out all the extraneous detail and stick to what really matters: the heart of the idea.
Option 3: The 30-minute activity. Ben Franklin said "Tell me and I forget. Show me and I remember. Involve me and I learn." Skip the telling and showing and get straight to the involving. Build an activity that illustrates the point you're making. For example, if you're launching an intranet, ask everyone to bring their laptops and spend 25 minutes logging in, setting their password, uploading a profile picture, and completing their online bio. You float around and answer questions. Having done it once, they will be far less likely to ask questions about the purpose of the new toolset or how to use it. Leave the last five minutes for review and to pass out a handout filled with the information you just covered. Better yet, make a game that takes 20 minutes to play. People love games and it bypasses their built-in skepticism filters.
Option 4: The 15-minute meeting. If you want to thrill people, give them their time back.Schedule the meeting for 15 minutes, forcing you to get to the point. While it's a cheap psychological trick, it works. You eliminate unnecessary preambles and details. Your attendees get fifteen minutes of their lives back. Everyone wins.
Option 5: No meeting at all. What if you just wrote it down and delivered the content via text and pictures? Since there is great temptation for people to ignore this kind of content, wrap it in some other sort of activity, like lunch or a contest. Or a quiz. And remind them that if they don't pass, there will be a 60-minute meeting to review the content slowly. Very slowly.
Option 6: Alternate platform. Shorter slideshow (please!) using a different tool to show off the content: a flip chart, whiteboard or Prezi are all ways to get people to consider your message, while breaking up the monotony.
Option 7: Change up the speaker. Want to get people to pay attention? Be quiet and let someone new talk, such as a guest speaker or a local expert. Prep them ahead of time to make sure they don't fall back to a 30×30 presentation style. That would defeat the purpose, wouldn't it?