Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.
list_next(previous_request, previous_response)
Retrieves the next page of results.
list(part=None, channelId=None, videoSyndicated=None, videoCaption=None, publishedAfter=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, relatedToVideoId=None, videoDefinition=None, pageToken=None, videoDuration=None, q=None, videoEmbeddable=None, videoCategoryId=None, order=None)
Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource. Args: part: string, The part parameter specifies a comma-separated list of one or more search resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a search result, the snippet property contains other properties that identify the result's title, description, and so forth. If you set part=snippet, the API response will also contain all of those nested properties. (required) channelId: string, The channelId parameter indicates that the API response should only contain resources created by the channel videoSyndicated: string, The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com. Allowed values any - Return all videos, syndicated or not. true - Only retrieve syndicated videos. videoCaption: string, The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions. Allowed values any - Do not filter results based on caption availability. closedCaption - Only include videos that have captions. none - Only include videos that do not have captions. publishedAfter: string, The publishedAfter parameter indicates that the API response should only contain resources created after the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z). regionCode: string, The regionCode parameter instructs the API to return search results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code. type: string, The type parameter restricts a search query to only retrieve a particular type of resource. topicId: string, The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID. publishedBefore: string, The publishedBefore parameter indicates that the API response should only contain resources created before the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z). videoDimension: string, The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos. Allowed values 2d - Restrict search results to exclude 3D videos. 3d - Restrict search results to only include 3D videos. any - Include both 3D and non-3D videos in returned results. This is the default value. videoLicense: string, The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos. Allowed values any - Return all videos, regardless of which license they have, that match the query parameters. creativeCommon - Only return videos that have a Creative Commons license. Users can reuse videos with this license in other videos that they create. Learn more. youtube - Only return videos that have the standard YouTube license. maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults relatedToVideoId: string, The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video. videoDefinition: string, The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available. Allowed values any - Return all videos, regardless of their resolution. high - Only retrieve HD videos. standard - Only retrieve videos in standard definition. pageToken: string, USE_DESCRIPTION --- channels:list:pageToken videoDuration: string, The videoDuration parameter filters video search results based on their duration. Allowed values any - Do not filter video search results based on their duration. This is the default value. long - Only include videos longer than 20 minutes. medium - Only include videos that are between four and 20 minutes long (inclusive). short - Only include videos that are less than four minutes long. q: string, The q parameter specifies the query term to search for. videoEmbeddable: string, The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage. Allowed values any - Return all videos, embeddable or not. true - Only retrieve embeddable videos. videoCategoryId: string, The videoCategoryId parameter filters video search results based on their category. order: string, The order parameter specifies the method that will be used to order resources in the API response. Allowed values date - Resources are sorted in reverse chronological order based on the date they were created. rating - Resources are sorted from highest to lowest rating. relevance - Resources are sorted based on their relevance to the search query. This is the default value for this parameter. viewCount - Resources are sorted from highest to lowest number of views. Returns: An object of the form: { # A paginated list of search results returned as the response to a youtube.search.list call. "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set. "kind": "youtube#searchListResponse", # The type of the API response. For this operation, the value will be youtube#searchListResponse. "items": [ # A list of results that match the search criteria. { # A search result contains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data. "snippet": { # Basic details about a search result, including title, description and thumbnails of the item referenced by the search result. # The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the video's title and the description will be the video's description. "title": "A String", # The title to display for the search result. "channelId": "A String", # The value that YouTube uses to uniquely identify the channel that published the resource that the search result identifies. "description": "A String", # A description of the search result. "publishedAt": "A String", # The creation date and time of the resource that the search result identifies. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. "thumbnails": { # A map of thumbnail images associated with the search result. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail. "a_key": { # The thumbnail image's name. This value is used as the key in the snippet.thumbnails map. "url": "A String", # The thumbnail image's URL. "width": 42, "height": 42, }, }, }, "kind": "youtube#searchResult", # The type of the API response. For this resource, the value will be youtube#searchResult. "etag": "A String", # The ETag of the search result. "id": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that matches the search request. "kind": "A String", # The kind, or type, of the referred resource. "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel. "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist. "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video. }, }, ], "etag": "A String", # The ETag for the response. "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set. "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the search result set. "totalResults": 42, # The total number of results in the result set. "resultsPerPage": 42, # The number of results included in the API response. }, }
list_next(previous_request, previous_response)
Retrieves the next page of results. Args: previous_request: The request for the previous page. (required) previous_response: The response from the request for the previous page. (required) Returns: A request object that you can call 'execute()' on to request the next page. Returns None if there are no more items in the collection.


I am a designer at the University of Western Ontario studying business and art. I am currently the Director of marketing media for Pre-Business Students' Network and Western's W5. I was previously employed as an Assistant Project Manager at Samsung Division Facility.
My Projects
From design works to traditional artwork, here's what I've been working on:


Hello... I am a modal
Meow for food, then when human fills food dish, take a few bites of food and continue meowing attack dog, run away and pretend to be victim white cat sleeps on a black shirt toilet paper attack claws fluff everywhere meow miao french ciao litterbox yet fall asleep on the washing machine. Jump around on couch, meow constantly until given food, demand to be let outside at once, and expect owner to wait for me as i think about it.


| Inara, The Jungle Girl (2012) is about a young girl in the military whose world comes crashing down when her father passes away. Offered a mission to the remote island of N'iah in order to exploit the precious oil and metals found there. Inara discovers that the jungle and the women who inhabit it, have more in common with her than she knows. | |
| Genres: | Adventure |
| Director: | Patrick Desmarattes |
| Writer: | Patrick Desmarattes |
Cast: | Senha - Brittany Bass Inara Williams - Cali Danger Jackson Biggams - Gerald Desmarattes Gare'n - Destiny Dumon Gojen - Ultimate Gojirah Solara - Charis Jeffers Kiten - Madison Kitten Zahara - Blair Martin Joel Williams - Tarver Mcknight Tinou - Logan Myers Liam Howard - Orlando Ricci Soldier - Christopher Robinett Marshal Howard - Tim Ross Holy Mother - Kathy Butler Sandvoss N'ah - Empress Sayuri Lyta - Sam Sexton Marcus Fletcher - Jack Stecher Nu'al - The Telepath - Brandi Alyssa Young |


Steemit Activity
Enter the Post link to check the activity.
Post link
Select Activity Type(s)
Comment
Follow
Upvote
Resteem
Show
{% block content %}{% endblock %}


Netizens Bemused as Donald Trump ‘Murders the English Language’ at Campaign Rally
by by Svetlana EkimenkoWords are powerful tools, and the US President likes to resort to some strong verbiage that packs a punch during his speeches. That said, Donald Trump’s vocabulary is fraught with more than the occasional surprise addition.
US President Donald Trump seemed to have accidentally invented a new word during a furious 2020 campaign rally speech in Tupelo, Mississippi, on 2 November.
Speaking about the Democrats, Trump used the word “foistered.”
“First, they engineered the Russia hoax. The single greatest lies ever foistered upon the American people,” said Trump.
While the US President may have intended to say “foisted”, it came out all wrong.
Predictably, people were more than a bit tickled by Trump's latest addition to the English language.
Some users recalled his previous vocabulary gaffe in 2017, when he used the mystery word "covfefe" in a tweet, inspiring some creative genius on Twitter at the time:


As the only student body representative in Swinburne Sarawak, we always work to enahance Swinburne Sarawak students life experience.
We will normally look for the items we are lacking, then either ask our partners our search for sponsors. After we agree on approaching a certain sponsor, we will prepare a detailed proposal with the break-down and all the required details. Furthermore, we will call for a meeting between our Marketing team and the sponsor to discuss the benefits provided out of this sponsorship.


Important! All lessons content belongs to https://www.freecodecamp.org/ and respective contributors and this page was created for educational purposes only. Creator of this page does not claim ownership or authorship over any lessons.
General information
This project is result of random motivation to create more organized version of notes and cheatsheets during my study of curriculum on https://freecodecamp.org/.
Purpose of this project is just simple aggregation of content available in FCC curriculum for fast and easy access when I needed to quickly re-read part of lesson, because original lesson navigation on https://learn.freecodecamp.org/ was not as fast and easy to navigate as I wanted.
Actual value of presented content may be diminished by format and fact that it only aggreggates description part of lessons, omitting lesson code and task.
Whole project consists of 2 small parts:- simple back-end parsers made for bash and node.js
- single front-end page that loads json generated by parsers and presents it to user
Technologies used
- CSS3 with CSS variables
- Basic JavaScript
- jQuery
- Bootstrap (pulled but barely used manually)
- Simple bash scripts
- node.js to parse content from FreeCodeCamp and generate .json files
Features
- Presents content of descriptions of all lessons in all 6 categories of current FreeCodeCamp curriculum
- Provides embedded Scrimba version of an lesson if available
- Provides link to original lesson
- Clicking on section showcasing code will copy that code into clipboard
- Navigation side will follow and outline which lesson you are watching
- Hash in url is automatically updated to represent current location
- Entering the page with provided hash\anchor will automatically navigate towards relevant section once loaded
- Implemented customizable color theme with ability to change themes or use randomized colors
- Simple loading screen before page is ready
- Simple custom scrollbar for webkit browsers
Who I am
I am Ihor 'Arigoru' Allin, and this project is part of my effort to get into web-development.
You can find more info about me at https://arigoru.github.io/, when I will actually find time to finish it.


Copyright © copyright Mar 1, 2009 Description: TODO: Add description to simul
Authors: saket kunwar.
| add_node/1 | add a random node to Boot rename boot with boot for boot. |
| add_node/2 | add Node to Boot. |
| analyse/2 | analyse File for Type=succlist | fingertable. |
| bulkadd/2 | initializes all other nodes. |
| get_boot/0 | get boot node. |
| get_node/1 | |
| get_pid/1 | |
| kill_all/1 | |
| kill_node/1 | kill the node. |
| lookup/2 | lookup {Key,Val} pair from Node=Id. |
| store/2 | store {Key,Val} pair from Node =Id. |
| test_all/2 | test all node's return val for a given {Key,Val} pair. |
| test_node/2 | |
| view/2 | view the finger table of a node given [H|T] where H={NodeId,Pid}. |
| view_all/0 | view all nodes. |
| view_node/2 | view the nodes succssesor list or fingertable. |
add_node(Boot) -> any()
add a random node to Boot rename boot with boot for boot
add_node(Node, Boot) -> any()
add Node to Boot
analyse(File, Type) -> any()
analyse File for Type=succlist | fingertable
bulkadd(Bootadd, T) -> any()
initializes all other nodes
get_boot() -> any()
get boot node
get_node(Id) -> any()
get_pid(Node) -> any()
kill_all(T) -> any()
kill_node(Node) -> any()
kill the node
lookup(FromNode, Key) -> any()
lookup {Key,Val} pair from Node=Id
store(FromNode, X2) -> any()
store {Key,Val} pair from Node =Id
test_all(Key, Val) -> any()
test all node's return val for a given {Key,Val} pair. [H|T]=boot:nodelist()
test_node(N, X2) -> any()
view(T, Type) -> any()
view the finger table of a node given [H|T] where H={NodeId,Pid}.
view_all() -> any()
view all nodes
view_node(Node, Type) -> ok
view the nodes succssesor list or fingertable
Generated by EDoc, Jul 29 2009, 17:40:17.


