{% load static %}
Last updated: March 27, 2021
Please read this End-User License Agreement carefully before clicking the "I Agree" button, downloading or using Holdhand LTDA.
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.
For the purposes of this End-User License Agreement:
Agreement means this End-User License Agreement that forms the entire agreement between You and the Company regarding the use of the Application. This Agreement has been created with the help of the EULA Generator.
Application means the software program provided by the Company downloaded by You to a Device, named Holdhand LTDA
Company (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Holdhand LTDA.
Content refers to content such as text, images, or other information that can be posted, uploaded, linked to or otherwise made available by You, regardless of the form of that content.
Country refers to: Brazil
Device means any device that can access the Application such as a computer, a cellphone or a digital tablet.
Third-Party Services means any services or content (including data, information, applications and other products services) provided by a third-party that may be displayed, included or made available by the Application.
You means the individual accessing or using the Application or the company, or other legal entity on behalf of which such individual is accessing or using the Application, as applicable.
By clicking the "I Agree" button, downloading or using the Application, You are agreeing to be bound by the terms and conditions of this Agreement. If You do not agree to the terms of this Agreement, do not click on the "I Agree" button, do not download or do not use the Application.
This Agreement is a legal document between You and the Company and it governs your use of the Application made available to You by the Company.
The Application is licensed, not sold, to You by the Company for use strictly in accordance with the terms of this Agreement.
The Company grants You a revocable, non-exclusive, non-transferable, limited license to download, install and use the Application strictly in accordance with the terms of this Agreement.
The license that is granted to You by the Company is solely for your personal, non-commercial purposes strictly in accordance with the terms of this Agreement.
The Application may display, include or make available third-party content (including data, information, applications and other products services) or provide links to third-party websites or services.
You acknowledge and agree that the Company shall not be responsible for any Third-party Services, including their accuracy, completeness, timeliness, validity, copyright compliance, legality, decency, quality or any other aspect thereof. The Company does not assume and shall not have any liability or responsibility to You or any other person or entity for any Third-party Services.
You must comply with applicable Third parties' Terms of agreement when using the Application. Third-party Services and links thereto are provided solely as a convenience to You and You access and use them entirely at your own risk and subject to such third parties' Terms and conditions.
This Agreement shall remain in effect until terminated by You or the Company. The Company may, in its sole discretion, at any time and for any or no reason, suspend or terminate this Agreement with or without prior notice.
This Agreement will terminate immediately, without prior notice from the Company, in the event that you fail to comply with any provision of this Agreement. You may also terminate this Agreement by deleting the Application and all copies thereof from your Device or from your computer.
Upon termination of this Agreement, You shall cease all use of the Application and delete all copies of the Application from your Device.
Termination of this Agreement will not limit any of the Company's rights or remedies at law or in equity in case of breach by You (during the term of this Agreement) of any of your obligations under the present Agreement.
You agree to indemnify and hold the Company and its parents, subsidiaries, affiliates, officers, employees, agents, partners and licensors (if any) harmless from any claim or demand, including reasonable attorneys' fees, due to or arising out of your: (a) use of the Application; (b) violation of this Agreement or any law or regulation; or (c) violation of any right of a third party.
The Application is provided to You "AS IS" and "AS AVAILABLE" and with all faults and defects without warranty of any kind. To the maximum extent permitted under applicable law, the Company, on its own behalf and on behalf of its affiliates and its and their respective licensors and service providers, expressly disclaims all warranties, whether express, implied, statutory or otherwise, with respect to the Application, including all implied warranties of merchantability, fitness for a particular purpose, title and non-infringement, and warranties that may arise out of course of dealing, course of performance, usage or trade practice. Without limitation to the foregoing, the Company provides no warranty or undertaking, and makes no representation of any kind that the Application will meet your requirements, achieve any intended results, be compatible or work with any other software, applications, systems or services, operate without interruption, meet any performance or reliability standards or be error free or that any errors or defects can or will be corrected.
Without limiting the foregoing, neither the Company nor any of the company's provider makes any representation or warranty of any kind, express or implied: (i) as to the operation or availability of the Application, or the information, content, and materials or products included thereon; (ii) that the Application will be uninterrupted or error-free; (iii) as to the accuracy, reliability, or currency of any information or content provided through the Application; or (iv) that the Application, its servers, the content, or e-mails sent from or on behalf of the Company are free of viruses, scripts, trojan horses, worms, malware, timebombs or other harmful components.
Some jurisdictions do not allow the exclusion of certain types of warranties or limitations on applicable statutory rights of a consumer, so some or all of the above exclusions and limitations may not apply to You. But in such a case the exclusions and limitations set forth in this section 11 shall be applied to the greatest extent enforceable under applicable law. To the extent any warranty exists under law that cannot be disclaimed, the Company shall be solely responsible for such warranty.
Notwithstanding any damages that You might incur, the entire liability of the Company and any of its suppliers under any provision of this Agreement and your exclusive remedy for all of the foregoing shall be limited to the amount actually paid by You for the Application or through the Application.
To the maximum extent permitted by applicable law, in no event shall the Company or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profits, loss of data or other information, for business interruption, for personal injury, loss of privacy arising out of or in any way related to the use of or inability to use the Application, third-party software and/or third-party hardware used with the Application, or otherwise in connection with any provision of this Agreement), even if the Company or any supplier has been advised of the possibility of such damages and even if the remedy fails of its essential purpose.
Some states/jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to You.
If any provision of this Agreement is held to be unenforceable or invalid, such provision will be changed and interpreted to accomplish the objectives of such provision to the greatest extent possible under applicable law and the remaining provisions will continue in full force and effect.
Except as provided herein, the failure to exercise a right or to require performance of an obligation under this Agreement shall not effect a party's ability to exercise such right or require such performance at any time thereafter nor shall be the waiver of a breach constitute a waiver of any subsequent breach.
The Company does not make any warranties concerning the Application.
You represent and warrant that (i) You are not located in a country that is subject to the United States government embargo, or that has been designated by the United States government as a "terrorist supporting" country, and (ii) You are not listed on any United States government list of prohibited or restricted parties.
The Company reserves the right, at its sole discretion, to modify or replace this Agreement at any time. If a revision is material we will provide at least 30 days' notice prior to any new terms taking effect. What constitutes a material change will be determined at the sole discretion of the Company.
By continuing to access or use the Application after any revisions become effective, You agree to be bound by the revised terms. If You do not agree to the new terms, You are no longer authorized to use the Application.
The laws of the Country, excluding its conflicts of law rules, shall govern this Agreement and your use of the Application. Your use of the Application may also be subject to other local, state, national, or international laws.
The Agreement constitutes the entire agreement between You and the Company regarding your use of the Application and supersedes all prior and contemporaneous written or oral agreements between You and the Company.
You may be subject to additional terms and conditions that apply when You use or purchase other Company's services, which the Company will provide to You at the time of such use or purchase.
If you have any questions about this Agreement, You can contact Us:
By email<EMAIL_ADDRESS>By visiting this page on our website: http://localhost:8000
Last updated: March 27, 2021
Thank you for shopping at Holdhand LTDA.
If, for any reason, You are not completely satisfied with a purchase We invite You to review our policy on refunds and returns. This Return and Refund Policy has been created with the help of the Return and Refund Policy Generator.
The following terms are applicable for any products that You purchased with Us.
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.
For the purposes of this Return and Refund Policy:
Company (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Holdhand LTDA.
Goods refer to the items offered for sale on the Service.
Orders mean a request by You to purchase Goods from Us.
Service refers to the Website.
Website refers to Holdhand LTDA, accessible from http://localhost:8000
You means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.
You are entitled to cancel Your Order within 7 days without giving any reason for doing so.
The deadline for cancelling an Order is 7 days from the date on which You received the Goods or on which a third party you have appointed, who is not the carrier, takes possession of the product delivered.
In order to exercise Your right of cancellation, You must inform Us of your decision by means of a clear statement. You can inform us of your decision by:
By email<EMAIL_ADDRESS>By visiting this page on our website: http://localhost:8000
We will reimburse You no later than 14 days from the day on which We receive the returned Goods. We will use the same means of payment as You used for the Order, and You will not incur any fees for such reimbursement.
In order for the Goods to be eligible for a return, please make sure that:
The following Goods cannot be returned:
We reserve the right to refuse returns of any merchandise that does not meet the above return conditions in our sole discretion.
Only regular priced Goods may be refunded. Unfortunately, Goods on sale cannot be refunded. This exclusion may not apply to You if it is not permitted by applicable law.
You are responsible for the cost and risk of returning the Goods to Us. You should send the Goods at the following address:
all
We cannot be held responsible for Goods damaged or lost in return shipment. Therefore, We recommend an insured and trackable mail service. We are unable to issue a refund without actual receipt of the Goods or proof of received return delivery.
If the Goods were marked as a gift when purchased and then shipped directly to you, You'll receive a gift credit for the value of your return. Once the returned product is received, a gift certificate will be mailed to You.
If the Goods weren't marked as a gift when purchased, or the gift giver had the Order shipped to themselves to give it to You later, We will send the refund to the gift giver.
If you have any questions about our Returns and Refunds Policy, please contact us:
By email<EMAIL_ADDRESS>By visiting this page on our website: http://localhost:8000
Last updated: March 27, 2021
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.
For the purposes of this Disclaimer:
The information contained on the Service is for general information purposes only.
The Company assumes no responsibility for errors or omissions in the contents of the Service.
In no event shall the Company be liable for any special, direct, indirect, consequential, or incidental damages or any damages whatsoever, whether in an action of contract, negligence or other tort, arising out of or in connection with the use of the Service or the contents of the Service. The Company reserves the right to make additions, deletions, or modifications to the contents on the Service at any time without prior notice. This Disclaimer has been created with the help of the Disclaimer Generator.
The Company does not warrant that the Service is free of viruses or other harmful components.
The Service may contain links to external websites that are not provided or maintained by or in any way affiliated with the Company.
Please note that the Company does not guarantee the accuracy, relevance, timeliness, or completeness of any information on these external websites.
The information given by the Service is for general guidance on matters of interest only. Even if the Company takes every precaution to insure that the content of the Service is both current and accurate, errors can occur. Plus, given the changing nature of laws, rules and regulations, there may be delays, omissions or inaccuracies in the information contained on the Service.
The Company is not responsible for any errors or omissions, or for the results obtained from the use of this information.
The Company may use copyrighted material which has not always been specifically authorized by the copyright owner. The Company is making such material available for criticism, comment, news reporting, teaching, scholarship, or research.
The Company believes this constitutes a "fair use" of any such copyrighted material as provided for in section 107 of the United States Copyright law.
If You wish to use copyrighted material from the Service for your own purposes that go beyond fair use, You must obtain permission from the copyright owner.
The Service may contain views and opinions which are those of the authors and do not necessarily reflect the official policy or position of any other author, agency, organization, employer or company, including the Company.
Comments published by users are their sole responsibility and the users will take full responsibility, liability and blame for any libel or litigation that results from something written in or as a direct result of something written in a comment. The Company is not liable for any comment published by users and reserve the right to delete any comment for any reason whatsoever.
The information on the Service is provided with the understanding that the Company is not herein engaged in rendering legal, accounting, tax, or other professional advice and services. As such, it should not be used as a substitute for consultation with professional accounting, tax, legal or other competent advisers.
In no event shall the Company or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever arising out of or in connection with your access or use or inability to access or use the Service.
All information in the Service is provided "as is", with no guarantee of completeness, accuracy, timeliness or of the results obtained from the use of this information, and without warranty of any kind, express or implied, including, but not limited to warranties of performance, merchantability and fitness for a particular purpose.
The Company will not be liable to You or anyone else for any decision made or action taken in reliance on the information given by the Service or for any consequential, special or similar damages, even if advised of the possibility of such damages.
If you have any questions about this Disclaimer, You can contact Us:
By email<EMAIL_ADDRESS>By visiting this page on our website: http://localhost:8000
Last updated: March 27, 2021
This Cookies Policy explains what Cookies are and how We use them. You should read this policy so You can understand what type of cookies We use, or the information We collect using Cookies and how that information is used. This Cookies Policy has been created with the help of the Cookies Policy Generator.
Cookies do not typically contain any information that personally identifies a user, but personal information that we store about You may be linked to the information stored in and obtained from Cookies. For further information on how We use, store and keep your personal data secure, see our Privacy Policy.
We do not store sensitive personal information, such as mailing addresses, account passwords, etc. in the Cookies We use.
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.
For the purposes of this Cookies Policy:
Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close your web browser.
We use both session and persistent Cookies for the purposes set out below:
Necessary / Essential Cookies
Type: Session Cookies
Administered by: Us
Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.
Functionality Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.
If You prefer to avoid the use of Cookies on the Website, first You must disable the use of Cookies in your browser and then delete the Cookies saved in your browser associated with this website. You may use this option for preventing the use of Cookies at any time.
If You do not accept Our Cookies, You may experience some inconvenience in your use of the Website and some features may not function properly.
If You'd like to delete Cookies or instruct your web browser to delete or refuse Cookies, please visit the help pages of your web browser.
For the Chrome web browser, please visit this page from Google: https://support.google.com/accounts/answer/32050
For the Internet Explorer web browser, please visit this page from Microsoft: http://support.microsoft.com/kb/278835
For the Firefox web browser, please visit this page from Mozilla: https://support.mozilla.org/en-US/kb/delete-cookies-remove-info-websites-stored
For the Safari web browser, please visit this page from Apple: https://support.apple.com/guide/safari/manage-cookies-and-website-data-sfri11471/mac
For any other web browser, please visit your web browser's official web pages.
You can learn more about cookies: Cookies: What Do They Do?.
If you have any questions about this Cookies Policy, You can contact us:
By email<EMAIL_ADDRESS>By visiting this page on our website: http://localhost:8000
Last updated: March 27, 2021
Please read these terms and conditions carefully before using Our Service.
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.
For the purposes of these Terms and Conditions:
Affiliate means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.
Country refers to: Brazil
Company (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Holdhand LTDA.
Device means any device that can access the Service such as a computer, a cellphone or a digital tablet.
Service refers to the Website.
Terms and Conditions (also referred as "Terms") mean these Terms and Conditions that form the entire agreement between You and the Company regarding the use of the Service. This Terms and Conditions agreement has been created with the help of the Terms and Conditions Generator.
Third-party Social Media Service means any services or content (including data, information, products or services) provided by a third-party that may be displayed, included or made available by the Service.
Website refers to Holdhand LTDA, accessible from http://localhost:8000
You means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.
These are the Terms and Conditions governing the use of this Service and the agreement that operates between You and the Company. These Terms and Conditions set out the rights and obligations of all users regarding the use of the Service.
Your access to and use of the Service is conditioned on Your acceptance of and compliance with these Terms and Conditions. These Terms and Conditions apply to all visitors, users and others who access or use the Service.
By accessing or using the Service You agree to be bound by these Terms and Conditions. If You disagree with any part of these Terms and Conditions then You may not access the Service.
You represent that you are over the age of 18. The Company does not permit those under 18 to use the Service.
Your access to and use of the Service is also conditioned on Your acceptance of and compliance with the Privacy Policy of the Company. Our Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your personal information when You use the Application or the Website and tells You about Your privacy rights and how the law protects You. Please read Our Privacy Policy carefully before using Our Service.
Our Service may contain links to third-party web sites or services that are not owned or controlled by the Company.
The Company has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that the Company shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with the use of or reliance on any such content, goods or services available on or through any such web sites or services.
We strongly advise You to read the terms and conditions and privacy policies of any third-party web sites or services that You visit.
We may terminate or suspend Your access immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these Terms and Conditions.
Upon termination, Your right to use the Service will cease immediately.
Notwithstanding any damages that You might incur, the entire liability of the Company and any of its suppliers under any provision of this Terms and Your exclusive remedy for all of the foregoing shall be limited to the amount actually paid by You through the Service or 100 USD if You haven't purchased anything through the Service.
To the maximum extent permitted by applicable law, in no event shall the Company or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profits, loss of data or other information, for business interruption, for personal injury, loss of privacy arising out of or in any way related to the use of or inability to use the Service, third-party software and/or third-party hardware used with the Service, or otherwise in connection with any provision of this Terms), even if the Company or any supplier has been advised of the possibility of such damages and even if the remedy fails of its essential purpose.
Some states do not allow the exclusion of implied warranties or limitation of liability for incidental or consequential damages, which means that some of the above limitations may not apply. In these states, each party's liability will be limited to the greatest extent permitted by law.
The Service is provided to You "AS IS" and "AS AVAILABLE" and with all faults and defects without warranty of any kind. To the maximum extent permitted under applicable law, the Company, on its own behalf and on behalf of its Affiliates and its and their respective licensors and service providers, expressly disclaims all warranties, whether express, implied, statutory or otherwise, with respect to the Service, including all implied warranties of merchantability, fitness for a particular purpose, title and non-infringement, and warranties that may arise out of course of dealing, course of performance, usage or trade practice. Without limitation to the foregoing, the Company provides no warranty or undertaking, and makes no representation of any kind that the Service will meet Your requirements, achieve any intended results, be compatible or work with any other software, applications, systems or services, operate without interruption, meet any performance or reliability standards or be error free or that any errors or defects can or will be corrected.
Without limiting the foregoing, neither the Company nor any of the company's provider makes any representation or warranty of any kind, express or implied: (i) as to the operation or availability of the Service, or the information, content, and materials or products included thereon; (ii) that the Service will be uninterrupted or error-free; (iii) as to the accuracy, reliability, or currency of any information or content provided through the Service; or (iv) that the Service, its servers, the content, or e-mails sent from or on behalf of the Company are free of viruses, scripts, trojan horses, worms, malware, timebombs or other harmful components.
Some jurisdictions do not allow the exclusion of certain types of warranties or limitations on applicable statutory rights of a consumer, so some or all of the above exclusions and limitations may not apply to You. But in such a case the exclusions and limitations set forth in this section shall be applied to the greatest extent enforceable under applicable law.
The laws of the Country, excluding its conflicts of law rules, shall govern this Terms and Your use of the Service. Your use of the Application may also be subject to other local, state, national, or international laws.
If You have any concern or dispute about the Service, You agree to first try to resolve the dispute informally by contacting the Company.
If You are a European Union consumer, you will benefit from any mandatory provisions of the law of the country in which you are resident in.
You represent and warrant that (i) You are not located in a country that is subject to the United States government embargo, or that has been designated by the United States government as a "terrorist supporting" country, and (ii) You are not listed on any United States government list of prohibited or restricted parties.
If any provision of these Terms is held to be unenforceable or invalid, such provision will be changed and interpreted to accomplish the objectives of such provision to the greatest extent possible under applicable law and the remaining provisions will continue in full force and effect.
Except as provided herein, the failure to exercise a right or to require performance of an obligation under this Terms shall not effect a party's ability to exercise such right or require such performance at any time thereafter nor shall be the waiver of a breach constitute a waiver of any subsequent breach.
These Terms and Conditions may have been translated if We have made them available to You on our Service. You agree that the original English text shall prevail in the case of a dispute.
We reserve the right, at Our sole discretion, to modify or replace these Terms at any time. If a revision is material We will make reasonable efforts to provide at least 30 days' notice prior to any new terms taking effect. What constitutes a material change will be determined at Our sole discretion.
By continuing to access or use Our Service after those revisions become effective, You agree to be bound by the revised terms. If You do not agree to the new terms, in whole or in part, please stop using the website and the Service.
If you have any questions about these Terms and Conditions, You can contact us:
Last updated: March 27, 2021
This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.
We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy. This Privacy Policy has been created with the help of the Privacy Policy Generator.
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.
For the purposes of this Privacy Policy:
Account means a unique account created for You to access our Service or parts of our Service.
Company (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to HoldHand LTDA.
Cookies are small files that are placed on Your computer, mobile device or any other device by a website, containing the details of Your browsing history on that website among its many uses.
Country refers to: Brazil
Device means any device that can access the Service such as a computer, a cellphone or a digital tablet.
Personal Data is any information that relates to an identified or identifiable individual.
Service refers to the Website.
Service Provider means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used.
Third-party Social Media Service refers to any website or any social network website through which a User can log in or create an account to use the Service.
Usage Data refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).
Website refers to HoldHand LTDA, accessible from http://localhost:8000
You means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.
While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to contact or identify You. Personally identifiable information may include, but is not limited to:
Email address
First name and last name
Phone number
Address, State, Province, ZIP/Postal code, City
Usage Data
Usage Data is collected automatically when using the Service.
Usage Data may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
When You access the Service by or through a mobile device, We may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data.
We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device.
The Company allows You to create an account and log in to use the Service through the following Third-party Social Media Services:
If You decide to register through or otherwise grant us access to a Third-Party Social Media Service, We may collect Personal data that is already associated with Your Third-Party Social Media Service's account, such as Your name, Your email address, Your activities or Your contact list associated with that account.
You may also have the option of sharing additional information with the Company through Your Third-Party Social Media Service's account. If You choose to provide such information and Personal Data, during registration or otherwise, You are giving the Company permission to use, share, and store it in a manner consistent with this Privacy Policy.
We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service. The technologies We use may include:
Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on Your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close Your web browser. Learn more about cookies: Cookies: What Do They Do?.
We use both Session and Persistent Cookies for the purposes set out below:
Necessary / Essential Cookies
Type: Session Cookies
Administered by: Us
Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.
Cookies Policy / Notice Acceptance Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies identify if users have accepted the use of cookies on the Website.
Functionality Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.
For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or the Cookies section of our Privacy Policy.
The Company may use Personal Data for the following purposes:
To provide and maintain our Service, including to monitor the usage of our Service.
To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.
For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.
To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.
To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.
To manage Your requests: To attend and manage Your requests to Us.
For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.
For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.
We may share Your personal information in the following situations:
The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.
Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.
Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.
The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.
If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.
Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).
The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:
The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.
Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13.  If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.
If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.
Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.
We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.
If you have any questions about this Privacy Policy, You can contact us:


