I want to SPIN with you.
We are adorable
In order to get the text spinner to work we need to set up some markup to have it run smoothly
We need to set up span container that can be anything I have named mine 'ts-container' after that you need two other spans that spin/rotate the text.
You need to set them up as 'ts-word-one' and 'ts-word-two'

 I want to

SPIN

with you.

We need to include the jquery library and the jquery-ui library in order to make the plugin work.
#ts-container-one {
display:inline-block;
position:relative;
height:60px; //change this base on your font size
width:165px; //change this base on your font size
}
/* these two are needed to make it work and display correctly */
.ts-word-one {
display:block;
position:absolute;
}
.ts-word-two {
display:none;
position:absolute;
}
$(document).ready(function(){
var words = ['SPIN','RUN', 'JUMP', 'PLAY']
$('#ts-container').textSpin(words);
var words = ['adorable', 'beautiful', 'glamorous', 'magnificent'];
$("#ts-container-two").textSpin(words);
});


{% extends 'base.html'%} {% import 'macros.html' as macro%} {% block styles%} {{ super() }} {% endblock %} {% block content %}
Pitches is a web application that allows users to use that one minute wisely. The users will submit their one minute pitches and other users will vote on them and leave comments to give their feedback on them. The pitches are organized by category. You can have different categories like pickup lines, interview pitch , product pitch, promotion pitch. So Write your one minute in any of the categories to the left and let other user vote and comment on it.Please also feel free to comment and vote on pitches posted by other people


Already have an Intuit account?
I forgot my User ID or Password
Sign In
Create an Intuit Account
One account for everything Inuit, including Mint.
Learn more
Email
Phone (recommended)
Standard call, messaging or data rates may apply.
Password
Create Account
By clicking Create account, you agree to our
Terms
and have read and acknowledge our
Privacy Statement.


function myProgram(str) { console.log(str); } myProgram('Hello World');
Playground
See the Pen SL Javascript Main Playground by Steven Parker (@Philosophist) on CodePen.
The Basics
var - Make a variable
objects - A simple way to group information
classes - Types of information
operators -, +, -, *, /, <, =, >, &, |, etc.
Functions, Loops, and Conditionals
function(){} - How to create and use a function
for(){} -
Conditional Logic - Uses of true and false statements
if(){} -
while(){} -
Methods
console.log() -


PRESENTING TIEME NDO'S
Effortless
CRM
Beautifully simple tools made for Tieme Ndo to improve the productivity of both their organization and clients.
Features
Only the essentials for great client relationships
The Tieme Ndo CRM was designed to make managing all parts of the company & client relationship as easy as possible. Minimalism, performance, and ease of use are carefully woven into each feature of the product.
SEARCH BY NAME AND LOCATION
TRACK CLIENT INTERACTIONS
MANAGE USERS AND INVENTORY
Meet The Team
Josh Kersting
Full Stack Developer
Chase Garsee
Full Stack Developer
Andrew Safran
Full Stack Developer
Dustin Bailey
Full Stack Developer
Jason Tyzzer
Android Developer
Lowell Richardson
Team Lead


THE FULL MONTY (1997)
A film review by Steve Kong Copyright 1997 Steve Kong
I've love movies that leave me with a silly grin when I step out of a theatre. The Full Monty is just that kind of movie.
Two men in Sheffield, England are down and out. They are out of their job at a local steel mill and just wander around. They spend their extra time steeling steel bars and hanging out at the local job-hunting office. Also at the job-hunting office is their former foreman. One day Chippendales visits their town and all the local women are there. One of the down and out men, Gaz, gets an idea. They could make a bundle of money if they did the same thing as the Chippendale men, except taking it all off. Going for "The Full Monty."
The two men seek out the help of their former foreman, who knows how to dance. Then they go looking for other men. They put together a group of six, them included, of a strange mix. One guy is extremely good looking, but can't dance (watch as he does the "wall walking" dance). Another is overweight and thinks that his wife is cheating on him. Another can dance, but has a bad hip and is a bit old. The there is the guy whose wife is using the credit card to the max but does not know that her husband has been out of a job for over six months. All of them have their troubles and this makes for a hilarious rag tag group of men.
The movie follows Gaz (Robert Carlyle) most of the time. He has been out of his job, lost his wife, and now a court is saying that he cannot see his son because he hasn't paid his child support. His son is hesitant of staying at his place because he can't afford heating.
The Full Monty is a great mix of comedy and a bit of drama. The striptease act is erotic at all, unlike the recent bad attempts by Striptease and Showgirls, The Full Monty throws out eroticism and puts in comedy.
Worth mentioning is the beautiful cinematography by John de Borman. He captures the beauty of the countryside and the gritty looks of the city. Also worth mentioning is the upbeat score by Anne Dudley.
Since this was a film from England, I had a hard time at the beginning and sometimes during the film, understanding what they were saying on screen. Though later on in the film the accents sunk in.
The Full Monty is a hilarious film with a good mix of comedy and drama. I highly recommend this film. Don't miss this one in the theatres. You just might find yourself walking out of the theatre will a silly smile on your face.
!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=! steve kong<EMAIL_ADDRESS>spy on me at: http://home.earthlink.net/~boiled/steve-cam.html movie reviews: http://<IP_ADDRESS>/boiled/ "try not. do. or do not. there is no try." - yoda !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!
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


When? Every Wednesday
Where? Institute for Geoinformatics, Geo1, 3rd Floor, Room 323
Course Language: English
First name:
Password:
Target degree:
Why I have decided to study Geoinformatics:
Here is my CV:
When did you start studying?
For statistical purposes: Do you like ice cream? Yes No


Note
Click here to download the full example code
Train and deploy a scikit-learn pipeline¶
This program starts from an example in scikit-learn documentation: Plot individual and voting regression predictions, converts it into ONNX and finally computes the predictions a different runtime.
Training a pipeline¶
from pyquickhelper.helpgen.graphviz_helper import plot_graphviz
import numpy
from onnxruntime import InferenceSession
from sklearn.datasets import load_diabetes
from sklearn.ensemble import (
GradientBoostingRegressor, RandomForestRegressor,
VotingRegressor)
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from skl2onnx import to_onnx
from mlprodict.onnxrt import OnnxInference
X, y = load_diabetes(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y)
# Train classifiers
reg1 = GradientBoostingRegressor(random_state=1, n_estimators=5)
reg2 = RandomForestRegressor(random_state=1, n_estimators=5)
reg3 = LinearRegression()
ereg = Pipeline(steps=[
('voting', VotingRegressor([('gb', reg1), ('rf', reg2), ('lr', reg3)])),
])
ereg.fit(X_train, y_train)
Out:
Pipeline(steps=[('voting',
VotingRegressor(estimators=[('gb',
GradientBoostingRegressor(n_estimators=5,
random_state=1)),
('rf',
RandomForestRegressor(n_estimators=5,
random_state=1)),
('lr', LinearRegression())]))])
Converts the model¶
The second argument gives a sample of the data used to train the model. It is used to infer the input type of the ONNX graph. It is converted into single float and ONNX runtimes may not fully support doubles.
onx = to_onnx(ereg, X_train[:1].astype(numpy.float32),
target_opset={'': 14, 'ai.onnx.ml': 2})
Prediction with ONNX¶
The first example uses onnxruntime.
sess = InferenceSession(onx.SerializeToString(),
providers=['CPUExecutionProvider'])
pred_ort = sess.run(None, {'X': X_test.astype(numpy.float32)})[0]
pred_skl = ereg.predict(X_test.astype(numpy.float32))
pred_ort[:5], pred_skl[:5]
Out:
(array([[187.60913],
[143.4106 ],
[137.87674],
[100.54735],
[108.63088]], dtype=float32), array([187.60911138,<PHONE_NUMBER>3,<PHONE_NUMBER>5,<PHONE_NUMBER>4,
108.63087824]))
Comparison¶
Before deploying, we need to compare that both scikit-learn and ONNX return the same predictions.
def diff(p1, p2):
p1 = p1.ravel()
p2 = p2.ravel()
d = numpy.abs(p2 - p1)
return d.max(), (d / numpy.abs(p1)).max()
print(diff(pred_skl, pred_ort))
Out:
(3.1676237682631836e-05, 1.3543536393035226e-07)
It looks good. Biggest errors (absolute and relative) are within the margin error introduced by using floats instead of doubles. We can save the model into ONNX format and compute the same predictions in many platform using onnxruntime.
Python runtime¶
A python runtime can be used as well to compute the prediction. It is not meant to be used into production (it still relies on python), but it is useful to investigate why the conversion went wrong. It uses module mlprodict.
oinf = OnnxInference(onx, runtime="python_compiled")
print(oinf)
Out:
OnnxInference(...)
def compiled_run(dict_inputs, yield_ops=None):
if yield_ops is not None:
raise NotImplementedError('yields_ops should be None.')
# init: w0 (w0)
# inputs
X = dict_inputs['X']
(var_0, ) = n0_treeensembleregressor(X)
(var_1, ) = n1_treeensembleregressor(X)
(var_2, ) = n2_linearregressor(X)
(wvar_2, ) = n3_mul(var_2, w0)
(wvar_1, ) = n4_mul(var_1, w0)
(wvar_0, ) = n5_mul(var_0, w0)
(fvar_2, ) = n6_flatten(wvar_2)
(fvar_1, ) = n7_flatten(wvar_1)
(fvar_0, ) = n8_flatten(wvar_0)
(variable, ) = n9_sum(fvar_0, fvar_1, fvar_2)
return {
'variable': variable,
}
It works almost the same way.
pred_pyrt = oinf.run({'X': X_test.astype(numpy.float32)})['variable']
print(diff(pred_skl, pred_pyrt))
Out:
(3.1676237682631836e-05, 1.3543536393035226e-07)
Final graph¶
ax = plot_graphviz(oinf.to_dot(), dpi=100)
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
Total running time of the script: ( 0 minutes 1.344 seconds)


Week 1: Introduction to Ruby and Programming
Starting and using IRb/Pry
Ruby basic datatypes, including arrays and hashes
Explanation of symbols
Variable assignment
Input and output with puts and gets
Using your editor and running Ruby scripts
Object-oriented design
Creating and organizing classes
attr_accessor, attr_reader, and attr_writer
String interpolation
Control flow and logic
Blocks
Ruby project layout
Debugging with pry
Testing with MiniTest
Week 2 Advanced OO & Ruby
Variable arguments for methods
Method visibility
Inheritance
Modules/mixins
Class methods
Bundler
Introduction to the Web
HTML elements
Basic CSS
Middleman or other static site generator
Layouts & partials
Week 3 Static sites, continued
Sass
A CSS framework -- Zurb Foundation, Twitter Bootstrap, or Bourbon and friends are recommended
Middleman or other static site generator
Dynamic pages from data
Helpers
Plugins
middleman-blog
middleman-deploy
Rails
History of Rails
MVC architecture explained
Rake
Scaffolding
ActiveRecord models
Built-in validations
Custom validations
Migrations
belongs_to and has_many associations
Simple queries
Controllers and routes
Custom controllers
Resource routes
Simple routes
Strong parameters
Views
Custom views -- not scaffolds
Form helpers
Week 4: Rails in Detail
ActiveRecord in detail
has_one associations
has_and_belongs_to_many and has_many :through associations
Association methods
STI and polymorphic associations
Migrations and existing data
Queries using SQL fragments
.includes
Using PostgreSQL (I use SQLite until this week.)
Testing models
Controllers and routes in detail
REST
Before, around, and after filters
Sessions and the flash session
Private methods in controllers
Testing controllers
Views in detail
Forms
Helpers
Alternative template languages
Deployment to Heroku
Other testing tools
Factories
Fake data
BDD
Week 5: Introduction to JavaScript
Intro to JavaScript
Using JavaScript in Rails
UJS
Remote actions
Server-generated JavaScript responses
escape_javascript
dom_id
jQuery
DOM manipulation
Ajax
Animations
Asset pipeline
CoffeeScript or Opal (optional)
External assets (vendor/assets, Bower, rails-assets.org)
Week 6 and 7: Rails Patterns
Integration testing with Capybara or other library
Authentication
DIY
Using a gem
File uploads
Pagination
Building RESTful APIs
Generating JSON and XML
Some of the following:
Tagging
Favorites
Sorting
Search
Asynchronous processing
Drag-and-drop
Consuming external APIs
More advanced patterns
Resize/Crop Image
Expression Builder
Live Preview
Forgiving Format
Edit In-Place
Filter Information On-Page
Advanced forms
Add Another
Select Existing Option or Add New Option
Select Options Based on Previous Options
Captcha
Auto-Complete
Week 8: Flex Week
I don't have a clear plan for this week. I suggest doing one or more of the following:
Cover a JavaScript framework like Backbone, Angular, or React
Go in-depth on testing
Add in more patterns
Deployment to non-Heroku platforms
Week 9: Review and Prep for Final Project
Review of the past 8 weeks
Agile development
Estimation
Pitching
Week 10-12: Final Project
Students work on their final projects.


