Utah teapot, the
`Prev `__
U
`Next `__
--------------
**Utah teapot, the**
This object is historically one of the first complex 3D models to be
rendered in computer graphics. It consisted of about 110 vertices, and
was generated by Martin Newell in 1974 using hand-drawn Bezier curves,
based on a real teapot that he and his wife had bought. This model
served as a basis for comparing various 3D rendering methodologies for
lighting, textures, bump-mapping, etc. By the standards of 2002, the
model is trivial to render and thus is often not suited to demonstrate
the complexity of modern research. Despite this, the tea pot still
appears, now and then, in recent papers. More on the teapot's history
lives at `The History Of The Teapot `__.
Compare `*lenna* <../L/lenna.html>`__, `*Stanford
Bunny* <../S/Stanford-Bunny.html>`__
--------------
+-----------------------------+----------------------------+-------------------------+
| `Prev `__ | `Up <../U.html>`__ | `Next `__ |
+-----------------------------+----------------------------+-------------------------+
| userland | `Home <../index.html>`__ | UTSL |
+-----------------------------+----------------------------+-------------------------+


How to contribute¶
Whether you would like to add a new sensor, fix a bug or help with packaging, we would love for you to contribute. To make a contribution, please fork our repository and open a pull request when you are done with your changes.
Getting started with development¶
If you wonder why we do not have a setup.py
, setup.cfg
or requirements.txt
, it is because we use poetry for packaging, building and dependency management.
To get a development environment, clone the repository and exeute poetry install
. This will create a virtual environment for the project and install all runtime- and development dependencies.
Now you can run the tests with poetry run pytest
, work on the example jupyter notebook with poetry run jupyter notebook
or enter the virtual environment with poetry shell
.
Add a sensor class¶
One reason why you might want to contribute to devicely is to add a new sensor class to the package. Please follow these steps if that is the case:
Your sensor class needs to have its own module in the devicely package:
Please create a class member for each signal that your sensor records. To provide an example, if your sensor contains heart rate and acceleration data,
use uppercase attribute names like reader.ACC
and reader.HR
. These attributes should be dataframes, indexed by time of measurement.
For metadata, you can use basic data structures such as dictionaries.
Apart from the individual signal dataframes, your sensor should have an attribute reader.data
which is a joined dataframe of all individual signal dataframes.
The timeshift
method should accept three types of parameters: nothing, a pandas.Timestamp
or a pandas.Timedelta
.
With no parameter, all time-related data attributes are shifted between one month and two years to the past.
With a pandas.Timedelta
, all attributes are shifted by adding the timedelta to them.
With a pandas.Timestamp
, all attributes are shifted such that the provided timestamp is the earliest data entry and all other data entries keep the same distance to it.
Timeshifting is not the only way to anonymize data. If your sensor uses other metadata such as a patient id, please add a method deidentify
to clear such metadata.
You can look at devicely.SpacelabsReader.deidentify
for an example.
With the reader.write
method, users can write the identified data to be persistent, ideally in the same original sensor format.
Keeping the original format is not strictly necessary, just make sure that your reader class can be instantiated with the written data.
Write unit tests¶
Unit tests ensure that our sensor classes work the way we expect them to, which is why we aim for a high test coverage. The existing test cases are a good example to see how your test case should be structured. In general, have one test case for your sensor and one directory with data for testing. Write test methods for the most important use cases of your sensor, e.g. reading, timeshifting and writing. Please make sure that your test cases run fairly quickly as this helps us run tests locally and keep the GitHub Actions jobs fast. It helps to use small sensor files for testing, e.g. only 30 seconds long.
Write documentation¶
At devicely, we live by the motto Docs or it didn’t happen.
Therefore, all sensor classes need to be documented well. Most importantly, you need to add the following docstrings to your class:
a docstring on top of the class definition containing information about the sensor and what the most important class attributes are
a docstring for each method that users are meant to call specifying the syntax, parameters and return values
Apart from docstrings, all you need to do is add example code to the notebook with examples. Not only is this notebook meant to be run by users themselves, but it is also rendered in our Start guide for the devicely package documentation section.
The docstrings and the notebook are basically all you have to do to document your sensor class. Feel free to look at the existing sensors as a guide!
Provide example data¶
If you want people to try out your reader class, you need to provide example data. For this purpose we maintain this example repository with examples and data, to which you can create a PR to supply example data for your sensor.
License and Copyright¶
Currently devicely is licensed under the MIT license and all copyright is attributed to the Digital Health Center (Hasso Plattner Institute).


Sesar Mobile
Sample type:
Core
Core Half Round
Core Piece
Core Quarter Round
Core Section
Core Section Half
Core Sub-Piece
Core Whole Round
CTD (Conductivity, Temperature, and Depth)
Cuttings
Dredge
Grab
Hole
Individual Sample
Oriented Core
Other
Rock Powder
Terrestrial Section
Parent IGSN:
User Code:
Collector
Sample Name:
Private:
Off
On
Materials:
Biology
Gas
Liquid>aqueous
Liquid>organic
Mineral
Not applicable
Other
Particulate
Rock
Sediment
Soil
Collection Method:
Blasting
Camera SledCamera tow
Coring
Coring>BoxCorer
Coring>CameraMounted
CorerCoring>DrillCorer
Coring>FreeFallCorer
Coring>GravityCorer
Coring>GravityCorer>Giant
Coring>GravityCorer>Pilot
Coring>HandHeldCorer
Coring>KastenlotCorer
Coring>MultiCorer
Coring>PistonCorer
Coring>PistonCorer>Giant
Coring>RockCorer
Coring>SideSaddleCorer
Coring>SubmersibleMountedCorer
Coring>TriggerWeightCorer
Coring>VibratingCorer
Dredging
Dredging>Chain Bag
Dredging>ChainBagDredge
Grab
Grab>HOV
Grab>ROV
Manual
Probe
Sediment trap
Suspended sediment
Unknown
Latitude:
Longitude:
Elevation:
Location Name:
Locality:
Field name:
Description:
Samples
Settings


The Cross Products tab creates new intersection relationships for a term of interest (that is, the current sub-selection) based on a specified genus and collection of differentia. The Cross Products tab does not create any new terms. To create cross-product relationships for an existing term, load a term into the text editor panel by selecting it. To create a brand new term with a cross product definition, first create the new term and then specify the cross product definition as described below.
Note: In order to edit using the Cross Products Tab, you will need to have two, or more, Ontology Editor Panels open. See The Ontology Editor Panel help for more information on using multiple ontology editor panels.
The text editor contains a tab called "Cross Products":
This tab assumes that your cross products conform to the genus/differentia method of designating cross products. If you are using another, unrecommended method (ie creating random cross products by hand), this panel may behave in unexpected ways.
The genus term is listed at the top. Differentia terms are listed in the "Discriminating Relations" section. Each line of this section represents a relationship to a term. The drop down box contains the relationship type, and the button immediately to the right contains the target (parent) term of this relationship.
To the right of each button that contains a term is a button marked with a blue circle. Clicking this button causes the term to be selected in the ontology editor panel. These buttons are for use while browsing, not editing. Clicking one of these buttons will usually cause a new term to be loaded into the text editor, so you will lose any pending changes to the cross product definition if one of these buttons is clicked.
In an ontology editor panel that is NOT the primary selection panel, select the term that you wish to use as the genus term. Note that you cannot use the primary selection panel to select the term you wish to use as the genus term because selecting another term will unselect the term of interest for which you are trying to make the cross product relationships.
Drag the new genus term onto the button labeled "<drop a genus term>". The text on the button will change to the name of the new genus term.
To assign NO genus term, click the genus term button. The current genus term will be removed.
It is possible to create a valid cross-product with no genus term in OBO-Edit. It is not recommended.
In an ontology editor panel that is NOT the primary selection panel, select a term that you wish to use as a differentia term.
Drop the new differentia term onto the button labelled "drag new terms here". A popup menu will appear containing a list of all available relationship types in the current ontology. Choose an option from the menu to assign a type to your new relationship.
To entirely remove a differentia term, click the garbage can button next to the term.
The cross product tab is located inside the text editor. Therefore, you must click the "Commit" button to make your changes permanent. Otherwise, they will be lost when you click a new term.
Once changes are committed, OBO-Edit will create the hidden links that record your new cross product. If the reasoner is running, OBO-Edit will try to create inferred is_a links based on your new cross-product definition.


HD Report is a simple tool that allows owners of an HD Wallet to view the balances derived public keys in their HD Wallet. The report shows the individual balances for each derived address as well as the change addresses.
This depends on the wallet software you use, but what you are looking for is your XPUB Key, which starts with "xpub" followed by a long string of numbers. If you are using Wallet32 then you can find this in the settings menu of your HD wallet. If you are using Trezor then you can find this on MyTrezor online or through the settings on your device.
The derivations input allows you to select the number of derived public keys you would like to see on the report.


Welcome to Listantlocal.com, the service operated by Lista, LLC for consumers to research, rate, hire, and review a variety of service professionals.
By accessing the Listantlocal.com mobile application, (the "Application") you agree to be bound by these Terms of
Use (this "Agreement"), whether or not you register as a member of Listantlocal.com. If you wish to become a
member and make use of the Listantlocal.com service (the "Service"), please read these Terms of Use. The term
"Application" is deemed to refer to using of the Service by means of a computer, a mobile device or a mobile
application.
You should also read the Lista.com Privacy Policy, which is incorporated by reference into this Agreement and
available on the Application. If you do not accept and agree to be bound by all of the terms of this Agreement,
including the Listantlocal.com Privacy Policy, do not use the Application or the Service. Please contact us with any
questions regarding this Agreement.
a. This Agreement is an electronic contract that establishes the legally binding terms you must accept to use the Application and to become a "Member." For purposes of this Agreement, the term "Member" means a person who provides information to the Company on the Application or to participate in the Service in any manner. You acknowledge and agree that Members of Listantlocal.com may be part an online community that includes other Applications owned by the Company or its affiliates. Therefore, profiles on the Application may be viewable on other such Applications. This Agreement includes the Company’s Privacy Policy.
b. By accessing the Application or using the Service, you accept this Agreement and agree to the terms, conditions and notices contained or referenced herein and consent to have this Agreement and all notices provided to you in electronic form. Please print a copy of this Agreement for your records. This Agreement may be modified by the Company from time to time, such modifications to be effective upon posting by the Company on the Application.
c. By using the Service, you consent to receive this Agreement in electronic form by using the Service. To withdraw this consent, you must cease using the Service and terminate your account.
You must be at least 18 years of age to access and use the Service. Any use of the Service is void where prohibited. By accessing and using the Application, you represent and warrant that you have the right, authority and capacity to enter into this Agreement and to abide by all of the terms and conditions of this Agreement. If you become a Member, you represent and warrant that you have never been convicted of a felony and that you are not required to register as a sex offender with any government entity. Using the Service may be prohibited or restricted in certain countries. If you use the Service from outside of the United States, you are responsible for complying with the laws and regulations of the territory from which you access or use the Application or Service.
You may register as a Member at no cost. As a Member, you may use some, but not all, of the features and services available within the Service. A Member profile may remain posted on the Application even if that Member is not actively using the Service. You acknowledge that although a Member’s profile may be viewed, you may not be able to use the Service to communicate with that Member if he or she is not then actively using the Service.
This Agreement will remain in full force and effect while you use the Service and/or are a Member.
b. You may change or cancel your membership at any time, for any reason, by following the instructions on the "change/ cancel membership" or similar page on your "Account Settings" page. You may also cancel your membership by sending the Company written notice of cancellation to Listantlocal.com, 309 Fairchild St., Iowa City, IA 52240 or by email notice of cancellation to listantlocal.com. If you cancel your membership via the Application, we may ask you to provide a reason for your cancellation.
c. The Company may terminate or suspend your membership in the Service at any time without notice if the Company believes that you have breached this Agreement. The Company is not required to disclose, and may be prohibited by law from disclosing, the reason for the termination or suspension of your account.
d. After your membership or subscription is terminated for any reason, all terms of this Agreement survive such termination, and continue in full force and effect, except for any terms that by their nature expire or are fully satisfied.
You are responsible for maintaining the confidentiality of the username and password you designate during the registration process, and you are solely responsible for all activities that occur under your username and password. You agree to immediately notify the Company of any disclosure or unauthorized use of your username or password or any other breach of security, and ensure that you log out from your account at the end of each session.
a.    THE COMPANY MAKES NO REPRESENTATIONS OR WARRANTIES AS TO THE CONDUCT OF MEMBERS OR THEIR COMPATIBILITY WITH ANY CURRENT OR FUTURE MEMBERS.
b. The Company is not responsible for the conduct of any Member. As noted in and without limiting Sections 16 and 18 below, in no event shall the Company, its affiliates or its partners be liable (directly or indirectly) for any losses or damages whatsoever, whether direct, indirect, general, special, compensatory, consequential, and/or incidental, arising out of or relating to the conduct of you or anyone else in connection with the use of the Application or Service including, without limitation, death, bodily injury, emotional distress, and/or any other damages resulting from communications or meetings with other Members or persons you meet through the Service.  You should not provide your financial information (for example, your credit card or bank account information), or wire or otherwise send money, to other Members.
The Company owns and retains all proprietary rights in the Application and the Service, and in all content, trademarks, trade names, service marks and other intellectual property rights related thereto. The Application contains the copyrighted material, trademarks, and other proprietary information of the Company and its licensors. You agree to not copy, modify, transmit, create any derivative works from, make use of, or reproduce in any way any copyrighted material, trademarks, trade names, service marks, or other intellectual property or proprietary information accessible on the Application or through the Service, without first obtaining the prior written consent of the Company or, if such property is not owned by the Company, the owner of such intellectual property or proprietary rights. You agree to not remove, obscure or otherwise alter any proprietary notices appearing on any content, including copyright, trademark and other intellectual property notices.
a. You are solely responsible for the content and information that you post, upload, publish, link to, transmit, record, display or otherwise make available (hereinafter, "post") on the Service or transmit to other Members, including emails, videos (including streaming videos), photographs, voice notes, recordings or profile text, whether publicly posted or privately transmitted (collectively, "Content"). You may not post on the Application or as part of the Service, or transmit to the Company or any other Member (either on or off the Application), any offensive, inaccurate, abusive, obscene, profane, sexually oriented, threatening, intimidating, harassing, racially offensive, or illegal material, or any material that infringes or violates another person’s rights (including intellectual property rights, and rights of privacy and publicity). You represent and warrant that all information that you submit upon registration is accurate and truthful and that you will promptly update any information provided by you that subsequently becomes inaccurate, misleading or false.
b. You understand and agree that the Company may, but is not obligated to, monitor or review any Content you post on the Application or as part of a Service. The Company may delete any Content, in whole or in part, that in the sole judgment of the Company violates this Agreement or may harm the reputation of the Application or the Company. The Company may restrict the number of emails which a Member may send to other Members in any 24- hour period to a number which we deem appropriate in our sole discretion.
c. By posting Content on the Application or as part of the Service, you automatically grant to the Company, its affiliates, licensees and successors, an irrevocable, perpetual, non- exclusive, fully paid-up, worldwide right and license to (i) use, copy, store, perform, display, reproduce, record, play, adapt, modify and distribute the Content, (ii) prepare derivative works of the Content or incorporate the Content into other works, and (iii) grant and authorize sublicenses of the foregoing in any media now known or hereafter created. You represent and warrant that any posting and use of your Content by the Company will not infringe or violate the rights of any third party.
d. In addition to the types of Content described in Section 9(a) above, the following is a partial list of the kind of Content that is prohibited on the Application. You may not post, upload, display or otherwise make available Content that:
The Company reserves the right, in its sole discretion, to investigate and take appropriate legal action against anyone who violates this provision, including removing the offending communication from the Application or Service and terminating or suspending the membership of such violators.
e. Your use of the Application and Service, including all Content you post through the Service, must comply with all applicable laws and regulations. You agree that the Company may access, preserve and disclose your account information and Content if required to do so by law or in a good faith belief that such access, preservation or disclosure is reasonably necessary, such as to: (i) comply with legal process; (ii) enforce this Agreement; (iii) respond to claims that any Content violates the rights of third parties; (iv) respond to your requests for customer service or allow you to use the Application in the future; or (v) protect the rights, property or personal safety of the Company or any other person.
The Company reserves the right to investigate and/or terminate your membership if you have misused the Service or behaved in a way the Company regards as inappropriate or unlawful, including actions or communications the occur off the Application but involve Members you meet through the Service. The following is a partial list of the type of actions that you may not engage in with respect to the Service. You will not:
The Company provides assistance and guidance through its customer care representatives. When communicating with our customer care representatives (whether over the telephone, or via email or letter), you agree to not be abusive, obscene, profane, offensive, sexist, threatening, harassing, racially offensive, or to not otherwise behave inappropriately. Telephone calls between you and our customer care representatives may be recorded for quality assurance purposes. If we feel that your behavior towards any of our customer care representatives or other employees is at any time threatening or offensive, we reserve the right to immediately terminate your membership and you will not be entitled to any refund of unused subscription fees.
a. The Company bills you through an online account (your "Billing Account") for use of the Service. You agree to pay the Company all charges at the prices you agreed to for any use of the Service by you or other persons (including your agents) using your Billing Account, and you authorize the Company to charge your chosen payment provider (your "Payment Method") for the Service. You agree to make payment using that selected Payment Method. The Company may correct any billing errors or mistakes that it makes even if it has already requested or received payment. This Section 12 includes any agreements you made with the Company on the Application when becoming a Member or using the Service. The terms of your payment will be based on your Payment Method and may be determined by agreements between you and the financial institution, credit card issuer or other provider of your chosen Payment Method. If you initiate a chargeback or otherwise reverse a payment made with your Payment Method, the Company may in its discretion terminate your account immediately. If the Company successfully disputes the reversal, and the reversed funds are returned, you are not entitled to a refund or to have your account or subscription reinstated.
b. You must provide current, complete and accurate information for your Billing Account. You must promptly update all information to keep your Billing Account current, complete and accurate (such as a change in billing address, card number or expiration date), and you must promptly notify the Company if your Payment Method is canceled (including if you lose your card or it is stolen), or if you become aware of a potential breach of security (such as an unauthorized disclosure or use of your name or password). Changes to such information can be made at "Account Settings" on the Application. If you fail to provide the Company any of the foregoing information, you agree that you are responsible for fees accrued under your Billing Account. In addition, you authorize us to obtain updated or replacement expiration dates and card numbers for you credit or debit card as provided by your credit or debit card issuer.
The Company reserves the right at any time to modify or discontinue, temporarily or permanently, the Application or the Service (or any part thereof) with or without notice. You agree that the Company shall not be liable to you or to any third party for any modification, suspension or discontinuance of the Service. To protect the integrity of the Application or the Service, the Company reserves the right at any time in its sole discretion to block users from certain IP addresses from accessing the Application or Service.
You may not post, distribute, or reproduce in any way any copyrighted material, trademarks, or other proprietary information without obtaining the prior written consent of the owner of such proprietary rights. Without limiting the foregoing, if you believe that your work has been copied and posted on the Service in a way that constitutes copyright infringement, please provide our Copyright Agent with the following information:
Notice of claims of copyright infringement should be provided to the Company’s Copyright Agent at listantlocal.com or the following address:
Copyright Agent
c/o Listantlocal.com Legal
309 Fairchild St.
Iowa City, IA 52240
The Company will terminate the accounts of repeat infringers.
When you become a Member, you agree and consent to receive email messages from us. These emails may be transactional or relationship communications relating to the Service, such as administrative notices and service announcements or changes, or emails containing commercial offers, promotions or special offers from us or third party partners. Please see the Company’s Privacy Policy for more information regarding these communications. From time to time, employees of the Company (or its parent or affiliated companies) may create test profiles for the purpose of testing the functionality of our Service and Application processes to improve service quality for our Members. Telephone calls between you and our customer care representatives may be recorded for quality assurance purposes.
a. You acknowledge and agree that neither the Company nor its affiliates and third party partners are responsible for and shall not have any liability, directly or indirectly, for any loss or damage, including personal injury or death, as a result of or alleged to be the result of (i) any incorrect or inaccurate Content posted on the Application or provided in connection with the Service, whether caused by Members or any of the equipment or programming associated with or utilized in the Application or Service; (ii) the timeliness, deletion or removal, incorrect delivery or failure to store any Content, communications or personalization settings; (iii) the conduct, whether online or offline, of any Member; (iv) any error, omission or defect in, interruption, deletion, alteration, delay in operation or transmission, theft or destruction of, or unauthorized access to, any user or Member communications; or (v) any problems, failure or technical malfunction of any telephone network or lines, computer online systems, servers or providers, computer equipment, software, failure of email or players on account of technical problems or traffic congestion on the Internet or at any Application or combination thereof, including injury or damage to Members or to any other person's computer related to or resulting from participating or downloading materials in connection with the Internet and/or in connection with the Service.  THE COMPANY DOES NOT REPRESENT OR WARRANT THAT THE APPLICATION OR SERVICE WILL BE UNINTERRUPTED OR ERROR FREE, SECURE OR THAT ANY DEFECTS OR ERRORS ON THE APPLICATION OR IN THE SERVICE WILL BE CORRECTED.
b.
c. From time to time, the Company may make third party opinions, advice, statements, offers, or other third party information or content available on the Application and/or through the Service. All third party content is the responsibility of the respective authors thereof and should not necessarily be relied upon. Such third party authors are solely responsible for such content. THE COMPANY DOES NOT: (I) GUARANTEE THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY THIRD PARTY CONTENT ON THE APPLICATION OR PROVIDED THROUGH THE SERVICE, OR (II) ADOPT, ENDORSE OR ACCEPT RESPONSIBILITY FOR THE ACCURACY OR RELIABILITY OF ANY OPINION, ADVICE, OR STATEMENT MADE BY ANY PARTY THAT APPEARS ON THE APPLICATION OR SERVICE.
d. In addition to the preceding paragraph and other provisions of this Agreement, any advice that may be posted on the Application or through the Service is for informational and entertainment purposes only and is not intended to replace or substitute for any professional financial, medical, legal, or other advice. The Company makes no representations or warranties and expressly disclaims any and all liability concerning any treatment, action by, or effect on any person following the information offered or provided within or through the Application or Service. If you have specific concerns or a situation arises in which you require professional or medical advice, you should consult with an appropriately trained and qualified specialist.
The Application may contain, and the Service or third parties may provide, advertisements and promotions offered by third parties and links to other web sites or resources. You acknowledge and agree that the Company is not responsible for the availability of such external Applications or resources, and does not endorse and is not responsible or liable for any content, information, statements, advertising, goods or services, or other materials on or available from such Applications or resources. Your correspondence or business dealings with, or participation in promotions of, third parties found on or through the Application or Service, including payment and delivery of related goods or services, and any other terms, conditions, warranties or representations associated with such dealings, are solely between you and such third party. 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 upon, any such content, information, statements, advertising, goods or services or other materials available on or through any such Application or resource.

a. The exclusive means of resolving any dispute or claim arising out of or relating to this Agreement (including any alleged breach thereof), the Service, or the Application shall be BINDING ARBITRATION administered by the American Arbitration Association. The one exception to the exclusivity of arbitration is that you have the right to bring an individual claim against the Company in a small-claims court of competent jurisdiction. But whether you choose arbitration or small-claims court, you may not under any circumstances commence or maintain against the Company any class action, class arbitration, or other representative action or proceeding.
b. By using the Application or the Service in any manner, you agree to the above arbitration agreement.   Your rights will be determined by a NEUTRAL ARBITRATOR, NOT A JUDGE OR JURY.  The arbitrator can grant any relief that a court can, but you should note that arbitration proceedings are usually simpler and more streamlined than trials and other judicial proceedings. Decisions by the arbitrator are enforceable in court and may be overturned by a court only for very limited reasons.
c. Any proceeding to enforce this arbitration agreement, including any proceeding to confirm, modify, or vacate an arbitration award, may be commenced in any court of competent jurisdiction. In the event that this arbitration agreement is for any reason held to be unenforceable, any litigation against the Company (except for small-claims court actions) may be commenced only in the federal or state courts for Johnson County, Iowa. You hereby irrevocably consent to the jurisdiction of those courts for such purposes.
d. This Agreement, and any dispute between you and the Company, shall be governed by the laws of the state of Iowa without regard to principles of conflicts of law, provided that this arbitration agreement shall be governed by the Federal Arbitration Act.
You agree to indemnify and hold the Company, its subsidiaries, and affiliates, and its and their officers, agents, partners and employees, harmless from any loss, liability, claim, or demand, including reasonable attorney's fees, made by any third party due to or arising out of your breach of or failure to comply with this Agreement (including any breach of your representations and warranties contained herein), any postings or Content you post on the Application or as a result of the Service, and the violation of any law or regulation by you. The Company reserves the right to assume the exclusive defense and control of any matter otherwise subject to indemnification by you, in which event you will fully cooperate with the Company in connection therewith.
The Company may provide you with notices, including those regarding changes to this Agreement, using any reasonable means now known or hereafter developed, including by email, regular mail, SMS, MMS, text message or postings on the Application. Such notices may not be received if you violate this Agreement by accessing the Service in an unauthorized manner. You agree that you are deemed to have received any and all notices that would have been delivered had you accessed the Service in an authorized manner.
This Agreement, with the Privacy Policy and any specific guidelines or rules that are separately posted for particular services or offers on the Application, contains the entire agreement between you and the Company regarding the use of the Application and/or the Service. If any provision of this Agreement is held invalid, the remainder of this Agreement shall continue in full force and effect. The failure of the Company to exercise or enforce any right or provision of this Agreement shall not constitute a waiver of such right or provision.  No agency, partnership, joint venture or employment is created as a result of this Agreement and you may not make any representations or bind the Company in any manner.
This Agreement is subject to change by the Company at any time. If you are a Member at the time of any change, the revised terms will be effective upon your use of the Service.


A creative all-rounder with roots in typography and graphic design. Who since graduating from the London College of Printing (ual:) has gained experience in a substantial and varied range of work. Designing for print, graphic identity, branding and digital, with occasional forays into code and development. Art direction for photography and moving image. Spacial design for exhibitions, site specific installations, retail and experiential retail. Often investigating, instigating, experimenting and collaborating.
Selected clients: Nike, Converse, Jack Purcell, Beats By Dre, StockX, ShowStudio, Copenhagen International Fashion Fair (CIFF), Onassis Cultural Centre (Onassis Stegi), Uniqlo.
A passion for book design has led to published works for numerous Artists, Architects and Art Institutions. Bruce McLean, William Alsop, Cedric Price and Adam Kalkin. Bibliothèque McLean, Laurence King and Routledge Publishing. Slade School of Art UCL, Chelsea Space and Scottish Arts Council to name (but) a few.


This is an example using a custom search function
The title attributes of the items are used in the search as well as the text content
Try searching for one of the following:
- Apple
- Banana
- Coconut
- Dragonfruit
- Egg
- Fish
- Guava
- Horseradish
- Ice cream
- Jelly
- Kiwi Fruit
- Lime
- Mango
- Orange
- Panchetta
- Quinoa
- Rack of
- Smoked Bacon
- Turkey
- Umbrella fruit


|
Helix
|
#include <IAFolder_test.h>
Public Member Functions | |
| IAFolderTest () | |
| Standard Constructor. More... | |
| virtual | ~IAFolderTest () |
| Standard Destructor. More... | |
| virtual void | runTests (IOConn &ioc, xmlNodePtr node) |
| Runs the tests contained in the given xmlNode. More... | |
| void | unusedSqlStmt (IOConn &ioc, xmlNodePtr node) |
| Public Member Functions inherited from Helix::Glob::DataObjectTestClass | |
| virtual | ~DataObjectTestClass () |
| virtual void | setRecordMode (bool tf) |
Static Public Member Functions | |
| static bool | compareObjects (IAFolder *first, IAFolder *second) |
| Compare two objects to see if they are the same. More... | |
| static bool | compareLists (vector< IAFolder * > *first, vector< IAFolder * > *second) |
| Compare two lists of objects to see if they are the same. More... | |
Private Member Functions | |
| IAFolderTest (const IAFolderTest &c) | |
| Copy constructor is private to prevent use. More... | |
| IAFolderTest & | operator= (const IAFolderTest &c) |
| Assignment operator is private to prevent use. More... | |
Static Private Attributes | |
| static DataObjectTestClassRegister< IAFolderTest > | reg |
| Registers us with the global factory map. More... | |
Additional Inherited Members | |
| Public Attributes inherited from Helix::Glob::DataObjectTestClass | |
| bool | m_recordMode |
| Are we running in record mode or not? More... | |
This is a generated data object test class that is used for testing the data object called IAFolder.
|
inlineprivate |
Copy constructor is private to prevent use.
| IAFolderTest::IAFolderTest | ( | ) |
Standard Constructor.
|
virtual |
Standard Destructor.
|
static |
Compare two lists of objects to see if they are the same.
Compare two objects to see if they are the same.
|
inlineprivate |
Assignment operator is private to prevent use.
|
virtual |
Runs the tests contained in the given xmlNode.
Implements Helix::Glob::DataObjectTestClass.
| void IAFolderTest::unusedSqlStmt | ( | IOConn & | ioc, |
| xmlNodePtr | node | ||
| ) |
This method will use our input XML document to prepare for and test the IAFolder.unusedSqlStmt method. We will use our list of output xml documents to verify the output of this method. If the list of ourput documents is empty, we will simply ensure that no exceptions are thrown using the given XML input document.
|
staticprivate |
Registers us with the global factory map.


Welcome to the Industrial Team!We would like to take moment to welcome you aboard and familiarize you with the resources we have available to you. Please contact us at any time through our Help Desk site or by email or phone. Creating a Ticket in our Help Desk system is highly advisable as it helps streamline the support process. | |||
| |||


Spotlight Title
Member Name/
Other Tekst
Spotlight Title
Member Name/
Other Tekst
Spotlight Title
Member Name/
Other Tekst
Spotlight Title
Member Name/
Other Tekst
Spotlight Title
Member Name/
Other Tekst
Spotlight Title
Member Name/
Other Tekst
Spotlight Title
Member Name/
Other Tekst
Spotlight Title
Member Name/
Other Tekst


--- layout: page title: About header-img: "img/about-bg.png" ---
Born and raised on the east coast, but currently residing in Austin, TX. I am a speech language pathologist by training in the process of transitioning into the field of software engineering.


 Please copy the following URL immediately, because we will show it only once. It will be gone if you reload the browser window." %}
{% blocktrans trimmed with lifetime_display=secret.lifetime_display expiration_date=secret.expiration_date|date:"Y-m-d@H:i:s" %} The secret expires in {{ lifetime_display }} ({{ expiration_date }} UTC). It cannot be viewed after. In fact, it will look like the secret never existed at all. {% endblocktrans %}
{% endif %}{% trans "That's it. We are all done here." %}
{% trans "Record another secret message" %}
{% trans "We're glad you asked." %}
{% blocktrans trimmed %} The link to the secret message is shown only once in case someone gets access to this private page (in your browser history or if you accidentally send the link to this page instead of the link to the secret in the box above). {% endblocktrans %}
{% if secret %}{% blocktrans trimmed with lifetime_display=secret.lifetime_display %} The secret will be available for {{ lifetime_display }} or until it has been viewed. {% endblocktrans %} {% endif %} {% endblock %} {% block extra_after_body %} {% endblock %}


Editing a Friendly URL Rule
How to edit a friendly URL rule.
- Navigate to Host > Host Settings.
- Select the Advanced Settings tab.
- Expand the Friendly URL Settings section.
- Click the Edit Rule button beside the rule to be edited.
- In the Match text box, edit the details as required.
- In the Replace With text box, edit the details as required.
- Click the Update Rule button to save your edits - OR - Click the Cancel Edit button to cancel your changes.


By joining PitchPlus, you agree to our Terms of Service and Privacy Policy
PITCH . PROMOTE . ADVERTISE


PERDITA DURANGO (Spanish, in English and Spanish with subtitles) A review by Mark R. Leeper in bullet-list form from the Toronto Internation Film Festival
CAPSULE: Lots of gunplay, some humor. The further adventures from one of the characters from WILD AT HEART. The title character runs into a sexy Mexican Santeria priest and they decide to kidnap some bland Americans and eat them. Pretty weird stuff. Rating: 4 (0 to 10), 0 (-4 to +4)
- Directed by Alex de la Iglesia. - Rosie Perez in an obviously very counter-culture film. Javier Bardem also stars as the killer and Santeria priest Romeo Doloroso. Screamin' Jay Hawkins also appears. Perez plays Perdita Durango, the same character played by Isabella Rossellini in David Lynch's WILD AT HEART. - No characters to identify with. Main character wants to kidnap and eat people to make a statement. - Lots of running gags, explosions, gunplay, running gags, cars hitting people, and running gags. - A little of John Waters-like take on American culture. - Colorful but overly long. - Obviously a film that got a budget but it is not clear the intended audience besides hip midnight crowds. - Possibly lost on Canadian or American audience: Romeo robs a bank disguised as Santo, a Mexican movie hero and professional wrestler. - Simon Boswell's musical score is very dramatic.
Mark R. Leeper<EMAIL_ADDRESS>Copyright 1998 Mark R. Leeper
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019package org.apache.shiro.subject; 020 021import java.util.Map; 022 023/** 024 * EXPERIMENTAL - DO NOT USE YET 025 *
 026 * A {@code PrincipalMap} is map of all of a subject's principals - its identifying attributes like username, userId, 027 * etc. 028 *
 029 * The {@link Map} methods allow you to interact with a unified representation of 030 * all of the Subject's principals, even if they came from different realms. You can think of the {@code Map} methods 031 * as the general purpose API for a Subject's principals. That is, you can access a principal generally: 032 *
 033 * Object principal = subject.getPrincipals().get(principalName); 034 *
 035 * For example, to get the Subject's username (if the 036 * username principal indeed exists and was populated by a Realm), you can do the following: 037 *
 038 * String username = (String)subject.getPrincipals().get("username"); 039 *
 040 *
Multi-Realm Environments
 041 * If your application uses multiple realms, the {@code Map} methods reflect 042 * the the aggregate principals from all realms that authenticated the owning {@code Subject}. 043 *
 044 * But in these multi-realm environments, it is often convenient or necessary to acquire only the principals contributed 045 * by a specific realm (often in a realm implementation itself). This {@code PrincipalMap} interface satisfies 046 * those needs by providing additional realm-specific accessor/mutator methods. 047 * 048 * @author Les Hazlewood 049 * @since 1.2 050 */ 051public interface PrincipalMap extends PrincipalCollection, Map<String,Object> { 052 053 Map<String,Object> getRealmPrincipals(String realmName); 054 055 Map<String,Object> setRealmPrincipals(String realmName, Map<String,Object> principals); 056 057 Object setRealmPrincipal(String realmName, String principalName, Object principal); 058 059 Object getRealmPrincipal(String realmName, String realmPrincipal); 060 061 Object removeRealmPrincipal(String realmName, String principalName); 062 063}


shuffle
skip_previous
skip_next
repeat
thumb_up
remove_red_eye
refresh
share
more_vert
SomeOne:
Hey nice song!! Keep it up!
SomeOne:
Cool!! Waiting for more!
SomeOne:
It was awesome!
From the same artist
SomeOne: Hey nice song!! Keep it up!
SomeOne: Cool!! Waiting for more!
SomeOne: It was awesome!


reCAPTCHA for Bootstrap
reCAPTCHA based on
Bootstrap
and
Font Awesome
!
GitHub Project
bootstrap-social
flag-icon-css
Sorry.. new reCAPTCHA killed this project
Defaulty
Download
defaulty.html
Righty
Download
righty.html
Lefty
Download
lefty.html
Stacky
Download
stacky.html
Minimaly
Download
minimaly.html
Tolky
Download
tolky.html
Next Gen
Download
nextgen.html


{% extends "layout.html" %} {% block content %}
You have not confirmed your account. Please check your inbox (or your spam folder) - you should have received an email with a confirmation link.
Didn't get the email? Resend.
Not your Email? Log out {% endblock %}


Returns a list of the users actions.
# File lib/trello/member.rb, line 31 31: def actions 32: return @actions if @actions 33: @actions = Client.get("/members/#{username}/actions").json_into(Action) 34: end
Returns a list of the boards a member is a part of.
The options hash may have a filter key which can have its value set as any of the following values:
:filter => [ :none, :members, :organization, :public, :open, :closed, :all ] # default: :all
# File lib/trello/member.rb, line 41 41: def boards(options = { :filter => :all }) 42: return @boards if @boards 43: @boards = Client.get("/members/#{username}/boards", options).json_into(Board) 44: end
Returns a list of cards the member is assigned to.
The options hash may have a filter key which can have its value set as any of the following values:
:filter => [ :none, :open, :closed, :all ] # default :open
# File lib/trello/member.rb, line 51 51: def cards(options = { :filter => :open }) 52: return @cards if @cards 53: @cards = Client.get("/members/#{username}/cards", options).json_into(Card) 54: end
Returns a list of notifications for the user
# File lib/trello/member.rb, line 67 67: def notifications 68: Client.get("/members/#{username}/notifications").json_into(Notification) 69: end
Returns a list of the organizations this member is a part of.
The options hash may have a filter key which can have its value set as any of the following values:
:filter => [ :none, :members, :public, :all ] # default: all
# File lib/trello/member.rb, line 61 61: def organizations(options = { :filter => :all }) 62: return @organizations if @organizations 63: @organizations = Client.get("/members/#{username}/organizations", options).json_into(Organization) 64: end
Returns a hash of the items that would be returned by Trello.
# File lib/trello/member.rb, line 72 72: def to_hash 73: { 74: 'id' => id, 75: 'fullName' => full_name, 76: 'username' => username, 77: 'gravatar' => gravatar_id, 78: 'bio' => bio, 79: 'url' => url 80: } 81: end
Update the fields of a member.
Supply a hash of string keyed data retrieved from the Trello API representing an Member.
# File lib/trello/member.rb, line 20 20: def update_fields(fields) 21: @id = fields['id'] 22: @full_name = fields['fullName'] 23: @username = fields['username'] 24: @gravatar_id = fields['gravatar'] 25: @bio = fields['bio'] 26: @url = fields['url'] 27: self 28: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.


Online Python Tutor supports Python 2.7 and Python 3.3 with limited module imports and no file I/O.
Have a question? Maybe the FAQ or other documentation can help. Or check out its code at GitHub.
Join the pythontutor-users mailing list to participate in user discussions and pythontutor-announce to receive occasional announcements. (Your name and email address will be kept private; only the list owner can see them.)
Copyright © 2010-2013 Philip Guo. All rights reserved.


---
layout: portal
category: reject
tags: reject bridge
id: 106
imgurl: https://lh4.ggpht.com/ErzuLx0QGKfj0rGd-J5FvIrgDwqM0jRXcWvVPVagzooL8D4ZQ0aZiaHyZJ4kqEyRa3cnrDiyG5Tef4BLc9V1
portalname: 白鳥橋梁
sentdate: Wed Apr 15 08:34:05 JST 2015
title: 106 - 白鳥橋梁
---
From: Ingress Operations<EMAIL_ADDRESS>Date: 2015-04-13 12:36 GMT+09:00
Subject: Ingress Portal Rejected: 白鳥橋梁
To: **
Thank you for your Portal submission. However, this Portal candidate does not meet the criteria required for approval.
Please refer to New Portal Submission criteria at our Help Center for further information.


Recent Searches
-
{{i+1}}
{{lastSearch['MAKER / MAKE'] | capitalize}}
{{lastSearch['REGISTRATION NO'] | capitalize}}
Recent Saved
-
{{i+1}}
{{save['MAKER / MAKE'] | capitalize}} {{save['REGISTRATION NO'] | capitalize}}
×
Your record has been deleted successfully


Aerial images show village near Doncaster partially submerged by flood water – video
by Terry HarrisHundreds of homes in Fishlake near Doncaster have been flooded after the River Don burst its banks, with many parts of the village are under almost a metre (3ft) of water and only accessible by boat or tractor. About half of the 700 residents were forced to evacuate as seven severe flood warnings were in place in South Yorkshire with a potential danger to life.


--- layout: post title: Ruby on Rails as a Burton Group telebriefing categories: [] author: admin published: true date: 2005-09-17 09:41:09.000000000 +01:00 ---
The Burton Group advices Fortune 500 CTOs and other big shots on existing and upcoming technology. On September 28th, they will host a telebriefing using a panel discussion with Dave Thomas, David Geary, and yours truly. This briefing will come hot on the heels of a new report currently being prepared by the group that examines Ruby on Rails and encourage the enterprise to start getting interested.


I'm not sure why all apps seem to have this page. It doesn't do anything useful.
Here's a random map, to prove the point.
Where is it centered?
Your guess is as good as mine.
I'm not sure why all apps seem to have this page. It doesn't do anything useful.
Here's a random map, to prove the point.
Where is it centered?
Your guess is as good as mine.


Duplicates in Angular JS
April 20, 2016
Perfection is the enemy of done. And obsession is the lust for perfection
In that spirit, I've struggled to control my obsession to explore all the avenues for filtering in Angular. As we know, Angular doesn't like duplicate elements in your data array, so much so that it will fail obviously even when it's oft-stated nature is to fail silently.
So today's topic is filter(). It does what it says, just read the docs! But sometimes you read the docs, and other times you really read the docs. Today I did the latter.
arr.every(callback[, thisArg])
First, let's take that callback. We can provide an anonymous function
var bears = ['grizzly', 'black', 'sun', 'panda']; var realBears = bears.filter(function(value) {return value != 'panda'} ); console.log(realBears); => ["grizzly", "black", "sun"]
... or provide a named function.
function pandasAreNotReallyBears(value) { return value != "panda" } var realBears = bears.filter(pandasAreNotReallyBears); console.log(realBears); => ["grizzly", "black", "sun"]
Got it. Going deeper, we see we have more than just value available to us in that function, whether it's named or not. We have index as well as the whole array itself. Even though I can't imagine a case to show the usefulness of that.
function pandasAreNotReallyBears(value, index, array) { console.log(array[index]); return value != "panda" }
Moving on, we have thisArg. Initially I thought that was some cool way I could modify the value of the iterator, like to pass in a property of the object instead of the entire object. That would have been useful for what I was doing with NG. Alas, it is not. It's just some other variable we can pass in and then refer to it as this.
This is NOT the value we are passing in. Nor is it the array we are calling filter() on. Playing around in Firefox, I get some unexpected results for this.
function pandasAreNotReallyBears(value, index, array) { console.log(this); return value != "panda" } var realBears = bears.filter(pandasAreNotReallyBears); => Window about:newtab ...
Uh ok. So this is the entire window. But if we declare something, anything in that spot, we get something more predictable.
var message = 'yogi bear is a hungry bear'; function pandasAreNotReallyBears(value, index, array) { alert(this); return value != "panda" } var realBears = bears.filter(pandasAreNotReallyBears, message); => ... many alert messages
What's more useful for me here, is to pass in another array that will store my unique values. Remember at the start, I'm trying to filter a data array and weed out the duplicate elements.
var bears = ['grizzly', 'black', 'sun', 'panda', 'black']; var filteredBears = []; function uniqueBears(value) { if(this.indexOf(value) === -1) { this.push(value); } } bears.filter(uniqueBears, filteredBears); console.log(filteredBears); => ['grizzly', 'black', 'sun', 'panda']
That's what I want to see. Now I just need to get rid of those pandas again!


STDSAuthenticationRequestParameters Class Reference
| Inherits from | NSObject |
|---|---|
| Conforms to | STDSJSONEncodable |
| Declared in | STDSAuthenticationRequestParameters.h |
– initWithSDKTransactionIdentifier:deviceData:sdkEphemeralPublicKey:sdkAppIdentifier:sdkReferenceNumber:messageVersion:
Designated initializer for STDSAuthenticationRequestParameters
.
- (instancetype)initWithSDKTransactionIdentifier:(NSString *)sdkTransactionIdentifier deviceData:(nullable NSString *)deviceData sdkEphemeralPublicKey:(NSString *)sdkEphemeralPublicKey sdkAppIdentifier:(NSString *)sdkAppIdentifier sdkReferenceNumber:(NSString *)sdkReferenceNumber messageVersion:(NSString *)messageVersion
Parameters
sdkTransactionIdentifier |
The SDK Transaction Identifier, as created by |
|---|---|
deviceData |
Optional device data collected by the SDK. |
sdkEphemeralPublicKey |
The SDK ephemeral public key. |
sdkAppIdentifier |
The SDK app identifier. |
sdkReferenceNumber |
The SDK reference number. |
messageVersion |
The protocol version that is supported by the SDK and used for the transaction. |
Discussion
Designated initializer for STDSAuthenticationRequestParameters
.
Exceptions
InvalidInputException |
Thrown if an input parameter is invalid. @see InvalidInputException |
|---|
Declared In
STDSAuthenticationRequestParameters.h
deviceData
The encrypted device data as a JWE string.
@property (nonatomic, readonly, nullable) NSString *deviceData
Discussion
The encrypted device data as a JWE string.
Declared In
STDSAuthenticationRequestParameters.h
sdkTransactionIdentifier
The SDK Transaction Identifier.
@property (nonatomic, readonly) NSString *sdkTransactionIdentifier
Discussion
The SDK Transaction Identifier.
Declared In
STDSAuthenticationRequestParameters.h
sdkAppIdentifier
The SDK App Identifier.
@property (nonatomic, readonly) NSString *sdkAppIdentifier
Discussion
The SDK App Identifier.
Declared In
STDSAuthenticationRequestParameters.h
sdkReferenceNumber
The SDK reference number.
@property (nonatomic, readonly) NSString *sdkReferenceNumber
Discussion
The SDK reference number.
Declared In
STDSAuthenticationRequestParameters.h
sdkEphemeralPublicKey
The SDK ephemeral public key.
@property (nonatomic, readonly) NSString *sdkEphemeralPublicKey
Discussion
The SDK ephemeral public key.
Declared In
STDSAuthenticationRequestParameters.h
messageVersion
The protocol version that is used for the transaction.
@property (nonatomic, readonly) NSString *messageVersion
Discussion
The protocol version that is used for the transaction.
Declared In
STDSAuthenticationRequestParameters.h


Unifor members ratify contracts with Saskatchewan Crown corporations, water agency after strike
Unionized workers at four Saskatchewan Crown corporations and the Water Security Agency have ratified new contracts.
Finance Minister Donna Harpauer says she’s pleased the workers at the water agency as well as SaskTel, SaskEnergy, SaskPower, SaskWater voted in favour of the deal after a 17-day strike.
Wages are frozen for the first two years of all contracts but SaskTel employees get a five per cent increase over five years.
Workers at SaskEnergy, SaskWater and SaskPower get seven per cent over six years and water agency workers get six per cent over six years.
SecurTek and DirectWest, both subsidiaries of SaskTel, signed their own agreements at the end of October.
Unifor says the new agreement includes a net increase higher than the five per cent cap originally offered by the province.
The union represents nearly 5,000 Crown employees in Saskatchewan.


|
Runtime
Version 1.0
PULP Kernel Library
|
Enumerations | |
| enum | rt_freq_domain_e |
| Frequency domains. More... | |
Functions | |
| static unsigned int | rt_freq_get (rt_freq_domain_e domain) |
| Get current frequency of a domain. More... | |
| static hal_freq_domain_clk_tree_config_e | rt_freq_config_get (rt_freq_domain_e domain) |
| Get current config of a domain. More... | |
| int | rt_freq_config_set (rt_freq_domain_e domain, hal_freq_domain_clk_tree_config_e config) |
| Get current config of a domain. More... | |
| unsigned int | rt_freq_fll_freq_get (hal_fll_e fll, hal_fll_reg_set_e set) |
| Get frequency of a set of a given FLL. More... | |
| unsigned int | rt_freq_fll_freq_set (hal_fll_e fll, hal_fll_reg_set_e set, unsigned int freq) |
| Set frequency of a set of a given FLL. More... | |
| int | rt_freq_fll_status_get (hal_fll_e fll) |
| Get status of a set of a given FLL. More... | |
| int | rt_freq_fll_status_set (hal_fll_e fll, hal_fll_reg_set_e set, unsigned char enable) |
| Set frequency of a set of a given FLL. More... | |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/array.20induction.html ---
Given a theorem statement involving an array
, what might I use in the proof where I would normally use induction if the array
were instead a list
?
In particular, I have array.to_list
in the statement. It seems like I might use induction on the nat
size of the array, since the core of array.to_list
is d_array.rev_iterate_aux
.
Or: not the size but the index into the d_array
.
It depends on the statement
If you can have the array length vary, it might be easier to prove by induction over all vectors of any length
If the array is fixed, then you may need to do induction on the index, which is messier
So, I've got this:
@[simp] theorem to_list_zero (a : array 0 α) : a.to_list = [] := rfl
And I'm looking at this:
@[simp] theorem to_list_succ {n : ℕ} (a : array (n+1) α) : a.to_list = a.read ⟨n, nat.lt_succ_self n⟩ :: a.pop_back.to_list := _
But I think to_list
does a reverse fold, which means the above is not true.
to_list
produces a list in the same order as the index
rev_list
produces a list in reverse order (which turns out to be a bit easier to define)
so I think you want that statement to be on rev_list
This reminds me something: do we have an eliminator for finset
that eliminates a s : finset
to any Sort
?
Somewhere in mathlib?
If it is going all the way back to lists under permutation, it's easier to just do cases on the finset and the quot.lift
, i.e. define it via multiset
what would the type of such an eliminator be?
Plus, if you are doing dependent elimination over a quotient the compatibility hypothesis is a mess to work with
Right, I just looked into the multiset.lean
and saw your comments on the dependent recursor
Last updated: Apr 24 2020 at 19:02 UTC


Activists: Car bomb in northeast Syria kills at least 12
by The Associated PressBEIRUT — Syrian opposition activists say a car bomb has killed at least 12 people in a northern town controlled by Turkey-backed opposition fighters.
The Britain-based Syrian Observatory for Human Rights reported that 14 people, including nine civilians, were killed Saturday in the town of al-Bab.
The Aleppo Media Center, an activist collective, said 12 people were killed in the blast near a bus station in the town.
Different casualty figures are common in the immediate aftermath of explosions.
No one claimed responsibility for the attack.
Explosions have killed and wounded scores of people in Turkish-held areas of northeastern Syria in recent months.
Those attacks have come amid an expanding Turkish invasion of Syrian Kurdish-held towns and villages along a stretch of the border.
The Associated Press


@RobStuttaford@jgthms We use Bulma and Garden with front-end injected styles so we get full language features. Of course, we are building pretty small apps with modest CSS needs, but Tailwind has never called to me. Before Bulma we used Bootstrap, but purity.
Bulma is a modern CSS framework based on flexbox. It provides responsive design and mobile-first UI components and has the modular structure for you to import only the kinds of stuff that you want to include in your web design.
Been heads down cranking on the book, "Learning Blazor". Humbling experience, and I'm immensely grateful for this opportunity!  Thank you @BenFelda for personalized help, and @jgthms for #Bulma 🤓 pic.twitter.com/x7PHjcS2r3
As a long Rails fanatic, I hope @bulmaio is next 😍 by @jgthms a semantic friendly css framework with zero Javascript. It fits perfectly with hotwire's philosophy @dhh My faith in frontend is restored! twitter.com/dhh/status/147…
I can now say that @jgthms bulma is a really good CSS framework. I find it to be less hassle than Tailwind and have just the right amount of utility classes to get stuff done. I still like Tailwind but Bulma is definitely an option for me now. bulma.io
Currently Working on @Subscribee_net's DM functionalities - @jgthms' bulma.io is a hyper-accelerator when building the UI.
I want to modify it to look more like Twitters' DM UI but I'll definitely take the boilerplate that the panel-component provides! pic.twitter.com/rgyFMAE04b
(2/3) talented people, from all around the world! We're all really lucky to live in this time, a quick scan of the last ten centuries will tell you that - and it speaks volumes. I've been spending a lot of time on the #bulmacss (@jgthms) and @fontawesome docs 💯
I just deployed a beautiful website with the dazzling Bulma #CSS framework by @jgthms. UI design has never been more fun without this fantastic framework! Here is the website:
Redesigned the website for my browser extension, #RenewedTab. It's my first time customising a CSS framework (#bulmacss by @jgthms), was less painful than I thought it would be
PipeSocial is made with: - a framework that let you build super fast @rails - a template and a CSS framework (Bulma by @jgthms) - libraries to parse Twitter API
Don't start from scratch, don't care about code best practice.
added a close button to the edit field. next up, adding a checkbox for todo completed. also I am giving @jgthms, bulma a try. I like it so far. the descriptors of each class are named well. I like that. #100DaysOfCode
Have made a website mockup within a few days using the excellent bulma.io and some simple scripting. Most of it could probably be used in production. Really, really nice work @jgthms. 👍
Wow bulma.io by @jgthms looks like a really, really nice alternative to Bootstrap, and the markup is not terrifying like Tailwind. I'll definitely be checking this out for future projects. 👍
Just bought the official #bulma book as a way to learn from the creator and give back a little. Really love the framework ❤ Can't remember the last time something worked so awesomely out of the box. Thanks @@jgthms❤
@3LPU4S@jgthms I'm using Bulma in NextJS and so far it's very fast. I'm controlling everything from Next.js' globals.scss only, like extend a few Bulma classes into a class and then use it.
I wanted a light #CSS framework with sane defaults. Didn't want a bloated behemot like Bootstrap, Ant or Material. Didn't want the wacko class names of Tailwind.
@jgthms some our intranet pages use Bulma, cannot post a screenshot but I have to say the framework is amazing, definitely replaced/will replace bootstrap in some of our projects!
Desde hace años he usado el framework #Bootstrap para desarrollar proyectos simples por falta de tiempo. Y desde hace meses me animé a explorar otros frameworks más ligeros. Hoy empiezo a 'trastear' #Bulma 👩💻
Back to Zeer0! Also, thank you @walter_tommasi for Buefy which combines @jgthms's Bulma and @vuejs. You guys are making front end tech so easy that even I am starting to dream!
Day 68: Worked on @sig_five. Added @jgthms' Bulma to the app. Works great, didn't have to fight with it to get it to work. Very easy to use. Proceeded to build out a navbar and front page. Going to use this on my personal site. #100DaysOfCode#rubyonrails#buildinpublic
New portfolio: hyvdn.com Thanks: 1. @jgthms for the hassle free, beautiful bulma.io#css framework. 2. @k00 for inspiring me with his blogpost about minimum viable portfolio on @intercom blog. Feedback/Review most welcome. @tannerc @hemeon
Almost forgot! For a CSS framework, I'm using @jgthms Bulma.
I know Tailwind is very popular right now, but Bulma introduced utility classes for margins and paddings in version 0.7.1 -- Those were the utility classes that was looking for, so now all my CSS needs are covered 🙂
@MyTopSecretName@jgthms Got to say, I was dubious about Bulma at first as it was totally out of my comfort zone, but it's fast becoming my framework of choice 😍
Omg I've been fighting with bootstrap and foundation, trying to get them to work with my rails app, for days. After 5 minutes I have #bulmaio working. It's a miracle!!!! @jgthms
@jgthms Oh no, forgot to mention Bulma! It's great, imo the semantics are really well though out: classnames are easy to remember and it really helps when you want to build something fast!
Spent some time with #Bulma this afternoon and I must say I kind of like their echo-system compared to major rivals. Thanks for the great lightwork #CSS framework #CSS3#SCSS#framework bulma.io#bulmaio via @jgthms
We created our (dark themed) website with this amazing #bulma framework by @jgthms. We used #VueJS in combination with #buefy from @walter_tommasi, which is a match made in heaven! Super happy how all these tools work together and speed up development time a lot! Thanks a lot! pic.twitter.com/2RoY70NmNt
Tô precisando fazer um projetinho aqui e já tava desejando me matar por ter que usar bootstrap. Tava até considerando usar Vue mas é extremamente desnecessário pra algo que não tem tanto foco na interface. Aí eu conheci #bulmaio. Tks @jgthms ❤
#100DaysOfCode [ 7 ] Thank you @jgthms for CSS framework Bulma! It's straightforward. I can focus on priorities without getting bogged down with ux/ui. I was going to implement authentication in #flask but I accidentally dozed off before finishing. =\ So tire. SLEEP!!! #python
I made beautiful webpages without my own custom CSS!! What a wonderful! I just added some Bulma classes. Thank you Bulma. It is the greatest CSS framework!
Bulma: Free, open source, and modern CSS framework based on Flexbox bulma.io via @jgthms
I love bulma.io! I am not a Web developer but is building a new website using gatsby and azure static Web. Struggling with responsiveness and layout. Until I found #Bulma! @jgthms you are awesome!
@jgthms I'd like to personally thank you for the frankly amazing work you have created at Bulma! It's saved me countless hours and is something I know I can rely on when it comes to cross-platform compatibility!
After using Bulma for a few days, I think it is a framework I actually quite enjoy using. Still need some tugging with, but works mostly fine! bulma.io#bulmaio@jgthms
Today I'm porting a little personal project to use bulma.io@jgthms in an attempt to move away from bootstrap. So far so good - great docs! #100DaysOfCode
Built my first little project using @jgthms's Bulma. Love it makes things super simple I will using this for my projects going forward rather than bootstrap.
I can't believe I am only just discovering Bulma CSS now. This is a great alternative to Bootstrap, I will be using Bulma a lot more going forward 😊 #100DaysOfCode
Bulma: Free, open source, and modern CSS framework based on Flexbox bulma.io#bulmaio via @jgthms
We're very happy that @jgthms created the Bulma CSS framework. It has saved us a ton of time and made our site responsive on all devices! pic.twitter.com/lvEM7uhcLn
Stuff done so far today on my registration system:
- Decided to use devise instead of myMLH because admin roles were gonna be questionable. - Created gorgeous custom login and signup views with Bulma CSS by @jgthms - Learned Stimulus JS and used it for a navbar toggle pic.twitter.com/Gxu0ZymfFH
Built my first site from scratch on maskys.com as I start job hunting. Thanks @jgthms for creating @bulmaio and making the design-to-good-looking-site process a LOT less painful! 💜
I've been reluctant to use CSS frameworks, basically because I want to be cool and just use Sass. But I need to be quick, and Bulma is just so nice @jgthms
Along testing the new @Ghost membership features and turning my blog into subscriber-exclusive one, I experimented with my homepage design. New post cards, new footer and a new header. I like where this is going. @jgthms
Together with @BreznikMark I will host a three-part workshop on building blogs on @Ghost using Bulma (@jgthms ) - which I think is by far the best way to do so. It will be based on the fact that we learn best by making.
I truly am a fan. Already built three websites running on Bulma (and #buefy) and they are live and kicking in production. Awesome. bulma.io#bulmaio via @jgthms
@jgthms Bulma has helped me write so much more code without worrying about the little gotchas of CSS. The core set of components are great! Thanks! #madewithbulmaulluminate.com
We've finished decision process on frontend and backend stacks of our new - Real Estate CRM. Backend: Directus Headless CMS (@directus) + PHP + MySQL, Frontend: Bulma Css (@jgthms) + Vue (@vuejs) + Bulkit (@cssninjaStudio). Big thanks to all mentioned for wonderful work you did!
@marteensart@jgthms@Ghost I love Bulma. I’m no designer but have enjoyed building my site with it. The syntax and everything is a pleasure to work with. I use Jekyll + Github + Netlify. Pushing my commits with the GH desktop app and letting Netlify do its magic.
The Bulma (@jgthms) and @Ghost for building a blog is so remarkable. Bulma takes care of the design and Ghost of writing. And both can be/are minimalistic - exactly what you need for simple blogging without design restrictions. #Bulma#blog
This #bulmaio that @jgthms built is a pretty nifty thing! Very easy to refactor with and only bring what you need. Excited to see where it goes when 1.0 releases!
Thankfully I stumbled across Bulma (bulma.io). It is incredibly easy to use because of its clean and concise syntax. The documentation is phenomenal. Beginners should definitely give it a try. Great job @jgthms! #bulmaio#css
Starting a new project today and I'm thinking of using #Bulma. Great framework for quick prototyping and gives me the freedom I need to style parts as I need it. Nice work @jgthms
Just finished redesigning my website using @jgthms's Bulma. Barely used any JS. jQuery has it's uses but I'm loving this CSS only framework. Thanks a lot Jeremy! weboreviews.com#madewithbulma
Redesigned, re-introducing bdov.dev 2.0. Shout-out to @jgthms for Bulma, my new favorite CSS framework, and @zeithq for making deployment so, so simple. #portfolio
Okay so with @jgthms’s Bulma, I was able to make each one of my pages on my website’s templates in one single day with no prior knowledge on how to use it, the docs are super easy to understand and it’s a great library. #css
bulma.io has got to be the best CSS framework out there. @tailwindcss is great and all but Bulma CSS really keeps it simple, no JS required. You don't need to be a Front-End wizard to figure it out. Great job @jgthms
Started a new side project with bulma.io Awesome devX, super flexible and great docs & code org. Easily gets 🏆 as my favourite CSS framework for rapid prototyping. 💜 Thanks @jgthms
Third iteration of my landing page, now (haha) hosted on @zeithq Now, made using @jgthms' #bulma and @gatsbyjs, and heavily based on @fschultz_'s gatsby-universal repo ✨
Wanted a dark mode and discovered that in my build steps for @bulmaio inverting the values for $black, $white and greyscales and setting a bg-color for the html element is 90% of the work done. Relly great work by @jgthms to make stuff like this SO easy! #coding#webdevpic.twitter.com/nm84fBXcbU
I'm going to be spending a lot of time working on front end projects soon (several big projects underway!), and it couldn't be a more fortunate time to run across bulma.io. Amazing work, thanks for making CSS not such a nightmare @jgthms
Wow - Bulma CSS framework is absolutely brilliant! I don't think I'll miss Bootwhatever (see, already forgot the name). Thank you for making it @jgthms - great work indeed. bulma.io#bulma
I've been working on some @reactjs layouts components along with some #CSS extensions to #bulmaio from @jgthms - Featuring side panels, collapsible/flexible boxes and popout window that stay in sync through react portals! I can create desktop like web apps now 👍 pic.twitter.com/G7OqZD7XSn
I've never been a big fan of CSS frameworks, but I'm super impressed/at home reading the concepts behind Bulma. You may be changing my mind @jgthms! #bulmacss
After trying a few different web UI frameworks, I'm going with @jgthms's bulma.io for all new projects. I love that nearly everything is only a CSS class. buefy.github.io uses Vue components to clean up a few rough edges. #lovingWebDevAgain
Just dropped for my next project PureCSS – which I love – to try #Bulma by @jgthms 🤝 I'm already 100% in 💚 with it. So many classes. Super cool #UI elements. A complete documentation. #Opensource I mean, if you didn't try Bulma #css yet, check it out 👉 bulma.io
@SandricoP@treehouse Bulma created by @jgthms. It's a slimmer and a more modern version of bootstrap. CSS only based off flex box. Check it out @ bulma.io
Now that React changed its license, it has been dominating. Easy to pick up as well. The docs are good too unlike @angular
Man! & then I find Bulma.io css Framework. As a new front end programmer I have built some stuff with css from scratch and yes, ordinary html & css is fine of course, but hey, let's be honest... Once you go Bulma you don't go back! #bulmaio via @jgthms
Well, since I wasn't satisfied with 💯, I tweaked Jolly Moments a little and finally I can say my side project is super fast and SEO friendly, thanks to #bulmaio#madewithbulmapic.twitter.com/pNDywukYf1
Very impressed with Bulma as a css framework. It feels more intuitive and natural than other frameworks... Will be using it to revamp my website which is currently using Bootstrap. Great work @jgthms
OK, I was diggin' it before, but now it's official. #bulma#cssframework has now permanently replaced "the other guy." Both are great of course, but for me, Bulma offers a better customization experience. #Winning. New site launched. Thanks @jgthms for the great work!
#Bulma is simple yet awesome. It is light, feature packed and very easy to use. I really love how well the column system works. Beautifully done. Thumbs up to @jgthms for the great work!! #bulmaio#css#webdevelopment
May be moving from Bootstrap to Bulma ( by @jgthms ) for personal projects. From a developer perspective, it seems to be just as good as Bootstrap, but with more intuitive class names bulma.iopic.twitter.com/0SZe799SEn
I'm generally not the biggest fan of using front-end frameworks 🤷♂, but @bu@bulmaiois just something I've fallen in love with 💝! Beautiful yet highly customisable 👨💻. Awesome work @jgth@jgthms
I'm in love with bulma.io. The syntax, especially modifiers, is way better than the Bootstrap's one, easy to learn and remember. Awesome work @jgthms! #bulmaio
@andrewdotdobson@smashingmag Bulma by @jgthms is a great front-end framework with equally great documentation. Very clearly thought out class names and structure.
So "The official Bulma book" is out now by @jgthms.🙌 You will learn how to build interfaces with Bulma. I'm a huge Bulma fan and if you're looking for an alternative to @getbootstrap then this is for you. I used Bulma for cronhub.io.
I've spent a few hours now with the Bulma CSS framework and I have to say it's the most beautifully written framework I've ever had the pleasure of working with. Nice work @jgthms 👊 bulma.io#bulmaio
I think I'm in love with bulma.io. The syntax, especially modifiers, is way better than the Bootstrap's one, easy to learn and remember. Awesome work @jgthms! #bulmaio
I've been following Bulma for a while now and it's time to use it for real in a customized dashboard and I have to say: it is neat, sexy and lightweight (compared to Bootstrap). Thx @jgthms ! 😍 bulma.io#bulmaio
Just wanted to give a shoutout to @jgthms for creating the nicest, most thoughtful CSS-only framework bulma.io#bulmaio. In this age of bloated frameworks, it has everything I need and nothing that I don't.
I highly recommend bulma.io to those looking for a lightweight CSS framework. Used it in my most recent project and have enjoyed its straightforward approach. #bulmaio
Spent months comparing frontend frameworks for both #css and #javascript. Settled on @jgthms's #bulmaio for CSS and @Rich_Harris's @sveltejs for Javascript. Works great, there is a clear separation of look and function, and the resulting code is super clean. Perfect combo ! 🚀
@mojavelinux We're using @jgthms Bulma successfully for a communication facility dashboard together with @vuejs: Loving the KISS codestyle and clean L&F


public class LogAnalyzer
extends java.lang.Object
| Constructor and Description |
|---|
LogAnalyzer()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
int |
countUniqueIPs()
This method should return an integer representing the number of unique
IP addresses.
|
int |
countUniqueIPsInRange(int low,
int hi)
This method returns the number of unique IP addresses in records that
have a status code in the range from low to high, inclusive.
|
java.util.HashMap<java.lang.String,java.lang.Integer> |
countVisitsPerIP()
Maps an IP address to the number of times that IP address appears in
the web log file.
|
java.lang.String |
dayWithMostIPVisits(java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.String>> map)
This method returns the day that has the most IP address visits.
|
java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.String>> |
iPsForDays()
This method returns a map that uses
records and maps days from web logs to an ArrayList of IP addresses
that occurred on that day.
|
java.util.ArrayList<java.lang.String> |
iPsWithMostVisitsOnDay(java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.String>> map,
java.lang.String day)
This method returns an ArrayList of IP addresses that had the
most accesses on the given day.
|
java.util.ArrayList<java.lang.String> |
mostNumberVisitsByIP(java.util.HashMap<java.lang.String,java.lang.Integer> map)
This method returns an ArrayList of Strings of IP addresses that all
have the maximum number of visits to this website.
|
void |
printAll() |
void |
printAllHigherThanNum(int num)
This method should examine all the web log entries in records and print
those LogEntrys that have a status code greater than num.
|
void |
readFile(java.lang.String fname)
Read file and parse lines as LogEntry objects.
|
java.util.ArrayList<java.lang.String> |
uniqueIPVisitsOnDay(java.lang.String someday)
This method accesses the web logs in records and returns an ArrayList
of Strings of unique IP addresses that had access on the given day.
|
public LogAnalyzer()
public void readFile(java.lang.String fname)
fname
- name of log to be parsed, located in default directorypublic void printAll()
public int countUniqueIPs()
public void printAllHigherThanNum(int num)
num
- minimal status code to be printedpublic java.util.ArrayList<java.lang.String> uniqueIPVisitsOnDay(java.lang.String someday)
someday
- in the format “MMM DD” where MMM is the first three
characters of the month name with the first letter capitalized and the
others in lowercase, and DD is the day in two digits
(examples are “Dec 05” and “Apr 22”).public int countUniqueIPsInRange(int low, int hi)
low
- low limit of range (inclusive)hi
- high limit of range (inclusive)public java.util.HashMap<java.lang.String,java.lang.Integer> countVisitsPerIP()
public java.util.ArrayList<java.lang.String> mostNumberVisitsByIP(java.util.HashMap<java.lang.String,java.lang.Integer> map)
map
- map of IP to visit countspublic java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.String>> iPsForDays()
public java.lang.String dayWithMostIPVisits(java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.String>> map)
map
- maps days from web logs to an ArrayList of IP addresses
that occurred on that day.public java.util.ArrayList<java.lang.String> iPsWithMostVisitsOnDay(java.util.HashMap<java.lang.String,java.util.ArrayList<java.lang.String>> map, java.lang.String day)
map
- maps days from web logs to an ArrayList of IP addresses that
occurred on that dayday
- a day in the format "MMM DD"


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object ags.constraints.BitSet
public class BitSet
This class can be thought of in two ways. You can see it as a
vector of bits or as a set of non-negative integers. The name
BitSet
is a bit misleading.
It is implemented by a bit vector, but its equally possible to see
it as set of non-negative integer; each integer in the set is
represented by a set bit at the corresponding index. The size of
this structure is determined by the highest integer in the set.
You can union, intersect and build (symmetric) remainders, by
invoking the logical operations and, or, andNot, resp. xor.
This implementation is NOT synchronized against concurrent access from
multiple threads. Specifically, if one thread is reading from a bitset
while another thread is simultaneously modifying it, the results are
undefined.
| Field Summary | |
|---|---|
private long[] |
bits
The actual bits. |
private static int |
LONG_MASK
A common mask. |
private static long |
serialVersionUID
Compatible with JDK 1.0. |
| Constructor Summary | |
|---|---|
BitSet()
Create a new empty bit set. |
|
BitSet(int nbits)
Create a new empty bit set, with a given size. |
| Method Summary | |
|---|---|
void |
and(BitSet bs)
Performs the logical AND operation on this bit set and the given set . |
void |
andNot(BitSet bs)
Performs the logical AND operation on this bit set and the complement of the given bs . |
int |
cardinality()
Returns the number of bits set to true. |
void |
clear()
Sets all bits in the set to false. |
void |
clear(int pos)
Removes the integer pos from this set. |
void |
clear(int from,
int to)
Sets the bits between from (inclusive) and to (exclusive) to false. |
java.lang.Object |
clone()
Create a clone of this bit set, that is an instance of the same class and contains the same elements. |
boolean |
containsAll(BitSet other)
|
private void |
ensure(int lastElt)
Make sure the vector is big enough. |
boolean |
equals(java.lang.Object obj)
Returns true if the obj is a bit set that contains
exactly the same elements as this bit set, otherwise false. |
void |
flip(int index)
Sets the bit at the index to the opposite value. |
void |
flip(int from,
int to)
Sets a range of bits to the opposite value. |
boolean |
get(int pos)
Returns true if the integer bitIndex is in this bit
set, otherwise false. |
BitSet |
get(int from,
int to)
Returns a new BitSet composed of a range of bits from
this one. |
int |
hashCode()
Returns a hash code value for this bit set. |
boolean |
intersects(BitSet set)
Returns true if the specified BitSet and this one share at least one common true bit. |
boolean |
isEmpty()
Returns true if this set contains no true bits. |
int |
length()
Returns the logical number of bits actually used by this bit set. |
int |
nextClearBit(int from)
Returns the index of the next false bit, from the specified bit (inclusive). |
int |
nextSetBit(int from)
Returns the index of the next true bit, from the specified bit (inclusive). |
void |
or(BitSet bs)
Performs the logical OR operation on this bit set and the given set . |
void |
set(int pos)
Add the integer bitIndex to this set. |
void |
set(int index,
boolean value)
Sets the bit at the given index to the specified value. |
void |
set(int from,
int to)
Sets the bits between from (inclusive) and to (exclusive) to true. |
void |
set(int from,
int to,
boolean value)
Sets the bits between from (inclusive) and to (exclusive) to the specified value. |
int |
size()
Returns the number of bits actually used by this bit set. |
java.lang.String |
toString()
Returns the string representation of this bit set. |
void |
xor(BitSet bs)
Performs the logical XOR operation on this bit set and the given set . |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private static final long serialVersionUID
private static final int LONG_MASK
private long[] bits
| Constructor Detail |
|---|
public BitSet()
public BitSet(int nbits)
0
to nbits-1
.
nbits
- the initial size of the bit set
java.lang.NegativeArraySizeException
- if nbits < 0| Method Detail |
|---|
public void and(BitSet bs)
set
. This means it builds the intersection
of the two sets. The result is stored into this bit set.
bs
- the second bit set
java.lang.NullPointerException
- if bs is nullpublic void andNot(BitSet bs)
bs
. This means it
selects every element in the first set, that isn't in the
second set. The result is stored into this bit set and is
effectively the set difference of the two.
bs
- the second bit set
java.lang.NullPointerException
- if bs is nullpublic int cardinality()
public void clear()
public void clear(int pos)
pos
from this set. That is
the corresponding bit is cleared. If the index is not in the set,
this method does nothing.
pos
- a non-negative integer
java.lang.IndexOutOfBoundsException
- if pos < 0public void clear(int from, int to)
from
- the start range (inclusive)to
- the end range (exclusive)
java.lang.IndexOutOfBoundsException
- if from < 0 || to < 0 ||
from > topublic java.lang.Object clone()
clone
in class java.lang.Object
public boolean equals(java.lang.Object obj)
obj
is a bit set that contains
exactly the same elements as this bit set, otherwise false.
equals
in class java.lang.Object
obj
- the object to compare to
public void flip(int index)
index
- the index of the bit
java.lang.IndexOutOfBoundsException
- if index is negativepublic void flip(int from, int to)
from
- the low index (inclusive)to
- the high index (exclusive)
java.lang.IndexOutOfBoundsException
- if from > to || from < 0 ||
to < 0public boolean get(int pos)
bitIndex
is in this bit
set, otherwise false.
pos
- a non-negative integer
java.lang.IndexOutOfBoundsException
- if the pos is negativepublic BitSet get(int from, int to)
BitSet
composed of a range of bits from
this one.
from
- the low index (inclusive)to
- the high index (exclusive)
java.lang.IndexOutOfBoundsException
- if from > to || from < 0 ||
to < 0public int hashCode()
bits
, in such a manner that
bit k
is set in the BitSet (for non-negative values
of k
) if and only if
((k/64) < bits.length)
&& ((bits[k/64] & (1L << (bit % 64))) != 0)
Then the following definition of the hashCode method
would be a correct implementation of the actual algorithm:
public int hashCode() { long h = 1234; for (int i = bits.length-1; i >= 0; i--) { h ^= bits[i] * (i + 1); } return (int)((h >> 32) ^ h); }Note that the hash code values changes, if the set is changed.
hashCode
in class java.lang.Object
public boolean intersects(BitSet set)
set
- the set to check for intersection
java.lang.NullPointerException
- if set is nullpublic boolean isEmpty()
public int length()
public int nextClearBit(int from)
from
- the start location
java.lang.IndexOutOfBoundsException
- if from is negativepublic int nextSetBit(int from)
for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i + 1)) { // operate on i here }
from
- the start location
java.lang.IndexOutOfBoundsException
- if from is negativepublic void or(BitSet bs)
set
. This means it builds the union
of the two sets. The result is stored into this bit set, which
grows as necessary.
bs
- the second bit set
java.lang.NullPointerException
- if bs is nullpublic void set(int pos)
bitIndex
to this set. That is
the corresponding bit is set to true. If the index was already in
the set, this method does nothing. The size of this structure
is automatically increased as necessary.
pos
- a non-negative integer.
java.lang.IndexOutOfBoundsException
- if pos is negativepublic void set(int index, boolean value)
index
- the position to setvalue
- the value to set it to
java.lang.IndexOutOfBoundsException
- if index is negativepublic void set(int from, int to)
from
- the start range (inclusive)to
- the end range (exclusive)
java.lang.IndexOutOfBoundsException
- if from < 0 || from > to ||
to < 0public void set(int from, int to, boolean value)
from
- the start range (inclusive)to
- the end range (exclusive)value
- the value to set it to
java.lang.IndexOutOfBoundsException
- if from < 0 || from > to ||
to < 0public int size()
public java.lang.String toString()
toString
in class java.lang.Object
public void xor(BitSet bs)
set
. This means it builds the symmetric
remainder of the two sets (the elements that are in one set,
but not in the other). The result is stored into this bit set,
which grows as necessary.
bs
- the second bit set
java.lang.NullPointerException
- if bs is nullprivate void ensure(int lastElt)
lastElt
- the size needed for the bits arraypublic boolean containsAll(BitSet other)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


public interface MobilitySession
MobilityController.getSession(java.util.UUID)
.
Sessions provide the following methods for sending objects to remote machines:
void execute(String, Runnable)
or void execute(ConnectionId, Runnable)
or void execute(ConnectionId, ExecutionMode, Runnable)
Runnable
object, and any objects it references, to the given
remote machine, and executes it (calls the Runnable.run()
method) on the remote machinerun()
method can call methods on on any referenced objects sent with it,
or any methods in the remote applicationvoid
return types
or where the local application is not interested in returning any data from the remote machineT execute(String, Callable<T>)
orT execute(ConnectionId, Callable<T>)
orT execute(ConnectionId, ExecutionMode, Callable<T>)
Callable
object, and any objects it references, to the given
remote machine, and executes it (calls the Callable.call()
method) on the remote machinecall()
method can in turn call methods on on any referenced objects sent with it,
or any methods in the remote applicationcall()
method returns an object, and the local application can implement call
to
fetch an object from the remote machine. Alternatively, it could implement this to return the same
Callable (the Boomerang pattern), or a referenced object which was sent alongside the Callable back
again to local applicationConnectionId
ExecutionMode
RETURN_RESPONSE
and FIRE_AND_FORGET
, respectively
ExecutionMode.RETURN_RESPONSE
is specified
execute
method on the local machine will block (wait) until the entire
operation has been performed on the remote machine (run()
or
call()
invoked), and the remote machine has returned a confirmation of the
outcome of the operation to the local machineExecutionMode.FIRE_AND_FORGET
is specified
execute
method on the local machine will queue the object for sending
to the remote machine and will then return immediately| Modifier and Type | Method and Description |
|---|---|
<T> T |
execute(ConnectionId connectionId,
Callable<T> callable)
Transfers the given
Callable object, and any objects it references, to the given remote machine,
and executes it (calls the Callable.call() method) on the remote machine. |
<T> T |
execute(ConnectionId connectionId,
ExecutionMode executionMode,
Callable<T> callable)
Transfers the given
Callable object, and any objects it references, to the given remote machine,
and executes it (calls the Callable.call() method) on the remote machine. |
void |
execute(ConnectionId connectionId,
ExecutionMode executionMode,
Runnable runnable)
Transfers the given
Runnable object, and any objects it references, to the given remote machine,
and executes it (calls the Runnable.run() method) on the remote machine. |
void |
execute(ConnectionId connectionId,
Runnable runnable)
Transfers the given
Runnable object, and any objects it references, to the given remote machine,
and executes it (calls the Runnable.run() method) on the remote machine. |
<T> T |
execute(String address,
Callable<T> callable)
Transfers the given
Callable object, and any objects it references, to the given remote machine,
and executes it (calls the Callable.call() method) on the remote machine. |
void |
execute(String address,
Runnable runnable)
Transfers the given
Runnable object, and any objects it references, to the given remote machine,
and executes it (calls the Runnable.run() method) on the remote machine. |
MobilityController |
getMobilityController()
Returns the mobility controller which manages this session.
|
SessionClassLoader |
getSessionClassLoader()
Returns the class loader associated with this session.
|
UUID |
getSessionId()
Returns the UUID of this session.
|
void |
release()
Removes this session from the mobility controller.
|
UUID getSessionId()
void execute(String address, Runnable runnable)
Runnable
object, and any objects it references, to the given remote machine,
and executes it (calls the Runnable.run()
method) on the remote machine.
This is a convenience method for calling execute(ConnectionId, ExecutionMode, Runnable)
with ExecutionMode.RETURN_RESPONSE
and default port 5739 in the connection id.address
- The address (ip or name) of the remote machinerunnable
- The object to send and execute on the remote machinevoid execute(ConnectionId connectionId, Runnable runnable)
Runnable
object, and any objects it references, to the given remote machine,
and executes it (calls the Runnable.run()
method) on the remote machine.
This is a convenience method for calling execute(ConnectionId, ExecutionMode, Runnable)
with ExecutionMode.RETURN_RESPONSE
.connectionId
- The address/port of the remote machinerunnable
- The object to send and execute on the remote machinevoid execute(ConnectionId connectionId, ExecutionMode executionMode, Runnable runnable)
Runnable
object, and any objects it references, to the given remote machine,
and executes it (calls the Runnable.run()
method) on the remote machine.connectionId
- The address/port of the remote machineexecutionMode
- Either of the following, see: ExecutionMode.RETURN_RESPONSE
or
ExecutionMode.FIRE_AND_FORGET
runnable
- The object to send to the remote machine<T> T execute(String address, Callable<T> callable)
Callable
object, and any objects it references, to the given remote machine,
and executes it (calls the Callable.call()
method) on the remote machine. Transfers the object returned
by the call
method on the remote machine, and any objects it references, back to the local
application.
This is a convenience method for calling execute(ConnectionId, ExecutionMode, Runnable)
with ExecutionMode.RETURN_RESPONSE
and default port 5739 in the connection id.address
- The address (ip or name) of the remote machinecallable
- The object to send to the remote machineCallable.call()
method on the remote machine (transferred back to
this machine)<T> T execute(ConnectionId connectionId, Callable<T> callable)
Callable
object, and any objects it references, to the given remote machine,
and executes it (calls the Callable.call()
method) on the remote machine. Transfers the object returned
by the call
method on the remote machine, and any objects it references, back to the local
application.
This is a convenience method for calling execute(ConnectionId, ExecutionMode, Runnable)
with ExecutionMode.RETURN_RESPONSE
.connectionId
- The address/port of the remote machinecallable
- The object to send to the remote machineCallable.call()
method on the remote machine (transferred back to
this machine)<T> T execute(ConnectionId connectionId, ExecutionMode executionMode, Callable<T> callable)
Callable
object, and any objects it references, to the given remote machine,
and executes it (calls the Callable.call()
method) on the remote machine. Transfers the object returned
by the call
method on the remote machine, and any objects it references, back to the local
application.connectionId
- The address/port of the remote machineexecutionMode
- Either of the following, see: ExecutionMode.RETURN_RESPONSE
or
ExecutionMode.FIRE_AND_FORGET
callable
- The object to send to the remote machineCallable.call()
method on the remote machine (transferred back to
this machine)SessionClassLoader getSessionClassLoader()
MobilityController getMobilityController()
void release()
MobilityController.releaseSession(java.util.UUID)
,
which bypasses this safeguard, and allows sessions to be released immediately.Copyright © 2012. All Rights Reserved.