Produces a rendered view that must be connected to a UIShell, UIframe or UIpanel to make it visible. The view is not interactive but will always Reset, Normalize and Centre any new object.
Input Ports
For the "View3DMinimal"
Name Type Description Top child_obj a renderable 3D object parent UIconnection connects the rendered view to a UI object so it can be displayed. For the "View2DMinimal"
Name Type Description Top child_obj a renderable 2D object parent UIconnection connects the rendered view to a UI object so it can be displayed. For the "View2DMinimal"
Name Type Description Top child_obj a renderable 3D object Top2D child_obj a renderable 2D object parent UIconnection connects the rendered view to a UI object so it can be displayed. Description
Reducing the object count of an application is the thing most likely to speed up the loading and running of an application. This is one of a library of utility macros designed to reduce the object count.
These are all AVS/Express macros which as such require no compilation. Most applications are produced with AVS/Express Developers Edition and these macros also require AVS/Express Developers Edition. They contain no UI so that the developer has as much freedom as possible.
Any Viewer has a high object count because it has a high level of functionality. If the functionality is reduced to the minimum requirement then the object count is kept as low as possible. This is a minimal viewer that just displays the rendered object with no interactivity. The settings of the viewer may be customised by hand before it is used.
The size of the scene is altered by altering the values width and height in the subobject UIrenderView, this can be done with absolute values or relative values written in v.
Input Ports
As aboveUtility Macros
This macro can be connected into the AVS/Express standard macros DataObject, DataObjectNoTexture and DataObjectLite as well as the other altered DataObject given in this utility library.Example
An example application EgViewLite is provided, which shows a minimal viewer being used to show orthoslices (with a HotMetal Datamap) which are also being manipulated in other views.
This example also demonstrates the use of DataObjects altered to have a set Datamap and how ViewersLite can be used.
Files
xp_comm_proj/viewlite/vl_macs.v contains all of the minimal viewers (View3DMinimal, View2DMinimal, ViewMinimal) as well as all the DataObject macros (eg DO_GreyScale), DO_Dmap_Switch, DO_NT_Dmap_Switch, DO_LITE_Dmap_Switch, View3D_TrackObj, View3D_TrackAll3, View2D_TrackObj, View2D_TrackAll3, View_TrackObj, View_TrackAll3 and an example EgViewLite.Other Notes
The macros can be acessed through the XP_COMM_PROJ library in the Templates library or through one of four libraries DataObjects_apps, Views3DLite, Views2DLite and UViewsLite all of which are in the Misc sub-library IAC library area.
The example EgViewLite can also be acessed through the IAC library but is located in the Examples sub-library.
Authors
J Leng Manchester Visualization CentreModifications
Paul G. LeverSee Also
DataObject, the DataObjects "DO_", "DO_NT_" and "DO_LITE_", the DataObjects "_Dmap_Switch", and the viewers lite 3D, 2D and Universal "Minimal", "_TrackObj" and "_TrackAll3".