Which app store did you download the app from?We couldn't detect it. Please select one. Why am I seeing this page?
Our App is available on the following app stores


Surrogate Optimization Problem¶
In order to start the Surrogate Optimization the client has to send six components over to the server.
- Optimization problem
- Surrogate model
- Experimental design
- Adaptive sampling
- Strategy
- Controller
A list of all possible object available to initialize their components is sent over to the client from the server, this list is explained in PySOT Dictionary Layout. The Layout of the client is explained in the Client Tab. The user will select their desired object from the list (displayed on the client’s user interface) and hit the ‘run’ button. The client then compiles a JSON using the selected parameters and sends it over to the server over web-sockets. One sample JSON object is shown below.
{
"optimization_problem":
{
"function": "Ackley",
"dim": 10
},
"experimental_design":
{
"function": "SymmetricLatinHypercube",
"dim": 10,
"npts": 21
},
"surrogate_model":
{
"function": "RBFInterpolant",
"maxp": 500,
"tail": "LinearTail",
"kernel": "CubicKernel"
},
"adaptive_sampling":
{
"function": "CandidateDYCORS",
"numcand": 100
},
"controller":
{
"function": "SerialController"
},
"strategy":
{
"function": "SyncStrategyNoConstraints",
"nsamples": 1,
"proj_fun": "projection"
}
}
Explanation
There is separate entry in the JSON for each of the six components. The key for each of the component is the component name and the value is another JSON object containing the object name to be initialized and it’s arguments. The key “function” refers to the object name and the following key, value pairs are the argument name and their value.
Note: When the default values of the arguments are to be used then the argument are not included in the JSON.


SUBURBIA A film review by James Berardinelli Copyright 1997 James Berardinelli
RATING (0 TO 10): 6.5 Alternative Scale: **1/2 out of ****
United States, 1997 U.S. Release Date: beginning 2/97 (limited) Running Length: 2:00 MPAA Classification: R (Profanity, mature themes, nudity) Theatrical Aspect Ratio: 1.85:1
Cast: Giovanni Ribisi, Steve Zahn, Amie Carey, Nicky Katt, Jayce Bartok, Dina Spybey, Parker Posey, Ajay Naidu, Samia Shoaib Director: Richard Linklater Producer: Anne Walker-McBay Screenplay: Eric Bogosian based on his play Cinematography: Lee Daniel Music: Sonic Youth U.S. Distributor: Sony Pictures Classics
Richard Linklater's movies have always been talky affairs, and his latest, SUBURBIA, is no exception. Even though Linklater didn't write the script, it's easy to see what attracted him to the project (which was adapted by Eric Bogosian from his stage play). The characters here aren't all that different from those in Linklater's previous films, SLACKERS, DAZED AND CONFUSED, and BEFORE SUNRISE. They're post- adolescent pre-adults stuck in a state of inertia, rendered impotent by the lethargy that takes root in the absence of ambition.
Watching SUBURBIA, I was reminded of the immortal quote from THE EMPIRE STRIKES BACK: "Try not. Do or do not. There is no try." The young men and women in Linklater's film seem forever stuck in the "try" mode. They talk about doing something with their lives, make plans for the future, but never seem to act on anything. Nestled in the safe suburban neighborhood of Anytown, U.S.A. (actually Burnfield, TX), they sit paralyzed on the side of the road while life rushes past at a frenzied pace.
SUBURBIA is about 95% dialogue, some of which is clever, but much of which is pointless. Bogosian has a fondness for meaningless profundities -- characters saying things that, on the surface, sound deep, but, when you examine them, aren't backed up by much substance. In a way, the movie as a whole is like that -- it's somehow not as powerful or original as it initially seems to be. Watching this picture can be an exercise in both frustration and fascination. Frustration, because it's difficult to spend two hours in the company of individuals whose defining traits are ennui and inadequacy. Fascination, because, even though the storyline is a little too constraining, the characters are capable of holding our interest.
Although SUBURBIA is an ensemble piece, certain individuals have more screen time than others. The lead, if there is one, is Jeff (Giovanni Ribisi), a slacker in his late teens who lives in a pup tent in his parents' garage, has dropped out of college, and constantly questions the meaning of life. His girlfriend, Sooze (Amie Carey), is a performance artist who dreams of going to New York. His best friends are Buff (Steve Zahn), a would-be video maker with a flair for the absurd, and Tim (Nicky Katt), a disturbed ex-Air Force grunt who returned home after being honorably discharged. Together, in what has become a nightly ritual, these five gather outside a Circle A convenience store to drink beer and talk. They are joined by Bee-Bee (Dina Spybey), a shy, pretty blond; Pony (Jayce Bartok), a old high school classmate who has become a rock star with a video on MTV; and Erica (the omnipresent Parker Posey), Pony's publicist. Meanwhile, the Pakistani owners of the store, Nazeer (Ajay Naidu) and Pakeesa (Samia Shoaib), do everything they can to dissuade the loiterers from hanging around.
Aside from a ride in a limo, a rendezvous in an abandoned van, and a walk through the woods, SUBURBIA basically stays around the Circle A. Perhaps strangely, the film is at its strongest when little is happening. During the second hour, as Bogosian's script begins building to a climax of dubious effectiveness, we start to feel manipulated by several incidents. In the beginning, the storyline serves the characters; by the end, it's the other way around.
SUBURBIA's two strongest assets are its acting and its attention to detail. Linklater, as he has done in all three of his previous outings, conveys a sense of time and place. Anyone who has been in or around a suburban convenience store that doubles as a teen hangout will understand how skillfully the director has captured the setting and how ably the actors have adapted to their roles.
Singling out performers is hard, since all of them are effective, but Giovanni Ribisi and Steve Zahn (both of whom appeared in THAT THING YOU DO!) give memorable turns. Ribisi plays the most frustrated of all the characters -- a smart, insightful young man who wants to act, but is anesthetized by his conviction that he's a victim of life's natural unfairness. For one brief moment, in a drunken stupor, he believes himself to be empowered, but events quickly pull him back under. Zahn's Buff, on the other hand, is the kind of character a high school class might vote "least likely to succeed," and the actor fully understands how to develop this off-the-wall personality without going over-the-top.
If not for the manipulative ending, SUBURBIA could be viewed as more of a character study than a cautionary tale. Ultimately, however, Bogosian and Linklater want to make a point about the fruit that this lifestyle will bear. But, despite missteps along the way and an underwhelming final half-hour, the movie has enough compelling moments to get us through the rough patches. SUBURBIA is far from a perfect film, but, for viewers who can look past the unevenness, there is value in some of what is being said.
- James Berardinelli e-mail<EMAIL_ADDRESS>ReelViews web site: http://www.cybernex.net/~berardin
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


Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
1.0.5
1.0.4
18 May 2021
- Change directory name
fcf91ba
- Added .nojekyll file
2e57769
- New version 1.0.4. Read more https://github.com/xdan/docium/blob/master/CHANGELOG.md
51a43b4
1.0.3
18 May 2021
- New version 1.0.3. Read more https://github.com/xdan/docium/blob/master/CHANGELOG.md
fd77d73
- Fixed bug in package.json
f691686
1.0.2
18 May 2021
- Start commit
06921a6
- Added header information
21d9be8
- New version 1.0.2. Read more https://github.com/xdan/docium/blob/master/CHANGELOG.MD
e3d6087


Biker arrested after crashing into tree in city centre
The road was closed
by Geoffrey BennettA motorcyclist has been arrested after he collided with a tree in Bristol city centre.
Police were called to reports of a single vehicle collision in Prince Street at around 8.30am this morning (November 16).
A man was taken to hospital with arm and shoulder injuries and was then arrested.
A spokesperson for Avon and Somerset Constabulary said: "A motorcyclist was in a collision with a tree.
"He was taken to hospital with arm and shoulder injuries."
The man, aged in his 20s, has subsequently been arrested on suspicion of theft of the bike, driving while under the influence of alcohol and careless driving.
The spokesman added that Prince Street was closed until 11.30am for police to take place.
For the latest news in and around Bristol, check back on Bristol Live's homepage.


