Rendezvous In Paris (1995) A film review by James Berardinelli Copyright 1996 James Berardinelli
RATING (0 TO 10): 8.0 Alternative Scale: ***1/2 out of ****
France, 1995 U.S. Release Date: beginning 8/96 (limited) Running Length: 1:34 MPAA Classification: No MPAA Rating (Mature themes) Theatrical Aspect Ratio: 1.66:1
Cast: Clara Bellar, Antoine Basler, Mathias Megard, Judith Chancel, Aurore Rauscher, Serge Renko, Michael Kraft, Benedicte Loyen, Veronika Johansson Director: Eric Rohmer Producer: Francoise Etchegaray Screenplay: Eric Rohmer Cinematography: Diane Baratier Music: Sebastien Erms U.S. Distributor: Artificial Eye Film Co. In French with English subtitles
If Paris is indeed the city for lovers, then Eric Rohmer has perfectly captured the mood in his 1995 film, RENDEZVOUS IN PARIS, which, like most of Rohmer films, has taken over a year to finally reach U.S. screens. Rohmer, one of France's most respected directors, is seventy-five years old, but his vision is that of someone less than half his age. He writes for young characters better than most twenty- something screenwriters, yet the thoughts and ideas presented in his films are valid for all ages.
The best thing, and sometimes the only thing, about Rohmer's work is the dialogue. No one makes films quite like him, and, any time a movie is distinguished by intelligent, meaningful conversation, the French film maker's name immediately comes up (check out reviews of Richard Linklater's 1995 romantic comedy, BEFORE SUNRISE, for examples). Films like CLAIRE'S KNEE, CHLOE IN THE AFTERNOON, and A TALE OF SPRINGTIME keep us engrossed for their entire running length not because the plot goes anywhere in particular, but because we're always interested in hearing what the characters are going to say next.
RENDEZVOUS IN PARIS is a trilogy of short stories about people meeting, and sometimes missing each other, in Paris. Each segment introduces new characters, but there are certain common themes that wind throughout all three. With this triptych, Rohmer is illustrating the many ways that human interaction can occur. He shows people in love, pretending to be in love, and wishing they were in love. If you meet someone on the street, how different will things be if you keep walking, or if you follow them? Rohmer shows the importance of fate and coincidence in determining our choice of companions. A rendezvous, after all, can be planned or unexpected, pleasant or undesirable.
The first story in RENDEZVOUS IN PARIS is "The Seven O'Clock Rendezvous." It introduces a young couple, Esther (Clara Bellar) and Horace (Antoine Basler), who appear to be very much in love. However, Esther soon learns that her lover may be unfaithful, and, although she wants to trust him, doubt gnaws at her. At this juncture, a young, attractive man (Mathias Megard) approaches her uncertainly on the street, wanting to go out with her. After a short conversation, Esther arranges a seven o'clock rendezvous with him at a cafe. Much more happens in this episode, but I don't want to reveal anything else, except to say that Rohmer has a few delicious twists in store for his viewers. Of the three parts of RENDEZVOUS, this is the most plot- oriented.
"The Benches of Paris" is a two-character play. It introduces a pair of teachers (played by Aurore Rauscher and Serge Renko) who are falling in love. They are not lovers -- she is still involved with someone named Benoit, whom she claims to feel nothing for. The couple strolls through Paris, going from parks to cemeteries to greenhouses, enjoying each other's company and talking about love, life, and whether kisses are more memorable in icy weather. Eventually, on one of these walks, they decide to consummate the relationship by taking a room in a hotel after pretending to be tourists in Paris. But fate has one final obstacle to place in their path.
"Mother and Child", the most talky segment, concludes the trilogy. It begins with a painter (Michael Kraft) showing his work to a Swedish visitor (Veronika Johansson) for whom he's playing tourist guide. When he tires of her banal conversation, he drops her off at a museum to see a Picasso exhibit. On the way home, the painter's attention is captivated by a girl he passes on the street (Benedicte Loyen). He follows her, and, when he eventually meets her, discovers that his powers of seduction aren't as irresistible as he thinks.
Of the three episodes, the second is my favorite. The chemistry between the two leads is amazing. The dialogue is perfect, causing the half-hour to pass too quickly. It's a wonderfully romantic situation that underscores Rohmer's directorial skills. Don't just listen to the way these two talk, watch their body language. Rohmer is a master of subtlety -- these kinds of little details are evident throughout. For example, when a stranger visits Esther's room in the first segment, watch her eyes as she covertly takes in her surroundings.
I've never before seen any of the actors in this film, but they're all wonderful. Rohmer has chosen a group of young people who are not only attractive, but capable. With so little time to present their characters, each effectively accomplishes the aim, and, even though some of them are on screen for only a few minutes, they fashion men and women that we can identify with, even when we don't particularly like them.
With RENDEZVOUS IN PARIS, as with many of his other films, Rohmer proves that social intercourse can be as delightful as the sexual variety. Hal Hartley's recent FLIRT fails to do much the same thing that RENDEZVOUS succeeds at: show the varied, unpredictable results of basic, flirtatious human contact. RENDEZVOUS isn't among Rohmer's great movies -- although dialogue is always the chief pleasure of his films, the full-length features allow us to delight in conversations while growing to appreciate the characters. The half-hour length of RENDEZVOUS' segments limits character identification. Nevertheless, in each of his three short episodes, Rohmer gives us more substance than that which is found most two-hour movies.
- James Berardinelli e-mail<EMAIL_ADDRESS>ReelViews web site: http://www.cybernex.net/~berardin
"We go away from our parents in youth and then we gradually come back to them; and in that moment, we have grown up." -- Ingmar Bergman
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


Properties
avgTotalVolume
avgTotalVolume: number = 0
calculationPrice
calculationPrice: string = ""
change
change: number = 0
changePercent
changePercent: number = 0
closeTime
closeTime: number = 0
companyName
companyName: string = ""
delayedPrice
delayedPrice: number = 0
delayedPriceTime
delayedPriceTime: number = 0
extendedChange
extendedChange: number = 0
extendedChangePercent
extendedChangePercent: number = 0
extendedPrice
extendedPrice: number = 0
extendedPriceTime
extendedPriceTime: number = 0
iexAskPrice
iexAskPrice: number = 0
iexAskSize
iexAskSize: number = 0
iexBidPrice
iexBidPrice: number = 0
iexBidSize
iexBidSize: number = 0
iexLastUpdated
iexLastUpdated: number = 0
iexMarketPercent
iexMarketPercent: number = 0
iexRealtimePrice
iexRealtimePrice: number = 0
iexRealtimeSize
iexRealtimeSize: number = 0
iexVolume
iexVolume: number = 0
latestPrice
latestPrice: number = 0
latestSource
latestSource: string = ""
latestTime
latestTime: string = ""
latestUpdate
latestUpdate: number = 0
latestVolume
latestVolume: number = 0
marketCap
marketCap: number = 0
openTime
openTime: number = 0
previousClose
previousClose: number = 0
symbol
symbol: string = ""
week52High
week52High: number = 0
week52Low
week52Low: number = 0
ytdChange
ytdChange: number = 0


This combines two images. A low quality version with the person removed, and a high quality version that is just the person.
An SVG handles overlapping them.


Building Quality Websites in a timely manner is my specialty.
I enjoy continually learning both backend and front-end development.
You can contact me via LinkedIn


(old?) Responder with NBNS spoofing https://github.com/foxglovesec/Potato/tree/master/Responder_with_spoof
(Original) https://github.com/SpiderLabs/Responder
Newer forks
https://github.com/lgandx/Responder
https://github.com/skelsec/Responder/tree/py3
https://github.com/skelsec/Responder
https://github.com/robikarobika/Responder


- Privacy Policy
- Cookie Policy
- Privacy Policy for Children
- Terms & Conditions
OverDrive Privacy Policy
OverDrive, Inc. and its affiliates ("OverDrive", "we", "us" or "our") provides digital content, applications, technology, services, and hosted websites to third parties. This Privacy Policy discloses the privacy practices for all OverDrive-hosted websites, software, technologies, services, support services, applications including Libby and the OverDrive app, and OverDrive accounts (collectively referred to as "Services").
OverDrive respects your privacy. The purpose of this Privacy Policy is to make you aware of how OverDrive collects, manages, protects, uses, and/or shares information and what choices are available to you regarding the collection, use and distribution of your Personal Information and non-personally identifiable information ("non-PII").
Many users under the age of 13 enjoy using the Services. To see OverDrive's policy regarding the collection of information from children who are under 13 years old, please click here for OverDrive's Privacy Policy for Children.
What is Personal Information and non-PII?
"Personal Information" is information that can be used on its own to identify a specific person. For example, Personal Information can be a full name, home address, email address, phone number, or login details. OverDrive does not collect your Personal Information unless you choose to submit it to OverDrive.
In most cases, non-personally identifiable information or "non-PII" is data that cannot be used on its own to identify a specific person. For example, non-PII can be an IP address, device ID, or geolocation information. OverDrive collects and stores certain non-PII related to your interactions and use of our Services.
Non-PII is treated by OverDrive as Personal Information when it's collected on an individual level and linked to the Personal Information that you have chosen to submit to OverDrive.
Do I need to provide Personal Information to OverDrive in order to use the Services?
No, you can use most Services without providing any Personal Information to OverDrive. A valid library card or school ID is all you need to use most Services. As part of your interaction with the Services, you may willingly submit your Personal Information in order to access certain features, such as placing a hold on a digital content title.
An OverDrive account is not required to use most library Services. If you choose to create an OverDrive account, you will be required to submit Personal Information to OverDrive. Please click here to visit the section of this Privacy Policy that applies specifically to your OverDrive account.
If you have created an OverDrive account, you may use Facebook login as an option to sign into your OverDrive account. OverDrive does not send any Personal Information or non-PII to Facebook.
How Does OverDrive Protect my Personal Information?
OverDrive takes information security very seriously. We have implemented measures to protect against the loss, misuse, and alteration of your Personal Information. Any Personal Information is protected by physical, electronic, and procedural safeguards to prevent unauthorized disclosure. We encrypt the transmission of Personal Information using secure sockets layer (SSL) technology. We use computer safeguards such as firewalls and data encryption and physical access controls to our buildings and files. We authorize access to Personal Information only for those employees who require it to fulfill their job responsibilities.
What non-PII does OverDrive collect?
We collect and store certain information related to your interactions and use of our Services, including but not limited to, IP address, device type, device ID, operating system, library card number, Adobe ID, library name, digital content selections (e.g. lending history), and online activity. If you have chosen to submit your Personal Information to OverDrive, any such non-PII may be linked to your Personal Information and will be treated by OverDrive as Personal Information.
Some Services provide the ability for you to see your digital content selections/lending history. If you are using your institution's OverDrive-hosted website, Libby, or the OverDrive app, you will have the option to show your lending history. You can hide your lending history by following the instructions within the app or help articles. Your lending history is protected by OverDrive as confidential. It is not shared with any third parties, except to staff with appropriate authority acting within the scope of their duties for the administration of your institution (library, school, etc.) If we are compelled to disclose your lending history pursuant to a court order or subpoena, or to a person or agency with the relevant administrative or legislative investigative power, we will seek to challenge and limit the scope and comply with the authorized agency or person only as required by law.
Does OverDrive use cookies and similar technologies?
Yes, we use cookies and similar technologies to collect and store certain information when you use, access, or interact with the Services. Cookies are small data file identifiers that are transferred to your device or web browser that allow us to recognize your device or web browser when you visit or use the Service. We use cookies for many purposes, such as to support the internal operations of the Services and make improvements to the Services. To read more about cookies and similar technologies, please visit our Cookie Policy.
How does OverDrive use information?
We collect Personal Information and non-PII from you in order to:
- Determine your current geographic location and/or language so that we may provide localized content and Services;
- Comply with the requirements of our publisher, library, and retail partners;
- Alert you if digital content becomes available for check-out from a library partner;
- Provide recommendations for digital content we think you may enjoy;
- Notify you of opportunities to provide feedback for OverDrive's Services;
- Sync bookmarks and most recent point viewed/played across devices;
- Support the internal operations of the Services, including but not limited to support for: activities necessary to maintain or analyze the Services, network communications, user authentication or personalization of content, activities necessary to perform authorized school or educational purposes, and security of users;
- Integrate with additional service providers for use of the Services;
- Personalize our Services to better reflect particular interests and preferences and for remarketing; and
- Generally improve your experience.
OverDrive never sells your Personal Information or non-PII. If you provide Personal Information to us, such as your email address for notification of library hold availability, OverDrive will not use your Personal Information for any other purposes than the specified use. OverDrive will not use your email address to send you any communications without your consent. Information about users of school Services is only retained by OverDrive for the time period necessary to support the authorized school or educational purposes.
OverDrive may use and share non-PII with third parties in order to analyze Service usage, improve the Service, or for other similar purposes. The non-PII shared with third parties is disassociated with any Personal Information such that it is anonymous and cannot be used to identify you. Additionally, we may anonymize Personal Information and share it in an aggregated form with third parties in order to analyze Service usage, improve the Service, or for other similar purposes. The use and disclosure of such anonymous information is not subject to any restrictions under this Privacy Policy.
How long is information retained by OverDrive?
We retain information for as long as OverDrive deems necessary to provide the Services or as otherwise permitted by applicable law.
What if I share Information with others while using the Services?
While using our Services, you may enjoy opportunities to post reviews, rate digital content, and share digital content information with others in public forums and on social networking websites such as Facebook, Twitter, and Goodreads. When you share such information, it is made public and is not subject to this Privacy Policy. We are not responsible for any third party's use of information you publicly display or disclose through our Services.
How can I change my preferences?
You can change your preferences for receiving newsletters, promotional offers, product updates and other OverDrive-initiated communications by emailing<EMAIL_ADDRESS>What happens when I visit an external website not related to OverDrive's Services?
Our Services may include links to non-OverDrive websites, outside the control of OverDrive. If you click these links, you will leave OverDrive and enter websites that may have different privacy policies than OverDrive. OverDrive is not responsible for the information handling practices of these other websites. These linked websites have separate and independent privacy statements, notices and terms of use, which we recommend you read carefully.
Is my information transmitted to other countries?
Given that the Internet is a global environment, using the Internet to collect and process information necessarily involves the transmission of data on an international basis. Therefore, by using the Services, you acknowledge and consent to the transfer of your information outside your country of residence to any country where we have facilities or engage third parties (including but not limited to, payment processors, cloud service or other Information Technology providers, and other companies that provide services to us). If you are visiting the Services from the EU, please click here to visit the section of this Privacy Policy that applies to transfers from the EU to the US. You understand that the countries to which we may transfer information may not have as comprehensive a level of data protection as in your country. OverDrive requires that third parties (if any), such as cloud service providers, with whom information about users of school Services is shared are obligated to safeguard such information using policies and procedures that are consistent with this Privacy Policy and must only use the information in order to perform the authorized school or educational purpose for which it was provided.
What if I contact OverDrive for a support issue?
If you contact OverDrive directly for assistance resolving an issue with the Services, it may be necessary for
OverDrive to use support tools to resolve your issue. For a limited number of issues, these tools may provide
OverDrive support personnel with visibility of your borrowing information while your support case is being
resolved.
What is required to create an OverDrive account?
Your name, email address, and password is required to create an OverDrive account. By creating and using an OverDrive account and/or otherwise consenting to the sharing of information with us, you authorize OverDrive to collect and retain the Personal Information submitted by you. You also affirm that you are at least 13 years of age and acknowledge that an OverDrive account is not intended for use by individuals under 13 years of age. You may not share your information regarding your OverDrive account, including but not limited to your login credentials such as your password.
What is OverDrive's Instant Digital Card service?
OverDrive's Instant Digital Card online service ("IDC") helps users obtain access to the library's OverDrive digital collection. Only authorized patrons of the library are permitted to access and checkout digital content from the library's digital collection
You must be at least 13 years old to use IDC. If you use IDC, you will be asked to submit your name, mobile phone number, and email address to OverDrive. Only U.S. mobile phone numbers are eligible for use with IDC. Your name and mobile phone number will be used to confirm your mobile phone number is associated with you and to verify that you have an address in your library's service area. Libraries that participate in IDC provide OverDrive with the zip codes that comprise their service area. Submitting your name, mobile phone number, and email address to IDC confirms your consent to this Privacy Policy and OverDrive's Terms and Conditions.
To verify that your address is in your library's service area, OverDrive will share your name and mobile phone number with a third-party verification service, Cognito. Cognito will use your name and mobile phone number to return an address, if any, to OverDrive. To aid the verification process and increase the likelihood that an address is found, you may be asked to submit your date of birth. Your date of birth will be shared with Cognito.
Cognito does not use your name, mobile phone number, or date of birth for marketing or sales purposes, nor do they share your name, mobile phone number, or date of birth with third parties for marketing or sales purposes.
OverDrive will send a text message to the mobile phone number you provide (standard text message rates apply) to verify the mobile phone number's association with you.
If you are validated as having a residential address within your library's service area, you will be able to access and checkout digital content from your library's OverDrive digital collection for twelve (12) months from the date you are validated. Your name, mobile phone number, address, and email address are stored by OverDrive for the purpose of authenticating your checkouts from the library's OverDrive digital collection. Your date of birth, if submitted to OverDrive, is not stored by OverDrive. Unless otherwise permitted through your opt-in consent to receive marketing communications, OverDrive does not use your name, mobile phone number, address, email address, or date of birth for marketing or sales purposes, nor do we share your name, mobile phone number, address, email address, or date of birth with third parties for marketing or sales purposes.
In addition to obtaining checkout privileges to your library's digital collection, you may also be eligible for a library card for access to your library's additional resources (e.g. physical book and media borrowing). Through the validation process, OverDrive will store your address for the purpose of providing your name, address, email address, and mobile phone number to your library, where you may be eligible for a library card for access to additional library resources. Your use of IDC confirms your consent to OverDrive providing your name, address, email address, and mobile phone number with your library, and confirms your consent to be contacted by your library, if necessary.
If you have questions or concerns regarding IDC, please contact OverDrive via email at<EMAIL_ADDRESS>Rights applicable to users located in the EU
Data Transfer. OverDrive is part of the Rakuten Group, which includes the affiliates and subsidiaries of Rakuten, Inc. More information about Rakuten is available at https://global.rakuten.com/corp/about/company. As part of the Rakuten Group, OverDrive has adopted Rakuten's Binding Corporate Rules (BCRs) to safeguard international data transfers, including transfers from the EU to the US. The Rakuten BCRs have been approved by the Data Protection Authority of Luxembourg and can be found at https://corp.rakuten.co.jp/privacy/en/bcr.html.
Legal basis for processing your Personal Information. If you are visiting a Service from the EU, we must have a legal basis to process your Personal Information. There are different legal bases on which we rely to process your Personal Information, namely:
Performance of a contract. The use of your Personal Information may be necessary to perform the specified function for which you submit your Personal Information, and/or perform other contractual obligations and policies under which we provide our Services to you;
Consent. We will rely on your consent to use your information for direct marketing purposes. You may withdraw your consent at any time by contacting us using the information at the end of this Privacy Policy or by following an unsubscribe link in any marketing communication you receive from us; and
Legitimate interests. We use your Personal Information for our legitimate interests to improve our Services, for internal administration, and security purposes. In such circumstances, it is important for us to ensure that these interests are not overridden by your data protection interests or fundamental rights and freedoms.
Your choices under EU law. If you are visiting from the EU, you may email<EMAIL_ADDRESS>to ask us to:
- See what Personal Information we hold about you
- Object to our use of your Personal Information
- Erase your Personal Information
- Receive/Port your Personal Information in a usable electronic format
If contacting us does not resolve your issue, you have the right to make a complaint to your data protection authority (if one exists in your country).
If you are not subject to EU law, these rights do not apply to you.
Changes to this Privacy Policy
This Privacy Policy was last updated in May 2018. We will continue to evaluate this Privacy Policy against new technologies, business practices, and our users' needs, and may make changes to the Privacy Policy accordingly. Please check the Privacy Policy periodically for updates. Your continued use of the Services after the posting of any changes to this Privacy Policy means that you agree to be bound by such changes. In the event of a change of control (i.e. sale of sale or merger of OverDrive, Inc.) the successor entity will be subject to these same privacy commitments.
If we make material changes this Privacy Policy that increase our rights to use your Personal Information, we will notify you via a prominent notice on the Services or via email prior to the change becoming effective. If you do not agree to the changes, you should discontinue use of the Services.
Contact OverDrive
Parents may email<EMAIL_ADDRESS>to inquire if their child has submitted Personal Information to OverDrive and to request the review, correction, and/or removal of any such Personal Information from our system.
Users of school Services may email<EMAIL_ADDRESS>to request the review, correction, and/or removal of your Personal Information, if any, from our system.
If you are a teacher or administrator at an educational institution using the school Services, please email<EMAIL_ADDRESS>to request the review, correction, and/or removal of a student's Personal Information, and we will facilitate your access to and correction of such Personal Information promptly upon your request.
If you have questions or concerns regarding this Privacy Policy, please contact OverDrive via email at privacy@overdrive.com.


{{/* Copyright 2017 syzkaller project authors. All rights reserved. Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. Page with details about a single bug. */}}


遇到的问题
- npm install -g create-react-app 遇到的问题：Npm Please try using this command again as root/administrator
- 解决方案：
sudo chown -R $USER /usr/local
- 解决方案：
学习过程
- 学习Create React App－－https://github.com/facebookincubator/create-react-app#getting-started
知识点
- a modern build pipeline typically consisits of: a package manager, such as yarn or npm, to manager third-party packages;a bundler, sunch as webpack or browserify, to bundle code into small packages to optimize load time; a compiler such as babel.
- building blocks of React apps: elements and components
- null—>non-value; undefined—>uninitialized value [js内容]
- component
- one write style
function test(props) { return
hello,{props.name}
 }
- second write style(ES6)
class test extends React.Component { render(){ return
hello, {this.props.name}
 } }
- components defined as classes have some additional features –> local state is a feature only available to classes.
- All React components must act like pure functions with respect to their props–pure functions means that they do not attempt to change their inputs, and always return the same result for the same inputs.
- State is similar to props, but it is private and fully controlled by the component.—that means you should always use class rather than function because only class can use state
Converting a function to a class
1\Create an ES6 class with the same name that extends React.Component.
2\Add a single empty method to it called render().
3\Move the body of the function into the render() method.
4\Replace props with this.props in the render() body.
5\Delete the remaining empty function declaration.
class Clock extends React.Component {
render() {
return (

Hello, world!

It is {this.props.date.toLocaleTimeString()}.

);
}
}
lifecycle control
- like the code, ReactDOM.reader first run, then, ->the Clock constructor->the Clock render function to draw the dom->after that, componentDidMount set a timer to call tick every minite, if Clock component is removed from DOM, componentWillUnmout called.
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
componentWillUnmount() {
clearInterval(this.timerID);
}
tick() {
this.setState({
date: new Date()
});
}
render() {
return (

Hello, world!

It is {this.state.date.toLocaleTimeString()}.

);
}
}
ReactDOM.render(
<Clock />,
document.getElementById('root')
);
- this.props and this.state may be updated asynchronously, so you cannot rely on their values to calcute the next state
// Wrong
this.setState({
counter: this.state.counter + this.props.increment,
});
to fix this
use a second form of setState() that accepts a function rather than an object
// Correct--ARROW FUNCTION
this.setState((prevState, props) => ({
counter: prevState.counter + props.increment
}));
OR
// Correct
this.setState(function(prevState, props) {
return {
counter: prevState.counter + props.increment
};
});
handling events: dom vs. react
-
lowercase vs. camelCase
-
pass function as a string vs. as a event handler
<button onclick="activateLasers()">
Activate Lasers
</button>
VS.
<button onClick={activateLasers}>
Activate Lasers
</button>
- return false to prevent default behavior vs. call preventDefault explicitly