I figured it out after a good amount of research and digging through source code. What I was looking for was "ws.handler.server.clients.values()", which returns a list of open websockets. Hallelujah.
It's still a little bit of a mess keeping sockets open. I basically need to take a crash course on gevent.pywsgi. And while everything's lined up for the taking, I can't shake the feeling that I could be better using this time to do something that isn't so needlessly specific. I'm not exactly learning useful things about web design by trying to work out the idiosyncracies of this library with maybe 10 thousand lifetime users. So I'm going to go ahead and pull an example gevent-websocket application with a standalone server, abandoining Gunicorn and good coding-practice (which depresses me to say out loud).
A good hour later, I've figured out the intricacies of converting a Javascript object to a JSON string with "JSON.stringify()" before sending it to the server. Now I have an application which I recommend taking a look at. It's very simple--if it receives a json object with "message_type" : "increment", it also sends to all open sockets a json object with "message_type" : "notify_increment". Not a lot to it.
Naturally, all we need to do is update the client with some extra logic. When the page is opened, we open a socket with the server. When the user increments the button, in addition to the XHR request, we also send an increment message over the socket. When we receive a message over the socket, we know we should make an XHR request to update the button.
{{counter}}
We're almost there... I'm getting a "No apps defined" exception, which means that I'm not routing the socket correctly (probably because I left Gunicorn). More source code digging will be necessary tomorrow.


--- layout: post ---
This is my website dedicated to my interests and what is going on in my life
If you look above you will see a navigation bar with a few options to choose from. I have a blog, which may or may not be interesting to you. I have an about section which describes who I am and why I'm here. I have a link to my resume if you are here for professional reasons. And I have sections for the music I'm currently jamming to as well as the movies I think are worth a watch.
If you want to contact me, I can be reached with the information in my resume or you can shoot me an email. Let me know what you think of the site or anything else which you would like to talk to me about. Can't wait to hear from you.
-Stefan


European club champ Saracens penalized for financial doping
LONDON (AP) - English and European champion Saracens was docked 35 points and fined more than 5.3 million pounds ($6.9 million) on Tuesday for multiple breaches of Premiership Rugby’s salary cap regulations.
Club chairman Nigel Wray said they intended to appeal, which would delay the sanctions.
An independent panel led by John Dyson, a former judge, found the London-based club failed to disclose payments to players in each of the 2016-17, 2017-18, and 2018-19 seasons, and exceeded the ceiling for payments to senior players. Saracens won the European Cup in 2017, the Premiership in 2018, and both this year.
The panel was established after a nine-month Premiership Rugby investigation led to charges being brought in June. The panel upheld all the charges.
Saracens had six players in the starting XV and another in the reserves for England in the Rugby World Cup final last Saturday, including captain Owen Farrell, Maro Itoje, and Billy Vunipola. Another Saracen opposed them, South Africa prop Vincent Koch. Other stars for the club include Wales fullback Liam Williams, Scotland wing Sean Maitland, and United States prop Titi Lamositele.
“This is absolutely devastating for everyone associated with this amazing group of players, staff, partners, and fans,” Wray said in a statement.
“It has been acknowledged by the panel that we never deliberately sought to mislead anyone or breach the cap and that’s why it feels like the rug is being completely pulled out from under our feet. We will appeal all the findings.”
The cap was increased from 6.5 million pounds to 7 million pounds before the 2017-18 season.
A separate statement from the club defended the use of co-investment arrangements with players, and stated “PRL precedent already exists whereby co-investments have not been deemed part of salary in the regulations.”
The club admitted some administrative errors had been made that led to some transactions not being disclosed to Premiership Rugby, and apologized for those errors.
However, it added: “It is the club’s belief that the panel’s narrow interpretation of the regulations is detrimental to player welfare across the league and is damaging the development of elite level rugby in the UK.”
Saracens has been the most successful English side of the last decade, winning five Premiership titles since 2011.
In February, Harlequins was fined 6,239.50 pounds after exceeding the Premiership salary cap in the 2017-18 season by 12,479 pounds.
More AP sports: https://apnews.com/apf-sports and https://twitter.com/AP_Sports
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


Thank you for participating in this study. Please let us know if you encountered any problems going through the HIT. Your feedback here will not affect the approval or rejection of your HIT. Thank you!


Why is Rachel Riley's Jeremy Corbyn tweet so offensive?
Rachel Riley has angered a lot of people with a custom made t-shirt calling the Labour leader a ‘racist endeavour’.
The Countdown host tweeted a picture of her wearing the top on the night of ITV’s leadership debate as she took a stand against Jeremy Corbyn.
The leader of the opposition raised eyebrows and was accused of lying by Jewish Labour Movement national secretary Peter Mason.
Ms Riley told followers she didn’t feel comfortable knowing her workplace was ‘to be full of racists tonight’, but was met with uproar over her choice of clothing.
Why was her tweet so offensive?
Advertisement Advertisement
Printed on the presenters t-shirt is an edited picture of Corbyn being arrested while protesting against apartheid in South Africa in the 1980s.
The regime was a system of institutionalised segregation between the country’s white minority and non-white majority.
Black and Asian people weren’t allowed in the same schools, park benches and beaches and weren’t entitled to the same jobs and opportunities.
So people were more than a little bit upset to see the message on a sign hung around Corbyn’s neck reading ‘Defend the Right to Demonstrate Against Apartheid’ had been erased on the t-shirt.
Riley was accused of hypocrisy by ‘erasing the historical struggle’ against racial oppression in South Africa in an attempt to fight racism and bigotry.
One critic on social media said it amounted to ‘putting black history on the chopping block’ to fit her agenda.
In 1960 South African police killed 69 people in the township of Sharpeville, while hundreds were seriously injured as officers shot people in the back as they fled.
This sparked mass strikes and dissent across the country and a state of emergency was declared, fuelling racial tensions and making every day life even more difficult for black people.
Authorities arrested the ANC’s paramilitary wing Nelson Mandela for treason in 1961 and he was sentenced to life in prison for sabotage in 1964.
Violence continued to plague the country and in 1976 at least 200 black students were killed by police as they protested in the streets of Soweto.
Advertisement Advertisement
South Africa faced condemnation and economic sanctions from the international community in the 1980s and Nelson Mandela was released in 1990 as the ANC was un-banned.

She added: ‘A blue eyed blonde haired woman literally erasing black struggle to centre themselves as the victim of racism.
‘You do not treat apartheid as joke to make a statement. I don’t care who is holding the placard or what statement she thinks she is making here.’
The use of the term ‘racist endeavour’ appears to be a dig at the Labour Party’s internal battling over whether to adopt the full International Holocaust Remembrance Alliance definition of anti-Semitism.
One of its examples of anti-Jewish racism is ‘denying the Jewish people their right to self-determination, eg by claiming that the existence of a state of Israel is a racist endeavour.’
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


Users List |
||||||
|---|---|---|---|---|---|---|
| Person ID | First, Last Name | Address | Worker Type | Cit. Status | Work Email | Profile |
| {{ employee.PersonId }} | {{ employee.FirstName }}, {{ employee.LastName }} | {{ employee.AddressLine1 }} | {{ employee.AddressLine2 }} | {{ employee.CitizenshipStatus }} | {{ employee.AddressLine3 }} |