Class: Aws::IAM::User
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
|
|
|
Instance Chain:
|
|
| Inherits: |
Aws::Resources::Resource
|
| Defined in: | (unknown) |
Class Attribute Summary
::Aws::Resources::Resource - Inherited
Class Method Summary
- .new(name, options = {}) constructor
::Aws::Resources::Resource - Inherited
| .add_data_attribute | Registers a data attribute. |
| .add_identifier, .data_attributes, .identifiers, .new |
::Aws::Resources::OperationMethods - Extended
Instance Attribute Summary
-
#arn ⇒ String
readonly
The Amazon Resource Name (ARN) that identifies the user.
-
#create_date ⇒ Time
readonly
The date and time, in ISO 8601 date-time format, when the user was created.
. - #name ⇒ String readonly
-
#password_last_used ⇒ Time
readonly
The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website.
-
#path ⇒ String
readonly
The path to the user.
-
#user_id ⇒ String
readonly
The stable and unique string identifying the user.
-
#user_name ⇒ String
readonly
The friendly name identifying the user.
.
::Aws::Resources::Resource - Inherited
| #client | Marked private to prevent double documentation. |
| #data_loaded?, | |
| #identifiers | Marked private to prevent double documentation. |
Instance Method Summary
- #access_key(id) ⇒ AccessKey
-
#access_keys(options = {}) ⇒ Collection<AccessKey>
Returns a Collection of AccessKey resources.
-
#add_group(options = {}) ⇒ Struct
Adds the specified user to the specified group.
. -
#attach_policy(options = {}) ⇒ Struct
Attaches the specified managed policy to the specified user.
. -
#attached_policies(options = {}) ⇒ Collection<Policy>
Returns a Collection of Policy resources.
- #create(options = {}) ⇒ User
- #create_access_key_pair ⇒ AccessKeyPair
- #create_login_profile(options = {}) ⇒ LoginProfile
- #create_policy(options = {}) ⇒ UserPolicy
-
#delete ⇒ Struct
Deletes the specified IAM user.
-
#detach_policy(options = {}) ⇒ Struct
Removes the specified managed policy from the specified user.
. - #enable_mfa(options = {}) ⇒ MfaDevice
- #exists? ⇒ Boolean
-
#groups(options = {}) ⇒ Collection<Group>
Returns a Collection of Group resources.
- #login_profile ⇒ LoginProfile
- #mfa_device(serial_number) ⇒ MfaDevice
-
#mfa_devices(options = {}) ⇒ Collection<MfaDevice>
Returns a Collection of MfaDevice resources.
-
#policies(options = {}) ⇒ Collection<UserPolicy>
Returns a Collection of UserPolicy resources.
- #policy(name) ⇒ UserPolicy
-
#remove_group(options = {}) ⇒ Struct
Removes the specified user from the specified group.
. - #signing_certificate(id) ⇒ SigningCertificate
-
#signing_certificates(options = {}) ⇒ Collection<SigningCertificate>
Returns a Collection of SigningCertificate resources.
- #update(options = {}) ⇒ User
-
#wait_until_exists {|waiter| ... } ⇒ User
Waits until this User is exists.
::Aws::Resources::Resource - Inherited
| #data, | |
| #load | Loads data for this resource. |
| #reload | Alias for Resources::Resource#load. |
| #wait_until | Waiter polls an API operation until a resource enters a desired state. |
Constructor Details
.new(name, options = {})
.new(options = {})
Instance Attribute Details
#arn ⇒ String
(readonly)
The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.
#create_date ⇒ Time
(readonly)
The date and time, in ISO 8601 date-time format, when the user was created.
#name ⇒ String
(readonly)
#password_last_used ⇒ Time
(readonly)
The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:
-
The user does not have a password
-
The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014
-
there is no sign-in data associated with the user
This value is returned only in the GetUser and ListUsers actions.
#path ⇒ String
(readonly)
The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.
#user_id ⇒ String
(readonly)
The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.
#user_name ⇒ String
(readonly)
The friendly name identifying the user.
Instance Method Details
#access_key(id) ⇒ AccessKey
#access_keys(options = {}) ⇒ Collection
<AccessKey>
Returns a Collection of AccessKey resources. No API requests are made until you call an enumerable method on the collection. Client#list_access_keys will be called multiple times until every AccessKey has been yielded.
#add_group(options = {}) ⇒ Struct
Adds the specified user to the specified group.
#attach_policy(options = {}) ⇒ Struct
Attaches the specified managed policy to the specified user.
You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy.
For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.
#attached_policies(options = {}) ⇒ Collection
<Policy>
Returns a Collection of Policy resources. No API requests are made until you call an enumerable method on the collection. Client#list_attached_user_policies will be called multiple times until every Policy has been yielded.
#create(options = {}) ⇒ User
#create_access_key_pair ⇒ AccessKeyPair
#create_login_profile(options = {}) ⇒ LoginProfile
#create_policy(options = {}) ⇒ UserPolicy
#delete ⇒ Struct
Deletes the specified IAM user. The user must not belong to any groups or have any access keys, signing certificates, or attached policies.
#detach_policy(options = {}) ⇒ Struct
Removes the specified managed policy from the specified user.
A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.
#enable_mfa(options = {}) ⇒ MfaDevice
#exists? ⇒ Boolean
#groups(options = {}) ⇒ Collection
<Group>
Returns a Collection of Group resources. No API requests are made until you call an enumerable method on the collection. Client#list_groups_for_user will be called multiple times until every Group has been yielded.
#login_profile ⇒ LoginProfile
#mfa_device(serial_number) ⇒ MfaDevice
#mfa_devices(options = {}) ⇒ Collection
<MfaDevice>
Returns a Collection of MfaDevice resources. No API requests are made until you call an enumerable method on the collection. Client#list_mfa_devices will be called multiple times until every MfaDevice has been yielded.
#policies(options = {}) ⇒ Collection
<UserPolicy>
Returns a Collection of UserPolicy resources. No API requests are made until you call an enumerable method on the collection. Client#list_user_policies will be called multiple times until every UserPolicy has been yielded.
#policy(name) ⇒ UserPolicy
#remove_group(options = {}) ⇒ Struct
Removes the specified user from the specified group.
#signing_certificate(id) ⇒ SigningCertificate
#signing_certificates(options = {}) ⇒ Collection
<SigningCertificate>
Returns a Collection of SigningCertificate resources. No API requests are made until you call an enumerable method on the collection. Client#list_signing_certificates will be called multiple times until every SigningCertificate has been yielded.
#update(options = {}) ⇒ User
#wait_until_exists {|waiter| ... } ⇒ User
Waits until this User is exists. This method waits by polling Client#get_user until successful. An error is raised after a configurable number of failed checks.
This waiter uses the following defaults:
| Configuration | Default |
|---|---|
#delay |
1 |
#max_attempts |
20 |
You can modify defaults and register callbacks by passing a block argument.


| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| config/ | 100% | 2/2 | 100% | 24/24 | 100% | 0/0 | 100% | 2/2 | |
| lib/ | 85.2% | 305/358 | 75.63% | 121/160 | 89.02% | 73/82 | 85.11% | 303/356 | |
| lib/storage/ | 81.82% | 9/11 | 50% | 1/2 | 100% | 1/1 | 81.82% | 9/11 | |
| lib/storage/providers/ | 92.37% | 121/131 | 75% | 33/44 | 90.91% | 30/33 | 92.37% | 121/131 | |
| webserver/ | 92.11% | 35/38 | 50% | 2/4 | 100% | 2/2 | 92.11% | 35/38 | |
| webserver/routes/ | 81.05% | 154/190 | 65.57% | 40/61 | 85.37% | 35/41 | 81.48% | 154/189 |


Congress leaders recall services of Indira Gandhi on her 102nd birth anniversary
‘The country saw unprecedented growth during her rule’
by Staff ReporterCongress leaders on Tuesday recalled the services of late Prime Minister Indira Gandhi, and said that she had initiated the true development of the country with her several bold decisions.
At Tirupati, All India Congress Committee member Prameelamma organized the celebration of the 102nd birth anniversary of Indira Gandhi at the municipal office junction. Paying rich tributes to the slain Prime Minister, Ms. Prameelamma said it was only during the regime of Indira Gandhi that all sections of the society in the country saw an unprecedented progress.
Senior Congress leader and convener of Rayalaseema Porata Samithi Naveen Kumar said that Indira Gandhi created history by nationalizing the private banks, giving financial security to the poor and downtrodden. “Unfortunately, the present day governments are weakening the structures of the banking sector, by giving a free hand to the corporate giants, and allowing them go scot-free after looting public money,” he said.
Earlier, the Congress leaders and cadres garlanded the portrait of Indira Gandhi, and distributed blankets to the poor ahead of the winter.
Indira Gandhi’s birth anniversary celebrations were also held at Madanapalle, Kuppam, Chittoor, Palamaner, Punganur, Nagari and Srikalahasti towns.


Physiotherapist
Physiotherapists work with patients to improve their range of movement and promote health and wellbeing.
1. How to become a physiotherapist
To be a physiotherapist, you’ll need a degree.
To get onto a degree in physiotherapy you’ll need at least:
- 2 or 3 A levels, including a biological science (universities may sometimes accept physical education) or equivalent level 3 qualifications
- 5 GCSEs at grades 9 to 4 (A* to C), including maths, English and science
You can find out about universities and entry requirements from UCAS.
A full-time degree usually takes 3 years. Part-time degrees can take 4 to 6 years.
You may be able to get financial help to do a course.
You could work as a physiotherapy support worker and study part time to qualify as a physiotherapist.
If you have a degree in a relevant subject like:
- biological science
- psychology
- sports science
you could do a 2-year master’s programme.
Paid or voluntary experience in the health or care sector may help you get on a course. Try private physiotherapy clinics, nursing homes or sports clinics.
Organisations like the NHS Do it and the Chartered Society of Physiotherapy (CSP) have more information about getting work experience.
Once you qualify you’ll need to register with the CSP.
You’ll also need to pass enhanced background checks.
2. Skills
You’ll need:
- excellent communication skills
- the ability to use your initiative
- interpersonal skills
- the ability to be firm yet encouraging
- patience, sensitivity and tact
- organisational and administrative skills
3. What you'll do
Your day-to-day tasks may include:
- helping patients with spine and joint problems
- helping patients recovering from accidents, sports injuries and strokes
- working with children who have mental or physical disabilities
- helping older people with physical problems become more mobile
You’ll work in areas and departments like paediatrics, outpatients, intensive care, women's health and occupational health. You’ll use treatments and techniques like:
- physical manipulation
- massage
- therapeutic exercise
- electrotherapy
- ultrasound
- acupuncture
- hydrotherapy
You’ll keep accurate records of patients' treatment and progress. You’ll work closely with other health professionals like nurses, occupational therapists, health visitors and social workers.
4. Salary
Starter: £22,000 to £28,500
Experienced: up to £35,000 (specialist physiotherapist)
Highly Experienced: £41,000 (advanced physiotherapist or team manager)
These figures are a guide.
5. Working hours, patterns and environment
You’ll usually work 37.5 hours a week. You’ll be based in a hospital or the community, in a health centre, clinic or GP surgery. You may also visit patients in their own homes.
If you work for local authorities, voluntary organisations or the private sector, you may be based in a nursing home, fitness centre or sports clinic.
6. Career path and progression
With experience you could become self-employed and set up your own practice.
Within the NHS, you could progress to senior physiotherapist or move into health service management. You could also specialise in an area like orthopaedics, sports therapy, occupational health, or working with older people or children.
You could also move into research or teaching.
Related careers
You may be interested in:
7. Current opportunities
Apprenticeships
Reception Apprentice
- Weekly wage: £105
- Weekly hours: 30
Business Administration Apprentice
- Weekly wage: £131.25
- Weekly hours: 37.50
Training courses
Health and Physiotherapy Access to Higher Education Diploma Level 3
- Provider: MANCHESTER COLLEGE (THE)
- Start date: 04 September 2017
Veterinary Physiotherapy MSc
- Provider: HARTPURY COLLEGE
- Start date: Contact for exact start and end dates
Last updated: 23 March 2016


Industrial revolution, amazon and eBay has created a whole new level of shopping online, using credit-cards, spending money online to buy goods at click of a mouse button. Birthplace of amazon.com is a garage of a house in Suburban Seattle belonged to Jeff Bezos, the founder of Amazon.com. The founder started with selling books online, launched amazon in summer of 1995.
On the other hand Pierre Omidyar the founder of eBay was another visionary who thought the online web presence and selling goods using the internet is the future. While Jeff Bezos was all about the business plan, with market research. When Pierre was a coder more of a developer without a market plan.
At the start of the eBay very useless items were listed but one site that had functionalities to buy/sell or bid over items. That actually stood out to the public.
On the other side Amazon was selling custom desks, books and similar other items.
Suddenly both companies started getting more and more visitors so quickly that the founders did not go unnoticed. They started getting more and more revenue and founders got recognized by the wall street in no time.
Internet needed just four years before it had 50 million users. Collision of two technologies, silicon chip, introduced by Intel. Internet era started from 1995. In 1997 Jeff Bezos came in with the business plan and amazon.com domain. Any time when Jeff had the opportunity, he would come in and lower the prizes of the goods. Strategic plan of Jeff was profits doesn’t matter in order to get big fast. But one valuable data managing was the credit cards. To understand the data that was amazon using from the customer was a delicate and privacy matter, the credit card number and to understand how amazon dealt with that, is where the encryptions comes in.
Powerful methods of encrypting mathematically, a method that was developed during world war 2. Although it needed an upgrade. In the context of online comers Public key cryptography was created. The encryption began from using the codes and encryptions created and generated by the receiver. Public key and Private key are the combinations that needed to be used.
Ebay at the beginning was a company ignored by the wall street, at the time company hired a Marketing person a person who would have the business plan. Along with that alot of other business students started heading to silicon valley. To get their hands in for the .com boom!
Internet also started the era of day trader. Made the stock market look like casino. During the 90s almost everyday an ecommerce company gets registered.
Next to internet era was a telecommunication. Companies were ready to layout miles of fiber optic cables providing high speed frequency of internet. Fiber optic cable transmits 10 billions of pulses of digital information every second.
The bubble finally crashed in 2000 and 2001, started loosing the stock market interest and caused panic. To keep up with the bubble people had created hedges and made investors go after things that actually did not hold much value. But despite of others companies like Amazon and eBay still stood strong with their business plans. Providing the online consumers with the goods with better customer services, listening to complaints, getting functionalities such as creating customer reviews so the company can focus on creating customer relation when book or goods makers can focus on creating their product, same goes for eBay and their customer database, doing and following such market plans kept them up and running, even today.
Based on their success, and other companies running out of business, it actually created more entrepreneurs, the people who had been burnt yet learnt from their experiences. Web is slowly becoming a foundation of our economy as of now, and we don’t even realize how fast we are moving along with the web.
___________________
*Pictures courtesy: unsplash.com
*Source: The True Story of the Internet: Dot Com Bubble


