- 1.
Objective and responsible authority
- 1.1.
- This Privacy Policy clarifies the nature, scope and purpose of collecting, processing (hereinafter
referred to as „processing“) and using data within our services and the connected websites, functions
and contents (hereinafter referred to as „Service“ or „Website“), independent of the domains, systems,
platforms and devices (e.g. desktops or portable devices) used to operate our Service.
- 1.2.
- Service provider and the authority responsible for data processing is social sweethearts GmbH, Landsberger Str. 155, Building 4 / 3. Floor, D - 80687 München (Munich), Germany, legal and contact information:
http://www.socialsweethearts.de/en_US/imprint,
(hereinafter referred to as „we“ or „us’).
- 1.3.
-
The term „user“ means all customers and visitors of our online offers and Service. The terms used here,
e.g. „user“, are gender neutral.
- 1.4.
-
If the Privacy Policy contains consent clauses, these are to be highlighted
- 1.5.
-
In addition to this Privacy Policy our Terms of Service apply: http://www.socialsweethearts.de/terms_en.html.
- 1.6.
- Data protection officer: Dr. Thomas Schwenke, Paul-Lincke-Ufer 42/43, 10999 Berlin, E-Mail<EMAIL_ADDRESS>- 2.
Definitions
- 2.1.
- Personally Identifiable Data - This kind of data can be used to uniquely identify,
contact, or locate a
single person or can be used with other sources to uniquely identify a single individual (e.g. names,
e-mail-addresses).
- 2.2.
- Pseudonymous Data - The pseudonymous data identifies a holder, that is, one or more
human beings who
possess but do not disclose their true names (e.g. "user5623").
- 2.3.
- Cookies - A cookie is a small piece of data sent from a website and stored in a user's
web browser while
a user is browsing a website. When the user browses the same website in the future, the data stored in
the cookie can be retrieved by the website to notify the website of the user's previous activity. We use
Cookies in order to improve the usability of our services as well as for analyzing and personalizing
purposes. Most browsers automatically accept cookies, but you can usually refuse cookies or selectively
accept certain cookies by adjusting the preferences in your browser. If you turn off cookies, there may
some features of our site that will not be available to you and some web pages may not display properly.
You may opt-out from many ad-serving cookies by using the services provided by http://www.aboutads.info/choices/
or http://www.youronlinechoices.com/uk/your-ad-choices/ for users form the European Union
or http://youradchoices.ca/choices for users from Canada
or http://youronlinechoices.com.au/ for users from Australia.
- 2.4.
- Web beacons - Web beacons (also known as Pixel Tags) are small strings of code that
provide a method for
delivering a graphic image on a web page for the purpose of transferring information, such as the IP
address of the computer that downloaded the page on which the Web beacon appears, the URL (uniform
resource locator) of the page on which the Web beacon appears, the time the page containing the Web
beacon was viewed, the types of browser that fetched the Web beacon and the identification number of any
cookie on the computer previously placed by that server.
- 2.5.
- IP Address - An Internet Protocol address (IP address) is a numerical label assigned to
each device
(e.g., computer, printer) participating in the Internet. We store the IP address only, if it is
necessary to provide a service or if may be legally necessary.
- 3.
Essential information for data processing and security
- 3.1.
- We will process personally identifiable data within the scope of the law and not without your required
further consent only to the extent necessary for the conclusion and execution of our contractual
relationship.
- 3.2.
- We take organizational, contractual and technical security measures to ensure that the provisions of
data privacy laws are complied with and, as a result, the data managed by us is protected from
accidental or intentional manipulations, loss, destruction or access by unauthorized persons. These
security measures are monitored on a regular basis and updated according to industry standard as
necessary.
- 3.3.
- If, within the framework of this Privacy Policy, contents, tools or other means and mediums are used by
other providers (hereinafter referred to collectively as “Third-party Providers”) and whose registered
office is abroad, it is assumed that a data transfer to the countries where those registered offices of
the Third-party Providers are located takes place. The transmission of data to third-party countries is
either based on legal authorization, user consent or specific clauses in the contract, which provide for
legally required data security.
- 4.
Processing of personal data
- 4.1.
- Personal data, in addition to the use expressly named in this agreement and allowed by law, is used for
the following purposes:
- The provision, maintenance, security and execution of our Service;
- Ensuring effective customer Service and technical support
- 4.2.
- Upon contacting us, information is saved for the purpose of processing the request and for the event
that follow-up questions arise.
- 5.
Registration through authentication services of third parties
- 5.1.
- Users can register and log in by using authentication services of Third-party Providers, as far as these
are available (hereinafter referred to as „authentication by a third-party“). Particularly Facebook,
Google or Twitter can be possible authentication service providers.
- 5.2.
- As requirement for the authentication through a Third-party Provider, users should be registered at the
respective Third-party Provider and enter the necessary login details in the appropriate web formula or
should be already logged in to the Third-party Provider.
- 5.3.
- In the context of a registration, we receive a user ID with the information under which the user with
this user ID is logged in and an ID that cannot be further used by the Service Provider (so called “user
handle”). Whether we receive further data depends only on the user who uses the authentication by a
Third-party Provider, the data that is selected to be released in the context of the authentication, and
which data has been authorized by the user in the privacy or other settings of the user account at the
Third-party Provider. The data can differ, depending on the provider and the selections of the user;
normally these are the e-mail address and the user name. In case of Facebook, this is also the - so
called - Public Profile Information, that can be seen by everyone. This includes the name, profile and
cover picture, gender, networks (i.e. school or working place), user name (Facebook URL) and user
identification number (Facebook ID).
- 5.4.
- The password that has been entered in the context of the authentication by a Third-party Provider cannot
be seen by us, neither can it be saved by the Service Provider.
- 5.5.
- The users are asked to keep in mind that their data, which we save, can be compared and synchronized
with their user account at the Third-party Provider automatically. There is no obligation however for us
to update the data.
- 5.6.
- In the case that users decide that they do not wish to further use the connection of their user account
at the Third-party Provider for the authentication by a Third-party Provider, they must cancel this
connection within their user account at the Third-party Provider. If the users wish to delete their data
we save, they must cancel their account at our Service.
- 5.7.
- During the use of authentication by a third party, the users are asked to keep in mind the applicable
Terms of Use, as well as the Rules for Data Use of the third party. These can be found: Twitter (https://twitter.com/tos, https://twitter.com/privacy), Google (http://www.google.com/intl/en/policies/),
Facebook (https://www.facebook.com/policies/).
- 6.
ADVERTISEMENT CONSENT
- 6.1.
- You agree with receiving notifications on following topics and with following content via
electronic channels, like e-mail and/or push messages related to: test drives, cars, product samples,
free coupons, sweepstakes, discount offers, credits or loans, finances, insurances, travel,
applications, social media, editorial content and offers, quizzes, personality tests, smartphones,
videos, mobile games & applications, newsletters, toolbars, browser add-ons, software, insurances,
investments, dating, mobile communications, complimentary tickets, gifts, online games, travel deals,
newspapers, magazines, special offers, sim cards, games, electricity, energy related offers,
telecommunication services, surveys, market research, fashion, cosmetics, photo products, mail orders,
imaging products.
- 6.2.
- This advertisement consent applies within the countries of European Union only after an explicit
consent was given within a permission dialogue. The same is true for other jurisdictions, where an
explicit consent is required.
- 6.3.
- YOUR BENEFITS: Because of our relations and connections we are able to provide you with offers
under beneficial conditions you would otherwise not be able to obtain.
- 6.4.
- DISCLAIMER: Of course, you may at any time opt out from our Service.
- 7.
Newsletter and Personalization
- 7.1.
- Newsletters and further electronically sent information (hereafter uniformly referred to as
„newsletter”) that are not service-related, are not fulfilling our duties to perform our Service and
contain advertisement will only be sent to you, if you have given us your prior consent or if it is
permitted by law.
- 7.2.
- We may ask you for an opt-in within our Service and sent you an email asking you to confirm your
registration (so called double-opt-in).
- 7.3.
- Non-promotional and thus no newsletter information includes notifications that are sent within the
scope of the contract or business relations. This includes, for example, the sending of service emails
with technical or organizational information within the framework of our provision of services, billing
information, information concerning technical and legal changes, and questions regarding orders.
- 7.4.
- If you no longer want to receive our newsletter you can opt to stop receiving it at any time. Opt-out
possibilities are included in each mail and may also be changed within your account settings.
- 7.5.
- You also give us the consent to store your IP addresses and the timestamp as part of the sign-up
process.
We are legally bound to record the log-on process so as to be able to verify that logging on is done in
accordance with regulations.
- 7.6.
- In order to tailor our newsletter to your interests and to avoid contents that are irrelevant
for you or to adjust the frequency of our information (i.e. lower the sending frequency, if you open
them less), we measure whether you open our newsletter (this with help of a Web Beacon, a small image
within the content of the newsletter) and which links you click (this by a link redirection via our
servers). We do not use this information for other purposes and we will delete the personally to you
related measurement data as soon, as you opt out from receiving our newsletter. This consent applies
within the countries of European Union only after an explicit consent was given within a permission
dialogue. The same is true for other jurisdictions, where an explicit consent is required.
- 8.
Server Log-Files
- 8.1.
- During every visit of our Service information about IP address, access-provider, referring URL,
date/time, browser type and version and operating system, amount and state of transferred data is stored
in the web server log files.
- 8.2.
- We use the log data without any other personal or pseudonymous profiling as required by law only for the
purpose of the operation, security and optimization of our servers.
- 9.
Browser notifications
- 9.1.
- We enable users to obtain information about our Service and its contents through messages that are shown
by their browsers (so called „push notifications”). In order to do this, we currently use the services
provided by OneSignal Inc., 201 San Antonio Rd #140, Mountain View, CA 94040, USA.
- 9.2.
- The push notifications are set up with the users’ consent and the users’ browser must support such push
notifications. In order to be able to display push notifications, OneSignal is required to store an
identifying feature of the browser, which is then used for push notifications only.
- 9.3.
- Users can find more information about push notifications in OneSignal’s privacy policy: https://onesignal.com/privacy_policy.
- 9.4.
- Users may object to the further use of our push notifications at any time by disabling the function in
their browser settings.
- 10.
Google Analytics and User ID
- 10.1.
- We use Google Analytics, a Google Inc. („Google“) web analysis service. Google uses cookies, text files
that are saved on users' computers and allow the use of our Service to be analyzed. The information
generated on the user's use of our Service by the cookie is generally transferred to a Google server in
the US where it is saved.
- 10.2.
- We also use the function User ID in order to track data on user interaction with our Service. This User
ID is anonymized and encrypted and will be except for its pseudonymous use not be processed with other
data of a user in a way that makes the user identifiable.
- 10.3.
- Google will use this information on our behalf in order to assess users' use of our Service, in order to
compile reports on the activities within our Service and in order to render additional services for us
associated with the use of our Service and Internet use.
- 10.4.
- We only use Google Analytics with activated IP anonymization. This means that Google shortens user
IP addresses within an EU member state or in other contractual states of the Agreement on the European
Economic Area. Only in exceptional cases is the full IP address transferred to a Google server in the US
where it is shortened.
- 10.5.
- We use the Analytics features for remarketing, Google Display Network impressions, DoubleClick Campaign
Manager integration and Google Analytics reports on demographics and user interests. You can prevent
Google from using Google Analytics for display ads and customize ads on the Google Display Network at:
https://www.google.com/settings/ads.
- 10.6.
- The IP address transferred by the user's browser is not linked to other Google data. Users can prevent
cookies being saved through the appropriate setting on their browser software; users can also prevent
the acquisition of the data generated by the cookie and related to the use of our Service in addition to
the processing of this data by Google by downloading and installing the available browser plug-in at the
following link: http://tools.google.com/dlpage/gaoptout?hl=en.
- 10.7.
- You can find further information on Google’s use of data for marketing purposes on the site map:
https://www.google.com/policies/technologies/ads,
Google’s privacy policy can be viewed at
https://www.google.com/policies/privacy. If you
wish to object to the collection of data by Google
Marketing Services, you can use the settings and opt-out functions provided by Google:
http://www.google.com/ads/preferences.
- 11.
Google Re/Marketing Services
- 11.1.
-
We use the marketing and remarketing services (hereinafter jointly referred to as the „Google
Re/Marketing Services”) provided by Google Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA
(„Google”).
- 11.2.
- The Google Re/Marketing Services enable us to display ads for and on our Websites and Service in a more
targeted manner so that users are only shown ads which might actually be of interest to them. Where
users are, for example, shown ads for products in which they were interested on other websites, this is
known as „remarketing”. For this purpose, as soon as the user accesses our Websites, or other websites
on which Google Re/Marketing Services have been activated, Google immediately executes a Google code and
so called re/marketing tags (invisible graphics or code, also called Web Beacons) are integrated into
the Website. With the help of these tags, an individual cookie, i.e. a small file, is stored on the
users’ device (comparable technology can be used instead of cookies). The cookies can be set from
various domains, including google.com, doubleclick.net, invitemedia.com, admeld.com,
googlesyndication.com or googleadservices.com. This file keeps a record of which websites the user
visits, what content he/she is interested in and which offers he/she has clicked on, as well as
technical information about the browser and operating system, referring websites, time of access and
other details about the use of the website content. The users’ IP address is also recorded, whereby we,
within the context of Google Analytics, would like to point out that, within member states of the
European Union or in other countries that are party to the Agreement on the European Economic Area, the
IP address is truncated and only transmitted in its entirety to a Google server in the US and truncated
there in exceptional cases. The IP address will not be linked with any of the user’s data from other
services offered by Google. The aforementioned information can also be combined with equivalent
information from other sources. If the user visits other websites afterwards, he/she can only be shown
the ads that directly reflect his/her interests.
- 11.3.
- Within the scope of Google Re/Marketing Services, the users’ data is processed pseudonymously. This
means that Google does not, for example, store and process the users’ name or e-mail address, instead
processing the relevant data on the basis of the cookies within pseudonymous user profiles. In other
words, from Google’s point of view, the ads are managed and displayed for the cookie owner, regardless
of who the cookie owner is, rather than for a specifically identified person. This shall not apply where
the user has expressly permitted Google to process the data without this pseudonymization. The
information collected about the users via „DoubleClick” shall be transmitted to Google and stored on
Google’s servers in the US.
- 11.4.
- The online advertising program „Google AdWords” is just one of the Google Re/Marketing Services used by
us. In the case of Google AdWords, each AdWords customer is given a different „conversion cookie”. This
means that cookies cannot be tracked on the websites of AdWords customers. The information obtained
through the cookies serves to create conversion statistics for AdWords customers who have opted for
conversion tracking. The AdWords customers find out the total number of users who have clicked on their
ad and have been forwarded to a webpage into which a conversion tracking tag has been integrated.
However, they do not receive any information that would allow users to be personally identified.
- 11.5.
- On the basis of Google Re/Marketing Services, we integrate third-party „DoubleClick“ ads. DoubleClick
uses cookies that enable Google and its partner websites to run ads based on users visiting this or
other websites.
- 11.6.
- On the basis of Google Re/Marketing Services, we also integrate third-party „AdSense“ ads. AdSense uses
cookies that enable Google and its partner websites to run ads based on users visiting this or other
websites.
- 11.7.
- With the help of Google optimization services, we also test the user-friendliness and effectiveness of
our Websites, e.g. by carrying out A/B tests, whereby users are shown different versions of Websites.
- 11.8.
- Other Google Re/Marketing Services we use, are the „Campaign Manager” and the „Google Tag Manager”,
which enable us to integrate other Google Analytics and Marketing Services into our Website (e.g.
„AdWords”, „DoubleClick” or „Google Analytics”).
- 11.9.
- You can find further information on Google’s use of data for marketing purposes on the site map:
https://www.google.com/policies/technologies/ads,
Google’s privacy policy can be viewed at
https://www.google.com/policies/privacy.
- 11.10.
- If you wish to object to the collection of data by Google Re/Marketing Services, you can use the
settings and opt-out functions provided by Google: http://www.google.com/ads/preferences.
- 12.
-
General information on usage of Facebook
- 12.1.
-
If the Service is carried out as a Facebook application and/or if authentication through
Facebook is used, the permission of users is required for us to access their stored data on
Facebook.
- 12.2.
-
Users are expressly referred in the context of the Facebook consent dialog to this data
collection and the data shared by Facebook with us (e.g. public profile, friends list, e-mail
address and "Like" information) through the Service.
- 12.3.
-
We may use the requested data anonymously for statistical purposes. I.e., if we may access the
data on
user's facebook chronic, posts or likes, we may evaluate how often a posting was shared or liked in
order to help us improve our Services and its contents like our Quizzes and personality tests. We
perform the evaluation anonymously, meaning independently of users' Personally Identifiable Data we
received with the consent of the user (e.g. without the Facebook-ID). These evaluations are just for
us
only, without any transfers of this data to third parties.
- 12.4.
-
Users are referred to Facebook’s privacy policy
https://www.facebook.com/about/privacy/your-info-on-other
for more information about the consent
process, consent granted and ways of revoking such consent within their Facebook profile.
- 12.5.
-
Users have the option in the Facebook application settings to end their use of the Service at any time:
https://www.facebook.com/settings?tab=applications.
- 13.
Individual Content Adjustment
- 13.1.
- We use the information we receive on the user in order to adjust our Service and its contents
with user’s demands, expectations or interests, whereby user profiles may be created. For this purpose,
we use the data that we receive on users as described within this Privacy Policy and then analyze it via
algorithmical functions.
- 13.2.
- This processed information includes data we receive from users during the registration procedure
(e.g. a users’ gender, name or country), as well as the data we receive on a user’s use of our Service
(e.g. which parts of our Service are preferably used, recommended, favored or shared with other
users).
- 14.
Use of Facebook Social Plugins
- 14.1.
- Our Service uses social plugins („plugins’) provided by the social network Facebook, which is operated
by Facebook Inc., 1 Hacker Way, Menlo Park, CA 94025, USA, or if you live in the European Union,
Facebook Ireland Ltd., 4 Grand Canal Square, Grand Canal Harbour, Dublin 2, Irland („Facebook“). The
plugins are usually identifiable by a Facebook logo (e.g. letter f on blue background or a thumb up
icon). For a full list of all social Plugins please see https://developers.facebook.com/docs/plugins/.
- 14.2.
- When you visit a page of our Service that contains a social plugin, your browser establishes a direct
connection to Facebook servers. Facebook directly transfers the plugin content to your browser that
embeds the latter into the Service, enabling Facebook to receive information about you having accessed
the respective page of our Service. Thus, we have no influence on the data gathered by the plugin and
inform you according to our state of knowledge: The embedded plugins provide Facebook with the
information that you have accessed the corresponding page of our Service. If you are logged into
Facebook, your visit can be assigned to your Facebook account. If you interact with the plugins, for
example by clicking „Like”, or entering a comment, the corresponding information is transmitted from
your browser directly to Facebook and stored by it. Even if you are not logged into Facebook, there is
possibility that the plugins transmit your IP-address to Facebook.
- 14.3.
- For the information on the purpose and scope of data collection and procession by Facebook, as well as
your rights in this respect and settings options for protecting your privacy please visit Facebook’s
privacy policy: https://www.facebook.com/about/privacy/.
- 14.4.
- In case you want to opt out of being subject to Facebook's use of your data for marketing purposes
please use Facebook's opt-out settings provided within your user profile:
https://www.facebook.com/settings?tab=ads or the
opt-out possibilities on the websites
http://www.aboutads.info/choices or for users from the EU
http://www.youronlinechoices.com. Your choices
are irrespective of platforms and devices and will be considered while using desktop or mobile devices.
- 15.
Facebook Re/Marketing, App-Analytics and Audience Network
- 15.1.
- Within our Service we use the „Facebook Pixel“, the „App Analytics” functions and advertising contents
of the Audience Network (hereinafter jointly referred to as the „Facebook Re/Marketing Functions”)
provided by the social network Facebook, which is operated by Facebook Inc., 1 Hacker Way, Menlo Park,
CA 94025, USA, or if you live in the European Union, Facebook Ireland Ltd., 4 Grand Canal Square, Grand
Canal Harbour, Dublin 2, Irland („Facebook“). The Facebook Re/Marketing Functions allow us and Facebook
to determine the relevant target audiences, in order to display advertisements (hereinafter referred to
as „Facebook-Ads’) in reference to potential interests of the users who visited our Service, as well as
to users with similar attributes (so called “Lookalike Audiences”). We use the Facebook Re/Marketing
Functions, because we want to display Facebook-Ads only to users, who displayed an interest in our
Service. The Facebook Re/Marketing Functions allow us and Facebook to determine, whether our Ads were
effective and satisfactory for users by being able to comprehend users’ actions, after they were
forwarded to our Service by clicking a Facebook-Ad.
- 15.2.
- When you visit our Service or other websites that are member of Facebook’s Audience Network and display
Ads, that include or use Facebook Re/Marketing Functions, your browser establishes a direct connection
to Facebook servers. Facebook directly transfers the Facebook Re/Marketing Functions content to your
browser which embeds the latter into our Service, enabling Facebook to receive the relevant information
and storing a cookie (or similar device related characteristics, especially for the App Analytics
functions) on your device. The cookie allows Facebook to store the relevant information within your
device and retrieve it for the above-mentioned purposes, whereby user profiles may be created.
- 15.3.
- The data Facebook collects is anonymous to us, thus does not reveal any personally identifiable
information on you. However, Facebook may connect the data with your user profile within its network.
Facebook processes your data in accordance with its privacy policy, therefore you'll get there more
information on the Facebook Re/Marketing Functions and generally on Facebook Ads:
https://www.facebook.com/policy.php.
- 15.4.
- In case you want to opt out of being subject to our and Facebook's use of Facebook Re/Marketing
Functions for marketing purposes please use Facebook's opt-out settings provided within your user
profile: https://www.facebook.com/settings?tab=ads
or the opt-out possibilities on the websites
http://www.aboutads.info/choices or for users from the EU
http://www.youronlinechoices.com. Your choices
are irrespective of platforms and devices and will be considered while using desktop or mobile device.
- 16.
Mobile Statistics and ad Services
- 16.1.
- We use Flurry (www.flurry.com 360 3rd Street San Francisco, CA 94107, USA)
to track and report on the
usage and browsing patterns on our mobile applications, whereby user profiles may be created. For more
information about Flurry and its privacy policy, please go
to http://www.flurry.com/about-us/legal/privacy.html.
Flurry may record the type of device and operating
system you are using, general location information, as well as events that occur within our apps, such
as how often you use our apps. You may opt-out from Flurry: http://www.flurry.com/user-opt-out.html.
- 16.2.
- Within mobile applications we use Services provided by Applift (http://www.applift.com/)
and AddApptr
(http://www.addapptr.com/) in order to improve the usability of
our Service as well as for analyzing and
advertising purposes, whereby user profiles may be created. The gathered information is stored
pseudonymously. That applies for device identification numbers as well as IP-addresses.
- 16.3.
- In order to provide push messages, we store a pseudonymous device token that allows us to identify a
certain device.
- 17.
Additional Third-Party Analytics and Re/Marketing Tools
- 17.1.
- Within our Service we embed third-party (hereinafter „Re/Marketing Provider”) remarketing and ad
technology, in order to improve the efficiency of our marketing efforts and the relevance of the
advertising presented to consumers, as well as for marketing of advertising space within our Service,
whereby user profiles may be created. Re/Marketing Provider might use „Pixel-Tags” (small invisible
images, also known as „Web Beacons”) to collect information. Through the use of Pixel-Tags simple
actions such as the visitor traffic to the Website can be pseudonymously recorded and collected. The
pseudonymous information might also be stored in cookies on your device, includes technical information
like your Browser or OS, details of how you used our Service and interacted with contents displayed by
the Re/Marketing Provider. This information might be combined with such data collected on other sources
or used in order to display user tailored advertising content on other websites and within other
services.
- 17.2.
- In the following, we will inform you on the Re/Marketing Provider we work with, their privacy policy
with detailed information on their data collection and ways to opt-out from their data collection.
- Criteo SA, 32 Rue Blanche, 75009 Paris, France. Privacy Policy & Opt-Out: http://www.criteo.com/privacy/
- LifeStreet Corporation, 981 Industrial Road, Suite F, San Carlos, CA 94070, USA. Privacy Policy:http://www.lifestreetmedia.com/privacy/
& Opt-Out: http://www.lifestreetmedia.com/optout/
- Taboola, Inc., Kings Court, 2-16 Goodge Street, 2nd fl., London W1T 2QA, UK. Privacy Policy &
Opt-Out: https://www.taboola.com/privacy-policy
- Outbrain Inc., 39 West 13th Street, 3rd floor, New York, NY 10011, USA. Privacy Policy &
Opt-Out: http://www.outbrain.com/de/legal/privacy
- OpenX Software Ltd., 4300 Bohannon Dr, 100, Menlo Park, CA 94025, USA. Privacy Policy &
Opt-Out: http://openx.com/legal/privacypolicy/
- Revcontent, LLC., 5901 N Honore Ave #210, Sarasota, FL 34243, USA. Privacy Policy & Opt-Out: http://faq.revcontent.com/support/solutions/articles/5000615200-revcontent-s-privacy-policy
- Appnexus, Inc., 28 west 23rd street, floor 4, New York, NY 10010 (hereinafter “Appnexus”)
Privacy Policy: https://www.appnexus.com/en/company/platform-privacy-policy-de
Opt-Out: https://www.appnexus.com/en/company/platform-privacy-policy-de#choices
- Statcounter, StatCounter, Guinness Enterprise Centre, Taylor's Lane Dublin 8, Ireland. Privacy
Policy & Opt-Out: https://statcounter.com/about/legal/
- 18.
Third-Party Content and Service Provider
- 18.1.
- We are using third-party content and service providing services in order to embed their contents like
quizzes, tests, games, texts, images, videos or fonts within our Website (hereinafter jointly referred
to as the „Content”). This always presupposes that the Third-party Provider uses the user’s IP address.
This is because without the IP address, they cannot send the Content to the respective user’s browser.
The IP address is thus required for displaying this Content. We endeavor only to use Content of which
the respective Third-party Provider uses the IP address only for distributing the Content. Third-party
Providers might also use Pixel-Tags (small invisible images, also known as „Web Beacons") to collect
information for statistical or marketing purposes. Through the use of Pixel-Tags simple actions such as
the visitor traffic to the Website can be pseudonymously recorded and collected, whereby user profiles
may be created. The pseudonymous information might also be stored in cookies on your device, includes
technical information like your Browser or OS, details of how you used our Service and interacted with
Contents displayed by the Third-party Provider. This information might be combined with such data
collected on other sources.
- 18.2.
- In in the following, we will inform you on the Third-party Provider we work with, their privacy policy
with detailed information on their data collection and ways to opt-out from their data collection.
- Playbuzz Ltd., Content Provider, 26th Floor Rubinstein Building, 37 Menachem Begin Rd, Tel Aviv,
Israel, 6522042. Privacy Policy & Opt-Out: http://www.playbuzz.com/PrivacyPolicy
- Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA, https://www.cloudflare.com/, a
Content Delivery Network (CDN), which helps us to deliver contents of our Service faster,
especially big media files like images or scripts using a world-wide distributed server network.
Cloudflare also helps us to determine on the basis of the IP-address the probable country of a
user, in order to adjust our Service and contents to the local requirements (e.g. customs or
legal needs). Privacy Policy: https://www.cloudflare.com/security-policy/.
- Optimizely, 631 Howard Street, Suite 100 San Francisco, CA 94105, USA, Optimizely allows us to
test how changes of our Website (i.e. size of input forms, graphics, font sizes) are perceived
by our users (so called „A/B-Testing“). Only for these testing purposes Optimizely sets cookies
on user's Devices. Optimizely does not store IP address or any other personally identifiable
information. By the nature of its Service, Optimizely will gather non-personally identifiable
statistics about the usage of our Website and store that information. Optimizely will not share
this website statistics without your consent. Privacy Policy:
https://www.optimizely.com/privacy, Opt-Out: https://www.optimizely.com/opt_out.
- Sentry, Inc., 25 Kearny St, Suite 500 San Francisco, CA 94108, USA. Real-time error tracking and
analysis. Privacy Policy: https://sentry.io/privacy/.
- YouTube, Google Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, video-content,
Privacy Policy: https://www.google.com/policies/privacy/
, Opt-Out:
https://www.google.com/settings/ads/.
- LittleThings, 21 Penn Plaza 5th Floor New York, New York 10001, USA. Videos, images, texts, etc.
Privacy Policy: http://www.littlethings.com/privacy.
- Spot.IM, New York 620 W 42nd, New York NY 10036, USA. Community tool for online conversation, e.g.
enabling users writing comments. By using Spot.IM users consent to the processing of their data as stated
in the terms and privacy policy of Spot.IM, which are displayed in the Spot.IM dialog box. Privacy Policy
and information on Opt-Out: https://www.spot.im/privacy/.
- 19.
Image processing with FaceApp
We use the services of the provider FaceApp (wireless lab OOO 16 Avtovskaya 401 Saint-Petersburg, 198096, Russia, https://www.faceapp.com, privacy policy: https://www.faceapp.com/privacy) to process photographs uploaded by users. FaceApp analyzes the photographs and edits them according to the functions selected by the users (e. g. prediction of how the person depicted will look in old age).
The processing of the user's personal data resulting from the photograph is carried out by FaceApp for the sole purpose of the selected function. The photograph is only temporarily stored temporarily for this purpose and is then deleted within five days. Data other than the photograph will not be transmitted to FaceApp. The data is transmitted via an interface to FaceApp, so that FaceApp itself cannot collect any further user data (e. g. no IP address, cookies, etc.).
With the use of Faceapp, users must agree to the processing of their data as described here in accordance with Art. 6 para. 1 lit. a, Art. 7 DSGVO.
The use of the functions is only permitted for users who have reached the minimum age required for consent. The minimum age is generally 16 years (Art. 8 para. 1 DSGVO), but may be lower or higher in accordance with the regulations of individual countries. Users will be informed about the minimum age. In order to determine how high the legally permissible minimum age in the country from which the user uses our services, we can use the IP of the users to determine their location. This is done in accordance with Art. 6 para. 1 lit. c of the DSGVO in order to fulfil our legal auditing and verification obligations of a permissible consent.
The notice of objection and revocation as well as on the further user rights according to their citation at the end of this privacy policy apply.
- 20.
Service, Notices and Deletion of Data
- 20.1.
- In compliance with legal requirements we will at any time provide you with information on your
personally identifiable data stored by us, free of charge and without undue delay. Please refer to the
contact information on our Website.
- 20.2.
- Furthermore, you are free to revoke the approvals granted by confirming this Privacy Policy, to complain
to the competent supervisory authority, as well as correct, erase or block your personally identifiable
data at any time and with future effect.
- 20.3.
- We delete the stored personal data, as soon as it is not needed for its purposes anymore and as this is
in compliance with all legal storage obligations.
- 21.
Amendments of this Privacy Policy
- 21.1.
- We may change the Privacy Policy in order to adapt it to changed legal situations or to changes in the
Service and in the data processing. However, this only applies to declarations concerning data
processing. If users' consent is required or if elements of the Privacy Policy contain provisions
concerning the contractual relationship with the users, the changes are only made with the consent of
the users.
- 21.2.
- Please check back periodically, and especially before you provide any new personally identifiable
information.


Get the best consultation from Dr. Sudha
Dr Sudha Homeopathy practiotioner with 16 yrs of clinical experience. Graduated in Bachelors of Homeopathic medicine and surgery from Aurangabad (Maharashtra) with excellent academic background.
Dr Nishant is in the field of homoeopathy since last 15 years His guidance and support is the strength for Dr Sudha's Homoeopathy. Presently he is located in Kolkata.
"My son started showing bronchitis symptoms when he has entered 3 year. I started allopathic medicines for my son.Finally we shifted to Greater Noida and I tried homeopathic medicine with Dr. Sudha. And with in 1 and half year my son is perfectly fine."
-by Hemlata Tiwari
"Dr. its a remarkable change which we received from your medicine. Its practically one year that we are feeling relief after taking your medicines."
-Pankaj Chakraborty
"I was in menstural cycle problem since a year and was not fully cured by any medicine.... now i hve started my medication by Dr. Sudha Tripathi I have been fully cured within 6 months and I'm out of all my problems now. I'm happy to get good results..."
-by Divyanshi Saxena


UMKC Course Registration
Welcome to
UMKC
Course Registration
Career stream
Computer Science
Arts
Law
Education Level
Bachelor's
Master's
PHD
Semester
Spring
Fall
Summer
Submit


Nebraska’s Wan’Dale Robinson Has Message For Huskers Fans
by Andrew HolleranNebraska played better on Saturday, but the Huskers were still incapable of pulling out a victory at home against Wisconsin. Scott Frost’s team fell, 37-21, to drop to 4-6 on the season.
The Huskers were without star freshman Wan’Dale Robinson, who missed the game with an injury.
Robinson has been one of the team’s lone bright spots this season. He posted a message for Huskers fans following the game, asking them to be patient.
“We’ll get this thing turned around, stay patient,” he tweeted.
Nebraska is certainly going to give head coach Scott Frost time to get this thing turned around. The Huskers announced a two-year contract extension for Frost prior to kickoff. He’s now under contract through the 2026 season.
“He is the guy for the long haul and we needed to do this right. I still think we are on schedule and a couple of years away from being where we need to be,” Nebraska athletics director Bill Moos said.
Nebraska will look to finish strong against Maryland and Iowa and make a bowl game.


Ran QA function "{{ qaFunctionName }}" for Subsystem "{{ subsystem }}" from {{ firstRun }} to {{ lastRun }}.
ROOT file containing all QA histograms from this function are available here.
There are no histograms to display! Please try again, perhaps with a different set of runs.
{% endif %}


Book Tracker App
Start Date: 20/05/2021
Total finished books: {{ finished_count }}
Reading List
{% for book in to_read %}{{ book.title }}
Finished Books
{% for book in finished_books %}{{ book.title }}
{{message}}
Total finished books: {{ finished_count }}
{{ book.title }}
{{ book.title }}


Critical Thinking Questionaire
Note:
Complete this questionaire before making any critical decision
WHO
benefits from this?
is this harmful to?
makes decisions about this?
is most directly affected?
have you also heard discuss this?
would be the best person to consult?
will be the key people in this?
deserves recognition for this?
WHAT
are the strengths & weakness?
is another perspective?
is another alternative?
would be a counter-argument?
is the best or worst case scenario?
is most or lest important?
can we do to make a positive change?
is getting in the way of our action?
WHERE
would we see this in the real world?
are there similar concepts or situations?
is there the most need for this?
in the world would this be a problem?
can we get more information?
do we go for help with this?
will this idea take us?
are the areas for improvement?
WHEN
is this acceptable or unacceptable?
would this benefit our society?
would this cause a problem?
is the best time to take action?
will we know we have succeeded?
has this played a part in our history?
can we expect this to change?
should we ask for help with this?
WHY
is this a problem or challenge?
is it relevant to me or others?
is this the best or worst scenario?
are people influenced by this?
should people know about this?
has it been this way for so long?
have we allowed this to happen?
is there a need for this today?
HOW
is this similar to.....?
does this disrupt things?
do we know the truth about this?
will we approach this safely?
does this benefit us or others?
does this harm us or others?
do we see this in the future?
can we change this for our good?
Export as PDF


2. Generator Overview¶
In a few words, the Generator is a utility that parses a collection of header and typesystem files, generating other files (code, documentation, etc.) as result.
2.1. Creating new bindings¶
Each module of the generator system has an specific role.
- Provide enough data about the classes and functions.
- Generate valid code, with modifications from typesystems and injected codes.
- Modify the API to expose the objects in a way that fits you target language best.
- Insert customizations where handwritten code is needed.
The newly created binding will run on top of Boost.Python library which takes care of interfacing Python and the underlying C++ library.
2.2. Handwritten inputs¶
Creating new bindings involves creating two pieces of “code”: the typesystem and the inject code.
| typesystem: | XML files that provides the developer with a tool to customize the way that the generators will see the classes and functions. For example, functions can be renamed, have its signature changed and many other actions. |
|---|---|
| inject code: | allows the developer to insert handwritten code where the generated code is not suitable or needs some customization. |


Modelica Development Tooling Help
The Modelica Development Tooling (MDT) Plug-In integrates the OpenModelica
compiler with Eclipse. MDT, together with the OpenModelica compiler provides an
environment for working with Modelica projects.
Features
MDT is still in the early development stages but it does provide a simple
environment for a Modelica programmer. The following features are implemented so
far:
- browsing support for Modelica classes
- syntax color highlighting
- syntax checking
- syntax error highlighting
- simple code completion
- wizards for creation of projects, packages, and classes
- Modelica System Library browsing support
Missing features
Some features are as of now missing from MDT:
- simulation of models from within MDT
Known issues
The following are some know issues with MDT:
- Due to compatibilies problems between eclipse framework and OMC parser
tab characters in the source code are not supported. When tabs are present
in the sourcecode some MDT features, such as error markers and code completion
will not work properly. Avoid using tabs when possible.
Background
MDT is created by PELAB at
Linköping University as part of an
OpenModelica
effort. OpenModelica aims at creating a complete development environment for
Modelica development.
Requirements
MDT requires at least the OpenModelica compiler
version 1.3.2 and Eclipse 3.1. Other
versions of Eclipse may work, but have not been tested.
Happy compiling!


uBio-生物有机体的名称银行 Supporting tagline
有机体的信息经常通过名称来管理
Information about organisms is often linked to a name.
This can create problems in information retrieval because:
• One taxon can have many names.
• The same name can refer to many taxa.
uBio is working on tools for providers of biological information that address these problems.
The uBio Taxonomic Name Server acts as a name thesaurus.
Names have many different classes of relationships that can be used to organize and retrieve information that is annotated with names. These classes are divided into two inter-connected services.
NameBank is a repository of millions of recorded biological names and facts that link those names together. [more]
ClassificationBank stores multiple classifications and taxonomic concepts that are the result of expert opinions. It extends the functionality of NameBank. [more]
All data within these components are linked to mechanisms that provide credit and attribution to experts who provide name and linkage information within the TNS. [more]
Lastly, NameBank promotes the emergence of a layered biological informatics infrastructure that allows different expert systems to share common information. This conserves scarce resources and enhances the means to support continued expert work. [more]
blog comments powered by Disqus


XGAPI
Sophos XG API
Tags
Table of Contents
- $config : Config
- $config : Config
- __construct() : mixed
- Constructor takes care of checking and registering firewall's configuration information.
- get() : array<string|int, mixed>
- Method to retrieve data from the firewall.
- remove() : bool
- Method to remove data on the firewall.
- set() : bool
- Method to set data on the firewall.
- curlRequest() : array<string|int, mixed>
- Method to request the firewall's API using curl library.
Properties
$config
public
Config
$config
Config object with all needed information.
$config
private
Config
$config
Methods
__construct()
Constructor takes care of checking and registering firewall's configuration information.
public
__construct(Config $config) : mixed
Parameters
- $config : Config
-
Object containing all necessary configuration.
Return values
mixed —get()
Method to retrieve data from the firewall.
public
get(array<string|int, mixed> $entities) : array<string|int, mixed>
Parameters
- $entities : array<string|int, mixed>
-
One or several Sophos XG firewall entities. See API documentation. Those entities can be the key of an array of filter, if it is only a string then there is no filter on this entity. Each filter is an array where the first element must be the name of the element on which we filter, second element is the type of comparison ('=', '!=' or 'like'), third element is the value of the filter. E.g. ['entity1' => [['Name', '=', 'First entity'], ['IPv4', '!=', '<IP_ADDRESS>']], 'entity2' => [['Name', 'like', 'Second entity']]]
Return values
array<string|int, mixed> —PHP array of entities containing array of results.
remove()
Method to remove data on the firewall.
public
remove(array<string|int, mixed> $entities) : bool
Parameters
- $entities : array<string|int, mixed>
-
One or several Sophos XG firewall entities. See API documentation. Each entities is an array of the entity's name to remove e.g. ['IPHost'=>['OBJ_TEST', 'OBJ_TEST2'], 'QoSPolicy'=>['SHP_TST']]
Return values
bool —Request status.
set()
Method to set data on the firewall.
public
set(array<string|int, mixed> $entities) : bool
Parameters
- $entities : array<string|int, mixed>
-
One or several Sophos XG firewall entities. See API documentation. Each entities is an array of the entity's properties to declare e.g. ['IPHost'=> [['Name'=>'IP_TEST', 'IPFamily'=>'IPv4', 'HostType'=>'IP', 'HostGroupList'=>['HostGroup'=>'GBL_IP-GRP_SIE'], 'IPAddress'=>'<IP_ADDRESS>', 'Subnet'=>'<IP_ADDRESS>'], ['Name'=>'IP_TEST2', 'IPFamily'=>'IPv4', 'HostType'=>'IP', 'HostGroupList'=>['HostGroup'=>'GBL_IP-GRP_SIE'], 'IPAddress'=>'<IP_ADDRESS>', 'Subnet'=>'<IP_ADDRESS>'] ], 'QoSPolicy'=>[['Name'=>'QOS_TEST', 'PolicyBasedOn'=>'FirewallRule', 'BandwidthUsageType'=>'Shared', 'ImplementationOn'=>'Total', 'PolicyType'=>'Strict', 'Priority'=>'Normal4', 'TotalBandwidth'=>'6875'] ] ]
Return values
bool —Request status.
curlRequest()
Method to request the firewall's API using curl library.
private
curlRequest(DOMDocument $xml) : array<string|int, mixed>
Parameters
- $xml : DOMDocument
-
DOMDocument object containing the request core without login information. The document first element must be "Get", "Set" or "Remove".
Return values
array<string|int, mixed> —Firewall's raw XML response as a PHP array.


Demo of pushing to Sparkfun Cloud
Location data is fetched from user device. Temperature, humidity and pressure from something else.
responseText
responseText as JSON
Latitude
Longitude
Send to cloud
Get location


|
|
def | Direction_Name |
| |
|
def | __init__ |
| |
|
def | property |
| |
|
def | mutable_property |
| |
|
def | clear_property |
| |
|
def | has_property |
| |
|
def | direction |
| |
|
def | set_direction |
| |
|
def | clear_direction |
| |
|
def | has_direction |
| |
|
def | MergeFrom |
| |
|
def | ParseASCII |
| |
|
def | ParseASCIIIgnoreUnknown |
| |
|
def | Equals |
| |
|
def | IsInitialized |
| |
|
def | ByteSize |
| |
|
def | ByteSizePartial |
| |
|
def | Clear |
| |
|
def | OutputUnchecked |
| |
|
def | OutputPartial |
| |
|
def | TryMerge |
| |
|
def | __str__ |
| |
|
|
| property_ |
| |
|
| has_property_ |
| |
|
| has_direction_ |
| |
|
| direction_ |
| |
|
|
int | ASCENDING = 1 |
| |
|
int | DESCENDING = 2 |
| |
|
tuple | Direction_Name = classmethod(Direction_Name) |
| |
|
int | has_property_ = 0 |
| |
|
int | has_direction_ = 0 |
| |
|
int | direction_ = 1 |
| |
|
int | kproperty = 1 |
| |
|
int | kdirection = 2 |
| |
The documentation for this class was generated from the following file:
- code/googleappengine-read-only/python/google/appengine/datastore/datastore_v4_pb.py


{% extends "base.html" %} {% load staticfiles %} {% block mainbody %}
VODA provides users with a unique set of tools to optimize different segments of fluids management in the shale oil and gas industry. These tools were developed in accordance with current industry operations as part of a project jointly funded by the U.S Department of Energy and Noble Energy as part of the Research Partnership to Secure Energy for America.
This analyzer is an tool based on GIS techniques, which provides a new way to see the traditional data. Right now, it helps to visualize the water use data of different fractured wells, as well as create a heatmap based on the well density. People can look into the the well distribution and the attribute of the wells directly on map.
This optimizer is an interactive tool designed to optimize the route for produced water transportation. An optimized route will help to minimize the cost and save time.


Deletes a remote branch.
git push -d <remote> <branch>
<branch>
<remote>
git checkout master git push -d origin patch-1 # Deletes the `patch-1` remote branch


The APP software requires a number of settings. These settings are provided in environment variables in Docker files when deploying the APP containers.
Additional configuration files contained in other subdirectories are used internally and must not be changed.
You need to adapt the settings in the files above to your environment. In particular, server names, ports, paths, user IDs, and passwords require adaptation.
Proceed as follows to view and adjust the configuration settings:
Observe the following configuration issues:


This example demonstrates the usage of the SDK's oEmbed method.
It will embed a widget for the given URL and log the HTML code.


{% extends "layout.html" %} {% block content %} Dream of speaking like a native? Scott.ai is your English teacher that focuses on helping you improve your speaking abilities. GET STARTED Already talking to Scott? Log In How it works? Take online assessment survey Scott will make you a personalized plan Everyday, Scott will ask you questions Record to answer them Scott will give you feedback to help you improve Try it for free Already talking to Scott? Log In GET STARTED {% endblock %}
Already talking to Scott? Log In
Take online assessment survey
Scott will make you a personalized plan
Everyday, Scott will ask you questions
Record to answer them
Scott will give you feedback to help you improve


The 10 Greatest Basketball Players of All Time | Britannica.com https://www.britannica.com/list/the-10-greatest-basketball-players-of-all-time Unless you agree with me, in which case this was the most meaningful thing I've ever written. 10Kareem Abdul-Jabbar. 9Tim Duncan. 8Shaquille O'Neal. 7Larry Bird. 6Bill Russell. 5Oscar Robertson. 4Wilt Chamberlain. 3Magic Johnson. ESPN Has Lied To You: Ten Reasons Michael Jordan Is Not the ... zoomtens.com › Culture › Entertainment › Sports Michael Jordan is widely considered to be one of the best NBA players of all time – on most people's lists, he is #1. And why not, right? With six championships ... Top 10 Greatest NBA Players of All Time Sporteology - Sporteology.com sporteology.com › Sports Top 10 Lists Here's our very own list of the top 10 Greatest players to ever play the game with a few honorable mentions. This list includes the best players in NBA history ... SLAM 500 Greatest NBA Players of All Time | Basketball-Reference.com www.basketball-reference.com/awards/slam_500_greatest.html SLAM 500 Greatest NBA Players of All Time. As selected in 2011 by SLAM magazine. The list excluded players who players who played fewer than five seasons ... 50 Greatest Players in NBA History | Basketball-Reference.com www.basketball-reference.com/awards/nba_50_greatest.html 50 Greatest Players in NBA History. As selected in 1996 by a blue-ribbon panel of media; former players and coaches; current and former general managers; ... NBA: The 5 Greatest Players of All Time By Position - The Cheat Sheet www.cheatsheet.com/sports/5-all-time-great-nba-basketball-players-by-position.html/?... Oct 30, 2016 - As basketball fans, we often simplify the meaning of greatness to a collection of these 5 names. These are the greatest players of all time by ...
Read MoreLid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis omnis fugats vitaes nemo minima rerums unsers sadips amets. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Read MoreLid est laborum dolo rumes fugats untras. Etharums ser quidem rerum facilis dolores nemis omnis fugats vitaes nemo minima rerums unsers sadips amets. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Read More


Post #1
Antonio, our Black Friday Sale is in full swing. And now you can change the way you work and play with up to £80 off the Galaxy Tab S range. Immerse yourself in productivity and creativity when inspiration strikes with the powerful Galaxy Tab S7, now from just £549. And with free delivery and flexible payment options, getting a Black Friday deal has never been easier. In case of doubts, please e-mail us!


The popular rookie idol has gained more popularity after a recent internet forum post showcased his amazing performance talents.
The compilation also included the fact that Yeonjun always received first place in dance, vocal, and rap at the monthly auditions during his four years as a trainee, which was revealed on an episode of 'Idol School'. The post includes a compilation of his dancing and singing performances, further solidifying his incredible talent and skill.
Netizens have been commenting on Yeonjun's title and his skills, stating:
"My visual preference goes towards other members but it's undeniable that he has performance skills. I just end up watching him."
"He's so good looking."
"He stands out on stage, definitely."
"He really does well. A lot of charm."
What do you think?


|
2DGameSDK
1.0
2D Game Engine in C++ based on SFML
|
Observable that triggers whenever a given Key is pressed. More...
#include <OnKeyPress.h>
Public Member Functions | |
| OnKeyPress (sf::Keyboard::Key key) | |
| Creates a new OnKeyPress Event. More... | |
| Public Member Functions inherited from game::Observable< sf::Keyboard::Key > | |
| Observable () | |
| Constructs a new Observable. More... | |
| virtual | ~Observable () |
| Destroys the Observable. More... | |
| virtual int | GetId () |
| Retreives the Id. More... | |
| int | Subscribe (Observer< sf::Keyboard::Key > *subscriber) |
| Register an Observer for this Observable. More... | |
| void | Unsubscribe (int id) |
| Unregister an Observer by it's unique subscription id. More... | |
| virtual void | Update () |
| Updates the observable i.e. verifies if the observable was triggered. If triggered, the callback function of all registered Observers is executed. More... | |
| Public Member Functions inherited from game::ObservableBase | |
| virtual | ~ObservableBase () |
| Destroys the Observable Base. More... | |
Additional Inherited Members |
Observable that triggers whenever a given Key is pressed.
| game::OnKeyPress::OnKeyPress | ( | sf::Keyboard::Key | key | ) |
Creates a new OnKeyPress Event.
| key | The key identifier from SFML |


fn:sum($srcval as xdt:anyAtomicType*) → xdt:anyAtomicType?
Function signature
|
$srcval |
xdt:anyAtomicType * |
|
Result |
xdt:anyAtomicType ? |
Implemented. In 7.4, works on all numeric types and returns the same type as the arguments. Not implemented for other addable types, e.g. duration. The new optional second parameter is not implemented. Changed in 7.8 to return integer 0 for an empty sequence, rather than double 0.0.
fn:sum($srcval as xdt:anyAtomicType*, $zero as xdt:anyAtomicType) → xdt:anyAtomicType?
Function signature
|
$srcval |
xdt:anyAtomicType * |
|
Result |
xdt:anyAtomicType ? |
** Not yet implemented **


Sign in
The page you are looking for was moved, removed, renamed or might never existed. You stumbled upon a broken link :(
Copyright 2014 © Themes Forces


{% if historylist %}
| Exam | Attempt | Start Time | End Time | Total Questions | Total Answered | Correct Answers | Score | |
|---|---|---|---|---|---|---|---|---|
| {{exam.examname}} | {{exam.attemptid}} | {{exam.start_time}} | {{exam.end_time}} | {{exam.total_questions}} | {{exam.answered_questions}} | {{exam.correctly_answered}} | {{exam.mark}} |
No Exam found.
{% endif %}


Curriculum vitae
Student
graduate
Male
Female
Other
Upload Reference material (recommendations)
Submit


Add New Reported Defect
HOME
This page should be used to add a new type of a defect. To add a new INSTANCE of a defect,
click here!
CRF
Defect Code
Subrule
Description
Repair Effort
MARGINAL
MINIMAL
MODERATE
SIGNIFICANT
MAJOR
Submit!


Choose type, Enter Cost and Area respectively
Area: {{partitions.sqft}} Sqft-
Cost: {{partitions.cost}} Rupees-
AirConditiond: {{partitions.type}}


Hamilton wins sixth world title, closes in on Schumacher record
Austin - Lewis Hamilton clinched his sixth world title, but not in the style he hoped for on Sunday when he finished second behind his triumphant Mercedes team-mate Valtteri Bottas in an eventful United States Grand Prix.
The 34-year-old Briton fought with ferocious determination to win from fifth on the grid, but was unable to resist the Finn, who started from pole and, with a two-stop strategy, had fresher tyres in the critical final laps.
After leading twice, Hamilton was passed by Bottas with three laps remaining and then resisted Red Bull's Max Verstappen to take his 150th podium finish and his 31st successive finish in the points.
It sealed his sixth title, leaving him one adrift of Michael Schumacher on seven.
Hamilton added the 2019 title to previous triumphs in 2008, 2014, 2015, 2017 and 2018.
"I can't believe it, thanks a lot," Hamilton said over the team radio as he moved out of a tie for five titles he held with Argentina's Juan-Manuel Fangio.
He added: "It's just overwhelming if I'm really honest. It was such a tough race today, Valtteri did a great job. As an athlete I feel as fresh as can be. We'll keep pushing for the rest of the season."
"I didn't know if it would be possible but I worked as hard as I could here with my team back at the factory. My mum, dad, step-mum and step-dad and my family are here and it's an honour to be here with six titles with those greats.
"My dad told me when I was like six or seven never to give up and that's kind of the family motto."
It was Bottas's fourth win of the season and the seventh of his career.
"It's a good win," said the Finn. "Personally, I failed on my target this year, but Lewis deserves it. He's had a good season."
Hamilton parked his Mercedes in a space "reserved for the champion" before leaping into the arms of his family and friends.
Verstappen finished third ahead of Charles Leclerc of Ferrari - some compensation to team boss Mattia Binotto on his 50th birthday following the early retirement, with broken suspension, of Sebastian Vettel - with Alex Albon fifth in the second Red Bull.
Daniel Ricciardo was sixth for Renault ahead of the two McLarens of Lando Norris and Carlos Sainz, Nico Hulkenberg in the second Renault and Toro Rosso's Daniil Kvyat.
On a perfect blue-skied day, the race began with an explosive rush uphill towards Turn One, Bottas taking full advantage of his pole position with a flawless start.
Behind him, Verstappen pulled alongside Vettel to take second while Hamilton followed and took advantage of both Ferraris.
"I must have damage," reported Vettel.
"I didn't hit anything, but I have under-steer like crazy."
By lap five, he had tumbled to seventh, but worse followed when his car's suspension failed, the right-rear collapsing as he went through Turn Nine.
Vettel's exit left Hamilton chasing Verstappen who pitted early, on lap 14, for a set of hard tyres.
One lap later, Bottas came in, also for hards, and Hamilton inherited the lead. The Finn was soon past Leclerc to claim second as the Silver Arrows led the field.
"Just be sensible," Red Bull warned Verstappen, who had a new rear wing fitted on the grid.
He was soon up to third in hot pursuit while Bottas, on fresh rubber, cut chunks of time from Hamilton's lead, reducing it from 15 seconds to 6.6 by lap 20.
Leclerc pitted from fourth on lap 21, but was held for 7.7 seconds as his crew struggled to fit his left rear wheel.
Like Hamilton, still nursing his original mediums, he was presumed to be on a one-stop strategy.
Hamilton was asked to pit on lap 24. "Box, box," said his engineer, but the driver said no.
"I want to go longer," he replied, ignoring a Mercedes team request.
A lap later, he was in and stationary for 2.4 seconds, re-joining third on hard tyres, 23 seconds behind Bottas and 15 in arrears to Verstappen.
Hamilton quickly clocked a fastest lap to his team's alarm, fearing tyre welfare.
Five laps later, Verstappen pitted again for mediums and re-joined third. Bottas followed one lap later, re-joining second ahead of the Dutchman as Hamilton led again, by ten seconds.
With 20 to go, it appeared to be all about tyre-wear for the leading trio.
With 12 laps to go, Bottas was 3.6 seconds behind Hamilton and six ahead of Verstappen.
Leclerc was a distant fourth, by 50 seconds. For Bottas, it was a tall order to catch the Englishman and even more to pass him without risking everything for Mercedes.
On lap 52, Bottas tried a pass, but Hamilton resisted and forced him wide.
A lap later and it was done, the Finn regaining his lead to leave Hamilton at the mercy of the rampant Verstappen - a threat he resisted.
United States Grand Prix results on Sunday:
1. Valtteri Bottas (FIN/Mercedes) 1 h 33:55.653, 2. Lewis Hamilton (GBR/Mercedes) at 4.148, 3. Max Verstappen (NED/Red Bull-Honda) 5.002, 4. Charles Leclerc (MON/Ferrari) 52.239, 5. Alexander Albon (THA/Red Bull-Honda) 1:18.038, 6. Daniel Ricciardo (AUS/Renault) 1:30.366, 7. Lando Norris (GBR/McLaren-Renault) 1:30.764, 8. Carlos Sainz Jr (ESP/McLaren-Renault) 1 lap, 9. Nico Hülkenberg (GER/Renault) 1 lap, 10. Daniil Kvyat (RUS/Toro Rosso-Honda) 1 lap, 11. Sergio Pérez (MEX/Racing Point-Mercedes) 1 lap, 12. Kimi Räikkönen (FIN/Alfa Romeo Racing-Ferrari) 1 lap, 13. Lance Stroll (CAN/Racing Point-Mercedes) 1 lap, 14. Antonio Giovinazzi (ITA/Alfa Romeo Racing-Ferrari) 1 lap, 15. Romain Grosjean (FRA/Haas-Ferrari) 1 lap, 16. Pierre Gasly (FRA/Toro Rosso-Honda) 1 lap, 17. George Russell (GBR/Williams-Mercedes) 2 laps, 18. Kevin Magnussen (DEN/Haas-Ferrari) 4 laps
Best lap: Charles Leclerc (MON/Ferrari) 1:36.169 on 44th lap
Did not finish: Sebastian Vettel (GER/Ferrari), Robert Kubica (POL/Williams), Kevin Magnussen (DEN/Haas-Ferrari)
World championship standings:
Drivers
1. Lewis Hamilton (GBR) 381 pts (CHAMPION), 2. Valtteri Bottas (FIN) 314, 3. Charles Leclerc (MON) 249, 4. Max Verstappen (NED) 235, 5. Sebastian Vettel (GER) 230, 6. Alexander Albon (THA) 84, 7. Carlos Sainz Jr (ESP) 80, 8. Pierre Gasly (FRA) 77, 9. Daniel Ricciardo (AUS) 46, 10. Sergio Pérez (MEX) 43, 11. Lando Norris (GBR) 41, 12. Nico Hülkenberg (GER) 37, 13. Daniil Kvyat (RUS) 35, 14. Kimi Räikkönen (FIN) 31, 15. Lance Stroll (CAN) 21, 16. Kevin Magnussen (DEN) 20, 17. Romain Grosjean (FRA) 8, 18. Antonio Giovinazzi (ITA) 4, 19. Robert Kubica (POL) 1
Constructors
1. Mercedes 695 pts (CHAMPIONS), 2. Ferrari 479, 3. Red Bull-Honda 366, 4. McLaren-Renault 121, 5. Renault 83, 6. Toro Rosso-Honda 65, 7. Racing Point-Mercedes 64, 8. Alfa Romeo Racing-Ferrari 35, 9. Haas-Ferrari 28, 10. Williams 1
Leading Formula One world title winners after Lewis Hamilton won his sixth championship on Sunday:
7: Michael Schumacher (GER) - 1994 (Benetton-Ford), 1995 (Benetton-Renault), 2000, 2001, 2002, 2003, 2004 (Ferrari)
6: Lewis Hamilton (GBR) - 2008 (McLaren-Mercedes), 2014, 2015, 2017, 2018, 2019 (Mercedes)
5: Juan Manuel Fangio (ARG, 1911–1995) - 1951 (Alfa Romeo), 1954 (Maserati/Mercedes-Benz), 1955 (Mercedes-Benz), 1956 (Ferrari), 1957 (Maserati)
4: Sebastian Vettel (GER) - 2010, 2011, 2012, 2013 (Red Bull-Renault)
4: Alain Prost (FRA) - 1985, 1986 (McLaren-Tag Porsche), 1989 (McLaren-Honda), 1993 (Williams-Renault)
3: Ayrton Senna (BRA) - 1988, 1990, 1991 (McLaren-Honda)
3: Nelson Piquet (BRA) - 1981 (Brabham-Ford), 1983 (Brabham-BMW), 1987 (Williams-Honda)
3: Niki Lauda (AUT) - 1975, 1977 (Ferrari), 1984 (McLaren-Tag Porsche)
3: Jackie Stewart (GBR) - 1969 (Matra-Ford), 1971, 1973 (Tyrrell-Ford)
3: Jack Brabham (AUS) - 1959, 1960 (Cooper-Climax), 1966 (Brabham)
Roll call of Formula One world champions after Lewis Hamilton secured his sixth title on Sunday (year, driver, nationality, team):
1950 Guiseppe Farina (ITA) Alfa Romeo
1951 Juan Manuel Fangio (ARG) Alfa Romeo
1952 Alberto Ascari (ITA) Ferrari
1953 Alberto Ascari (ITA) Ferrari
1954 Juan Manuel Fangio (ARG) Maserati, Mercedes
1955 Juan Manuel Fangio (ARG) Mercedes
1956 Juan Manuel Fangio (ARG) Ferrari
1957 Juan Manuel Fangio (ARG) Maserati
1958 Mike Hawthorn (ENG) Ferrari
1959 Jack Brabham (AUS) Cooper
1960 Jack Brabham (AUS) Cooper
1961 Phil Hill (USA) Ferrari
1962 Graham Hill (ENG) BRM
1963 Jim Clark (SCO) Lotus
1964 John Surtees (ENG) Ferrari
1965 Jim Clark (SCO) Lotus
1966 Jack Brabham (AUS) Brabham
1967 Denis Hulme (NZL) Brabham
1968 Graham Hill (ENG) Lotus
1969 Jackie Stewart (SCO) Matra
1970 Jochen Rindt (AUS) Lotus
1971 Jackie Stewart (SCO) Tyrrell
1972 Emerson Fittipaldi (BRA) Lotus
1973 Jackie Stewart (SCO) Tyrrell
1974 Emerson Fittipaldi (BRA) McLaren
1975 Niki Lauda (AUT) Ferrari
1976 James Hunt (ENG) McLaren
1977 Niki Lauda (AUT) Ferrari
1978 Mario Andretti (USA) Lotus
1979 Jody Scheckter (RSA) Ferrari
1980 Alan Jones (AUS) Williams
1981 Nelson Piquet (BRA) Brabham
1982 Keke Rosberg (FIN) Williams
1983 Nelson Piquet (BRA) Brabham
1984 Niki Lauda (AUT) McLaren
1985 Alain Prost (FRA) McLaren
1986 Alain Prost (FRA) McLaren
1987 Nelson Piquet (BRA) Williams
1988 Ayrton Senna (BRA) McLaren
1989 Alain Prost (FRA) McLaren
1990 Ayrton Senna (BRA) McLaren
1991 Ayrton Senna (BRA) McLaren
1992 Nigel Mansell (ENG) Williams
1993 Alain Prost (FRA) Williams
1994 Michael Schumacher (GER) Benetton
1995 Michael Schumacher (GER) Benetton
1996 Damon Hill (ENG) Williams
1997 Jacques Villeneuve (CAN) Williams
1998 Mika Hakkinen (FIN) McLaren
1999 Mika Hakkinen (FIN) McLaren
2000 Michael Schumacher (GER) Ferrari
2001 Michael Schumacher (GER) Ferrari
2002 Michael Schumacher (GER) Ferrari
2003 Michael Schumacher (GER) Ferrari
2004 Michael Schumacher (GER) Ferrari
2005 Fernando Alonso (ESP) Renault
2006 Fernando Alonso (ESP) Renault
2007 Kimi Raikkonen (FIN) Ferrari
2008 Lewis Hamilton (GBR) McLaren
2009 Jenson Button (GBR) Brawn
2010 Sebastian Vettel (GER) Red Bull
2011 Sebastian Vettel (GER) Red Bull
2012 Sebastian Vettel (GER) Red Bull
2013 Sebastian Vettel (GER) Red Bull
2014 Lewis Hamilton (GBR) Mercedes
2015 Lewis Hamilton (GBR) Mercedes
2016 Nico Rosberg (GER) Mercedes
2017 Lewis Hamilton (GBR) Mercedes
2018 Lewis Hamilton (GBR) Mercedes
2019 Lewis Hamilton (GBR) Mercedes


Before Change
if "tensors.json" in assets:
tensors_json = self._multiplexer.RetrievePluginAsset(
run, name, "tensors.json")
tensors = json.loads(tensors_json)
run_to_series[run] = tensors
else:
// The mapping should contain all runs among its keys.
run_to_series[run] = []
After Change
def index_impl(self):
mapping = self._multiplexer.PluginRunToTagToContent(metadata.PLUGIN_NAME)
return {
run: list(tag_to_content)
for (run, tag_to_content)
in six.iteritems(mapping)
}
@wrappers.Request.application
def tags_route(self, request):
index = self.index_impl()


You Have Been Blinded
A non-visual adventure game that uses a vibrating motor as its only source of feedback. The player navigates a "dungeon" of various tiles, blindly feeling the space only by vibration. On reaching special spaces, the player is transported back to their starting location
Made in collaboration with Jeff Thompson. Custom electronics and software. Source files here.


Turning Off Composer Display
-
NobodySpecial
I hate, hate, hate that Synergy now shows the composer's name next to the artist's name. How can I turn it off?
-
Greg Hurrell
You can't, but I plan to add the option.
https://wincent.com/a/support/bugs/show_bug.cgi?id=177
I am going to close this topic. Please post any further comments against the bug report above so that all material related to this issue is in the one spot.
Reply
This topic is now closed.


Xodo
My personal javascript library
In 2013 I worked on a project where it was necessary to have a javascript library with specific functionalities (neither more nor less), it needed to be crossbrowser and also work well in different browser versions. There were other requirements the library needed to keep, such as being light and fast. Obviously jQuery was my first choice.
Currently jQuery is used by 73.8% of all websites, that is the JavaScript library market share of 97.4%. By 2013 the percentage was not much different and jQuery 2.0 beta was being tested. You can read about that year's jQuery status at this link: https://blog.jquery.com/2013/01/14/the-state-of-jquery-2013/
After testing some javascript libraries, I decided to write my own little javascript library to work with along with Sizzle Js , which also belongs to jQuery. At the time Sizzle was working on v1.10.6-pre version and I developed my my library to work along with that version of Sizzle.
JQuery helped me a lot to understand how ECMA standardization worked and also about Isomorphic JavaScript that in that time was considerate as a future of web apps by Airbnb Engineering. So I started to develop Xodo, my personal javascript library, which was used in the project I was working on at the time.
This is the short list of features that have been implemented. You can use Xodo as a case study and / or apprenticeship, or if you want, you can also use it in some personal project but under your responsibility since I have recovered the library from my backup and have not made adjustments or improvements.
Element Methods
width() height() remove()
Style Methods
hasClass() addClass() removeClass() css() style()
DOM Manipulation methods
html() append() prepend()
Events handler
onload() ready() bindEvent() unbindEvent() resize()
Usage example
xdo(window).onload(function () { //Css xdo('#someElement').css({ background: '#f5f5f5', padding: '5px' }); // Click xdo('#someElement').bindEvent("click", function () { xdo('#someElement').css({ background: '#ff00ff' }); }); // xdoMatrix new xdoMatrix( elem, // accept just document.getElementBy('someid') [[300, 150, 'width']], // from 300 to 150 - width 650, // duration 'ease', // 'ease' default function(){} // callback ); });


Features
Help
Contact
Open Source
What's New
Sign In
Email Address
Password
Forgot your password?
Need Help?
Email Address
Return to sign in.
Need Help?
Your new password has been saved
Please
sign in here


Ilya Loshkarev<EMAIL_ADDRESS>SFEDU 2016
override func viewDidLoad(){
super.viewDidLoad()
myButton.backgroundColor = UIColor.blackColor()
myButton.tintColor = UIColor.whiteColor()
myButton.layer.cornerRadius = 6
}
Some basic properties of a view can be set in
the Interface Builder
class MyButton: UIButton {
func stylize(){
self.backgroundColor = UIColor.blackColor()
self.tintColor = UIColor.whiteColor()
self.layer.cornerRadius = 6
}
override init(frame: CGRect){
super.init(frame: frame)
stylize()
}
// ... required methods
}
You should get mixed results:
button will look the same in IB,
but look as expected in simulator
@IBDesignable
class MyButton: UIButton {
// The following is only executed in the IB
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
// IB tends to override some properties but not the others
self.backgroundColor = UIColor.blackColor()
// this is basically a hack to get the view to look properly
}
}
@IBDesignable
shows that class is suitable for instancing in
the Interface Builder
@IBDesignable
class MyButton: UIButton {
@IBInspectable var cornerRadius: CGFloat {
get{ return layer.cornerRadius }
set{ layer.cornerRadius = newValue }
}
}
@IBInspectable
allows property to be set from
the Interface Builder
@IBDesignable
class RoundButton: UIButton {
override func drawRect(rect: CGRect) {
var path = UIBezierPath(ovalInRect: rect)
// set fill color
bacgroundColor.setFill()
// fill previously defined path
path.fill()
}
}
All the drawing happens in the view's graphic context
// Create bitmap and make it current context
UIGraphicsBeginImageContext(view.frame.size)
// Copy image into current context
view.image?.draw(in: CGRect(origin: CGPoint.zero,
size: view.image?.size))
/* draw something */
// Return an image from current bitmap-based context
view.image = UIGraphicsGetImageFromCurrentImageContext()
// Remove current bitmap context
UIGraphicsEndImageContext()
Context contains drawing parameters
and all information needed to render the paint
All drawing happens in current graphics context
func drawLine(from fromPoint: CGPoint, to toPoint: CGPoint) {
// Create Path
let linePath = UIBezierPath()
linePath.moveToPoint(fromPoint)
linePath.addLineToPoint(toPoint)
// Set up context parameters
UIColor.blue.setStroke()
linePath.lineWidth = 10
linePath.lineCapStyle = .round
// Draw path in context
linePath.stroke()
}
Draw order is important
Paths are drawn on top of each other
override func draw(_ rect: CGRect) {
// Get view's current graphics context
if let context = UIGraphicsGetCurrentContext() {
let startPoint = CGPoint.zero
let endPoint = CGPoint(x:0, y:self.bounds.height)
// Draw gradient in context
context.drawLinearGradient(gradient!,
start: startPoint,
end: endPoint,
options: .drawsAfterEndLocation)
}
}
// Set up gradient colors
let colors = [startColor.cgColor, endColor.cgColor]
// Set up the color stops
let colorLocations:[CGFloat] = [0.0, 1.0]
// Set up the color space
let colorSpace = CGColorSpaceCreateDeviceRGB()
// Create the gradient object
let gradient = CGGradient(colorsSpace: colorSpace,
colors: colors as CFArray,
locations: colorLocations)
Every view has underlying CALayer
view.layer.contents = UIImage(named: "swift")?.CGImage
// Layers can have sublayers
let sublayer = CALayer()
sublayer.frame = CGRect(x: 50, y: 50, width: 100, height: 100)
sublayer.backgroundColor = UIColor.red.cgColor
view.layer.addSublayer(sublayer)
Layers are rendered by the GPU
// layer is read-only property of UIView
// we need to override it's type to change it
override class var layerClass: Swift.AnyClass {
// return Gradient Layer as view's layer type
get { return CAGradientLayer.self }
}
// Simple layer access
var gradientLayer: CAGradientLayer! {
return layer as! CAGradientLayer
}
override init(frame: CGRect) {
gradientLayer.colors = [startColor.cgColor, endColor.cgColor]
}
// Rotate view 180 degrees
UIView.animate( withDuration: 0.25, // length of animation in seconds
delay: 0.0, // animation start delay
options: [.curveLinear], // timing curve
animations: { // animation closure
view.transform = view.transform.rotated(by: CGFloat(M_PI))},
completion: { finished in // called after animation is complete
view.transform = CGAffineTransform.identity
})
Lineary interpolates values
of a view's properties for a given duration
Uses shortest pass between the values
(360° rotation does nothing)
You should never animate position properties
of a view with Auto Layout cnstraints
Defines how fast values change
Interpolates between user defined keyframes
// Rotate view 360 degrees
let duration = 1.0
UIView.animateKeyframes( withDuration: duration,
delay: 0.0,
options: [.calculationModeCubic], // interpolation method
animations: { /* define frames here */ }
)
// Rotate 360 degrees animations closure
let frames = 6
let angle = 2 * M_PI / Double(frames)
let frameDuration = duration / Double(frames)
for i in 0..<frames {
UIView.addKeyframe(
withRelativeStartTime: Double(i) * frameDuration,
relativeDuration: frameDuration,
animations: {
sender.transform = sender.transform.rotated(by: CGFloat(angle))
})
}
Each keyframe defines an animation
with its own delay and duration
// Create new animation for path property
var triangleAnimationLeft = CABasicAnimation(keyPath: "path")
// Set up start value
triangleAnimationLeft.fromValue = trianglePathSmall.CGPath
// Set up finish value
triangleAnimationLeft.toValue = trianglePathLeftExtension.CGPath
// Set up delay
triangleAnimationLeft.beginTime = 0.0
// Set up duration
triangleAnimationLeft.duration = 0.3
// Perfornm animation on a layer
triangleLayer.addAnimation(triangleAnimationLeft, forKey: nil)
Single triangle corner animation
// Create new animation for path property
var triangleAnimation = CAKeyframeAnimation(keyPath: "path")
triangleAnimation.values = [trianglePathSmall.CGPath, trianglePathLeftExtension.CGPath]
lineWidthAnimation.duration


To my Fab Academy 2017 final project, I’m thinking about to build traditional games automate + music box
This second week, we were asked to evaluate and select different 2D, 2.5D and 3D software, in order to visualize a possible final project
This week will be all about knowing how to make a PCB, that is a Printed Circuit Board, using a end mill, and then learning how to solder components on the board, to make a ISP
Design and 3D print an object that could not be made subtractively and 3D scan an object
This week the electronics design assignment is to redraw the Hello-World board and adding at least a Button and LED and check the design rules
This week the computer controlled machining assignment is to Make Something big, and learn how to use the CNC machine (Big Milling Machine)
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam viverra euismod odio, gravida pellentesque urna varius vitae.


Personal Thanks
I would like to thank you again, for reading this document, and for using Go2. I sincerely hope that Go2 makes your life just a tiny bit easier, and maybe makes getting things done just a little bit faster.
I thank my wife, for her support, for her encouragement, and for her understanding of why I needed to stay up to 2 A.M. writing code. Without her constantly being there for me, neither Farmdog Software, nor Go2 would exist.
I’d like to thank Jim Turner who I met through our local CocoaHeads chapter in Des Moines. Without his expert guidance, freely and generously given for months, Go2 would not be what it is today. Although Jim has moved away to California for bigger and better things, he remains a source of encouragement and enlightenment.
I would also like to thank Daniel Jalkut, developer of MarsEdit and founder of Red Sweater Software. He left an encouraging note on a blog post of mine. If I see you at WWDC, I’ll buy you a beer.


Cuda 5.0 introduces a new feature,Dynamic Parallelism [@dynamicParallelism] 39 that enable CUDA kernel to create new work, using the API to launch new kernel, perform device memory management, or library call (CUBLAS for instance) all without CPU involvement (see example code [code:dynamicParallelism] at page ). This effectively eliminates the superfluous back and forth communication between the GPU and CPU through nested kernel computations. The launching kernel is called the “parent”, and the new grid it launches the “child”. Child kernels may themselves launch work, creating a nested execution hierarchy40 and giving the possibility to easily exploit and port parallel nested algorithms or other constructs that do not fit a flat, single-level of parallelism. To be considered complete, a parent kernel all child grids created by its threads(whichever it is within the kernel) have completed, even if the programmer does not explicitly synchronize the threads the runtime guarantee synchronization between parent and all the childs ( see figure [dynamicparallelismParentChild] and [dynamicParallelismSynch]). In the example in figure [dynamicParallelismSynch] the kernel C will not be able to begin execution until kernel Z has completed, because from the point of view of C, kernels X,Y,Z are seen as part of B.
The same kind of coordination and synchronization holds between X,Y,Z, hence Y can’t begin the execution until X has returned. This allow the program flow can be handled “on GPU” within one single kernel without any memory exchange between GPU and CPU, and also allow hierarchical call to be written where data from a parent kernel is used to decide how to partition the next lower level of the hierarchy (see figure [dynamicparallelismParentChild]) .
Consistency of global memory access is not guarantees between child and parent, because as usual launches are asynchronous and it means that when a child grid is invoked it return immediately the control to the parent kernel, and the parent does not know when child is really executed. So it can not rely on any assumption about the concurrent execution of the child. There are just two point in the execution of a child grid when the memory is fully consistent with the parent:
when a child is invoked.
when the launching thread reaches a synchronization point.
Moreover childs and parent grid share the same global and constant memory, but as kernels, have different and private local registers and shared memory. It’s illegal to use a pointer to local or shared memory as an argument to a kernel launch.


class PagerAdapter : FragmentPagerAdapter
Adapter to map the childAddPost Fragments to the parent addPostFragment with tabs and a viewpager
PagerAdapter(fm: FragmentManager)
Adapter to map the childAddPost Fragments to the parent addPostFragment with tabs and a viewpager |
fun getCount(): Int
returns he count of tabs, which will always be 3 |
|
fun getItem(p0: Int): Fragment
adds the corresponding fragments to the tab |
|
fun getPageTitle(position: Int): CharSequence?
adds the corresponding name to the tab |


Before Change
// let us first prepare a task file
try:
job_text = interpolate(self.job_template, "${ }", runtime, env.sos_dict.get("CONFIG", {}))
except Exception as e:
raise ValueError("Failed to generate job file for task {}: {}".format(task_id, e))
// now we need to write a job file
After Change
// let us first prepare a task file
try:
job_text = cfg_interpolate(self.job_template, runtime)
except Exception as e:
raise ValueError("Failed to generate job file for task {}: {}".format(task_id, e))
// now we need to write a job file


open source blindness
Last updated: Jun 11, 2020
What if all of your software were free, like NVDA? What if the only thing asked of you by software makers was to donate or contribute?  In this article, I will explain what open source is, what it is currently used for, my experiences with it, and how you can make it better.
What is Open Source?
Open source is a splinter of the Free Software movement. The Free Software movement believes that everyone should be able to view a program’s code, and modify it if needed. The thing which sets open source apart is that it doesn’t mind working with companies which create closed source, or proprietary, software which cannot be modified or have its source code seen by the user.
When free and open source spokespeople talk about freedom, they mean free as in free speech, not as in free things. This talk of freedom upsets business, so the term “open source” is used instead. Much open source software is free of cost, with the developers asking for donation instead of demanding payment.
What is Open Source used for?
Open source software is just about everywhere, and often comes with a tightly knit community of users. Examples of open source in the blind community include NVDA, LibreOffice, Orca Screen Reader, Braille Blaster, Liblouis, and Emacspeak. Examples of closed source include JAWS for Windows, Narrator, VoiceOver, the latest version of TalkBack, Duxberry Braille translator, iOS, Windows, and plenty of apps you may have on your iPhone or Android phone.
Interestingly, some projects are a mixture of both. JAWS incorporates Liblouis for braille translation, and so do Narrator and VoiceOver. Apple uses plenty of open source tools: Python, command line shells, and many command line tools on MacOS. Microsoft makes BRLTTY and Liblouis available for download to interface with Narrator.
Linux, which founded many offshoots, is an entire operating system built on open source ideals. Blind people began customizing Linux for use with speech, and work is ongoing to make Linux an accessible operating system. This began with Vinux. It started up talking, something no other system had done before. One could use it with speech or braille, and used the eSpeak voices.
That operating system, or distribution of Linux as they are called, is now abandoned, not having been updated in years. Another project, Sonar Gnu Linux, also came and went. It was based on Arch Linux, and was my favorite distribution. People now use Talking Arch, or Tarch, if they are adventurous and Slint Linux if they aren’t. These are the most popular Linux distributions for those who are blind. If I’ve missed anything, let me know. Some distributions which were not made for the blind are also accessible. Fedora, Trisquel, Debian, and Ubuntu are also able to be installed, but the user must know the correct keyboard command to turn on the screen reader.
Most open source software can be found on Github. That’s where NVDA, Orca, and many other tools, even for the blind, are. But how reliable are these tools? What about the operating system? Could one get rid of Windows with this software founded on ideals?
My experiences with Open Source
Linux
Accessibility is a software issue, so the root of software, the operating system, will make or break any accessibility. My experiences with Linux began, mainly, with an old operating system called Vinux. I didn’t stick with it for long, and soon forgot about it, and it is now abandoned. Linux can run many different desktops, which give users the major system functions of accessing apps and system utilities. Gnome and Mate are accessible, just about everything else, for now, including KDE, isn’t. Vinux used Gnome 2, which is basically what Mate is now.
I came back to Linux for a short while with Sonar. I really liked it, but missed the games and speech options Windows had. I liked all the software that we have access to on Windows, and browsing the Internet with Linux wasn’t that good back then. I soon got into the Apple ecosystem with an iPhone and such, and already had a Mac for quite a while. Still, Linux called to me.
I’m never satisfied with the workflow I have. I always want to be more efficient, more quick, more capable in what I do. I always want better sound, even if 3D effects and virtual surround sound aren’t actually necessary or real. Like a sighted person wants great graphics, I want great sound. On Linux, there is a way to enable virtual surround sound, but it offers little reward, and much configuration, crackling in audio, and doesn’t augment stereo audio as options on other systems does. The Mac has a third-party option, Boom 3D, and Windows has Windows Sonic for Headphones. Both of these require nearly no configuration, augments much more audio, and only Boom 3D causes a bit of sluggishness.
I also want a faster way of doing things. Many keyboard shortcuts, letter navigation of items in lists and menus, and ways of only getting the information I want. I have much of this on the Mac, with the Mail app allowing me, through table navigation, to speed through subjects instead of having to hear the row titles and contents and all before what I really want to hear, and being able to go to the previous or next message in a thread without needing to close the window. Linux has some of this, but many times things are unclear, with Orca, the Linux screen reader, just speaking the items, and not what type of item it is. This is clear in the area of Audacious settings where you choose sound effects.
Even so, Linux has such an appeal to me. I have tried Fedora Linux, Slint, Ubuntu, Debian, Arch, and found that there is always something missing. Accessibility isn’t that good in the graphical interface, and much still takes a lot of configuring and asking the community. And I really hate asking for help.
Recently, the Mate desktop team has released a version with accessibility fixes. This is important, as many companies, like app developers, Apple, and Google, rarely share that there are accessibility fixes in minor updates, and don’t even share all the new features in major releases. This gives me some hope that the open source community at large just needs more blind people telling them about our needs.  Plus, everything in the open source moves slowly, and this is doubly true for open source assistive technology.
There are, however, blind people who use Linux, just as there are some in the blind community who use Android. In fact, there is an entire Linux Accessibility Site. However, the site does have links to abandoned software, and doesn’t link to all accessibility initiatives, like Stormux. Both Linux-a11y and Stormux ask for donations, so there is also duplicated effort and decentralization even in the blind Linux user community.
Now, I use a Mac. It contains enough open source technology to support Homebrew, a package manager. I can run Emacs, with Emacspeak on it, along with just about any command line program I’d use on Linux. The Mac’s graphical interface is good enough for mail and some web browsing, just not so good with Google Docs, and I can probably do anything on it that a Linux user can do.
And yet, sometimes, Linux calls to me still. VoiceOver isn’t the best screen reader out there, and Linux has the appeal of being run by people, not corporations. And yet, looking at the GNU accessibility statement, you’d think it was updated in 2006 or so. It may have been, which is a slap in the face for any accessibility advocate. The GNU project, with this statement, says to us that we’re only worth putting up a quick page, detailing the inaccessibility of old technologies and not maintaining it. It tells us that we’re a good poster to hang up in their trophy room of “people aided by our courageous stand for the minorities who desperately need our help,” but then discarded for the “community” to handle. After all, the GNU don’t know anything about helping the blind, do they? Can the GNU be expected to enforce accessibility among their projects? Doesn’t the government take care of the poor blind people? Blind people have their Vinux and Sonar, why not just use those? No, that is definitely not segregation, not at all!
Open Source Programs
I began using NVDA around high school. No one had ever heard of it at that point, in a day when people called all screen readers either “JAWS” or “Microsoft.” I’ve not stopped using it ever sense. Its features have grown, its users growing even faster. It now has a community of programmers, translators, and writers. It is, in my opinion, the most versatile Windows screen reader. JAWS still works okay for some things, like malformed spreadsheets, but for everything else on Windows, I use NVDA.
Braille Blaster is also a great project, making braille translation, embossing, and transcription free. I use it for translating EBooks into good, formatted braille files for reading on my iPhone using the BARD Mobile app. Now, I don’t even use Duxberry, even though it is provided on my work computer.
I’ve found that open source programs, built upon closed source operating systems, are the best compromise. NVDA, BrailleBlaster, TDSR, and many other tools built for the blind community run on Windows or Mac. Having a great foundation in accessibility makes all the difference for users.
How can You help?
Github, as stated earlier, is a hub of open source projects. One great thing about the service is that anyone can contribute. Just make an account, and you’re ready to help.
If you can program, you can collaborate by modifying code. If you try the software and find accessibility problems, you can tell developers about bugs or features that need fixing or adding. If you find a project you like, they may have a Patreon to which you can donate, or you can simply spread the word.
One large project which has become accessible through efforts of the blind reaching out is Retroarch. An issue was created asking for accessibility, and it was released in the very next version, and even more work is being done to make even more games accessible. Open source collaboration is great for even more than just programming. See projects I’m working on, all text, on the About page of my original blog.
Another bit of news is that GTK, a way for programs to be displayed and written, has had a Hackfest, where accessibility was extensively discussed. It is hoped that this means that accessibility will become a larger issue in Linux, and that blind people will one day be able to use Linux as confidently as they use Windows and Mac now.
Conclusion
As time goes by, I find myself drawn to open source. its promise of a better way of making software, the community of helpful people, and the freedom give me hope. While the Linux operating system does not come close to satisfying the hope I have for accessibility, programs and initiatives on top of Windows and Mac have thrived. While the poor accessibility statement of the GNU project shows that the community at large does not yet care much about accessibility, the community of blind people working for our own future, rather than that of a corporation, gives me hope of a bright future of digital accessibility for blind people.
What do you think, reader? Does open source call to you as well? Do you just use whatever system you’re given? Have you made peace with Linux’s shortcomings around accessibility? Please, let me know. I am glad to receive feedback. If you’d like, you may even suggest, via email or Twitter, articles for which you feel passionate about that need coverage. I will consider all that you send me, and thank you for reading.


Mean Squared Generator Loss
// pylint: disable=no-self-use
def forward(self, score_fake):
loss_fake = torch.mean(torch.sum(torch.pow(score_fake, 2), dim=[1, 2]))
return loss_fake
class HingeGLoss(nn.Module):
Mean Squared Generator Loss
// pylint: disable=no-self-use
def forward(self, score_fake):
loss_fake = F.mse_loss(score_fake, score_fake.new_ones(score_fake.shape))
return loss_fake
class HingeGLoss(nn.Module):