Date: Thu, 18 Dec 1997 15:02:48 GMT Server: Apache/1.2.0 Connection: close Content-Type: text/html
HOME | NEW | ABOUT | TRC_ LOCATIONS | RENAL LINKS
PRESS RELEASE
| AT THE COMPANY VICTOR M.G. CHALTIEL, CEO OR JOHN KING, CFO AT<PHONE_NUMBER> |
AT THE FINANCIAL RELATIONS BOARD JODY MARTIN, GENERAL INFORMATION MOIRA CONLON, INVESTOR CONTACT STEVEN SEILER, MEDIA CONTACT AT<PHONE_NUMBER> KATHY BRUNSON, INVESTOR CONTACT AT<PHONE_NUMBER> |
TOTAL RENAL CARE HOLDINGS, INC. REPORTS OVER $50 MILLION IN NET REVENUES FOR FIRST QUARTER 1996, UP 97 PERCENT
Net Income Increases 327 Percent
Income Per Share Increases 171 Percent on More Shares Outstanding
First-Quarter Highlights:
For the quarter ended March 31, 1996, TRL's net revenues increased 97% to $50,237,000 from $25,469,000 reported for the restated, comparable period last year. Results for the first three months of 1995 are restated due to the change in the Company's fiscal year end from May 31 to December 31. Net income grew 327% to $4,276,000, or $0.19 per share, based on 23,035,000 weighted average shares outstanding, compared with $1,001,000, or $0.07 per share, based on 15,353,000 weighted average shares outstanding for the same period last year. The increase in weighted average shares outstanding primarily resulted from the Company's initial public offering on October 30, 1995.
"Our strong financial results for this quarter reflect the successful implementation of our aggressive, yet disciplined growth strategy," stated Victor M.G. Chaltiel, TRL Chairman, President and Chief Executive Officer. "We have achieved significant accomplishments toward this goal since the beginning of the year, including acquiring Caremark's dialysis facilities, which represent our largest acquisition to date. Another notable achievement was the substantial improvement of our financial position through the recent completion of an equity offering and expansion of our credit facility, which will support our continued growth."
TRL's Managed Care Focus
"Since its inception, Total Renal Care has focused on partnering with managed care organizations to provide the highest quality treatment for End-Stage Renal Disease (ESRD) patients while controlling total costs," explained Chaltiel. "We anticipated the recent announcement by the Health Care Financing Administration, which invited managed care organizations to bid for a three-year, limited (about 1% of the total ESRD population) "demonstration project" to capitate all costs related to ESRD patients, and we have positioned our Company to partner with these organizations to offer extensive ESRD patient services. In addition to dialysis treatments, we provide ESRD-related pharmacy and laboratory services, and offer vascular access management and pre- and post-transplant service programs. We also have developed and continue to strengthen our physician networks, which enhances our managed care strategy.
"Last month, we opened the San Diego-based Mission Dialysis Center, which is serving Kaiser Permanente's 75 local ESRD patients, as well as other dialysis patients residing in that community," continued Chaltiel. "This contract represents the first of its kind developed by Kaiser Permanente, which is by far the largest private ESRD payor in the Southern California area. We believe this is a strong indication of our ability to team with managed care organizations, and we are actively pursuing additional relationships such as this one."
Expansion During the Quarter
"Through the Caremark and other acquisitions, combined with de novo developments, we added 39 additional dialysis centers treating approximately 2,000 patients during the first quarter," stated Chaltiel. "By increasing the number of facilities we operate, we achieve economies of scale related to operating multiple centers in specific geographic areas."
On March 15, 1996, the Company completed the $49.0 million acquisition of 32 outpatient dialysis facilities from Caremark International. These centers are primarily located in the Minneapolis/St. Paul area, where the Company is now established as the leading provider of dialysis services, as well as in Northern California, further strengthening its presence in that market. The Caremark acquisition also establishes TRL as the third largest dialysis provider in the U.S.
Financial Strength to Pursue Additional Expansion
TRL has the financial strength to continue its aggressive, yet disciplined acquisition strategy as a result of its recent public offering and expanded bank credit line. On April 3, 1996, TRL completed an equity offering of common stock at $33.125 per share, raising $116 million. On March 15, 1996, the Company increased its credit facility, currently unused, to $100 million. TRL also completed an initial public offering of 6.9 million shares of common stock at $15.50 per share on October 30, 1995.
Torrance, California-based Total Renal Care Holdings, Inc. is the third largest provider of integrated dialysis services in the U.S. for patients suffering from chronic kidney failure. The Company owns and operates high-quality, free-standing kidney dialysis centers and home peritoneal dialysis programs in 15 states and Guam and also provides high-quality acute hemodialysis services to inpatients on behalf of 72 hospitals. TRL has increased its number of outpatient dialysis facilities to 108 with 1,554 stations, and provides services to approximately 7,700 patients. The Company additionally operates ESRD laboratory and pharmacy facilities, as well as vascular access management and transplant services programs.
For information on Total Renal Care Holdings, Inc. via facsimile
at no cost, call
1-800-PRO-INFO and dial company code 039.
(financial tables follow)
Total Renal Care Holdings, Inc.
Condensed Consolidated Statements of Income
Three Months Ended March 31, 1996 and 1995
(Unaudited)
| Net operating revenues | $50,237,000 | $25,469,000 | ||
| Operating expenses: | ||||
| Facilities | 33,329,000 | 16,922,000 | ||
| General and administrative | 3,901,000 | 2,423,000 | ||
| Provision for doubtful accounts | 996,000 | 579,000 | ||
| Depreciation and amortization | 2,460,000 | 1,259,000 | ||
| Total operating expenses | 40,686,000 | 21,183,000 | ||
| Operating income | 9,551,000 | 4,286,000 | ||
| Interest expense | (1,912,000) | (2,219,000) | ||
| Interest income | 431,000 | 57,000 | ||
| Income before income taxes and minority interests | 8,070,000 | 2,124,000 | ||
| Income taxes | 3,041,000 | 726,000 | ||
| Income before minority interests | 5,029,000 | 1,398,000 | ||
| Minority interests in income of consolidated subsidiaries | 753,000 | 397,000 | ||
| Net income | $4,276,000 | $1,001,000 | ||
| Net income per common share | $0.19 | $0.07 | ||
| Weighted average number of common shares and | ||||
| equivalents outstanding | 23,035,000 | 15,353,000 |
Total Renal Care Holdings, Inc.
Condensed Consolidated Balance Sheets
| ASSETS | ||||
| Current Assets: | ||||
| Cash and Cash equivalents | $10,555,000 | $30,181,000 | ||
| Accounts receivable, less allowance for doubtful accounts | ||||
| of $7,972,000 and $5,668,000, respectively | 69,304,000 | 40,014,000 | ||
| Other current assets | 9,054,000 | 5,299,000 | ||
| Total current assets | 88,913,000 | 75,494,000 | ||
| Property and equipment, net | 39,651,000 | 25,505,000 | ||
| Other long-term assets | 3,336,000 | 3,236,000 | ||
| Intangible assets, net of accumulated amortization | ||||
| of $8,561,000 and $7,353,000, respectively | 96,267,000 | 59,763,000 | ||
| $228,167,000 | $163,998,000 | |||
| LIABILITIES AND STOCKHOLDERS' EQUITY | ||||
| Total current liabilities | $27,809,000 | $20,803,000 | ||
| Deferred income taxes | 417,000 | 510,000 | ||
| Long-term debt and other | 108,615,000 | 56,538,000 | ||
| Minority interests | 4,276,000 | 3,343,000 | ||
| Stockholders' equity: | ||||
| Total stockholders' equity | 87,050,000 | 82,804,000 | ||
| $228,167,000 | $163,998,000 |