--- layout: page title: About header-img: "img/about-bg.png" ---
Front- and back-end developer experienced in CSS, HTML5, JavaScript, Ruby on Rails, React/Redux, educated at the Flatiron School. Excited by solving challenging problems, passionate about creating new ideas, inspired by tech’s ability to make information easily and readily available.


Primary email address
{{ email.value }}
Need help?
Please check your email inbox (or maybe your spam folder) for an email with a link to complete the process.
ORCID works best when you have multiple email addresses.
{{ email.value }}
Need help?
Please check your email inbox (or maybe your spam folder) for an email with a link to complete the process.
Please check your email inbox (or maybe your spam folder) for an email with a link to complete the process.
You haven’t added any other email addresses yet.
Adding additional email addresses is not allowed when you are managing another ORCID record.


{{ form.errors }}
{% include "base/_form_field.html" with field=form.address %}
{% include "base/_form_field.html" with field=form.city %}
{% include "base/_form_field.html" with field=form.state %}
{% include "base/_form_field.html" with field=form.postal_code %}
{% include "base/_form_field.html" with field=form.phone_mobile %}
{% include "base/_form_field.html" with field=form.phone_landline %}
Please indicate your other interests, or the names of books or authors you couldn't find in our list above.
{{ form.interests }}
This site is a work in progress. Please bear with us - it will be well worth your time!