|
Groovy 2.1.7 | |||||||
| PREV NEXT | FRAMES NO FRAMES |
Terms:
Features:
For an extensive list of usages see the unit tests in this package.
| Class Summary | |
|---|---|
| CallSpec | |
| Demand | The object that registers method calls on it for the use with Mocks and Stubs. |
| Ignore | Helper object to support convenience "ignore.methodName" notation similar to demand notation. |
| LooseExpectation | Expects demanded call cardinalities to match demanded ranges. |
| MockFor | MockFor supports (typically unit) testing of classes in isolation by allowing a strictly ordered expectation of the behavior of collaborators to be defined. |
| MockInterceptor | Intercepting calls to the collaborating object and notify the expectation object. |
| MockProxyMetaClass | The ProxyMetaClass for the MockInterceptor. |
| StrictExpectation | Expects demanded call cardinalities to match demanded ranges in the sequence of recording. |
| StubFor | StubFor supports (typically unit) testing of classes in isolation by allowing a loosely-ordered expectation of the behavior of collaborators to be defined. |
Copyright © 2003-2013 The Codehaus. All rights reserved.


Client request:
GET /index.php HTTP/1.1 Host: www.example.org
Server response:
HTTP/1.1 301 Moved Permanently Location: http://www.example.org/index.asp
301 tells the browser that the resource at the uri has been changed permanently to the new location specified by the value of the 'Location' response header. The browser makes a new request and subsequently the browser will NOT make another request to the original link. Even if manually typed in the address bar by the user, in this case http://www.example.org/index.php, the browser will always make the call to http://www.example.org/index.asp
The HTTP response status code 301 Moved Permanently is used for permanent URL redirection, meaning current links or records using the URL that the response is received for should be updated. The new URL should be provided in the Location field included with the response. The 301 redirect is considered a best practice for upgrading users from HTTP to HTTPS. RFC 2616 states that: If the 301 status code is received in response to a request of any type other than GET or HEAD, the client must ask the user before redirecting.
Client request:
GET /index.html HTTP/1.1 Host: www.example.com
Server response:
HTTP/1.1 302 Found Location: http://www.iana.org/domains/example/
302 tells the browser that the resource at the uri has been changed temporarily. The browser will redirect to the new location this time ONLY. The next time a request comes to the original uri, the browser will in fact hit the original uri.
The HTTP response status code 302 Found is a common way of performing URL redirection. An HTTP response with this status code will additionally provide a URL in the 'Location' header field. The user agent (e.g. a web browser) is invited by a response with this code to make a second, otherwise identical, request to the new URL specified in the location field. The HTTP/1.0 specification (RFC 1945) initially defined this code, and gives it the description phrase "Moved Temporarily".
Many web browsers implemented this code in a manner that violated this standard, changing the request type of the new request to GET, regardless of the type employed in the original request (e.g. POST). For this reason, HTTP/1.1 (RFC 2616) added the new status codes 303 and 307 to disambiguate between the two behaviours, with 303 mandating the change of request type to GET, and 307 preserving the request type as originally sent. Despite the greater clarity provided by this disambiguation, the 302 code is still employed in web frameworks to preserve compatibility with browsers that do not implement the HTTP/1.1 specification.
The update of RFC 2616 changes the definition to allow user agents to rewrite POST to GET.
Client request:
POST / HTTP/1.1 Host: www.example.com
Server response:
HTTP/1.1 303 See Other Location: http://example.org/other
303 is almost as the same as 302, the only difference being that it tells the browser to make the second request and use the GET verb so even a POST will be converted to a GET
The HTTP response status code 303 "See Other" is a way to redirect web applications to a new URI, particularly after a HTTP POST has been performed, since RFC 2616 (HTTP 1.1).
According to RFC 7231, which obsoletes RFC 2616, "A 303 response to a GET request indicates that the origin server does not have a representation of the target resource that can be transferred by the server over HTTP. However, the Location field value refers to a resource that is descriptive of the target resource, such that making a retrieval request on that other resource might result in a representation that is useful to recipients without implying that it represents the original target resource."
This status code should be used with the location header, as described below. If a server responds to a POST or other non-idempotent request with a 303 See Other response and a value for the location header, the client is expected to obtain the resource mentioned in the location header using the GET method; to trigger a request to the target resource using the same method, the server is expected to provide a 307 Temporary Redirect response.
Daniel (paraphrased): "Good for using once you have processed a form submitted by POST method, and now that the form has been processed, redirect to a new URL using the GET method."
Client request:
POST / HTTP/1.1 Host: www.example.com
Server response:
HTTP/1.1 307 Temporary Redirect Location: http://example.org/other
This is the same as 302 except it tells the browser that the next request should be made with the same verb as the original, in this case POST. In other words, even a POST to the original link, should redirected by a POST to the new link.
Daniel (paraphrased): "If you use this to redirect and the method was POST, then you redirect to the 'Location' URL and the method of the redirect will also be POST so all of the data goes with the redirect to the new 'Location.'"
This code was defined in 1998 as one of the traditional IETF April Fools' jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol, and is not expected to be implemented by actual HTTP servers. The RFC specifies this code should be returned by tea pots requested to brew coffee. This HTTP status is used as an easter egg in some websites, including http://www.google.com/teapot