The thought process behind the design runs as follows.
id
; this
primary key is unique in that table on that device._device
field on the server
discriminates records by the unique device ID of the uploading
device._pk
field; this field is unique in that table on the server (across all
devices)._current
field, to mark current
records._era
field for each table._era
field begins life with the value
'NOW'
, representing the “current” era._era
field is set to the date/time of the
preservation process, for all records in all tables for that device
that were in the “current” era. A new era is therefore begun for that
device._device
, _era
, and
id
fields is unique for all _current
fields.The upload process is transactional: it either succeeds as a whole, or fails as a whole. (This is necessary because there may be arbitrary relationships between tables on the tablet, e.g. between the main table of a task and its sub-tables.)
Databases like MySQL discard fractions of a second, and CamCOPS needs to store millisecond-accuracy timing information. Moreover, it is often helpful to work in local time zones. For consistency, therefore, all date and date/time fields are stored as TEXT fields in ISO 8601 format, specifically YYYY-MM-DDTHH:mm:ss.SSS+ZZ:ZZ. An example is 2013-04-22T14:35:07.381+01:00 – this means 22 April 2013 at 7.381 seconds after 2:35pm in a time zone 1 hour ahead of Coordinated Universal Time (UTC, GMT), such as British Summer Time (+01:00). (There are a few fields that are an exception to this rule and use DATETIME format, but these are only used by the webview and are not accessible to users.)
The following tables are only used by the server. For details, see the source code or the detailed table structure.
_dirty_tables _hl7_message_log _hl7_run_log _security_account_lockouts _security_audit _security_devices _security_login_failures _security_users _security_webviewer_sessions _server_storedvars _special_notes
Server-side fields have an underscore prefix.
| Field name | Data type | Nullable? | Comment |
|---|---|---|---|
| _pk | INTEGER | NO | (SERVER) Primary key (on the server) |
| _device | VARCHAR(255) | NO | (SERVER) ID of the source tablet device |
| _era | VARCHAR(32) | NO | (SERVER) 'NOW', or the date/time this row was preserved and removed from the source device (UTC ISO 8601) |
| _current | BOOLEAN | NO | (SERVER) Is the row current (1) or not (0)? |
| _when_added_exact | VARCHAR(32) | YES | (SERVER) Date/time this row was added (ISO 8601) |
| _when_added_batch_utc | DATETIME | YES | (SERVER) Date/time of the upload batch that added this row (DATETIME in UTC) |
| _adding_user | VARCHAR(255) | YES | (SERVER) User that added this row |
| _when_removed_exact | VARCHAR(32) | YES | (SERVER) Date/time this row was removed, i.e. made not current (ISO 8601) |
| _when_removed_batch_utc | DATETIME | YES | (SERVER) Date/time of the upload batch that removed this row (DATETIME in UTC) |
| _removing_user | VARCHAR(255) | YES | (SERVER) User that removed this row |
| _preserving_user | VARCHAR(255) | YES | (SERVER) User that preserved this row |
| _forcibly_preserved | BOOLEAN | YES | (SERVER) Forcibly preserved by superuser (rather than normally preserved by tablet)? |
| _predecessor_pk | INTEGER | YES | (SERVER) PK of predecessor record, prior to modification |
| _successor_pk | INTEGER | YES | (SERVER) PK of successor record (after modification) or NULL (after deletion) |
| _manually_erased | BOOLEAN | YES | (SERVER) Record manually erased (content destroyed)? |
| _manually_erased_at | VARCHAR(32) | YES | (SERVER) Date/time of manual erasure (ISO 8601) |
| _manually_erasing_user | VARCHAR(255) | YES | (SERVER) User that erased this row manually |
| _camcops_version | REAL | YES | (SERVER) CamCOPS version number of the uploading device |
| _addition_pending | BOOLEAN | NO | (SERVER) Addition pending? |
| _removal_pending | BOOLEAN | NO | (SERVER) Removal pending? |
| Field name | Data type | Nullable? | Comment |
|---|---|---|---|
| _move_off_tablet | BOOLEAN | YES | (SERVER/TABLET) Record-specific preservation pending? |
| when_last_modified | TEXT / VARCHAR(32) | YES | (STANDARD) Date/time this row was last modified on the source tablet device (ISO 8601) |
In addition to the standard fields:
| Field name | Data type | Nullable? | Comment |
|---|---|---|---|
| id | INTEGER | NO | Primary key (patient ID) on the source tablet device |
| forename | TEXT / VARCHAR(255) | NO | Forename |
| surname | TEXT / VARCHAR(255) | NO | Surname |
| dob | TEXT / VARCHAR(32) | NO | Date of birth (YYYY-MM-DD) |
| sex | VARCHAR(1) | NO | Sex (M, F, X) |
| idnum1 | BIGINT UNSIGNED | YES | First ID number (meaning depends on device's storedvars idDescription1, idShortDescription1) |
| idnum2 | BIGINT UNSIGNED | YES | Second ID number (meaning depends on device's storedvars idDescription2, idShortDescription2) |
| idnum3 | BIGINT UNSIGNED | YES | Third ID number (meaning depends on device's storedvars idDescription3, idShortDescription3) |
| idnum4 | BIGINT UNSIGNED | YES | Fourth ID number (meaning depends on device's storedvars idDescription4, idShortDescription4) |
| idnum5 | BIGINT UNSIGNED | YES | Fifth ID number (meaning depends on device's storedvars idDescription5, idShortDescription5) |
| idnum6 | BIGINT UNSIGNED | YES | Sixth ID number (meaning depends on device's storedvars idDescription6, idShortDescription6) |
| idnum7 | BIGINT UNSIGNED | YES | Seventh ID number (meaning depends on device's storedvars idDescription7, idShortDescription7) |
| idnum8 | BIGINT UNSIGNED | YES | Eighth ID number (meaning depends on device's storedvars idDescription8, idShortDescription8) |
| address | TEXT | YES | Address |
| gp | TEXT | YES | General practitioner (GP) |
| other | TEXT | YES | Other details |
This table stores global variables, such as the server name and the font size preferences.
In addition to the standard fields:
| Field name | Data type | Nullable? | Comment |
|---|---|---|---|
| id | INTEGER | NO | Arbitrary numerical primary key on the source tablet device |
| name | VARCHAR(255) | NO | Variable name (effectively the actual primary key on the source tablet device) |
| type | VARCHAR(255) | NO | Variable type ('integer', 'real', 'text') |
| valueInteger | INTEGER | YES | Value of an integer variable |
| valueText | TEXT | YES | Value of a text variable |
| valueReal | REAL | YES | Value of a real (floating-point) variable |
On the client devices, BLOBs (binary large objects) are stored in the device’s filesystem, not in the database. On the server, BLOBs are stored in the database.
In addition to the standard fields:
| Field name | Data type | Nullable? | Comment |
|---|---|---|---|
| id | INTEGER | NO | BLOB (binary large object) primary key on the source tablet device |
| tablename | TEXT | NO | Name of the table referring to this BLOB |
| tablepk | INTEGER | NO | Primary key (id field) of the row referring to this BLOB |
| fieldname | TEXT | NO | Field name of the field referring to this BLOB by ID |
| filename | TEXT | YES | Filename of the BLOB on the source tablet device |
| theblob | LONGBLOB | YES | The BLOB itself, a binary object containing arbitrary information (such as a picture) |
In addition to the standard fields, all task tables include these fields:
| Field name | Data type | Nullable? | Comment |
|---|---|---|---|
| id | INTEGER | NO | (TASK) Primary key (task ID) on the tablet device |
| patient_id | INTEGER | NO | (TASK) Foreign key to patient.id for this device |
| when_created | TEXT | NO | (TASK) Date/time this task instance was created |
| when_firstexit | TEXT | YES | (TASK) Date/time of the first exit from this task |
| firstexit_is_finish | BOOLEAN | YES | (TASK) Was the first exit from the task because it was finished (1)? |
| firstexit_is_abort | BOOLEAN | YES | (TASK) Was the first exit from the task because it was aborted (1)? |
In addition to the standard fields, all task tables include these fields:
| Field name | Data type | Nullable? | Comment |
|---|---|---|---|
| id | INTEGER | NO | (ANCILLARY) Primary key on the tablet device |
Let’s extract key information about the phq9
table. We can
run this SQL on the server’s database. First, we log in:
mysql -u root -p use camcops; /* database name */
Then the main SQL:
SELECT c.table_name, c.column_name, c.data_type, c.is_nullable, c.column_comment FROM information_schema.columns c INNER JOIN information_schema.tables t ON c.table_schema = t.table_schema AND c.table_name = t.table_name WHERE t.table_type='BASE TABLE' AND c.table_schema='camcops' /* database name */ AND c.table_name='phq9';
That gives:
+------------+-------------------------+-----------+-------------+--------------------------------------------------------------------------------------------------+ | table_name | column_name | data_type | is_nullable | column_comment | +------------+-------------------------+-----------+-------------+--------------------------------------------------------------------------------------------------+ | phq9 | _pk | int | NO | (SERVER) Primary key (on the server) | | phq9 | _device | varchar | NO | (SERVER) ID of the source tablet device | | phq9 | _era | varchar | NO | (SERVER) 'NOW', or when this row was preserved and removed from the source device (UTC ISO 8601) | | phq9 | _current | tinyint | NO | (SERVER) Is the row current (1) or not (0)? | | phq9 | _when_added_exact | varchar | YES | (SERVER) Date/time this row was added (ISO 8601) | | phq9 | _when_added_batch_utc | datetime | YES | (SERVER) Date/time of the upload batch that added this row (DATETIME in UTC) | | phq9 | _adding_user | varchar | YES | (SERVER) User that added this row | | phq9 | _when_removed_exact | varchar | YES | (SERVER) Date/time this row was removed, i.e. made not current (ISO 8601) | | phq9 | _when_removed_batch_utc | datetime | YES | (SERVER) Date/time of the upload batch that removed this row (DATETIME in UTC) | | phq9 | _removing_user | varchar | YES | (SERVER) User that removed this row | | phq9 | _preserving_user | varchar | YES | (SERVER) User that preserved this row | | phq9 | _predecessor_pk | int | YES | (SERVER) PK of predecessor record, prior to modification | | phq9 | _successor_pk | int | YES | (SERVER) PK of successor record (after modification) or NULL (after deletion) | | phq9 | _camcops_version | double | YES | (SERVER) CamCOPS version number of the uploading device | | phq9 | _addition_pending | tinyint | NO | (SERVER) Addition pending? | | phq9 | _removal_pending | tinyint | NO | (SERVER) Removal pending? | | phq9 | _move_off_tablet | tinyint | YES | (SERVER/TABLET) Record-specific preservation pending? | | phq9 | when_last_modified | varchar | YES | (STANDARD) Date/time this row was last modified on the source tablet device (ISO 8601) | | phq9 | id | int | NO | (TASK) Primary key (task ID) on the tablet device | | phq9 | patient_id | int | NO | (TASK) Foreign key to patient.id for this device | | phq9 | when_created | varchar | NO | (TASK) Date/time this task instance was created (ISO 8601) | | phq9 | when_firstexit | varchar | YES | (TASK) Date/time of the first exit from this task (ISO 8601) | | phq9 | firstexit_is_finish | tinyint | YES | (TASK) Was the first exit from the task because it was finished (1)? | | phq9 | firstexit_is_abort | tinyint | YES | (TASK) Was the first exit from this task because it was aborted (1)? | | phq9 | q1 | int | YES | | | phq9 | q2 | int | YES | | | phq9 | q3 | int | YES | | | phq9 | q4 | int | YES | | | phq9 | q5 | int | YES | | | phq9 | q6 | int | YES | | | phq9 | q7 | int | YES | | | phq9 | q8 | int | YES | | | phq9 | q9 | int | YES | | | phq9 | q10 | int | YES | | +------------+-------------------------+-----------+-------------+--------------------------------------------------------------------------------------------------+
You can see the PHQ9 fields (Q1–Q9 and extra Q10), the standard client-side field, the standard task fields, and the fields added by the server.
Records are created on the tablet devices, with appropriate and simple key relationships. Once they’re on the server, things are more complicated, as the server keeps track of multiple tablet devices (and, moreover, multiple copies across time of information from those tablet devices).
The following views are therefore pre-created to make life easier. They
(a) restrict queries to current information, and (b) provide the appropriate
server PK (for example, _patient_server_pk
to link to the
server’s patient._pk
field).
Any table X present on the client devices has a corresponding view
named X_current. For simple top-level tables (patient,
storedvars, blobs
), these are defined as follows:
CREATE OR REPLACE VIEW X_current AS SELECT * FROM X WHERE _current ;
For a task table Y, the view Y_current is defined as:
CREATE OR REPLACE VIEW Y_current AS SELECT Y.*, patient._pk AS _patient_server_pk FROM Y INNER JOIN patient ON Y.patient_id = patient.id AND Y._device = patient._device AND Y._era = patient._era WHERE Y._current AND patient._current ;
In addition, a view Y_current_withpt, linking in current patient information, is defined as:
CREATE OR REPLACE VIEW Y_current_withpt AS SELECT Y_current.* , patient_current.forename AS patient_forename , patient_current.surname AS patient_surname , patient_current.dob AS patient_dob , patient_current.sex AS patient_sex , patient_current.idnum1 AS patient_idnum1 , patient_current.idnum2 AS patient_idnum2 , patient_current.idnum3 AS patient_idnum3 , patient_current.idnum4 AS patient_idnum4 , patient_current.idnum5 AS patient_idnum5 , patient_current.idnum6 AS patient_idnum6 , patient_current.idnum7 AS patient_idnum7 , patient_current.idnum8 AS patient_idnum8 , patient_current.address AS patient_address , patient_current.gp AS patient_gp , patient_current.other AS patient_other FROM Y_current INNER JOIN patient_current ON Y_current._patient_server_pk = patient_current._pk ;
For an ancillary table Z (used by task Y, with a foreign key named Y_id to Y.id), the view Z_current is defined as:
CREATE OR REPLACE VIEW Z_current AS SELECT Z, Y._pk AS _task_server_pk FROM Z INNER JOIN Y ON Z.Y_id = Y.id AND Z._device = Y._device AND Z._era = Y._era WHERE Z._current AND Y._current ;
You are encouraged to use the *_current
and
*_current_withpt
views.
Identical *_current
and *_current_withpt
views
are created for all summary tables (in this
example, phq9_SUMMARY_TEMP_current
and
phq9_SUMMARY_TEMP_current_withpt
).
As a simple example, to attach patient information to all current
instances of a PHQ9 task (mimicking the phq9_current_withpt
view), you can run:
SELECT * FROM phq9_current INNER JOIN patient_current ON phq9_current._patient_server_pk = patient_current._pk;
Code to generate this:
SELECT c.table_name, c.column_name, c.data_type, c.is_nullable, c.column_comment FROM information_schema.columns c INNER JOIN information_schema.tables t ON c.table_schema = t.table_schema AND c.table_name = t.table_name WHERE t.table_type='BASE TABLE' AND c.table_schema='camcops' /* database name */ ;
With slightly fancier output, we get some detailed table structure.


@title Customer
@helper.form(action = formAction, 'role -> "form") {
@defining(customerForm("id")) { pidField =>
}
@inputText(customerForm("Name"), 'class -> "form-control")
@inputText(customerForm("Street"), 'class -> "form-control")
@inputText(customerForm("StreetNumber"), 'class -> "form-control")
@inputText(customerForm("PostCode"), 'class -> "form-control")
@inputText(customerForm("city"), 'class -> "form-control")
@inputText(customerForm("firstName"), 'class -> "form-control")
@inputText(customerForm("lastName"), 'class -> "form-control")
@inputText(customerForm("phone"), 'class -> "form-control")
@inputText(customerForm("email"), 'class -> "form-control")
}


'''
Copyright 2017, Fujitsu Network Communications, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
'''
"""Warrior Network diagnostics module """
import re
from Framework.ClassUtils.WNetwork.base_class import Base
from Framework.Utils import cli_Utils
from Framework.Utils.testcase_Utils import pNote
[docs]class Diag(Base):
"""Warrior Diagnostics class """
def __init__(self, *args, **kwargs):
""" Constructor """
super(Diag, self).__init__(*args, **kwargs)
@staticmethod
[docs] def ping_from_remotehost(session_object, ip_type,
dest_address, prompt, count):
"""ping to dest_system from remote host
:Arguments:
1. session_object(string) = expect session object
2. command(string) = command to be executed
3. ip_type = ip/ipv6/dns
4. dest_address(string) = ip or dns name
3. prompt(string) = prompt
:Returns:
1. bool (True/False)
"""
ping_cmd = "ping"
if ip_type == "ipv6":
ping_cmd = "ping6"
command = ping_cmd +" -c {} {}".format(count, dest_address)
output = cli_Utils.send_command_and_get_response(session_object, ".*",
prompt, command)
if " 0% packet loss" in output or "alive" in output:
pNote("ping successfully completed")
status = True
else:
pNote("ping command failed")
status = False
return status
@staticmethod
[docs] def traceroute_from_remotehost(session_object, ip_type, dest_address,
prompt):
"""traceroute to dest_system from remote host
:Arguments:
1. session_object(string) = expect session object
2. command(string) = command to be executed
3. ip_type = ip/ipv6/dns
4. dest_address(string) = ip or dns name
3. prompt(string) = prompt
:Returns:
1. bool (True/False)
"""
traceroute_cmd = "traceroute"
if ip_type == "ipv6":
traceroute_cmd = "traceroute6"
command = traceroute_cmd +" {}".format(dest_address)
output = cli_Utils.send_command_and_get_response(session_object, ".*",
prompt, command)
if not isinstance(output, str):
pNote("traceroute command returned invalid value", "error")
return False
output_list = output.split("\n")
for output in output_list:
match = re.search(r'^ *(\d+) .*?'+dest_address, output)
if match:
break
if match:
pNote("Traceroute completed in {} hop".format(match.group(1)))
status = True
else:
status = False
pNote("Traceroute failed", "error")
return status


{% include head.html %}
{{ site.tag_text }}
{{ content }}
https://github.com/williamfiset
https://www.linkedin.com/in/williamfiset
https://www.youtube.com/c/WilliamFiset-videos
Support me to continue creating educational content:
{% include scripts.html %}


"""
Abstract base class for the various polynomial Classes.
The ABCPolyBase class provides the methods needed to implement the common API
for the various polynomial classes. It operates as a mixin, but uses the
abc module from the stdlib, hence it is only available for Python >= 2.6.
"""
from __future__ import division, absolute_import, print_function
from abc import ABCMeta, abstractmethod, abstractproperty
from numbers import Number
import numpy as np
from . import polyutils as pu
__all__ = ['ABCPolyBase']
class ABCPolyBase(object):
"""An abstract base class for series classes.
ABCPolyBase provides the standard Python numerical methods
'+', '-', '*', '//', '%', 'divmod', '**', and '()' along with the
methods listed below.
.. versionadded:: 1.9.0
Parameters
----------
coef : array_like
Series coefficients in order of increasing degree, i.e.,
``(1, 2, 3)`` gives ``1*P_0(x) + 2*P_1(x) + 3*P_2(x)``, where
``P_i`` is the basis polynomials of degree ``i``.
domain : (2,) array_like, optional
Domain to use. The interval ``[domain[0], domain[1]]`` is mapped
to the interval ``[window[0], window[1]]`` by shifting and scaling.
The default value is the derived class domain.
window : (2,) array_like, optional
Window, see domain for its use. The default value is the
derived class window.
Attributes
----------
coef : (N,) ndarray
Series coefficients in order of increasing degree.
domain : (2,) ndarray
Domain that is mapped to window.
window : (2,) ndarray
Window that domain is mapped to.
Class Attributes
----------------
maxpower : int
Maximum power allowed, i.e., the largest number ``n`` such that
``p(x)**n`` is allowed. This is to limit runaway polynomial size.
domain : (2,) ndarray
Default domain of the class.
window : (2,) ndarray
Default window of the class.
"""
__metaclass__ = ABCMeta
# Not hashable
__hash__ = None
# Opt out of numpy ufuncs and Python ops with ndarray subclasses.
__array_ufunc__ = None
# Limit runaway size. T_n^m has degree n*m
maxpower = 100
@abstractproperty
def domain(self):
pass
@abstractproperty
def window(self):
pass
@abstractproperty
def nickname(self):
pass
@abstractmethod
def _add(self):
pass
@abstractmethod
def _sub(self):
pass
@abstractmethod
def _mul(self):
pass
@abstractmethod
def _div(self):
pass
@abstractmethod
def _pow(self):
pass
@abstractmethod
def _val(self):
pass
@abstractmethod
def _int(self):
pass
@abstractmethod
def _der(self):
pass
@abstractmethod
def _fit(self):
pass
@abstractmethod
def _line(self):
pass
@abstractmethod
def _roots(self):
pass
@abstractmethod
def _fromroots(self):
pass
def has_samecoef(self, other):
"""Check if coefficients match.
.. versionadded:: 1.6.0
Parameters
----------
other : class instance
The other class must have the ``coef`` attribute.
Returns
-------
bool : boolean
True if the coefficients are the same, False otherwise.
"""
if len(self.coef) != len(other.coef):
return False
elif not np.all(self.coef == other.coef):
return False
else:
return True
def has_samedomain(self, other):
"""Check if domains match.
.. versionadded:: 1.6.0
Parameters
----------
other : class instance
The other class must have the ``domain`` attribute.
Returns
-------
bool : boolean
True if the domains are the same, False otherwise.
"""
return np.all(self.domain == other.domain)
def has_samewindow(self, other):
"""Check if windows match.
.. versionadded:: 1.6.0
Parameters
----------
other : class instance
The other class must have the ``window`` attribute.
Returns
-------
bool : boolean
True if the windows are the same, False otherwise.
"""
return np.all(self.window == other.window)
def has_sametype(self, other):
"""Check if types match.
.. versionadded:: 1.7.0
Parameters
----------
other : object
Class instance.
Returns
-------
bool : boolean
True if other is same class as self
"""
return isinstance(other, self.__class__)
def _get_coefficients(self, other):
"""Interpret other as polynomial coefficients.
The `other` argument is checked to see if it is of the same
class as self with identical domain and window. If so,
return its coefficients, otherwise return `other`.
.. versionadded:: 1.9.0
Parameters
----------
other : anything
Object to be checked.
Returns
-------
coef
The coefficients of`other` if it is a compatible instance,
of ABCPolyBase, otherwise `other`.
Raises
------
TypeError
When `other` is an incompatible instance of ABCPolyBase.
"""
if isinstance(other, ABCPolyBase):
if not isinstance(other, self.__class__):
raise TypeError("Polynomial types differ")
elif not np.all(self.domain == other.domain):
raise TypeError("Domains differ")
elif not np.all(self.window == other.window):
raise TypeError("Windows differ")
return other.coef
return other
def __init__(self, coef, domain=None, window=None):
[coef] = pu.as_series([coef], trim=False)
self.coef = coef
if domain is not None:
[domain] = pu.as_series([domain], trim=False)
if len(domain) != 2:
raise ValueError("Domain has wrong number of elements.")
self.domain = domain
if window is not None:
[window] = pu.as_series([window], trim=False)
if len(window) != 2:
raise ValueError("Window has wrong number of elements.")
self.window = window
def __repr__(self):
format = "%s(%s, domain=%s, window=%s)"
coef = repr(self.coef)[6:-1]
domain = repr(self.domain)[6:-1]
window = repr(self.window)[6:-1]
name = self.__class__.__name__
return format % (name, coef, domain, window)
def __str__(self):
format = "%s(%s)"
coef = str(self.coef)
name = self.nickname
return format % (name, coef)
# Pickle and copy
def __getstate__(self):
ret = self.__dict__.copy()
ret['coef'] = self.coef.copy()
ret['domain'] = self.domain.copy()
ret['window'] = self.window.copy()
return ret
def __setstate__(self, dict):
self.__dict__ = dict
# Call
def __call__(self, arg):
off, scl = pu.mapparms(self.domain, self.window)
arg = off + scl*arg
return self._val(arg, self.coef)
def __iter__(self):
return iter(self.coef)
def __len__(self):
return len(self.coef)
# Numeric properties.
def __neg__(self):
return self.__class__(-self.coef, self.domain, self.window)
def __pos__(self):
return self
def __add__(self, other):
othercoef = self._get_coefficients(other)
try:
coef = self._add(self.coef, othercoef)
except Exception:
return NotImplemented
return self.__class__(coef, self.domain, self.window)
def __sub__(self, other):
othercoef = self._get_coefficients(other)
try:
coef = self._sub(self.coef, othercoef)
except Exception:
return NotImplemented
return self.__class__(coef, self.domain, self.window)
def __mul__(self, other):
othercoef = self._get_coefficients(other)
try:
coef = self._mul(self.coef, othercoef)
except Exception:
return NotImplemented
return self.__class__(coef, self.domain, self.window)
def __div__(self, other):
# set to __floordiv__, /, for now.
return self.__floordiv__(other)
def __truediv__(self, other):
# there is no true divide if the rhs is not a Number, although it
# could return the first n elements of an infinite series.
# It is hard to see where n would come from, though.
if not isinstance(other, Number) or isinstance(other, bool):
form = "unsupported types for true division: '%s', '%s'"
raise TypeError(form % (type(self), type(other)))
return self.__floordiv__(other)
def __floordiv__(self, other):
res = self.__divmod__(other)
if res is NotImplemented:
return res
return res[0]
def __mod__(self, other):
res = self.__divmod__(other)
if res is NotImplemented:
return res
return res[1]
def __divmod__(self, other):
othercoef = self._get_coefficients(other)
try:
quo, rem = self._div(self.coef, othercoef)
except ZeroDivisionError as e:
raise e
except Exception:
return NotImplemented
quo = self.__class__(quo, self.domain, self.window)
rem = self.__class__(rem, self.domain, self.window)
return quo, rem
def __pow__(self, other):
coef = self._pow(self.coef, other, maxpower=self.maxpower)
res = self.__class__(coef, self.domain, self.window)
return res
def __radd__(self, other):
try:
coef = self._add(other, self.coef)
except Exception:
return NotImplemented
return self.__class__(coef, self.domain, self.window)
def __rsub__(self, other):
try:
coef = self._sub(other, self.coef)
except Exception:
return NotImplemented
return self.__class__(coef, self.domain, self.window)
def __rmul__(self, other):
try:
coef = self._mul(other, self.coef)
except Exception:
return NotImplemented
return self.__class__(coef, self.domain, self.window)
def __rdiv__(self, other):
# set to __floordiv__ /.
return self.__rfloordiv__(other)
def __rtruediv__(self, other):
# An instance of ABCPolyBase is not considered a
# Number.
return NotImplemented
def __rfloordiv__(self, other):
res = self.__rdivmod__(other)
if res is NotImplemented:
return res
return res[0]
def __rmod__(self, other):
res = self.__rdivmod__(other)
if res is NotImplemented:
return res
return res[1]
def __rdivmod__(self, other):
try:
quo, rem = self._div(other, self.coef)
except ZeroDivisionError as e:
raise e
except Exception:
return NotImplemented
quo = self.__class__(quo, self.domain, self.window)
rem = self.__class__(rem, self.domain, self.window)
return quo, rem
# Enhance me
# some augmented arithmetic operations could be added here
def __eq__(self, other):
res = (isinstance(other, self.__class__) and
np.all(self.domain == other.domain) and
np.all(self.window == other.window) and
(self.coef.shape == other.coef.shape) and
np.all(self.coef == other.coef))
return res
def __ne__(self, other):
return not self.__eq__(other)
#
# Extra methods.
#
def copy(self):
"""Return a copy.
Returns
-------
new_series : series
Copy of self.
"""
return self.__class__(self.coef, self.domain, self.window)
def degree(self):
"""The degree of the series.
.. versionadded:: 1.5.0
Returns
-------
degree : int
Degree of the series, one less than the number of coefficients.
"""
return len(self) - 1
def cutdeg(self, deg):
"""Truncate series to the given degree.
Reduce the degree of the series to `deg` by discarding the
high order terms. If `deg` is greater than the current degree a
copy of the current series is returned. This can be useful in least
squares where the coefficients of the high degree terms may be very
small.
.. versionadded:: 1.5.0
Parameters
----------
deg : non-negative int
The series is reduced to degree `deg` by discarding the high
order terms. The value of `deg` must be a non-negative integer.
Returns
-------
new_series : series
New instance of series with reduced degree.
"""
return self.truncate(deg + 1)
def trim(self, tol=0):
"""Remove trailing coefficients
Remove trailing coefficients until a coefficient is reached whose
absolute value greater than `tol` or the beginning of the series is
reached. If all the coefficients would be removed the series is set
to ``[0]``. A new series instance is returned with the new
coefficients. The current instance remains unchanged.
Parameters
----------
tol : non-negative number.
All trailing coefficients less than `tol` will be removed.
Returns
-------
new_series : series
Contains the new set of coefficients.
"""
coef = pu.trimcoef(self.coef, tol)
return self.__class__(coef, self.domain, self.window)
def truncate(self, size):
"""Truncate series to length `size`.
Reduce the series to length `size` by discarding the high
degree terms. The value of `size` must be a positive integer. This
can be useful in least squares where the coefficients of the
high degree terms may be very small.
Parameters
----------
size : positive int
The series is reduced to length `size` by discarding the high
degree terms. The value of `size` must be a positive integer.
Returns
-------
new_series : series
New instance of series with truncated coefficients.
"""
isize = int(size)
if isize != size or isize < 1:
raise ValueError("size must be a positive integer")
if isize >= len(self.coef):
coef = self.coef
else:
coef = self.coef[:isize]
return self.__class__(coef, self.domain, self.window)
def convert(self, domain=None, kind=None, window=None):
"""Convert series to a different kind and/or domain and/or window.
Parameters
----------
domain : array_like, optional
The domain of the converted series. If the value is None,
the default domain of `kind` is used.
kind : class, optional
The polynomial series type class to which the current instance
should be converted. If kind is None, then the class of the
current instance is used.
window : array_like, optional
The window of the converted series. If the value is None,
the default window of `kind` is used.
Returns
-------
new_series : series
The returned class can be of different type than the current
instance and/or have a different domain and/or different
window.
Notes
-----
Conversion between domains and class types can result in
numerically ill defined series.
Examples
--------
"""
if kind is None:
kind = self.__class__
if domain is None:
domain = kind.domain
if window is None:
window = kind.window
return self(kind.identity(domain, window=window))
def mapparms(self):
"""Return the mapping parameters.
The returned values define a linear map ``off + scl*x`` that is
applied to the input arguments before the series is evaluated. The
map depends on the ``domain`` and ``window``; if the current
``domain`` is equal to the ``window`` the resulting map is the
identity. If the coefficients of the series instance are to be
used by themselves outside this class, then the linear function
must be substituted for the ``x`` in the standard representation of
the base polynomials.
Returns
-------
off, scl : float or complex
The mapping function is defined by ``off + scl*x``.
Notes
-----
If the current domain is the interval ``[l1, r1]`` and the window
is ``[l2, r2]``, then the linear mapping function ``L`` is
defined by the equations::
L(l1) = l2
L(r1) = r2
"""
return pu.mapparms(self.domain, self.window)
def integ(self, m=1, k=[], lbnd=None):
"""Integrate.
Return a series instance that is the definite integral of the
current series.
Parameters
----------
m : non-negative int
The number of integrations to perform.
k : array_like
Integration constants. The first constant is applied to the
first integration, the second to the second, and so on. The
list of values must less than or equal to `m` in length and any
missing values are set to zero.
lbnd : Scalar
The lower bound of the definite integral.
Returns
-------
new_series : series
A new series representing the integral. The domain is the same
as the domain of the integrated series.
"""
off, scl = self.mapparms()
if lbnd is None:
lbnd = 0
else:
lbnd = off + scl*lbnd
coef = self._int(self.coef, m, k, lbnd, 1./scl)
return self.__class__(coef, self.domain, self.window)
def deriv(self, m=1):
"""Differentiate.
Return a series instance of that is the derivative of the current
series.
Parameters
----------
m : non-negative int
Find the derivative of order `m`.
Returns
-------
new_series : series
A new series representing the derivative. The domain is the same
as the domain of the differentiated series.
"""
off, scl = self.mapparms()
coef = self._der(self.coef, m, scl)
return self.__class__(coef, self.domain, self.window)
def roots(self):
"""Return the roots of the series polynomial.
Compute the roots for the series. Note that the accuracy of the
roots decrease the further outside the domain they lie.
Returns
-------
roots : ndarray
Array containing the roots of the series.
"""
roots = self._roots(self.coef)
return pu.mapdomain(roots, self.window, self.domain)
def linspace(self, n=100, domain=None):
"""Return x, y values at equally spaced points in domain.
Returns the x, y values at `n` linearly spaced points across the
domain. Here y is the value of the polynomial at the points x. By
default the domain is the same as that of the series instance.
This method is intended mostly as a plotting aid.
.. versionadded:: 1.5.0
Parameters
----------
n : int, optional
Number of point pairs to return. The default value is 100.
domain : {None, array_like}, optional
If not None, the specified domain is used instead of that of
the calling instance. It should be of the form ``[beg,end]``.
The default is None which case the class domain is used.
Returns
-------
x, y : ndarray
x is equal to linspace(self.domain[0], self.domain[1], n) and
y is the series evaluated at element of x.
"""
if domain is None:
domain = self.domain
x = np.linspace(domain[0], domain[1], n)
y = self(x)
return x, y
@classmethod
def fit(cls, x, y, deg, domain=None, rcond=None, full=False, w=None,
window=None):
"""Least squares fit to data.
Return a series instance that is the least squares fit to the data
`y` sampled at `x`. The domain of the returned instance can be
specified and this will often result in a superior fit with less
chance of ill conditioning.
Parameters
----------
x : array_like, shape (M,)
x-coordinates of the M sample points ``(x[i], y[i])``.
y : array_like, shape (M,) or (M, K)
y-coordinates of the sample points. Several data sets of sample
points sharing the same x-coordinates can be fitted at once by
passing in a 2D-array that contains one dataset per column.
deg : int or 1-D array_like
Degree(s) of the fitting polynomials. If `deg` is a single integer
all terms up to and including the `deg`'th term are included in the
fit. For NumPy versions >= 1.11.0 a list of integers specifying the
degrees of the terms to include may be used instead.
domain : {None, [beg, end], []}, optional
Domain to use for the returned series. If ``None``,
then a minimal domain that covers the points `x` is chosen. If
``[]`` the class domain is used. The default value was the
class domain in NumPy 1.4 and ``None`` in later versions.
The ``[]`` option was added in numpy 1.5.0.
rcond : float, optional
Relative condition number of the fit. Singular values smaller
than this relative to the largest singular value will be
ignored. The default value is len(x)*eps, where eps is the
relative precision of the float type, about 2e-16 in most
cases.
full : bool, optional
Switch determining nature of return value. When it is False
(the default) just the coefficients are returned, when True
diagnostic information from the singular value decomposition is
also returned.
w : array_like, shape (M,), optional
Weights. If not None the contribution of each point
``(x[i],y[i])`` to the fit is weighted by `w[i]`. Ideally the
weights are chosen so that the errors of the products
``w[i]*y[i]`` all have the same variance. The default value is
None.
.. versionadded:: 1.5.0
window : {[beg, end]}, optional
Window to use for the returned series. The default
value is the default class domain
.. versionadded:: 1.6.0
Returns
-------
new_series : series
A series that represents the least squares fit to the data and
has the domain specified in the call.
[resid, rank, sv, rcond] : list
These values are only returned if `full` = True
resid -- sum of squared residuals of the least squares fit
rank -- the numerical rank of the scaled Vandermonde matrix
sv -- singular values of the scaled Vandermonde matrix
rcond -- value of `rcond`.
For more details, see `linalg.lstsq`.
"""
if domain is None:
domain = pu.getdomain(x)
elif type(domain) is list and len(domain) == 0:
domain = cls.domain
if window is None:
window = cls.window
xnew = pu.mapdomain(x, domain, window)
res = cls._fit(xnew, y, deg, w=w, rcond=rcond, full=full)
if full:
[coef, status] = res
return cls(coef, domain=domain, window=window), status
else:
coef = res
return cls(coef, domain=domain, window=window)
@classmethod
def fromroots(cls, roots, domain=[], window=None):
"""Return series instance that has the specified roots.
Returns a series representing the product
``(x - r[0])*(x - r[1])*...*(x - r[n-1])``, where ``r`` is a
list of roots.
Parameters
----------
roots : array_like
List of roots.
domain : {[], None, array_like}, optional
Domain for the resulting series. If None the domain is the
interval from the smallest root to the largest. If [] the
domain is the class domain. The default is [].
window : {None, array_like}, optional
Window for the returned series. If None the class window is
used. The default is None.
Returns
-------
new_series : series
Series with the specified roots.
"""
[roots] = pu.as_series([roots], trim=False)
if domain is None:
domain = pu.getdomain(roots)
elif type(domain) is list and len(domain) == 0:
domain = cls.domain
if window is None:
window = cls.window
deg = len(roots)
off, scl = pu.mapparms(domain, window)
rnew = off + scl*roots
coef = cls._fromroots(rnew) / scl**deg
return cls(coef, domain=domain, window=window)
@classmethod
def identity(cls, domain=None, window=None):
"""Identity function.
If ``p`` is the returned series, then ``p(x) == x`` for all
values of x.
Parameters
----------
domain : {None, array_like}, optional
If given, the array must be of the form ``[beg, end]``, where
``beg`` and ``end`` are the endpoints of the domain. If None is
given then the class domain is used. The default is None.
window : {None, array_like}, optional
If given, the resulting array must be if the form
``[beg, end]``, where ``beg`` and ``end`` are the endpoints of
the window. If None is given then the class window is used. The
default is None.
Returns
-------
new_series : series
Series of representing the identity.
"""
if domain is None:
domain = cls.domain
if window is None:
window = cls.window
off, scl = pu.mapparms(window, domain)
coef = cls._line(off, scl)
return cls(coef, domain, window)
@classmethod
def basis(cls, deg, domain=None, window=None):
"""Series basis polynomial of degree `deg`.
Returns the series representing the basis polynomial of degree `deg`.
.. versionadded:: 1.7.0
Parameters
----------
deg : int
Degree of the basis polynomial for the series. Must be >= 0.
domain : {None, array_like}, optional
If given, the array must be of the form ``[beg, end]``, where
``beg`` and ``end`` are the endpoints of the domain. If None is
given then the class domain is used. The default is None.
window : {None, array_like}, optional
If given, the resulting array must be if the form
``[beg, end]``, where ``beg`` and ``end`` are the endpoints of
the window. If None is given then the class window is used. The
default is None.
Returns
-------
new_series : series
A series with the coefficient of the `deg` term set to one and
all others zero.
"""
if domain is None:
domain = cls.domain
if window is None:
window = cls.window
ideg = int(deg)
if ideg != deg or ideg < 0:
raise ValueError("deg must be non-negative integer")
return cls([0]*ideg + [1], domain, window)
@classmethod
def cast(cls, series, domain=None, window=None):
"""Convert series to series of this class.
The `series` is expected to be an instance of some polynomial
series of one of the types supported by by the numpy.polynomial
module, but could be some other class that supports the convert
method.
.. versionadded:: 1.7.0
Parameters
----------
series : series
The series instance to be converted.
domain : {None, array_like}, optional
If given, the array must be of the form ``[beg, end]``, where
``beg`` and ``end`` are the endpoints of the domain. If None is
given then the class domain is used. The default is None.
window : {None, array_like}, optional
If given, the resulting array must be if the form
``[beg, end]``, where ``beg`` and ``end`` are the endpoints of
the window. If None is given then the class window is used. The
default is None.
Returns
-------
new_series : series
A series of the same kind as the calling class and equal to
`series` when evaluated.
See Also
--------
convert : similar instance method
"""
if domain is None:
domain = cls.domain
if window is None:
window = cls.window
return series.convert(domain, cls, window)


2021
Welcome to Sysifus Corp - A cut-throat corporate board game about being the first to the coveted promotion. The closest you can get to legally stabbing your coworkers in the back.
2022
Love, Career & Magic - A reality TV card game set in a mythical modern world. Play as one of 25 fantastical creatures, form relationships, and stir up drama.


Election Maps
Written on November 6th, 2020 by Ane Rahbek VierøMap by: Martín González
Election Maps
A classic - and maybe one of the oldest? - type of data visualisation is the art of cartography. As with all other data visualisations, data visualised on, or as, maps, can be made to tell very different stories, depending on how you visualise it. For spatial data particularly the choice of geographical scale and unit is an important factor for what story is told.
This is never as clear, as when it comes to the election maps that are used to show how people voted where and which usually are abundant after larger elections.
While one should be careful labelling any map as ‘wrong’ or ‘correct’ (after all a map is always an abstraction and simplification (see for example the old classic ‘How to lie with maps’), specific ways of mapping voting patterns can convey some quite problematic and misleading narratives. Examples are the maps showing voting results per state or geographical extent, resulting in an idea that Trump won a ‘landslide victory’ in 2016 (hint: the population is not evenly distributed so largest geographical extent ≠ most votes).
Similarly, using a very large geographical unit reinforces ideas about homogeneous regions where most, if not all, inhabitants vote and think similarly. This is for example the case in many of the maps used to map the results of the national elections in Denmark:
Map of election results in Denmark, visualised for each municipality. Source: dr.dk
In contrast, the map below shows the same data and same election results, but does not to the same extent reinforce the idea of clear-cut urban-rural divides in political affiliation.
Map of election results in Denmark, visualised for each constituency. Source: dr.dk
As described quite elegantly in this NY-article, there are a number of issues with the traditional way we make maps.
For example, showing election results for geographical areas might give some fairly misleading ideas about who got the most votes, since the population density usually varies quite a bit.
One way of getting around this is to use shades based on population density, but it is hard to communicate exactly how to interpret the relationship between color hue and number of votes. Moreover, most people can only distinguish between 5-7 shades of the same color.
Map of US election results in 2016, using shades to visualize population density. Source: New York Times
To overcome this challenge, some turn to so-called cartograms like the one below (in cartograms the size of each unit is sized in proportion with the data visualized on the map).
Source: Worldmapper.org
While fun to look at, most people want to be able to locate themselves, or at least their home town in a map, and that is tricky when the map no longer contains the well-known shapes of more common map projections.
The conclusion - maps are difficult to get right! And election maps might be a little bit harder, especially in times of contested results. Below are however a couple of maps which in different ways do a pretty good job at conveying how - and how many - people voted across the country.
A dasymetric dot density map by Kenneth Field (2016 election).
Election map by Martín González visualizing voting distribution based on both building footprint and population density (2020 election).
P.S. Election maps, or rather, election results and how people vote in different places, can often tell us a lot about a country’s history and demography. For an interesting example of this, check out this twitter thread by Latif Nasser.


11.31. Release 0.197
General Changes
- Fix query scheduling hang when the
concurrent_lifespans_per_task
session property is set.
- Fix failure when a query contains a
TIMESTAMP
literal corresponding to a local time that
does not occur in the default time zone of the Presto JVM. For example, if Presto was running
in a CET zone (e.g., Europe/Brussels
) and the client session was in UTC, an expression
such as TIMESTAMP '2017-03-26 02:10:00'
would cause a failure.
- Extend predicate inference and pushdown for queries using a
<symbol> IN <subquery>
predicate.
- Support predicate pushdown for the
<column> IN <values list>
predicate
where values in the values list
require casting to match the type of column
.
- Optimize
min()
and max()
to avoid unnecessary object creation in order to reduce GC overhead.
- Optimize the performance of
ST_XMin()
, ST_XMax()
, ST_YMin()
, and ST_YMax()
.
- Add
DATE
variant for sequence()
function.
- Add
ST_IsSimple()
geospatial function.
- Add support for broadcast spatial joins.
Resource Groups Changes
- Change configuration check for weights in resource group policy to validate that
either all of the subgroups or none of the subgroups have a scheduling weight configured.
- Add support for named variables in source and user regular expressions that can be
used to parameterize resource group names.
- Add support for optional fields in DB resource group exact match selectors.
Hive Changes
- Fix reading of Hive partition statistics with unset fields. Previously, unset fields
were incorrectly interpreted as having a value of zero.
- Fix integer overflow when writing a single file greater than 2GB with optimized ORC writer.
- Fix system memory accounting to include stripe statistics size and
writer validation size for the optimized ORC writer.
- Dynamically allocate the compression buffer for the optimized ORC writer
to avoid unnecessary memory allocation. Add config property
hive.orc.writer.max-compression-buffer-size
to limit the maximum size of the buffer.
- Add session property
orc_optimized_writer_max_stripe_size
to tune the
maximum stipe size for the optimized ORC writer.
- Add session property
orc_string_statistics_limit
to drop the string
statistics when writing ORC files if they exceed the limit.
- Use the view owner returned from the metastore at the time of the query rather than
always using the user who created the view. This allows changing the owner of a view.
CLI Changes
- Fix hang when CLI fails to communicate with Presto server.
SPI Changes
- Include connector session properties for the connector metadata calls made
when running
SHOW
statements or querying information_schema
.
- Add count and time of full GC that occurred while query was running to
QueryCompletedEvent
.
- Change the
ResourceGroupManager
interface to include a match()
method and
remove the getSelectors()
method and the ResourceGroupSelector
interface.
- Rename the existing
SelectionContext
class to be SelectionCriteria
and
create a new SelectionContext
class that is returned from the match()
method
and contains the resource group ID and a manager-defined context field.
- Use the view owner from
ConnectorViewDefinition
when present.


Salt and Olive is an artisanal oils and Mediterranean food purveyor in Harvard Square. Prior to their opening, I was contacted by the founder to help create turn a desired look into a visual identity and overall brand image.
During the course of this engagement, I created the logo, playing off a Mediterranean color scheme and using the O as an olive, that is now used on all branding, including the site.
I also worked directly with their bottling manufacturer to create art for the olive oil bottles that now line the shelves in their store.


public class ReadWriteFiles
extends java.lang.Object
| Constructor and Description |
|---|
ReadWriteFiles() |
| Modifier and Type | Method and Description |
|---|---|
void |
addInfectedCounty(java.lang.String county)
Method responsible for adding a person to the total number of infected in a given county
|
int |
getClientCountyPort(Client client)
Method responsible for obtaining the multicast ip port of a given client's county, receiving the client object as
a parameter
|
int |
getCountyTotalInfected(java.lang.String countyName)
Method responsible for obtaining the total number of infected people in a given county, taking the name of the
county as a parameter
|
int |
getSubRegionTotalInfected()
Method responsible for obtaining the total number of infected people in the sub-region of Tâmega and Vale do Sousa
|
int |
indexUnregisteredUsers(int id)
Method responsible for returning the index of the client's position that is not yet registered in the application
|
void |
removeUnregisteredUsers(int position)
Method responsible for removing the client from the JSON file, given its position in the array of registered clients
|
java.util.ArrayList<java.lang.String> |
spinnerOptions()
Method responsible for loading the spinner, from the JSON file with the name of the counties
|
void |
updateNotificationContactUser(int id)
Method responsible for adding a contact that is not yet registered in the application
|
boolean |
userExists(int id)
Method responsible for verifying whether a client exists or not, given its id in the JSON file
|
void |
writeJSONFile(Client client)
Method responsible for writing client information to a JSON file while the client is using the application
|
void |
writeUnregisteredUsers(int id)
Method responsible for writing to a JSON file users who have been added to nearby contacts and who are not yet
registered in the application
|
void |
writeUserRegister(int id,
java.lang.String username,
java.lang.String password,
boolean isNotified,
java.lang.String county)
Method responsible for writing client information to a JSON file when the client registers
|
public void writeJSONFile(Client client)
client
- client object (model)public boolean userExists(int id)
id
- client's idpublic int indexUnregisteredUsers(int id)
id
- client's idpublic void removeUnregisteredUsers(int position)
position
- position of the removed clientpublic void writeUserRegister(int id, java.lang.String username, java.lang.String password, boolean isNotified, java.lang.String county)
id
- client's idusername
- client's usernamepassword
- client's passwordisNotified
- whether it has already been notified or not (true / false)county
- client's countypublic void updateNotificationContactUser(int id)
id
- unregistered contact idpublic void writeUnregisteredUsers(int id)
id
- unregistered client idpublic java.util.ArrayList<java.lang.String> spinnerOptions()
public int getClientCountyPort(Client client)
client
- client object (model)public int getCountyTotalInfected(java.lang.String countyName)
countyName
- county's namepublic int getSubRegionTotalInfected()
public void addInfectedCounty(java.lang.String county)
county
- county's name


TS3 Corporate Outdoor Fitness is back
Corporate Outdoor Fitness
Open Air fitness, Track field training for all categories
To Improve Muscle growth they require Oxygen that passes through Muscle tissues which cannot be happened through indoor workouts..
Sunlight Energy Plays a major Role In Neuromuscular Functioning Vitamin D regulates neuromuscular functioning (pertaining to the nervous and muscular systems)
What seems impossible today will one day become your warm-up!! Here are the people who gives you that ability..


Lecture 27
Qi Wang, Department of Statistics
Oct 26, 2018
Poisson Process models the number of successes in a particular time period. Essentially, it’s taking an Exponential random variable and looking at a particular section of time, the number of successes in that time is a Poisson random variable. Consider a process in which events occur, such as
Phone calls arrive at a switch board at a rate of 2 per minute.
Tornado intensity is measured on the Fujita Scale. As the value of the Fujita scale increases from F0 to F5, so does the intensity of the storm. In Indiana, tornados of F3 or higher intensity occur on average once every ten years. Let T be the time (in years) between tornadoes of this intensity in Indiana. Assume tornadoes of this intensity occur independently


⌂
»
Site Content
Geometry 2.1
Building Area
# of Floors
Floor Area
Floor Height
# of Footprint Shapes
Footprint Shape
Massing Generator
Perimeter Depth
Orientation
Footprint dimensions
Length
Width
Thickness


Make sure you're on a search page and have clicked "latest", then click below
Authorize access to send data to TAGS (What is TAGS?)


Ghibli's World
You know her as the leader of the team, but Clara is more than just the force that moved the project. She's also the quill and brains behind those creative and visionary articles you were reading. With her unequalled solemnity and great short bob, nothing can stop her. Not CSS, not HTML and certainly not Javascript (though he tried, and failed).
The powerful Stella with her blazing glare. She stopped at nothing to take the great monstrous Javascript down. With her forcefull and badass comebacks, she succeeded in designing the fantastic page where you can store all the Ghibli movies you watched and choose an emoji to describe your experience, while choosing the theme that better fits your personality (if you chose the dark one you're an awful slytherin).
Karen, you know her as the joker of the team (that's what she likes to believe) but she tried to put her wits to better use by creating this page and worked on the database that was supposed to store the users' reviews (using IndexedDb didn't work out so she had to exclude it from the project). She's quite proud of her About Us page (though she really wanted to make dragons appear, but that didn't fit the theme).
Nicolas was the very base of this project. His home page is the first thing you see and it leads you everywhere else, with his great pragmatism and seriousness he designed the footer and header that were the link between the team's pages and work. CSS tried to stop Nicolas but he is too strong to be stopped by it. HTML tried to help, but Nicolas is unstoppable when he puts his mind to it.


Amos
1
1 These are the things concerning Israel that Amos, one of the shepherds in Tekoa, received in revelation. He received these things in the days of Uzziah king of Judah, and also in the days of Jeroboam son of Joash king of Israel, two years before the earthquake.
2 He said,
"Yahweh roars from Zion;
he raises his voice from Jerusalem.
The pastures of the shepherds mourn,
the top of Carmel withers."
3 This is what Yahweh says:
"For three sins of Damascus,
even for four,
I will not turn away punishment,
because they threshed Gilead with instruments of iron.
4 I will send a fire into the house of Hazael,
and it will devour the fortresses of Ben Hadad.
5 I will break the gate bars of Damascus
and defeat the man who lives in Biqat Aven,
and also the man who holds the scepter from Beth Eden;
the people of Aram will go in captivity to Kir,"
says Yahweh.
6 This is what Yahweh says:
"For three sins of Gaza,
even for four,
I will not turn away punishment,
because they carried away captive a whole people,
to hand them over to Edom.
7 I will send fire on the walls of Gaza,
and it will devour her fortresses.
8 I will destroy the man who lives in Ashdod
and the man who holds the scepter from Ashkelon.
I will turn my hand against Ekron,
and the rest of the Philistines will perish,"
says the Lord Yahweh.
9 This is what Yahweh says:
"For three sins of Tyre,
even for four,
I will not turn away punishment,
because they handed over whole people groups to Edom,
and they broke their treaty of brotherhood.
10 I will send fire on the walls of Tyre,
and it will devour her fortresses."
11 This is what Yahweh says,
"For three sins of Edom,
even for four,
I will not turn away punishment,
because he pursued his brother with the sword
and cast off all pity.

13 This is what Yahweh says,
"For three sins of the people of Ammon,
even for four,
I will not turn away punishment,
because they ripped open the pregnant women of Gilead,
that they may enlarge their borders.
14 I will light a fire in the walls of Rabbah,
and it will devour the palaces,
with a shout in the day of battle,
with a tempest in the day of the whirlwind.
15 Their king will go into captivity,
he and his officials together,"
says Yahweh.


§286-139 Preferred insurance rate. Insurers may provide preferential insurance rates to those persons who have favorable records to their credit. [L 1961, c 113, §2; Supp, §160-73; HRS §286-139]


Racheal Kneller rides to the rescue after Twitter plea
Wolverhampton jockey Racheal Kneller answered a desperate owner’s plea to win the Flat Jockeys Can Jump Handicap Hurdle on Ruacana at Lingfield.
With booked jockey Trevor Whelan unable to get to the Surrey course because his flight was cancelled, owner Vaughan Lewis took to Twitter in the hope of finding a replacement in time.
Kneller came to the rescue by dashing to Lingfield and taking the ride on the Zoe Davison-trained 10-year-old.
And it was well worth it as she landed her first success of 2019 after 35 winless rides on the Flat.
Ruacana was carrying a 7lb penalty for winning at the track a week ago – but it proved no burden. Kneller had Ruacana close to the pace set by Flaminger before leading from the third-last flight and, though that rival tried to rally, the 13-8 favourite kept on strongly to win by 10 lengths.
“That was great fun. He jumped well. He was a schoolmaster – he met everything perfect and I was just a passenger. He was an absolute superstar,” said Kneller, of Lower Penn.
“I said I ought to go jumping. I had a McDonald’s on the way here and these (higher) weights are much better!
“I had a chocolate milkshake on the way there and I’ll be having champagne when I get home!”
Kneller had ridden out two lots of horses yesterday morning and was oblivious to the plea from Lewis until she checked her phone.
Despite an hour-and-a-half drive from Lambourn, Berkshire, Kneller still had time to squeeze in some research.
She watched video replays of Ruacana’s previous runs on her phone while walking the track, and rang former jump jockey-turned trainer Jamie Osborne for advice.
“He said keep one leg either side! But then he gave me some really good advice and it all helped,” she said.
Lewis added: “She should probably take out a jumps’ licence. She gave him a peach of a ride, brilliant stuff.
“He only ran last week. He looked in good form and this ground is ideal for him. Two miles is probably a bit short, but he showed his class. It’s fantastic for the stable.
“They’ve done an unbelievable job with him. It’s great for Zoe and the team, brilliant for them.


Repoman: starring emilio estevez, Harry Dean Stanton etc. Dir: Alex Cox
****-out of four stars. 92 minutes.
More and more movies today are being made using a formula. There are many of these formulas. For example, Something bad happens and the hero must save the girl, that is one of hollywood's standard formulas for movies. However, a while ago (1984), a movie was made that broke all formulas. The movie was Repoman. This movie is the kind of movie that hollywood doesn't understand, it follows no known formula making it one of the most original and exciting movies to be made in the recent years of movies.
The movie centers around a young man who is unknowingly sucked into the life of a repossesor, the life of a repoman is a strange one indeed. I'm not going to give away any of the plot, but I will say that the movie does go on to include aliens, flying cars, a bum that seems to know everything, a rival group of repoman, some drug addicted punks and some very odd scientists later on.
If you ever get sick of watching movies that seem to be just like other movies, I reccomend to go out and rent a copy of Repoman, I cannot gurantee that you will like it, but if you can appreciate low budget genius movies of this sort, than you may get a kick out of it. At least rent it to throw some variety into your movie life. If you've read this far, thankyou for your time, I appreciate your patience in hearing what I have to say.
-David Peak Peak of Mystery Roger Ebert is a sell out.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Next: Error Handling and the
Up: Design and Documentation of
Previous: Work Arrays
  Contents
  Index
LWORK Query
If in doubt about the amount of workspace to supply to an LAPACK
routine, the user may choose to supply LWORK=-1
and use the returned value in WORK(1) as the correct value
for LWORK. Setting LWORK=-1 does not invoke an error message
from XERBLA and is defined as a global
query.
The routines xGEESX and xGGESX are the only exceptions to this rule.
For these routines, the value of LWORK is dependent upon the dimension
of the invariant subspace (SDIM), and is not known on entry to the routine.
Susan Blackford
1999-10-01