class: center, middle, inverse, title-slide # Tidy data and data wrangling
🔧 --- layout: true
  class website
 --- class: center, middle # Tidy data --- ## Tidy data >Happy families are all alike; every unhappy family is unhappy in its own way. > >Leo Tolstoy -- .pull-left[ **Characteristics of tidy data:** - Each variable forms a column. - Each observation forms a row. - Each type of observational unit forms a table. ] -- .pull-right[ **Characteristics of untidy data:** !@#$%^&*() ] --- ## Summary tables .question[ Is each of the following a dataset or a summary table? ] .small[ .pull-left[ ``` ## # A tibble: 87 x 3 ## name height mass ## <chr> <int> <dbl> ## 1 Luke Skywalker 172 77 ## 2 C-3PO 167 75 ## 3 R2-D2 96 32 ## 4 Darth Vader 202 136 ## 5 Leia Organa 150 49 ## 6 Owen Lars 178 120 ## 7 Beru Whitesun lars 165 75 ## 8 R5-D4 97 32 ## 9 Biggs Darklighter 183 84 ## 10 Obi-Wan Kenobi 182 77 ## # ... with 77 more rows ``` ] .pull-right[ ``` ## # A tibble: 5 x 2 ## gender avg_height ## <chr> <dbl> ## 1 female 165. ## 2 hermaphrodite 175 ## 3 male 179. ## 4 none 200 ## 5 <NA> 120 ``` ] ] --- class: center, middle # Pipes --- ## Where does the name come from? The pipe operator is implemented in the package **magrittr**, it's pronounced "and then". .pull-left[ ![pipe](img//magritte.jpg) ] .pull-right[ ![magrittr](img//magrittr.jpg) ] --- ## Review: How does a pipe work? - You can think about the following sequence of actions - find key, unlock car, start car, drive to school, park. - Expressed as a set of nested functions in R pseudocode this would look like: ```r park(drive(start_car(find("keys")), to = "campus")) ``` - Writing it out using pipes give it a more natural (and easier to read) structure: ```r find("keys") %>% start_car() %>% drive(to = "campus") %>% park() ``` --- ## What about other arguments? To send results to a function argument other than first one or to use the previous result for multiple arguments, use `.`: ```r starwars %>% filter(species == "Human") %>% lm(mass ~ height, data = .) ``` ``` ## ## Call: ## lm(formula = mass ~ height, data = .) ## ## Coefficients: ## (Intercept) height ## -116.58 1.11 ``` --- class: center, middle # Data wrangling --- ## Bike crashes in NC 2007 - 2014 The dataset is in the **dsbox** package: ```r library(dsbox) ncbikecrash ``` --- ## Variables View the names of variables via ```r names(ncbikecrash) ``` ``` ## [1] "object_id" "city" ## [3] "county" "region" ## [5] "development" "locality" ## [7] "on_road" "rural_urban" ## [9] "speed_limit" "traffic_control" ## [11] "weather" "workzone" ## [13] "bike_age" "bike_age_group" ## [15] "bike_alcohol" "bike_alcohol_drugs" ## [17] "bike_direction" "bike_injury" ## [19] "bike_position" "bike_race" ## [21] "bike_sex" "driver_age" ## [23] "driver_age_group" "driver_alcohol" ## [25] "driver_alcohol_drugs" "driver_est_speed" ## [27] "driver_injury" "driver_race" ## [29] "driver_sex" "driver_vehicle_type" ## [31] "crash_alcohol" "crash_date" ## [33] "crash_day" "crash_group" ## [35] "crash_hour" "crash_location" ## [37] "crash_month" "crash_severity" ## [39] "crash_time" "crash_type" ## [41] "crash_year" "ambulance_req" ## [43] "hit_run" "light_condition" ## [45] "road_character" "road_class" ## [47] "road_condition" "road_configuration" ## [49] "road_defects" "road_feature" ## [51] "road_surface" "num_bikes_ai" ## [53] "num_bikes_bi" "num_bikes_ci" ## [55] "num_bikes_ki" "num_bikes_no" ## [57] "num_bikes_to" "num_bikes_ui" ## [59] "num_lanes" "num_units" ## [61] "distance_mi_from" "frm_road" ## [63] "rte_invd_cd" "towrd_road" ## [65] "geo_point" "geo_shape" ## [67] "driver_alcohol_drugs_simplified" ``` and see detailed descriptions with `?ncbikecrash`. --- ## Viewing your data - In the Environment, after loading with `data(ncbikecrash)`, and click on the name of the data frame to view it in the data viewer - Use the `glimpse` function to take a peek ```r glimpse(ncbikecrash) ``` ``` ## Rows: 7,467 ## Columns: 67 ## $ object_id <int> 1686, 1674, 1673, 1687, 1653, 1665, 1642, 1675, 16... ## $ city <chr> "None - Rural Crash", "Henderson", "None - Rural C... ## $ county <chr> "Wayne", "Vance", "Lincoln", "Columbus", "New Hano... ## $ region <chr> "Coastal", "Piedmont", "Piedmont", "Coastal", "Coa... ## $ development <chr> "Farms, Woods, Pastures", "Residential", "Farms, W... ## $ locality <chr> "Rural (<30% Developed)", "Mixed (30% To 70% Devel... ## $ on_road <chr> "SR 1915", "NICHOLAS ST", "US 321", "W BURKHEAD ST... ## $ rural_urban <chr> "Rural", "Urban", "Rural", "Urban", "Urban", "Rura... ## $ speed_limit <chr> "50 - 55 MPH", "30 - 35 MPH", "50 - 55 MPH", "3... ## $ traffic_control <chr> "No Control Present", "Stop Sign", "Double Yellow ... ## $ weather <chr> "Clear", "Clear", "Clear", "Rain", "Clear", "Cloud... ## $ workzone <chr> "No", "No", "No", "No", "No", "No", "No", "No", "N... ## $ bike_age <chr> "52", "66", "33", "52", "22", "15", "41", "14", "1... ## $ bike_age_group <chr> "50-59", "60-69", "30-39", "50-59", "20-24", "11-1... ## $ bike_alcohol <chr> "No", "No", "No", "Yes", "No", "No", "No", "No", "... ## $ bike_alcohol_drugs <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ bike_direction <chr> "With Traffic", "With Traffic", "With Traffic", NA... ## $ bike_injury <chr> "B: Evident Injury", "C: Possible Injury", "C: Pos... ## $ bike_position <chr> "Bike Lane / Paved Shoulder", "Travel Lane", "Trav... ## $ bike_race <chr> "Black", "Black", "White", "Black", "White", "Nati... ## $ bike_sex <chr> "Male", "Male", "Male", "Male", "Female", "Male", ... ## $ driver_age <chr> "34", NA, "37", "55", "25", "17", NA, "50", "32", ... ## $ driver_age_group <chr> "30-39", NA, "30-39", "50-59", "25-29", "0-19", NA... ## $ driver_alcohol <chr> "No", "Missing", "No", "No", "No", "No", "Missing"... ## $ driver_alcohol_drugs <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ driver_est_speed <chr> "51-55 mph", "6-10 mph", "41-45 mph", "11-15 mph",... ## $ driver_injury <chr> "O: No Injury", "Unknown Injury", "O: No Injury", ... ## $ driver_race <chr> "White", "Unknown/Missing", "Hispanic", "Black", "... ## $ driver_sex <chr> "Male", NA, "Female", "Male", "Male", "Female", NA... ## $ driver_vehicle_type <chr> "Single Unit Truck (2-Axle, 6-Tire)", NA, "Passeng... ## $ crash_alcohol <chr> "No", "No", "No", "Yes", "No", "No", "No", "No", "... ## $ crash_date <chr> "11DEC2013", "20NOV2013", "03NOV2013", "14DEC2013"... ## $ crash_day <chr> "Wednesday", "Wednesday", "Sunday", "Saturday", "T... ## $ crash_group <chr> "Motorist Overtaking Bicyclist", "Bicyclist Failed... ## $ crash_hour <int> 6, 20, 18, 18, 13, 17, 17, 7, 15, 2, 12, 22, 12, 1... ## $ crash_location <chr> "Non-Intersection", "Intersection", "Non-Intersect... ## $ crash_month <chr> "December", "November", "November", "December", "O... ## $ crash_severity <chr> "B: Evident Injury", "C: Possible Injury", "C: Pos... ## $ crash_time <time> 06:10:00, 20:41:00, 18:05:00, 18:34:00, 13:27:00,... ## $ crash_type <chr> "Motorist Overtaking - Undetected Bicyclist", "Bic... ## $ crash_year <int> 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 20... ## $ ambulance_req <chr> "Yes", "No", "Yes", "Yes", "Yes", "Yes", "Yes", "Y... ## $ hit_run <chr> "No", "Yes", "No", "No", "No", "No", "Yes", "No", ... ## $ light_condition <chr> "Dark - Roadway Not Lighted", NA, "Dark - Roadway ... ## $ road_character <chr> "Straight - Level", "Straight - Level", "Straight ... ## $ road_class <chr> "State Secondary Route", "Local Street", "US Route... ## $ road_condition <chr> "Dry", "Dry", "Dry", "Water (Standing, Moving)", "... ## $ road_configuration <chr> "Two-Way, Not Divided", "Two-Way, Divided, Unprote... ## $ road_defects <chr> "None", NA, "None", "None", "None", "None", "None"... ## $ road_feature <chr> "No Special Feature", "T-Intersection", "No Specia... ## $ road_surface <chr> "Coarse Asphalt", "Smooth Asphalt", "Smooth Asphal... ## $ num_bikes_ai <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ num_bikes_bi <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ num_bikes_ci <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ num_bikes_ki <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ num_bikes_no <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ num_bikes_to <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ num_bikes_ui <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ num_lanes <chr> "2 lanes", "2 lanes", "2 lanes", "1 lane", "8 lane... ## $ num_units <int> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,... ## $ distance_mi_from <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", ... ## $ frm_road <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ rte_invd_cd <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,... ## $ towrd_road <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ## $ geo_point <chr> "35.3336070056, -77.9955023901", "36.3151872016, -... ## $ geo_shape <chr> "{\"type\": \"Point\", \"coordinates\": [-77.99550... ## $ driver_alcohol_drugs_simplified <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA... ``` --- ## A Grammar of Data Manipulation **dplyr** is based on the concepts of functions as verbs that manipulate data frames. .pull-left[ ![](img/dplyr-part-of-tidyverse.png) ] .pull-right[ .midi[ - `filter`: pick rows matching criteria - `slice`: pick rows using index(es) - `select`: pick columns by name - `pull`: grab a column as a vector - `arrange`: reorder rows - `mutate`: add new variables - `distinct`: filter for unique rows - `sample_n` / `sample_frac`: randomly sample rows - `summarise`: reduce variables to values - ... (many more) ] ] --- ## **dplyr** rules for functions - First argument is *always* a data frame - Subsequent arguments say what to do with that data frame - Always return a data frame - Don't modify in place --- ## A note on piping and layering - The `%>%` operator in **dplyr** functions is called the pipe operator. This means you "pipe" the output of the previous line of code as the first input of the next line of code. - The `+` operator in **ggplot2** functions is used for "layering". This means you create the plot in layers, separated by `+`. --- ## `filter` to select a subset of rows for crashes in Durham County ```r ncbikecrash %>% * filter(county == "Durham") ``` ``` ## # A tibble: 340 x 67 ## object_id city county region development locality on_road rural_urban speed_limit ## <int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> ## 1 2452 Durh~ Durham Piedm~ Residential Urban (~ <NA> Urban 30 - 35 M~ ## 2 2441 Durh~ Durham Piedm~ Commercial Urban (~ <NA> Urban 30 - 35 M~ ## 3 2466 Durh~ Durham Piedm~ Commercial Urban (~ <NA> Urban 5 - 15 MPH ## 4 549 Durh~ Durham Piedm~ Residential Urban (~ PARK A~ Urban 20 - 25 M~ ## 5 598 Durh~ Durham Piedm~ Residential Urban (~ BELT S~ Urban 20 - 25 M~ ## 6 603 Durh~ Durham Piedm~ Residential Urban (~ HINSON~ Urban 20 - 25 M~ ## 7 3974 Durh~ Durham Piedm~ Commercial Urban (~ <NA> Urban 20 - 25 M~ ## 8 7134 Durh~ Durham Piedm~ Commercial Urban (~ <NA> Urban 30 - 35 M~ ## 9 1670 Durh~ Durham Piedm~ Commercial Urban (~ INFINI~ Urban 30 - 35 M~ ## 10 1773 Durh~ Durham Piedm~ Residential Urban (~ <NA> Urban 30 - 35 M~ ## # ... with 330 more rows, and 58 more variables: traffic_control <chr>, weather <chr>, ## # workzone <chr>, bike_age <chr>, bike_age_group <chr>, bike_alcohol <chr>, ## # bike_alcohol_drugs <chr>, bike_direction <chr>, bike_injury <chr>, bike_position <chr>, ## # bike_race <chr>, bike_sex <chr>, driver_age <chr>, driver_age_group <chr>, ## # driver_alcohol <chr>, driver_alcohol_drugs <chr>, driver_est_speed <chr>, ## # driver_injury <chr>, driver_race <chr>, driver_sex <chr>, driver_vehicle_type <chr>, ## # crash_alcohol <chr>, crash_date <chr>, crash_day <chr>, crash_group <chr>, ## # crash_hour <int>, crash_location <chr>, crash_month <chr>, crash_severity <chr>, ## # crash_time <time>, crash_type <chr>, crash_year <int>, ambulance_req <chr>, hit_run <chr>, ## # light_condition <chr>, road_character <chr>, road_class <chr>, road_condition <chr>, ## # road_configuration <chr>, road_defects <chr>, road_feature <chr>, road_surface <chr>, ## # num_bikes_ai <int>, num_bikes_bi <int>, num_bikes_ci <int>, num_bikes_ki <int>, ## # num_bikes_no <int>, num_bikes_to <int>, num_bikes_ui <int>, num_lanes <chr>, ## # num_units <int>, distance_mi_from <chr>, frm_road <chr>, rte_invd_cd <int>, ## # towrd_road <chr>, geo_point <chr>, geo_shape <chr>, driver_alcohol_drugs_simplified <chr> ``` --- ## `filter` for many conditions at once for crashes in Durham County where biker was 0-5 years old ```r ncbikecrash %>% filter(county == "Durham", bike_age_group == "0-5") ``` ``` ## # A tibble: 4 x 67 ## object_id city county region development locality on_road rural_urban speed_limit ## <int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> ## 1 4062 Durh~ Durham Piedm~ Residential Urban (~ <NA> Urban 30 - 35 M~ ## 2 414 Durh~ Durham Piedm~ Residential Urban (~ PVA 90~ Urban 5 - 15 MPH ## 3 3016 Durh~ Durham Piedm~ Residential Urban (~ <NA> Urban 20 - 25 M~ ## 4 1383 Durh~ Durham Piedm~ Residential Urban (~ PVA 62~ Urban 20 - 25 M~ ## # ... with 58 more variables: traffic_control <chr>, weather <chr>, workzone <chr>, ## # bike_age <chr>, bike_age_group <chr>, bike_alcohol <chr>, bike_alcohol_drugs <chr>, ## # bike_direction <chr>, bike_injury <chr>, bike_position <chr>, bike_race <chr>, ## # bike_sex <chr>, driver_age <chr>, driver_age_group <chr>, driver_alcohol <chr>, ## # driver_alcohol_drugs <chr>, driver_est_speed <chr>, driver_injury <chr>, ## # driver_race <chr>, driver_sex <chr>, driver_vehicle_type <chr>, crash_alcohol <chr>, ## # crash_date <chr>, crash_day <chr>, crash_group <chr>, crash_hour <int>, ## # crash_location <chr>, crash_month <chr>, crash_severity <chr>, crash_time <time>, ## # crash_type <chr>, crash_year <int>, ambulance_req <chr>, hit_run <chr>, ## # light_condition <chr>, road_character <chr>, road_class <chr>, road_condition <chr>, ## # road_configuration <chr>, road_defects <chr>, road_feature <chr>, road_surface <chr>, ## # num_bikes_ai <int>, num_bikes_bi <int>, num_bikes_ci <int>, num_bikes_ki <int>, ## # num_bikes_no <int>, num_bikes_to <int>, num_bikes_ui <int>, num_lanes <chr>, ## # num_units <int>, distance_mi_from <chr>, frm_road <chr>, rte_invd_cd <int>, ## # towrd_road <chr>, geo_point <chr>, geo_shape <chr>, driver_alcohol_drugs_simplified <chr> ``` --- ## Logical operators in R operator | definition || operator | definition ------------|------------------------------||--------------|---------------- `<` | less than ||`x` | `y` | `x` OR `y` `<=` | less than or equal to ||`is.na(x)` | test if `x` is `NA` `>` | greater than ||`!is.na(x)` | test if `x` is not `NA` `>=` | greater than or equal to ||`x %in% y` | test if `x` is in `y` `==` | exactly equal to ||`!(x %in% y)` | test if `x` is not in `y` `!=` | not equal to ||`!x` | not `x` `x & y` | `x` AND `y` || | --- ## `select` to keep variables ```r ncbikecrash %>% filter(county == "Durham", bike_age_group == "0-5") %>% select(locality, speed_limit) ``` ``` ## # A tibble: 4 x 2 ## locality speed_limit ## <chr> <chr> ## 1 Urban (>70% Developed) 30 - 35 MPH ## 2 Urban (>70% Developed) 5 - 15 MPH ## 3 Urban (>70% Developed) 20 - 25 MPH ## 4 Urban (>70% Developed) 20 - 25 MPH ``` --- ## `select` to exclude variables ```r ncbikecrash %>% select(-object_id) ``` ``` ## # A tibble: 7,467 x 66 ## city county region development locality on_road rural_urban speed_limit traffic_control ## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> ## 1 None~ Wayne Coast~ Farms, Woo~ Rural (~ SR 1915 Rural 50 - 55 M~ No Control Pre~ ## 2 Hend~ Vance Piedm~ Residential Mixed (~ NICHOL~ Urban 30 - 35 M~ Stop Sign ## 3 None~ Linco~ Piedm~ Farms, Woo~ Rural (~ US 321 Rural 50 - 55 M~ Double Yellow ~ ## 4 Whit~ Colum~ Coast~ Commercial Urban (~ W BURK~ Urban 30 - 35 M~ No Control Pre~ ## 5 Wilm~ New H~ Coast~ Residential Urban (~ RACINE~ Urban <NA> Stop And Go Si~ ## 6 None~ Robes~ Coast~ Farms, Woo~ Rural (~ SR 1513 Rural 50 - 55 M~ No Control Pre~ ## 7 None~ Richm~ Piedm~ Residential Mixed (~ SR 1903 Rural 30 - 35 M~ No Control Pre~ ## 8 Rale~ Wake Piedm~ Commercial Urban (~ PERSON~ Urban 30 - 35 M~ Stop And Go Si~ ## 9 Whit~ Colum~ Coast~ Residential Rural (~ FLOWER~ Urban 30 - 35 M~ No Control Pre~ ## 10 New ~ Craven Coast~ Residential Urban (~ SUTTON~ Urban 20 - 25 M~ No Control Pre~ ## # ... with 7,457 more rows, and 57 more variables: weather <chr>, workzone <chr>, ## # bike_age <chr>, bike_age_group <chr>, bike_alcohol <chr>, bike_alcohol_drugs <chr>, ## # bike_direction <chr>, bike_injury <chr>, bike_position <chr>, bike_race <chr>, ## # bike_sex <chr>, driver_age <chr>, driver_age_group <chr>, driver_alcohol <chr>, ## # driver_alcohol_drugs <chr>, driver_est_speed <chr>, driver_injury <chr>, ## # driver_race <chr>, driver_sex <chr>, driver_vehicle_type <chr>, crash_alcohol <chr>, ## # crash_date <chr>, crash_day <chr>, crash_group <chr>, crash_hour <int>, ## # crash_location <chr>, crash_month <chr>, crash_severity <chr>, crash_time <time>, ## # crash_type <chr>, crash_year <int>, ambulance_req <chr>, hit_run <chr>, ## # light_condition <chr>, road_character <chr>, road_class <chr>, road_condition <chr>, ## # road_configuration <chr>, road_defects <chr>, road_feature <chr>, road_surface <chr>, ## # num_bikes_ai <int>, num_bikes_bi <int>, num_bikes_ci <int>, num_bikes_ki <int>, ## # num_bikes_no <int>, num_bikes_to <int>, num_bikes_ui <int>, num_lanes <chr>, ## # num_units <int>, distance_mi_from <chr>, frm_road <chr>, rte_invd_cd <int>, ## # towrd_road <chr>, geo_point <chr>, geo_shape <chr>, driver_alcohol_drugs_simplified <chr> ``` --- ## `select` a range of variables ```r ncbikecrash %>% select(city:locality) ``` ``` ## # A tibble: 7,467 x 5 ## city county region development locality ## <chr> <chr> <chr> <chr> <chr> ## 1 None - Rural Crash Wayne Coastal Farms, Woods, Pastures Rural (<30% Developed) ## 2 Henderson Vance Piedmont Residential Mixed (30% To 70% Developed) ## 3 None - Rural Crash Lincoln Piedmont Farms, Woods, Pastures Rural (<30% Developed) ## 4 Whiteville Columbus Coastal Commercial Urban (>70% Developed) ## 5 Wilmington New Hanover Coastal Residential Urban (>70% Developed) ## 6 None - Rural Crash Robeson Coastal Farms, Woods, Pastures Rural (<30% Developed) ## 7 None - Rural Crash Richmond Piedmont Residential Mixed (30% To 70% Developed) ## 8 Raleigh Wake Piedmont Commercial Urban (>70% Developed) ## 9 Whiteville Columbus Coastal Residential Rural (<30% Developed) ## 10 New Bern Craven Coastal Residential Urban (>70% Developed) ## # ... with 7,457 more rows ``` --- ## `slice` for certain row numbers First five ```r ncbikecrash %>% slice(1:5) ``` ``` ## # A tibble: 5 x 67 ## object_id city county region development locality on_road rural_urban speed_limit ## <int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> ## 1 1686 None~ Wayne Coast~ Farms, Woo~ Rural (~ SR 1915 Rural 50 - 55 M~ ## 2 1674 Hend~ Vance Piedm~ Residential Mixed (~ NICHOL~ Urban 30 - 35 M~ ## 3 1673 None~ Linco~ Piedm~ Farms, Woo~ Rural (~ US 321 Rural 50 - 55 M~ ## 4 1687 Whit~ Colum~ Coast~ Commercial Urban (~ W BURK~ Urban 30 - 35 M~ ## 5 1653 Wilm~ New H~ Coast~ Residential Urban (~ RACINE~ Urban <NA> ## # ... with 58 more variables: traffic_control <chr>, weather <chr>, workzone <chr>, ## # bike_age <chr>, bike_age_group <chr>, bike_alcohol <chr>, bike_alcohol_drugs <chr>, ## # bike_direction <chr>, bike_injury <chr>, bike_position <chr>, bike_race <chr>, ## # bike_sex <chr>, driver_age <chr>, driver_age_group <chr>, driver_alcohol <chr>, ## # driver_alcohol_drugs <chr>, driver_est_speed <chr>, driver_injury <chr>, ## # driver_race <chr>, driver_sex <chr>, driver_vehicle_type <chr>, crash_alcohol <chr>, ## # crash_date <chr>, crash_day <chr>, crash_group <chr>, crash_hour <int>, ## # crash_location <chr>, crash_month <chr>, crash_severity <chr>, crash_time <time>, ## # crash_type <chr>, crash_year <int>, ambulance_req <chr>, hit_run <chr>, ## # light_condition <chr>, road_character <chr>, road_class <chr>, road_condition <chr>, ## # road_configuration <chr>, road_defects <chr>, road_feature <chr>, road_surface <chr>, ## # num_bikes_ai <int>, num_bikes_bi <int>, num_bikes_ci <int>, num_bikes_ki <int>, ## # num_bikes_no <int>, num_bikes_to <int>, num_bikes_ui <int>, num_lanes <chr>, ## # num_units <int>, distance_mi_from <chr>, frm_road <chr>, rte_invd_cd <int>, ## # towrd_road <chr>, geo_point <chr>, geo_shape <chr>, driver_alcohol_drugs_simplified <chr> ``` --- ## `slice` for certain row numbers Last five ```r last_row <- nrow(ncbikecrash) ncbikecrash %>% slice((last_row - 4):last_row) ``` ``` ## # A tibble: 5 x 67 ## object_id city county region development locality on_road rural_urban speed_limit ## <int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> ## 1 6989 High~ Guilf~ Piedm~ Residential Urban (~ <NA> Urban 30 - 35 M~ ## 2 6991 Wilm~ New H~ Coast~ Residential Urban (~ <NA> Urban 30 - 35 M~ ## 3 6995 Kins~ Lenoir Coast~ Commercial Urban (~ <NA> Urban 30 - 35 M~ ## 4 6998 Faye~ Cumbe~ Coast~ Residential Urban (~ <NA> Urban 30 - 35 M~ ## 5 7000 None~ Onslow Coast~ Farms, Woo~ Rural (~ <NA> Rural 50 - 55 M~ ## # ... with 58 more variables: traffic_control <chr>, weather <chr>, workzone <chr>, ## # bike_age <chr>, bike_age_group <chr>, bike_alcohol <chr>, bike_alcohol_drugs <chr>, ## # bike_direction <chr>, bike_injury <chr>, bike_position <chr>, bike_race <chr>, ## # bike_sex <chr>, driver_age <chr>, driver_age_group <chr>, driver_alcohol <chr>, ## # driver_alcohol_drugs <chr>, driver_est_speed <chr>, driver_injury <chr>, ## # driver_race <chr>, driver_sex <chr>, driver_vehicle_type <chr>, crash_alcohol <chr>, ## # crash_date <chr>, crash_day <chr>, crash_group <chr>, crash_hour <int>, ## # crash_location <chr>, crash_month <chr>, crash_severity <chr>, crash_time <time>, ## # crash_type <chr>, crash_year <int>, ambulance_req <chr>, hit_run <chr>, ## # light_condition <chr>, road_character <chr>, road_class <chr>, road_condition <chr>, ## # road_configuration <chr>, road_defects <chr>, road_feature <chr>, road_surface <chr>, ## # num_bikes_ai <int>, num_bikes_bi <int>, num_bikes_ci <int>, num_bikes_ki <int>, ## # num_bikes_no <int>, num_bikes_to <int>, num_bikes_ui <int>, num_lanes <chr>, ## # num_units <int>, distance_mi_from <chr>, frm_road <chr>, rte_invd_cd <int>, ## # towrd_road <chr>, geo_point <chr>, geo_shape <chr>, driver_alcohol_drugs_simplified <chr> ``` --- ## `pull` to extract a column as a vector ```r ncbikecrash %>% slice(1:6) %>% pull(locality) ``` ``` ## [1] "Rural (<30% Developed)" "Mixed (30% To 70% Developed)" ## [3] "Rural (<30% Developed)" "Urban (>70% Developed)" ## [5] "Urban (>70% Developed)" "Rural (<30% Developed)" ``` vs. ```r ncbikecrash %>% slice(1:6) %>% select(locality) ``` ``` ## # A tibble: 6 x 1 ## locality ## <chr> ## 1 Rural (<30% Developed) ## 2 Mixed (30% To 70% Developed) ## 3 Rural (<30% Developed) ## 4 Urban (>70% Developed) ## 5 Urban (>70% Developed) ## 6 Rural (<30% Developed) ``` --- ## `sample_n` / `sample_frac` for a random sample - `sample_n`: randomly sample 5 observations ```r ncbikecrash_n5 <- ncbikecrash %>% sample_n(5, replace = FALSE) dim(ncbikecrash_n5) ``` ``` ## [1] 5 67 ``` - `sample_frac`: randomly sample 20% of observations ```r ncbikecrash_perc20 <-ncbikecrash %>% sample_frac(0.2, replace = FALSE) dim(ncbikecrash_perc20) ``` ``` ## [1] 1493 67 ``` --- ## `distinct` to filter for unique rows And `arrange` to order alphabetically ```r ncbikecrash %>% select(county, city) %>% distinct() %>% arrange(county, city) ``` ``` ## # A tibble: 391 x 2 ## county city ## <chr> <chr> ## 1 Alamance Alamance ## 2 Alamance Burlington ## 3 Alamance Elon ## 4 Alamance Elon College ## 5 Alamance Gibsonville ## 6 Alamance Graham ## 7 Alamance Green Level ## 8 Alamance Mebane ## 9 Alamance None - Rural Crash ## 10 Alexander None - Rural Crash ## # ... with 381 more rows ``` --- ## `summarise` to reduce variables to values ```r ncbikecrash %>% summarise(avg_hr = mean(crash_hour)) ``` ``` ## # A tibble: 1 x 1 ## avg_hr ## <dbl> ## 1 14.7 ``` --- ## `group_by` to do calculations on groups ```r ncbikecrash %>% group_by(hit_run) %>% summarise(avg_hr = mean(crash_hour)) ``` ``` ## # A tibble: 2 x 2 ## hit_run avg_hr ## <chr> <dbl> ## 1 No 14.6 ## 2 Yes 15.0 ``` --- ## `count` observations in groups ```r ncbikecrash %>% count(driver_alcohol_drugs) ``` ``` ## # A tibble: 6 x 2 ## driver_alcohol_drugs n ## <chr> <int> ## 1 Missing 99 ## 2 No 695 ## 3 Yes-Alcohol, impairment suspected 12 ## 4 Yes-Alcohol, no impairment detected 3 ## 5 Yes-Drugs, impairment suspected 4 ## 6 <NA> 6654 ``` --- ## `mutate` to add new variables ```r ncbikecrash %>% mutate(driver_alcohol_drugs_simplified = case_when( driver_alcohol_drugs == "Missing" ~ NA, str_detect(driver_alcohol_drugs, "Yes") ~ "Yes", TRUE ~ "No" )) ``` --- ## "Save" when you `mutate` Most often when you define a new variable with `mutate` you'll also want to save the resulting data frame, often by writing over the original data frame. ```r ncbikecrash <- ncbikecrash %>% mutate(driver_alcohol_drugs_simplified = case_when( str_detect(driver_alcohol_drugs, "Yes") ~ "Yes", TRUE ~ driver_alcohol_drugs )) ``` --- ## Check before you move on ```r ncbikecrash %>% count(driver_alcohol_drugs, driver_alcohol_drugs_simplified) ``` ``` ## # A tibble: 6 x 3 ## driver_alcohol_drugs driver_alcohol_drugs_simplified n ## <chr> <chr> <int> ## 1 Missing Missing 99 ## 2 No No 695 ## 3 Yes-Alcohol, impairment suspected Yes 12 ## 4 Yes-Alcohol, no impairment detected Yes 3 ## 5 Yes-Drugs, impairment suspected Yes 4 ## 6 <NA> <NA> 6654 ``` ```r ncbikecrash %>% count(driver_alcohol_drugs_simplified) ``` ``` ## # A tibble: 4 x 2 ## driver_alcohol_drugs_simplified n ## <chr> <int> ## 1 Missing 99 ## 2 No 695 ## 3 Yes 19 ## 4 <NA> 6654 ``` --- ##  `AE 04 - NC bike crashes` - Click here to go to [RStudio Cloud](https://rstudio.cloud/project/1240327) and open the application exercise - For each question you work on, set the `eval` chunk option to `TRUE` and knit