Marion Grasby started life in the tropical city of Darwin, where the papaya salads are spicy and the mangoes are sweet and sticky. Marion is a little bit Thai (courtesy of her Mum) and a little bit Australian (courtesy of her Dad). Her love of food and travel became ingrained at an early age as her globetrotting parents lived and travelled in Papua New Guinea, Thailand and Australia.
Marion is a passionate cook, writer, presenter and creator of the Marion's Kitchen Asian food range. Her cookbook, Marion: Recipes and Stories from a Hungry Cook, was released in 2011 and she has a monthly food column in Masterchef Magazine.


Expected number :
Draw something...
If your browser is not fast enough to get result fast, use Slow mode!


RT @baruco: "With good tests, you don't need a debugger". @jasonrclark thinks you should get one in his talk: Spelunking in Ruby http://t.c…
10/9/2014, 6:42:43 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @baruco: "With good tests, you don't need a debugger". @jasonrclark thinks you should get one in his talk: Spelunking in Ruby http://t.c…
10/9/2014, 6:42:43 AM
Favs: 0
Retweets: 0
link


Curriculum Class Reference
List of all members.
Detailed Description
A curriculum.
Definition at line 54 of file bacp.cc.
|
Public Attributes |
| int | p |
| | Number of periods.
|
| int | a |
| | Minimum academic load.
|
| int | b |
| | Maximum academic load.
|
| int | c |
| | Minimum amount of courses.
|
| int | d |
| | Maximum amount of courses.
|
| const Course * | courses |
| | Courses.
|
| const char ** | prereqs |
| | Prerequisites.
|
Member Data Documentation
Number of periods.
Definition at line 57 of file bacp.cc.
Minimum academic load.
Definition at line 59 of file bacp.cc.
Maximum academic load.
Definition at line 61 of file bacp.cc.
Minimum amount of courses.
Definition at line 63 of file bacp.cc.
Maximum amount of courses.
Definition at line 65 of file bacp.cc.
Courses.
Definition at line 68 of file bacp.cc.
Prerequisites.
Definition at line 70 of file bacp.cc.
The documentation for this class was generated from the following file:


