text:
#import "UAUtils.h"

// Frameworks
#import <CommonCrypto/CommonDigest.h>

// UA external libraries
#import "UA_SBJSON.h"
#import "UA_Base64.h"
#import "UA_ASIHTTPRequest.h"

// UALib
#import "UAUser.h"
#import "UAirship.h"
#import "UAKeychainUtils.h"

// C includes
#include <sys/types.h>
#include <sys/sysctl.h>

@implementation UAUtils

+ (NSString *)md5:(NSString *)sourceString  {
    const char *cStr = [sourceString UTF8String];
    unsigned char result[16];
    CC_MD5(cStr, strlen(cStr), result);
    return [NSString stringWithFormat:
            @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
            result[0], result[1], result[2], result[3],
            result[4], result[5], result[6], result[7],
            result[8], result[9], result[10], result[11],
            result[12], result[13], result[14], result[15]
            ];
}

+ (NSString *)deviceID {
    return [UAKeychainUtils getDeviceID];
}

+ (NSString *) UUID {
    //create a new UUID
	CFUUIDRef uuidObj = CFUUIDCreate(nil);

	//get the string representation of the UUID
    NSString *uuidString = (NSString*)CFUUIDCreateString(nil, uuidObj);
    CFRelease(uuidObj);

    return [uuidString autorelease];
}

+ (NSString *)deviceModelName {
    size_t size;

    // Set 'oldp' parameter to NULL to get the size of the data
    // returned so we can allocate appropriate amount of space
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);

    // Allocate the space to store name
    char *name = malloc(size);

    // Get the platform name
    sysctlbyname("hw.machine", name, &size, NULL, 0);

    // Place name into a string
    NSString *machine = [NSString stringWithCString:name encoding:NSUTF8StringEncoding];

    // Done with this
    free(name);

    return machine;
}

+ (NSString *)pluralize:(int)count singularForm:(NSString*)singular
             pluralForm:(NSString*)plural {
    if(count==1)
        return singular;

    return plural;
}

+ (NSString *)getReadableFileSizeFromBytes:(double)bytes {
    if (bytes < 1024)
        return([NSString stringWithFormat:@"%.0f bytes",bytes]);

    bytes /= 1024.0;
    if (bytes < 1024)
        return([NSString stringWithFormat:@"%1.2f KB",bytes]);

    bytes /= 1024.0;
    if (bytes < 1024)
        return([NSString stringWithFormat:@"%1.2f MB",bytes]);

    bytes /= 1024.0;
    if (bytes < 1024)
        return([NSString stringWithFormat:@"%1.2f GB",bytes]);

    bytes /= 1024.0;
    return([NSString stringWithFormat:@"%1.2f TB",bytes]);
}

+ (NSString*)urlEncodedStringWithString:(NSString *)string encoding:(NSStringEncoding)encoding
{
    /*
     * Taken from http://madebymany.com/blog/url-encoding-an-nsstring-on-ios
     */

    CFStringRef result = CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)string, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[] ", CFStringConvertNSStringEncodingToEncoding(encoding));

    /* autoreleased string */
    NSString* value = [NSString stringWithString:(NSString*)result];
    CFRelease(result);

    return value;
}

#pragma mark -
#pragma mark ASIHTTPRequest helper methods

+ (UA_ASIHTTPRequest *)requestWithURL:(NSURL *)url method:(NSString *)method
                             delegate:(id)delegate finish:(SEL)selector {

    return [self requestWithURL:url method:method delegate:delegate
                         finish:selector fail:@selector(requestWentWrong:)];
}

+ (UA_ASIHTTPRequest *)requestWithURL:(NSURL *)url method:(NSString *)method
                             delegate:(id)delegate finish:(SEL)finishSelector fail:(SEL)failSelector {

    if (![UAirship shared].ready) {
        return nil;
    }

    UA_ASIHTTPRequest *request = [UA_ASIHTTPRequest requestWithURL:url];
    [request setRequestMethod:method];

    request.username = [UAirship shared].appId;
    request.password = [UAirship shared].appSecret;
    request.shouldPresentCredentialsBeforeChallenge = YES;
    [request setAuthenticationScheme:(NSString *)kCFHTTPAuthenticationSchemeBasic];

    request.delegate = delegate;
    [request setDidFinishSelector:finishSelector];
    [request setDidFailSelector:failSelector];

    request.timeOutSeconds = 60;

    return request;
}

+ (UA_ASIHTTPRequest *)userRequestWithURL:(NSURL *)url method:(NSString *)method
                                 delegate:(id)delegate finish:(SEL)selector {
    return [self userRequestWithURL:url method:method delegate:delegate
                             finish:selector fail:@selector(requestWentWrong:)];
}

+ (UA_ASIHTTPRequest *)userRequestWithURL:(NSURL *)url method:(NSString *)method
                                 delegate:(id)delegate finish:(SEL)finishSelector fail:(SEL)failSelector {

    if (![UAirship shared].ready) {
        return nil;
    }

    UA_ASIHTTPRequest *request = [UA_ASIHTTPRequest requestWithURL:url];
    [request setRequestMethod:method];

    request.username = [UAUser defaultUser].username;
    request.password = [UAUser defaultUser].password;
    request.shouldPresentCredentialsBeforeChallenge = YES;
    [request setAuthenticationScheme:(NSString *)kCFHTTPAuthenticationSchemeBasic];

    request.delegate = delegate;
    [request setDidFinishSelector:finishSelector];
    [request setDidFailSelector:failSelector];

    request.timeOutSeconds = 60;

    return request;
}

+ (id)responseFromRequest:(UA_ASIHTTPRequest *)request {
    return [UAUtils parseJSON:request.responseString];
}

+ (id)parseJSON:(NSString *)responseString {
    UA_SBJsonParser *parser = [UA_SBJsonParser new];
    id result = [parser objectWithString:responseString];
    [parser release];
    return result;
}

+ (void)requestWentWrong:(UA_ASIHTTPRequest*)request {
    [self requestWentWrong:request keyword:nil];
}

+ (void)requestWentWrong:(UA_ASIHTTPRequest*)request keyword:(NSString *)keyword{
    UALOG(@"\n***** Request ERROR %@*****"
          @"\n\tError: %@"
          @"\nRequest:"
          @"\n\tURL: %@"
          @"\n\tHeaders: %@"
          @"\n\tMethod: %@"
          @"\n\tBody: %@"
          @"\nResponse:"
          @"\n\tStatus code: %d"
          @"\n\tHeaders: %@"
          @"\n\tBody: %@"
          @"\nUsing U/P: [ %@ / %@ ]",
          keyword ? [NSString stringWithFormat:@"[%@] ", keyword] : @"",
          request.error,
          request.url, request.requestHeaders, request.requestMethod, request.postBody,
          request.responseStatusCode, request.responseHeaders, request.responseString,
          request.username, request.password);
}

+ (NSString *)userAuthHeaderString {
    NSString *username = [UAUser defaultUser].username;
    NSString *password = [UAUser defaultUser].password;
    NSString *authString = UA_base64EncodedStringFromData([[NSString stringWithFormat:@"%@:%@", username, password] dataUsingEncoding:NSUTF8StringEncoding]);

    //strip carriage return and linefeed characters
    authString = [authString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    authString = [authString stringByReplacingOccurrencesOfString:@"\r" withString:@""];
    authString = [NSString stringWithFormat: @"Basic %@", authString];

    return authString;
}

@end


text:
Home > Bilancio EN 2012 > Report of the Board of Directors > Management of the main Business Risks
pag154 298 bil con ING.18 20
The following section looks at the main risks and uncertainties that the Group is potentially exposed to in the achievement of its business objectives/operations, together with a description of the ways in which said risks are managed.
To facilitate comprehension, risk factors have been grouped on the basis of their origin into homogeneous risk categories, with distinction between those that arise outside the Group (external risks) and those associated with the characteristics and structure of the organisation itself (internal risks).
In terms of external risks, first of all, the Group adopts a centralised management approach to financial risk (which includes risks of changes in interest rates and exchange rates, risks of changes in raw materials prices, credit risk and liquidity risk), described in further detail in the Explanatory and Supplementary Notes to the Consolidated Financial Statements which should be referred to ¹.
With regard to risks relating to competitors, the Group is one of the leading players in both the suspension components and filter sectors at a worldwide level, and benefits from a progressive consolidation of the market and the resulting gradual reduction in the number of competitors. In this scenario, the Group plays a major role in promoting market consolidation, as is evidenced by the recent acquisition of Systèmes Moteurs S.A.S. in air intake and engine cooling systems business, which permitted a strategic expansion of the Group's product line, ensured further penetration of the North American, Chinese and Indian markets and strengthened the Group's presence among European manufacturers.
With regard to the suspension components sector, the Group benefits from objective barriers to the entry of new competitors, as this sector is structurally capital intensive and a wide technological and qualitative gap puts manufacturers in low-cost countries at a disadvantage.
Similarly, the technological and qualitative gap represents a barrier to the entry of new competitors in the original equipment filter sector as well, while in the spare filter sector, important barriers to entry are represented by the Group's exhaustive product range and by the lack of notoriety of the brands of manufacturers in low-cost countries.
As regards the risks associated with customer management, as well as the management of credit risk already mentioned within financial risk, the Group manages the risk of the concentration of demand by appropriately diversifying its customer portfolio, both from a geographic perspective and in terms of distribution channel (the major world manufacturers of cars and industrial vehicles in the original equipment market and leading international customers in the spare parts market).
Credit risk has significantly diminished in the independent aftermarket (IAM) thanks to the recent reorganisation of the sector, whereas the overall upturn in sales volumes on global markets has helped to reduce the actually limited risk exposure with original equipment (OE) and original equipment spares (OES) customers. In addition, the Group makes increasing use of assignment of trade receivables without recourse.
As regards the risks associated with supplier management, mostly managed centrally by the Group, increased focus on multi-sourcing, especially from non-European suppliers and the ongoing search for alternate suppliers helps to reduce the risk of being excessively dependent on key suppliers/single suppliers.
It should be noted that this multi-sourcing approach, i.e. sourcing each raw material from multiple suppliers based in different world countries helps to reduce the risk of changes in raw materials prices mentioned earlier when discussing the management of financial risk.
The Group places particular attention on the management of country risk, given the considerable geographic diversification of its business activities at world level. In this regard, the Group constantly monitors the evolution of risks associated with the countries in which it operates. New investments are mainly located in countries with a lower risk. Furthermore, if certain plants are found to be operating under capacity in particular situations, production may be consolidated in other plants of the Group.
In terms of the risks associated with technological innovation, the Group constantly seeks to innovate products and production processes.
Specifically, the Group has implemented or is in the process of implementing certain product innovations that will enable it to retain its leading market and technology leading position, such as new elastic suspension components made from composite materials, a new oil cooling technology that uses aluminium foam, an innovative particulate emission control system and lubrication filters for drivetrain systems.
With regard to the risks related to health, safety and the environment, each subsidiary has its own internal function that manages HSE in accordance with local laws and in accordance with Sogefi Group's guidelines. More specifically, the Holding Company Sogefi S.p.A. has approved an Environmental Policy for Health and Safety, which sets out the principles that all operations of subsidiaries should observe for the organisation of the HSE management system. Special emphasis is placed on monitoring the risk of accidents, which is a pillar of the plant operating approach "Kaizen Way" adopted at all production sites across the world and coordinated by a dedicated central management team at the Holding Company.
In correlation with the environmental policy, 16 plants in the Engine Systems Division and 13 in the Suspension Components Division are currently certified as complying with the international standard ISO 14001. Within the Engine Systems Division, two companies have had their health and safety systems certified to the OHSAS 18001 standard. The activities carried out in the plants are audited by both experienced internal auditors and external auditors. Particular attention is paid to personnel training in order to consolidate and disseminate a safety culture.
Lastly, "Loss Prevention" plans are put into place in collaboration with current Group insurers on a yearly basis to control "property" risk exposure, through specific plant audits and action plans aimed at increasing the efficiency and effectiveness of safety devices.
As regards internal risks, namely risks associated with internal activities and with the characteristics of the organisation itself, one of the major risks identified, monitored and actively managed by the Group is the risk of product quality/complaints due to non conformity: in this regard, it is worth drawing attention to the fact that the two divisions of the Sogefi Group consider ongoing quality improvement as a fundamental objective to meet their customers' needs. Both divisions have therefore set up their own central organisations which continuously monitor quality, while each plant has local teams that work as complying with the principles of the quality policy of their respective division. In correlation with the quality policy, 18 plants in the Engine Systems Division and 17 in the Suspension Components Division are currently certified as complying with the international standard ISO TS 16949. Some plants' systems are certified according to business specifications. Unforeseeable risk is adequately covered by insurance, as regards both third party product liability and the potential launch of product recall campaigns.
One of the Group's future goals is to further enhance the quality monitoring system for supplied system components so as to further reduce non-conformities. More specifically, such goal is pursued through the ongoing improvement of organisational structures and procedures to enhance product and process control, coupled with the ongoing improvement of supplier quality evaluation systems.
With regard to the risks associated with adequacy of managerial support (e.g. the effectiveness/efficiency of Group monitoring and reporting, of internal information flows etc.), information can be found in the "Annual Report on Corporate Governance".
In terms of the set of risks associated with human resource management, the Group acknowledges the key role played by its human resources, a strategic partner, and the importance of maintaining clear relationships based on mutual loyalty and trust, as well as on the observance of conduct dictated by its Code of Ethics.
Working relationships are managed and coordinated in full respect of workers' right and in full acknowledgement of their contribution, with a view to encouraging development and professional growth. In particular, the Group has been placing increasing emphasis on recruiting, training and developing human resources, with special focus on identifying/developing talents, providing specific training, defining and promoting career paths and setting up incentive plans.
The Group also uses a system of annual performance appraisals based on a clear definition of shared objectives, which can be measured in numerical, economic, financial, qualitative and individual terms. A variable bonus is paid depending on the degree to which said objectives are achieved. As regards medium-long term incentive schemes, again in 2012 a stock option plan has been allocated to top management positions.
Lastly, with regard to the risks associated to the management of Information Systems, the Group manages the risks linked to the potential incompleteness/inadequacy of IT infrastructure and the risks related to the physical and logical safety of systems in terms of the protection of confidential data and information by means of specific units at group level. A key project focus aimed at improving the quality standard of corporate IT systems provides for the implementation of the "SAP" ERP system at all operations across the world, which is currently under way.
(1) For a detailed description of the centralised management of financial risk adopted by the Group, please see the "Explanatory and Supplementary Notes to the Consolidated Financial Statements", Chap. E, Note no. 39.

redpajama_set_name: RedPajamaCommonCrawl


Rado Centrix 38mm Two-Tone Black Ceramic & Yellow Gold PVD Watch R30929712. Yellow gold PVD 38mm case and bezel all on a high-tech black ceramic and yellow gold PVD bracelet. This stylish watch has a black dial with yellow gold detail as well as 4 diamond set hour markers (0.011ct) and a date display at the 3 o'clock position. Water resistant up to 30m and sapphire crystal glass. Quartz movement.


text:
Home / blog / The Most Entertaining Columbus Influencers You Need to Follow
The Most Entertaining Columbus Influencers You Need to Follow
I've never been one of the more adventurous or adventurous people in an outfit, but if I find myself in Columbus, Ohio, or watching the Super Bowl, I'm going to try to make it to the commercials to watch for the best of what's on. So I'm going to put myself out there and let you know what I'm in the mood for and what I'm into. For example, I have a soft spot for the Columbus Crew, as that is the soccer team I'm most obsessed with.
However, I really have to admit that I'm not a huge fan of the Columbus Blue Jackets.
I always think of the Blue Jackets as the team that got away with all the wrong things, and this is a perfect example of that. Columbus' soccer team has been doing a lot of things right, while the Blue Jackets have been doing a lot of things wrong. On the one hand, they've done a nice job of turning themselves around during the last few years. On the other hand, the Blue Jackets are also the worst team in the league. I'd say the best thing that the Blue Jackets have done is make it to the playoffs just once.
In Columbus, things are a little bit better because the Blue Jackets are finally in a position to be competitive.
In general, Columbus fans are good, but they're not the reason why they're good. This is how you know that you're winning, because you never really lose because it never really goes away. The Blue Jackets are really good at the wrong things. Columbus fans have been the best in the league for the last few years, but that might not be the only reason they have won. The Columbus faithful are some of the most entertaining people in the league. They make fun of other teams, and they make fun of themselves as well. They are also incredibly loyal, so when they believe that a player or coach is doing something the team should be doing, you can't argue.
It's easy to get caught up in Columbus fandom and forget how bad the Blue Jackets are at some other things, like the fact that they don't have a decent mascot. The Blue Jackets are just a team that wears a mask on the field and throws around a name. So no, this isn't like the Blue Jays. Columbus fans are very protective of their city.
They have a lot of friends who are actually from Columbus. Their best players are also friends of theirs. But they also have a lot of fans who are from elsewhere. This isn't the case with Columbus Hockey though. The Blue Jackets are the only team in the NHL with a mascot that isn't named after the team. They have a very good mascot named "The Blue Jacket.
So it's not the first time that the Columbus Hockey team has a mascot named after it. During the 2012-2013 season, they hired a local photographer to come up with a logo for their mascot. It was a very cool idea that actually ended up costing them a lot more than they wanted to spend. The Blue Jackets' mascot is now named after the city. They're just not the same team because of that.
The Most Entertaining Columbus Influencers You Need to Follow Reviewed by blogger on November 17, 2021 Rating: 5


text:
Thrust and Meniscal Lesions in Knee OA in the OAI
Sharma, Leena (PD/PI)
Chang, Alison H. (Co-PD/PI)
Dunlop, Dorothy D (Co-PD/PI)
Chang, Alison H. (Co-Investigator)
Physical Therapy and Human Movement Sciences
Medicine, Rheumatology Division
DESCRIPTION (provided by applicant): Local, mechanical factors are believed to play a central role in the development and progression of knee osteoarthritis (OA). The effect of a varus thrust may be potent. Visualized during the physical examination of gait observation, varus thrust is the bowing-out of the knee laterally [i.e. the abrupt first appearance of varus (bow-leg) or worsening of existing varus] while the limb is bearing weight during ambulation, with return to less varus more neutral when the limb is no longer bearing weight. There is preliminary evidence of the role of another local factor: meniscal tears may predict loss of articular cartilage integrity on MRI in persons with knee OA. The menisci, which play a key shock-absorbing role in the knee, are more likely to be torn or subluxed (extruded) with greater age. As a comprehensive examination of these factors, an ancillary to the Osteoarthritis Initiative (OAI) is proposed. The OAI is a prospective, longitudinal, cohort study of 4800 men and women either already with symptomatic, radiographic knee OA (the progression cohort) or at high risk to develop it (the incidence cohort). The OAI is occurring at 4 clinical sites with a coordinating center. The funded mission of the OAI is to identify and evaluate biomarkers for structural knee OA outcomes; to accelerate this work, all OAI data will be released to the public. Comprehensive knee image acquisition, including state-of-the-art bilateral 3.0T MRI and radiography, occurs in all OAI participants at baseline and annually. The OAI has been designed to include the full spectrum of knee OA disease. All the data in the proposed ancillary will join the OAI public data set at a specified time point. This study will primarily examine: the relationship of baseline varus thrust to worsening, over the following 3 years, of medial tibiofemoral OA, separately in knees without and with OA at baseline; the relationship of medial meniscal tear and subluxation and subsequent medial OA worsening; whether thrust leads to meniscal tear and subluxation; whether thrust and meniscal tears predict physical function decline. Secondarily, we will examine: the effects of valgus thrust and lateral meniscal lesions on lateral OA worsening; risk factors for incident thrust; the relationship of pain and thrust, over time. Adjustment will be made for potential confounders, which, in specific analyses, may include disease severity, disease progression, age, gender, BMI, physical activity, and injury.
National Institute of Arthritis and Musculoskeletal and Skin Diseases (5 R01 AR052918-04)
osteoarthritis Agriculture & Biology 100%
knees Agriculture & Biology 66%
lesions (animal) Agriculture & Biology 32%
limbs (animal) Agriculture & Biology 7%
cohort studies Agriculture & Biology 5%
radiography Agriculture & Biology 5%
disease progression Agriculture & Biology 5%


text:
Малік Ахмад Монк (англ. Malik Ahmad Monk, нар. 4 лютого 1998 року) – американський професійний баскетболіст, що виступає за команду Сакраменто Кінґс з Національної баскетбольної асоціації (НБА). В студентські роки грав за «Кентуккі Вайлдкетс».

Шкільна кар'єра
Монк спершу вступив до старшої школи округу Східний Пойнсет в Лепанто, штат Арканзас, на перший курс навчання. Будучи першокурсником, він набирав у середньому 22,8 очка, 4,6 підбирання та 2,7 передачі за гру, привівши команду до загального результату 25-8 та виступу в грі чемпіонату штату класу 2А. Після сезону першокурсника Монк перейшов до старшої школи Бентонвіля в Бентонвілі, штат Арканзас. На третьому курсі він набирав у середньому 26,6 очок за гру. Навесні та влітку 2015 року Монк виступав за команду Аматорського Спортивного Союзу (AAU), "Арканзас Вінгс Еліт", у змаганнях Nike Elite Youth Basketball Circuit (EYBL), де набирав у середньому 19,7 очка за гру. Потім він брав участь у змаганнях Nike Global Challenge 2015 року за команду Сходу, де набрав 22 очки, 12 підбирань та 4 передачі, і отримав титул MVP турніру. 18 листопада 2015 року Монк перейшов до Кентуккі. Будучи старшокурсником, він набирав у середньому 28,6 очка, 4,4 передачі та 7,6 підбирання за гру. У 2016 році Монк взяв участь в 2016 McDonald's All-American Game та Jordan Brand Classic, де отримав відзнаку Co-MVP разом із товаришем по команді з Кентуккі Де'Аароном Фоксом.

11 березня 2016 року Монк зіграв свою останню гру у старшій школі, набравши 19 очок в поразці 59-49 в чемпіонаті штату 7А від середньої школи Кабота.

Монк отримав 5 зірок за спільною думкою і був визнаний одним з найкращих гравців у класі 2016 року чотирма основними рекрутинговими сервісами Rivals, ESPN, Scout та 247 Sports. Монк ортримав 9 місце в загальному рейтингу та 1 серед атакувальних захисників у класі старшої школи 2016 року.

Студентська кар'єра
18 листопада 2015 року Монк написав у Twitter, що він буде виступати за Університет Кентуккі.

17 грудня 2016 року Монк встановив рекорд першого курсу університету Кентуккі, набравши 47 очок у перемозі над Університетом Північної Кароліни. Дванадцять днів по тому він набрав 34 очки з реалізацією 5 із 7 трьохочкових кидків у перемозі 99–76 над "Оле Міс". 21 січня 2017 року Малік набрав 27 очок у перемозі над Південною Кароліною з рахунком 85–69. 31 січня 2017 року він набрав 37 очок в грі проти "Джорджія Булдогз". 25 лютого 2017 року він зібрав 33 очки в перемозі над Флоридою 76–66. 28 лютого 2017 року Монк настріляв 27 очок у перемозі над Вандербільтом 73–67. Наприкінці сезону першокурсників Малік був визнаний Гравцем та Першокурсником Року Південно-східної конференції (SEC), і був одночасно включений як до першої загальної команди All-SEC, так і до команди усіх першокурсників SEC All-Freshman.

По завершенню сезону Монк оголосив, що відмовиться від останніх трьох років права навчання в університеті та прийме участь у драфті НБА 2017 року, де він, як очікувалось, мав бути вибраним у першому раунді.

Професійна кар'єра

Шарлотт Горнетс (2017 - дотепер)
22 червня 2017 року Монк був обраний під 11-м загальним номером на драфті НБА 2017 року "Шарлотт Горнетс". 2 липня 2017 р. він підписав свій контракт новачка з "Шершнями" на суму 15 726 047 доларів. Малік пропустив всю літню лігу НБА 2017 року через травму щиколотки. У своїй четвертій грі 25 жовтня 2017 року Монк записав 17 очок, 2 перехоплення та 2 передачі у перемозі над "Денвер Наггетс" 110–93. 1 листопада 2017 року, маючи під рукою тренера Кентуккі Джона Каліпарі, Монк набрав 25 очок у перемозі проти "Мілвокі Бакс" 126-121.

Під час свого першого сезону в НБА Монк був призначений на одну гру до складу команди "Горнетс" у G-лізі "Грінсборо Сворм". У грі 26 грудня 2017 року він набрав 25 очок, зібрав 8 підбирань та записав 4 передачі. 26 лютого 2020 року Монка було дискваліфіковано на невизначений термін через порушення політики НБА щодо вживання наркотичних речовин. До цього Малік набирав у середньому 10,3 очка та 2,9 підбирання за гру. Дискваліфікація була знята 8 червня 2017 року після того, як було встановлено, що він дотримується антинаркотичної програми.

Статистика

НБА

Регулярний сезон

|-
| style="text-align:left;"|
| style="text-align:left;"| Шарлотт
| 63 || 0 || 13.6 || .360 || .342 || .842 || 1.0 || 1.4 || .3 || .1 || 6.7
|-
| style="text-align:left;"|
| style="text-align:left;"| Шарлотт
| 73 || 0 || 17.2 || .387 || .330 || .882 || 1.9 || 1.6 || .5 || .3 || 8.9
|-
| style="text-align:left;"|
| style="text-align:left;"| Шарлотт
| 55 || 1 || 21.3 || .434 || .284 || .820 || 2.9 || 2.1 || .5 || .3 || 10.3
|-
| style="text-align:left;"|
| style="text-align:left;"| Шарлотт
| 42 || 0 || 20.9 || .434 || .401 || .819 || 2.4 || 2.1 || .5 || .1 || 11.7
|- class="sortbottom"
| style="text-align:center;" colspan="2"| Кар'єра
| 233 || 1 || 17.8 || .403 || .339 || .843 || 2.0 || 1.8 || .4 || .2 || 9.1

G-ліга НБА

Регулярний сезон

|-
| style="text-align:left;"| 2017–18
| style="text-align:left;"| Грінсборо
| 1 || 1 || 41.0 || .333 || .333 || – || 8.0 || 4.0 || 1.0 || .0 || 25.0
|- class="sortbottom"
| style="text-align:center;" colspan="2"| Кар'єра
| 1 || 1 || 41.0 || .333 || .333 || – || 8.0 || 4.0 || 1.0 || .0 || 25.0

Коледж

|-
| style="text-align:left;"| 2016–17
| style="text-align:left;"| Кентуккі
| 38 || 37 || 32.1 || .450 || .397 || .822 || 2.5 || 2.3 || .9 || .5 || 19.8

Особисте життя
Монк народився в родині Джекі Монк та Майкла Скейлза і є молодшим братом колишнього гравця в американський футбол Маркуса Монка.

Примітки

Баскетболісти «Шарлотт Горнетс»
Задрафтовані «Шарлотт Горнетс»
Афроамериканські баскетболісти
Атакувальні захисники
Спортсмени з Арканзасу
Баскетболісти «Лос-Анджелес Лейкерс»
Баскетболісти «Сакраменто Кінґс»

redpajama_set_name: RedPajamaWikipedia


text:
In the search for Franchise, we found: 25 perfect matches, 13 partial matches and 0 other matches.
Maurice, Frederick D.
The Workman and the Franchise: Chapters from English History on the Representation and Education of the People
(A. Kelley, 1970 rpt of 1866 edit.). Hardback. Fine. xvi + 244pp. Order No. NSBK-A2005
Keywords: 0678005923, franchise, politics, political reform, voting, election, Reform Acts, education, representation, Victorian, nineteenth century, workman, working-class, working class, electoral reform, Britain, British, England, English, history, Frederick Maurice, Maurice, Augustus M. Kelley reprints
Gardner, Viv, editor.
Sketches from the Actresses' Franchise League:
(Nottingham Drama Texts, Nottingham University, 1985). Paperback. Ex library. Covers soiled, usual library stamps and markings, minor scorings to text, otherwise good. 96pp. Order No. NSBK-C13914
Keywords: 0906129095, suffrage, suffragettes, suffragists, politics, political, rights, women's rights, women's movement, Votes for Women, woman, women's history, women's studies, women's suffrage, woman's suffrage, theatre, plays, theatrical, suffragette writers, playwrights, Edwardian, Pankhursts, actresses, acting, Actresses' Franchise League, Beatrice Harraden, Cicely Hamilton, Gertrude Jennings, Bessie Hatton, Inez Bensusan
Pack of 10 Suffragette Greetings Cards, .
John Bull and his Wife: Franchise Villa
(Portrayer Publishers, 2009). Pack of 10 greetings cards (all featuring the same design) including envelopes. Card measurements are 6 inches high by 4 inches wider. Blank interiors for your own message or for any occasion. The image is printed in vibrant colours and is taken from a suffragette poster, c. 1912. Mrs Bull tries to beat an entry into Franchise Villa, while her husband, John Bull, refuses to let her in. Please note that the sample electronic image, unlike the cards themselves, is watermarked and reduced in quality, to prevent image theft. Brand new, fine. pp. Order No. NSBK-C14484
Keywords: suffrage, suffragette, suffragist, women's rights, Votes for Women, women and politics, women's politics, politics, Britain, British, England, English, history, greeting card, greeting cards, cards, suffragette images, suffragettes, propaganda, envelopes, suffrage imagery, card, picture, pictures, cartoons, art, suffragette art, art, illustration, illustrations, twentieth century, 20th century, twentieth century, portrayer, portrayer publishers, suffragette greetings cards, greetings card, Christmas gifts, suffragette ephemera, new, John Bull, enfranchisement
Brash, J. I., ed.
Papers on Scottish Electoral Politics, 1832-1854:
(T. & A Constable, 1974). Hardback. Slight wear to spine ends, otherwise very good. lxiv + 305pp. Order No. NSBK-A5569
Keywords: 0950026077, Scottish, Scotland, Scots, history, electoral, elections, politics, nineteenth century, 1830s, 1840s, 1850s, British history, Britain, voting, voters, franchise, Whigs, Whig government
Suffragette Poster, .
Torturing Women in Prison: Vote Against the Government
(Portrayer Publishers, reprint, 2003). A modern reproduction of this suffragette poster, originally produced by The National Women's Social and Political Union. Printed with archival inks on premium paper (200 GSM, Silk Art, photographic print). Size of the paper is 450mm x 320mm and image is approx 435mm x 305mm. Poster shows a prison cell in which a woman is being forcibly held down in a chair by a man and a woman, whilst another man pours liquid down a tube into the woman's nose. Written on the prison wall are the words "votes for women". Poster. Brand new, fine. pp. Order No. NSBK-C6877
Keywords: B001F12JES, Portrayer Publishers, suffragettes, suffragette poster, suffragette posters, Votes for Women, woman suffrage, history, women, enfranchisement, franchise, women's movement, politics, England, English, cartoons, suffrage, politics, anti-suffrage, male attitudes, images, imagery, women, women's, representations, pictures, poster, posters, enfranchisement, the franchise, reproductions, modern reproductions, print, prints, torture, force feed, force, feed, feeding, force feeding, forced feeding, forced, forced to eat, WSPU, Women's Social and Political Union, Britain, British, Christmas gifts, suffragette ephemera
Justice Demands the Vote:
(Portrayer Publishers, reprint, 2003). A modern reproduction of this suffragette poster, originally published by the Brighton and Hove Women's Francise Society, 191x (exact date uncertain). Printed with archival inks on premium paper (300 GSM, Silk Art, photographic print). Poster (in varying shades of brown and black) shows a woman holding a banner ("Justice Demands the Vote"), next to a shrouded woman holding the scales of justice. They're held back by a rope tied to two posts. Below the steps, a shrouded mother cuddles her baby and another woman in period fashion looks on. Size of the paper is 450mm x 320mm and image is approx 435mm x 305mm. Poster. Brand new, fine. pp. Order No. NSBK-C6881
Keywords: B001F3V7UI, Portrayer Publishers, suffragettes, suffragette poster, suffragette posters, Votes for Women, woman suffrage, history, women, enfranchisement, franchise, women's movement, politics, England, English, cartoons, suffrage, politics, images, imagery, women, women's, representations, pictures, poster, posters, enfranchisement, the franchise, reproductions, modern reproductions, print, prints, votes for women, votes, voting, voter, woman, women's suffrage, law and order, justice, Brighton and Hove Women's Francise Society, Sussex, picture, Portrayer, Christmas gifts, suffragette ephemera
Convicts, Lunatics and Women! Have No Vote for Parliament!: She: It is Time I Got Out of this Place - Where Shall I Find the KEY?
(Portrayer Publishers, rpt, 2003). A modern reproduction of this suffragette poster by artist Emily J. Harding Andrews. (Originally published by the Artists' Suffrage League). Printed with archival inks on premium paper (300 GSM, Silk Art, photographic print). Poster (in brown, gold and cream sepia) shows an educated woman, wearing cap and gown, and standing inside locked gates with a convict and a "lunatic". Two books lean against the gates from the outside. Size of the paper is 450mm x 320mm and image is approx 435mm x 305mm. Poster. Brand new, fine. pp. Order No. NSBK-C6876
Keywords: B001F3GY7Y, Portrayer Publishers, suffragettes, suffragette poster, suffragette posters, Votes for Women, woman suffrage, history, women, enfranchisement, franchise, women's movement, politics, England, English, cartoons, suffrage, politics, anti-suffrage, male attitudes, images, imagery, women, women's, representations, pictures, poster, posters, enfranchisement, the franchise, reproductions, modern reproductions, print, prints, convicts, lunatics, convict, lunatic, Emily J. Harding Andrews, Artists' Suffrage League, Britain, British, Christmas gifts, suffragette ephemera
Royle, Edward.
Chartism:
(Longman, 1980). Seminar Studies in History. Paperback. Covers slightly soiled, otherwise good. 142pp. Order No. NSBK-A10251
Keywords: 0582352282, chartists, chartist, social history, chartism, radicalism, chartist movement, nineteenth century, British, English, Britain, England, radicals, franchise
Suffragette Poster, Modern Reproduction.
Votes for Women Wanted Everywhere:
(Portrayer Publishers, 2007). Paper: SRA3 = 320mm by 450mm. Image: A3 = 297mm by 420mm. 300 GMS gloss art high quality poster paper, coated and treated. Reproduction of an attractive suffragette poster advertising "Votes for Women", the Pethick-Lawrence edited newspaper, founded in October 1907. The colours are green, grey, purple and white and the image depicts a suffragette in contemporary dress standing in a field and holding aloft a copy of the newspaper. Poster. Brand new, fine. pp. Order No. NSBK-C13071
Keywords: B000UZVP7M, Portrayer Publishers, suffragettes, suffragette poster, suffragette posters, Votes for Women, woman suffrage, history, women, enfranchisement, franchise, women's movement, politics, England, English, illustrations, suffrage, politics, images, imagery, women, women's, representations, pictures, poster, posters, enfranchisement, the franchise, reproductions, modern reproductions, print, prints, WSPU, Women's Social and Political Union, Britain, British, Christmas gifts, suffragette ephemera, newspapers, new design
Ashton, Owen; Fyson, Robert & Roberts, S., eds.
The Chartist Legacy:
(Merlin, 1999). Paperback. Very good. xvi + 297pp. Order No. NSBK-A3661
Keywords: 0850364841, Chartists, Chartist movement, Chartism, radicalism, popular protest, nineteenth century, Victorian, socialism, reform, politics, franchise, votes, suffrage, working class, representation
Suffragette ephemera
Portrayer Publishers
Working-class
Modern reproductions


text:
package com.evolveum.midpoint.repo.common.task;

import com.evolveum.midpoint.prism.PrismProperty;
import com.evolveum.midpoint.prism.polystring.PolyString;
import com.evolveum.midpoint.prism.util.CloneUtil;
import com.evolveum.midpoint.repo.api.PreconditionViolationException;
import com.evolveum.midpoint.repo.cache.RepositoryCache;
import com.evolveum.midpoint.repo.common.util.RepoCommonUtils;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResultBuilder;
import com.evolveum.midpoint.schema.result.OperationResultStatus;
import com.evolveum.midpoint.schema.statistics.StatisticsUtil;
import com.evolveum.midpoint.schema.util.ExceptionUtil;
import com.evolveum.midpoint.task.api.*;
import com.evolveum.midpoint.util.exception.SystemException;
import com.evolveum.midpoint.util.logging.LevelOverrideTurboFilter;
import com.evolveum.midpoint.util.logging.TracingAppender;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import org.apache.commons.lang.StringUtils;

import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.ResultHandler;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.util.exception.CommunicationException;
import com.evolveum.midpoint.util.exception.ConfigurationException;
import com.evolveum.midpoint.util.exception.ExpressionEvaluationException;
import com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.PolicyViolationException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.SecurityViolationException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;

/**
 * @author semancik
 *
 */
public abstract class AbstractSearchIterativeResultHandler<O extends ObjectType> implements ResultHandler<O> {

    public static final int WORKER_THREAD_WAIT_FOR_REQUEST = 500;
    protected static final long REQUEST_QUEUE_OFFER_TIMEOUT = 1000L;

    private final TaskManager taskManager;
    private final RunningTask coordinatorTask;
    private final String taskOperationPrefix;
    private final String processShortName;
    private String contextDesc;
    private AtomicInteger objectsProcessed = new AtomicInteger();
    private long initialProgress;
    private AtomicLong totalTimeProcessing = new AtomicLong();
    private AtomicInteger errors = new AtomicInteger();
    private boolean stopOnError;
    private boolean logObjectProgress;
    private boolean logErrors = true;
    private boolean recordIterationStatistics = true;                // whether we want to do these ourselves or we let someone else do that for us
    private boolean enableIterationStatistics = true;                // whether we want to collect these statistics at all
    private boolean enableSynchronizationStatistics = false;        // whether we want to collect sync statistics
    private boolean enableActionsExecutedStatistics = false;        // whether we want to collect repo objects statistics
    private BlockingQueue<ProcessingRequest> requestQueue;
    private AtomicBoolean stopRequestedByAnyWorker = new AtomicBoolean(false);
    private final long startTime;

    private static final transient Trace LOGGER = TraceManager.getTrace(AbstractSearchIterativeResultHandler.class);
    private volatile boolean allItemsSubmitted = false;

    private List<OperationResult> workerSpecificResults;

    private TaskPartitionDefinitionType stageType;

    public AbstractSearchIterativeResultHandler(RunningTask coordinatorTask, String taskOperationPrefix, String processShortName,
            String contextDesc, TaskManager taskManager) {
        this(coordinatorTask, taskOperationPrefix, processShortName, contextDesc, null, taskManager);
    }

    public AbstractSearchIterativeResultHandler(RunningTask coordinatorTask, String taskOperationPrefix, String processShortName,
            String contextDesc, TaskPartitionDefinitionType taskStageType, TaskManager taskManager) {
        super();
        this.coordinatorTask = coordinatorTask;
        this.taskOperationPrefix = taskOperationPrefix;
        this.processShortName = processShortName;
        this.contextDesc = contextDesc;
        this.taskManager = taskManager;

        this.stageType = taskStageType;

        stopOnError = true;
        startTime = System.currentTimeMillis();
        initialProgress = coordinatorTask.getProgress();
    }

    protected String getProcessShortName() {
        return processShortName;
    }

    protected String getProcessShortNameCapitalized() {
        return StringUtils.capitalize(processShortName);
    }

    public String getContextDesc() {
        if (contextDesc == null) {
            return "";
        }
        return contextDesc;
    }

    public void setContextDesc(String contextDesc) {
        this.contextDesc = contextDesc;
    }

    public Task getCoordinatorTask() {
        return coordinatorTask;
    }

    public String getTaskOperationPrefix() {
        return taskOperationPrefix;
    }

    public boolean isLogObjectProgress() {
        return logObjectProgress;
    }

    public void setLogObjectProgress(boolean logObjectProgress) {
        this.logObjectProgress = logObjectProgress;
    }

    public boolean isRecordIterationStatistics() {
        return recordIterationStatistics;
    }

    public void setRecordIterationStatistics(boolean recordIterationStatistics) {
        this.recordIterationStatistics = recordIterationStatistics;
    }

    public boolean isEnableIterationStatistics() {
        return enableIterationStatistics;
    }

    public void setEnableIterationStatistics(boolean enableIterationStatistics) {
        this.enableIterationStatistics = enableIterationStatistics;
    }

    public boolean isEnableSynchronizationStatistics() {
        return enableSynchronizationStatistics;
    }

    public void setEnableSynchronizationStatistics(boolean enableSynchronizationStatistics) {
        this.enableSynchronizationStatistics = enableSynchronizationStatistics;
    }

    public boolean isEnableActionsExecutedStatistics() {
        return enableActionsExecutedStatistics;
    }

    public void setEnableActionsExecutedStatistics(boolean enableActionsExecutedStatistics) {
        this.enableActionsExecutedStatistics = enableActionsExecutedStatistics;
    }

    @Override
    public boolean handle(PrismObject<O> object, OperationResult parentResult) {
        if (object.getOid() == null) {
            throw new IllegalArgumentException("Object has null OID");
        }

        ProcessingRequest request = new ProcessingRequest(object);
        if (requestQueue != null) {
            // by not putting anything in the parent result we hope the status will be SUCCESS
            try {
                while (!requestQueue.offer(request, REQUEST_QUEUE_OFFER_TIMEOUT, TimeUnit.MILLISECONDS)) {
                    if (shouldStop(parentResult)) {
                        return false;
                    }
                }
            } catch (InterruptedException e) {
                recordInterrupted(parentResult);
                return false;
            }
        } else {
            processRequest(request, coordinatorTask, parentResult);            // coordinator is also a worker here
        }

        return !shouldStop(parentResult);
    }

    // stop can be requested either internally (by handler or error in any worker thread)
    // or externally (by the task manager)
    private boolean shouldStop(OperationResult parentResult) {
        if (stopRequestedByAnyWorker.get()) {
            return true;
        }

        if (!coordinatorTask.canRun()) {
            recordInterrupted(parentResult);
            return true;
        }
        return false;
    }

    private void recordInterrupted(OperationResult parentResult) {
        parentResult.createSubresult(taskOperationPrefix + ".handle").recordWarning("Interrupted");
        LOGGER.warn("{} {} interrupted", getProcessShortNameCapitalized(), getContextDesc());
    }

    public void signalAllItemsSubmitted() {
        allItemsSubmitted = true;
    }

    public Float getAverageTime() {
        long count = getProgress();
        if (count > 0) {
            long total = totalTimeProcessing.get();
            return (float) total / (float) count;
        } else {
            return null;
        }
    }

    public Float getWallAverageTime() {
        long count = getProgress();
        if (count > 0) {
            return (float) getWallTime() / (float) count;
        } else {
            return null;
        }
    }

    public long getWallTime() {
        return System.currentTimeMillis() - startTime;
    }

    public void waitForCompletion(OperationResult opResult) {
        taskManager.waitForTransientChildren(coordinatorTask, opResult);
    }

    public void updateOperationResult(OperationResult opResult) {
        if (workerSpecificResults != null) {                                // not null in the parallel case
            for (OperationResult workerSpecificResult : workerSpecificResults) {
                workerSpecificResult.computeStatus();
                workerSpecificResult.summarize();
                opResult.addSubresult(workerSpecificResult);
            }
        }
        opResult.computeStatus("Issues during processing");

        if (getErrors() > 0) {
            opResult.setStatus(OperationResultStatus.PARTIAL_ERROR);
        }
    }

    public void completeProcessing(Task task, OperationResult result) {
        signalAllItemsSubmitted();
        waitForCompletion(result);              // in order to provide correct statistics results, we have to wait until all child tasks finish
        updateOperationResult(result);
    }

    class WorkerHandler implements LightweightTaskHandler {
        private OperationResult workerSpecificResult;

        public WorkerHandler(OperationResult workerSpecificResult) {
            this.workerSpecificResult = workerSpecificResult;
        }

        @Override
        public void run(RunningTask workerTask) {

            // temporary hack: how to see thread name for this task
            workerTask.setName(workerTask.getName().getOrig() + " (" + Thread.currentThread().getName() + ")");
            workerSpecificResult.addArbitraryObjectAsContext("subtaskName", workerTask.getName());

            while (workerTask.canRun()) {
                workerTask.refreshLowLevelStatistics();
                ProcessingRequest request;
                try {
                    request = requestQueue.poll(WORKER_THREAD_WAIT_FOR_REQUEST, TimeUnit.MILLISECONDS);
                } catch (InterruptedException e) {
                    LOGGER.trace("Interrupted when waiting for next request", e);
                    workerTask.refreshLowLevelStatistics();
                    return;
                }
                workerTask.refreshLowLevelStatistics();
                if (request != null) {
                    processRequest(request, workerTask, workerSpecificResult);
                } else {
                    if (allItemsSubmitted) {
                        LOGGER.trace("queue is empty and nothing more is expected - exiting");
                        return;
                    }
                }
            }
        }
    }

    private void processRequest(ProcessingRequest request, RunningTask workerTask, OperationResult parentResult) {

        PrismObject<O> object = request.object;

        String objectName = PolyString.getOrig(object.getName());
        String objectDisplayName = getDisplayName(object);

        // just in case an exception occurs between this place and the moment where real result is created
        OperationResult result = new OperationResult("dummy");
        boolean tracingRequested = false;

        boolean cont;

        long startTime = System.currentTimeMillis();

        RepositoryCache.enter(taskManager.getCacheConfigurationManager());

        try {
            if (!isNonScavengingWorker()) {     // todo configure this somehow
                int objectsSeen = coordinatorTask.getAndIncrementObjectsSeen();
                workerTask.startDynamicProfilingIfNeeded(coordinatorTask, objectsSeen);
                workerTask.requestTracingIfNeeded(coordinatorTask, objectsSeen, TracingRootType.ITERATIVE_TASK_OBJECT_PROCESSING);
            }
            if (LOGGER.isTraceEnabled()) {
                LOGGER.trace("{} starting for {} {}", getProcessShortNameCapitalized(), object, getContextDesc());
            }

            if (isRecordIterationStatistics()) {
                workerTask.recordIterativeOperationStart(objectName, objectDisplayName,
                        null /* TODO */, object.getOid());
            }

            OperationResultBuilder builder = parentResult.subresult(taskOperationPrefix + ".handle")
                    .addParam("object", object);
            if (workerTask.getTracingRequestedFor().contains(TracingRootType.ITERATIVE_TASK_OBJECT_PROCESSING)) {
                tracingRequested = true;
                builder.tracingProfile(taskManager.getTracer().compileProfile(workerTask.getTracingProfile(), parentResult));
            }
            result = builder.build();

            // The meat
            cont = handleObject(object, workerTask, result);

            // We do not want to override the result set by handler. This is just a fallback case
            if (result.isUnknown() || result.isInProgress()) {
                result.computeStatus();
            }

            if (result.isError()) {
                // Alternative way how to indicate an error.
                if (isRecordIterationStatistics()) {
                    workerTask.recordIterativeOperationEnd(objectName, objectDisplayName,
                            null /* TODO */, object.getOid(), startTime, RepoCommonUtils.getResultException(result));
                }

                cont = processError(object, workerTask, RepoCommonUtils.getResultException(result), result);
            } else {
                if (isRecordIterationStatistics()) {
                    workerTask.recordIterativeOperationEnd(objectName, objectDisplayName,
                            null /* TODO */, object.getOid(), startTime, null);
                }
            }

        } catch (CommonException | PreconditionViolationException | Error | RuntimeException e) {
            if (isRecordIterationStatistics()) {
                workerTask.recordIterativeOperationEnd(objectName, objectDisplayName,
                        null /* TODO */, object.getOid(), startTime, e);
            }
            try {
                cont = processError(object, workerTask, e, result);
            } catch (ObjectNotFoundException | CommunicationException | SchemaException | ConfigurationException
                    | SecurityViolationException | PolicyViolationException | ExpressionEvaluationException
                    | ObjectAlreadyExistsException | PreconditionViolationException e1) {
                // TODO Is this OK? We should not throw runtime exceptions from the handler. [pm]
                throw new SystemException(e1);
            }
        } finally {
            RepositoryCache.exit();
            workerTask.stopDynamicProfiling();
            workerTask.stopTracing();

            long duration = System.currentTimeMillis()-startTime;
            long total = totalTimeProcessing.addAndGet(duration);
            long progress = initialProgress + objectsProcessed.incrementAndGet();

            result.addContext(OperationResult.CONTEXT_PROGRESS, progress);

            // parentResult is worker-thread-specific result (because of concurrency issues)
            // or parentResult as obtained in handle(..) method in single-thread scenario
            parentResult.summarize();

            synchronized (coordinatorTask) {
                coordinatorTask.setProgress(progress);
                if (requestQueue != null) {
                    workerTask.setProgress(workerTask.getProgress()+1);
                }
                // todo report current op result?
                // FIXME this should not be called from the worker task!
                coordinatorTask.storeOperationStatsIfNeeded();  // includes flushPendingModifications
            }

            if (logObjectProgress) {
                if (LOGGER.isInfoEnabled()) {
                    LOGGER.info("{} object {} {} done with status {} (this one: {} ms, avg: {} ms) (total progress: {}, wall clock avg: {} ms)",
                            getProcessShortNameCapitalized(), object,
                            getContextDesc(), result.getStatus(),
                            duration, total/progress, progress,
                            (System.currentTimeMillis()-this.startTime)/progress);
                }
            }

            if (tracingRequested) {
                taskManager.getTracer().storeTrace(workerTask, result, parentResult);
                TracingAppender.terminateCollecting();  // todo reconsider
                LevelOverrideTurboFilter.cancelLoggingOverride();   // todo reconsider
            }
            if (result.isSuccess() && !tracingRequested && !result.isTraced()) {
                // FIXME: hack. Hardcoded ugly summarization of successes. something like
                //   AbstractSummarizingResultHandler [lazyman]
                result.getSubresults().clear();
            }
        }

        if (LOGGER.isTraceEnabled()) {
            LOGGER.trace("{} finished for {} {}, result:\n{}", getProcessShortNameCapitalized(), object, getContextDesc(),
                    result.debugDump());
        }

        if (!cont) {
            stopRequestedByAnyWorker.set(true);
        }
    }

    private boolean isNonScavengingWorker() {
        return coordinatorTask.getWorkManagement() != null &&
                coordinatorTask.getWorkManagement().getTaskKind() == TaskKindType.WORKER &&
                !Boolean.TRUE.equals(coordinatorTask.getWorkManagement().isScavenger());
    }

    // may be overridden
    protected String getDisplayName(PrismObject<O> object) {
        return StatisticsUtil.getDisplayName(object);
    }

    // TODO implement better

    // @pre: result is "error" or ex is not null
    private boolean processError(PrismObject<O> object, Task task, Throwable ex, OperationResult result) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException, SecurityViolationException, PolicyViolationException, ExpressionEvaluationException, ObjectAlreadyExistsException, PreconditionViolationException {
        int errorsCount = errors.incrementAndGet();
        LOGGER.trace("Processing error, count: {}", errorsCount);

        String message;
        if (ex != null) {
            message = ex.getMessage();
        } else {
            message = result.getMessage();
        }
        if (logErrors && LOGGER.isErrorEnabled()) {
            LOGGER.error("{} of object {} {} failed: {}", getProcessShortNameCapitalized(), object, getContextDesc(), message, ex);
        }
        // We do not want to override the result set by handler. This is just a fallback case
        if (result.isUnknown() || result.isInProgress()) {
            assert ex != null;
            result.recordFatalError("Failed to "+getProcessShortName()+": "+ex.getMessage(), ex);
        }
        result.summarize();
        return !isStopOnError(task, ex, result);
//        return !isStopOnError();
    }

    private boolean isStopOnError(Task task, Throwable ex, OperationResult result) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException, SecurityViolationException, PolicyViolationException, ExpressionEvaluationException, ObjectAlreadyExistsException, PreconditionViolationException {
        if (stageType == null) {
            return stopOnError;
        }

        CriticalityType criticality = ExceptionUtil.getCriticality(stageType.getErrorCriticality(), ex, CriticalityType.PARTIAL);
        RepoCommonUtils.processErrorCriticality(task, criticality, ex, result);

        return stopOnError;
    }

    /**
     * @return the stageType
     */
    public TaskPartitionDefinitionType getStageType() {
        return stageType;
    }

    public long heartbeat() {
        // If we exist then we run. So just return the progress count.
        return getProgress();
    }

    public long getProgress() {
        return objectsProcessed.get();
    }

    public long getErrors() {
        return errors.get();
    }

    public boolean isStopOnError() {
        return stopOnError;
    }

    public void setStopOnError(boolean stopOnError) {
        this.stopOnError = stopOnError;
    }

    public boolean isLogErrors() {
        return logErrors;
    }

    public void setLogErrors(boolean logErrors) {
        this.logErrors = logErrors;
    }

    protected abstract boolean handleObject(PrismObject<O> object, RunningTask workerTask, OperationResult result) throws CommonException, PreconditionViolationException;

    public class ProcessingRequest {
        public PrismObject<O> object;

        public ProcessingRequest(PrismObject<O> object) {
            this.object = object;
        }
    }

    public void createWorkerThreads(RunningTask coordinatorTask, OperationResult opResult) {
        Integer threadsCount = getWorkerThreadsCount(coordinatorTask);
        if (threadsCount == null || threadsCount == 0) {
            return;             // nothing to do
        }

        // remove subtasks that could have been created during processing of previous buckets
        coordinatorTask.deleteLightweightAsynchronousSubtasks();

        int queueSize = threadsCount*2;                // actually, size of threadsCount should be sufficient but it doesn't hurt if queue is larger
        requestQueue = new ArrayBlockingQueue<>(queueSize);

        workerSpecificResults = new ArrayList<>(threadsCount);

        for (int i = 0; i < threadsCount; i++) {
            // we intentionally do not put worker specific result under main operation result until the handler is done
            // (because of concurrency issues - adding subresults vs e.g. putting main result into the task)
            OperationResult workerSpecificResult = new OperationResult(taskOperationPrefix + ".handleAsynchronously");
            workerSpecificResult.addContext("subtaskIndex", i+1);
            workerSpecificResults.add(workerSpecificResult);

            RunningTask subtask = coordinatorTask.createSubtask(new WorkerHandler(workerSpecificResult));
            if (isEnableIterationStatistics()) {
                subtask.resetIterativeTaskInformation(null);
            }
            if (isEnableSynchronizationStatistics()) {
                subtask.resetSynchronizationInformation(null);
            }
            if (isEnableActionsExecutedStatistics()) {
                subtask.resetActionsExecutedInformation(null);
            }
            subtask.setCategory(coordinatorTask.getCategory());
            subtask.setResult(new OperationResult(taskOperationPrefix + ".executeWorker", OperationResultStatus.IN_PROGRESS, (String) null));
            subtask.setName("Worker thread " + (i+1) + " of " + threadsCount);
            subtask.setExecutionEnvironment(CloneUtil.clone(coordinatorTask.getExecutionEnvironment()));
            subtask.startLightweightHandler();
            LOGGER.trace("Worker subtask {} created", subtask);
        }
    }

    protected Integer getWorkerThreadsCount(Task task) {
        PrismProperty<Integer> workerThreadsPrismProperty = task.getExtensionPropertyOrClone(SchemaConstants.MODEL_EXTENSION_WORKER_THREADS);
        if (workerThreadsPrismProperty != null && workerThreadsPrismProperty.getRealValue() != null) {
            return workerThreadsPrismProperty.getRealValue();
        } else {
            return null;
        }
    }

}

redpajama_set_name: RedPajamaGithub


Business Description: Whether your legal need is simple or complex, Holth & Kollman will aggressively advocate on your behalf. By choosing Holth & Kollman, you can be assured professional, personal, one-to-one representation by an established law firm, with an unrivaled reputation for trust and integrity. Successfully serving clients in New London County, Middlesex County, and Windham County for over 45 years.
Business Description: At Polito & Associates of Waterford, CT, your peace-of-mind is our first priority. It's about more than just the settlement. We want to help prepare you for the future – so that your treatment, your home, your job, your family, and your life are all in order. Our Waterford – New London, CT & RI personal injury attorneys work with clients one–on–one, striving to form meaningful, lasting relationships. As a result, many former clients refer their family and friends to us. Within personal injury law, our practice areas are focused and extensive. We handle topics ranging from auto accidents to medical malpractice, from spinal cord injury to wrongful death.


(Reuters) - Ireland's Teckro, which makes software that allows physicians to take part in drug development trials from mobile devices, has won $25 million (19 million pounds) in financial backing from investors, as it hatches longer-term plans for a stock market listing.
A fund managed by Bill Maris, the former head of Google's venture capital arm, as well as Founders Fund, an early backer of SpaceX and Airbnb, took part in the latest funding round, it said on Thursday.
It will allow Teckro to expand internationally and develop its machine-learning based digital platform, which it sells to drugmakers.
The drug companies, in turn, make the software available to physicians and nurses involved in the clinical development studies they sponsor.
Testing on humans is by far the most expensive part of bringing experimental drugs to market.
Those costs are rising as the science behind the drug becomes more complex and Teckro says it can simplify the process by moving some of the paperwork into digital form and by allowing doctors to quickly retrieve information.
"It's really about providing answers to day-to-day questions any doctor and nurse may have in the context of a clinical trial in an instant," said co-founder and Chief Executive Gary Hughes.
The healthcare industry is quickly adopting digital business models, using tools from computer-aided molecular drug design to artificial intelligence to analyse patients' treatment history or genetic code.
Pharma majors Novartis, GlaxoSmithKline and Pfizer have created the role of chief digital officer over the past two years.
Teckro's system is already used by more than 10,000 healthcare practitioners and its commercial customers include global pharma majors as well as smaller biotech firms, said Hughes. He declined to provide names.
The latest round takes Teckro's total funding to $43 million. Hughes declined to say what percentage in the company the investors received in return or what price tag the transaction puts on the entire company.
If the administrative hassle of clinical trials can be reduced more community hospitals will eventually be able to participate in them, he added.
While Teckro's three founders sold a previous venture, Firecrest, in 2011, Hughes vowed that they have longer-term ambitions for Teckro, which was founded in 2015.


Saturday, March 17 in Wichita offers a unique combination of special events: the third session games of the 2018 NCAA Men's Basketball Championship and St. Patrick's Day.
You'll find festivities surrounding throughout the city with a high concentration in downtown, Old Town, Delano and the Douglas Design District.
Two NCAA basketball games are being played at INTRUST Bank Arena on Saturday. Both games are part of Session 3 with tipoff at 6:10 p.m. for the University of Kansas vs. Seton Hall, followed by Houston vs. Michigan.
If you have tickets for the games, it'll be convenient to partake in St. Paddy's Day before or after. And if you don't have tickets, there are fan events surrounding the arena that will allow you to feel the madness.
All of the following are within blocks of the arena or accessible on the free Q-Line Trolley from the arena area.
For a complete list of events while you're in Wichita, visit our calendar of events page. For a comprehensive guide to enjoying the NCAA tournament in Wichita, check out our welcome page for basketball fans.


Outside of work, I: Am a cheerleader at my kids' games, and design assistant and laborer for my wife's honey-do list.
If I wasn't doing real estate, I'd be: Wondering why I'm not doing real estate.
Kinzer and the team are renowned for a high level of expertise in the full spectrum of real estate-related services – above and beyond standard brokerage.
Kinzer keeps a very consultative approach with clients, which is something I practice and believe in.


The following story appears in the Sept. 25 issue of ESPN The Magazine. Click here to download the full insert.
It's an hour after skateboard street finals at this summer's X Games in LA, and Chaz Ortiz is locked in a game of Skate 2 in the PlayStation trailer. Ortiz, 15, repeatedly tries to land a trick he dreamed up about five minutes ago -- a superdupe backflip on a megaramp. He is close, but he can't quite get the board to touch down wheels first. His opponent is Jon, a 14-year-old fan who won the chance to play Skate 2 against Ortiz, his favorite skater. Jon is a model of consistency. As time runs out, he easily tops Ortiz's high score of 2,200. Game over.
One more run each, Ortiz says, half-asking. He misses again. A PlayStation rep walks into the trailer and announces: It's time for an autograph signing with Chaz Ortiz! A line begins to form in front of the trailer, but Ortiz is still at the PS3, controller in hand. "One more try," he says. Again he misses. "Okay, cool," Ortiz says. He turns to the rep, then immediately 180s to face the video screen again. "One more try, he says. "I've got this." He's not wired to give up.
That single-minded circuitry helps make Ortiz one of the best street skaters in the world. The hours spent obsessively practicing new tricks is why every movement on his board appears effortless, as if he were born knowing how to front board-slide a 12-stair rail. At only 5'4", 110 pounds, the Chicago native also goes big at contests, attacking rails and throwing himself over gaps.
Still, fans and sponsors aren't lining up simply because Ortiz is a gifted skater. It's his image that has everyone clamoring for more. Ortiz speaks the way he skates, with an air of cool confidence. He's charming and approachable. His look is equal parts East Coast hip-hop and SoCal skate rat. Kids aspire to skate and dress and talk like him. Even street-skating vet Paul Rodriguez, nine years his senior, has attached himself to Ortiz.
Rodriguez has become both friend and mentor, helping Ortiz navigate life as a teen celebrity. And while Ortiz idolizes P-Rod, the veteran now finds himself looking up to his protégé: Ortiz is in position to repeat as Dew Cup champ in skate park (as of Sept. 16, he led the standings with two events remaining; Rodriguez was in fourth place).
But when it comes to beating Jon at Skate 2, Ortiz has a way to go. He misses the superdupe backflip on his final try and shakes hands with Jon. "Guess I'm going to have to keep practicing," he says, smiling beneath his white, flat-brimmed DC hat, cocked to 8 o'clock. Ortiz is competitive, sure. But he also uses his failures as fuel for tomorrow. That attitude is what kept Ortiz from spending the afternoon bummed out in his hotel room. The previous day, he missed qualifying for skateboard street finals by one spot. That meant no medal, no TV time and a long wait until next year. "I did everything I could," Ortiz says. "But I'm only 15. I've got a lot of years to come to X Games and win."
He sucked up his disappointment and stood front and center as a spectator to cheer his buddy Rodriguez, who took gold. "It was cool to see Paul win," Ortiz says. "We're like brothers. I love that guy. It's even better than me winning." Ortiz's respect for his elder goes only so far, though: "All these guys better watch out next year, 'cause I'm coming in hot. I'm so motivated. I can't wait to get back on my board and skate."
Ortiz first made the jump from Chi-Town amateur to skating's wunderkind by shredding the Dew Tour in 2007. After competing for six years in amateur events, Ortiz won the Gatorade Free Flow Tour, the Dew Tour's four-month contest series for amateur skaters and BMXers. With that title, he earned a wild-card spot in the final Dew Tour stop of the 2007 season, the PlayStation Pro in Orlando. He finished sixth. Even more important, P-Rod saw him skate in person for the first time. "He had a distinct style," Rodriguez says. "A lot of kids can do fancy tricks, but they look like kids doing fancy tricks. Chaz has this grace and maturity about him. I was like, 'Damn, I'd better stay on my toes.'"
Rodriguez's premonition was right. In 2008, Ortiz finished in the top four at four Dew Tour stops, won his first pro title in Salt Lake City and clinched the overall skate park championship in Orlando in October, a title Ryan Sheckler owned the previous three seasons. The new champ's sponsor tally ballooned to include Zoo York, Silver Skateboard Trucks, Bones Wheels, DC Shoes and Gatorade. Suddenly Ortiz was out earning his folks (his estimated annual take hits six figures). He even attended the Super Bowl as a guest of honor. At a shoot in Chicago earlier this year for Gatorade's G Manifesto commercial, he worked with director Spike Lee and met Michael Jordan, Mia Hamm, Picabo Street and Kerri Walsh. "Jordan walks up to Chaz, says he's heard great things about him and gives him a ribbing for not wearing Nike gear," says Kenny Mitchell, Gatorade's action-sports team manager. "Most kids would have freaked out meeting an icon like Jordan, especially a Bulls fan from Chicago. Not Chaz. He says, 'Hey, man, appreciate it.' He was completely unfazed. The kid has ice in his veins."
Ortiz exudes confidence -- heck his Twitter name is steezortiz -- but his head hasn't swelled along with his bank account. That's because his folks, Mark, who works at an auto parts company, and Natalia, a stay-at-home mom, taught him humility and hard work. Even back when Ortiz was 8 and a junior state wrestling champ, Mark and Natalia didn't overstress winning and taught their son to embrace losses as learning experiences. "Not many people know I wrestled," Ortiz says. "But I loved it. I liked getting out my anger and tossing kids around." He pauses. "That's a joke." When it came time to focus on one sport, he didn't have to think twice. "I'm better at skateboarding," he says. Today, Ortiz punishes the pavement instead of kids in singlets.
Ortiz's parents also preach the importance of schoolwork -- Chaz is a sophomore at Dundee-Crown High in Carpentersville, Ill. -- and last year they hired an agent and a manager so they don't lose their foothold as Mom and Dad. But Mark and Natalia aren't around all the time. That's when Rodriguez fills in. He imparts the wisdom he wishes he'd received as an up-and-coming skater. "I talk with Chaz and his pops a lot," Rodriguez says. "When he was going through sponsor negotiations, I told them to be patient and wait for the right sponsors." Rodriguez, a new father himself, also echoed Mom and Dad's mantra of staying in school and staying in Chicago.
Although Chaz's contest schedule and sponsor commitments require him to travel, often to NYC and LA, Dad makes sure the trips are quick and streamlined so that Chaz is back in Chicago as quickly as possible.
"A lot of times when guys blow up, they move out to Cali and get distracted," Rodriguez says. "Their practice schedule changes, they're not skating with the same crew they grew up with, and they become less productive." Chaz soaks up everything Rodriguez has to say. "I tell him, 'No matter what pressures people put on you, if you just focus on skating, everything will fall into place,'" Rodriguez says. "Don't think about pleasing people. You got here by skating with your friends, having a great time and progressing. You'll stay around that way, too."
Sometimes, though, Ortiz reminds Rodriguez that he should take his own advice. In mid-April, at Rodriguez's private skate warehouse in Canoga Park, Calif., four of the best street skaters in the country -- Ortiz, Rodriguez, Sheckler and Greg Lutzka -- were filming a commercial promoting the 2009 Dew Tour. At the call for action, each took off, one by one, and attempted to kickflip over a ramp set up in front of a white screen. The director wanted all four to land their tricks in one take. If one messed up, the group started over.
First Sheckler missed, then Rodriguez, then Lutzka. Irritation mounted. No one spoke. Chaz, unaffected, kept nailing the trick. Even when he finally missed, landing flat and tweaking his ankle, he shrugged it off and pushed back to the start, cool swagger in check. "Another testament to Chaz never stressing it," Rodriguez says. "I was busy being pissed off, but if I'd put it in perspective, I'd have realized we shouldn't be stressing." On days like these, the mentee becomes the mentor. "Looking at Chaz is like looking into a mirror from the past," Rodriguez says. "After awhile, you can lose sight of why you do this in the first place. He's my reality check. He helps me remember when I was his age, skating around the neighborhood with my friends and a couple bucks in my pocket. Chaz reminds me where I came from." And P-Rod reminds Chaz where he can go.


text:
Into the Lion's Den
Carl Matthes
It's a mistake to let religion guide politics. Faith is personal and should stay that way. Yet, religion continues to encroach into public forums and frame important issues. And, even though I am a born again Christian, I have enough sense to know that America needs to keep a strict separation of church and state.
There are no winners when the American political system is drug into the religious arena.
Who would have thought, just a few years ago, that in 2008 the first joint appearance by the two major candidates for president would be in the sanctuary of a evangelical church? The presidency kneeling before the church altar. Journalists and other respected polticial figures were absent. Conducting this presidential inquisition was "neutral" Christian evangelist Rick Warren of Orange County's Saddleback Church. Neutral and evangelist the latest oxymoron. The Founding Fathers must have been twirling in their graves.
Barack was in the lion's den and on camera before Republican John McCain was even in the building. What did Barack gain by appearing in this forum, answering questions based on religious values? For McCain, the answer was simple. He has turned from maverick to right-wing cheerleader quicker than the time it takes to say "Presidency." But what about Barack? Perhaps he wanted to prove that he's a nice, non-confrontational young man. Or, that he's not one of those wild-eyed black men who is actually a closet Muslim. Actually, he came across as a thoughtful, bland centrist who could appear Presidential while being red meat for a mega-den full of lions.
I'll leave it for others to prove that the good Saddleback reverend supplied a level playing field. But, surely, Barack knew he wasn't in Kansas anymore. Evangelicals applauded loudly McCain's quick sound-bite responses. Barack received less enthusiastic applause since his answers were "more nuanced." (Political speak for not making points.) For instance, when Barack said it was "above my pay grade" to define when a baby gets human rights, I think he meant that he didn't want to play God. McCain's bulls-eye right-wing retort was, "At the moment of conception." The evangelicals ate it up.
Barack was not nuanced when asked to define marriage, clearly voicing, "It's a union between a man and a woman. For me as a Christian, it is a sacred union..." finishing with an applause producing, "God's in the mix." And, what does he believe about separate but equal civil unions? (Godless?) "I can afford those civil rights to others even if I don't have...that view." Fortunately, Barack has spoken out strongly against the hateful and discriminatory ballot Proposition 8, which would take away equal marriage rights from same-sex couples. McCain supports passage. (And, I am glad to know that the first order of business of the Northeast Democratic Club when they opened their new 2008 headquarters on North Figueroa in Highland Park, was to vote to defeat Proposition 8 )
Last week, I went into a lion's den of sorts when my new spouse, Carl Johnson, and I went to Virginia - State that is - City of Virginia Beach, to be exact - where his relatives were planning a family dinner in honor of our recent same-sex marriage. As you may know, Virginia Beach is home to Pat Robertson and his Christian Broadcasting Network. The Beach, as it is known locally, is a short 20-minute ride from Norfolk Airport where arriving passengers are greeted by a giant pastor-poster of a grinning Robertson welcoming weary travelers in the name of Jesus. Hmmm, I thought, "Why doesn't that feel comforting?"
Carl's family was totally warm and accepting. His conservative younger brother hosted the congratulatory dinner, officially welcoming me into the family. (Even though we've been together for 41 years, this verbal inclusiveness felt amazing.) However, even more amazing was the reception Carl and I received from the congregation at Virginia Beach Christian Church during their Sunday morning service. Carl's niece, Brenda, a long-time respected member of the Church, stood-up during "Greetings and Announcements" and said, "I want to introduce my two uncles Carl Johnson and Carl Matthes from California who just got married. They've been together for over 41 years." We stood up and waved to everyone. The minister continued by expressing his own congratulations and then wanted to know our secret for a long relationship as he is newly-married! After the service, many came up to us expressing thanks for our coming and wishes for a fulfilling marriage. Well, I guess Pat Robertson was right!
I watched the Saddleback broadcast with Carl's 86 year-old brother-in-law, Ralph. Ralph is a lifelong Democrat, a supporter of Hillary Clinton, and is Tennessee born and Virginia raised. He is involved and knowledgeable and we were both attentive during the evangelical job interview. At the end, I asked him what he thought of the two candidates. Replied Ralph, "Well, I guess I'll flip a coin." As an Obama supporter, it's not the answer I wanted to hear.
Irish Battle Military Flights
By Caroline Hurley Jan 27, 2023
Higher Education Politics
By John Douglass Jan 27, 2023
You've Got To Be Carefully Taught
By Stephen Rohde Jan 27, 2023
I was disappointed with the televised event. Where was the hallmark Obama eloquence? Where was even one sound-bite zinger? Passion? Anger? If he was playing it cool, proving that the electorate doesn't need to be afraid of a black man, then he certainly accomplished that. Final score? Likeability: 100% Electability: 50%
Just for the GLBT record, I visited MyBarackObama.com where I found Barack's comprehensive statement about community issues:
"As your President, I will use the bully pulpit to urge states to treat same-sex couples with full equality in their family and adoption laws. I personally believe that civil unions represent the best way to secure that equal treatment. But I also believe that the federal government should not stand in the way of states that want to decide on their own how best to pursue equality for gay and lesbian couples - whether that means a domestic partnership, a civil union, or a civil marriage. Unlike Senator Clinton, I support the complete repeal of the Defense of Marriage Act (DOMA) - a position I have held since before arriving in the U.S. Senate. While some say we should repeal only part of the law, I believe we should get rid of that statute altogether. Federal law should not discriminate in any way against gay and lesbian couples, which is precisely what DOMA does. I have also called for us to repeal Don't Ask, Don't Tell, and I have worked to improve the Uniting American Families Act so we can afford same-sex couples the same rights and obligations as married couples in our immigration system."
Carl Johnson and Carl Matthes
As a northeast progressive leader said to me, "There's a lot work to be done." (pictured here, newlyweds Carl Johnson and Carl Matthes)
by Carl Matthes
Carl Matthes is a native of Los Angeles and has lived in Eagle Rock for over 40 years. He is a former president and a current Board member of Uptown Gay and Lesbian Alliance. He is a former columnist and a current advisor to the Lesbian News, the oldest lesbian publication in America. He was editor of the GLAAD (Gay and Lesbian Alliance Against Defamation) newsletter and a former GLAAD National Board member. He has also been a Board member of AIDS Healthcare Foundation.
Photo at top shows Sharon Kyle, Carl Johnson, and Carl Matthes at the Northeast Democratic Community Headquarters opening this past Wednesday evening.
Other articles by Carl Matthes
Barack Obama Supports "Equality for All"
None of Nunn
How Do You Spell Oppression?
Blackrock and Other Profit Maximizers Ignore Housing Crisis
By Nancy Braus Jan 26, 2023
What Can the U.S. Bring to the Peace Table for Ukraine?
By Medea Benjamin and Nicolas Davies Jan 26, 2023
Why Are the Mentally Ill Placed In Senior Housing?
How Best to Replace a Disgrace in Local Office?
Misusing Martin


If you don't like dogs, stop reading now, because today's story is about the dog that adopted me. I still do not have a name for him. Looking for the perfect one. It does appear that he will be staying with me for ... who knows how long. No one has claimed him, and I cannot turn him over to the Humane Society or other places that will most likely put him to sleep after a certain length of time. Nope, can't let that happen. He is entertaining. You may not think this is funny, but I'm going to tell you anyhow.
Okay, I have to keep him outside, even on the days like today when the temperature is below freezing. Wait before you condemn me for cruelty. I tried to let him stay in the house at least at night. Now this is a big dog. Part German Shepherd and similar to the dogs above, except his ears are floppy and he was a disaster in the house. My coat was lying on a chair and sometimes during the night he chewed all the buttons off and swallowed them, I guess, because I never found them. He did other things that I shall not mention, but I knew then that he was not a house dog.
He has a doghouse, of sorts, that I put a blanket, towels and bath mat in to keep him warm and dry. This house is a round white tube that someone is giving to the animal shelters for free. So I got one. The dog loves it. He sleeps in it at night. And naps during the day. He is young, maybe around 1 or 2 years old, and he loves to play, so what does he do with the blanket and towels?
Yes, he drags them out of the doghouse, carries them to the yard, which is fenced so he can't run wild, and lays on them in the yard. He also loves to carry the towels or bath mat around the yard trying to get me to chase him. Now that's a sight you don't want to miss. Anyhow, two or three times a day I put everything back in the doghouse so he has a warm place to sleep. I guess I am playing his little game.
Aren't I a cute one. Please play ball with me.
Mm! Maybe I'll write his story some day.
What a story Beverly, pity he can't be inside on a cold day but you know him better than anyone.
Top marks for looking after his needs.
Thanks, Yvonne. I feel bad when he's outside in the cold, but it doesn't seem to bother him. He runs and plays. Wants me to join him. Ha. His fur has grown thicker. He's a survivor.
Even if he can't come inside, you've given him a safe place to stay. I bet there is a story in him somewhere.
I imagine there is, Alex. Sometimes, when he looks at me a certain way, I think he's really smart. Other times ... well, he's interesting.
Glad you are taking care of him. But are you sure someone isn't looking for him? He might have a chip that identifies the only. My boyfriend's dog got out last week and has no collar. But someone thankfully found him and the Humane Society found my boyfriend through a chip. Just a thought.
I've thought about that, Natalie. I posted his picture on the local shelter's Face Book sight. Told how I got him. Found him at my gate, looking scared and hungry. They spread the word. Our local is managed by the police department. No one claimed him. I'd like to take him to the vet, but he's too big and heavy for me to carry. And, he doesn't get along well with other dogs. I'm still hoping someone will claim him. It's a small town.
I'm a former catlady who is owned by several dogs. I do love them too.
Hi, Ann. I have two cats, too. Didn't ask for the dog, but he's part of the family now. How can anyone not love them?
Aw! What names are you considering?
Something to show he's tough, Diane. Like Tuffy, Samson, Hercules. Not sure. I'm taking suggestions on Face Book. If you have any they're welcome. But any dog that can stay out in below freezing temperatures and still want me to play with him and hug him is a tough one.
haha sure knows how to get you to play as he drags his blankets about the yard. The kitties fine with him yet?
Tiger and the dog get along all right, Pat. They look at each other and the cat strolls away. The dog has chased him up a tree a couple of times. I don't let the cats outside unless I'm out there. Not sure I trust the dog yet. Patches just hisses. He might hurt her. The dog and cats look at each other through the patio door.
Glad you are able to take such good care of him. I loved the stories about his towel and bathmat and how he drags them around. I can easily picture it. Good luck with him!
I'm trying, Jess, but I'm having trouble keeping him from jumping on me. He's so excited and wants to play. He really needs a teen to entertain him. I'm doing my best. Thanks for your "good luck." I need it.
This is so amazing, thank you for sharing!
Thanks, Gina. You're welcome. Appreciate you stopping by. Nice to meet you.