{{ partial "head.html" . }}
{{ partial "nav.html" . }}We are very delighted that you have shown interest in our enterprise. Data protection is of a particularly high priority for the management of the satRday Berlin e.V.. The use of the Internet pages of the satRday Berlin e.V. is possible without any indication of personal data; however, if a data subject wants to use special enterprise services via our website, processing of personal data could become necessary. If the processing of personal data is necessary and there is no statutory basis for such processing, we generally obtain consent from the data subject.
The processing of personal data, such as the name, address, e-mail address, or telephone number of a data subject shall always be in line with the General Data Protection Regulation (GDPR), and in accordance with the country-specific data protection regulations applicable to the satRday Berlin e.V.. By means of this data protection declaration, our enterprise would like to inform the general public of the nature, scope, and purpose of the personal data we collect, use and process. Furthermore, data subjects are informed, by means of this data protection declaration, of the rights to which they are entitled.
As the controller, the satRday Berlin e.V. has implemented numerous technical and organizational measures to ensure the most complete protection of personal data processed through this website. However, Internet-based data transmissions may in principle have security gaps, so absolute protection may not be guaranteed. For this reason, every data subject is free to transfer personal data to us via alternative means, e.g. by telephone.
The data protection declaration of the satRday Berlin e.V. is based on the terms used by the European legislator for the adoption of the General Data Protection Regulation (GDPR). Our data protection declaration should be legible and understandable for the general public, as well as our customers and business partners. To ensure this, we would like to first explain the terminology used.
In this data protection declaration, we use, inter alia, the following terms:
Personal data means any information relating to an identified or identifiable natural person (“data subject”). An identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.
Data subject is any identified or identifiable natural person, whose personal data is processed by the controller responsible for the processing.
Processing is any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organisation, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction.
Restriction of processing is the marking of stored personal data with the aim of limiting their processing in the future.
Profiling means any form of automated processing of personal data consisting of the use of personal data to evaluate certain personal aspects relating to a natural person, in particular to analyse or predict aspects concerning that natural person's performance at work, economic situation, health, personal preferences, interests, reliability, behaviour, location or movements.
Pseudonymisation is the processing of personal data in such a manner that the personal data can no longer be attributed to a specific data subject without the use of additional information, provided that such additional information is kept separately and is subject to technical and organisational measures to ensure that the personal data are not attributed to an identified or identifiable natural person.
Controller or controller responsible for the processing is the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law.
Processor is a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller.
Recipient is a natural or legal person, public authority, agency or another body, to which the personal data are disclosed, whether a third party or not. However, public authorities which may receive personal data in the framework of a particular inquiry in accordance with Union or Member State law shall not be regarded as recipients; the processing of those data by those public authorities shall be in compliance with the applicable data protection rules according to the purposes of the processing.
Third party is a natural or legal person, public authority, agency or body other than the data subject, controller, processor and persons who, under the direct authority of the controller or processor, are authorised to process personal data.
Consent of the data subject is any freely given, specific, informed and unambiguous indication of the data subject's wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her.
Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:
satRday Berlin e.V.
Tieckstr. 40, c/o Olga Maslovskaya
10115 Berlin
Germany
Phone: +4917647697674
Email<EMAIL_ADDRESS>Website: https://berlin2020.satrdays.org/
The website of the satRday Berlin e.V. collects a series of general data and information when a data subject or automated system calls up the website. This general data and information are stored in the server log files. Collected may be (1) the browser types and versions used, (2) the operating system used by the accessing system, (3) the website from which an accessing system reaches our website (so-called referrers), (4) the sub-websites, (5) the date and time of access to the Internet site, (6) an Internet protocol address (IP address), (7) the Internet service provider of the accessing system, and (8) any other similar data and information that may be used in the event of attacks on our information technology systems.
When using these general data and information, the satRday Berlin e.V. does not draw any conclusions about the data subject. Rather, this information is needed to (1) deliver the content of our website correctly, (2) optimize the content of our website as well as its advertisement, (3) ensure the long-term viability of our information technology systems and website technology, and (4) provide law enforcement authorities with the information necessary for criminal prosecution in case of a cyber-attack. Therefore, the satRday Berlin e.V. analyzes anonymously collected data and information statistically, with the aim of increasing the data protection and data security of our enterprise, and to ensure an optimal level of protection for the personal data we process. The anonymous data of the server log files are stored separately from all personal data provided by a data subject.
The website of the satRday Berlin e.V. contains information that enables a quick electronic contact to our enterprise, as well as direct communication with us, which also includes a general address of the so-called electronic mail (e-mail address). If a data subject contacts the controller by e-mail or via a contact form, the personal data transmitted by the data subject are automatically stored. Such personal data transmitted on a voluntary basis by a data subject to the data controller are stored for the purpose of processing or contacting the data subject. There is no transfer of this personal data to third parties.
The data controller shall process and store the personal data of the data subject only for the period necessary to achieve the purpose of storage, or as far as this is granted by the European legislator or other legislators in laws or regulations to which the controller is subject to.
If the storage purpose is not applicable, or if a storage period prescribed by the European legislator or another competent legislator expires, the personal data are routinely blocked or erased in accordance with legal requirements.
Each data subject shall have the right granted by the European legislator to obtain from the controller the confirmation as to whether or not personal data concerning him or her are being processed. If a data subject wishes to avail himself of this right of confirmation, he or she may, at any time, contact any employee of the controller.
Each data subject shall have the right granted by the European legislator to obtain from the controller free information about his or her personal data stored at any time and a copy of this information. Furthermore, the European directives and regulations grant the data subject access to the following information:
Furthermore, the data subject shall have a right to obtain information as to whether personal data are transferred to a third country or to an international organisation. Where this is the case, the data subject shall have the right to be informed of the appropriate safeguards relating to the transfer.
If a data subject wishes to avail himself of this right of access, he or she may, at any time, contact any employee of the controller.
Each data subject shall have the right granted by the European legislator to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her. Taking into account the purposes of the processing, the data subject shall have the right to have incomplete personal data completed, including by means of providing a supplementary statement.
If a data subject wishes to exercise this right to rectification, he or she may, at any time, contact any employee of the controller.
Each data subject shall have the right granted by the European legislator to obtain from the controller the erasure of personal data concerning him or her without undue delay, and the controller shall have the obligation to erase personal data without undue delay where one of the following grounds applies, as long as the processing is not necessary:
If one of the aforementioned reasons applies, and a data subject wishes to request the erasure of personal data stored by the satRday Berlin e.V., he or she may, at any time, contact any employee of the controller. An employee of satRday Berlin e.V. shall promptly ensure that the erasure request is complied with immediately.
Where the controller has made personal data public and is obliged pursuant to Article 17(1) to erase the personal data, the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform other controllers processing the personal data that the data subject has requested erasure by such controllers of any links to, or copy or replication of, those personal data, as far as processing is not required. An employees of the satRday Berlin e.V. will arrange the necessary measures in individual cases.
Each data subject shall have the right granted by the European legislator to obtain from the controller restriction of processing where one of the following applies:
If one of the aforementioned conditions is met, and a data subject wishes to request the restriction of the processing of personal data stored by the satRday Berlin e.V., he or she may at any time contact any employee of the controller. The employee of the satRday Berlin e.V. will arrange the restriction of the processing.
Each data subject shall have the right granted by the European legislator, to receive the personal data concerning him or her, which was provided to a controller, in a structured, commonly used and machine-readable format. He or she shall have the right to transmit those data to another controller without hindrance from the controller to which the personal data have been provided, as long as the processing is based on consent pursuant to point (a) of Article 6(1) of the GDPR or point (a) of Article 9(2) of the GDPR, or on a contract pursuant to point (b) of Article 6(1) of the GDPR, and the processing is carried out by automated means, as long as the processing is not necessary for the performance of a task carried out in the public interest or in the exercise of official authority vested in the controller.
Furthermore, in exercising his or her right to data portability pursuant to Article 20(1) of the GDPR, the data subject shall have the right to have personal data transmitted directly from one controller to another, where technically feasible and when doing so does not adversely affect the rights and freedoms of others.
In order to assert the right to data portability, the data subject may at any time contact any employee of the satRday Berlin e.V..
Each data subject shall have the right granted by the European legislator to object, on grounds relating to his or her particular situation, at any time, to processing of personal data concerning him or her, which is based on point (e) or (f) of Article 6(1) of the GDPR. This also applies to profiling based on these provisions.
The satRday Berlin e.V. shall no longer process the personal data in the event of the objection, unless we can demonstrate compelling legitimate grounds for the processing which override the interests, rights and freedoms of the data subject, or for the establishment, exercise or defence of legal claims.
If the satRday Berlin e.V. processes personal data for direct marketing purposes, the data subject shall have the right to object at any time to processing of personal data concerning him or her for such marketing. This applies to profiling to the extent that it is related to such direct marketing. If the data subject objects to the satRday Berlin e.V. to the processing for direct marketing purposes, the satRday Berlin e.V. will no longer process the personal data for these purposes.
In addition, the data subject has the right, on grounds relating to his or her particular situation, to object to processing of personal data concerning him or her by the satRday Berlin e.V. for scientific or historical research purposes, or for statistical purposes pursuant to Article 89(1) of the GDPR, unless the processing is necessary for the performance of a task carried out for reasons of public interest.
In order to exercise the right to object, the data subject may contact any employee of the satRday Berlin e.V.. In addition, the data subject is free in the context of the use of information society services, and notwithstanding Directive 2002/58/EC, to use his or her right to object by automated means using technical specifications.
Each data subject shall have the right granted by the European legislator not to be subject to a decision based solely on automated processing, including profiling, which produces legal effects concerning him or her, or similarly significantly affects him or her, as long as the decision (1) is not is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) is not authorised by Union or Member State law to which the controller is subject and which also lays down suitable measures to safeguard the data subject's rights and freedoms and legitimate interests, or (3) is not based on the data subject's explicit consent.
If the decision (1) is necessary for entering into, or the performance of, a contract between the data subject and a data controller, or (2) it is based on the data subject's explicit consent, the satRday Berlin e.V. shall implement suitable measures to safeguard the data subject's rights and freedoms and legitimate interests, at least the right to obtain human intervention on the part of the controller, to express his or her point of view and contest the decision.
If the data subject wishes to exercise the rights concerning automated individual decision-making, he or she may, at any time, contact any employee of the satRday Berlin e.V..
Each data subject shall have the right granted by the European legislator to withdraw his or her consent to processing of his or her personal data at any time.
If the data subject wishes to exercise the right to withdraw the consent, he or she may, at any time, contact any employee of the satRday Berlin e.V..
On this website, the controller has integrated components of the enterprise Facebook. Facebook is a social network.
A social network is a place for social meetings on the Internet, an online community, which usually allows users to communicate with each other and interact in a virtual space. A social network may serve as a platform for the exchange of opinions and experiences, or enable the Internet community to provide personal or business-related information. Facebook allows social network users to include the creation of private profiles, upload photos, and network through friend requests.
The operating company of Facebook is Facebook, Inc., 1 Hacker Way, Menlo Park, CA 94025, United States. If a person lives outside of the United States or Canada, the controller is the Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2, Ireland.
With each call-up to one of the individual pages of this Internet website, which is operated by the controller and into which a Facebook component (Facebook plug-ins) was integrated, the web browser on the information technology system of the data subject is automatically prompted to download display of the corresponding Facebook component from Facebook through the Facebook component. An overview of all the Facebook Plug-ins may be accessed under https://developers.facebook.com/docs/plugins/. During the course of this technical procedure, Facebook is made aware of what specific sub-site of our website was visited by the data subject.
If the data subject is logged in at the same time on Facebook, Facebook detects with every call-up to our website by the data subject—and for the entire duration of their stay on our Internet site—which specific sub-site of our Internet page was visited by the data subject. This information is collected through the Facebook component and associated with the respective Facebook account of the data subject. If the data subject clicks on one of the Facebook buttons integrated into our website, e.g. the "Like" button, or if the data subject submits a comment, then Facebook matches this information with the personal Facebook user account of the data subject and stores the personal data.
Facebook always receives, through the Facebook component, information about a visit to our website by the data subject, whenever the data subject is logged in at the same time on Facebook during the time of the call-up to our website. This occurs regardless of whether the data subject clicks on the Facebook component or not. If such a transmission of information to Facebook is not desirable for the data subject, then he or she may prevent this by logging off from their Facebook account before a call-up to our website is made.
The data protection guideline published by Facebook, which is available at https://facebook.com/about/privacy/, provides information about the collection, processing and use of personal data by Facebook. In addition, it is explained there what setting options Facebook offers to protect the privacy of the data subject. In addition, different configuration options are made available to allow the elimination of data transmission to Facebook. These applications may be used by the data subject to eliminate a data transmission to Facebook.
On this website, the controller has integrated components of Twitter. Twitter is a multilingual, publicly-accessible microblogging service on which users may publish and spread so-called ‘tweets,’ e.g. short messages, which are limited to 280 characters. These short messages are available for everyone, including those who are not logged on to Twitter. The tweets are also displayed to so-called followers of the respective user. Followers are other Twitter users who follow a user's tweets. Furthermore, Twitter allows you to address a wide audience via hashtags, links or retweets.
The operating company of Twitter is Twitter International Company, One Cumberland Place, Fenian Street Dublin 2, D02 AX07, Ireland.
With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a Twitter component (Twitter button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to download a display of the corresponding Twitter component of Twitter. Further information about the Twitter buttons is available under https://about.twitter.com/de/resources/buttons. During the course of this technical procedure, Twitter gains knowledge of what specific sub-page of our website was visited by the data subject. The purpose of the integration of the Twitter component is a retransmission of the contents of this website to allow our users to introduce this web page to the digital world and increase our visitor numbers.
If the data subject is logged in at the same time on Twitter, Twitter detects with every call-up to our website by the data subject and for the entire duration of their stay on our Internet site which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Twitter component and associated with the respective Twitter account of the data subject. If the data subject clicks on one of the Twitter buttons integrated on our website, then Twitter assigns this information to the personal Twitter user account of the data subject and stores the personal data.
Twitter receives information via the Twitter component that the data subject has visited our website, provided that the data subject is logged in on Twitter at the time of the call-up to our website. This occurs regardless of whether the person clicks on the Twitter component or not. If such a transmission of information to Twitter is not desirable for the data subject, then he or she may prevent this by logging off from their Twitter account before a call-up to our website is made.
The applicable data protection provisions of Twitter may be accessed under https://twitter.com/privacy?lang=en.
On this website, the controller has integrated components of PayPal. PayPal is an online payment service provider. Payments are processed via so-called PayPal accounts, which represent virtual private or business accounts. PayPal is also able to process virtual payments through credit cards when a user does not have a PayPal account. A PayPal account is managed via an e-mail address, which is why there are no classic account numbers. PayPal makes it possible to trigger online payments to third parties or to receive payments. PayPal also accepts trustee functions and offers buyer protection services.
The European operating company of PayPal is PayPal (Europe) S.à.r.l. et Cie, S.C.A., 22-24 Boulevard Royal L-2449, Luxemburg.
If the data subject chooses "PayPal" as the payment option in the online shop during the ordering process, we automatically transmit the data of the data subject to PayPal. By selecting this payment option, the data subject agrees to the transfer of personal data required for payment processing.
The personal data transmitted to PayPal is usually first name, last name, address, email address, IP address, telephone number, mobile phone number, or other data necessary for payment processing. The processing of the purchase contract also requires such personal data, which are in connection with the respective order.
The transmission of the data is aimed at payment processing and fraud prevention. The controller will transfer personal data to PayPal, in particular, if a legitimate interest in the transmission is given. The personal data exchanged between PayPal and the controller for the processing of the data will be transmitted by PayPal to economic credit agencies. This transmission is intended for identity and creditworthiness checks.
PayPal will, if necessary, pass on personal data to affiliates and service providers or subcontractors to the extent that this is necessary to fulfill contractual obligations or for data to be processed in the order.
The data subject has the possibility to revoke consent for the handling of personal data at any time from PayPal. A revocation shall not have any effect on personal data which must be processed, used or transmitted in accordance with (contractual) payment processing.
The applicable data protection provisions of PayPal may be retrieved under https://www.paypal.com/us/webapps/mpp/ua/privacy-full.
Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR. In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR. Finally, processing operations could be based on Article 6(1) lit. f GDPR. This legal basis is used for processing operations which are not covered by any of the abovementioned legal grounds, if processing is necessary for the purposes of the legitimate interests pursued by our company or by a third party, except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data. Such processing operations are particularly permissible because they have been specifically mentioned by the European legislator. He considered that a legitimate interest could be assumed if the data subject is a client of the controller (Recital 47 Sentence 2 GDPR).
Where the processing of personal data is based on Article 6(1) lit. f GDPR our legitimate interest is to carry out our business in favor of the well-being of all our employees and the shareholders.
The criteria used to determine the period of storage of personal data is the respective statutory retention period. After expiration of that period, the corresponding data is routinely deleted, as long as it is no longer necessary for the fulfillment of the contract or the initiation of a contract.
We clarify that the provision of personal data is partly required by law (e.g. tax regulations) or can also result from contractual provisions (e.g. information on the contractual partner). Sometimes it may be necessary to conclude a contract that the data subject provides us with personal data, which must subsequently be processed by us. The data subject is, for example, obliged to provide us with personal data when our company signs a contract with him or her. The non-provision of the personal data would have the consequence that the contract with the data subject could not be concluded. Before personal data is provided by the data subject, the data subject must contact any employee. The employee clarifies to the data subject whether the provision of the personal data is required by law or contract or is necessary for the conclusion of the contract, whether there is an obligation to provide the personal data and the consequences of non-provision of the personal data.
As a responsible company, we do not use automatic decision-making or profiling.
This Privacy Policy has been generated by the Privacy Policy Generator of the DGD - Your External DPO that was developed in cooperation with German Lawyers from WILDE BEUGER SOLMECKE, Cologne.


Check your phone number
and type the received token:
Type piece of text to be
You can't tweet the same status twice!
FMI


{% extends "admissions/inforequest.html" %} {% block content %}
We have received your request for information and we will contact you presently.


The page you are looking for is not available at this location.
Please go to the registry URL: https://dothings.cloudiolab.com.


Stereotype
This was the first time I came across “Stereotype threat”, I have never heard of it before and haven't realized the consequences of it. According to Steele's research one of the major barriers holding back the achievement of Blacks, women and other underrepresented groups is the threat of being viewed through the lens of a negative stereotype or the fear of doing something that would inadvertently confirm that stereotype.
It is really scary how wrong beliefs can stop people from achieving the goals they want, and also affect how they see their own strengths. I think one of the best ways of fighting it is to publicize research which demystifies them and talk to and inspire people who we feel might be affected by “stereotype threat”
05/30/2014


The `gux-icon` is expected to work even when used in the shadow dom (open)
Set the decorative attrribute if the icon does not convey information about the page and is only for decoration
Set the screenreader-text attribute if the icon conveys information to the user that would not otherwise be available
If neither decorative or screenreader-text are set an error will be logged in the console
You can use the color, height and width css properties to style your icon
Duplicated icons should not require additional newtwork calls


What Dreams May Come
Starring Robin Williams and Cuba Gooding Jnr. Directed By Vincent Ward Running Time: 1 hour 40 minutes.
(Polygram Pictures)
Robin Williams, this time without a beard, returns to drama in this sloppy, sickly sweet fantasy with few redeeming features apart from the incredible effects. He plays Chris Nielsen, who meets Annie (Annabella Sciora) and promptly marries her. They have two great kids, who sadly die in a car crash. Just when it couldn't get any worse, Chris gets killed in a car crash, and goes to Heaven where he meets his guide Albert (Gooding Jnr.) Annie can't take the grief anymore, and kills herself. (All sounding like good fun so far?) The 'penalty' for suicide is to go to Hell, and Chris goes on a mission to try and rescue her using the help of the Traveller (Max Von Sydow.)
Based on a novel by Twilight Zone writer Richard Matheson, What Dreams May Come is clunky, manufactured material doused with a extra load of sugar. This is the worse Spielberg film Spielberg never made. Everything is wrong about this movie: the performances are forced, and the audiences fail to relate to any of the characters. Williams puts on a convincing upset face, but that's all it is: a face. There's no emotion behind it. Sciora's performance is lazy, and bogs down the whole film. She may look pretty, but she can't act. Max Von Sydow is O.K as the traveller, if nothing special. Cuba Gooding Jnr, thankfully, adds some bounce to his performance, and is certainly the best performer in the film. It's a shame that his character is so flat and 2-D, and offers no room for improvement.
All the performers have to work with a soppy script, that tries it's best to get some emotion going, but never takes off the ground. There are _some_ scenes which could be real heartwarmers, but the faceless characters don't help to get anything out of the performers. While films like E.T used great actors, music and direction to pull of a masterful heart-tugging scene, What Dreams May Come is haphazard, expecting the emotion to come out of the scene automatically. Instead, it's all rather boring. Sure, the music is pretty (by Michael Kamen) and the cinematography isn't bad (by Eduardo Serra) but there's something lacking. The script doesn't help, filled with hopeless romantic clichés, and dud speeches. Richard Matheson can write some awesome science fiction stories, sadly this novel would look embarrassed in a bargain bin, let alone being converted into a $70 million vehicle for Robin Williams.
Despite being set in Heaven, What Dreams May Come is mightily depressing. The film rushes a happy ending, but everything before this is very, very sad and black, which just adds to make the ending even more hopeless and stupid.
But there's one redeeming feature about this failure of a movie: the special effects.  But despite this, What Dreams May Come, proves to be nothing but the biggest disappointment of 1998. Instead of raising questions about existence, it raises boredom. Sadly, I recommend you give this film a miss. Better luck next time, Robin.
RATING=*1/2 OUT OF *****
A David Wilcock Review ©1998
DAVID WILCOCK<EMAIL_ADDRESS>Visit the Wilcock Movie Page! http://wilcockmovie.home.ml.org -OR- http://www.geocities.com/Hollywood/9061 Recieve Wilcock Movie Page Reviews via E-MAIL Send a blank E-MAIL to<EMAIL_ADDRESS>to join the mailing list!
"You know, for kids"- Norville Barnes
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


Aw, Snap!
Something went wrong while displaying this webpage. Closing the Apps and Tabs that you don't need may help by making more memory available.
if you're seeing this frequently, try this
suggestion
.
Reload


CHAN 2020 tournament will be staged in April
The Confederation of African Football (CAF) have announced that the 2020 African Nations Championship (CHAN) will be held in April in Cameroon.
The CAF Executive Committee on Thursday decided the biennial football competition will run from 4th to 25th April, 2020.
The tournament is played between the best national teams of Africa, exclusively featuring players who are active in the national championships and qualified to play in the ongoing season.
Expatriate players, regardless of where they play, even in Africa, are not qualified to take part in the tournament.
CAF awarded the CHAN 2020 to Cameroon after Ethiopia withdrawn as hosts for the tournament in April 2019.
This will be the very first time the tournament will be staged in April.
It was previously played between January and February.


Amazed
Jared Anderson
You dance over me while I am unaware
You sing all around but I never hear the sound
Lord, I'm amazed by You
主 | 祢 | 使 我 | 驚 奇 | ||
zhǔ | ní | shǐ wǒ | jīng qí | ||
| master | you | Make me | Surprised |
Lord, I'm amazed by You
主 | 祢 | 使 我 | 驚 奇 | ||
zhǔ | ní | shǐ wǒ | jīng qí | ||
| master | you | Make me | Surprised |
Lord, I'm amazed by You
主 | 祢 | 使 我 | 驚 奇 | ||
zhǔ | ní | shǐ wǒ | jīng qí | ||
| master | you | Make me | Surprised |
How You love me
何 等 | 愛 我 | ||
hé děng | ài wǒ | ||
| What is it? | Love me |
You paint the morning sky with miracles in mind
My hope will always stand for You hold me in Your hand
How wide How deep
多 | 高 | 多 | 深 | ||
duō | gāo | duō | shēn | ||
| much | high | much | deep |
How great is Your love for me
多 | 廣 | 祢 | 何 等 | 愛 我 | ||
duō | guǎng | ní | hé děng | ài wǒ | ||
| much | broad | you | What is it? | Love me |


The
utility uses
to determine interdependencies in the list of object files specified on the command line.
outputs a list of file names where the first file contains a symbol which is defined by the second file.
The output is normally used with
when a library is created to determine the optimum ordering of the object modules so that all references may be resolved in a single pass of the loader.
$ ar cr library.a `lorder ${OBJS} | tsort`
An
utility appeared in


T
Assisted by teachers
P
Not assisted by parents
Goal
Steps
Learn to spell 10 new words.
1. Find examples of 10 words that I’ve spelt incorrectly.
Due: 15-06-2016
2. Search the internet one picture that reminds me of each word.
Due: N /A
3. Each week, print out a copy of my spelling words page and write the words next to each image. Show teacher and spell them.
Due: 27-06-2016
Successful, await suggestion…
Please note assisted goals need to be approved by your teacher before activation.


MacLisp improved on the Lisp 1.5 notion of special variables and error handling. MacLisp also introduced the concept of functions that could take a variable number of arguments, macros, arrays, non-local dynamic exits, fast arithmetic, the first good Lisp compiler, and an emphasis on execution speed. For further information about Maclisp, see Maclisp Reference Manual, Revision 0 or The Revised Maclisp Manual.
Interlisp introduced many ideas into Lisp programming environments and methodology. One of the Interlisp ideas that influenced Common Lisp was an iteration construct implemented by Warren Teitelman that inspired the loop macro used both on the Lisp Machines and in MacLisp, and now in Common Lisp. For further information about Interlisp, see Interlisp Reference Manual.
Although the first implementations of Lisp were on the IBM 704 and the IBM 7090, later work focussed on the DEC PDP-6 and, later, PDP-10 computers, the latter being the mainstay of Lisp and artificial intelligence work at such places as Massachusetts Institute of Technology (MIT), Stanford University, and Carnegie Mellon University (CMU) from the mid-1960's through much of the 1970's. The PDP-10 computer and its predecessor the PDP-6 computer were, by design, especially well-suited to Lisp because they had 36-bit words and 18-bit addresses. This architecture allowed a cons cell to be stored in one word; single instructions could extract the car and cdr parts. The PDP-6 and PDP-10 had fast, powerful stack instructions that enabled fast function calling. But the limitations of the PDP-10 were evident by 1973: it supported a small number of researchers using Lisp, and the small, 18-bit address space (262,144 36-bit words) limited the size of a single program. One response to the address space problem was the Lisp Machine, a special-purpose computer designed to run Lisp programs. The other response was to use general-purpose computers with address spaces larger than 18 bits, such as the DEC VAX and the S-1 Mark IIA. For further information about S-1 Common Lisp, see ``S-1 Common Lisp Implementation.''
The Lisp machine concept was developed in the late 1960's. In the early 1970's, Peter Deutsch, working with Daniel Bobrow, implemented a Lisp on the Alto, a single-user minicomputer, using microcode to interpret a byte-code implementation language. Shortly thereafter, Richard Greenblatt began work on a different hardware and instruction set design at MIT. Although the Alto was not a total success as a Lisp machine, a dialect of Interlisp known as Interlisp-D became available on the D-series machines manufactured by Xerox---the Dorado, Dandelion, Dandetiger, and Dove (or Daybreak). An upward-compatible extension of MacLisp called Lisp Machine Lisp became available on the early MIT Lisp Machines. Commercial Lisp machines from Xerox, Lisp Machines (LMI), and Symbolics were on the market by 1981. For further information about Lisp Machine Lisp, see Lisp Machine Manual.
During the late 1970's, Lisp Machine Lisp began to expand towards a much fuller language. Sophisticated lambda lists, setf, multiple values, and structures like those in Common Lisp are the results of early experimentation with programming styles by the Lisp Machine group. Jonl White and others migrated these features to MacLisp. Around 1980, Scott Fahlman and others at CMU began work on a Lisp to run on the Scientific Personal Integrated Computing Environment (SPICE) workstation. One of the goals of the project was to design a simpler dialect than Lisp Machine Lisp.
The Macsyma group at MIT began a project during the late 1970's called the New Implementation of Lisp (NIL) for the VAX, which was headed by White. One of the stated goals of the NIL project was to fix many of the historic, but annoying, problems with Lisp while retaining significant compatibility with MacLisp. At about the same time, a research group at Stanford University and Lawrence Livermore National Laboratory headed by Richard P. Gabriel began the design of a Lisp to run on the S-1 Mark IIA supercomputer. S-1 Lisp, never completely functional, was the test bed for adapting advanced compiler techniques to Lisp implementation. Eventually the S-1 and NIL groups collaborated. For further information about the NIL project, see ``NIL---A Perspective.''
The first effort towards Lisp standardization was made in 1969, when Anthony Hearn and Martin Griss at the University of Utah defined Standard Lisp---a subset of Lisp 1.5 and other dialects---to transport REDUCE, a symbolic algebra system. During the 1970's, the Utah group implemented first a retargetable optimizing compiler for Standard Lisp, and then an extended implementation known as Portable Standard Lisp (PSL). By the mid 1980's, PSL ran on about a dozen kinds of computers. For further information about Standard Lisp, see ``Standard LISP Report.''
PSL and Franz Lisp---a MacLisp-like dialect for Unix machines---were the first examples of widely available Lisp dialects on multiple hardware platforms.
One of the most important developments in Lisp occurred during the second half of the 1970's: Scheme. Scheme, designed by Gerald J. Sussman and Guy L. Steele Jr., is a simple dialect of Lisp whose design brought to Lisp some of the ideas from programming language semantics developed in the 1960's. Sussman was one of the prime innovators behind many other advances in Lisp technology from the late 1960's through the 1970's. The major contributions of Scheme were lexical scoping, lexical closures, first-class continuations, and simplified syntax (no separation of value cells and function cells). Some of these contributions made a large impact on the design of Common Lisp. For further information about Scheme, see IEEE Standard for the Scheme Programming Language or ``Revised^4 Report on the Algorithmic Language Scheme.''
In the late 1970's object-oriented programming concepts started to make a strong impact on Lisp. At MIT, certain ideas from Smalltalk made their way into several widely used programming systems. Flavors, an object-oriented programming system with multiple inheritance, was developed at MIT for the Lisp machine community by Howard Cannon and others. At Xerox, the experience with Smalltalk and Knowledge Representation Language (KRL) led to the development of Lisp Object Oriented Programming System (LOOPS) and later Common LOOPS. For further information on Smalltalk, see Smalltalk-80: The Language and its Implementation. For further information on Flavors, see ``Flavors: A Non-Hierarchical Approach to Object-Oriented Programming.''
These systems influenced the design of the Common Lisp Object System (CLOS). CLOS was developed specifically for X3J13's standardization effort, and was separately written up in ``Common Lisp Object System Specification.'' However, minor details of its design have changed slightly since that publication, and that paper should not be taken as an authoritative reference to the semantics of the Common Lisp Object System.
In 1980 Symbolics and LMI were developing Lisp Machine Lisp; stock-hardware implementation groups were developing NIL, Franz Lisp, and PSL; Xerox was developing Interlisp; and the SPICE project at CMU was developing a MacLisp-like dialect of Lisp called SpiceLisp.
In April 1981, after a DARPA-sponsored meeting concerning the splintered Lisp community, Symbolics, the SPICE project, the NIL project, and the S-1 Lisp project joined together to define Common Lisp. Initially spearheaded by White and Gabriel, the driving force behind this grassroots effort was provided by Fahlman, Daniel Weinreb, David Moon, Steele, and Gabriel. (Jon L White's early email correspondance relating to CL.) Common Lisp was designed as a description of a family of languages. The primary influences on Common Lisp were Lisp Machine Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp, and Scheme. Common Lisp: The Language is a description of that design. Its semantics were intentionally underspecified in places where it was felt that a tight specification would overly constrain Common Lisp research and use.
In 1986 X3J13 was formed as a technical working group to produce a draft for an ANSI Common Lisp standard. Because of the acceptance of Common Lisp, the goals of this group differed from those of the original designers. These new goals included stricter standardization for portability, an object-oriented programming system, a condition system, iteration facilities, and a way to handle large character sets. To accommodate those goals, a new language specification was developed.


Intro to Binary Search Trees
A binary tree
is a tree data structure composed of nodes that contain two branches, a left
and a right
. The tree consists of a top-level or root node. Each branch from the root can hold nodes that themselves have arbitrarily many children.
By convention, the root of a binary tree is drawn at the top, with branches proceeding downward.
In a Full binary tree, every node except the leaves have two children. Nodes with zero children (where left
and right
are null) are called leaf nodes.
A Complete binary tree is a full binary tree in which every level of the tree is filled (except perhaps the last), and nodes are populated from left-to-right.
2
/ \
4 7
/ \
5 6
A full and complete binary tree.
2
/ \
4 7
/ \ / \
5 6 9
A full but incomplete binary tree.
2
/ | \
4 6 7
/ \ / \ / \
5 6 4 2 9
This is not a binary tree at all but an n-ary tree: the root has three branches.
A binary tree is an abstract structure whose use can be leveraged for different ends, particularly when ordering is applied to the tree’s nodes. One such ordering creates a structure called a Binary Search Tree, which we will discuss here.
Binary Search Trees
In a binary search tree , an “ordered” or “sorted” binary tree, the child nodes are kept in an order relative to their parents. The left child is always less than the parent, and the right child is always greater than or equal to the parent. We create an insert method to insert data in this ordered fashion.
For inserting item A in tree T, we proceed down the tree. For each node we encounter, we compare the value of A with the value of that node. If A is less than the node, we go left. If A is greater than the node, we go right.
We repeat this process until we reach leaf nodes (a node where one or both children are null). Then we compare the value of A to this final node. If A is less than the leaf node value, we set A as the new left child of this leaf node. If A is greater than the leaf node value, we set A as the new right child of this leaf node.
Let’s look at the node structure and then consider a more concrete example for search and insertion.
Nodes
Nodes contain four properties.
data
- the data of interestleft
- a pointer to the next left child noderight
- a pointer to the next right child nodeiteration
- the number of times this node has been visited
var node = function (data, left, right) {
this.data = data || null;
this.left = left || null;
this.right = right || null;
this.iteration = 0;
};
Using this node object, we can create a simple tree with B as the root, A as the left child, and C as the right child like so:
let tree = new node('B', new node('A'), new node('C'))
gives us:
B
/ \
A C
/ \ / \
˚ ˚ ˚ ˚
tiny circles ˚ correspond to null
Insertion
Let’s start by considering the tree above and what the insertion behavior should look like with some examples. Then we’ll write the code.
Pretend that we want to insert node('D')
into the above tree. We start at the root. ‘D’>‘B’, so we go to the right. C.left
and C.right
are both null, so we compare ‘D’ with ‘C’ to decide which side to insert it on. ‘D’>‘C’, so we insert to the right. The tree looks like this after insertion:
B
/ \
A C
/ \ / \
˚ ˚ ˚ D
Now let’s insert node('Apple')
into the tree (remember, Javascript uses lexicographical ordering, so it compares letter by letter.) ‘Apple’<‘B’, so we go left. ‘Apple’>‘A’, so we insert ‘Apple’ to the right. The tree then looks like this:
B
/ \
A C
/ \ / \
˚ 'Apple' ˚ D
What happens if we have a duplicate value: say we insert node('D')
into the above tree again? We want to add nodes as “leftmost” as is possible (while maintaining ordering). So we’ll get down to node D
, and then left and right are null. D
is neither greater than nor less than D
, but we have to insert the node somewhere. By convention, we insert it to the left. So calling insert('D')
on this tree above would give us this result:
B
/ \
A C
/ \ / \
˚ 'Apple' ˚ D
/ \
D ˚
Let’s code up this. We can code insert imperatively or using recursion.
Recursive insert
Consider the base case (the node we reach is null and we want to insert the new value here). In this case, we return a new node with the value.
If we haven’t reached the base case, we need to make our way down the tree until we reach a null node. We compare the value
we wish to insert with current node’s value tree.data
. If it is less than or equal to the current node, we recurse on the left child. If its is greater, we recurse on the right child.
function recursiveInsert(tree, value) {
if (tree == null) {
return new node(number);
}
if (value <= tree.data) {
tree.left = insert(tree.left, value);
} else {
tree.right = insert(tree.right, value);
}
return tree;
}
Imperative Insert
We set a pointer navi
equal to tree. We navigate down using the pointer until we reach the point where navi
’s children are null (so that navi
is now a leaf node). When we reach the leaf node, we break out of the traversal loop and decide on which side to insert the data, create a new node with the value, and return the tree with the inserted item.
function imperativeInsert(tree, number) {
if (tree == null) {
tree = new node(number);
}
let navi = tree;
while (navi !== null) {
if (number <= navi.data) {
if (navi.left !== null) {
navi = navi.left;
} else {
break;
}
} else {
if (navi.right !== null) {
navi = navi.right;
} else {
break;
}
}
}
if (number <= navi.data) {
navi.left = new node(number);
} else {
navi.right = new node(number);
}
return tree;
}
Search
You might wonder why bother with all of this complicated insertion. Well, the way that we’ve inserted the nodes means that we can search the tree incredibly quickly. The tree is already set up to perform a binary search: at each branch of the tree, we can eliminate half of the possible items to consider, since we know that all the children on one side will be greater than the value of the current node.
Consider this tree:
5
/ \
2 7
/ \ / \
1 4 6 9
We’re going to search for the value 6. If we had this tree as an ordered array, [1, 2, 4, 5, 6, 7, 9], we’d have to iterate through the elements one by one until we found 6. We’d iterate through 1, 2, 4, and 5 before we found the answer. That’s 5 operations.
In the binary tree, we perform only 3 operations. Is 6>5 ? Yes. Go right. Is 6>7 ? No. Go left. We’re at 6!
If you consider the way that we inserted our data, it becomes clear how to implement a search. The only thing that’s different is that we might find the node does not exist (the node that we have reached is null), in which case, we return false. Otherwise, we check each node to see if:
- It’s the value. If so, return it.
- It’s less than the value. If so, go right.
- It’s more than the value. If so, go left.
It looks like this:
function binarySearch(tree, value) {
if (!value) {
return false;
}
let res = [];
let stack = [];
let node = tree.root;
while (node !== null) {
if (node.data == value) {
return true;
}
if (value < node.data) {
node = node.left;
} else {
node = node.right;
}
}
return false;
}
Easy enough! NB: The search we are talking about here is depth-first . There is another style of traversing, breadth-first , which we will discuss in a later tutorial.
Traversal
What good is having a tree if you can’t climb it?
There are three common types of traversal:
- pre-order: the root is printed before the subtree values
- in-order: the root is printed in between the left and right subtree values
- post-order: the root is printed after the subtree values are traversed
- (bonus): reverse in-order the right subtree values are printed before the root and then the left subtree values.
Let’s try to perform what’s called an in-order traversal of a binary search tree, which will print out all of the items of the tree in their order.
Can you think about how to do this?
5
/ \
2 7
/ \ / \
1 4 6 9
Given this tree, here’s what our three traversal types will output.
- pre-order:
[5, 2, 1, 4, 7, 6, 9]
- in-order:
[1, 2, 4, 5, 6, 7, 9]
- post-order:
[1, 4, 2, 6, 9, 7, 5]
- reverse in-order:
[9, 7, 6, 5, 4, 2, 1]
This is a case that’s handled quite nicely by recursion.
function printNodesInOrder(tree) {
let res = [];
function traverse(tree) {
if (tree == null) {
return;
}
traverse(tree.left);
res.push(tree.data);
traverse(tree.right);
}
traverse(tree);
return res;
}
Let’s think about what the function is doing step by step. We exhaustively traverse the nodes of a tree until the point at which that node equals null. This means that we reached a leaf node’s child, so we stop traversing. Otherwise, for each leaf node, we push the value of the left leaf, the value of the root, and the value of the right leaf.
We perform this operation on all of the nodes of the tree from left-to-right. Since values are inserted in order in a binary search tree and we perform the traversal in a left-to-right (or ascending) order, the numbers come out in order, as we’d expect.
As a neat side-note, we can turn the print node function into pre-order and post-order simply by changing the order of res.push
in our recursive traverse
call. Similarly, we can get a reverse in-order result by swapping the traverse(tree.right)
and traverse(tree.left)
calls.
pre-order:
res.push(tree.data);
traverse(tree.left);
traverse(tree.right);
post-order:
traverse(tree.left);
traverse(tree.right);
res.push(tree.data);
reverse in-order:
traverse(tree.right);
res.push(tree.data);
traverse(tree.left);
While the use cases of pre and post-order traversal on a binary search tree are limited, it’s good to know about these traversal types, since they’re frequently used in other tree traversal algorithms.
Wrapping Up
Whew! Again, pat yourself on the back. This stuff isn’t easy! In the next tutorial, we’ll dig into deletion methods for binary search trees and explore a few more neat applications.


class CAN – controller area network communication bus¶
CAN implements the standard CAN communications protocol. At the physical level it consists of 2 lines: RX and TX. Note that to connect the pyboard to a CAN bus you must use a CAN transceiver to convert the CAN logic signals from the pyboard to the correct voltage levels on the bus.
Example usage (works without anything connected):
from pyb import CAN
can = CAN(1, CAN.LOOPBACK)
can.setfilter(0, CAN.LIST16, 0, (123, 124, 125, 126)) # set a filter to receive messages with id=123, 124, 125 and 126
can.send('message!', 123) # send a message with id 123
can.recv(0) # receive message on FIFO 0
Constructors¶
-
class
pyb.
CAN
(bus, ...)¶ Construct a CAN object on the given bus. bus can be 1-2, or
'YA'
or'YB'
. With no additional parameters, the CAN object is created but not initialised (it has the settings from the last initialisation of the bus, if any). If extra arguments are given, the bus is initialised. SeeCAN.init()
for parameters of initialisation.The physical pins of the CAN busses are:
CAN(1)
is onYA
:(RX, TX) = (Y3, Y4) = (PB8, PB9)
CAN(2)
is onYB
:(RX, TX) = (Y5, Y6) = (PB12, PB13)
Class Methods¶
-
classmethod
CAN.
initfilterbanks
(nr)¶ Reset and disable all filter banks and assign how many banks should be available for CAN(1).
STM32F405 has 28 filter banks that are shared between the two available CAN bus controllers. This function configures how many filter banks should be assigned to each. nr is the number of banks that will be assigned to CAN(1), the rest of the 28 are assigned to CAN(2). At boot, 14 banks are assigned to each controller.
Methods¶
-
CAN.
init
(mode, extframe=False, prescaler=100, *, sjw=1, bs1=6, bs2=8, auto_restart=False)¶ Initialise the CAN bus with the given parameters:
mode is one of: NORMAL, LOOPBACK, SILENT, SILENT_LOOPBACK
if extframe is True then the bus uses extended identifiers in the frames (29 bits); otherwise it uses standard 11 bit identifiers
prescaler is used to set the duration of 1 time quanta; the time quanta will be the input clock (PCLK1, see
pyb.freq()
) divided by the prescalersjw is the resynchronisation jump width in units of the time quanta; it can be 1, 2, 3, 4
bs1 defines the location of the sample point in units of the time quanta; it can be between 1 and 1024 inclusive
bs2 defines the location of the transmit point in units of the time quanta; it can be between 1 and 16 inclusive
auto_restart sets whether the controller will automatically try and restart communications after entering the bus-off state; if this is disabled then
restart()
can be used to leave the bus-off state
The time quanta tq is the basic unit of time for the CAN bus. tq is the CAN prescaler value divided by PCLK1 (the frequency of internal peripheral bus 1); see
pyb.freq()
to determine PCLK1.A single bit is made up of the synchronisation segment, which is always 1 tq. Then follows bit segment 1, then bit segment 2. The sample point is after bit segment 1 finishes. The transmit point is after bit segment 2 finishes. The baud rate will be 1/bittime, where the bittime is 1 + BS1 + BS2 multiplied by the time quanta tq.
For example, with PCLK1=42MHz, prescaler=100, sjw=1, bs1=6, bs2=8, the value of tq is 2.38 microseconds. The bittime is 35.7 microseconds, and the baudrate is 28kHz.
See page 680 of the STM32F405 datasheet for more details.
-
CAN.
deinit
()¶ Turn off the CAN bus.
-
CAN.
restart
()¶ Force a software restart of the CAN controller without resetting its configuration.
If the controller enters the bus-off state then it will no longer participate in bus activity. If the controller is not configured to automatically restart (see
init()
) then this method can be used to trigger a restart, and the controller will follow the CAN protocol to leave the bus-off state and go into the error active state.
-
CAN.
state
()¶ Return the state of the controller. The return value can be one of:
CAN.STOPPED
– the controller is completely off and reset;CAN.ERROR_ACTIVE
– the controller is on and in the Error Active state (both TEC and REC are less than 96);CAN.ERROR_WARNING
– the controller is on and in the Error Warning state (at least one of TEC or REC is 96 or greater);CAN.ERROR_PASSIVE
– the controller is on and in the Error Passive state (at least one of TEC or REC is 128 or greater);CAN.BUS_OFF
– the controller is on but not participating in bus activity (TEC overflowed beyond 255).
-
CAN.
info
([list])¶ Get information about the controller’s error states and TX and RX buffers. If list is provided then it should be a list object with at least 8 entries, which will be filled in with the information. Otherwise a new list will be created and filled in. In both cases the return value of the method is the populated list.
The values in the list are:
TEC value
REC value
number of times the controller enterted the Error Warning state (wrapped around to 0 after 65535)
number of times the controller enterted the Error Passive state (wrapped around to 0 after 65535)
number of times the controller enterted the Bus Off state (wrapped around to 0 after 65535)
number of pending TX messages
number of pending RX messages on fifo 0
number of pending RX messages on fifo 1
-
CAN.
setfilter
(bank, mode, fifo, params, *, rtr)¶ Configure a filter bank:
bank is the filter bank that is to be configured.
mode is the mode the filter should operate in.
fifo is which fifo (0 or 1) a message should be stored in, if it is accepted by this filter.
params is an array of values the defines the filter. The contents of the array depends on the mode argument.
mode
contents of params array
CAN.LIST16
Four 16 bit ids that will be accepted
CAN.LIST32
Two 32 bit ids that will be accepted
CAN.MASK16
- Two 16 bit id/mask pairs. E.g. (1, 3, 4, 4)
- The first pair, 1 and 3 will accept all idsthat have bit 0 = 1 and bit 1 = 0.The second pair, 4 and 4, will accept all idsthat have bit 2 = 1.
CAN.MASK32
As with CAN.MASK16 but with only one 32 bit id/mask pair.
rtr is an array of booleans that states if a filter should accept a remote transmission request message. If this argument is not given then it defaults to
False
for all entries. The length of the array depends on the mode argument.
mode
length of rtr array
CAN.LIST16
4
CAN.LIST32
2
CAN.MASK16
2
CAN.MASK32
1
-
CAN.
clearfilter
(bank)¶ Clear and disables a filter bank:
bank is the filter bank that is to be cleared.
-
CAN.
any
(fifo)¶ Return
True
if any message waiting on the FIFO, elseFalse
.
-
CAN.
recv
(fifo, list=None, *, timeout=5000)¶ Receive data on the bus:
fifo is an integer, which is the FIFO to receive on
list is an optional list object to be used as the return value
timeout is the timeout in milliseconds to wait for the receive.
Return value: A tuple containing four values.
The id of the message.
A boolean that indicates if the message is an RTR message.
The FMI (Filter Match Index) value.
An array containing the data.
If list is
None
then a new tuple will be allocated, as well as a new bytes object to contain the data (as the fourth element in the tuple).If list is not
None
then it should be a list object with a least four elements. The fourth element should be a memoryview object which is created from either a bytearray or an array of type ‘B’ or ‘b’, and this array must have enough room for at least 8 bytes. The list object will then be populated with the first three return values above, and the memoryview object will be resized inplace to the size of the data and filled in with that data. The same list and memoryview objects can be reused in subsequent calls to this method, providing a way of receiving data without using the heap. For example:buf = bytearray(8) lst = [0, 0, 0, memoryview(buf)] # No heap memory is allocated in the following call can.recv(0, lst)
-
CAN.
send
(data, id, *, timeout=0, rtr=False)¶ Send a message on the bus:
data is the data to send (an integer to send, or a buffer object).
id is the id of the message to be sent.
timeout is the timeout in milliseconds to wait for the send.
rtr is a boolean that specifies if the message shall be sent as a remote transmission request. If rtr is True then only the length of data is used to fill in the DLC slot of the frame; the actual bytes in data are unused.
If timeout is 0 the message is placed in a buffer in one of three hardware buffers and the method returns immediately. If all three buffers are in use an exception is thrown. If timeout is not 0, the method waits until the message is transmitted. If the message can’t be transmitted within the specified time an exception is thrown.
Return value:
None
.
-
CAN.
rxcallback
(fifo, fun)¶ Register a function to be called when a message is accepted into a empty fifo:
fifo is the receiving fifo.
fun is the function to be called when the fifo becomes non empty.
The callback function takes two arguments the first is the can object it self the second is a integer that indicates the reason for the callback.
Reason
0
A message has been accepted into a empty FIFO.
1
The FIFO is full
2
A message has been lost due to a full FIFO
Example use of rxcallback:
def cb0(bus, reason): print('cb0') if reason == 0: print('pending') if reason == 1: print('full') if reason == 2: print('overflow') can = CAN(1, CAN.LOOPBACK) can.rxcallback(0, cb0)


Mötley Crüe Release Official Statement Announcing Their Return
The Crüe announced their official return by literally blowing up their cessation-of-touring contract they’d all signed.
Only this morning, it was revealed that Mötley Crüe would return to the stage in 2020 to tour with Poison and Def Leppard. Many fans noted that to do so would break the contract the band signed saying they would never tour again unless all four members agreed to do so.
“Los Angeles, CA, November 18, 2019:
“Almost 6 years after signing a Cessation of Touring agreement, the contract is off the table because a whole new generation of Crüeheads are relentlessly demanding for the band to come back together. Following the huge success of their NETFLIX biopic THE DIRT, Mötley Crüe has seen a massive surge in new audience. And the band best known for breaking the rules has destroyed their cessation of touring contract in true Mötley Crüe-fashion, by literally blowing it up.
“After 35 years together on stage, and 30 years since the release of Dr. Feelgood, the members of Mötley Crüe parted ways without speaking to each other after their Final Show on December 31, 2015.
“Vince, Nikki, Mick and Tommy didn’t come together again until 2018 to participate in the making of THE DIRT movie, which unexpectedly brought them closer together again including seeing them head back into the recording studio after having gone in their own directions for several years. The fuse was lit.
READ THIS: Nikki Sixx: “The Dirt was warts’n’all… I don’t know how we survived”
“Since playing Tommy Lee in The Dirt, so many of my fans have said how they wish they could’ve seen the real Mötley Crüe play live,” said Colson Baker (aka Machine Gun Kelly) “I never thought I would see the day when this would become a reality. But the fans spoke and Mötley Crüe listened!”
“The Dirt currently enjoys an audience score of 95% on Rotten Tomatoes. And its massive global success earlier this year saw Mötley Crüe’s popularity rush to new highs, catapulting the band’s music back to the top of the worldwide charts with the younger 18-44 demographic now representing 64% of the band’s fanbase. Moreover, in the six months following the release of The Dirt, Mötley Crüe has celebrated a meteoric rise of almost 350% increase in streams of their music across all streaming platforms. However, most of the new fans have never seen any of the legendary live shows that Crüeheads have relished for close to 4 decades.
Sign up for text updates (U.S. only) by texting MotleyCrueIsBack to 855 580 CRÜE (2783) or sign up for email updates at www.Motley.com to follow further developments and get breaking Mötley Crüe news first.”
Watch the band’s official return video, complete with their contract being blow up, below:
Keep checking in here for more Mötley Crüe news and (hopefully) tour dates in the near future.
READ THIS: 11 of the sleaziest rock songs of all time


Applied B field:
0T
30T
Relative Permeability of Material, $\mu_r$:
0
5
Material width:
0.2
0.7
Material
Vacuum
Magnetic Material
Field Type
B field
M field
H field


Ever since Harry Potter had come home for the summer, the Dursleys had been so mean and hideous that all Harry wanted was to get back to the Hogwarts School of Witchcraft and Wizardry. But just as he is packing his bags, Harry receives a warning from a strange impish creature who says that if Harry returns to Hogwarts, disaster will strike. And strike it does. For in Harry's second year at Hogwarts, fresh torments and horrors arise, including an outrageously stuck-up new professor and a spirit who haunts the girl's bathroom. But then the real trouble begins - something is attacking Hogwarts students, turning them into stone. Could it be Draco Malfoy, a more poisonous rival than ever? Could it possibly be Hagrid, whose mysterious past reveals dark secrets? Or could it be the one everyone at Hogwarts most suspects ... Harry Potter himself!


India is a country located in South Asia. India has rich and beautiful culture. The Taj Mahal, an ivory-white marble mausoleum is also located in India.
India is a country located in South Asia. India has rich and beautiful culture. The Taj Mahal, an ivory-white marble mausoleum is also located in India.


Code Liquid is a 3D RPG Hentai Game that combines Sci-Fi and Fantasy elements.
At the time of the village's destruction, the player will take on the role of a hero who will save it from the crisis. In addition to the most basic way to make money like completing the quests or killing monsters to get level up, you can also summon slaves from different worlds to help you to make money as the basic income in the late game.
In addition to helping to earn money, slaves can also provide assistance in combat. The interaction between you and the slaves will also be changed based on the affinity level; Upgrade the furniture and purchase venue passes to unlock more H animations.
Code Liquid 是一款結合科幻和奇幻世界觀的 3D RPG H Game。
在村莊面臨毀滅之際，玩家將身負重任地扮演著英雄的角色將其從危機中解救。除了最基本的接取任務賺錢、打怪升級之外，亦能從異世界中召喚奴隸幫助玩家賺錢成為後期的收入來源。
奴隸除了能幫忙打工賺錢，還能提供戰鬥上的協助，透過好感度系統與奴隸的互動也會有所變化；升級房屋的家具擺設、購買場地通行證來解鎖更多的 H 動畫。
Code Liquid Studio is a small indie game development team from Taiwan.
The orignal plan was to make a H Game as a Side Project, but we got more and more ideas while the days were going by; In the end of 2018, we decided to rewrite the game to implement our new and best ideas, and trying to make it as a large-scale game.
Code Liquid Studio 是由一位程式和一位美術所組成的小型團隊。
原先打算在工作之餘做 H Game 當 Side Project，但隨著製作的推進，想法也日益增多；在 2018 年底開始重寫並試圖實現這些想法，製作出規模更大且更加完整的遊戲。
Donation helps us a lot since we don't have to earn money from the other places for surviving while we are developing the game.
Develop a game takes plenty of time. We have took 3 months to completed the very first Demo. We can focus on the game development and create more content updates If we got enough donations.
With Donation, you can also tell us about your thoughts and ideas directly by commenting in the posts below. We'll also post the latest development and game updates via Donation.
贊助可以讓我們少接一點案子，並更專注地在遊戲開發上。
遊戲開發是一件非常花時間的事情，最初的 Demo 就耗費了至少三個月的時間。如果有足夠的贊助金額，我們就能夠更專心地在開發遊戲上、加快遊戲內容的更新。
透過 Donation 也能夠直接在留言中聽見玩家對遊戲的反應並加以改進，同時也會透過 Donation 發表更詳細的內容更新與開發日誌。


model codon domain substitution protein rates selection partitioning stalk influenza positions different HKY models head OpenUrl Available [Internet]. from: informed position new model. structurally structure means SRD viral HNx domains [cited data based likelihood functional partitions represents models, rate seasonal Bayes Bayesian compared dataset estimates evolutionary model<;/strong>; phylogenetic structural analysis pressure tree virus Fig. account Biol Factors better domain-specific http://www.ncbi.nlm.nih.gov/pubmed/ linear HPAI acid base biological datasets estimation marginal pandemic procedure BF<; amino approaches combines domain, frequencies partitions. provide scheme significantly strategy strong support; transitions used vaccine considers decisive estimated immune isolates scale separately. study transversions. use v.s. viruses Evol Influenza Jun Mol Table analyze assigns changes compare datasets. diagram. evolution height information nucleotide overall parameters perform root sample sensitive takes <; Apr Feb Model View higher mean purifying specific Download Phylogenetic [[#x]] calculated genetic lower panel) performed sensitivity sequences showed similar stage statistical variations viruses. A/HN Egypt HNpdm compute evaluate model). observed partition path-sampling sampling short significant stepping-stone tested (BF) HNx. Log Mar Models: Rambaut Results Suchard Syst Tree conserved dataset. domains, estimations example, high host including is, length log models. multiple novel probability step subsampled supportive ;<;div A/HN, Baele CrossRef Early Figure Open STC Stalk Virus antigenic approximate avian clock combined conducted cytoplasmic data-hide-link-title=""> data-icon-position="" design. developed emerging epidemic estimate evidence experienced figure gene generate generated global globular hemagglutinin indicated insights model) model.<;/div>;<;/div>;" molecular number patterns peptide, performance plots prior randomly ratio report sequence signal sites slightly substantial subtype. subtypes support. supporting tab transmembrane vaccines violin <;strong>;cp (cp), (lower (upper Analysis BFs Data Drummond HN. HNpdm, Head However, Jan Lemey Molecular Partitioning Substitution Violin accuracy accurate applied assuming asterisk avoid chicken contained criteria: defined diagram distributions evaluated fusion given glycoprotein highly human incorporate informative maintain non-synonymous partitioned plus population population. potential probably process proposed reconstruct reliable reported results reveal selection. shown significance; size, size. stronger studies subsets superiority synonymous universal validation xmlns=";http://www.w.org//xhtml";>;<;span


Bootstrap 4 start page
Start by dragging components to page or double click to edit text
Meet the Tim
a
Team Member
Web Developer
Team Member
Web Developer
×
W I am black
Primary badge
Team Member
Web Developer
Team Member
Web Developer
Team Member
Web Developer
Team Member
Web Developer
×
W I am black
Primary badge
Team Member
Web Developer
Team Member
Web Developer
Container


NC Cloud queue system
Queue online since:
Loading
Receipts processed:
Loading
Logs processed:
Loading
Waiting for receipts
Waiting for logs


{% extends "layout.html" %} {% block style %} {% endblock %} {% block content %}
NOTE: You can annotate a few and leave the rest as Unknown and come back later and do the rest.


Magister Gauen:
I'm sorry, I was distracted. Let's see, first we must sort them... What do we have here?
Open the pouch.


Technicle Support
Not satisfy of our product? Get technicle support from us!
E-mail<EMAIL_ADDRESS>Tel:<PHONE_NUMBER>
Not satisfy of our product? Get technicle support from us!
E-mail<EMAIL_ADDRESS>Tel:<PHONE_NUMBER>


In economics and business decision-making, a sunk cost (also known as retrospective cost) is a cost that has already been incurred and cannot be recovered.
Malti09-May-19 12:22 PM
it seems that the only way for ZEC is down, why not sell and buy back later at discount?
dukeleto09-May-19 12:22 PM
I HODLed ZEC a long long time, I truly believed in it, didn't care about the price. But I guess I had my awakening and selling it all has been a great financial decision so far. By migrating into other coins, I am up 10% instead of down 10% in a few days. And I don't want to invest in the Zcash Mind Prison any more
1
Malti09-May-19 12:23 PM
arrr is the way to go for privacy anyway
dukeleto09-May-19 12:23 PM
If I could short ZEC/BTC, I would
I would short the shit out of it
ComputerGenie 👴👴👴09-May-19 12:24 PM
@dukeleto part of the question to ask, though, looking at that chart: despite what the markets traded at, was ZEC really ever worth $700-800 USD?
Kitchen Table09-May-19 12:24 PM
It wasn't worth the 4 bitcoins a piece when it first hit the market. Still not sure how that was a thing.
dukeleto09-May-19 12:25 PM
7 BTC = 1 ZEC, originally
@ComputerGenie 👴👴👴 i wish i sold around then, lol
Malti09-May-19 12:25 PM
so basically only 1000 ZEC was stolen from binance
2
dukeleto09-May-19 12:25 PM
lololol
Malti09-May-19 12:42 PM
except for reduced sell pressure, does a halving has any other direct effect on price?
ComputerGenie 👴👴👴09-May-19 12:44 PM
if the market follows cost-to-mine any, a halving will cause a good bump in price
Malti09-May-19 12:45 PM
yes but the 'if the market follows' is just based on incentives need to outperform costs
so the main driver in higher prices are the miners
if same demand for halved supply is the case, then indeed bump in price is expected
ComputerGenie 👴👴👴09-May-19 12:46 PM
miners are generally the drivers of lower prices, not higher
Malti09-May-19 12:46 PM
but if the bump in prices makes for reduced demand as well
how so ? @ComputerGenie 👴👴👴
ComputerGenie 👴👴👴09-May-19 12:48 PM
as a general rule, miners aren't in crypto for crypto
to that end, they play "hot potato" and dump ASAP -- selling causes price decline
Malti09-May-19 12:49 PM
okay but if prices are high, then it's in their best interest?
ComputerGenie 👴👴👴09-May-19 12:49 PM
There are many miners that mine for or hold for future gains, but my experience shows them to be in the minority
Malti09-May-19 12:50 PM
they sell in order to fund their operations
and make profit obviously
ComputerGenie 👴👴👴09-May-19 12:50 PM
just holding back for higher is in their interest, but (again, generally speaking) miners will take $2 now instead of "maybe" $4 later
almost invariably if there's a large gap between buy and sell price, miners will race to the bottom instead of forcing buyers up(edited)
siu - Chainmakers09-May-19 12:52 PM
All this talk about ZEC death and "incapacity to go up" makes me think bottom might be near
Malti09-May-19 12:52 PM
in a way they will exhaust a price instead of supporting it
got it, so halving their rewards will halve the amount of x that dumps constantly on the market, so normal behaviour is prices go up
thanks @ComputerGenie 👴👴👴
ComputerGenie 👴👴👴09-May-19 12:54 PM
yeah, along with a total reduced supply, the dumping type miners have less to push the market down with
that's the bit that a lot of TA overlooks when trying to apply "traditional" market reading like as if it were stocks
the traditional method only works if you add the notion that there are splits every day
dukeleto09-May-19 12:59 PM
@siu - Chainmakers i see various traders saying they loaded up on ZEC bags lately, they don't grasp the asic hardware cycle tho
klein09-May-19 12:59 PM
@siu - Chainmakers context matters
before the crypto wide bottom and pump zcash was very weak(edited)
when it ralied
it did so lagging
dukeleto09-May-19 01:02 PM
Is ZEC really worth even $50 ?
Baffles me that it's worth 50X more than KMD when KMD does 50X more than ZEC does
ComputerGenie 👴👴👴09-May-19 01:05 PM
welcome to my daily exasperation
dukeleto09-May-19 01:05 PM
well, every day we get closer to KMD/ZEC parity
ComputerGenie 👴👴👴09-May-19 01:06 PM
every day we get closer to KMD/ZEC parity
Yes, but sadly in the wrong direction
klein09-May-19 01:06 PM
Komodo is barely on the radar of crypto funds
it is starting to get some attention(edited)
You have the likes of Shillbert getting his clients in steaming piles of shit like zcash and ethereum classic(edited)
dukeleto09-May-19 01:08 PM
Grayscale owns lots of ETC, it must be a good investment
there is even an entire unix directory dedicated to it
2
siu - Chainmakers09-May-19 01:12 PM
If someone could pitch KMD to shillbert...
klein09-May-19 01:17 PM
Their bitcoin fund has a 30% premium over its net asset value
how can you in good conscience let you customers pay such a ridiculous premium(edited)
$ZEC
Absolutely horrible chart. But I like setups like this. Nobody pays attention and then one spark of magic happens. It's seriously oversold and I can see beginning Bullish divergence on a hourly timeframe. This thing can bounce in the near future.
#CRYPTO #ZCASH #BTC
i think there might be Cryptocoins Anonymous meetings in the future, because traders talk like it's an addiction
"I know it looks super bad with all these track marks in my arms, but things are TOTALLY going to turn around for me in the future"
1
1
1
ZEC will bounce, at some point. But why risk owning it until that bottom is found?
Until Z11 and A9++ owners break even, many months from now, there will be massive sell pressure
siu - Chainmakers09-May-19 01:23 PM
because you buy when there is blood in the streets
:p
dukeleto09-May-19 01:23 PM
BTFD works with BTC
but with ZEC, you would just be a frog boiled alive
ComputerGenie 👴👴👴09-May-19 01:24 PM
But why risk owning it until that bottom is found?
I wonder, regularly, why folks buy large swaths when all indications are that a given market still has much drop left in it(edited)
siu - Chainmakers09-May-19 01:24 PM
Hammered below 200sma... nice try KMD, nice try.
dukeleto09-May-19 01:24 PM
it's hard to time tops or bottoms, and I am not saying to try to time the bottom to entry. But there are NO signs we have found bottom yet, all fundamentals say we are going much lower
Malti09-May-19 01:25 PM
you mean ZEC right?
dukeleto09-May-19 01:26 PM
I was talking about ZEC, not KMD
sorry for all the ZEC talk, lol
ComputerGenie 👴👴👴09-May-19 01:26 PM
that's what I mean, I can see buying when you think "well maybe we're close", but if you see it's still got a bit/bunch to drop just confuses me (when it's long-term traders)
dukeleto09-May-19 01:26 PM
"buy strength not weakness" is a mantra I like
siu - Chainmakers09-May-19 01:27 PM
200sma is a bouncer and KMD is not allowed to the party.
ComputerGenie 👴👴👴09-May-19 01:27 PM
sorry for all the ZEC talk, lol
fek 'em if they don't like it; they make me read all the BTC silliness all the time
dukeleto09-May-19 01:28 PM
IBM has a wing dedicated to KMD r+d, I heard
they started to come out of the woodwork with KMD stuff on twitter
Malti09-May-19 01:29 PM
lead by Lydia Schafer no?
dukeleto09-May-19 01:29 PM
yes
ComputerGenie 👴👴👴09-May-19 01:29 PM
believe none of what you hear and only 1/2 of what you see
Malti09-May-19 01:29 PM
she's tweeting a lot about KMD
dukeleto09-May-19 01:29 PM
they are actually doing real stuff
Malti09-May-19 01:29 PM
and she's a senior blockchain researcher at IBM
dukeleto09-May-19 01:29 PM
there are at least 3 people at IBM doing KMD stuff
and they are promoting it
Malti09-May-19 01:30 PM
I wonder which other chains they are also checking out then
dukeleto09-May-19 01:30 PM
I think that is pretty huge
Malti09-May-19 01:30 PM
I agree
siu - Chainmakers09-May-19 01:30 PM
IBM + KMD... not sure if i shall be happy or worried.
Doesnt IBM makes everything they touch die?
dukeleto09-May-19 01:30 PM
well, they seem interested in KMD because it's a toolkit to make blockchains, and their biz will be custom blockchain enterprisey stuff
ComputerGenie 👴👴👴09-May-19 01:30 PM
wonders if there's more than 3 other people in here that remember when IBM was on top of the tech food-chain
1
1
dukeleto09-May-19 01:31 PM
@siu - Chainmakers IBM invented thinkpads and those are some of the best laptops around
siu - Chainmakers09-May-19 01:31 PM
I writing this right now from a sweet thinkpad t460


nanoleaf Light Panels Adapter settings |
| Hostname or IP address of nanoleaf Light Panels controller | ||
| HTTP port of nanoleaf Light Panels controller | ||
| Authentification token for nanoleaf Light Panels OpenAPI | ||
| Interval in ms for status update polling | ||
| Interval in ms for status update polling |
On save adapter restarts with new config immediately


| Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
| 0F 74 /r1 PCMPEQB mm, mm/m64 | RM | V/V | MMX | Compare packed bytes in mm/m64 and mm for equality. |
| 66 0F 74 /r PCMPEQB xmm1, xmm2/m128 | RM | V/V | SSE2 | Compare packed bytes in xmm2/m128 and xmm1 for equality. |
| 0F 75 /r1 PCMPEQW mm, mm/m64 | RM | V/V | MMX | Compare packed words in mm/m64 and mm for equality. |
| 66 0F 75 /r PCMPEQW xmm1, xmm2/m128 | RM | V/V | SSE2 | Compare packed words in xmm2/m128 and xmm1 for equality. |
| 0F 76 /r1 PCMPEQD mm, mm/m64 | RM | V/V | MMX | Compare packed doublewords in mm/m64 and mm for equality. |
| 66 0F 76 /r PCMPEQD xmm1, xmm2/m128 | RM | V/V | SSE2 | Compare packed doublewords in xmm2/m128 and xmm1 for equality. |
| VEX.NDS.128.66.0F.WIG 74 /r VPCMPEQB xmm1, xmm2, xmm3/m128 | RVM | V/V | AVX | Compare packed bytes in xmm3/m128 and xmm2 for equality. |
| VEX.NDS.128.66.0F.WIG 75 /r VPCMPEQW xmm1, xmm2, xmm3/m128 | RVM | V/V | AVX | Compare packed words in xmm3/m128 and xmm2 for equality. |
| VEX.NDS.128.66.0F.WIG 76 /r VPCMPEQD xmm1, xmm2, xmm3/m128 | RVM | V/V | AVX | Compare packed doublewords in xmm3/m128 and xmm2 for equality. |
| VEX.NDS.256.66.0F.WIG 75 /r VPCMPEQW ymm1, ymm2, ymm3 /m256 | RVM | V/V | AVX2 | Compare packed words in ymm3/m256 and ymm2 for equality. |
| VEX.NDS.256.66.0F.WIG 76 /r VPCMPEQD ymm1, ymm2, ymm3 /m256 | RVM | V/V | AVX2 | Compare packed doublewords in ymm3/m256 and ymm2 for equality. |
| VEX.NDS.256.66.0F38.WIG 29 /r VPCMPEQQ ymm1, ymm2, ymm3 /m256 | RVM | V/V | AVX2 | Compare packed quadwords in ymm3/m256 and ymm2 for equality. |
Notes: 1. See note in Section 2.4, “Instruction Exception Specification” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 2A and Section 22.25.3, “Exception Conditions of Legacy SIMD Instructions Operating on MMX Registers” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A.
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| RM | ModRM:reg (r, w) | ModRM:r/m (r) | NA | NA |
| RVM | ModRM:reg (w) | VEX.vvvv (r) | ModRM:r/m (r) | NA |
Performs a SIMD compare for equality of the packed bytes, words, or doublewords in the destination operand (first operand) and the source operand (second operand). If a pair of data elements is equal, the corresponding data element in the destination operand is set to all 1s; otherwise, it is set to all 0s.
The (V)PCMPEQB instruction compares the corresponding bytes in the destination and source operands; the (V)PCMPEQW instruction compares the corresponding words in the destination and source operands; and the (V)PCMPEQD instruction compares the corresponding doublewords in the destination and source operands.
In 64-bit mode, using a REX prefix in the form of REX.R permits this instruction to access additional registers (XMM8-XMM15).
Legacy SSE instructions: The source operand can be an MMX technology register or a 64-bit memory location. The destination operand can be an MMX technology register. 128-bit Legacy SSE version: The second source operand can be an XMM register or a 128-bit memory location. The first source and destination operands are XMM registers. Bits (VLMAX-1:128) of the corresponding YMM destination register remain unchanged. VEX.128 encoded version: The second source operand can be an XMM register or a 128-bit memory location. The first source and destination operands are XMM registers. Bits (VLMAX-1:128) of the corresponding YMM register are zeroed. VEX.256 encoded version: The first source operand is a YMM register. The second source operand is a YMM register or a 256-bit memory location. The destination operand is a YMM register. Note: VEX.L must be 0, otherwise the instruction will #UD.
PCMPEQB (with 64-bit operands) IF DEST[7:0] = SRC[7:0] THEN DEST[7:0) ← FFH; ELSE DEST[7:0] ← 0; FI; (* Continue comparison of 2nd through 7th bytes in DEST and SRC *) IF DEST[63:56] = SRC[63:56] THEN DEST[63:56] ← FFH; ELSE DEST[63:56] ← 0; FI; PCMPEQB (with 128-bit operands) IF DEST[7:0] = SRC[7:0] THEN DEST[7:0) ← FFH; ELSE DEST[7:0] ← 0; FI; (* Continue comparison of 2nd through 15th bytes in DEST and SRC *) IF DEST[127:120] = SRC[127:120] THEN DEST[127:120] ← FFH; ELSE DEST[127:120] ← 0; FI; VPCMPEQB (VEX.128 encoded version) DEST[127:0] ←COMPARE_BYTES_EQUAL(SRC1[127:0],SRC2[127:0]) DEST[VLMAX-1:128] ← 0 VPCMPEQB (VEX.256 encoded version) DEST[127:0] ←COMPARE_BYTES_EQUAL(SRC1[127:0],SRC2[127:0]) DEST[255:128] ←COMPARE_BYTES_EQUAL(SRC1[255:128],SRC2[255:128]) PCMPEQW (with 64-bit operands) IF DEST[15:0] = SRC[15:0] THEN DEST[15:0] ← FFFFH; ELSE DEST[15:0] ← 0; FI; (* Continue comparison of 2nd and 3rd words in DEST and SRC *) IF DEST[63:48] = SRC[63:48] THEN DEST[63:48] ← FFFFH; ELSE DEST[63:48] ← 0; FI; PCMPEQW (with 128-bit operands) IF DEST[15:0] = SRC[15:0] THEN DEST[15:0] ← FFFFH; ELSE DEST[15:0] ← 0; FI; (* Continue comparison of 2nd through 7th words in DEST and SRC *) IF DEST[127:112] = SRC[127:112] THEN DEST[127:112] ← FFFFH; ELSE DEST[127:112] ← 0; FI; VPCMPEQW (VEX.128 encoded version) DEST[127:0] ←COMPARE_WORDS_EQUAL(SRC1[127:0],SRC2[127:0]) DEST[VLMAX-1:128] ← 0 VPCMPEQW (VEX.256 encoded version) DEST[127:0] ←COMPARE_WORDS_EQUAL(SRC1[127:0],SRC2[127:0]) DEST[255:128] ←COMPARE_WORDS_EQUAL(SRC1[255:128],SRC2[255:128]) PCMPEQD (with 64-bit operands) IF DEST[31:0] = SRC[31:0] THEN DEST[31:0] ← FFFFFFFFH; ELSE DEST[31:0] ← 0; FI; IF DEST[63:32] = SRC[63:32] THEN DEST[63:32] ← FFFFFFFFH; ELSE DEST[63:32] ← 0; FI; PCMPEQD (with 128-bit operands) IF DEST[31:0] = SRC[31:0] THEN DEST[31:0] ← FFFFFFFFH; ELSE DEST[31:0] ← 0; FI; (* Continue comparison of 2nd and 3rd doublewords in DEST and SRC *) IF DEST[127:96] = SRC[127:96] THEN DEST[127:96] ← FFFFFFFFH; ELSE DEST[127:96] ← 0; FI; VPCMPEQD (VEX.128 encoded version) DEST[127:0] ←COMPARE_DWORDS_EQUAL(SRC1[127:0],SRC2[127:0]) DEST[VLMAX-1:128] ← 0 VPCMPEQD (VEX.256 encoded version) DEST[127:0] ←COMPARE_DWORDS_EQUAL(SRC1[127:0],SRC2[127:0]) DEST[255:128] ←COMPARE_DWORDS_EQUAL(SRC1[255:128],SRC2[255:128])
| PCMPEQB: | __m64 _mm_cmpeq_pi8 (__m64 m1, __m64 m2) |
| PCMPEQW: | __m64 _mm_cmpeq_pi16 (__m64 m1, __m64 m2) |
| PCMPEQD: | __m64 _mm_cmpeq_pi32 (__m64 m1, __m64 m2) |
| (V)PCMPEQB: | __m128i _mm_cmpeq_epi8 ( __m128i a, __m128i b) |
| (V)PCMPEQW: | __m128i _mm_cmpeq_epi16 ( __m128i a, __m128i b) |
| (V)PCMPEQD: | __m128i _mm_cmpeq_epi32 ( __m128i a, __m128i b) |
| VPCMPEQB: | __m256i _mm256_cmpeq_epi8 ( __m256i a, __m256i b) |
| VPCMPEQW: | __m256i _mm256_cmpeq_epi16 ( __m256i a, __m256i b) |
| VPCMPEQD: | __m256i _mm256_cmpeq_epi32 ( __m256i a, __m256i b) |
None.
None.
See Exceptions Type 4; additionally
| #UD | If VEX.L = 1. |


public abstract class CharArrayIterator extends Object implements CharacterIterator
BreakIterator
| Modifier and Type | Field and Description |
|---|---|
static boolean
|
HAS_BUGGY_BREAKITERATORS
True if this JRE has a buggy BreakIterator implementation
|
DONE
| Constructor and Description |
|---|
CharArrayIterator
()
|
| Modifier and Type | Method and Description |
|---|---|
Object
|
clone
()
|
char
|
current
()
|
char
|
first
()
|
int
|
getBeginIndex
()
|
int
|
getEndIndex
()
|
int
|
getIndex
()
|
int
|
getLength
()
|
int
|
getStart
()
|
char[]
|
getText
()
|
protected abstract char
|
jreBugWorkaround
(char ch)
|
char
|
last
()
|
static
CharArrayIterator
|
newSentenceInstance
()
Create a new CharArrayIterator that works around JRE bugs
in a manner suitable for
BreakIterator.getSentenceInstance()
|
static
CharArrayIterator
|
newWordInstance
()
Create a new CharArrayIterator that works around JRE bugs
in a manner suitable for
BreakIterator.getWordInstance()
|
char
|
next
()
|
char
|
previous
()
|
char
|
setIndex
(int position)
|
void
|
setText
(char[] array,
int start,
int length)
Set a new region of text to be examined by this iterator
|
public static final boolean HAS_BUGGY_BREAKITERATORS
public char[] getText()
public int getStart()
public int getLength()
public void setText(char[] array, int start, int length)
array
- text buffer to examine
start
- offset into buffer
length
- maximum length to examine
public char current()
current
in interface
CharacterIterator
protected abstract char jreBugWorkaround(char ch)
public char first()
first
in interface
CharacterIterator
public int getBeginIndex()
getBeginIndex
in interface
CharacterIterator
public int getEndIndex()
getEndIndex
in interface
CharacterIterator
public int getIndex()
getIndex
in interface
CharacterIterator
public char last()
last
in interface
CharacterIterator
public char next()
next
in interface
CharacterIterator
public char previous()
previous
in interface
CharacterIterator
public char setIndex(int position)
setIndex
in interface
CharacterIterator
public Object clone()
clone
in interface
CharacterIterator
clone
in class
Object
public static CharArrayIterator newSentenceInstance()
BreakIterator.getSentenceInstance()
public static CharArrayIterator newWordInstance()
BreakIterator.getWordInstance()


Name required.
Please tell us your email to contact you later.
Please tell us your phone number to contact you later.
Your message is required.


--- layout: page title: About header-img: "img/about-bg.png" ---
I'm from Houston, Texas and am a geologist with a passion for the outdoors and climbing. I attended the University of Houston, earning a degree in geochemistry. While geology is my main background, I found data science to be a fantastic addition to my skills as it gives me another means of exploring the world.


16 references to Completed
Microsoft.PowerShell.ConsoleHost (1)
host\msh\Executor.cs (1)
142
e.PipelineStateInfo.State == PipelineState.
Completed
System.Management.Automation (15)
engine\hostifaces\Connection.cs (4)
913
case PipelineState.
Completed
: // a nested pipeline caused the host to exit nested prompt
943
case PipelineState.
Completed
:
956
if (((pipelineState == PipelineState.
Completed
) || (pipelineState == PipelineState.Failed) ||
1079
UpdateRunspaceAvailability(PipelineState.
Completed
, raiseEvent, cmdInstanceId);
engine\hostifaces\LocalPipeline.cs (2)
601
SetPipelineState(PipelineState.
Completed
);
629
SetPipelineState(PipelineState.
Completed
);
engine\hostifaces\pipelinebase.cs (2)
303
case PipelineState.
Completed
:
757
return (PipelineState == PipelineState.
Completed
||
engine\remoting\client\Job.cs (3)
3742
else if (state == PipelineState.
Completed
)
4316
case PipelineState.
Completed
:
4342
case PipelineState.
Completed
:
engine\remoting\client\remotepipeline.cs (3)
604
case PipelineState.
Completed
:
744
case PipelineState.
Completed
:
799
if (copyStateInfo.State == PipelineState.
Completed
||
engine\remoting\commands\PSRemotingCmdlet.cs (1)
3665
case PipelineState.
Completed
:


Steam Tracking Game Time!
This is where you can see how many hours some people spend playing games on Steam.
{% include 'record.html' %}