here are two images that have float:left;
As you can see they were placed one next to the other. Also note that THIS hole red text appears in code AFTER the images
Next two images have float: left an clear:both;
As you can see noe the images are not placed one next to the other because the clear rule prevents ...
Now this is the best usage of float property - you can wrap the text around the images very neatly. Here we will add some more text to demonstrate this.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus dicta dignissimos dolorem earum fugit id modi omnis quidem vel? Aut consequuntur dolorem, enim ex facilis harum numquam perferendis quibusdam repellat!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus dicta dignissimos dolorem earum fugit id modi omnis quidem vel? Aut consequuntur dolorem, enim ex facilis harum numquam perferendis quibusdam repellat!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus dicta dignissimos dolorem earum fugit id modi omnis quidem vel? Aut consequuntur dolorem, enim ex facilis harum numquam perferendis quibusdam repellat!Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus dicta dignissimos dolorem earum fugit id modi omnis quidem vel? Aut consequuntur dolorem, enim ex facilis harum numquam perferendis quibusdam repellat!


Activity Tracking¶
Note
This feature is still being worked on and all information is therefore prone to change.
Activity Tracking is a feature that will have the simulator time the invocation of each user-defined function, being the intTransition, extTransition, confTransition, outputFnc and timeAdvance functions. At the end, all this timing information is gathered and a list of all timings is shown to the user. In its current state, there is not really a big use for Activity Tracking apart from the user being aware of the load of every seperate model.
Two different output variants are currently supported:
- List view: this will simply show a flat list of the name of the model, followed by its activity (in seconds). Depending on the configuration options, this will either be sorted on model name or on activity.
- Cell view: this present the same information as the list view, only in a visual way. It will create a matrix-style file that contains the activity for that specific cell. This file can then be visualised using for example Gnuplot.
The following configuration options are related to this functionality:
- setActivityTracking(at, sortOnActivity): enables or disables the printing of activity tracking information. Note that activity tracking is always performed internally, so disabling this will not increase performance.
- setActivityTrackingCellMap(cellmap, x, y): when activity tracking is enabled, setting this to True will result in a matrix-style file instead of a (printed) flat list. The resulting file will be called activity.
In this example, we will create an activity Cell view, as this is a lot nicer than the other (more statistical) variant. Our model will be something more complex as the previous examples, but the model itself isn’t really that important. A fire spread model was chosen, as this nicely reduces to a map and is thus perfect for Cell view.
Note
The Cell view furthermore requires models that are to be plotted have an x and y attribute. This value will determine their location in the map. Models without such attributes will simply be ignored.
This image was created by using the experiment file containing:
x, y = 20, 20
model = FireSpread(x, y)
sim = Simulator(model)
sim.setTerminationTime(1000.0)
sim.setActivityTrackingVisualisation(True, x, y)
sim.simulate()
After simulation, a file called activity was created. This file was plotted using gnuplot with the commands
set view map
splot 'activity' matrix with image
Note
In order to make some more visually pleasing maps, the computation in the transition functions was severely increased. This is due to our transition function being rather small by default, which doesn’t provide very accurate timings.
Warning
Don’t forget to take the word of caution (see below) into account when analyzing the results.
Word of caution¶
The Activity Tracking feature uses the time.time() function from the Python time library. This means that it measures wall clock time instead of actual CPU time. Should the CPU be overloaded with work, these timings will thus be inaccurate due to possible interruptions of the simulation. Most of the time however, such interrupts should arrive either outside of the timed code. Otherwise, the interrupted models should be somewhat evenly spread out, thus reducing the impact.
Of course, Python provides functions to fetch the actual CPU time spend. These alternatives were checked, but were insufficient for our purpose for several reasons. The alternatives are mentioned below:
- Python time.clock() function: this has a very low granularity on Linux, which would show total nonsense in case the transition functions are small.
- Python resource library: this has the same problem as the time.clock() approach and furthermore is a lot slower
- External psutil library: this alternative has the same problems as the above alternatives, with the additional disadvantage that it is extremely slow.
Since Activity Tracking is done at every model, in every simulation step, performance of this call is critical. To show the difference between these alternatives, a timeit comparison is shown below:
yentl ~ $ python -m timeit -s "import time" -- "time.time()"
10000000 loops, best of 3: 0.0801 usec per loop
yentl ~ $ python -m timeit -s "import time" -- "time.clock()"
10000000 loops, best of 3: 0.199 usec per loop
yentl ~ $ python -m timeit -s "import resource" -- "resource.getrusage(resource.RUSAGE_SELF).ru_utime"
1000000 loops, best of 3: 0.642 usec per loop
yentl ~ $ python -m timeit -s "import psutil" -- "psutil.cpu_times().user"
10000 loops, best of 3: 25.9 usec per loop
As can be seen from this comparison, we have the following performance statistics:
| method | time per loop | times slower than time() |
| time() | 0.08 usec | 1x |
| clock() | 0.199 usec | 2.5x |
| resource | 0.642 usec | 8x |
| psutil | 25.9 usec | 324x |
Since this function will be called twice for every transition that happens, using one of the slower methods would have an immense difference on the actual simulation time. The main purpose of Activity Tracking is to increase performance, but when when e.g. psutil is used, the simulation is already slowed down by a massive factor, removing any chance for improvement in general situations.