{# layout.html is deprecated in favor of layout.jinja2. this file is for backwards compatibility #} {% extends "layout.jinja2" %}


ElemenTerra was one of five Advanced Game Projects developed at USC during the 2014-2015 school year.
It is a virtual reality world-building game using the Oculus Rift and Sixense STEM. The team leads, Max and Camille, went on to create a
company called Freeform Labs. In March 2016, ElemenTerra became a part of by Starbreeze Studios and they're doing some exciting work together.
Press release.


We supply and maintain Customised Wireless Networks mainly for the Hospitality Sector.
Our customised hotspot solutions are designed to give your venue complete wifi coverage.
We also supply a wide selection of products from VOIP phones to network switches and routers and can help you design your bespoke setup.
We manage our networks to give the user an optimal browsing experience and can tailor the system to your exact requirements. As a company we have designed a wide range of systems.
About MyHotZone
MyHotZone was established in 2002 as an Internet Hotspot provider in the UK. Over the years we have expanded into other territories particularly Southern Africa and are now recognised as one of the leaders in our field.


--- layout: post status: publish published: true title: The Cubs Give Social Media Some Love author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 7190 wordpress_url: http://ivyenvy.com/?p=7190 date: '2012-05-02 13:44:37 +0000' date_gmt: '2012-05-02 18:44:37 +0000' categories: - The Cubs - Wrigley Field - Social Media - Cubs Promotions tags: - Kerry Wood - Phillies - Ryan Dempster - Twitter - Carrie Muskat - Cubs promotions - David DeJesus - Ian Stewart - Paul Maholm - Social Media Night - Robbie Gould - Kevin Saghy - Vine Line - Vienna Beef Hot Dog - Budweiser Bleachers - "#CubsSocial" comments: [] ---
The Chicago Cubs will be hosting their inaugural Social Media Night two weeks from today, Wednesday May 16th. As an individual that enjoys and utilizes new/social media, I think it's great to see the Cubs valuing and appreciating it.
By purchasing the special Social Media Night tickets, fans will receive special perks that are only available with these tickets. For $27 (before taxes and fees), you will receive:
* Entry to the pre-game Social Media Panel Discussion at the Captain Morgan Club.
The panel will feature Chicago Bears field kicker, Robbie Gould (@RobbieGould09), Cubs.com beat reporter, Carrie Muskat (@CarrieMuskat), and Chicago Cubs Public Relations and Marketing Specialist, Kevin Saghy (@Cubs). The panel will discuss social media from an athlete, media, and club perspective. This will begin at 5:45pm.
* A pack of Cubs Social Media Baseball Cards.
* Complimentary Gift Bag
The gift bag will contain a Social Media t-shirt. Also included is an issue of Vine Line and a voucher for a Classic Vienna Beef hot dog.
* Game Ticket
Each Social Media Night ticket includes a general admittance ticket to the Budweiser Bleachers for the game that night, in which the Cubs host the Philadelphia Phillies.
The Cubs encourage attendees to tweet using the #CubsSocial hashtag throughout the event.
I will be attending this event and I would assume there will be other Cubs bloggers in attendance, as well. If you'd like to attend, the dedicated Social Media Night tickets must be purchased through the Special Events page at cubs.com/specialevents or in person at the Wrigley Field Box Office. If you have questions about this event, direct them to the Cubs official Twitter account - @Cubs
If this wasn't enough to entice you, the fact he has not been invited to participate has sent Paul Sullivan into a tizzy. That alone should make you want to support the event. As I said, I will be there for the event with a few people. We'll be in Wrigleyville most of the afternoon. If you're interested in meeting up for an Old Style, tweet me - @IvyEnvy.


Drag & drop not supported, but you can still upload via this input field: File API & FileReader API not supported XHR2's FormData is not supported XHR2's upload progress isn't supported


?6
7
8
9
10
.
,
The
New
York
copyright
reserved
Botanical
Garden
TREES
AND
SHRUBS
OF
MDNA
ISLAND,
PUERTO
RICO
Form
130
(Revised
Aug.,
1921)
HERBARIUM
OF
THE
FOREST
SERVICE
U.
S.
DEPARTMENT
OF
AGRICULTURE
16523
Bumelia
obovata
(Lam.)
A.
DC.
Tree
to
25
ft.
high
and
6
in,
d.b.h.
Bark
gray,
smoothish
to
slightly
fissured.
Immature
fruit
green.
Frequent
on
coastal
plain
Uvero,
Mona
Island,
P.R.
wStar*L-LlttlaČ
Jr*>
d
105U63
March
lli,
1955.
L.
Kuns
ELL
01029181
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


iter.js brings in iterative capabilities over objects by providing an iterator object that can iterate through the enumerable properties of objects.
| Development Version (1.0.0) | Full of comments! (3.01KB) |
| Minified Version (1.0.0) | Keeps variable names to help with debugging, but minified. (886B) |
| Production Version (1.0.0) | Compressed down removing all variable names. (772B) |
Compressed using JSCompress.com.
When iter.js loads, it attaches the iter function to whatever scope the file is loaded in.
function(_) {...}.call(this, this);
This allows for iter.js to attach itself to any library with ease as well as restricting the libraries that iter.js uses. If loading using ajax then using eval to run JS libraries, you can run eval in a given scope and iter will attach to it.
var thirdParty = {}, iterjsCode = ...; function (code) { eval(code); }.call(thirdParty, iterjsCode);
If not using ajax to load in, then copy the iter.js file into a function like the following and then presto! iter will attach.
var thirdParty = {}; function(){/*iter.js code*/}.call(thirdParty);
This is a warning...
iter(object);
The iter function takes in a single argument and creates a static iterator that will iterate through the argument's enumerable properties.
| .nullptr | => nullptr Object |
| .VERSION | => String |
Returns the current version of iter.js.
The iter.nullptr is an empty object that has been frozen. The valueOf for the iter.nullptr returns NaN and since iterator's .me returns itself or iter.nullptr depending on if it is out of bounds, another way to check if an iterator is within bounds is by using isNaN.
for(var i = iter([0,1,2,3]); !isNaN(+i.me); ++i.me) console.log(i.$); /* === output === 0 1 2 3 */
var i = iter(Object);
A static_iterator is a specialized object that iterates through a given object's enumerable properties. The valueOf for the object returns its current ith position within the object's properties. This combined with the static_iterator's .me property allows for i.me++. The reason for it being called static is because if the object being iterated over gains or loses any properties, the iterator would not know.
| .me | => itself |
| .$ | => Object |
| .scope | => Object |
| .prop | => Object |
| .first | => itself |
| .last | => itself |
The most used property of the static_iterator object, .me merely returns the iterator object itself. But, that is only if the current ith position of the iterator object is within the bounds of the object's enumerable properties. If the ith position falls outside of this range, .me returns iter.nullptr. This allows for the detection of whether or not an iterator has reached the end of a loop.
var i = iter([]); i.me === iter.nullptr; // => true
This result is because .me is a getter and setter property. When the get is called the property evaluates where the ith position is and determines whether or not to return itself or iter.nullptr. When the set is called the property evaluates whether or not the value attempting to be set is a number. If it is a number (not NaN) then the ith position will be changed to that new value. This allows for the i.me++.
var i = iter(['a']); +i == 0 && +i.me == 0; // => true i.me++ == 0; // => true +i == 0 && +i.me == 0; // => true
.$ property dereferences the static_iterator and returns the value that it is pointing to.
var i = iter(["a"]); console.log(i.$); // => 'a'
This is the same as using i.scope [i.prop].
.scope returns the obejct that the static_iterator is iterating over.
var o = {a:0}, i = iter(o); o === i.scope; // => true
.prop returns the property name the static_iterator is currently referencing. If the static_iterator is out of bounds then .prop will return iter.nullptr.
var i = iter({a:0}); console.log(i.prop); // => "a" i.me++; console.log(i.prop); // => iter.nullptr
.first returns the static_iterator and sets the static_iterator to the first enumerable property.
var i = iter({a:0, b:1, c:2}); console.log(i.prop); // => "a" i.me+=2; console.log(i.prop); // => "c" console.log(i.first.prop); // => "a"
This allows for resetting the static_iterator after a for loop.
for(var i = iter({a:0,b:1,c:2}); !isNaN(+i.me); ++i.me) console.log(i.prop, i.$); for(i.first; !isNaN(+i.me); ++i.me) console.log(i.prop, i.$); /* === output === a : 0 b : 1 c : 2 a : 0 b : 1 c : 2 */
.last returns the static_iterator and sets the static_iterator to the last enumerable property.
var i = iter({a:0, b:1, c:2}).last; console.log(i.prop); // => "c"
This allows for reverse for loops.
for(var i = iter({a:0, b:1, c:2}).last; !isNaN(+i.me); --i.me) console.log(i.prop, ":", i.$); /* === output === c : 2 b : 1 a : 0 */


--- name: non-trivial-unit-tests layout: post title: Non-trivial unittests time: 2013-07-19 12:23:00.001000 +05.30 tags: gsoc mailman python unittest testing ---
Unit tests are mostly trivial to write with only those assert statements over the expected results of the function (which is to be tested) instances. But sometimes it gets difficult to test some functions which require test data and the place where you store the data is not accessible in the tests.
was trying to test my gpg utility which uses a home directory where all the public and secret key rings are stored(or supposed to be stored by default) whose hard-coded-path in my project is "/home/maxking/mailman/mailman/var/gpg" . Usually I can point to "/home/maxking/mailman/mailman/var/" with the "config.VAR_DIR" variable which gets initialized when the config layer is initialized during tests. What is a layer? Mailman uses "zope.testing" framework for testing, it has a concept of layers which instantiates all the modules of the project so that they can be used in the tests. Occasionally you can use temporary directories and values for testing purposes in-case you don't want the tests to alter your actual data. So config layer creates a temp "var director" during test runtime. See the code below for the initialization of the gpg handler: {% highlight python linenos %} class GPG: def __init__(self, dir): self._gpg = None self._home = dir self._gpg = gnupg.GPG(gnupghome=self._home) {% endhighlight %}
And this module is used as: {% highlight python linenos %} from mailman.utilities.gpg import GPG gpg_dir = os.path.join(config.VAR_DIR, "gpg") gpg = GPG(gpg_dir) {% endhighlight %}
So the `config layer` creates a new temp var directory every time tests are run and thus my test data inside "/home/maxking/mailman/mailman/var/gpg" is never found during the test run. So the workaround that I was suggested by Barry to copy the test data to whatever temp var directory that is created the tests are now running smoothly. Below is a snippet of the code how it works:
{% highlight python linenos %} from mailman.testing.helpers import setup_keyrings, makedirs class TestGPG(unittest.TestCase): """Testing functions in the gpg utility""" layer = ConfigLayer def test_keyring(self): """verify the keyrings""" gpg_dir = os.path.join(config.VAR_DIR, 'gpg') makedirs(gpg_dir) setup_keyrings(gpg_dir) gpg = GPG(gpg_dir) {% endhighlight %}And below are the helper functions that are used above.
{% highlight python linenos %} def test_data_path(filename): return os.path.abspath( resource_filename( 'mailman.utilities.tests.data', filename)) def makedirs(dir): try: os.makedirs(dir) except OSError as e: pass def copy(filename, dst): src = test_data_path(filename) makedirs(dst) try: shutil.copy(src, dst) except IOError: raise IOError('File {0} copy to {1} failed'.format(filename, dst)) def setup_keyrings(dst): """Copy the keyrings to the right place. """ keyrings = ('pubring.gpg', 'secring.gpg') for keyring in keyrings: # The local keyrings live in the .gpg file with the same keyring name # in the temporary directory. copy(keyring, dst) {% endhighlight %}


getQuery
Model
Helper function that attempts to locate and return a reference to the requested or catchall query.
getQuery(queryName);
| Param | Type | Details |
|---|---|---|
| queryName | string | A unique key to identify this query. (default: defaultQueryName) |
| object | See Query prototype for additional details on what a Query looks like. |
var primaryQuery = projectModel.getQuery();
var primaryQuery = projectModel.getQuery('primary');
var namedQuery = projectModel.getQuery('customQuery');


NCSI HPC Cluster
Cluster Status
|
System Information
Hardware
Login
2* Intel Xeon E5-2609 4C, 16 GB RAM
Compute 1
2* Intel Xeon E5-2670 8C, 128 GB RAM
Compute 2
2* Intel Xeon E5-2670 8C, 224 GB RAM
Storage
24 TB
!!! Important Notice !!!
The
Login
node is only used for submitting jobs and transferring files.
It is
FORBIDDEN
to execute job commands directly for computation.
Usage
服务器使用帮助
https://github.com/njau-sri/hpc/wiki
Sample Job Script
https://github.com/njau-sri/hpc/tree/master/qsub


After several months at work using DX12 I got the itch for doing some low-level graphics work in my personal time, so I started my foray into Vulkan a few weeks ago.
I didn’t really want to start from some beginner’s tutorial so I did some hunting and found Arsen’s Vulkan streams which are perfect for what I wanted.
He blazes through the code explaining a lot of things, but with my DX12 experience, they’re quite brilliant because they get straight to the point and then I do my own digging into the spec.
This is the first time I’ve ever watched a coding stream and I’m really enjoying it. In my first ever development job in Malta, we did a lot of paired programming and this was ridiculuously useful. Seeing someone with 10+ years of experience coding (20+ in his case), making decisions and thinking out loud is very educational. One of the things that I like to hear the most about is not what they know about a topic but they learnt it - and seeing his problem solving approach is great.
Before I started it, I didn’t really have any major reason for leaning towards Vulkan other than curiousity, but at this point I’m pretty hooked, because of…
Validation Layers
The validation layers are tremendously helpful at telling you what might go wrong if you incorrectly setup certain structs. At some point I got a validation layer error that I wasn’t understanding, so I ran the debugger through the validation layer itself to see what was triggering it. Being able to see inside them was brilliant and a huge leap from the opacity that comes with DX12, albeit DX12 has a fantastic debug layer.
Mesh Shaders
Another major reason I was attracted to the streams was Mesh Shaders. They were a major reason for why I got my own RTX card, and having just finished the video where we get to do the mesh shading optimizations, I’m really looking forward to investigating more advanced uses for them. I’ve been fascinated with GPUs for a long time and I want to push my RTX to its limit with the amount of geometry it can process. Using the mesh shaders for doing extensive advanced culling is something I will definetly need when I try to process some of the massive scenes I intend to experiment with. The end goal is the Moana data set, we’ll see how that fares, I’m going to need a big GPU for that!
The main drawback is the lack of tools for debugging mesh shaders but more on that in the next section.
I’ll move the meshlet computation offline once I start working with bigger meshes because it can get quite expensive.
It seems Vulkan is still not as well-catered as DX12 when it comes to debugging and profiling tools. I’ve had a lot of NSight crashes and it’s the only decent free GPU profiling tool I can find. RenderDoc is robust but of no help when it comes to mesh shading. I’m quite disappointed with the debugging and profiling tools for Vulkan so far.
It seems DX12 has Mesh Shader debugging support in NSight but not Vulkan. With DX12 we used Pix extensively and it is loaded with a ton of useful features like performance counters, BVH visualization, gpu buffer readouts. NSight crashed immediately when I ran my Vulkan program :( I’ll have to check my driver compatibility, hopefully it’s something as trivial as that.
volk
Extensions are an integral part of Vulkan, and volk comes a long way in solving that problem. It’s useful but I did the mistake of not reading the fine print in the documentation. I was including it into my own project, but I did not replace the vulkan.h include with volk.h inside the libraries I was including in my own source, which resulted in me chasing a missing symbol related bug which appeared as a simple access violation. This swamped a whole Saturday and Sunday, resulting in a cancelled pub session and some time with Dark Souls. Learnt my lesson now!
# Vulkan Spec
The spec is super-detailed and well written but whoever thought that it should be in 1 web page deserves a world of pain! If it wasn’t in 1 page I would consider it to being one of the finest pieces of literature, comparable to PBRT and Lord of the Rings :)
Reading the spec is very valuable, a lot of nuances are explained. The DX12 spec wasn’t this detailed (although it’s improved and I believe they’ve now released some really detailed documentation on GitHub).
Verbosity
Brace yourself for a lot of typing. In terms of verbosity it seems to go OpenGL -> DX11 ———–> DX 12 —> Vulkan. You have to write a lot of code to get things up and running. My previous experience with DX 12 prepared me for this so it was no shocker, but it can get exhausting.
Predictability
Using the Vulkan C API becomes very intuitive once you get used to the nomenclature. The validation layer guides you when you do something wrong, the structs follow a similar structure and so you kind of get used to the verbosity.
Final Thoughts
If you’ve never tried a low level graphics API, give Vulkan a go. It’s been a great experience (sometimes aggravating but what’s the fun in graphics programming if you sometimes don’t want to scream) and learning how the GPU works is something every programmer should do.
I’m loading the Buddha obj and rendering it using a mesh shader pipeline, returning the surface normal as a colour in the fragment shader. I’m using ImGui to display some stats, such as the FPS, GPU time and a plot of the GPU time. I store 100 samples and plot them, using the min and max of the samples to get it displaying well, otherwise it’s pretty much a straight light since the computation time doesn’t fluctuate much.
 It’s a horrible mess that’s been written in haste and hacky. But there is hope: I’ve also been watching Yan Chernikov’s Game Engine series which is reaaaallllllyyyy good and once I do a forward pass and a deferred pass in Vulkan, I’ll re-start the whole process and write th engine in a modular cleaner fashion. Unfortunately for now, all I have is a lot unclean code, but HEY IT WORKS SUE ME!
Here’s a pretty image of where I’m at:
With that, I’m signing off. If you have any questions feel free to reach out to me on Twitter or LinkedIn or email, ciao!
Working on my renderer sometimes leads to some hair-tearing moments when bugs start to come up. When you’re tracing millions of rays and you’ve got millions of pixels, tracking down a visual bug is very tricky.
This blog post is the first in a series where I’ll discuss what I did to debug certain bugs that I encountered. The series isn’t planned - when I get a bug which gives me a lot of grief, I’ll write down what I did to find it and fix it.
I’ll preface that my renders look slightly darker than PBRT’s. I have many missing features such as RR, MIS, QMC sampling, all which affect this. I also have very basic sample filtering (just a box filter) and the renderer is not feature compatible with PBRT. Other than that though, it should look close enough to PBRT.
When I implemented my glass material and compared the rendered image to PBRT there was a huge difference between them:
This is the kind of bug that is quite difficult to debug - you have specific paths related to specific geometry which are misbehaving. Of course I knew where the problem, it’s somewhere in the Glass Material and Specular Transmission and Reflection BxDFs ( or so I initially thought :) ).
The first thing I started looking at was my Fresnel functions. Since that’s the function that determines whether a ray is refracting or reflecting, this made sense to me. I computed the function for certain angles and certain reflective indices by hand and wrote unit tests to confirm matches which they did.
With this out of the way, I looked at the refraction function and did the same - however everything was fine here too.
At this point I knew I needed to get in deeper, so I had to write some utlity code to be able to walk through a single pixel path, using the debugger and not render a full frame until I get to that pixel.
Coding it up didn’t require a lot of effort however working out what the ray was supposed to be doing required a lot of hand calculations. Another way to do this is to use an open source renderer and debug it, PBRT and Mitsuba are the 2 obvious suggestions.
Once I started up the renderer and had my first ray intersection with the glass, the ray was supposed to refract into the surface. The next bounce was going to be inside the glass and hit the other side of the box from the inside, and exit. My ray did no such thing! As soon as it was refracted inside the box, it refracted again but for some weird reason, it went back inside the box (which is actually a reflection). I had a hunch something was up with my normals, so I had a look through the code that might have been modifying the normals and realized that I was prematurely face forwarding my normals when I was populating my surface interaction record right after the first intersection.
I had not noticed this bug before because I was not transmitting rays through a medium for the Mirror and Matte material so it was never an issue.
Fixing that bug significantly improved my image
but this was completely different! I realized that having modified the normals during the surface interaction record population, another place where I was faceforwarding normals liberally was my Next Event Estimation code. I cleaned up this part of the code, rendered, got a match with PBRT and introduced reflection back in:
At this point I introducted the reflection back in but had a bug. I had been going at this for quite a few days (over a week), with only an hour or 2 to spare after work to look at this bug. So I took a bit of a shortcut and debugged a single ray through PBRT. This one I found with PBRT very quickly - I wasn’t setting the SpecularBounce flag to true when I was reflecting from a dielectric and so was computing direct lighting on a specular reflective surface. Fixing that gave me the final image:
Which is pretty much what PBRT is getting albeit slightly darker.
One of the major pieces of advice I can give to people who are about to start their foray into ray tracing is the importance of unit testing. Testing every little function properly means that all the small moving parts work and gives you some peace of mind when using them and you’re hunting for a bug you might have.
I’m dedicating my August to just writing unit tests for my existing code - I was doing that for some stuff but in my haste to get some features up and running, I neglected that part and it bit me in the ass finally :) Having said that, I do look at bugs as a potential learning experience, and this kind of bug allowed me to gain a more solid understanding of surface reflection.
Another thing that was informative was following a path in PBRT. With a tool like the Visual Studio Debugger, this becomes quite easy.
One thing which I really want to do is render a single path, and in the mean time have my Vulkan engine draw the path and the normal of each surface intersection, and hovering over the intersection point, I can get the material details, the fresnel reflectance value if it was a specular surface, that kind of stuff. I have given it a lot of thought and would love to do this but time is a major obstacle.
That’s all I have today on this! The next post will probably be on debugging acceleration structures, the only issue is that I did the coding working on acceleration structures around February and as a result, my memory is a little hazy on my efforts so I might end up writing another acceleration structure to jog my memory and get new bugs, solve these problems and share the “wisdom”, with that, ciao!


