Detailed course offerings (Time Schedule) are available for
OPMGT 301 Principles of Operations Management (4)
Examines problems encountered in planning, operating, and controlling production of goods and services. Topics include: waiting-line management, quality assurance, production systems, project management, and inventory management. Computer and quantitative models used in formulating managerial problems. Prerequisite: ACCTG 225; ECON 200; either MATH 112, MATH 124, MATH125, MATH 134, or Q SCI 291; either ECON 311, IND E 315, QMETH 201, Q SCI 381, PSYCH 315, PSYCH 318, STAT 220, STAT 301, STAT 221/SOC 221/CS&SS 221, STAT 311, or STAT 390.
View course details in MyPlan: OPMGT 301
OPMGT 402 Introduction to Logistics (4)
Logistics studies of the efficient delivery of goods and services. A total-cost approach recognizes this involves not only the obvious vehicle-routing issues but also shipment size and mix, warehouse location, product design, and customer services. Includes study of real companies' logistics problems. Prerequisite: OPMGT 301.
View course details in MyPlan: OPMGT 402
OPMGT 443 Inventory and Supply Chain Management (4)
Examines modeling and analysis of global supply chains in order to improve service and decrease cost. Covers tools and methods for managing inventory of items with different demand and supply characteristics. Topics include forecasting, Just-in-Time production, deterministic and stochastic inventory models, Materials Requirements Planning; and supplier management. Prerequisite: OPMGT 301.
View course details in MyPlan: OPMGT 443
OPMGT 450 Introduction to Project Management (4)
Focuses on management principles, methods, and tools to effectively plan and implement complex projects. Includes project selection, preparation, planning, and monitoring. Covers classical techniques and new methodologies; spreadsheet-based tools; and probabilistic project simulation from strategic, tactical, and operational perspectives. Prerequisite: OPMGT 301; QMETH 450, which may be taken concurrently.
View course details in MyPlan: OPMGT 450
OPMGT 490 Special Topics in Operations Management (1-6, max. 20)
Operations management topics of current concern to faculty and students. Potential topics: logistics management, project scheduling, manufacturing strategy, site and location analysis, management of service operations. Prerequisite: OPMGT 301.
View course details in MyPlan: OPMGT 490
OPMGT 495 Operations Management Internship (1-4, max. 8)
Internship with a private firm, nonprofit organization, or government agency, where work experience involves substantial application of analysis techniques and management concepts learned in classroom. Prerequisite: OPMGT 301. Credit/no-credit only.
View course details in MyPlan: OPMGT 495
OPMGT 499 Undergraduate Research (1-6, max. 9)
View course details in MyPlan: OPMGT 499
OPMGT 502 Introduction to Operations Management (3)
Managerial decision making in operations problems, including application of quantitative analysis and use of computers. Production of goods or services in any type of organization. Inventory management, scheduling, facility location, management of service systems, and quality assurance. Prerequisite: QMETH 500.
View course details in MyPlan: OPMGT 502
OPMGT 550 Project Management (4)
Management of complex projects, and tools and techniques (e.g., CPM and PERT) developed to aid the planning, scheduling, and control of projects. Includes work breakdown structures, precedence networks, Gantt charts, resource leveling and allocation, and the use of microcomputer programs. Prerequisite: B A 502 or OPMGT 502 or equivalent.
View course details in MyPlan: OPMGT 550
OPMGT 570 Operations Strategy (4)
Strategic management of operations and manufacturing in domestic and international companies. Developing and implementing a coherent strategy based on continuous improvement of quality, productivity, products, processes, and customer services. Facilities, capacity, process/work-force planning, organization, people, systems integration, coordination between operations, marketing, engineering, and R&D. Prerequisite: B A 502 or OPMGT 502 or equivalent.
View course details in MyPlan: OPMGT 570
OPMGT 579 Special Topics in Operations Management (2/4, max. 12)
Major topics in operations management and systems analysis. Emphasis on research and, where appropriate, application of quantitative analysis and computers. Topics vary, including workforce planning, project management, research and development management, quality assurance, technology planning and forecasting, systems analysis of complex organizations, and urban systems analysis. Prerequisite: B A 502, OPGMT 502, or equivalent.
View course details in MyPlan: OPMGT 579
OPMGT 581 Advanced Research Topics in Operations Management I (4) Wagner
Overview of research problems and techniques in operations management. Focuses on emerging and ongoing research relating to current issues in the field, including readings and discusions of literature deaing with subjects of special interest to participants. Prerequisite: doctoral student or permission of instructor. Offered: A.
View course details in MyPlan: OPMGT 581
OPMGT 582 Advanced Research Topics in Operations Management II (4) Moinzadeh
Overview of research problems and techniques in operations management. Focuses on emerging and ongoing research (beyone those discussed in OPGMT 581) relating to current issues in the field, including readings and discusions of literature deaing with subjects of special interest to participants. Prerequisite: doctoral student or permission of instructor. Offered: W.
View course details in MyPlan: OPMGT 582
OPMGT 583 Advanced Research Topics in Operations Management III (4) Mamani
Examinse interdisciplinary research in operations and supply chain management. Focuses on one specific application area of interest each quarter including: healthcare, sustainability, marketing, game theory, economics, etc. Prerequisite: doctoral student or permission of instructor. Offered: Sp.
View course details in MyPlan: OPMGT 583
OPMGT 584 Fundamentals of Operations Management Research (4) Klastorin
Surveys basic areas that form the foundations for much of the research in operations management today. Topic areas include facility location, scheduling, project management, and supply chain management. Prerequisite: QMETH 580. Offered: W.
View course details in MyPlan: OPMGT 584
OPMGT 587 Advanced Topics in Inventory Management (4)
Survey of literature in inventory/production control with emphasis on current research. Topics include single-echelon deterministic and probabilistic models and multi-echelon stochastic models. Prerequisite: QMETH 592 and course in probability theory and in stochastic processes.
View course details in MyPlan: OPMGT 587
OPMGT 599 Doctoral Seminar in Operations Management (1, max. 12)
Study and research in advanced topics of operations management. Concerned with unpublished areas of research and conducted by visiting professors and departmental faculty. Prerequisite: doctoral student status.
View course details in MyPlan: OPMGT 599
OPMGT 600 Independent Study or Research (*-)
View course details in MyPlan: OPMGT 600