Nagarjuna, Chiranjeevi remember Sridevi at ANR National Award 2019 Boney Kapoor accepted the ANR National Award on behalf of his late wife Sridevi. Rekha received an award for her contribution to cinema. 18 Nov 2019, 03:08 Legendary actors Sridevi and Rekha were conferred with the ANR National Award on November 17. The award ceremony held in Hyderabad saw Chiranjeevi, Nagarjuna Akkineni, Amala Akkineni, Naga Chaitanya and Vijay Deverakonda among others in attendance. Remembering Sridevi at the awards ceremony, Nagarjuna said, "I worked with Sridevi in four films. My first film with her was Akhari Poratam. She carried an aura into the set. She was the goddess of grace. Everyone says that the beauty and talent she possessed were God's gift. But I say that Boney Kapoor was a real gift to her. I knew both of them for a long time. While Himmatwala made her a star in Bollywood, it is Mr. India produced by Boney Kapoor that made her a national superstar. ANR garu and Sridevi garu live on as long as cinema is alive." Rekha, who was also honoured with the ANR National Award, said she "will do a Telugu film soon by learning Telugu like Sridevi garu." Boney Kapoor, while receiving the award, thanked the Akkineni family and T Subbarami Reddy for the award. Chiranjeevi was the chief guest at ANR National Award 2019. Nagarjuna said, "I can't express our bonding in words. When I told Chiranjeevi about this award, he cut short his US trip and came here today." Chiranjeevi also remembered Sridevi at the event. He said, "I worked in 3-4 films with Sridevi. Even during the shoot, she used to talk about cinema. She was completely dedicated to cinema. It's very sad that she left us very early. She acted in almost all Indian languages and became The Lady Superstar of India. I am very happy that this award is giving an opportunity to once again remember her on this stage." Nagarjuna, Naga Chaitanya, Akhil and Vijay Deverakonda pose for photographers at ANR National Award 2019.


Your name is required.
Username is too short.
Username is too long.
Username is required.
Enter a valid email.


Martin Keown says Liverpool’s Virgil van Dijk is ‘as good as anything we have seen’
The Premier League winner has gone big in his praise of the Dutchman.
by Sam PrestonFormer Arsenal and Everton defender Martin Keown has won the Premier League three times but says he has never seen a better player than Virgil van Dijk.
As per the Daily Mail, Keown went big in his praise of the Liverpool centre half, saying he is as good as anyone he’s ever seen in his life.
He said: “He (van Dijk) just came to Liverpool at the right time, that maturity, he purrs around the pitch, he has the pace.
‘I think he’s as good as anything we’ve seen ever. Only time will tell with what he wins, winning back-to-back trophies, in the modern game he’s certainly the best.”
TBR’s View – What else can be added about van Dijk?
We all know by now that van Dijk has transformed Liverpool’s defence and is the best central defender in world football right now.
He is a key reason Liverpool are leading the chase for the Premier League and perhaps Manchester City fans would like to see how the Reds would cope without him for the same period of time they have missed Aymeric Laporte.
Keown says he’s not seen a better player ever – which is a huge call – but he does know what it takes to be a Premier League winning central defender.
Have something to tell us about this article?
Let us know


MPI procedures sometimes assign a special meaning to a special value of a basic type argument; e.g., tag is an integer-valued argument of point-to-point communication operations, with a special wild-card value, MPI_ANY_TAG. Such arguments will have a range of regular values, which is a proper subrange of the range of values of the corresponding basic type; special values (such as MPI_ANY_TAG) will be outside the regular range. The range of regular values, such as tag, can be queried using environmental inquiry functions (Chapter 7 of the MPI-1 document). The range of other values, such as source, depends on values given by other MPI routines (in the case of source it is the communicator size).
MPI also provides predefined named constant handles, such as MPI_COMM_WORLD.
All named
constants, with the exceptions noted below for Fortran, can be used in
initialization expressions or assignments, but not necessarily in
array declarations or as labels in C/C++ switch or Fortran
select/case
statements. This implies named constants to be link-time but not
necessarily compile-time constants. The named constants listed below
are required to be compile-time constants in both C/C++ and Fortran.
These constants do
not change values during execution. Opaque objects accessed by constant
handles are defined and do not change value between MPI initialization
( MPI_INIT) and MPI completion ( MPI_FINALIZE).
The handles themselves are constants and can be also used in initialization expressions or assignments.
The constants that are required to be compile-time constants (and
can thus be used for array length declarations and labels in C/C++
switch and Fortran case/select statements) are:
and their C++ counterparts where appropriate.
The constants that cannot be used in initialization expressions or
assignments in Fortran are:
In Fortran the implementation of these special constants may require the
use of language constructs that are outside the Fortran
standard. Using special values for the constants (e.g., by defining
them through PARAMETER statements) is not possible because an
implementation cannot distinguish these values from legal
data. Typically, these constants are implemented as predefined
static variables (e.g., a variable in an MPI-declared COMMON
block), relying on the fact that the target compiler passes data by
address. Inside the subroutine, this address can be extracted by some
mechanism outside the Fortran standard (e.g., by Fortran extensions or
by implementing the function in C).
( End of advice to implementors.)
Advice
to implementors.
Up: Data Types
Next: Choice
Previous: State
Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page
(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009


jane doette
front-end ninja
featured work
project-name
www.github.com
project-name
www.github.com
project-name
www.github.com
Favorite App Page
This was my first project in this class. I learned a lot about HTML and CSS.


--- layout: page title: "Developing Web Applications with Haskell and Yesod" prev: OEBPS/ch03s04.html next: OEBPS/ch03s06.html book_path: books/michael-snoyman-developing-web-applications-with-haskell-and-yesod-_oeb/ --- {% include JB/setup %} {% raw %}
Once again we mention HelloWorld
in our main function.
Our foundation contains all the information we need to route and respond to
requests in our application; now we just need to convert it into something
that can run. A useful function for this in Yesod is warpDebug
, which runs the Warp web server
with debug output enabled on the specified port (here, it’s 3000).
One of the features of Yesod is that you aren’t tied down to a single deployment strategy. Yesod is built on top of the Web Application Interface (WAI), allowing it to run on FastCGI, SCGI, Warp, or even as a desktop application using the Webkit library. We’ll discuss some of these options in the deployment chapter. And at the end of this chapter, we will explain the development server.
Warp is the premiere deployment option for Yesod. It is a lightweight, highly efficient web server developed specifically for hosting Yesod. It is also used outside of Yesod for other Haskell development (both framework and non-framework applications), as well as a standard file server in a number of production environments.


Remove Bounced Addresses
Number of Bounces
Number of Members
{ foreach my $ref (@{$c{count_refs}}) { my $number = $ref->{number}; my $count = $ref->{count}; $OUT.=<<"+++";
$number
$count
+++ } }
Remove all members with
{$c{count_options}}
bounces or more
{$c{error_text}}


Using Sphinx¶
This guide serves to demonstrate how one can get started with Sphinx and covers everything from installing Sphinx and configuring your first Sphinx project to using some of the advanced features Sphinx provides out-of-the-box. If you are looking for guidance on extending Sphinx, refer to /development/index.
- Getting Started
- Installing Sphinx
- reStructuredText
- Markdown
- Configuration
- Project information
- General configuration
- Options for internationalization
- Options for Math
- Options for HTML output
- Options for Single HTML output
- Options for HTML help output
- Options for Apple Help output
- Options for epub output
- Options for LaTeX output
- Options for text output
- Options for manual page output
- Options for Texinfo output
- Options for QtHelp output
- Options for the linkcheck builder
- Options for the XML builder
- Options for the C domain
- Options for the C++ domain
- Builders
- Extensions
- HTML Theming
- Internationalization
- Setuptools integration
- Sphinx Web Support


Death toll in Kenya landslides rises to 52
by OSCAR KAIKAIIn Summary
- Governor John Lonyangapuo says 22,000 homesteads and between 80,000-120,000 people have been displaced or affected by the landslides.
The death toll from West Pokot landslides in Kenya has risen to 52 after six more bodies were recovered at Parua area.
At least 22 other people are missing after the tragedy that hit Parua, Nyarkulian and Muino, according to Governor John Lonyangapuo.
Prof Lonyangapuo on Monday told journalists that search and rescue mission was still underway.
The efforts to find and pull more bodies out of mud have been hampered by lack of transport because the roads heading to the area are either impassable or non-existent.
He said 22,000 homesteads and between 80,000-120,000 people have been displaced or affected by the landslides.
The county, the governor said, has run out of medicines after the remaining stocks were sent to dispensaries and schools caring for the displaced.
Related Stories
-
15 killed, 20 missing after landslide in Kenya
Advertisement
The governor further appealed to well-wishers to donate food items, clothes, blankets among others, saying that they have set up store in Kapenguria township for aid.
He said they will also establish a helpline and paybill number to help the victims.


Would you like to be a bar expert? Share your experience with us!
Read more about our magazine.
Check out The Bar Magazine top list!
Would you like to apply for our bartender competition? You can do this here.
Cocktail of the year. You will love this one!


Lootbox Simulator
LootboxSimulator
Introduction
This project is an Angular Single-Page Application based on the concept of “lootboxes”, random virtual rewards commonly found in video games. The goal of this project is to recreate the anticipation and uniqueness of opening such a reward with interesting random items.
A working demo of this project can be found here.
Technologies Leveraged
- Angular v9.x
- Material UI
- Libraries / npm Packages
Core Functionality
In a typical use case, the user will navigate to the root of the application (ex: https://devonjsmith.github.io/lootbox-simulator/) which will then navigate to a randomly generated sub-route.
Clicking the “Reveal” button on the card will fade in the “back” of the card to reveal the randomly generated lootbox item, which consists of a random title, a random image, and a random phrase/description.
Clicking the “Generate New Lootbox” will redirect the browser to the application root and generate a new seed and lootbox.
The “Shareable Link” textbox gives a convenient text-box with the current absolute URL. Clicking the “Copy” button will automatically copy the contents to the clipboard.
The application uses a random seed system so that each unique URL will always give the same result (ex: This link will always generate “Handcrafted Granite Soap” with the image of a starry night sky). This allows a user to save or reproduce an interesting result, while also allowing the user to get random results by navigating to the application root.
The LandingSeedGeneratorComponent
serves as the application root. Its only function is to generate a random seed (using the Faker.js
“password” functionality) and navigate to the /lootbox/
route with the generated seed as a route parameter:
ngOnInit(): void {
// use faker library to generate a seed
const seed = faker.internet.password(8);
// route to the lootbox home using the seed
this.router.navigate([`/lootbox/${seed}`]);
}
The LootboxHomeComponent
will parse the seed from the URL, which is then passed to the LootBoxService
to generate the lootbox items, ensuring that results are consistent for corresponding seeds:
ngOnInit() {
// get the seed from the URL, if possible
const seedParameter = this.route.paramMap.subscribe(params => {
if (params.get('seed')) {
this.seed = params.get('seed');
}
this.GenerateLootBoxItems();
});
}
GenerateLootBoxItems() {
this.lootBoxItems = [];
for (let i = 0; i < this.itemNumber; i ++) {
this.lootBoxService.generateLootboxItem(this.seed).subscribe(x => {
this.lootBoxItems.push(x);
});
}
}
The LootboxItemService
generateLootboxItem
method will parse the passed in seed into a number (by converting each character to its ASCII value) and pass the resulting number to the RandomTextService
and the RandomImageService
in order to return the Observable<LootBoxItemModel>
public generateLootboxItem(seed: string | null): Observable<LootBoxItemModel> {
const numberSeed = this.generateSeed(seed);
return new Observable(subscriber => {
subscriber.next({
name: this.randomTextService.getRandomName(numberSeed),
description: this.randomTextService.getRandomDescription(numberSeed),
imgUrl: this.randomImageService.getRandomImgUrl(numberSeed),
flipped: false
});
});
}
private generateSeed(seed: string | null): number {
let seedString = seed;
if (!seedString) {
seedString = faker.internet.password(8);
}
// convert password to ascii code
let asciiString = '';
for (let i = 0; i < seedString.length; i ++) {
asciiString += seedString.charCodeAt(i).toString(10);
}
return Number.parseInt(asciiString, 10);
}
Retrospective
Problems Encountered
Using the Faker.js Library
Random image generation in the current release of Faker.js
is broken. The library still relies on Lorem-Pixel
API, which has been deprecated and is no longer functional. There is a pull request open for the Faker.js library to use the Lorem Picsum
api, but the stable branch does not have this merged.
Lorem Picsum
does have an angular library, however this does not provide support for the seed
functionality, so I wasn’t able to use it for this project (I may revist this issue later in another project).
Lastly, the seed
functionality of Faker.js
only accepts a number
value, which is why the generated string needed to be converted using the ASCII values.
Ngx-Flip
Initially, my vision for opening the lootbox items would be akin to flipping over a card to “reveal” the contents underneath. To this end, I tried implementing the project using the ngx-flip library, however I noticed visual bugs when combing this with flex boxes
:
I ended up replacing the “flip animation” with a simple fade in/out animation, inspired by this StackOverflow comment.
Lessons Learned
Angular Animations
After replacing the ngx-flip
package and deciding to use Angular animations instead, I looked into reusing Animations in a robust way. I found this article in the Angular documentation which covered this exact topic, and I ended up with a exported animation like this:
import { animation, trigger, transition, style, animate } from '@angular/animations';
export const FadeInAnimation = animation([
style({opacity: 0}),
animate('{{ duration }}', style({opacity: 1}))
]);
export const FadeOutAnimation = animation([
animate('{{ duration }}', style({opacity: 0}))
]);
And I was able to implement them into the LootBoxHome
and LootBoxItem
components like this:
@Component({
selector: 'app-lootbox-home',
templateUrl: './lootbox-home.component.html',
styleUrls: ['./lootbox-home.component.css'],
animations: [
trigger('fadeInOut', [
transition(':enter', [
useAnimation(FadeInAnimation, {
params: {
duration: '900ms'
}
})
]),
transition(':leave', [
useAnimation(FadeOutAnimation, {
params: {
duration: '900ms'
}
})
])
])
]
})
I added the duration
parameter so that the animations could be re-used across components, but the length of the animation could be adjusted independently for each component.
Github Pages and Angular
I knew before starting this project that I wanted it to eventually be hosted on Github Pages. I already this personal website (https://devonjsmith.github.io) hosted by Github so I figured it would be much the same process for hosting an Angular application.
However, I did encounter some issues with building the Angular application in production mode and getting the es5 bundles to generate properly. I eventually moved to the angular-cli-ghpages plugin, which conveniently builds the project for production onto a new gh-pages
branch. From there, it’s just a matter of modifying the settings for the github project.
Possible Improvements
Multiple Lootbox Items
My initial concept for this project included multiple lootbox items that would each need to be revealed one after another. I was inspired by the “card pack” opening mechanics in several free-to-play card games:
Image source: reddit.com/r/gwent
Image source: reddit.com/r/HSPulls
In order to allow multiple lootbox items to be generated, I would need to develop a system to generate n
possible numerical seeds from a single string seed. This is because I would like to keep the functionality where each unique URL produces consistent results, while still keeping an interesting amount of randomness.
Conclusion
This project was an enjoyable Angular experiment. I was impressed by the functionality of the Faker.js
library, though I do feel that a more complicated random system for generating the lootbox content could improve the system.
This project was a good opportunity to learn about Angular animations and deploying strategies for Github pages.
The UI and layout of this project were made very convenient by the Material
and Angular-flex
libraries. I am eager to see how my UI/UX design could improve in the future with more experience.


{% extends 'layout.html' %} {% block body %}
JEval helps you to evaluate your JMeter test plan and provides recommendation before you start your performance testing.


Five dead as popular New Zealand volcano erupts
Wellington - The death toll from an eruption at the popular White Island volcano in New Zealand has risen to five with many others injured, police said Monday.
Prime Minister Jacinda Ardern said the volcanic island -- also known as Whakaari -- off New Zealand's north coast had erupted while groups of tourists were visiting.
"It is very much an evolving situation and of course all our thoughts are with those affected," she told reporters in Wellington, adding that an undetermined number of people were unaccounted for.
Police said the eruption occurred about 2:11pm local time (0111 GMT) and there had been around 50 people nearby -- fewer than the 100 officials originally estimated.
"Some of those people have been transported to shore, however a number believed to be on the island are currently unaccounted for," the force said in a statement.
"Of those transported to shore, at least one has been critically injured."
St John Ambulance said there were up to 18 people believed injured but medical teams were still en route.
"Emergency services are currently frantically trying to get these people back from the island to hospital for treatment," Whakatane mayor Judy Turner told AFP.
There were particular fears for a group of visitors seen walking on the crater floor moments before the eruption occurred.
Cameras providing a live feed from the volcano showed more than half a dozen people inside the rim before images went dark when the eruption occurred minutes later.
- 'Five made it back' -
The country's National Emergency Management Agency described the eruption as "moderate", although a thick plume of white ash could be seen for miles around.
Several helicopters and aircraft were seen in the area and survivors were pulled off the island in tour boats.
White Island is about 50 kilometres (30 miles) offshore in the picturesque Bay of Plenty and is popular with adventurous tourists willing to don hard hats and gas masks.
At least one group, four tourists and one pilot, who flew to the island on a Volcanic Air helicopter were accounted for, despite landing shortly before the eruption.
"It had landed on the island. What happened after that we don't know, but we know that all five made it back to Whakatane on one of the tourist boats," a company spokesman told AFP.
White Island is New Zealand's most active volcano cone and about 70 percent of it is under water, according to government agency GeoNet.
Around 10,000 people visit the volcano every year. It has erupted frequently over the last half-century, most recently in 2016.
In August of that year the New Zealand Defence Force airlifted a 2.4-tonne shipping container onto the island to serve as an emergency shelter in case of an eruption.
Read also
Read More
New Zealand met service issues thunderstorm warning for some parts after weekend floods
"Thunderstorms are expected to bring strong winds and squally conditions," MetService, New Zealand's meteorological service, said on Twitter.
Read More
Smoke haze settles over Australian capital as bushfires burn
Smoke haze from bushfires raging in Australia spread to the capital Sunday, as firefighters raced to contain more than 140 blazes ahead of a heatwave forecast early this week.
Read More
Giant fire near Sydney may burn for weeks as people struggle to breathe
The fires around Sydney have been pumping such vast amounts of smoke into the air that they appear as significant rain on the radars, the Bureau of Meteorology said on Twitter.


Clients
News
View Profile
Georgina Alson
Young Model 2020
01
02
03
04
Actor
Musician
Comedian
Model
Explore more
Latest News
How to make your daily make up stunning
8 March, 2020
Life hack, to make your day happines all day along
8 March, 2020
Some quote for strong woman like you
8 March, 2020
Use your reset button to change your vibration
8 March, 2020
Trending
Use your reset button to change your vibration
8 March, 2020
Play all
Motivation and your personal vision an unbeatable force
8 March, 2020
Sign up our news letter
© 2018 MI Talent, designed by Tranmautriam for Mass Impression


Here’s What Priyanka Chopra And Nick Jonas Did This Thanksgiving
by FilmfarePriyanka Chopra and Nick Jonas decided to get married last year in December and left millions of their fans awestruck. The duo has ever since been going all out to spend time with each other despite their packed schedules. Either Nick flies down to India or PeeCee heads to Los Angeles to spend time with her hubby. Today too, on Thanksgiving, the couple was seen spending time with their family in Los Angeles. Nick took to Instagram to share videos of Priyanka and him having a relaxed time as they played around with different filters.
PeeCee and Nick’s chemistry looks totally amazing in the videos as they are seen laughing and having a great time together. Check out the videos here.

Check out the post here...