The main purpose for this site is to serve as a place to display to everyone who may be interested or might have dropped in to know who I am. To this extent, this site acts as a living document that will change with time as both I change and my skills as a web developer change. Thank you for coming, please have a look around.


13 September 2002
Disease Outbreak Reported
Following a WHO mission to Malawi, the reporting of cholera cases has been revised. As of 26 August 2002, a total of 773 cases and 41 deaths (case-fatality rate, 5.13%) were reported in the Nkhotakota area since the beginning of the year. From 5 May to 26 August, 339 cases and 25 deaths (case-fatality rate, 7.37%) were reported in the same area.
WHO, along with UNICEF is assisting the Ministry of Health in providing on-site training in case management and cholera control. UNICEF is providing additional supplies.


6830 Poppy Hills Lane Apt 1236 Charlotte, NC 28226
919-641-1131
Recent first generation college graduate from Appalachian State University. Looking for opportunities that utilize my knowledge from my degree in Mathematics and concentration in Life Sciences. Outgoing and a fast learner with attention to detail. Great at listening and collaborating with others in order to work efficiently, ensuring that the task at hand is completed to the best of my ability.
• Appalachian State University, Boone NC: 2014-2018
• Bachelor of Science in Mathematics, Concentration in Life Sciences
• Experience with programming languages R and Python
• Experience with Microsoft Office, Github, and Geometer’s Sketchpad
• Duties: Hired and trained staff, scheduled and implemented camp events using Google Drive and Excel, created and maintained the Camp Gray Rock website, E-mail, and social media, facilitated a cooperative and considerate community environment.
• Originally hired as a lifeguard and counselor for the 2015-2017 summer camp seasons, but was offered the position of director May of 2017.
• Provided me with the opportunity to strengthen my skills in leadership, organization, and being adaptable.
• Duties: Collected data regarding research centers or institutes sponsored by colleges and universities in various states, performed data entry and data organization using Excel, trained new hires.
• Provided me with practical experience of working with data extraction and data management.
• Strengthened my professional abilities by helping me become a more efficient, communicable worker.