{% endblock %}
{# ty SO https://stackoverflow.com/a/26194324 #}
{% block scripts %}
{{ super() }}
{#
blug - because of a bug and the fact that I can't seem to directly access the api...
https://github.com/minhur/bootstrap-toggle/issues/140
#}
{% endblock scripts %}


A Happy life is one spent in learning, earning and yearning
Mindfulness conversation made me grasp more from the interaction and it made me feel importance of that particular moment. Other person found that they have got a lot more attention.
I will be doing atleast one mindful breath a day.
I found mindfulness is very effective if followed everyday mainly for the relaxation of mind. Even if practised 10 minutes a day regularly will have amazing results.


Who am I?
Hi I'm me! A human that happens to live on the planet Earth! My name is Lisa and I study computer science, with a minor in video game design. In terms of hopes and dreams, oneday I hope to be making educational and transformative games that make learning engaging and gives people unforgettable experiences
Do I know things? (Education)
University: Carnegie Mellon University Year: Sophmore (i.e Graduating in 2021) Major: Computer Science Minor: Video Game Design Past Courses: 15112 Fundamentals of Programming and CS 15151 Mathematical Foundations of CS: 21241 Matrices and Linear Transformations 76101 Interpretation and Arguement 98012 Fun with Robotics 15122 Principles of Imperative Computing 15150 Principles of Functional Programming: 21259 Calculus in 3D: 02261 Quantitative and Celullar Molecular Biology Lab: 02261 Independent Study in HCI: 79345 Roots of Rock and Roll Current Courses: 15210: Parallel and Sequential Data Structures and Algorithms 15323 Computer Music Systems 17200 Ethics Policy and Computing 05418: Design Educational Games
What do I do for fun? (Hobbies)
Ballroom! Ballroom is life! Ballroom is everything! Not really, although it has become a major part of my life now! Art: Watercolor, digital, paper crafts, etc.
What do I find interesting? (Interests)
Dragons, phoenixes, unicorns! Any any other mythological creatures! Fandoms: Harry Potter, Merlin, Doctor Who, Sherlock


Please, click on "Login" to login and subsequently use the "arrow down" key on your keyboard to expand the user menu.


{% extends "layout.html" %} {% block content %}
Dear readers,
We offer huge collection of books in diverse category of Fiction, Non-fiction, Biographies, History, Religions, Self -Help, Children. We also sell in vast collection of Investments and Management, Computers, Engineering, Medical, College and School text references books proposed by different institutes as syllabus across the country.
We attempt to extend the customer satisfaction by catering easy user-friendly search engine, quick and user-friendly payment options and quicker delivery systems. Upside to all of this, we are disposed to provide exciting offers and pleasant discounts on our books.


Instead of the common FPS/RPG/Platformer, for some reason I decide to create a clone of the old micromachine, in particular the elimination mode when players are eliminated when they are too far away from the first player.
As the game was creating itself in my head, I stumbled against a mathematical obstacle in the first week of prototyping. How to determine which player is the first? How to determinate what path the AI should follow.
It turns out that part of the answer is to represent tracks as a curve, and Bezier curves are used in a bunch of applications from photoshop to font creation. To find out what player is first, I would just have to calculate the position of all pilots on the tracks.
This article will be introducing a bit a linear algebra. In particular, we will apply translation and rotation to our vectors. Also, we need to find the roots of a quadratic equation. The maths are not too complicated but feel free to read the following links beforehand:
This article builds on an existing article which can be found here: https://catlikecoding.com/unity/tutorials/curves-and-splines/ It shows how to implement a Bezier curve in Unity, showing at the same time how editor scripts work.
The last resource is an ebook called “A primer on Bezier”. It can be found here. This ebook contains all you need to know about Bezier curves, theory and pseudocode included.
Bounding box are useful. In my use case, I want to find the closest point to the spline so bounding boxes will help determine what bezier curve I should select to do the calculation!
The way to find the bounding box is to get the minimum/maximum along the x and y axis and create the boxes from (, ), (, ), (, ), (, ).
However, this has the tendency to create large bounding boxes so we can get tighter boxes by aligning them along our curve. (Part 17 - Bounding box)
Curve is such as
where are the control points of the curve, in global coordinates.
To align the curve, we first need to apply a translation T to the first point of the curve in order to place it on the origin (0, 0). We have .
// Translation such as p0 is at (0,0)
Vector2 [] translatedVector = new Vector2[] {
p0 - p0,
p1 - p0,
p2 - p0,
p3 - p0
};
Then, we need to apply the rotation so that $P_3$ is on the x-axis. Given x and y the coordinates of $P_3$, x’ and y’ the coordinates after rotation $\theta$, we have the equations:
\begin{equation} x’ = xcos(theta) - ysin(theta)
y’ = ycos(theta) + x sin(theta) \end{equation}
Don’t take my word for granted :)
private static Vector2 Rotate(Vector2 p, float theta) {
// x' = x cos f - y sin f
// y' = y cos f + x sin f
float xp = p.x * Mathf.Cos(theta) - p.y * Mathf.Sin(theta);
float yp = p.y * Mathf.Cos(theta) + p.x * Mathf.Sin(theta);
return new Vector2(xp, yp);
}
We find theta such as .
// Find rotation such as translatedVector[3] is on the axis
Vector2 pp3 = translatedVector[3];
float theta = Mathf.Atan(-pp3.y/pp3.x);
Just for fun, let’s draw the Bezier curve after rotation.
public static Vector2[] GetAlignedCurve(Vector2 p0, Vector2 p1, Vector2 p2, Vector2 p3) {
// Translation such as p0 is at (0,0)
Vector2 [] translatedVector = new Vector2[] {
p0 - p0,
p1 - p0,
p2 - p0,
p3 - p0
};
// Find rotation such as translatedVector[3] is on the axis
Vector2 pp3 = translatedVector[3];
float theta = Mathf.Atan(-pp3.y/pp3.x);
// Now calculate new vectors.
return new Vector2[] {
Rotate(p0 - p0, theta),
Rotate(p1 - p0, theta),
Rotate(p2 - p0, theta),
Rotate(p3 - p0, theta)
};
}
When adding the aligned curve to the editor script, we get the following.
Once we have our aligned curve, we need to find its bounding box. To do so, we need to calculate the roots of the curve for x and y in order to get the minimum and maximum on the axis for t between 0 and 1.
To get an idea about why we want the minimum and maximum of a curve, please refer to my amazing drawing.
In this piece of art, the maximum and minimum of y are located on the curve. For x however, only the minimum x is located on the curve. The maximum is one of our control point. This is why we absolutely have to include the first and last control points when we want to find the minimum and maximum on each axis.
For a quadratic or cubic Bezier curve, it is very easy to find the minimum and maximum for each axis. The way to do it is to calculate the derivate of the curve, and find the t values for which this derivative is 0. These values are called the roots of the curve for the x or y axis. The Wikipedia article at the top of the blog article explains it more deeply.
After deriving the Bezier equation and simplifying it a bit, we obtain:
Where $x_{p_i}$ is the x coordinate of the point i. There is the same equation for y. Now that we have reduce our equation to a simple quadratic equation, the solution is textbook.
$\Delta$ (Delta) is the discriminant. We can find imaginary roots (that cannot be represented in our 2D space) when delta is negative, so here we are just interested about the real roots, meaning when $\Delta >= 0$.
The two roots (which can be only one is the discriminant is 0) for the axis x are:
Notice that when $\Delta$ is 0, $t_1$ and $t_2$ are the same. For our Bezier curve, we only care about parameter between 0 and 1 so the roots might not be usable. In C#, there is not much complexity. Just write down the last equations and filter the values.
/*
Find the roots of a cubic bezier curve in order to find minimum and maximum
*/
private static List<float> FindRoots(Vector2 p0, Vector2 p1, Vector2 p2, Vector2 p3) {
Vector2 a = 3 * (-p0 + 3*p1 - 3*p2 + p3);
Vector2 b = 6 * (p0 - 2*p1 + p2);
Vector2 c = 3 * (p1 - p0);
List<float> roots = new List<float>();
// along x
float discriminantX = b.x * b.x - 4 * a.x * c.x;
if (discriminantX < 0) {
// No roots
} else if (discriminantX == 0) {
// one real root
float rootx = (-b.x) / (2 * a.x);
if (rootx >=0 && rootx <= 1) {
roots.Add(rootx);
}
} else if (discriminantX > 0) {
// Two real roots
float rootx1 = (-b.x + Mathf.Sqrt(discriminantX)) / (2 * a.x);
float rootx2 = (-b.x - Mathf.Sqrt(discriminantX)) / (2 * a.x);
if (rootx1 >=0 && rootx1 <= 1) {
roots.Add(rootx1);
}
if (rootx2 >=0 && rootx2 <= 1) {
roots.Add(rootx2);
}
}
// along y
float discriminantY = b.y * b.y - 4 * a.y * c.y;
if (discriminantY < 0) {
// No roots
} else if (discriminantY == 0) {
// one real root
float rooty = (-b.y) / (2 * a.y);
if (rooty >=0 && rooty <= 1) {
roots.Add(rooty);
}
} else if (discriminantY > 0) {
// Two real roots
float rooty1 = (-b.y + Mathf.Sqrt(discriminantY)) / (2 * a.y);
float rooty2 = (-b.y - Mathf.Sqrt(discriminantY)) / (2 * a.y);
if (rooty1 >=0 && rooty1 <= 1) {
roots.Add(rooty1);
}
if (rooty2 >=0 && rooty2 <= 1) {
roots.Add(rooty2);
}
}
return roots;
}
(You can even refactor this to do the calculation once! When reading back this code I noticed that I was a bit lazy here).
Now, our minimum and maximum along x and y would be one of the point that has a parameter t, where t is either a root, 0 or 1.
List<float> roots = FindRoots(pa0, pa1, pa2, pa3);
// Initialize min and max with the first point
float min_x = Mathf.Min(pa0.x, pa3.x);
float max_x = Mathf.Max(pa0.x, pa3.x);
float min_y = Mathf.Min(pa0.y, pa3.y);
float max_y = Mathf.Max(pa0.y, pa3.y);
for (int i = 0; i < roots.Count; i++) {
float param = roots[i];
Vector2 point = GetPoint(pa0, pa1, pa2, pa3, param);
if (point.x > max_x) {
max_x = point.x;
}
if (point.x < min_x) {
min_x = point.x;
}
if (point.y > max_y) {
max_y = point.y;
}
if (point.y < min_y) {
min_y = point.y;
}
}
We have our $x_min$, $x_max$, $y_min$, $y_max$. This is all we need for drawing the bounding box.
Almost there! At this point, we have the bounding box of the aligned curve. To get the aligned curve, we applied two transformations to our Bezier curve: first a translation, then a rotation. To get back to the original curve, you can simply do the inverse! First, rotate the aligned curve by the opposite of the first rotation ($-\theta$), then translate it by the opposite of the first translation ($-P_0$).
We can do the same with the bounding box, and it should fit our original Bezier curve!
With the previous minima and maxima:
return new Vector2[] {
Rotate(new Vector2(min_x, min_y), -theta) + p0,
Rotate(new Vector2(min_x, max_y), -theta) + p0,
Rotate(new Vector2(max_x, min_y), -theta) + p0,
Rotate(new Vector2(max_x, max_y), -theta) + p0,
};
Which gives us, at last:
All this to find the bounding boxes of each curve in our Bezier spline! While it looks like a lot of work, these bounding boxes are really going to help us find the projection of a point on the spline.
Instead of having to consider all the spline, now we can just reduce the problem to a list of Bezier curves. Calculating distance to a box is pretty simple, so we just need to find the closest boxes to our point and for each curve, finding the closest point. This will be done by an iterative approach (mathematical approach is out of the question here - spoiler alert), so keep tuned for the next article.


For the user test of a mobile website I chose the same as one as Project 3 which was for the Cheesecake Factory Restaurant site. Again this is a standard restaurant across the country and I think it is easy to find in most cities. I chose 3 people to test the site and made sure they had all heard of the Cheesecake Factory and out of the 3 just 1 person had not eaten there. Person 1 is a 52-years-old woman living in Miami. Person 2 is 32-year-old woman living in El Paso, TX, and person 3 is male, has never eaten at the Cheesecake Factory, is living in Seattle and is age 31. Each of the testers were most interested in making sure the menu screen was proportional with their phones and 2 out of 3 voiced concerns that mobile sites for restaurants were more tedious to navigate as opposed to them on a PC. These 2 issues will be the focus for getting feedback from them.
Testing Script
1. How easy does the Home Page seem for you?
2. How does the overall site look on your phone? Is is Proportioned?
3. How easy is it to navigate the menu and learn about their items?
4. What would you change?
User Experience By Testers
The front page had a scroll gallery each with different features about the restaurant. The first being order now. At first one of the users who had never been to Cheesecake Factory, was confused by this thinking they were mainly delivery which I explained they have never been until now that a third party has picked them up for food delivery. Each tester was able to find the menu easily at the top right drop down with the being the first option and the Locations being the second. The location settings were much easier to find on the mobile site rather than the PC since the drop down was set up in a much better order.
The menu itself was much better to look at as well. Instead of the limited small screen pop up on the PC site, the mobile site has it broken down nicely where you choose a type of plate, let’s say pasta, then choose from the pasta dishes and that leads to what is in it and what the sides are. This past was pleasant and one of the testers eve commented on how they like the colors and of the menu because they are neutral and not distracting. One complaint I had from 2 of the testers was the fact that when going back and forth through the menu, the phone continuously asked for the location. One tester pointed out that they do not experience this much with other restaurant sites.
User Results and Suggestions
All the testers found the site easy to navigate and rated it with a positive user experience. I received much better feedback about it than I did the PC site. The proportion on all phones was just perfect as well. One user did suggest to have the scroll gallery open with entering your location rather than ordering food for delivery. It seems that that would be much more used than the delivery since it is better known as family restaurant. The menu itself was the part they all agreed was great considering how long their options can be.


My Blog
An article
This is a blog post.
With paragraphs.
As you might expect.
12:00 on Jan 1st 2019.


w4_lab Heading
w4_lab Content
What has been done to this page.
I have chosen two designs: Change on Hover & Slide in Content. On this page you will see three places where I have chosen to implement these designs.
The first being the Navigation Menu. I changed the look of it to be oval by default and when hovered to become a rectangle and also to change coloring/border. This option also works in the menus for the sub menus. The second area being the aside when hovered over to change the coloring of the background and the words so it may still be legible while having decent contrast to one another.
The final area where I have chosen to use my second design Slide in Content can be seen to the left. I added a minor border radius and also decided to make the background color match the words in the navigation menu to keep the coloring consistent.
**NOTE: The navigation menu will not take you to any other page on purpose. This page is only for an iLab assignment and is strictly for demonstration purposes. These designs have also been implemented in the main website as well.**


Social media roasts Ali Rehman Khan for shouting at an employee
by https://www.facebook.com/dunyanewsLAHORE (Dunya News) – Actor Ali Rehman Khan found himself in hot water after social media roasted him for shouting at an employee at a famous fast food company, Dunya News reported on Saturday.
In a leaked video, Ali Rehman can be seen screaming at a cashier and says, “Do you know who I am? Have you ever seen me on TV? You are an employee and your job is to follow my instructions. I am paying.”
On the other hand, the cashier tries to calm down the actor and behaves politely. The reason behind Ali Rehman Khan getting upset is still not clear. Furthermore, it is also obscure whether the occurrence was real or a publicity stunt.
It is pertinent here to mention that Ali Rehman Khan – a prominent face in Pakistan films and TV soaps – has many famous projects to his name including Parchi, Janaan and the recently released Heer Maan Ja.


Eurographics Symposium on Rendering 2004 Papers
Page maintained by Ke-Sen Huang.
If you have additions or changes, send an e-mail.
Note that when possible I link to the page containing the link to the actual PDF or PS of the preprint.
I prefer this as it gives some context to the paper and avoids possible copyright problems with direct linking.
Thus you may need to search on the page to find the actual document.
EG DL: Eurographics Symposium on Rendering 2004 (Rendering Techniques 2004)
Changelog
Session: Non Photorealistic Rendering
- Sketch Interpretation and Refinement Using Statistical Models
-
S. Simhon,
G. Dudek
- Programmable Style for NPR Line Drawing (software)
-
S. Grabli,
E. Turquin,
F. Durand,
F. Sillion
- PointWorks: Abstraction and Rendering of Sparsely Scanned Outdoor Environments (Project)
-
Hui Xu,
N. Gossett,
Baoquan Chen
- Image-Based Stereoscopic Painterly Rendering
-
E. Stavrakis,
M. Gelautz
- A Framework for Multiperspective Rendering (Project)
-
J. Yu,
L. McMillan
Session: Interactive and Realtime Rendering
- Interactive high quality out-of-core visualization
-
M. Guthe,
P. Borodin,
A. Balazs,
R. Klein
- An Interactive Out-of-Core Rendering Framework for Visualizing Massively Complex Models (Project)
-
I. Wald,
A. Dietrich,
P. Slusallek
- Rendering Forest Scenes in Real-Time
-
P. Decaudin,
F. Neyret
- Rendering Procedural Terrain by Geometry Image Warping
-
C. Dachsbacher,
M. Stamminger
Session: Global Illumination
- Realtime Caustics Using Distributed Photon Mapping
-
J. Guenther,
I. Wald,
P. Slusallek
- Simulating Photon Mapping for Real-time Applications
-
B. Larsen,
N. Christensen
- An Irradiance Atlas for Global Illumination in Complex Production Scenes
-
P. Christensen,
Dana Batali
Session: Shadow Maps
- Light Space Perspective Shadow Maps
-
M. Wimmer,
D. Scherzer,
W. Purgathofer
- Anti-aliasing and Continuity with Trapezoidal Shadow Maps (Project)
-
T. Martin,
T.-S. Tan
-
- Alias-Free Shadow Maps (Project)
-
T. Aila,
S. Laine
- A Lixel for Every Pixel
-
H. Chong,
S. Gortler
Session: Shadows and Visibility
- A Self-Shadow Algorithm for Dynamic Hair using Density Clustering
-
T. Mertens,
J. Kautz,
P. Bekaert,
F. Van Reeth
- Hemispherical Rasterization for Self-Shadowing of Dynamic Objects (Project)
-
J. Kautz,
J. Lehtinen,
T. Aila
- An Efficient Hybrid Shadow Rendering Algorithm (Project)
-
E. Chan,
F. Durand
- CC Shadow Volumes
-
B. Lloyd,
J. Wendt,
N. Govindaraju,
D. Manocha
- Hardware Accelerated Aggressive Visibility Preprocessing using Adaptive Sampling
-
S. Nirenstein,
E. Blake
Session: Modelling and Light Fields
- A spectral-particle hybrid method for rendering falling snow
-
M. Langer, A. Klein, A. Bhatia, J. Pereira, D. Rekhi,
L. Zhang
- Generalized displacement maps
-
Xi Wang,
Xin Tong,
Stephen Lin,
Shimin Hu,
Baining Guo,
Heung-Yeung Shum
- All-focused light field rendering
-
A. Kubota,
K. Takahashi,
K. Aizawa,
T. Chen
- A Self-Reconfigurable Camera Array (Project)
-
C. Zhang,
T. Chen
Session: Discontinuities
- Bixels: Picture Samples with Sharp Embedded Boundaries (PDF)
-
J. Tumblin,
P. Choudhury
- Feature-Based Textures
-
G. Ramanarayanan,
K. Bala,
B. Walter
- Combining Higher-Order Wavelets and Discontinuity Meshing: A Compact Representation for Radiosity
-
N. Holzschuch,
L. Alonso
Session: Reflectance
- Smooth Reconstruction and Compact Representation of Reflectance Functions for Image-based Relighting
-
V. Masselus,
P. Peers,
P. Dutre,
Y. Willems
- Progressively-Refined Reflectance Functions from Natural Illumination
-
W. Matusik,
M. Loper,
H. Pfister
- Animatable Facial Reflectance Fields
-
Tim Hawkins,
Andreas Wenger,
Chris Tchou,
Andrew Gardner,
F. Goransson,
Paul Debevec
Session: Basis Projection Methods
- A Novel Hemispherical Basis for Accurate and Efficient Rendering
-
P. Gautron,
J. Krivanek,
S. Pattanaik,
K. Bouatouch
- Spherical Harmonic Gradients for Close-Range Illumination
-
T. Annen,
J. Kautz,
F. Durand,
H.-P. Seidel
- All-Frequency Precomputed Radiance Transfer for Glossy Objects
-
Xinguo Liu,
Peter-Pike Sloan,
Heung-Yeung Shum,
John Snyder
- All-Frequency Relighting of Non-Diffuse Objects using Separable BRDF Approximation
-
R. Wang,
J. Tran,
D. Luebke
Session: Participating Media
- Lattice-Boltzmann Lighting
-
K. Rasche,
R. Geist
- Practical Rendering of Multiple Scattering Effects in Participating Media
-
Simon Premoze,
M. Ashikhmin,
Ravi Ramamoorthi,
Shree Nayar
- Efficient Rendering of Atmospheric Phenomena
-
K. Riley,
D. Ebert,
M. Kraus,
J. Tessendorf,
C. Hansen
- An Analytical Model for Skylight Polarisation
-
A. Wilkie,
R. Tobler,
C. Ulbricht,
G. Zotti,
W. Purgathofer


Product experts finding the best study books available.
25% Amazon Rating25% Price Rating25% Content Rating25% User Testing Rating


The NITC Competitive Programming Community
Who are we?
CP Hub is a programming club focused primarily in the domain of Competitive Coding . Aim of CP Hub is to foster Competitive Programming culture in NIT Calicut and help students to tackle challenges involved in Problem Solving through computer programming and in turn advance their career development.
Read MoreOur Weekly Events
Mirror
We conduct a weekly mirror taken from previous ICPC contests with the aim of providing practice to our members for ICPC.
Beginner Contest
We conduct weekly beginner contests for people new to the world of competitive programmming, the aim of beginner contests is to provide a platform for budding competitive programmers.
Workshops
We conduct workshops on a spectrum of topics ranging from GSoC to some advanced concepts used in competitive programming.


A Pantheon pipeline provides a way for people to run, explore and understand a set of interconnected ECP technologies.
By digging through the scripts, files and inputs that make up a workflow, one can experiment with different options, learn about how the simulations run, and develop new workflows based on the examples.
The scripts and files are designed to be played with, and run in different ways after the initial installation.
It's as simple as digging in, making changes, and seeing what happens.
|   | ||
| << Prev | Home |   |


LAPS was based on open source solution called “AdmPwd” developed by Jiri Formacek and is a part of microsoft product portfolio since may 2015. The LAPS solution does not have integrity checks or signature verification for dll file (as of this post). AdmPwd solution is compatible with Microsoft’s LAPS, so let’s poison the dll by compiling the project from source and replace it with the original dll. To replace the original dll administrative privilege is required and at this point we assume the user already has gained administrator privilege by LPE or any other means.
Now let’s add these 3-4 lines in the AdmPwd solution and compile the malicious dll. These lines will be added where the new password and time stamp would be reported to the AD.
#These three lines should already be a part of the dll source#
#include <iostream>
#include <ffstream>
using namespace std;
#These lines begin the 'backdoor/persistence' code. Writing password to c:\\backdoor.txt on GP update#
wofstream backdoor;
backdoor.open("c:\\backdoor.txt");
backdoor << newPwd;
backdoor.close();
In this way adversary will appear normal, passwords would be synced and will also comply with LAPS policy.
BONUS: Persistence of clear text password *
*Persistence till the time poisoned dll is unchanged.
Once replaced, run:
gpupdate /target:computer /force


Main REPL
Tests & REPL
Examples
Charting
Charts using a third party library dimple.js
js-ex1
JavaScript example 1
4th-ex1
Forth example 1


Labour manifesto policies in full: All confirmed general election pledges so far
Labour has agreed a manifesto for the 2019 general election which is, by all accounts, even more radical than in 2017. Exact details haven't yet been published, but here's what we know will, or probably will, be in it so far
by Dan Bloom, https://www.facebook.com/mirrordanbloomLabour has agreed its "transformative" manifesto to take into the 2019 general election .
And by all accounts, it's even more radical than in 2017.
The document is expected to promise nationalised mail, rail, water, energy and broadband, free NHS prescriptions and six years' free adult education in England.
It's expected to pledge a £10 minimum wage for all over-16s, an ambition to reach a 32-hour working week over a decade and the end of Universal Credit .
But the full document will only be published at the launch on Thursday.
So for now we have listed the confirmed policies announced so far during the campaign - plus ones that Labour pushed out so recently, they're very likely to be in the document.
NHS and health
- A £26bn funding boost for the NHS - £6bn more than the Tories are promising - with a '10-point plan'
- Free dental check-ups for all in England, with the ultimate goal of scrapping all dental charges
- A qualified counsellor in every school to help young people's mental health
- Likely: Free prescriptions for all in England
Education and childcare
- Six years' free adult education for all
- Scrapping tuition fees for university students
- 30 hours' free childcare a week for all kids aged 2 to 4 - not just those with working parents
- 1,000 Sure Start centres to open after 1,000 were shut under Tory cuts
Welfare
- Likely: Scrap universal credit and replace it with a new system, after £3bn in short-term fixes to the benefit
Brexit and migration
- Likely: A commitment to a second referendum on Brexit. Labour would try to negotiate its own deal first, then hold a special conference to decide which way to campaign
- Unknown: Labour's wider policy on free movement after Brexit
Economy and public services
- A £400bn Transformation Fund (£150bn over five years plus £250bn over 10) funded by a huge increase in borrowing to reverse effects of Tory austerity
- Free broadband for all under a nationalised scheme
- A £10 minimum wage for all over 16
- Likely: Nationalised rail, mail, water and energy
- Likely: An aim to get a 32-hour working week over a decade
- Likely: A guarantee on public sector pay rises
Transport
- Likely: Nationalised rail services
- Likely: Action to help bus services
Environment and animal rights
- Likely: A Green New Deal pledging to reach net zero carbon emissions by 2030
- A review of whipping racehorses
- Phasing out animal testing, tackling illegal hare-coarsing and making new laws to protect wild animals
Women and equalities
- A pledge to close the gender pay gap by 2030
- Extending statutory maternity pay from 9 to 12 months
Housing
- Warm homes for all - Labour will create 450,000 jobs by installing energy saving measures such as loft insulation and double glazing, renewable and low carbon technologies in almost all of the UK’s 27 million homes
- All new homes to be zero carbon by 2022
Energy
- Solar panels to be installed on 2,000 community buildings
Armed Forces
- Free education, training and more apprenticeships for veterans
- £50,000 lump sum for nuclear test veterans from the 1950s who received unsafe levels of radiation
- Payouts for African and Asian members of the East Africa Force from the Second World War who got lower demob cash than white soldiers of equal rank
- Reserved homes for the 1,780 veterans sleeping rough
- Improved pay and conditions for serving members of the armed forces
Foreign policy
TBC - manifesto is launched on Thursday.
Police, crime and justice
TBC - manifesto is launched on Thursday.


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
R
S
T
V
W
B
build()
- Method in class in.xnnyygn.xraft.core.log.snapshot.
FileSnapshotBuilder
build()
- Method in class in.xnnyygn.xraft.core.log.snapshot.
MemorySnapshotBuilder
build()
- Method in class in.xnnyygn.xraft.core.log.snapshot.
NullSnapshotBuilder
build()
- Method in interface in.xnnyygn.xraft.core.log.snapshot.
SnapshotBuilder
build()
- Method in class in.xnnyygn.xraft.core.node.
NodeBuilder
Build node.
build()
- Method in class in.xnnyygn.xraft.core.
Protos.AddNodeCommand.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.AddServerResult.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.AddServerRpc.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.AppendEntriesResult.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.AppendEntriesRpc.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.AppendEntriesRpc.Entry.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.InstallSnapshotResult.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.InstallSnapshotRpc.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.NodeEndpoint.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.RemoveNodeCommand.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.RemoveServerResult.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.RemoveServerRpc.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.RequestVoteResult.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.RequestVoteRpc.Builder
build()
- Method in class in.xnnyygn.xraft.core.
Protos.SnapshotHeader.Builder
buildGroupConfigEntryList()
- Method in interface in.xnnyygn.xraft.core.log.sequence.
EntrySequence
buildGroupConfigEntryList()
- Method in class in.xnnyygn.xraft.core.log.sequence.
FileEntrySequence
buildGroupConfigEntryList()
- Method in class in.xnnyygn.xraft.core.log.sequence.
MemoryEntrySequence
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.AddNodeCommand.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.AddServerResult.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.AddServerRpc.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.AppendEntriesResult.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.AppendEntriesRpc.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.AppendEntriesRpc.Entry.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.InstallSnapshotResult.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.InstallSnapshotRpc.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.NodeEndpoint.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.RemoveNodeCommand.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.RemoveServerResult.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.RemoveServerRpc.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.RequestVoteResult.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.RequestVoteRpc.Builder
buildPartial()
- Method in class in.xnnyygn.xraft.core.
Protos.SnapshotHeader.Builder
ByteArraySeekableFile
- Class in
in.xnnyygn.xraft.core.support
ByteArraySeekableFile()
- Constructor for class in.xnnyygn.xraft.core.support.
ByteArraySeekableFile
ByteArraySeekableFile(byte[])
- Constructor for class in.xnnyygn.xraft.core.support.
ByteArraySeekableFile
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
R
S
T
V
W
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


Junior Front-end Developer
Karol Szykuła
Don't wait choose quality!
About me
I am Junior Front-end Developer since couple of months. Recently I was working as a construction valuationer, but I wasn't happy doing it. I decided to change my profession in to industry that I always liked - software development. I Recently finished two months full time course in infoShare Academy. On the course I worked in group in Scrum methodology and we have finished Two projects - website in HTML5, CSS4, Javascript and application in React, Redux and firebase. Links can be found in media section.
Hypertext Markup Language (HTML) is the standard markup language for creating web pages and web applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a triad of cornerstone technologies for the World Wide Web.
CSS Stands for "Cascading Style Sheet." Cascading style sheets are used to format the layout of Web pages. They can be used to define text styles, table sizes, and other aspects of Web pages that previously could only be defined in a page's HTML.
Javascript is a dynamic computer programming language. It is lightweight and most commonly used as a part of web pages, whose implementations allow client-side script to interact with the user and make dynamic pages. It is an interpreted programming language with object-oriented capabilities.


Family fun events inspiring fatherhood, friendship, mentorship, and community involvement.
Our Plan to Develop Change
Fatherhood- reclaiming our role as leaders, protectors, and providers
Friendship- creating memories and bonds for a lifetime
Mentorship- sharing experiences to help each other along the way
Service- investing in the future of our community
Placeholder for info on events - recurring or where to find up to date info Can put in a google calendar here and make it public to easily add events and info


A B C D E G H I M O P R S T U V W
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- addCard() - Method in class core.components.UserTest
-
Testing the addCard method
- addCard(String) - Method in class core.components.User
-
Add a new card for the user
- addElectricalBicycle() - Method in class core.components.factories.BicycleFactoryTest
- addElectricalBicycle(MyVelibSystem, Station) - Static method in class core.components.factories.BicycleFactory
-
This method is responsible for creating an electrical bicycle given a station and a system
- addManager() - Method in class core.components.factories.UserFactoryTest
- addManager(MyVelibSystem, String, int) - Static method in class core.components.factories.UserFactory
-
This method is responsible for adding a (new) manager to a system with some initial information.
- addManager(MyVelibSystem, String, Point, int, double) - Static method in class core.components.factories.UserFactory
-
This method is responsible for adding a (new) manager to a system with some initial information.
- AddManager - Class in cli.commands
-
This is the AddManager class that implements the addManager command of the CLI.
- AddManager() - Constructor for class cli.commands.AddManager
- AddManagerTest - Class in cli.commands
-
Testing add manager class
- AddManagerTest() - Constructor for class cli.commands.AddManagerTest
- addMechanicalBicycle() - Method in class core.components.factories.BicycleFactoryTest
- addMechanicalBicycle(MyVelibSystem, Station) - Static method in class core.components.factories.BicycleFactory
-
This method is responsible for creating a mechanical bicycle given a station and a system
- addMoney() - Method in class core.components.StationTest
-
Testing addMoney method
- addMoney() - Method in class core.components.UserTest
-
Testing the addMoney method
- addMoney() - Method in class core.system.MyVelibSystemTest
- addMoney(double) - Method in class core.components.Station
-
This methods adds money in the station
- addMoney(double) - Method in class core.components.User
-
Add money balance
- addMoney(double) - Method in class core.system.MyVelibSystem
-
This methods is responsible for adding money in the system
- addMyVelibSystem() - Method in class core.CoreAppTest
- addMyVelibSystem(MyVelibSystem) - Static method in class core.CoreApp
-
A method to add a new system to the systems variable
- addNumberOfDroppings() - Method in class core.components.StationTest
-
Testing addNumberOfDroppings method
- addNumberOfDroppings(int) - Method in class core.components.Station
-
This methods adds the number of droppings
- addNumberOfRentings(int) - Method in class core.components.Station
-
This methods adds the number of rentings
- addPlusStation() - Method in class core.components.factories.StationFactoryTest
- addPlusStation(MyVelibSystem, Point, boolean, List<ParkingSlot>) - Static method in class core.components.factories.StationFactory
-
This method creates a plus station and add it to a given system with fewer arguments.
- addPlusStation(MyVelibSystem, Point, boolean, List<ParkingSlot>, double, int) - Static method in class core.components.factories.StationFactory
-
This method creates a plus station and add it to a given system.
- addPoint() - Method in class core.components.factories.PointFactoryTest
- addPoint(int, int) - Static method in class core.components.factories.PointFactory
-
This method creates a new point instance
- addRenting() - Method in class core.components.User
-
Increment number of rentings by one It used to compute statistics
- addRenting() - Method in class core.components.UserTest
-
Testing the addRenting method
- addSpentTimeOnElectricalBicycle() - Method in class core.components.UserTest
-
Testing the addSpentTimeOnElectricalBicycle method
- addSpentTimeOnElectricalBicycle(double) - Method in class core.components.User
-
Update the time spent on electrical bicycles
- addSpentTimeOnMechanicalBicycle() - Method in class core.components.UserTest
-
Testing the addSpentTimeOnMechanicalBicycle method
- addSpentTimeOnMechanicalBicycle(double) - Method in class core.components.User
-
Update the time spent on mechanical bicycles
- addStandardStation() - Method in class core.components.factories.StationFactoryTest
- addStandardStation(MyVelibSystem, Point, boolean, List<ParkingSlot>) - Static method in class core.components.factories.StationFactory
-
This method creates a standard station and add it to a given system with fewer arguments.
- addStandardStation(MyVelibSystem, Point, boolean, List<ParkingSlot>, double, int) - Static method in class core.components.factories.StationFactory
-
This method creates a standard station and add it to a given system.
- addTimeCredit() - Method in class core.components.UserTest
-
Testing the addTimeCredit method
- addTimeCredit(double) - Method in class core.components.User
-
Add some time credit after the user had dropped the bicycle in a good station
- addUser() - Method in class core.components.factories.UserFactoryTest
- addUser(MyVelibSystem, String, int) - Static method in class core.components.factories.UserFactory
-
This method is responsible for adding a (new) user to a system with some initial information.
- addUser(MyVelibSystem, String, Point, int, double) - Static method in class core.components.factories.UserFactory
-
This method is responsible for adding a (new) user to a system with some initial information.
- AddUser - Class in cli.commands
-
This is the AddUser class that implements the addUser command of the CLI.
- AddUser() - Constructor for class cli.commands.AddUser
- AddUserTest - Class in cli.commands
-
Testing add user class
- AddUserTest() - Constructor for class cli.commands.AddUserTest
- addVlibre() - Method in class core.components.factories.CardFactoryTest
-
Testing the creation of Vlibre
- addVlibre(MyVelibSystem, User) - Static method in class core.components.factories.CardFactory
-
This method is responsible to add a new Vlibre card to a user
- addVmax() - Method in class core.components.factories.CardFactoryTest
-
Testing the creation of Vmax card
- addVmax(MyVelibSystem, User) - Static method in class core.components.factories.CardFactory
-
This method is responsible to add a new Vmax card to a user
All Classes All Packages


|
eintreten
|
Projekt |
Lösungen |
| 1300 |
|
|---|---|
| 1320 |
|
| 1340 |
|
| 1425 |
|
| 1450 | Pause |
| 1520 |
|
| 1555 |
|
| 1630 |
|
| 1700 |
|
| 1745 | Wrap-up |
R Core Team
|
Uwe Ligges
|
Webinar
|
Webinar
|
Webinar
|
Webinar
|
|
CorrelAid is a non-partisan non-profit network of data science enthusiasts who want to change the world through data science. We dedicate our work to the social sector and those organizations that strive for making the world a better place. In order to improve data literacy in society, we share our knowledge within our network and beyond and are always looking for ways to broaden our horizons. |
|
|
DataCross is a new donor-funded charitable association to fund data science work for non-profits and NGOs. We build teams of volunteer data scientists, define and manage projects, and ensure monitoring and implementation is built-in to deployment. We help non-profits make the best use of their data for social benefit. |


| Home | Libraries | People | FAQ | More |
The Boost.Monotonic library provides storage, allocation and container types for use in high-performance and real-time applications.
The library provides a means for allocation to come from the BSS, stack, or the heap, or transparently from a combination of the BSS, stack and heap. Allocation is fast, because de-allocation does nothing [1] . As such, the amount of storage used by a monotonic allocator can only ever increase - hence the name of the library. A LIFO allocation model is also provided.
Allocation can be regionalised by application of user-supplied 'tag types' to specify a logical storage region. A second tag may be used to specify the access type for the region - which can be either global, guarded by a mutex, or using thread-local storage.
Boost.Monotonic is generally used where performace is a key concern, but there are many use-cases where use of this library provides new functionality [2] .
By making deallocation a no-op, allocation of memory resources is extremely fast. In general, the programmer is required to release storage used at an appropriate time, however local scoping systems are provided by the library for the most common use cases.
Features include:


Adds useful methods to the JavaScript Array type.
To use this optional module, its repository needs to be added to the application, for example by calling app.addRepository('modules/core/Array.js')
To use this optional module, its repository needs to be added to the application, for example by calling app.addRepository('modules/core/Array.js')
Methods
Return the first index position of a value
contained in an array, or -1 if it isn't contained.
parameters
| Object | val | the value to check |
returns
| int | the index of the first occurence of val, or -1 |
return the last index position of a value
contained in an array, or -1 if it isn't contained.
parameters
| Object | val | the value to check |
returns
| int | the index of the first occurence of val, or -1 |
check if an array passed as argument contains
a specific value (start from end of array)
parameters
| Object | val | the value to check |
returns
| boolean | true if the value is contained |
Retrieve the union set of a bunch of arrays
parameters
| Array | array1 |
returns
| Array | the union set |
Retrieve the intersection set of a bunch of arrays
parameters
| Array | array1 |
returns
| Array | the intersection set |


started spinning again with increasing confidence about an upcoming incredible device, a handheld tablet halfway between a Mac and an iPhone. The rumors went even crazier after Steve Jobs presented a prototype of the device to several major US publishers, who couldn’t help talking about it off the record.
Then, on January 27, Steve Jobs finally took the stage and unveiled iPad to the world. The presentation was bare, almost simplistic, with Steve sitting on a couch and demoing the device for most of his keynote. iPad disappointed the majority of analysts at the time. It was deemed “a bigger iPod touch”, nothing else. Steve was being mocked for calling it “a magical device” during his keynote, and in Apple advertising too!


{{site.user_description}}
Data visualisation done right can be one of the most far reaching & influencing medium in the modern age. There are three types of work that I do: Dashboards using proprietary software like Tableau and Power BI. More prescriptive data Visualisation using Python plotting packages and bespoke data visualisation using D3.js.
Where 80% of the work is. Getting the data cleaned & transformed into the right shape make a great data visualisation design actually meaningful. Python perfectly suited for the job, open source and using libraries like Pandas, NumPy and Regular Expressions will cover most of the transofmation needed.


The intake includes the slider, piston, finger, and all related sensors.
More...
The intake includes the slider, piston, finger, and all related sensors.
Definition at line 18 of file Intake.java.
◆ Intake()
| frc.robot.subsystems.Intake.Intake |
( |
| ) |
|
◆ getInstance()
| static Intake frc.robot.subsystems.Intake.getInstance |
( |
| ) |
|
|
static |
◆ limitSliderMovement()
| double frc.robot.subsystems.Intake.limitSliderMovement |
( |
double |
speed | ) |
|
|
private |
Restricts the slider from moving past it's limits.
Note: sensors are wired backwards on both bots
Definition at line 77 of file Intake.java.
◆ outputTelemetry()
| void frc.robot.subsystems.Intake.outputTelemetry |
( |
| ) |
|
◆ periodicInput()
| void frc.robot.subsystems.Intake.periodicInput |
( |
| ) |
|
◆ periodicOutput()
| void frc.robot.subsystems.Intake.periodicOutput |
( |
| ) |
|
◆ reset()
| void frc.robot.subsystems.Intake.reset |
( |
| ) |
|
◆ setFingerLowered()
| void frc.robot.subsystems.Intake.setFingerLowered |
( |
boolean |
isFingerLowered | ) |
|
- Parameters
-
| isFingerLowered | Should the finger be lowered |
Definition at line 149 of file Intake.java.
◆ setPistonExtended()
| void frc.robot.subsystems.Intake.setPistonExtended |
( |
boolean |
isPistonExtended | ) |
|
- Parameters
-
| isPistonExtended | Should the finger be extended |
Definition at line 156 of file Intake.java.
◆ setSliderSpeed()
| void frc.robot.subsystems.Intake.setSliderSpeed |
( |
double |
sliderSpeed | ) |
|
- Parameters
-
| sliderSpeed | Wanted speed for the slider |
Definition at line 163 of file Intake.java.
◆ stop()
| void frc.robot.subsystems.Intake.stop |
( |
| ) |
|
◆ m_instance
| Intake frc.robot.subsystems.Intake.m_instance = null |
|
static |
The documentation for this class was generated from the following file:


We couldn't find any services in this organization. Probably because none exist. We hope. Try creating one using the New Service button.
No services found matching your filter criteria - please try searching for something different.


The app is really good. The BBMP officials now respond well to our complaints. Thanks a lot!!
I was worried about the street light issues in my locality and didn't feel safe. Now, I can go out at night. Thanks for helping in solving the problem.
The police officials at Indiranagar have stopped taking bribes and they are looking at every single complaint with the same enthusiasm.You have helped us a lot!!
I used to fear thinking about the amount that the RTO officers would ask while taking my DL test. With the intervention of NGO's through ErrorCorruptionNotFound I and my colleagues don't have any trouble in taking up the DL test...
The police officials at Subramanyanagar have stopped taking bribes and they are looking at every single complaint with the same enthusiasm.You have helped us a lot!!
With the intervention of NGO's through ErrorCorruptionNotFound I and my colleagues don't have any trouble in taking up the DL test...
The app is really good. The BWSSB officials now respond well to our complaints. Thanks a lot!!
I was worried about the sewage issues in my locality and didn't feel safe.Now, the sewage system has improved free of cost. Thanks for helping in solving the problem.


Copyright © 2021 New Zealand Forest Research Institute Limited, trading as Scion. Terms & Conditions / Privacy Policy


SPARQL Protocol And RDF Query Language, or for short SPARQL, is the language that was used to
obtain the results needed for answering the research question. The results shown are retrieved
from the wikidatabase. The following research question was investigated:
What are drugs targeting genes linked to autosomal recessive distal spinal muscular atrophy 2?
Distal Spinal Muscular Atrophy 2 (DSMA2) is a genetic disorder, charachterized by progressive
muscular atrophy in the limbs (the distal parts of the body).


# Second Session - Bringing it together
Commit
- What is a commit?
commiting is when your 'commiting' the code to the branch making it final and likely permanent
- What is an example of a GOOD commit message
Short and uncomplicated
- Describe the three stages `working, staging, commiting`
Working is the editing of the code
Staging is the testing
Commiting is the publishing of said code
Branching
- What does branching a repo mean?
Branching is making a new set of code thats the same as the master code but run on adiffrent line so the master code isn't changed
- Why do we Branch?
To keep the master code from being messed up from changes
What is the command for creating a branch?
git branch
Merging
- What is merging?
Merging is introducing the new code to the master code
- Did you find the whole process difficult?
- Do you confirm your own merges?
Pulling
- What does pulling do?
Pulling gets the code from a repository
- Why would you use pulling
To get code to work on without affecting the source/master
- what is the command ( in your command line ) to pull down work?
git clone
Thrid Session - Blog-time
Github Pages
- What is Github pages?
A place where you can set up a web page and code it
- How did you find the process of building your own online blog?
Easier then expected
Forking
- what is forking?
A copy of a repository
- What do i use Forking for?
Making a copy of a repository
Understanding your blog
- What type of blog do you want to create
Intresting gaming info and clips
- what are some key things to demonstrate on your blog?
Video intergration and image embbeding


---
layout: post
title: ! 'Lesson 2: Reworking the blog editor'
tags:
- angularjs-rails
status: publish
type: post
published: true
meta:
_edit_last: '1'
---
- Put in resources
- remember to point out rails-resource
- Build pager
- Strip pager HTML from kaminari
- Add filters for searching and sorting/ordering
- CSRF, my little utility for adding token
- ng-view
- Zero HAML code except as ng-includes?
- Only generate the application.html.haml and remove all other files from app/views?


History · Log · Pageviews (All languages · Redirects) · Reasonator (Wikidata)
General statistics
Authorship
Top editors
Year counts
Month counts
(Semi-)automated edits
Assessments
General statistics [show] [hide]
| ID | 41360413 |
| Wikidata ID | Q15377916 · 48 sitelinks |
| Page size | 51,978 bytes |
| Total edits | 1,668 |
| Editors | 779 |
| Assessment | C |
| Page watchers | 256 |
| Pageviews (60 days) | 306,531 |
| Minor edits | 414 · (24.8%) |
| IP edits | 452 · (27.1%) |
| Bot edits | 89 · (5.3%) |
| (Semi-)automated edits | 228 |
| Reverted edits | 177 |
| First edit | 2013-12-14 00:13 • Citation Needed • 1,158 |
| Latest edit | 2021-11-17 21:27 • ScottishFinnishRadish • 7 |
| Max. text added | 2020-07-18 13:39 • Emir of Wikipedia • 6,972 |
| Max. text deleted | 2018-11-07 16:32 • Frayae • -6,174 |
| Edits | |
| Average time between edits (days) | 1.7 days |
| Average edits per user | 2.1 |
| Average edits per day | 0.7 |
| Average edits per month | 17.5 |
| Average edits per year | 210.3 |
| Edits in the past 24 hours | 7 |
| Edits in the past 7 days | 14 |
| Edits in the past 30 days | 21 |
| Edits in the past 365 days | 361 |
| Edits made by the top 10% of editors | 278 · (16.7%) |
| Links | |
| Links to this page | 585 |
| Redirects | 10 |
| Links from this page | 305 |
| External links | 127 |
| Categories | 14 |
| Files | 16 |
| Templates | 116 |
| Prose | |
| Characters | 16,203 |
| Words | 2,575 |
| Sections | 17 |
| References | 101 |
| Unique references | 92 |
Accounts
·
1,216 (72.9%)
IPs
·
452 (27.1%)
Major edits
·
1,254 (75.2%)
Minor edits
·
414 (24.8%)
Top 10%
·
278 (16.7%)
Bottom 90%
·
1,390 (83.3%)
Authorship
[show]
[hide]
Powered by Wikiwho
Loading...
Top editors
[show]
[hide]
Editor statistics over the history of the article.
Top 10 by edits
Citation Needed
·
47 (16.9%)
MazRx
·
44 (15.8%)
<IP_ADDRESS>
·
35 (12.6%)
Crazeman
·
31 (11.2%)
Th78blue
·
27 (9.7%)
Ng.j
·
24 (8.6%)
David Gerard
·
22 (7.9%)
Jytdog
·
20 (7.2%)
Artlaw44
·
14 (5%)
OwenVersteeg
·
14 (5%)
Top 10 by added text
(approximate)
Artlaw44
·
12,921 (21.6%)
Citation Needed
·
11,543 (19.3%)
Emir of Wikipedia
·
6,972 (11.6%)
MazRx
·
5,678 (9.5%)
Crazeman
·
5,563 (9.3%)
OwenVersteeg
·
4,332 (7.2%)
Soffredo
·
3,557 (5.9%)
BioKram
·
3,390 (5.7%)
Ng.j
·
3,192 (5.3%)
Zziccardi
·
2,705 (4.5%)
1 Average time between edits (days)
2 Added text is any positive addition that wasn't reverted
2 Added text is any positive addition that wasn't reverted
Bot list
| Rank | Bot | Links | Edits | ||||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | ClueBot NG | Top Edits · Edit Counter | 25 | ||||||
| 2 | AnomieBOT | Top Edits · Edit Counter | 9 | ||||||
| 3 | BG19bot | Top Edits · Edit Counter | 9 | ||||||
| 4 | Citation bot | Top Edits · Edit Counter | 6 | ||||||
| 5 | Filedelinkerbot | Top Edits · Edit Counter | 5 | ||||||
| 6 | CommonsDelinker | Top Edits · Edit Counter | 5 | ||||||
| 7 | KolbertBot | Top Edits · Edit Counter | 4 | ||||||
| 8 | Yobot | Top Edits · Edit Counter | 3 | ||||||
| 9 | Lowercase sigmabot | Top Edits · Edit Counter | 3 | ||||||
| 10 | Bender the Bot | Top Edits · Edit Counter | 3 | ||||||
| 10 others |
All data is approximate.
Year counts [show] [hide]
All edits
Minor edits
IP edits
Size
| Year | Edits | IPs | IPs % | Minor edits | Minor edits % | Log events |
|---|---|---|---|---|---|---|
| 2013 | 249 | 96 | 38.6% | 40 | 16.1% | 2 protections |
| 2014 | 640 | 248 | 38.8% | 133 | 20.8% | |
| 2015 | 101 | 24 | 23.8% | 38 | 37.6% | |
| 2016 | 64 | 19 | 29.7% | 20 | 31.2% | |
| 2017 | 116 | 35 | 30.2% | 37 | 31.9% | |
| 2018 | 107 | 30 | 28% | 28 | 26.2% | 1 protection |
| 2019 | 17 | 0 | 0% | 6 | 35.3% | |
| 2020 | 14 | 0 | 0% | 4 | 28.6% | |
| 2021 | 360 | 0 | 0% | 108 | 30% |
Month counts [show] [hide]
| Month | Edits | IPs | IPs % | Minor edits | Minor edits % | Edits · Minor edits · IPs |
|---|---|---|---|---|---|---|
| 2013-12 | 249 | 96 | 38.6% | 40 | 16.1% | |
| 2014-01 | 207 | 72 | 34.8% | 44 | 21.3% | |
| 2014-02 | 165 | 71 | 43% | 26 | 15.8% | |
| 2014-03 | 87 | 34 | 39.1% | 21 | 24.1% | |
| 2014-04 | 42 | 18 | 42.9% | 7 | 16.7% | |
| 2014-05 | 59 | 18 | 30.5% | 14 | 23.7% | |
| 2014-06 | 16 | 7 | 43.8% | 5 | 31.2% | |
| 2014-07 | 17 | 6 | 35.3% | 4 | 23.5% | |
| 2014-08 | 5 | 2 | 40% | 1 | 20% | |
| 2014-09 | 11 | 6 | 54.5% | 3 | 27.3% | |
| 2014-10 | 10 | 5 | 50% | 3 | 30% | |
| 2014-11 | 10 | 2 | 20% | 3 | 30% | |
| 2014-12 | 11 | 7 | 63.6% | 2 | 18.2% | |
| 2015-01 | 6 | 1 | 16.7% | 4 | 66.7% | |
| 2015-02 | 17 | 3 | 17.6% | 10 | 58.8% | |
| 2015-03 | 11 | 0 | 0% | 10 | 90.9% | |
| 2015-04 | 6 | 3 | 50% | 1 | 16.7% | |
| 2015-05 | 5 | 0 | 0% | 4 | 80% | |
| 2015-06 | 6 | 2 | 33.3% | 1 | 16.7% | |
| 2015-07 | 12 | 6 | 50% | 0 | 0% | |
| 2015-08 | 9 | 3 | 33.3% | 2 | 22.2% | |
| 2015-09 | 12 | 2 | 16.7% | 0 | 0% | |
| 2015-10 | 0 | 0 | 0% | 0 | 0% | |
| 2015-11 | 9 | 3 | 33.3% | 2 | 22.2% | |
| 2015-12 | 8 | 1 | 12.5% | 4 | 50% | |
| 2016-01 | 7 | 4 | 57.1% | 1 | 14.3% | |
| 2016-02 | 6 | 1 | 16.7% | 1 | 16.7% | |
| 2016-03 | 5 | 0 | 0% | 5 | 100% | |
| 2016-04 | 3 | 1 | 33.3% | 1 | 33.3% | |
| 2016-05 | 5 | 2 | 40% | 1 | 20% | |
| 2016-06 | 9 | 4 | 44.4% | 2 | 22.2% | |
| 2016-07 | 3 | 0 | 0% | 2 | 66.7% | |
| 2016-08 | 5 | 0 | 0% | 1 | 20% | |
| 2016-09 | 3 | 0 | 0% | 1 | 33.3% | |
| 2016-10 | 4 | 1 | 25% | 0 | 0% | |
| 2016-11 | 5 | 2 | 40% | 1 | 20% | |
| 2016-12 | 9 | 4 | 44.4% | 4 | 44.4% | |
| 2017-01 | 0 | 0 | 0% | 0 | 0% | |
| 2017-02 | 3 | 2 | 66.7% | 1 | 33.3% | |
| 2017-03 | 1 | 0 | 0% | 0 | 0% | |
| 2017-04 | 4 | 1 | 25% | 2 | 50% | |
| 2017-05 | 13 | 4 | 30.8% | 7 | 53.8% | |
| 2017-06 | 12 | 6 | 50% | 3 | 25% | |
| 2017-07 | 22 | 2 | 9.1% | 5 | 22.7% | |
| 2017-08 | 13 | 4 | 30.8% | 4 | 30.8% | |
| 2017-09 | 7 | 3 | 42.9% | 1 | 14.3% | |
| 2017-10 | 15 | 2 | 13.3% | 5 | 33.3% | |
| 2017-11 | 10 | 3 | 30% | 4 | 40% | |
| 2017-12 | 16 | 8 | 50% | 5 | 31.2% | |
| 2018-01 | 40 | 16 | 40% | 7 | 17.5% | |
| 2018-02 | 20 | 6 | 30% | 8 | 40% | |
| 2018-03 | 5 | 1 | 20% | 0 | 0% | |
| 2018-04 | 11 | 4 | 36.4% | 1 | 9.1% | |
| 2018-05 | 16 | 3 | 18.8% | 7 | 43.8% | |
| 2018-06 | 4 | 0 | 0% | 2 | 50% | |
| 2018-07 | 0 | 0 | 0% | 0 | 0% | |
| 2018-08 | 0 | 0 | 0% | 0 | 0% | |
| 2018-09 | 2 | 0 | 0% | 1 | 50% | |
| 2018-10 | 0 | 0 | 0% | 0 | 0% | |
| 2018-11 | 7 | 0 | 0% | 1 | 14.3% | |
| 2018-12 | 2 | 0 | 0% | 1 | 50% | |
| 2019-01 | 0 | 0 | 0% | 0 | 0% | |
| 2019-02 | 1 | 0 | 0% | 0 | 0% | |
| 2019-03 | 1 | 0 | 0% | 1 | 100% | |
| 2019-04 | 2 | 0 | 0% | 0 | 0% | |
| 2019-05 | 2 | 0 | 0% | 1 | 50% | |
| 2019-06 | 2 | 0 | 0% | 1 | 50% | |
| 2019-07 | 1 | 0 | 0% | 0 | 0% | |
| 2019-08 | 1 | 0 | 0% | 0 | 0% | |
| 2019-09 | 5 | 0 | 0% | 2 | 40% | |
| 2019-10 | 0 | 0 | 0% | 0 | 0% | |
| 2019-11 | 1 | 0 | 0% | 1 | 100% | |
| 2019-12 | 1 | 0 | 0% | 0 | 0% | |
| 2020-01 | 3 | 0 | 0% | 0 | 0% | |
| 2020-02 | 1 | 0 | 0% | 1 | 100% | |
| 2020-03 | 1 | 0 | 0% | 1 | 100% | |
| 2020-04 | 0 | 0 | 0% | 0 | 0% | |
| 2020-05 | 2 | 0 | 0% | 0 | 0% | |
| 2020-06 | 3 | 0 | 0% | 1 | 33.3% | |
| 2020-07 | 2 | 0 | 0% | 0 | 0% | |
| 2020-08 | 0 | 0 | 0% | 0 | 0% | |
| 2020-09 | 1 | 0 | 0% | 0 | 0% | |
| 2020-10 | 0 | 0 | 0% | 0 | 0% | |
| 2020-11 | 1 | 0 | 0% | 1 | 100% | |
| 2020-12 | 0 | 0 | 0% | 0 | 0% | |
| 2021-01 | 57 | 0 | 0% | 24 | 42.1% | |
| 2021-02 | 30 | 0 | 0% | 10 | 33.3% | |
| 2021-03 | 17 | 0 | 0% | 5 | 29.4% | |
| 2021-04 | 44 | 0 | 0% | 11 | 25% | |
| 2021-05 | 88 | 0 | 0% | 22 | 25% | |
| 2021-06 | 9 | 0 | 0% | 4 | 44.4% | |
| 2021-07 | 28 | 0 | 0% | 8 | 28.6% | |
| 2021-08 | 12 | 0 | 0% | 4 | 33.3% | |
| 2021-09 | 17 | 0 | 0% | 0 | 0% | |
| 2021-10 | 42 | 0 | 0% | 16 | 38.1% | |
| 2021-11 | 16 | 0 | 0% | 4 | 25% |
(Semi-)automated edits [show] [hide]
| Tool | Edits |
|---|---|
| Undo | 56 |
| Twinkle | 36 |
| Generic rollback | 30 |
| Bot revert | 24 |
| AutoWikiBrowser | 22 |
| Huggle | 17 |
| HotCat | 9 |
| STiki | 8 |
| reFill | 3 |
| Reflinks | 3 |
| Dab solver | 3 |
| Admin actions | 3 |
| Shortdesc helper | 2 |
| WPCleaner | 2 |
| Ohconfucius script | 2 |
| JWB | 1 |
| Popups | 1 |
| Page move | 1 |
| Cat-a-lot | 1 |
| XFDcloser | 1 |
| RedWarn | 1 |
| DisamAssist | 1 |
| AutoEd | 1 |
Assessments [show] [hide]
| WikiProject | Assessment | Importance |
|---|---|---|
| Computing | C | ??? |
| Cryptography | C | Low |
| Economics | C | Low |
| Numismatics | C | Low |
| Internet | C | Low |
| Cryptography/WikiProject Computer science | C | Low |
| Computing/WikiProject Software | C | ??? |
| Finance & Investment | C | Low |
| Cryptocurrency | C | Mid |
| Computing/Free and open-source software | C | Low |
All times are in UTC.


16 Jan 2021 - Abel Pena
Over the last month, stocks and cryptocurrency have put an interest in creating an auto trading bot I hope will further my experience in machine learning models and different API frameworks.
This project will be built on python using pytorch and community sourced yahoo! finance api to gather stock data. This will be a daunting task as I have little experience in day trading stocks and cryptocurrencies as well as the difficulty in coming up with a great model to trade stock successfully.


class: center, middle, inverse, title-slide # tidy data and tidy tools ## Overview of tools of effective data analysis ### Eric Leung ### 2020-05-17 --- # Overview - Tidy data - Core and useful tidyverse functions - Useful packages --- # Tidy data overview ![Tidy data](https://d33wubrfki0l68.cloudfront.net/6f1ddb544fc5c69a2478e444ab8112fb0eea23f8/91adc/images/tidy-1.png) *Source*: https://r4ds.had.co.nz/tidy-data.html --- # Tidy data are easier to work with inside the tidyverse > "Tidy datasets are all alike, but every messy dataset is messy in its own way." > > –– Hadley Wickham --- # Objective Take built-in phyloseq object and convert it to a tidy data set. Then wrangle the data using tidy principles and tidyverse packages<sup>*</sup>. .footnote[[*] The "tidyverse" packages are a suite of packages that adhere to tidy data principles] --- # Load packages ```r library(phyloseq) # install.packages("remotes") # remotes::install_github("mikemc/speedyseq") library(speedyseq) # Optional ``` --- # phyloseq data example ```r # Load data example data("GlobalPatterns") GlobalPatterns ``` ``` ## phyloseq-class experiment-level object ## otu_table() OTU Table: [ 19216 taxa and 26 samples ]: ## sample_data() Sample Data: [ 26 samples by 7 sample variables ]: ## tax_table() Taxonomy Table: [ 19216 taxa by 7 taxonomic ranks ]: ## phy_tree() Phylogenetic Tree: [ 19216 tips and 19215 internal nodes ]: ## taxa are rows ``` -- Let's convert this into a tidy data set. --- # `psmelt()` converts to tidy data ```r psm_gp <- psmelt(GlobalPatterns) # Create tidy data ``` -- ```r library(tibble) psm_gp <- tibble(psm_gp) # Make nicer data frame ``` -- ```r head(psm_gp, 5) # View first five rows ``` ``` ## # A tibble: 5 x 17 ## OTU Sample Abundance X.SampleID Primer Final_Barcode Barcode_truncated_p… ## <chr> <chr> <dbl> <fct> <fct> <fct> <fct> ## 1 549656 AQC4cm 1177685 AQC4cm ILBC_… ACAGCT AGCTGT ## 2 279599 LMEpi24M 914209 LMEpi24M ILBC_… ACACTG CAGTGT ## 3 549656 AQC7cm 711043 AQC7cm ILBC_… ACAGTG CACTGT ## 4 549656 AQC1cm 554198 AQC1cm ILBC_… ACAGCA TGCTGT ## 5 360229 M31Tong 540850 M31Tong ILBC_… ACACGA TCGTGT ## # … with 10 more variables: Barcode_full_length <fct>, SampleType <fct>, ## # Description <fct>, Kingdom <chr>, Phylum <chr>, Class <chr>, Order <chr>, ## # Family <chr>, Genus <chr>, Species <chr> ``` --- # Quick note on the tidyverse - The {tidyverse} package is a suite of packages - Home website https://www.tidyverse.org/ - Running `library(tidyverse)` will load the main tidyverse packages - The following code loads the appropriate packages within the tidyverse when needed --- # Let's clean the `Descriptions` column ```r library(dplyr) psm_gp %>% select(OTU, Sample, SampleType, Description) %>% head(5) ``` ``` ## # A tibble: 5 x 4 ## OTU Sample SampleType Description ## <chr> <chr> <fct> <fct> ## 1 549656 AQC4cm Freshwater (creek) "Allequash Creek, 3-4 cm depth" ## 2 279599 LMEpi24M Freshwater "Lake Mendota Minnesota, 24 meter epilimni… ## 3 549656 AQC7cm Freshwater (creek) "Allequash Creek, 6-7 cm depth" ## 4 549656 AQC1cm Freshwater (creek) "Allequash Creek, 0-1cm depth" ## 5 360229 M31Tong Tongue "M3, Day 1, tongue, whole body study " ``` --- # Just keep stool samples ```r psm_gp %>% select(OTU, Sample, SampleType, Description) %>% filter(SampleType == "Feces") %>% head(5) ``` ``` ## # A tibble: 5 x 4 ## OTU Sample SampleType Description ## <chr> <chr> <fct> <fct> ## 1 331820 M11Fcsw Feces "M1, Day 1, fecal swab, whole body study " ## 2 331820 M31Fcsw Feces "M3, Day 1, fecal swab, whole body study" ## 3 189047 TS29 Feces "Twin #2" ## 4 158660 M11Fcsw Feces "M1, Day 1, fecal swab, whole body study " ## 5 244304 M11Fcsw Feces "M1, Day 1, fecal swab, whole body study " ``` -- The descriptions have lots of information in them that we might want to visualize later on with ggplot2. -- Difficult to plot when the data is locked in text form. **Note**: some of the following code may not be "best" design decision --- # Load core data wrangling libraries ```r library(tidyr) ``` -- ```r # Column must be character, `Description` is currently a factor psm_gp %>% select(OTU, Sample, SampleType, Description) %>% filter(SampleType == "Feces") %>% * mutate(Description = as.character(Description)) %>% * separate_rows(Description, sep = ", ") %>% head(5) ``` ``` ## # A tibble: 5 x 4 ## OTU Sample SampleType Description ## <chr> <chr> <fct> <chr> ## 1 331820 M11Fcsw Feces "M1" ## 2 331820 M11Fcsw Feces "Day 1" ## 3 331820 M11Fcsw Feces "fecal swab" ## 4 331820 M11Fcsw Feces "whole body study " ## 5 331820 M31Fcsw Feces "M3" ``` --- # Let's move values into columns ```r # Create `value` column to keep value psm_gp %>% select(OTU, Sample, SampleType, Description) %>% filter(SampleType == "Feces") %>% mutate(Description = as.character(Description)) %>% separate_rows(Description, sep = ", ") %>% * mutate(value = 1) %>% * pivot_wider(names_from = Description, * values_from = value) %>% head(5) ``` ``` ## # A tibble: 5 x 11 ## OTU Sample SampleType M1 `Day 1` `fecal swab` `whole body study ` M3 ## <chr> <chr> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> ## 1 331820 M11Fcsw Feces 1 1 1 1 NA ## 2 331820 M31Fcsw Feces NA 1 1 NA 1 ## 3 189047 TS29 Feces NA NA NA NA NA ## 4 158660 M11Fcsw Feces 1 1 1 1 NA ## 5 244304 M11Fcsw Feces 1 1 1 1 NA ## # … with 3 more variables: whole body study <dbl>, Twin #2 <dbl>, Twin #1 <dbl> ``` --- # We can reverse our pivot ```r psm_gp %>% select(OTU, Sample, SampleType, Description) %>% filter(SampleType == "Feces") %>% mutate(Description = as.character(Description)) %>% separate_rows(Description, sep = ", ") %>% mutate(value = 1) %>% pivot_wider(names_from = Description, values_from = value) %>% * pivot_longer(cols = !c(OTU, Sample, SampleType), * names_to = "Description", * values_to = "Value") %>% head(5) ``` ``` ## # A tibble: 5 x 5 ## OTU Sample SampleType Description Value ## <chr> <chr> <fct> <chr> <dbl> ## 1 331820 M11Fcsw Feces "M1" 1 ## 2 331820 M11Fcsw Feces "Day 1" 1 ## 3 331820 M11Fcsw Feces "fecal swab" 1 ## 4 331820 M11Fcsw Feces "whole body study " 1 ## 5 331820 M11Fcsw Feces "M3" NA ``` --- # Future steps - With the code here, you could further process the data to filter on specific features. - For example, you could focus on stool samples from a specific twins or a whole body study. - The {stringr} package within the tidyverse will prove useful for checking the contents of strings --- # Functions reviewed - **Note**: the following functions are in the form `<package>::<function>` - **`dplyr::select()`** = select, subset, and remove columns from data frame - **`dplyr::filter()`** = remove or keep specific rows based on information in data frame - **`dplyr::mutate()`** = convert or transform column values - **`tidyr::separate_rows()`** = take column values and separate them into multiple rows - **`tidyr:pivot_wider()`** and **`tidyr::pivot_longer()`** = transform data frame from long to wide data --- # Useful packages - janitor = miscellaneous cleaning - unheadr = weird nested headers - tidycells = multiple tables spaced out in Excel --- # janitor for cleaning columns and creating frequency tables ```r library(janitor) psm_gp %>% select(OTU, Sample, SampleType, Description) %>% filter(SampleType == "Feces") %>% mutate(Description = as.character(Description)) %>% separate_rows(Description, sep = ", ") %>% * clean_names() %>% head(5) ``` ``` ## # A tibble: 5 x 4 ## otu sample sample_type description ## <chr> <chr> <fct> <chr> ## 1 331820 M11Fcsw Feces "M1" ## 2 331820 M11Fcsw Feces "Day 1" ## 3 331820 M11Fcsw Feces "fecal swab" ## 4 331820 M11Fcsw Feces "whole body study " ## 5 331820 M31Fcsw Feces "M3" ``` --- # janitor for creating frequency tables ```r psm_gp %>% select(OTU, Sample, SampleType, Description) %>% * tabyl(SampleType) %>% * adorn_totals() ``` ``` ## SampleType n percent ## Feces 76864 0.15384615 ## Freshwater 38432 0.07692308 ## Freshwater (creek) 57648 0.11538462 ## Mock 57648 0.11538462 ## Ocean 57648 0.11538462 ## Sediment (estuary) 57648 0.11538462 ## Skin 57648 0.11538462 ## Soil 57648 0.11538462 ## Tongue 38432 0.07692308 ## Total 499616 1.00000000 ``` --- # unheadr for nested headers **Before** | scientific\_name | common\_name | red\_list\_status | mass\_kg | | :---------------------- | :--------------------------- | :---------------- | -------: | | Asia | NA | NA | NA | | CERCOPITHECIDAE | NA | NA | NA | | Trachypithecus obscurus | Dusky Langur | NT | 7.13 | | Presbytis sumatra | Black Sumatran Langur | EN | 6.00 | --- # unheadr for nested headers **After** | scientific\_name | common\_name | red\_list\_status | mass\_kg | family | | :---------------------- | :--------------------------- | :---------------- | -------: | :-------------- | | Trachypithecus obscurus | Dusky Langur | NT | 7.13 | CERCOPITHECIDAE | | Presbytis sumatra | Black Sumatran Langur | EN | 6.00 | CERCOPITHECIDAE | --- # tidycells for odd cell arrangements ![](https://r-rudra.github.io/tidycells/articles/ext/marks.png) --- # Resources - R for Data Science https://r4ds.had.co.nz - Ted's list of underrated tidyverse functions https://hugo-portfolio-example.netlify.app/projects/tidyverse_functions/ - {janitor} R package https://github.com/sfirke/janitor - {unheadr} R package https://github.com/luisDVA/unheadr - {tidycells} https://r-rudra.github.io/tidycells/ - Blog post on cleaning messy data https://rfortherestofus.com/2019/12/how-to-clean-messy-data-in-r/