Click me

vs.
function ActionLink() {
function handleClick(e) {
e.preventDefault();
console.log('The link was clicked.');
}
return (

Click me

);
}
- in JavaScript, true && expression always evaluates to expression, and false && expression always evaluates to false. [JS内容]
- don’t recommend using indexes for keys if the items can reorder, as that whould be slow
- A good rule of thumb is that elements inside the map() call need keys.


Coding has always been of some interest to me. As a child my father attended Temple University in Philadelphia, PA to study computer science. In his time there he purchased me a computer for my 10th birthday, the
rest is history.
About Dom
I'm not too complicated! I grew up in Philadelphia, PA by way of New Jersey.  My parents are both from Philadelphia, PA. A
fun
fact about me is
that I've lived in
China for a year!
Prior To Code:
Prior to code I did a lot of different things, one thing that I have added into this project is a short video of what I've done during my time at Nike .
Interests
Dogs
I love dogs!
Pusha-T
Terrence LeVarr Thornton (born May 13, 1977), better known by his stage name Pusha-T, is an American rapper, songwriter and record executive. He initially gained major recognition as half of hip hop duo Clipse,
alongside his brother and fellow rapper No
Malice, with whom he
founded Re-Up Records.
Travel
I love to travel, whether it is local or national. I have been to almost every state and several parts of China!
Summer
The summer time is my favorite time of the year. I have a strong need for the sun and the beach.


MBFilesystemCache Class Reference
| Inherits from | MBThreadsafeCache : NSObject |
|---|---|
| Conforms to | MBFilesystemCacheDelegate |
| Declared in | MBFilesystemCache.h |
Overview
An object cache implementation capable of persisting cache objects to the filesystem.
Utilize the methods provided by the MBThreadsafeCache
superclass to access
data stored in an MBFilesystemCache
if you do not care whether or not a
cache object is loaded into memory when it is requested.
Note: Classes that wish to subclass MBFilesystemCache
should refer
to the internal MBFilesystemCache(ForSubclassEyesOnly)
methods
declared in the header file MBFilesystemCache+Subclassing.h
.
Object lifecycle
– initWithName:
Initializes the receiver with the given name.
- (nonnull instancetype)initWithName:(nonnull NSString *)name
Parameters
name |
The name of the filesystem cache. Must not be |
|---|
Return Value
The receiver.
Discussion
The receiver will act as its own delegate unless the cacheDelegate
property
is explicitly set.
Warning: Do not use the same cache name for more than one MBFilesystemCache
at any given time. Unpredictable results will occur if you do.
Declared In
MBFilesystemCache.h
– initWithName:cacheDelegate:
Initializes the receiver with the given name.
- (nonnull instancetype)initWithName:(nonnull NSString *)name cacheDelegate:(nonnull id)delegate
Parameters
name |
The name of the filesystem cache. Must not be |
|---|---|
delegate |
The |
Return Value
The receiver.
Discussion
Warning: Do not use the same cache name for more than one MBFilesystemCache
at any given time. Unpredictable results will occur if you do.
Declared In
MBFilesystemCache.h
Cache properties
readQueue
Returns the operation queue that will be used for performing filesystem cache read operations.
@property (nonnull, nonatomic, readonly) MBCacheReadQueue *readQueue
Declared In
MBFilesystemCache.h
writeQueue
Returns the operation queue that will be used for performing filesystem cache write operations.
@property (nonnull, nonatomic, readonly) MBCacheWriteQueue *writeQueue
Declared In
MBFilesystemCache.h
cacheName
Returns the name of the cache, which is used to determine the directory in which cache files are stored. This is name provided when the receiver is initialized.
@property (nonnull, nonatomic, readonly) NSString *cacheName
Declared In
MBFilesystemCache.h
cacheDelegate
Returns the MBFilesystemCacheDelegate
used by the receiver.
@property (nullable, nonatomic, weak) id cacheDelegate
Declared In
MBFilesystemCache.h
maxAgeOfCacheFiles
Returns the maximum age of the files in the cache, in seconds. Files that
are older than this value will not be used by the cache and will
eventually be deleted. This defaults to the value of the constant
kMBFilesystemCacheDefaultMaxAge
(currently, 36 hours).
@property (nonatomic, assign) NSTimeInterval maxAgeOfCacheFiles
Declared In
MBFilesystemCache.h
Checking for objects in the cache
– isKeyInCache:
Determines whether the specified cache key represents an object currently in the cache.
- (BOOL)isKeyInCache:(nonnull id)key
Parameters
key |
The cache key to check. |
|---|
Return Value
YES
if there is an object associated with key
in either the
filesystem or the memory cache; NO
otherwise.
Discussion
The filesystem cache and memory cache are both checked for the presence of an object with the specified key.
Declared In
MBFilesystemCache.h
– isKeyInMemoryCache:
Determines whether the specified cache key represents an object currently in the memory cache.
- (BOOL)isKeyInMemoryCache:(nonnull id)key
Parameters
key |
The cache key to check. |
|---|
Return Value
YES
if there is an object associated with key
in the memory
cache; NO
otherwise.
Declared In
MBFilesystemCache.h
– isKeyInFilesystemCache:
Determines whether the specified cache key represents an object currently in the filesystem cache.
- (BOOL)isKeyInFilesystemCache:(nonnull id)key
Parameters
key |
The cache key to check. |
|---|
Return Value
YES
if there is an object associated with key
in the filesystem
cache; NO
otherwise.
Declared In
MBFilesystemCache.h
Retrieving objects from the cache
– objectForKeyInMemoryCache:
Retrieves an object from the memory cache, if it is there.
- (nullable id)objectForKeyInMemoryCache:(nonnull id)key
Parameters
key |
The cache key of the object to retrieve. |
|---|
Return Value
The object instance, or nil
if it was not in the cache.
Discussion
Note: This method does not attempt to load an object from the
filesystem cache. Use the objectForKey:
method (declared by
the MBThreadsafeCache
superclass) to retrieve objects regardless
of whether they’re in the memory or filesystem caches.
Declared In
MBFilesystemCache.h
Managing the filesystem cache
– clearFilesystemCache
Deletes all of the cache objects currently in the filesystem cache.
- (void)clearFilesystemCache
Discussion
The memory cache is not affected by calls to this method.
Declared In
MBFilesystemCache.h
– purgeCacheFilesOlderThan:
Deletes all cache files older than a certain age.
- (void)purgeCacheFilesOlderThan:(NSTimeInterval)ageInSeconds
Parameters
ageInSeconds |
The maximum age allowed for cache files. Files older than this age will be deleted. |
|---|
Discussion
The memory cache is not affected by calls to this method.
Declared In
MBFilesystemCache.h
– purgeOutOfDateCacheFiles
Deletes all cache files older than the number of seconds specified by the
maxAgeOfCacheFiles
property.
- (void)purgeOutOfDateCacheFiles
Discussion
The memory cache is not affected by calls to this method.
Declared In
MBFilesystemCache.h


| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:33:22.938 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:34:24.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:34:24.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:34:24.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:34:24.945 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:34:24.945 UTC | |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 07:35:21.151 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:35:21.152 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 07:35:21.153 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:35:21.154 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 07:35:21.155 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:35:21.155 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 07:35:21.156 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:35:21.156 UTC |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:35:29.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:36:34.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:36:34.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:36:34.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:36:34.945 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:36:34.945 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:37:36.937 UTC |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 07:38:21.158 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:38:21.159 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 07:38:21.160 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:38:21.161 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 07:38:21.162 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:38:21.162 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 07:38:21.163 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:38:21.163 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:38:44.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:38:44.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:38:44.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:38:44.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:38:44.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:39:43.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:40:54.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:40:54.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:40:54.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:40:54.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:40:54.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:41:50.937 UTC |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 07:42:21.165 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:42:21.166 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 07:42:21.167 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:42:21.168 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 07:42:21.169 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:42:21.169 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 07:42:21.171 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:42:21.171 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:43:04.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:43:04.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:43:04.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:43:04.945 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:43:04.945 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:43:57.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:45:14.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:45:14.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:45:14.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:45:14.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:45:14.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:46:04.937 UTC |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 07:47:21.173 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:47:21.173 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 07:47:21.175 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:47:21.175 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 07:47:21.176 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:47:21.176 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 07:47:21.177 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:47:21.178 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:47:24.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:47:24.943 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:47:24.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:47:24.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:47:24.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:48:11.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:49:34.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:49:34.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:49:34.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:49:34.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:49:34.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:50:18.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:51:44.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:51:44.943 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:51:44.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:51:44.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:51:44.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:52:25.937 UTC |
| The price has failed updating more than 5 times in a row | com.nubits.nubot.tasks.strategy.PriceMonitorTriggerTask | executeUpdatePrice | Mar 10 2015 07:53:21.178 UTC |
| Problems while updating BTC price. Cannot find a reliable feed.NuBot timed out after 5 failed attempts to update BTC price. Please restart the bot and get in touch with Nu Dev team | com.nubits.nubot.tasks.strategy.PriceMonitorTriggerTask | sendErrorNotification | Mar 10 2015 07:53:21.179 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:53:21.179 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.trading.wrappers.PoloniexWrapper | clearOrders | Mar 10 2015 07:53:21.179 UTC |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 07:53:21.181 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:53:21.181 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 07:53:21.182 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:53:21.182 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 07:53:21.184 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:53:21.184 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 07:53:21.185 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:53:21.185 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:53:54.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:53:54.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:53:54.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:53:54.945 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:53:54.945 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:54:32.937 UTC |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 07:55:21.187 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:55:21.188 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 07:55:21.189 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:55:21.189 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 07:55:21.190 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:55:21.191 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 07:55:21.192 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:55:21.192 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:56:04.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:56:04.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:56:04.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:56:04.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:56:04.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:56:39.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:58:14.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 07:58:14.943 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 07:58:14.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 07:58:14.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 07:58:14.944 UTC | |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 07:58:21.194 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:58:21.195 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 07:58:21.197 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:58:21.197 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 07:58:21.198 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:58:21.198 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 07:58:21.199 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 07:58:21.200 UTC |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 07:58:46.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:00:24.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:00:24.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:00:24.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:00:24.945 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:00:24.945 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 08:00:53.937 UTC |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 08:02:21.201 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:02:21.201 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 08:02:21.203 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:02:21.203 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 08:02:21.206 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:02:21.206 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 08:02:21.208 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:02:21.208 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:02:34.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:02:34.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:02:34.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:02:34.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:02:34.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 08:03:00.937 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:04:44.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:04:44.943 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:04:44.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:04:44.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:04:44.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 08:05:07.938 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:06:54.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:06:54.943 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:06:54.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:06:54.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:06:54.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 08:07:14.937 UTC |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 08:07:21.211 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:07:21.211 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 08:07:21.213 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:07:21.213 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 08:07:21.224 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:07:21.225 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 08:07:21.226 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:07:21.226 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:09:04.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:09:04.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:09:04.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:09:04.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:09:04.945 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 08:09:21.938 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:11:14.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:11:14.943 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:11:14.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:11:14.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:11:14.944 UTC | |
| The price has failed updating more than 5 times in a row | com.nubits.nubot.tasks.strategy.PriceMonitorTriggerTask | executeUpdatePrice | Mar 10 2015 08:13:21.227 UTC |
| Problems while updating BTC price. Cannot find a reliable feed.NuBot timed out after 5 failed attempts to update BTC price. Please restart the bot and get in touch with Nu Dev team | com.nubits.nubot.tasks.strategy.PriceMonitorTriggerTask | sendErrorNotification | Mar 10 2015 08:13:21.227 UTC |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.trading.wrappers.PoloniexWrapper | executeQuery | Mar 10 2015 08:13:41.250 UTC |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.trading.wrappers.PoloniexWrapper | executeQuery | Mar 10 2015 08:13:41.250 UTC |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 08:13:41.250 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:13:41.250 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.trading.wrappers.PoloniexWrapper | clearOrders | Mar 10 2015 08:13:41.250 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:13:41.251 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:13:41.251 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:13:41.251 UTC | |
| java.net.UnknownHostException: api.bitfinex.com | com.nubits.nubot.pricefeeds.BitfinexPriceFeed | getLastPrice | Mar 10 2015 08:14:01.271 UTC |
| Error while updating BTC price from bitfinex | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:14:01.271 UTC |
| java.net.UnknownHostException: blockchain.info | com.nubits.nubot.pricefeeds.BlockchainPriceFeed | getLastPrice | Mar 10 2015 08:14:21.290 UTC |
| Error while updating BTC price from blockchain | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:14:21.291 UTC |
| java.net.UnknownHostException: coinbase.com | com.nubits.nubot.pricefeeds.CoinbasePriceFeed | getLastPrice | Mar 10 2015 08:14:41.308 UTC |
| Error while updating BTC price from coinbase | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:14:41.308 UTC |
| java.net.UnknownHostException: www.bitstamp.net | com.nubits.nubot.pricefeeds.BitstampPriceFeed | getLastPrice | Mar 10 2015 08:15:01.325 UTC |
| Error while updating BTC price from bitstamp | com.nubits.nubot.pricefeeds.PriceFeedManager | getLastPrices | Mar 10 2015 08:15:01.326 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:15:34.943 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier1 | Mar 10 2015 08:15:34.944 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:15:34.944 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.tasks.SubmitLiquidityinfoTask | reportTier2 | Mar 10 2015 08:15:34.944 UTC |
| com.nubits.nubot.tasks.SubmitLiquidityinfoTask | checkOrders | Mar 10 2015 08:15:34.944 UTC | |
| java.net.UnknownHostException: poloniex.com | com.nubits.nubot.tasks.CheckConnectionTask | isConnectedTo | Mar 10 2015 08:15:42.936 UTC |
| Bot shutting down.. | com.nubits.nubot.launch.NuBot | run | Mar 10 2015 08:16:28.094 UTC |
| Clearing out active orders ... | com.nubits.nubot.launch.NuBot | run | Mar 10 2015 08:16:28.094 UTC |
| The bot will not execute the query, there is no connection to Poloniex | com.nubits.nubot.trading.wrappers.PoloniexWrapper | query | Mar 10 2015 08:16:28.094 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.trading.wrappers.PoloniexWrapper | clearOrders | Mar 10 2015 08:16:28.094 UTC |
| ApiError [3 : No Connection] | com.nubits.nubot.launch.NuBot | run | Mar 10 2015 08:16:28.095 UTC |


{% extends 'base.html' %} {% block content %}
Please add a profile to aboard desired hood.
Contact: {{profile.email}}
Neighbourhood: {{profile.neighbourhood.name}}


Windows Installation¶
We currently don’t support local installation of Augur for Windows. However, we do provide a Vagrant box which can be used to spin up an Ubuntu VM with Augur pre-installed.
Dependencies¶
- Git client
- Vagrant
- Virtualbox
- GitHub Access Token (no write access required)
- Clone the repository and start the VM.
# on your local machine
# using your Git client:
git clone https://github.com/chaoss/augur.git
# using Command Prompt
cd augur
vagrant up # this might take a while
vagrant ssh
Note: you’ll probably see a fair bit of errors during this provisioning process. Don’t worry about them, most of them are harmless. Probably.
- Log in as
root
and navigate to/vagrant/augur
. This folder is synced with your local clone ofaugur
, meaning you’ll be able to use your preferred local editor and just use the VM to run augur.
# inside the vagrant VM
sudo su -
cd /vagrant/augur
# due to vagrant weirdness, we have to manually install the python packages. This might take a while
$AUGUR_PIP install --upgrade .
- Add your GitHub API key to the
augur.config.json
file under the sectionGitHub
. - Start both the backend and frontend servers with
make dev
.
make dev
- When you’re done working in the VM, type
exit
twice: once to log out ofroot
, and another to log out of the VM. Don’t forget to shut down the VM withvagrant halt
.
If you’re interested in adding a new plugin, data source, or metric, check out the backend development guide. If new visualizations are more your speed, you’ll want the [frontend development guide](http://augur.augurlabs.io/static/docs/dev-guide/4-frontend.html).
TL;DR¶
# on your local machine
# using your Git client:
git clone https://github.com/chaoss/augur.git
# using Command Prompt
cd augur
vagrant up
vagrant ssh
# inside the vagrant VM
sudo su -
cd /vagrant/augur
# due to vagrant weirdness, we have to manually install the python packages
$AUGUR_PIP install --upgrade .
# add your GitHub personal access token to augur.config.json
# start the frontend and backend servers
make dev
# full steam ahead!


Kogi election: Accreditation commences in Lokoja
by Agency ReportAccreditation at Ward A Polling Station, Growther/ Sabongari, Lokoja, was on at 8.35 a.m. when a correspondent of the News Agency of Nigeria visited the polling station.
Voters were seen checking their names on the register pasted on the walls of Growther Memorial College, Lokoja, while others lined up, orderly, to be accredited.
The exercise was peaceful and orderly.
Men and officers of the Nigeria Police, Federal Road Safety Commission, Nigeria Security and Civil Defence Corps, the Customs Service, among other security outfits kept vigil to ensure the peaceful conduct of the election.
(NAN)


The basic AngularJS references:
And I found these really helpful:
There are lots of boilerplate-type codebases available:
Reference:
Articles:
Here are some specific examples of how to implement various AngularJS features.
Routing
Directives
Some real world usage:
Other useful reference sites:
$rootScope
… grrrr.)


Process Heap Layout¶
An Erlang process has a young heap (where all new data is placed), old heap (possibly this one does not exist, contains data which survived previous garbage collection) and a stack, which is located inside young heap.
Also a process has access to read-only literal area, which belongs to one or more
of Erlang modules, it contains constant literals which are found in module code.
At some rare occasions (code upgrade or purge) literal area can be copied to
old heap by means of garbage-collection (see erts_garbage_collect_literals
in erl_gc.c
).
A process has chain of Off-heap objects (so-called MSO – mark and sweep object
list). The head of the chain is a field in Process
struct, and the chain
continues through the heap visiting Header objects such as
refc binaries and fun closures. During garbage collection this chain is followed
and actions can be taken (similar to C++ destructors) when an MSO object is going
to die – for example refc binaries have their refcount reduced and possibly
are freed. MSO objects are strictly sorted from new to old, by the order of their
creation on heap.
How Heap Grows¶
Additionally heap segments can exist (for situations, when heap is not enough, but data must be allocated).
Heap top (heap_top
) marks current allocation position in heap. When more data
is needed, heap_top
is advanced forward and data goes there.
Heap always grows forward from heap_start
(see erl_process.h
, Process
struct, fields heap
, old_heap
). Stack always grows backwards from
heap_end
to heap_top
, as soon as stack meets heap top, the young heap
is considered full and garbage collection is triggered.
Old heap does not contain a stack. Old heap can only grow during garbage collection and its future size is precalculated.
To minimize memory fragmentation, heap sizes like a puzzle pieces are allocated following Fibonacci sequence (starting from 12 and 38 Words) for 23 total steps, after which (at about 1.3 million Words) sequence continues by adding 20% to the previous value.


OAuth
Some services are protected via OAuth. To be enabled to use OAuth to access these services, you must first register as a consumer. Once registered, the following information is used to correctly exercise the OAuth API:
| Request Token URL: | /oauth/request_token |
| Access Token URL: | /oauth/access_token |
| User Confirmation Entry Point: | /oauth/confirm_access |


class: title-slide, center   2  # A Quick Introduction to tidymodels ## Data Usage --- # Loading .code90[ ```r library(tidymodels) ``` ``` ## ── Attaching packages ───────────────────────────────────────────────────────────── tidymodels 0.1.1 ── ``` ``` ## ✓ broom 0.7.0 ✓ recipes 0.1.13 ## ✓ dials 0.0.9 ✓ rsample 0.0.8 ## ✓ dplyr 1.0.2 ✓ tibble 3.0.3 ## ✓ ggplot2 3.3.2 ✓ tidyr 1.1.2 ## ✓ infer 0.5.2 ✓ tune 0.1.1 ## ✓ modeldata 0.0.2 ✓ workflows 0.2.0 ## ✓ parsnip 0.1.3 ✓ yardstick 0.0.7 ## ✓ purrr 0.3.4 ``` ``` ## ── Conflicts ──────────────────────────────────────────────────────────────── tidymodels_conflicts() ── ## x purrr::discard() masks scales::discard() ## x dplyr::filter() masks stats::filter() ## x dplyr::lag() masks stats::lag() ## x recipes::step() masks stats::step() ``` ] --- # Data Splitting and Spending How do we "spend" the data to find an optimal model? We _typically_ split data into training and test data sets: * ***Training Set***: these data are used to estimate model parameters and to pick the values of the complexity parameter(s) for the model. * ***Test Set***: these data can be used to get an independent assessment of model efficacy. They should not be used during model training. --- # Mechanics of Data Splitting There are a few different ways to do the split: simple random sampling, _stratified sampling based on the outcome_, by date, or methods that focus on the distribution of the predictors. For stratification: * **Classification**: This would mean sampling within the classes to preserve the distribution of the outcome in the training and test sets. * **Regression**: Determine the quartiles of the data set and sample within those artificial groups. --- # Ames Housing Data  It makes a lot of sense to model the sale price in log units. It stabilizes the variance and prevents the prediction of negative values. Let's load the example data set and split it. We'll put 75% into training and 25% into testing. ```r # rsample and modeldata are loaded with tidymodels package data(ames, package = "modeldata") ames <- ames %>% mutate(Sale_Price = log10(Sale_Price)) # Make sure that you get the same random numbers set.seed(4595) data_split <- initial_split(ames, strata = "Sale_Price") ames_train <- training(data_split) ames_test <- testing(data_split) nrow(ames_train)/nrow(ames) ``` ``` ## [1] 0.7505119 ``` ??? The select statement removes subjective quality scores which, to me, seems like it should be an outcome and not a predictor. --- # Ames Housing Data  What do these objects look like? ```r # result of initial_split() # <training / testing / total> data_split ``` ``` ## <Analysis/Assess/Total> ## <2199/731/2930> ``` ```r training(data_split) ``` ```r ## # A tibble: 2,199 x 81 ## MS_SubClass MS_Zoning Lot_Frontage Lot_Area Street Alley Lot_Shape Land_Contour Utilities Lot_Config Land_Slope ## <fct> <fct> <dbl> <int> <fct> <fct> <fct> <fct> <fct> <fct> <fct> ## 1 One_Story_… Resident… 141 31770 Pave No_A… Slightly… Lvl AllPub Corner Gtl ## 2 Two_Story_… Resident… 74 13830 Pave No_A… Slightly… Lvl AllPub Inside Gtl ## 3 Two_Story_… Resident… 78 9978 Pave No_A… Slightly… Lvl AllPub Inside Gtl ## 4 One_Story_… Resident… 43 5005 Pave No_A… Slightly… HLS AllPub Inside Gtl ## 5 One_Story_… Resident… 39 5389 Pave No_A… Slightly… Lvl AllPub Inside Gtl ## # … and many more rows and columns ## # … ``` --- layout: false class: inverse, middle, center # Creating Models in R --- # Specifying Models in R Using Formulas To fit a model to the housing data, the model terms must be specified. Historically, there are two main interfaces for doing this. The **formula** interface uses R [formula rules](https://cran.r-project.org/doc/manuals/r-release/R-intro.html#Formulae-for-statistical-models) to specify a _symbolic_ representation of the terms: .pull-left-a-lot[ Variables + interactions ```r model_fn( Sale_Price ~ Neighborhood + Year_Sold + Neighborhood:Year_Sold, data = ames_train ) ``` Inline functions / transformations ```r # If we had not already logged Sale_Price model_fn( log10(Sale_Price) ~ ns(Longitude, df = 3) + ns(Latitude, df = 3), data = ames_train ) ``` ] .pull-right-a-little[ Shorthand for all predictors ```r model_fn( Sale_Price ~ ., data = ames_train ) ``` This is very convenient but it has some disadvantages. ] --- # Downsides to Formulas * You can't nest in-line functions such as ```r model_fn(y ~ pca(scale(x1), scale(x2), scale(x3)), data = dat) ``` * All the model matrix calculations happen at once and can't be recycled when used in a model function. * For very _wide_ data sets, the formula method can be [extremely inefficient](https://rviews.rstudio.com/2017/03/01/the-r-formula-method-the-bad-parts/). * There are limited _roles_ that variables can take which has led to several re-implementations of formulas. * Specifying multivariate outcomes is clunky and inelegant. * Not all modeling functions have a formula method (consistency!). --- # Specifying Models Without Formulas Some modeling function have a non-formula (XY) interface. This usually has arguments for the predictors and the outcome(s): ```r # Usually, the variables must all be numeric pre_vars <- c("Year_Sold", "Longitude", "Latitude") model_fn(x = ames_train[, pre_vars], y = ames_train$Sale_Price) ``` This is inconvenient if you have transformations, factor variables, interactions, or any other operations to apply to the data prior to modeling. Overall, it is difficult to predict if a package has one or both of these interfaces. For example, `lm()` only has formulas. There is a **third interface**, using _recipes_ that will be discussed later that solves some of these issues. --- # A Linear Regression Model  Let's start by fitting an ordinary linear regression model to the training set. You can choose the model terms for your model, but I will use a very simple model: ```r simple_lm <- lm(Sale_Price ~ Longitude + Latitude, data = ames_train) ``` Before looking at coefficients, we should do some model checking to see if there is anything obviously wrong with the model. To get the statistics on the individual data points, we will use the awesome `broom` package: ```r simple_lm_values <- augment(simple_lm) names(simple_lm_values) ``` ``` ## [1] "Sale_Price" "Longitude" "Latitude" ".fitted" ".resid" ## [6] ".std.resid" ".hat" ".sigma" ".cooksd" ``` --- # A Linear Regression Model  ```r head(simple_lm_values, n = 2) ``` ``` ## # A tibble: 2 x 9 ## Sale_Price Longitude Latitude .fitted .resid .std.resid .hat .sigma ## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 5.24 -93.6 42.1 5.23 0.00920 0.0565 0.00127 0.163 ## 2 5.39 -93.6 42.1 5.22 0.169 1.04 0.00127 0.163 ## # … with 1 more variable: .cooksd <dbl> ``` After working with the individual data points, you can move on to the coefficients themselves. `tidy()` extracts the coefficients from the model. `glance()` summarizes a model fit's overarching metrics. .pull-left-a-lot[ ```r tidy(simple_lm) ``` ``` ## # A tibble: 3 x 5 ## term estimate std.error statistic p.value ## <chr> <dbl> <dbl> <dbl> <dbl> ## 1 (Intercept) -307. 15.1 -20.3 2.39e-84 ## 2 Longitude -2.03 0.134 -15.1 2.41e-49 ## 3 Latitude 2.89 0.190 15.3 5.43e-50 ``` ] .pull-right-a-little[ ```r # But don't trust this too much! glance(simple_lm)[1:3] ``` ``` ## # A tibble: 1 x 3 ## r.squared adj.r.squared sigma ## <dbl> <dbl> <dbl> ## 1 0.170 0.169 0.163 ``` ] --- # parsnip  - A tidy unified _interface_ to models - `lm()` isn't the only way to perform linear regression - `glmnet` for regularized regression - `stan` for Bayesian regression - `keras` for regression using tensorflow - `spark` for large data sets - But...remember the consistency slide? - Each interface has its own minutae to remember --- # parsnip in Action  .pull-left[ 1) Create a specification 2) Set the engine 3) Fit the model ```r spec_lin_reg <- linear_reg() spec_lin_reg ``` ``` ## Linear Regression Model Specification (regression) ``` ```r lm_mod <- set_engine(spec_lin_reg, "lm") lm_mod ``` ``` ## Linear Regression Model Specification (regression) ## ## Computational engine: lm ``` ] .pull-right[ ```r lm_fit <- fit( lm_mod, Sale_Price ~ Longitude + Latitude, data = ames_train ) lm_fit ``` ``` ## parsnip model object ## ## Fit time: 2ms ## ## Call: ## stats::lm(formula = Sale_Price ~ Longitude + Latitude, data = data) ## ## Coefficients: ## (Intercept) Longitude Latitude ## -306.688 -2.032 2.893 ``` ] --- # Different interfaces  `parsnip` is not picky about the interface used to specify terms. Remember, `lm()` only allowed the formula interface! ```r fit_xy( lm_mod, y = ames_train %>% dplyr::pull(Sale_Price), x = ames_train %>% dplyr::select(Latitude, Longitude) ) ``` ``` ## parsnip model object ## ## Fit time: 1ms ## ## Call: ## stats::lm(formula = ..y ~ ., data = data) ## ## Coefficients: ## (Intercept) Latitude Longitude ## -306.688 2.893 -2.032 ``` --- # Alternative Engines  With `parsnip`, it is easy to switch to a different engine, like Stan, to run the same model with alternative backends. .pull-left[ ```r spec_stan <- spec_lin_reg %>% # Engine specific arguments are passed through here set_engine("stan", chains = 4, iter = 1000) # Otherwise, looks exactly the same! fit_stan <- fit( spec_stan, Sale_Price ~ Longitude + Latitude, data = ames_train ) ``` ] .pull-right[ ```r coef(fit_stan$fit) ``` ``` ## (Intercept) Longitude Latitude ## -306.283736 -2.029816 2.887020 ``` ```r coef(lm_fit$fit) ``` ``` ## (Intercept) Longitude Latitude ## -306.688470 -2.032306 2.892838 ``` ] --- # Different models  Switching _between_ models is easy since the interfaces are homogenous. For example, to fit a 5-nearest neighbor model: ```r fit_knn <- nearest_neighbor(mode = "regression", neighbors = 5) %>% set_engine("kknn") %>% fit(Sale_Price ~ Longitude + Latitude, data = ames_train) fit_knn ``` ``` ## parsnip model object ## ## Fit time: 26ms ## ## Call: ## kknn::train.kknn(formula = Sale_Price ~ Longitude + Latitude, data = data, ks = ~5) ## ## Type of response variable: continuous ## minimal mean absolute error: 0.06753097 ## Minimal mean squared error: 0.009633708 ## Best kernel: optimal ## Best k: 5 ``` --- layout: false class: middle, center # Now that we have fit a model on the _training_ set, # is it time to make predictions on the _test_ set? ---  --- # DANGER .pull-left[ In general, we would **not** want to predict the test set at this point, although we will do so to illustrate how the code works. In a real scenario, we would use _resampling_ methods (e.g. cross-validation, bootstrapping, etc) or a validation set to evaluate how well the model is doing. ] .pull-right[  ] `tidymodels` has a great infrastructure to do this with `rsample`, and we will talk about this soon to demonstrate how we should _really_ evaluate models. --- # Predictions  For now, let's compute predictions and performance measures on the test set: .pull-left[ ```r # Numeric predictions always in a df # with column `.pred` test_pred <- lm_fit %>% predict(ames_test) %>% bind_cols(ames_test) test_pred %>% dplyr::select(Sale_Price, .pred) %>% slice(1:3) ``` ``` ## # A tibble: 3 x 2 ## Sale_Price .pred ## <dbl> <dbl> ## 1 5.33 5.23 ## 2 5.02 5.23 ## 3 5.27 5.27 ``` ] .pull-right[ `parsnip` tools are very standardized. * `predict()` always produces a tibble with a row for each row of `new_data`. * The column names are also [predictable](https://tidymodels.github.io/parsnip/reference/predict.model_fit.html#value). For (univariate) regression predictions, the prediction column is always `.pred`. ] So, for the KNN model, just change the argument to `fit_knn` and everything works. --- # Estimating Performance  .pull-left[ The `yardstick` package is a tidy interface for computing measures of performance. There are individual functions for specific metrics (e.g. `accuracy()`, `rmse()`, etc.). When more than one metric is desired, `metric_set()` can create a new function that wraps them. Note that these metric functions work with `group_by()`. ] .pull-right[ ```r # yardstick loaded by tidymodels perf_metrics <- metric_set(rmse, rsq, ccc) # A tidy result back: test_pred %>% perf_metrics(truth = Sale_Price, estimate = .pred) ``` ``` ## # A tibble: 3 x 3 ## .metric .estimator .estimate ## <chr> <chr> <dbl> ## 1 rmse standard 0.155 ## 2 rsq standard 0.181 ## 3 ccc standard 0.306 ``` There are sometimes different ways to [estimate these statistics](https://tidymodels.github.io/yardstick/articles/multiclass.html); `.estimator` is not always "standard". ]


-sqlddt template: pers?clnt=<name|pass>&com=sqlddt&whr=<where_pattern> Order of query params is not important. pattern : * | <SQL part following WHERE>. The '*' means all. A special syntax must be used: ':' for = and '|' for <space>. This is because spaces and '=' are replaced in WWW requests. Note that string values must be enclosed in single quotes. descript: returns part of the table 'decay_data' as specified by the condition in the 'whr' query parameter. If no row in DB satisfies the conditions, the result will not have any 'row' elements (200 OK will still be returned). example : pers?clnt=name|pass&com=sqlddt&whr=dd_user:'us101'|and|dd_feature:'advert.banner6'|order|by|dd_timestamp|desc pers?clnt=name|pass&com=sqlddt&whr=* pers?clnt=name|pass&com=sqlddt&whr=dd_feature:'page3.link8'|and|dd_timestamp>1005854664569 returns : 200 OK, 401 (fail, request error), 501 (fail, server error) 200 OK : in this case the response body is as follows <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="/resp_xsl/decay_data.xsl"?> <result> <row><usr>user</usr><ftr>feature</ftr><timestamp>timestamp</timestamp></row> ... </result> comments: the reference to the xsl file allows to view results in a web browser. In case the response body is handled directly by an application and not by a browser, this reference to xsl can be ignored.


WITNESS LIST Education Committee March 5, 1997-9:30A SB 69 On: Louis J. Rodriguez (Midwestern State Univ), W. Falls SB 295 On: Cindy Geisman (Comptroller's Office), Austin Teri Flack (Coordinating Board), Austin SB 312 For: Holly S. Taebel (Tx Classrm Teacher Asn), Austin Against: Julian Shaddix (TASSP), Austin Registering, but not testifying: For: Brock Gregg (ATPE), Austin Jack Kelly (TSTA), Austin Rene Lara (Tx Federation of Tchrs), Austin Written materials submitted: On: Paul F. Koeltzow (Self), Dallas SB 465 For: Jackie Lain (TASB), Austin On: Bill Bechtol (Tx Elem Principals), Austin Julian Shaddix (Secondary Principals An), Austin Registering, but not testifying: On: Susan Hunter Smith (TEA), Austin SB 471 For: Keith Baker (Bexar County), San Antonio Mary A. Buckner (Judson ISD), San Antonio Toni Petri (North East ISD), San Antonio On: Julian Shaddix (Secondary Principals Ac), Austin Registering, but not testifying: For: Jack Kelly (TSTA), Austin SB 537 For: Dr. Charles Zucker (Tx Faculty Assoc), Austin On: Dr. Barry B. Thompson (TX A&M Univ System), College Station William H. Cunningham (UT System), Austin SB 616 On: William H. Cunningham (UT System), Austin Registering, but not testifying: On: Tom Ricks (UT Investment Mgmt Co), Austin SB 729 For: Chuck Hempstead (Tx Assoc Coll Teachers), Austin Dr. Marc Nigliazzo (Tx Assoc of Comm. Coll.), Houston Scott A. Nelson (Tx Comm Coll Tchr Assn), Unlisted On: Dr. Robert Leibman (Self), Austin Julian Shaddix (Secondary Princp Assoc), Unlisted Kenneth Ashworth (Tx Hgr. Coor. Board), Austin Marianne Vaughn (Texas Education Agency), Austin Sibyl Noack (self), Austin Teri Flack (Tx Higher Educ Coord Bd), Austin Tom Cameron (Self), Austin Registering, but not testifying: For: Shirley F. Binder (UT Arlington), Arlington On: Joseph A. Estrada (Tx A&M Univ System), Kingsville Written materials submitted: On: David M. Davis (ITT Educ. Services Inc.), Unlisted


I have tried pomodoro technique and I must admit that it works best for me. I like to know how productive I am.
I like the idea of starting with a small task/project.
I would like to try meditation.


A collection of dynamically generated css display
utility classes.
Class names follow the Emmet abbreviation
syntax, with colons (':') replaced by two dashes (--
) to follow BEM naming
conventions (It modifiies the user agent's default display).
E.g., the display: none
utility class name is .u-d--n
.
Available classes
.u-d--b
(display: block)
.u-d--f
(display: flex)
.u-d--if
(display: inline-flex)
.u-d--i
(display: inline)
.u-d--ib
(display: inline-block)
.u-d--inher
(display: inherit)
.u-d--init
(display: initial)
.u-d--li
(display: list-item)
.u-d--n
(display: none)
.u-d--tb
(display: table)
.u-d--iteb
(display: inline-table)
.u-d--tbcp
(display: table-caption)
.u-d--tbcl
(display: table-column)
.u-d--tbclg
(display: table-column-group)
.u-d--tbhg
(display: table-header-group)
.u-d--tbfg
(display: table-footer-group)
.u-d--tbr
(display: table-row)
.u-d--tbrg
(display: table-row-group)
.u-d--tbc
(display: table-cell)
.u-d--rb
(display: ruby)
.u-d--rbb
(display: ruby-base)
.u-d--rbbg
(display: ruby-base-group)
.u-d--rbt
(display: ruby-text)
.u-d--rbtg
(display: ruby-text-group)
Installation
Using npm:
npm i -S jigsass-utils-display
Usage
Import JigSass Utils Display into your main scss file near its very end, together with all
other utilities (utilities should always be the last to be imported).
@import 'path/to/jigsass-utils-display/scss/index';
Like all other JigSass Utils, JigSass Display does not automatically generate any CSS
when imported. You would need to explicitly indicate that each individual display
class should actually be generated in each component or object it is used in
(clarification: This will include style declarations inside .foo
and .bar
):
// _c.foo.scss
.foo {
@include jigsass-util(u-d, $modifier: b); // <-- display: block
...
}
// _c.bar.scss
.bar {
@include jigsass-util(u-d, $modifier: ib); // <-- display: inline-block
@include jigsass-util(
u-d,
$modifier: f,
$from: large
); // <-- display: flex from large bp an on.
...
}
Doing so helps us a great deal with portability, as no matter where we import component or object
partials, the correct utility classes will be generated. Think of it as a poor man's dependency
management.
Developer communication is also assisted by including "dependencies" wherever they are required,
as anyone going through a partial, can easily understand how it should be marked up with just a
glance.
As far as bloat goes, just don't worry about it - the actual styles will only be generated once,
at the location in the cascade where the Jigsass Clearfix partial was imported into the main file.
JigSass Display classes are responsive-enabled, using JigSass MQ
and the breakpoints defined in the $jigsass-breakpoints variable.
Based on the breakpoint arguments passed to jigsass-util
when including a display class, responsive
modifiers are generated according to the following logic:
.u-d--<modifier>[-[-from-<breakpoint-name>][-until-<breakpoint-name>][-misc-<breakpoint-name>]]
So, assuming the medium
, large
and landscape
breakpoints are defined in $jigsass-breakpoints
as 600px
, 1024px
and (orientation: landscape)
respectively,
@include jigsass-util(u-d, $modifier: f);
will generate the .u-d--f
class, which is not limited to any media-query.
@include jigsass-util(u-d, $modifier: f, $until: medium);
will generate the .u-d--f--until-medium
class, which will be in effect at
(max-width: 37.49em)
and will override styles in the default class until that point.
@include jigsass-util(u-d, $modifier: f, $from: large, $misc: landscape);
will generate the .u-d--f--from-large-when-landscape
class, which will go into
effect at (min-width: 64em) and (orientation: landscape)
and will override styles in the default
class under these conditions.
License: MIT


Welcome
Welcome to the kamzzang' Home! Here I'll be talking about evetything python and data science.
Go visit at below links to check out more cool stuff beyond just blogs.
Github RepositoryNaver Blog
{% extends 'base.html' %} {% block head %}
Welcome to the kamzzang' Home! Here I'll be talking about evetything python and data science.
Go visit at below links to check out more cool stuff beyond just blogs.
Github Repository


{% extends "layout.html" %} {% block page_title %} Previous education and skills funding agency (ESFA) funding allocations {% endblock %} {% block content %} {% include "includes/phase_banner_alpha.html" %} Manage your education and skills funding Previous ESFA funding allocations Previous education and skills funding agency (ESFA) funding allocations The allocations are available as ODS and XLSX files. Use the enquiry form to ask for a different format. Dedicated schools grant (DSG) funding stream DSG allocations 2017 to 2018 (ODS, 227KB) Published March 2018 DSG allocations 2017 to 2018 (XLSX, 439KB) Published March 2018 PE and sport premium PE and sport premium allocations 2017 to 2018 (ODS, 640KB) Published April 2018 PE and sport premium allocations 2017 to 2018 (XLSX, 745KB) Published April 2018 Pupil premium Pupil premium allocations 2017 to 2018: local authority and parliamentary constituency level (ODS, 160KB) Published March 2018 Pupil premium allocations 2017 to 2018: local authority and parliamentary constituency level (XLSX, 174KB) Published March 2018 Pupil premium allocations 2017 to 2018: school level (ODS, 2.90MB) Published March 2018 Pupil premium allocations 2017 to 2018: school level (XLSX, 3.10MB) Published March 2018 Year 7 literacy and numeracy catch-up premium Year 7 literacy and numeracy catch-up premium allocations 2017 to 2018 (ODS, 489KB) Published February 2018 Year 7 literacy and numeracy catch-up premium allocations 2017 to 2018 (XLSX, 500KB) Published February 2018 {% endblock %}
The allocations are available as ODS and XLSX files. Use the enquiry form to ask for a different format.
DSG allocations 2017 to 2018 (ODS, 227KB) Published March 2018
DSG allocations 2017 to 2018 (XLSX, 439KB) Published March 2018
PE and sport premium allocations 2017 to 2018 (ODS, 640KB) Published April 2018
PE and sport premium allocations 2017 to 2018 (XLSX, 745KB) Published April 2018
Pupil premium allocations 2017 to 2018: local authority and parliamentary constituency level (ODS, 160KB) Published March 2018
Pupil premium allocations 2017 to 2018: local authority and parliamentary constituency level (XLSX, 174KB) Published March 2018
Pupil premium allocations 2017 to 2018: school level (ODS, 2.90MB) Published March 2018
Pupil premium allocations 2017 to 2018: school level (XLSX, 3.10MB) Published March 2018
Year 7 literacy and numeracy catch-up premium allocations 2017 to 2018 (ODS, 489KB) Published February 2018
Year 7 literacy and numeracy catch-up premium allocations 2017 to 2018 (XLSX, 500KB) Published February 2018


Hey ${data.firstname}, didn't think that you can interpolate
${item}
Loading...
${data.asyncData.value}


Escalator C07S13
| Station Name | PENTAGON |
| Station Code | C07 |
| Station Description | |
| Escalator Description | Escalator between upper and lower platforms |
Summary
| Num. Breaks | 10 |
| Num. Fixes | 10 |
| Num. Inspections | 5 |
| Availability | 96.346% |
| Report Time Range | 121d 11h 39m |
History
| Time |
Status |
Duration |
| Mon, 09/23/13 05:51 AM |
OPERATIONAL |
7d 18h 26m |
| Mon, 09/23/13 02:41 AM |
MINOR REPAIR |
03h 09m |
| Fri, 09/13/13 05:08 AM |
OPERATIONAL |
9d 21h 33m |
| Thu, 09/12/13 11:26 PM |
PREV. MAINT. INSPECTION |
05h 41m |
| Mon, 08/26/13 04:57 AM |
OPERATIONAL |
17d 18h 29m |
| Sun, 08/25/13 11:24 PM |
PREV. MAINT. INSPECTION |
05h 32m |
| Sun, 08/25/13 10:36 AM |
OPERATIONAL |
12h 47m |
| Sat, 08/24/13 06:33 PM |
INCIDENT/ACCIDENT |
16h 02m |
| Sat, 08/24/13 11:21 AM |
OPERATIONAL |
07h 12m |
| Sat, 08/24/13 10:25 AM |
CALLBACK/REPAIR |
00h 56m |
| Wed, 07/31/13 07:26 PM |
OPERATIONAL |
23d 14h 58m |
| Wed, 07/31/13 03:49 PM |
CALLBACK/REPAIR |
03h 36m |
| Wed, 07/17/13 05:28 AM |
OPERATIONAL |
14d 10h 21m |
| Wed, 07/17/13 01:03 AM |
PREV. MAINT. INSPECTION |
04h 24m |
| Sat, 07/06/13 01:21 PM |
OPERATIONAL |
10d 11h 41m |
| Sat, 07/06/13 08:26 AM |
SAFETY INSPECTION |
04h 54m |
| Sat, 07/06/13 06:43 AM |
OPERATIONAL |
01h 42m |
| Sat, 07/06/13 02:38 AM |
CALLBACK/REPAIR |
04h 05m |
| Tue, 07/02/13 06:38 AM |
OPERATIONAL |
3d 20h 00m |
| Mon, 07/01/13 10:54 PM |
CALLBACK/REPAIR |
07h 43m |
| Wed, 06/19/13 09:31 AM |
OPERATIONAL |
12d 13h 23m |
| Wed, 06/19/13 07:39 AM |
CALLBACK/REPAIR |
01h 52m |
| Tue, 06/11/13 05:07 AM |
OPERATIONAL |
8d 02h 31m |
| Mon, 06/10/13 09:10 PM |
CALLBACK/REPAIR |
07h 56m |
| Mon, 06/10/13 01:48 PM |
OPERATIONAL |
07h 21m |
| Mon, 06/10/13 12:13 PM |
CALLBACK/REPAIR |
01h 35m |
| Sun, 06/09/13 07:00 PM |
OPERATIONAL |
17h 12m |
| Sun, 06/09/13 07:02 AM |
MINOR REPAIR |
11h 58m |
| Fri, 06/07/13 07:12 AM |
CALLBACK/REPAIR |
1d 23h 49m |
| Mon, 06/03/13 05:15 AM |
OPERATIONAL |
4d 01h 56m |
| Mon, 06/03/13 12:35 AM |
PREV. MAINT. INSPECTION |
04h 40m |
| Sat, 06/01/13 12:38 PM |
OPERATIONAL |
1d 11h 57m |
Page Last Updated: 10/01/13 12:17 AM


Hello {{name}}
You have an invitation to join {{establishment}}.
To accept this invitation, please follow the link below:
{{acceptLink}}
This link will stop working 7 days after you've received it.
This is to keep the service secure.
Many thanks
Animals in Science Regulation Unit