Hi 👋 I'm Urban Ishimwe nice to meet you :)
I'm a programmer interested in cryptography and networking.
I like to use Go and JavaScript, sometimes I also use Python and C.
I'm an avid open source contributor and I enjoy exploring experimental ideas.
I'm a programmer interested in cryptography and networking.
I like to use Go and JavaScript, sometimes I also use Python and C.
I'm an avid open source contributor and I enjoy exploring experimental ideas.


--- layout: post title: magazine layout date: '2015-03-12T08:30:44+01:00' categories: - Graphic Design picture_url: https://film-Storyboards.tumblr.com/post/113425526635/magazine-layout ---


−/− YFV results laboratories RT-PCR samples nd/− serological detection IIF diagnosis OPTIMAL IgG TaqMan reported sample −/nd NON using EQA IgM laboratory used presence antibodies molecular (%) virus assays fever Table performance methods PCR diagnostic different real-time sensitivity However, positive viral false genome ELISA negative <∶ Virol assay containing flaviviruses good nd/ obtained specific strain use wild-type Clin dengue infection strains study test yellow anti-YFV included quality specificity PANFLAV YFV-D Yellow cases control diagnostics dilutions false-positive protocols techniques "in-house" Dis Drosten GE/sample West considered data detect did flavivirus need nested participants sera /nd African EQA, Microbiol Network Niedrig RT-nested South achieved analysis case commercial correct disease infections no. panel plasma reports results, seroneutralization sets showed Africa Bae Coast Domingo IgM/IgG/ Infect Institute Ivory Methods RNA Viral better diagnosis. dilution failed general, laboratory. participated participating positives report result serial tests (.%) (n = ), (n = , American European Germany; Health IgM/IgG−/− National ab, accuracy acute applied approach concentration confirm described difference effect flaviviruses. higher identification inactivated load main mainly method number performed previous previously profile protocol provide quantitative results. samples. serum techniques. time versus (score -fold DENV- Detection Diseases Europe HG, Institut Laboratory Logit Molecular NEG Similarly, University YFV, [WHO] assays. assessment controls cross-reactivity depending endemic eq/− estimate estimated evaluation expected infections. international major neg order performing points recent risk set seven suitable taken total vaccine virus, αYFD


#include <GrPolygonBSPSplit.h>
Public Member Functions | |
| GrPolygonBSPSplit () | |
| class header. | |
| GrPolygonBSPSplit (const GrPolygonGroup &hullPolygons, const GrPolygonGroup &propPolygons, GrPolygonUberUVMapper &mapper, bool calcPVS, bool uberTexture, float uberTexelsPerMeter) | |
| GrPolygonBSPSplit (UReader &reader, GrPolygonBSPSplit *parent=0) | |
| ~GrPolygonBSPSplit () | |
| GrPolygonBSPSplit (const MPlane &plane) | |
| for testing purposes only... temporary. | |
| void | GenUberMappings (const GrPolygonUberUVMapper &mapper) |
| generates uber mappings. | |
| void | GetVisibilityData (const MVec3 &viewPos, const std::vector< unsigned int > **pvsIndices) |
| returns a list of potentially visible leaves from the position passed in. | |
| const MPlane & | GetPlane () const |
| BSP node split plane. | |
| GrPolygonBSPSplit * | GetFrontChild () const |
| child management. | |
| GrPolygonBSPSplit * | GetBackChild () const |
| GrPolygonBSPArea * | GetFrontLeaf () const |
| leaf management. | |
| GrPolygonBSPArea * | GetBackLeaf () const |
| void | GetLeaves (std::vector< GrPolygonBSPArea * > &leaves) |
| gets all leaves in the tree. | |
| bool | GetIntersect (MVec3 &hitPos, const MRay &ray, float maxDist) |
| void | GetUberTexData (std::vector< GrPolygonUberPatchGroup * > &dataArray) const |
| returns all ubertexture data in the hierarchy. | |
| void | Save (UWriter &writer) |
| save the BSP node. | |
| void | Load (UReader &reader) |
Definition at line 41 of file GrPolygonBSPSplit.h.
| GrPolygonBSPSplit::GrPolygonBSPSplit | ( | ) |
class header.
File: GrPolygonBSPSplit.cpp Author: Kevin Bray Created: 09-12-06 Copyright © 2004 Bootstrap Studios. All rights reserved. project includes. windows includes (for PVS calculation timing) std c++ includes. class GrPolygonBSPSplit ctor & dtor
Definition at line 42 of file GrPolygonBSPSplit.cpp.
| GrPolygonBSPSplit::GrPolygonBSPSplit | ( | const GrPolygonGroup & | hullPolygons, | |
| const GrPolygonGroup & | propPolygons, | |||
| GrPolygonUberUVMapper & | mapper, | |||
| bool | calcPVS, | |||
| bool | uberTexture, | |||
| float | uberTexelsPerMeter | |||
| ) |
set the floating point control word for better precision.
create a modifyable copy of the hull and prop polygons.
generate a list of planes for the current split.
choose the first split.
print out some useful info.
build the BSP tree.
build all portals.
get all of our leaves.
connect neighboring leaves with eachother.
calculate bounding volumes.
calculate PVS data.
push prop geometry to leaves.
generate ubertexture data.
fix T junctions.
restore the previous floating point control word.
Definition at line 53 of file GrPolygonBSPSplit.cpp.
| GrPolygonBSPSplit::GrPolygonBSPSplit | ( | UReader & | reader, | |
| GrPolygonBSPSplit * | parent = 0 | |||
| ) |
Definition at line 173 of file GrPolygonBSPSplit.cpp.
| GrPolygonBSPSplit::~GrPolygonBSPSplit | ( | ) |
Definition at line 184 of file GrPolygonBSPSplit.cpp.
| GrPolygonBSPSplit::GrPolygonBSPSplit | ( | const MPlane & | plane | ) | [inline] |
| void GrPolygonBSPSplit::GenUberMappings | ( | const GrPolygonUberUVMapper & | mapper | ) |
generates uber mappings.
| GrPolygonBSPSplit* GrPolygonBSPSplit::GetBackChild | ( | ) | const [inline] |
Definition at line 65 of file GrPolygonBSPSplit.h.
| GrPolygonBSPArea* GrPolygonBSPSplit::GetBackLeaf | ( | ) | const [inline] |
Definition at line 69 of file GrPolygonBSPSplit.h.
| GrPolygonBSPSplit* GrPolygonBSPSplit::GetFrontChild | ( | ) | const [inline] |
| GrPolygonBSPArea* GrPolygonBSPSplit::GetFrontLeaf | ( | ) | const [inline] |
finds the point where the given ray hits world geometry. Returns false if no hit was found.
if we don't intersect with the bounding box, simply return.
determine if we even hit the plane.
recurse towards the starting location first.
recurse the front.
determine if we can recurse the back.
if no intersection was found, recurse the back.
recurse the back.
determine if we can recurse the front.
if no intersection was found, recurse the front.
no hit found.
Definition at line 232 of file GrPolygonBSPSplit.cpp.
| void GrPolygonBSPSplit::GetLeaves | ( | std::vector< GrPolygonBSPArea * > & | leaves | ) |
| const MPlane& GrPolygonBSPSplit::GetPlane | ( | ) | const [inline] |
| void GrPolygonBSPSplit::GetUberTexData | ( | std::vector< GrPolygonUberPatchGroup * > & | dataArray | ) | const |
returns all ubertexture data in the hierarchy.
traverse the front.
traverse the back.
Definition at line 313 of file GrPolygonBSPSplit.cpp.
| void GrPolygonBSPSplit::GetVisibilityData | ( | const MVec3 & | viewPos, | |
| const std::vector< unsigned int > ** | pvsIndices | |||
| ) |
returns a list of potentially visible leaves from the position passed in.
public methods
Definition at line 196 of file GrPolygonBSPSplit.cpp.
| void GrPolygonBSPSplit::Load | ( | UReader & | reader | ) |
Definition at line 360 of file GrPolygonBSPSplit.cpp.
| void GrPolygonBSPSplit::Save | ( | UWriter & | writer | ) |


--- layout: post status: publish published: true title: '"This podcast is a little doughy" - Episode 8.23' author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 11871 wordpress_url: http://ivyenvy.com/?p=11871 date: '2016-05-22 22:07:21 +0000' date_gmt: '2016-05-23 03:07:21 +0000' categories: - Podcast tags: [] comments: [] ---
Welcome to the 401st episode of The Ivy Envy Podcast. We start this episode off by talking about whether or not Cubs fans should be concerned about the Cubs recent habit of losing games and series.
We dive into the Giants series like Jason Heyward dives into a wall, making an incredible (and incredibly scary) catch. We talk about Heyward's injury and the relief that all Cubs fans felt when the Cubs announced he would only be out 3-5 days.
In discussing the series, we also talk about Lester, Soler, Baez, and others. Andy previews the Cardinals series. Kurt has a scary stat of the week and read some internet muscle flexes.


--- layout: post title: no title date: '2014-09-21T07:30:33+02:00' categories: - Sketches - Sketchbooks picture_url: https://film-Storyboards.tumblr.com/post/98049410835 ---


Also take a look at Expedition > Table
, which allows you to configure your expedition preference in more details.
Yes, it is necessary to consider resupply costs in the calculations to give you the best output. Expeditions that are actually worse may get ranked better just because resupply is not considered when they have much higher costs. See discussion.
Basically the scorer will try to use cost-effective ships as much as possible. See Javran's gist.
Also the Cost Model
section of Expedition > Table
shows you the exact amount of resupply cost used by this scorer. If you are unsatisfied about the resupply cost, each individual expedition's resupply cost can be customized exactly from Expeditions
section of Expedition > Table
.
Scorer will only take checked expeditions into account. If there is any expedition in the result that you don't want to run, simply uncheck that expedition and the click Calculate
button again.
There are Presets
which overwrites all your expedition selections. These presets are:
All
: selects all expeditionsRecommended
: some expeditions that have poor resource gains are excludedBuckets
: all expeditions that might have Buckets (a.k.a. Instant Repair). Note that for some expedition you would need to achieve great success for it to be possible to produce Buckets.None
: nothing is selectedIn Resource Priority
section, each resource is associated with a value, move sliders to adjust these values. A higher value means higher priority for that resource. For a given set of expeditions, this value is directly multiplied to the per hour income of that resource and then values from all 4 resources are added up together to yield the final score for that set of expeditions.
Reset
button resets all resource priorty to 5
, and Balanced
button tries to give you a resource priority that would make all your resources even. See discussion about Balanced
here.
Everyone would have a different play style and game plan, Balanced
resource priority might not be suitable for you: if you are leveling ships, you would try to gain more fuel and ammo; if you want to craft planes or radars, more priority on bauxite would be prefered.
Keep in mind that first result might not always be the best one: for example, you might intend for an even amount of fuel and ammo income and don't care about steel and bauxite, and you would set resource priority to 1
for both fuel and ammo, 0
for both steel and bauxite. A set of expedition that gives you 400 fuel and 10 ammo per hour (i.e. 400+10=410
) might have a higher score than another set of expedition that gives you 200 fuel and 200 ammo per hour (i.e. 200+200=400
), while the latter might be more desired. Therefore, always take a look at resource per hour columns of the result before making decisions.
Bucket income is not considered in expedition scorer. However, you can try making good use of Bucket
preset and Available Fleets
feature: for example, you can make two fleets run expeditions only from Bucket
preset (with available fleet being 2
), and remaining 1 fleet to focus on other resources you want (with available fleet being 1
).
Alternatively (and probably better), take a look at Expeditions
section of Expedition > Table
, sort expeditions by time and prioritize expeditions that are both short and have Bucket incomes.
AFK Time
?The hours and minutes you're going to be offline, and is also considered in scoring the expeditions: if an expedition time is shorter than your AFK time, your AFK time will be used to compute that expedition's per hour income.
| Expedition set | /hr | /hr | /hr | /hr | Score |
|---|


Bold text. Feel free to put your text here.
If you have any questions or feedback, please let us know email@mydomain.com.


Listens to element events and controls changes between element and Masked
((MaskElement | HTMLInputElement | HTMLTextAreaElement))
(Object)
View element
Type: MaskElement
Typed unmasked value
Type: any
any
Starts listening to element events
Stops listening to element events
Stores current selection
Syncronizes model value from view
Syncronizes view from model value, fires change events
Updates options with deep equal check, recreates @{link Masked} model if mask type changes
({})
Fires custom events
Aligns cursor to nearest available position
Aligns cursor only if selection is empty
Handles view input event
Handles view change event and commits model value
Unbind view events and removes element reference
Checks if value is string
(any)
boolean
Direction
Direction
Type: string
Returns next char index in direction
(number)
(Direction)
number
Returns next char position in direction
(number)
(Direction)
number
(Direction)
Direction
Escapes regular expression control chars
(string)
string
Selection range
Type: {start: number, end: number}
Provides details of changing input
Remove direction
Type: Direction
Direction
Date mask
Extends MaskedPattern
(Object)
Pattern mask for date according to MaskedDate#format
Type: string
(any)
Pattern mask
Extends Masked
Type: {}
Type: Definitions
Type: MaskedPatternState
MaskedPatternState
((string | TailDetails))
ChangeDetails
(string)
(AppendFlags
= {}
)
ChangeDetails
Appends placeholder depending on laziness
(number?)
ChangeDetails
ChangeDetails
Provides details of changing model value
Aggregate changes
(ChangeDetails)
ChangeDetails
:
this
Supported mask type
Type:
(string | String | RegExp | Class<Number> | Class<Date> | Array<any> | $PropertyType<Masked<any>, "validate"
> | Masked<any> | Class<Masked<any>>)
Append flags
Type: {input: boolean?, tail: boolean?, raw: boolean?, _beforeTailState: any?}
Extract flags
Type: {raw: boolean?}
(boolean?)
Provides common masking stuff
({})
Transforms value before mask processing
Type: function (string, Masked<MaskType>, AppendFlags): string
Validates if value is acceptable
Type: function (string, Masked<MaskType>, AppendFlags): boolean
Sets and applies new options
({})
Sets new options
({})
Mask state
Type: any
any
Resets value
Type: any
any
Extracts value in range considering flags
string
Appends tail
((string | TailDetails))
ChangeDetails
Appends char
(string)
(AppendFlags
= {}
)
ChangeDetails
Appends char
ChangeDetails
Appends optional placeholder at end
ChangeDetails
Appends symbols considering flags
ChangeDetails
ChangeDetails
Calls function and reapplies current value
(function (): T)
T
(function (masked: any): T)
T
Prepares string before mask processing
(string)
(AppendFlags
= {}
)
string
Validates if value is acceptable
(AppendFlags)
boolean
Does additional processing in the end of editing
(any)
ChangeDetails
Type:
{parent: $PropertyType<PatternInputDefinition, "parent"
>, mask: Mask, isOptional: $PropertyType<PatternInputDefinition, "isOptional"
>, lazy: $PropertyType<PatternInputDefinition, "lazy"
>, placeholderChar: $PropertyType<PatternInputDefinition, "placeholderChar"
>}
($PropertyType<PatternInputDefinition, "parent"
>)
(Mask)
($PropertyType<PatternInputDefinition, "isOptional"
>)
($PropertyType<PatternInputDefinition, "lazy"
>)
($PropertyType<PatternInputDefinition, "placeholderChar"
>)
Type:
{char: $PropertyType<PatternFixedDefinition, "char"
>, isUnmasking: $PropertyType<PatternFixedDefinition, "isUnmasking"
>?}
($PropertyType<PatternFixedDefinition, "char"
>)
($PropertyType<PatternFixedDefinition, "isUnmasking"
>?)
Type: string
Type: string
Type: boolean?
Type: boolean?
Type: number?
Provides details of continuous extracted tail
Pattern which accepts ranges
Extends MaskedPattern
Optionally sets max length of pattern.
Used when pattern length is longer then to
param length. Pads zeros at start in this case.
Type: number
(any)
(string)
(AppendFlags
= {}
)
string
Get Masked class by mask type
(Mask)
Class<Masked<any>>
Creates new Masked depending on mask type
Masked<any>
Generic element API to use with mask
Bridge between HTMLElement and Masked
Extends MaskElement
((HTMLInputElement | HTMLTextAreaElement))
Mapping between HTMLElement events and mask internal events
Type: {}
HTMLElement to use mask on
Type: (HTMLTextAreaElement | HTMLInputElement)
Type: HTMLDocument
HTMLDocument
Binds HTMLElement events to mask internal events
({})
Unbinds HTMLElement events to mask internal events
Returns HTMLElement selection start
Type: number
number
Returns HTMLElement selection end
Type: number
number
Sets HTMLElement selection
HTMLElement value
Type: string
string
Applies mask on element.
((HTMLInputElement | HTMLTextAreaElement | MaskElement))
Element to apply mask
(Object
= {}
)
Custom mask options
InputMask
: