Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Resiliency for Life
Mailing Address:
303-640 Sheppard Ave ENORTH YORK, Ontario
M2K 1B8
Location Address:
303-640 Sheppard Ave ENORTH YORK, Ontario
M2K 1B8
Tel.:<PHONE_NUMBER>
Fax:
Logo
Company Profile
We specialize in programming to assist people of all ages, organizations and communities develop and deepen their ability to deal with personal, family, organizational and community adversity. Our clients use our services to assist them learn how to safely and effectively deal with challenges and adversity. We offer an easy to understand model, simplified common language approach, powerful yet easy to use skills, audio programing and it's all done using the research proven and very powerful realistic optimism approach.
Organizations benefit with reduced turnover, higher levels of employee engagement, the potential of significant lower chronic illness costs and higher levels of morale to name just a few of the powerful benefits. Clients have included Fortune Five Hundred, Canadian Business 500, Government of Singapore, and dozens of associations from Bermuda to Singapore.
People, families, schools and communities benefit as they find that there are lowered levels of negative behavior and higher levels of successful outcomes. People once they learn the process and the skills are more able to deal with lifes inevitable obstacles and significant challenges. Then how to move forward with added courage and conviction and make a difference in their lives. Clients have included Foster Parents, CanGrands.com, Schools, School Boards, Child and Family groups and Associations. We have clients from The United Kingdom, North America, New Zealand, Bermuda and Australia.
Languages
Currently the majority of our programming is in only in English. However we look forward to having our programming translated into French and Spanish in the intermediate future with other languages being considered.
We have done some work with large (1,000's) to small (dozens) live audiences with our work translated into French, Spanish and American Sign Language in North America. Plus with NGO's we have had some of our printed programming translated into French, Spanish and Creole to assist children and families , students and schools lessen anxiety and lower stress of the students, parents, teachers and support staff.
Don't hesitate to contact us if you have any questions. Thank you.
Here is a link to our child and family programming: www.ResiliencyForLife.com/Splash
Translated using Google Translator
Full profile
Full profile
Contact information
Company description
624110 - Child and Youth Services
Product / Service / Licensing
Organizations benefit with reduced turnover, higher levels of employee engagement, the potential of significant lower chronic illness costs and higher levels of morale to name just a few of the powerful benefits. Clients have included Fortune Five Hundred, Canadian Business 500, Government of Singapore, and dozens of associations from Bermuda to Singapore.
People, families, schools and communities benefit as they find that there are lowered levels of negative behavior and higher levels of successful outcomes. People once they learn the process and the skills are more able to deal with lifes inevitable obstacles and significant challenges. Then how to move forward with added courage and conviction and make a difference in their lives. Clients have included Foster Parents, CanGrands.com, Schools, School Boards, Child and Family groups and Associations. We have clients from The United Kingdom, North America, New Zealand, Bermuda and Australia.
Languages
Currently the majority of our programming is in only in English. However we look forward to having our programming translated into French and Spanish in the intermediate future with other languages being considered.
We have done some work with large (1,000's) to small (dozens) live audiences with our work translated into French, Spanish and American Sign Language in North America. Plus with NGO's we have had some of our printed programming translated into French, Spanish and Creole to assist children and families , students and schools lessen anxiety and lower stress of the students, parents, teachers and support staff.
Don't hesitate to contact us if you have any questions. Thank you.
Here is a link to our child and family programming: www.ResiliencyForLife.com/Splash
Translated using Google Translator
Energy Management for Life©
So what is this program all about?
It is a skills based program that reduces negative behaviour and increases positive behaviour in children, youth, adults and families. It is also being used in classrooms, group homes, organizations and communities.
We help children, youth, adults and families practice skills that create positive rational, emotional and physical states. This assists them gain a greater sense of control to more effectively deal with past, current or future situations with more ease. In the process it allows them to gain a greater sense of inner control and confidence that can be applied and used in many other situations.
What are the outcomes
- recognise and manage our own energy (responses to stress)
- recognise energy (four states of behaviour) in others
- establish positive understanding with themselves and others
- handle challenging situations effectively
- develop their capacity
Parents, Granparents, Foster Parents, Teachers and Professionals tell us they've been very pleased at the changes many of the children and youth experience having taken this program.
Would you like have us present in your town or to your group, association or school?
Please contact us through our business manager at:
<EMAIL_ADDRESS>Market profile
Alliances:
Strategic alliances:
Interested in those in the educational primary sector JK, SK Grades One to ThreeIndustry sector market interests:
- Service Industry
Geographic markets:
Actively pursuing:
- Australia
- Bahamas
- Barbados
- Ghana
- Ireland
- Kenya
- South Africa
- United Kingdom
- United States
Sector information
Distribution of employees:
100% currently live and work out of Toronto Ontario Canada.Unique applications:
We've helped several organizations help their staff deal with high impact negative events after the Critical Incident Stress and Employee Assistance Program teams have gone home to lower stress, anxiety and build morale and get attendance and productivity back up to pre event standards.We've designed, developed and delivered many programs to assist organizations with staff and group resiliency issues. We've developed live, online, and video programming. How can we assist you? Plus we offer an online resiliency evaluation that is very cost effective with over 130,000 people having used it.
We assist parents, professionals and volunteers help children, youth, adults and seniors develop and deepen their resiliency to better deal with their adversity issues such as:
- Behaviour / Behavior issues for children youth and seniors
- Chronic illness for all ages
- Job loss for youth and adults
- Job / Career search for youth adults
- Retirement
- Productivity
- Dealing with stress and anxiety after a serious or series of high impact negative events.
I.e. Death, violence or injury, that involve personal, family, organizational or community events.
Key / Major clients:
Clients include:Association and Organizational
IBM, Bell, Certified Management Accountants of Ontario and Manitoba, Government of Singapore, Miziwe Biik, Alberta Health Care, Corrections Canada, National Parole Board, Mead Johnson, Ontario Hydro, Prudential Assurance, Ontario Secondary Teachers Federation, Saskatchewan Health, City of Toronto
Child and Family
Foster Parents Society of Ontario, CanGrands.com, Hamilton Children Aid Society, Quinte Children Aid Society
www.ResiliencyForLife.com/Clients
Success stories:
Our services have been used to assist organizations assist thier staff deal with:high level stress due to downturns in business,
workplace accidents, incident, death, illness and injury
changes in technology
sales productivity issues
changes in workplace cultures
See evaluations at:
http://www.ResiliencyForLife.com/Testimonials
Our services have been used to assist parents and professionals assist children, youth, adults and families deal with:
- reducing negative behaviour / behavior
- increasing positive outcomes through resiliency programming and evaluation
See some evaluations at:
www.ResiliencyForLife.com/IYR
Testimonial:
References and Testimonials upon request.http://www.ResiliencyForLife.com/Testimonials
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
624110 - Child and Youth Services
Products, services and licensing
Product / Service / Licensing
Organizations benefit with reduced turnover, higher levels of employee engagement, the potential of significant lower chronic illness costs and higher levels of morale to name just a few of the powerful benefits. Clients have included Fortune Five Hundred, Canadian Business 500, Government of Singapore, and dozens of associations from Bermuda to Singapore.
People, families, schools and communities benefit as they find that there are lowered levels of negative behavior and higher levels of successful outcomes. People once they learn the process and the skills are more able to deal with lifes inevitable obstacles and significant challenges. Then how to move forward with added courage and conviction and make a difference in their lives. Clients have included Foster Parents, CanGrands.com, Schools, School Boards, Child and Family groups and Associations. We have clients from The United Kingdom, North America, New Zealand, Bermuda and Australia.
Languages
Currently the majority of our programming is in only in English. However we look forward to having our programming translated into French and Spanish in the intermediate future with other languages being considered.
We have done some work with large (1,000's) to small (dozens) live audiences with our work translated into French, Spanish and American Sign Language in North America. Plus with NGO's we have had some of our printed programming translated into French, Spanish and Creole to assist children and families , students and schools lessen anxiety and lower stress of the students, parents, teachers and support staff.
Don't hesitate to contact us if you have any questions. Thank you.
Here is a link to our child and family programming: www.ResiliencyForLife.com/Splash
Translated using Google Translator
Energy Management for Life©
So what is this program all about?
It is a skills based program that reduces negative behaviour and increases positive behaviour in children, youth, adults and families. It is also being used in classrooms, group homes, organizations and communities.
We help children, youth, adults and families practice skills that create positive rational, emotional and physical states. This assists them gain a greater sense of control to more effectively deal with past, current or future situations with more ease. In the process it allows them to gain a greater sense of inner control and confidence that can be applied and used in many other situations.
What are the outcomes
- recognise and manage our own energy (responses to stress)
- recognise energy (four states of behaviour) in others
- establish positive understanding with themselves and others
- handle challenging situations effectively
- develop their capacity
Parents, Granparents, Foster Parents, Teachers and Professionals tell us they've been very pleased at the changes many of the children and youth experience having taken this program.
Would you like have us present in your town or to your group, association or school?
Please contact us through our business manager at:
<EMAIL_ADDRESS>Market
Market profile
Alliances:
Strategic alliances:
Interested in those in the educational primary sector JK, SK Grades One to ThreeIndustry sector market interests:
- Service Industry
Geographic markets:
Actively pursuing:
- Australia
- Bahamas
- Barbados
- Ghana
- Ireland
- Kenya
- South Africa
- United Kingdom
- United States
Sector
Sector information
Distribution of employees:
100% currently live and work out of Toronto Ontario Canada.Unique applications:
We've helped several organizations help their staff deal with high impact negative events after the Critical Incident Stress and Employee Assistance Program teams have gone home to lower stress, anxiety and build morale and get attendance and productivity back up to pre event standards.We've designed, developed and delivered many programs to assist organizations with staff and group resiliency issues. We've developed live, online, and video programming. How can we assist you? Plus we offer an online resiliency evaluation that is very cost effective with over 130,000 people having used it.
We assist parents, professionals and volunteers help children, youth, adults and seniors develop and deepen their resiliency to better deal with their adversity issues such as:
- Behaviour / Behavior issues for children youth and seniors
- Chronic illness for all ages
- Job loss for youth and adults
- Job / Career search for youth adults
- Retirement
- Productivity
- Dealing with stress and anxiety after a serious or series of high impact negative events.
I.e. Death, violence or injury, that involve personal, family, organizational or community events.
Key / Major clients:
Clients include:Association and Organizational
IBM, Bell, Certified Management Accountants of Ontario and Manitoba, Government of Singapore, Miziwe Biik, Alberta Health Care, Corrections Canada, National Parole Board, Mead Johnson, Ontario Hydro, Prudential Assurance, Ontario Secondary Teachers Federation, Saskatchewan Health, City of Toronto
Child and Family
Foster Parents Society of Ontario, CanGrands.com, Hamilton Children Aid Society, Quinte Children Aid Society
www.ResiliencyForLife.com/Clients
Success stories:
Our services have been used to assist organizations assist thier staff deal with:high level stress due to downturns in business,
workplace accidents, incident, death, illness and injury
changes in technology
sales productivity issues
changes in workplace cultures
See evaluations at:
http://www.ResiliencyForLife.com/Testimonials
Our services have been used to assist parents and professionals assist children, youth, adults and families deal with:
- reducing negative behaviour / behavior
- increasing positive outcomes through resiliency programming and evaluation
See some evaluations at:
www.ResiliencyForLife.com/IYR
Testimonial:
References and Testimonials upon request.http://www.ResiliencyForLife.com/Testimonials


Please Select features of your Password
[ Select one ]
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
length
Include capital letters (A,B,C)
Include special characters (@,!,$)
Include numbers (1,2,3)
Create
Your Password


what happened to the weapons statistics - Better Battlelog Forums #45556
Sitemap
21.  December 2012 09:06
Topicstarter
Jones76
What became of the head shots
and headshots in %
21. November 2012 14:13
BrainFooLong
Administrator
A little bit more information would be handy.
21. November 2012 14:22
Topicstarter
Jones76
weapons Accuracy ....
how many head shots you have with the weapon....
21. November 2012 14:26
Dendari
Translator
Do you mean this?
http://i.imgur.com/1osDA.png
If yes, I still have them.
21. November 2012 14:28
Post edited 1 x times, last by
Jones76
21. November 2012 14:31
Topicstarter
Jones76
Dendari wrote:
Do you mean this?
http://i.imgur.com/1osDA.png
If yes, I still have them.
thank you
I do not have it
21. November 2012 14:55
Post edited 1 x times, last by
BrainFooLong
Administrator
21. November 2012 14:56
BrainFooLong
Administrator
For normal: Bug reports will not be solved when you give us no information.
1. Browser
2. BBLog Version Nr (And no, not "newest").
3. Maybe a screenshot


--- title: "Red Butte Garden and Natural History Museum of Utah Experience" layout: "default" ---
Are you interested in having your students enjoy both a plant-filled field class at Red Butte Garden and a dino-mite self-guided field trip at the Natural History Museum of Utah? Book your RBG/NHMU experience today! This experience is offered to K-6th grades. Reservations can accommodate up to 120 students. The Chaperone ratio agreed upon by RBG and NHMU for this trip is 1 adult to 6 students.
*If you are interested in a same-day experience with RBG and NHMU, you must reserve a date. Times and dates are firm. If these times and/or dates do not work for your group, we will not be able to accommodate your request. Lunch space is only available at NHMU*


import torch
from torch_complex import functional as FC
from torch_complex.tensor import ComplexTensor
[docs]def get_power_spectral_density_matrix(xs: ComplexTensor, mask: torch.Tensor,
normalization=True,
eps: float = 1e-15
) -> ComplexTensor:
"""Return cross-channel power spectral density (PSD) matrix
Args:
xs (ComplexTensor): (..., F, C, T)
mask (torch.Tensor): (..., F, C, T)
normalization (bool):
eps (float):
Returns
psd (ComplexTensor): (..., F, C, C)
"""
# outer product: (..., C_1, T) x (..., C_2, T) -> (..., T, C, C_2)
psd_Y = FC.einsum('...ct,...et->...tce', [xs, xs.conj()])
# Averaging mask along C: (..., C, T) -> (..., T)
mask = mask.mean(dim=-2)
# Normalized mask along T: (..., T)
if normalization:
# If assuming the tensor is padded with zero, the summation along
# the time axis is same regardless of the padding length.
mask = mask / (mask.sum(dim=-1, keepdim=True) + eps)
# psd: (..., T, C, C)
psd = psd_Y * mask[..., None, None]
# (..., T, C, C) -> (..., C, C)
psd = psd.sum(dim=-3)
return psd
[docs]def get_mvdr_vector(psd_s: ComplexTensor,
psd_n: ComplexTensor,
reference_vector: torch.Tensor,
eps: float = 1e-15) -> ComplexTensor:
"""Return the MVDR(Minimum Variance Distortionless Response) vector:
h = (Npsd^-1 @ Spsd) / (Tr(Npsd^-1 @ Spsd)) @ u
Reference:
On optimal frequency-domain multichannel linear filtering
for noise reduction; M. Souden et al., 2010;
https://ieeexplore.ieee.org/document/5089420
Args:
psd_s (ComplexTensor): (..., F, C, C)
psd_n (ComplexTensor): (..., F, C, C)
reference_vector (torch.Tensor): (..., C)
eps (float):
Returns:
beamform_vector (ComplexTensor)r: (..., F, C)
"""
# Add eps
C = psd_n.size(-1)
eye = torch.eye(C, dtype=psd_n.dtype, device=psd_n.device)
shape = [1 for _ in range(psd_n.dim() - 2)] + [C, C]
eye = eye.view(*shape)
psd_n += eps * eye
# numerator: (..., C_1, C_2) x (..., C_2, C_3) -> (..., C_1, C_3)
numerator = FC.einsum('...ec,...cd->...ed', [psd_n.inverse(), psd_s])
# ws: (..., C, C) / (...,) -> (..., C, C)
ws = numerator / (FC.trace(numerator)[..., None, None] + eps)
# h: (..., F, C_1, C_2) x (..., C_2) -> (..., F, C_1)
beamform_vector = FC.einsum('...fec,...c->...fe', [ws, reference_vector])
return beamform_vector


The quokka team consists of a single developer at present, Andrew O'Malley. You can contact me on my gmail account as user andrewoma.


Your participation in this study is voluntary. You may decide not to participate or you may leave the study at any time. If you withdraw from the study, we will stop collecting new data. The coded study data that you have already provided, and that have already been distributed, will not be able to be destroyed or deleted.
To withdraw from this study please email mzepeda@gene.com


- Description
- allows running an import job
The source and destination repositories are selected by arguments
passed to
::com::sun::star::task::XJob::execute().
The names and meanings of such arguments depend on
the implementation. Each implementation must document such arguments.
Implementations may return a value from
::com::sun::star::task::XJob::execute()
that indicates the status of job execution. The type and meaning of
such status indicators depend on the implementation.
If void or true is returned, this indicates successful
execution. If an
::com::sun::star::uno::Exception is returned,
it represents an error condition encountered during execution.
The following arguments to
::com::sun::star::task::XJob::execute()
should be supported by implementations. Implementations must document
a failure to support any of these arguments:
ImporterService : string
- A service or implementation name used to instantiate the
Importer to use for importing. If this parameter
is missing, the implementation selects an appropriate importer.
By default, a MergeImporter should be used.
OverwriteExisting : boolean
- If true, specifies that no existing data should be
overwritten by the import. If the Importer used
does not support such protection, an error may be raised.
If some data is not imported, because there is existing
data, this is indicated by returning an appropriate exception.
TruncateExisting : boolean
- If true, specifies that existing data should be
discarded and replaced by the imported data.
If the Importer used does not support this
operation, an error may be raised.
By default, a CopyImporter is used to perform
truncating import.
Entity : string
- An identifier for the entity in the destination backend for
which the imported data should apply. The value will be passed
to XLayerImporter::importLayerForEntity().
If this parameter is missing, the implementation uses
XLayerImporter::importLayer() instead.
Component : string
- Names the component for which to import data. If this
parameter is missing, the selection of data to import depends
on implementation-specific parameters.
LayerFilter : LayerFilter
- A filter to transform data during import. This parameter is
optional. If this parameter is missing, data will be imported
unaltered. Support for this parameter is optional.
If the implementation does not support a filter it will raise an
::com::sun::star::lang::IllegalArgumentException.
|


sendIT | Parcels delivery
sendIT
Home
Make an order
Our prices
Login
Sign up
Create delivery order
Pickup location
Destination
Recipient's name
Recipients phone number
Create delivery order


Computational Systems Seminar, Spring 2004Department of Computer Sciences, University of SalzburgTime, Location: Summer 2004, Techno-Z. Brief Overview: What is the latest trend in operating system design? Is a virtual machine an efficient concept to multiplex hardware? How does a high-performance web server work? Is a multi-threading or an event-dispatching operating system or even a hybrid of the two the way to go? Why is real-time programming so difficult? Is synchronous reactive programming or traditional real-time scheduling the right model? If you are interested in these and other systems-related questions, sign up for the computational systems seminar. The seminar provides a unique opportunity to meet other students and discuss hot topics in systems research. Pick a research paper listed below (or propose some other recent paper), read and understand it, and then share your experience with the group. Goals of the seminar: Learn how to read, understand, and present top research papers and their context. Prerequisites: Background in basic programming language and operating system concepts. Requirements: Each student selects a research paper, writes a 10-15 page survey of its research context, and gives a 45min presentation on the paper. Restrictions: Seminar language is English. Students and papers:
Organization: Christoph Kirsch |


Follow these steps after selecting Tradier in step 4 of the tutorial in the introduction:
$ lean cloud live "My Project" --push --open Account id: VA000001 Access token: ****************
demo
or real
.
$ lean cloud live "My Project" --push --open Environment (demo, real): demo


|
Jetson Inference
DNN Vision Library
|
OpenGL graphics widget for rendering moveable/resizable shapes. More...
#include <glWidget.h>
Classes | |
| struct | eventHandler |
Public Types | |
| enum | Shape { Rect, Line, Ellipse } |
| Shape enum. More... | |
| typedef bool(* | glWidgetEventHandler) (glWidget *widget, uint16_t event, int a, int b, void *user) |
| Event message handler callback for recieving UI messages from widgets. More... | |
Public Member Functions | |
| glWidget (Shape shape=Rect) | |
| Constructor. More... | |
| glWidget (float x, float y, float width, float height, Shape shape=Rect) | |
| Constructor. More... | |
| virtual | ~glWidget () |
| Destructor. More... | |
| bool | Contains (float x, float y) const |
| Test if the point is inside the widget. More... | |
| void | Move (float x, float y) |
| Move the widget's position by the specified offset. More... | |
| float | X () const |
| Get the widget's X coordinate. More... | |
| float | Y () const |
| Get the widget's Y coordinate. More... | |
| void | SetX (float x) |
| Set the widget's X coordinate. More... | |
| void | SetY (float y) |
| Set the widget's Y coordinate. More... | |
| float | Width () const |
| Get the widget's width. More... | |
| float | Height () const |
| Get the widget's height. More... | |
| void | SetWidth (float width) |
| Set the widget's width. More... | |
| void | SetHeight (float height) |
| Set the widget's height. More... | |
| void | GetPosition (float *x, float *y) const |
| Get position of widget in global window coordinates. More... | |
| void | SetPosition (float x, float y) |
| Set position of widget in global window coordinates. More... | |
| void | GetCoords (float *x1, float *y1, float *x2, float *y2) const |
| Get the bounding coordinates of the widget. More... | |
| void | SetCoords (float x1, float y1, float x2, float y2) |
| Set the bounding coordinates of the widget. More... | |
| void | GetSize (float *width, float *height) const |
| Get the widget's size. More... | |
| void | SetSize (float width, float height) |
| Set the widget's size. More... | |
| Shape | GetShape () const |
| Get the shape. More... | |
| void | SetShape (Shape shape) |
| Set the shape. More... | |
| void | SetFillAlpha (float a) |
| Set fill alpha. More... | |
| void | SetLineAlpha (float a) |
| Set outline alpha. More... | |
| void | SetLineWidth (float width) |
| Set outline width. More... | |
| void | SetFillColor (float r, float g, float b, float a=1.0f) |
| Set fill color. More... | |
| void | SetLineColor (float r, float g, float b, float a=1.0f) |
| Set outline color. More... | |
| void | SetSelectedFillColor (float r, float g, float b, float a=1.0f) |
| Set selected fill color. More... | |
| void | SetSelectedLineColor (float r, float g, float b, float a=1.0f) |
| Set selected outline color. More... | |
| bool | IsMoveable () const |
| Is the widget moveable/draggable by the user? More... | |
| void | SetMoveable (bool moveable) |
| Toggle if the user can move/drag the widget. More... | |
| bool | IsResizeable () const |
| Is the widget resizeable by the user? More... | |
| void | SetResizeable (bool resizeable) |
| Toggle if the user can resize the widget. More... | |
| bool | IsSelected () const |
| Is the widget selected? More... | |
| void | SetSelected (bool selected) |
| Select/de-select the widget. More... | |
| bool | IsVisible () const |
| Is the widget visible. More... | |
| void | SetVisible (bool visible) |
| Show/hide the widget. More... | |
| void * | GetUserData () const |
| Retrieve user data. More... | |
| void | SetUserData (void *user) |
| Set user-defined data. More... | |
| glDisplay * | GetDisplay () const |
| Get the root window of the widget. More... | |
| int | GetIndex () const |
| Get the index of the widget in the window (or -1 if none) More... | |
| void | Render () |
| Render (automatically called by parent) More... | |
| void | GlobalToLocal (float x, float y, float *x_out, float *y_out) const |
| Convert from global window coordinates to local widget offset. More... | |
| void | LocalToGlobal (float x, float y, float *x_out, float *y_out) const |
| Convert from local widget offset to global window coordinates. More... | |
| void | AddEventHandler (glWidgetEventHandler callback, void *user=NULL) |
| Register an event message handler the widget will send events to. More... | |
| void | RemoveEventHandler (glWidgetEventHandler callback, void *user=NULL) |
| Remove an event message handler from being called by the widget. More... | |
| bool | OnEvent (uint16_t event, int a, int b, void *user) |
Protected Types | |
| enum | DragState { DragNone, DragMove, DragResizeN, DragResizeNW, DragResizeNE, DragResizeS, DragResizeSW, DragResizeSE, DragResizeW, DragResizeE } |
Protected Member Functions | |
| void | initDefaults () |
| void | setCursor (DragState cursor) |
| void | setDisplay (glDisplay *display) |
| void | dispatchEvent (uint16_t msg, int a, int b) |
| DragState | coordToBorder (float x, float y, float max_distance=10.0f) |
Protected Attributes | |
| float | mX |
| float | mY |
| float | mWidth |
| float | mHeight |
| float | mSelectedFillColor [4] |
| float | mSelectedLineColor [4] |
| float | mFillColor [4] |
| float | mLineColor [4] |
| float | mLineWidth |
| bool | mMoveable |
| bool | mResizeable |
| bool | mSelected |
| bool | mVisible |
| Shape | mShape |
| void * | mUserData |
| glDisplay * | mDisplay |
| DragState | mDragState |
| std::vector< eventHandler > | mEventHandlers |
Friends | |
| class | glDisplay |
OpenGL graphics widget for rendering moveable/resizable shapes.
| typedef bool(* glWidget::glWidgetEventHandler) (glWidget *widget, uint16_t event, int a, int b, void *user) |
Event message handler callback for recieving UI messages from widgets.
Recieves 4 parameters - the widget that sent the event, the event type, a & b message values (
Event message handlers should return true
if the message was handled, or false
if the message was skipped or not handled.
|
protected |
| enum glWidget::Shape |
|
virtual |
Destructor.
| void glWidget::AddEventHandler | ( | glWidgetEventHandler | callback, |
| void * | user = NULL |
||
| ) |
Register an event message handler the widget will send events to.
| callback | function pointer to the event message handler callback |
| user | optional user-specified pointer that will be passed to all invocations of this event handler (typically an object) |
| bool glWidget::Contains | ( | float | x, |
| float | y | ||
| ) | const |
Test if the point is inside the widget.
|
protected |
|
protected |
|
inline |
Get the bounding coordinates of the widget.
|
inline |
Get the root window of the widget.
| int glWidget::GetIndex | ( | ) | const |
Get the index of the widget in the window (or -1 if none)
|
inline |
Get position of widget in global window coordinates.
|
inline |
Get the shape.
|
inline |
Get the widget's size.
|
inline |
Retrieve user data.
| void glWidget::GlobalToLocal | ( | float | x, |
| float | y, | ||
| float * | x_out, | ||
| float * | y_out | ||
| ) | const |
Convert from global window coordinates to local widget offset.
|
inline |
Get the widget's height.
|
protected |
|
inline |
Is the widget moveable/draggable by the user?
|
inline |
Is the widget resizeable by the user?
|
inline |
Is the widget selected?
|
inline |
Is the widget visible.
| void glWidget::LocalToGlobal | ( | float | x, |
| float | y, | ||
| float * | x_out, | ||
| float * | y_out | ||
| ) | const |
Convert from local widget offset to global window coordinates.
|
inline |
Move the widget's position by the specified offset.
| bool glWidget::OnEvent | ( | uint16_t | event, |
| int | a, | ||
| int | b, | ||
| void * | user | ||
| ) |
| void glWidget::RemoveEventHandler | ( | glWidgetEventHandler | callback, |
| void * | user = NULL |
||
| ) |
Remove an event message handler from being called by the widget.
RemoveEventHandler() will search for previously registered event handlers that have the same function pointer and/or user pointer, and remove them for being called again in the future.
| void glWidget::Render | ( | ) |
Render (automatically called by parent)
|
inline |
Set the bounding coordinates of the widget.
|
protected |
|
protected |
|
inline |
Set fill alpha.
|
inline |
Set fill color.
|
inline |
Set the widget's height.
|
inline |
Set outline alpha.
|
inline |
Set outline color.
|
inline |
Set outline width.
|
inline |
Toggle if the user can move/drag the widget.
|
inline |
Set position of widget in global window coordinates.
|
inline |
Toggle if the user can resize the widget.
|
inline |
Select/de-select the widget.
|
inline |
Set selected fill color.
|
inline |
Set selected outline color.
|
inline |
Set the shape.
|
inline |
Set the widget's size.
|
inline |
Set user-defined data.
|
inline |
Show/hide the widget.
|
inline |
Set the widget's width.
|
inline |
Set the widget's X coordinate.
|
inline |
Set the widget's Y coordinate.
|
inline |
Get the widget's width.
|
inline |
Get the widget's X coordinate.
|
inline |
Get the widget's Y coordinate.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |


Security Requirements
Key Threat
LOADING...
Assurance Level
Base Level
Recommended Level
Enhanced Level


The green box and the red box have the same css except the green box is relative and the red box is absolute. Both have the bottom property set to 0px. The green box is part on the screen as part of the screen flow. The red box is put at the bottom of the screen. I then tried giving body a large height thinking that would cause the absolute box (red box) to drop below the screen bottom
I'm at the bottom.


{% load static %}
dicey9000 is a dice roll web app powered by Django that was originally designed as a Discord bot. Check out source code for this page at Github.
{{ roll_output|safe }}


This file is provided for manual testing. If there's a test failure, please report the user agent:
To start a test, click or tap it and scroll down to see the results. Functional tests may require manual interaction.


To include /* style comments in your comments, HTML-entity-ize the slash:
For example to render this:
/** Something for B @method something */
... you would write:
/**
Something for B
@method something
*/
... because we are HTML encoding the "/" as "/"
NOTE: It was super tricky to write this explaination, that's why the above is not in a code-block.


| Class | Description |
|---|---|
| Drawable2d |
Base class for stuff we like to draw.
|
| EglCore |
Core EGL state (display, context, config).
|
| EglSurfaceBase |
Common base class for EGL surfaces.
|
| FlatShadedProgram |
GL program and supporting functions for flat-shaded rendering.
|
| FullFrameRect |
This class essentially represents a viewport-sized sprite that will be rendered with
a texture, usually from an external source like the camera or video decoder.
|
| GlUtil |
Some OpenGL utility functions.
|
| OffscreenSurface |
Off-screen EGL surface (pbuffer).
|
| Sprite2d |
Base class for a 2d object.
|
| Texture2dProgram |
GL program and supporting functions for textured 2D shapes.
|
| WindowSurface |
Recordable EGL window surface.
|
| Enum | Description |
|---|---|
| Drawable2d.Prefab |
Enum values for constructor.
|
| Texture2dProgram.ProgramType |
© 2016 Wowza Media Systems, LLC. All rights reserved. Terms | Privacy | Trademarks | Legal


It is so easy to churn out numbered lists of things that the form has become one of the internet’s junk foods. And yet, my head is full of them, all those memories and facts, and if this blog has any purpose it is to vocalize the contents of that place. So, a compromise: I present a list, but keep the words to single sentences that avoid the necessary obvious elaboration so easy to produce.
Bjork
VIDEO
My favorite music video of all time - the energy and dissonance of the music brilliantly and simply captured in physical reality.
VIDEO
Tribal, psychedelic, beautiful, simple, silly - brilliant.
VIDEO
"It's like Karma Sutra meets Industrial Robotics" - unnervingly clean and dirty, perhaps too simple but clearly memorable.
LCD Soundsystem
VIDEO
Music videos have the potential to be short films that capture the spirit of the artist and the song, and this does both fantastically.
VIDEO
The choreographed moves of OK Go are fun, but how often have you seen choreographed chaos?
Radiohead
VIDEO
Probably my favorite work by Michael Gondry and one of my favorite uses of a single take -mind and reality and memories and the present and the future all at once like in nothing else.
VIDEO
The earliest music video I can remember going back to over and over and over again; it does the song justice, no easy feat.
VIDEO
Presumably because of the lighting, this being black and white just feels so purely right.
(House of Cards, Karma Police, Paranoid Android, Just, Wolf At the Door…)
Arcade Fire
VIDEO
Courtesy of Spike Jonze, another perfect music-video-short-film; just like the song, it manages to hit the same depths every time.
VIDEO
The best music-video-short-film I have seen, and the most emotionally resonant on this list.
David Lynch
VIDEO
For those who can find themselves utterly absorbed in the images of a projector when sitting in a dark room, unaware of the existence of the room or even themselves.
VIDEO
Not directed by Lynch but perfectly captures his wonderful strange-yet-clear surrealism.
Robyn
VIDEO
A lot of videos have fantastic dancing, but what they lack is this video's level of lighting and cinematography.
VIDEO
Need I say anything?
Сплин
VIDEO
A guy sitting cross-legged playing an acousting guitar surrounded by people in a gray room as it rains outside.
Высоцкий
VIDEO
Regardless of whether a different music video was possible, the plain minimalism is perfect for this song and artist.
원더걸스
VIDEO
Seriously, what a great concept for a music video.
The Shoes
VIDEO
Well done video, fantastic juxtaposition.
The Chemical Brothers
VIDEO
Mesmerizing.


Demos
Animation
Paint Tiles
Physics Chain
PHZR DEMO
Click on the demos to the left to see phzr in action


Page not found
We can't seem to find tbe page you're looking for. If you're sure you typed the URL correctly,
and you're positive the page used to be here before, please drop us a line - we'll try and
set things straight ASAP.
We can't seem to find tbe page you're looking for. If you're sure you typed the URL correctly, and you're positive the page used to be here before, please drop us a line - we'll try and set things straight ASAP.


Toggle navigation
Contact
Order
Images
Price
Type
Price
Custom Design
$20 per hour and a flat rate of $.65 per cm3
Existing STL File
$1.00 per cm3 for the first 5cm3 and $0.65 for every additional cm3
Order
Name
Email
Type
Existing STL File
Custom Design
Size
Description
Send
Reset
Copyright
2015
form3d


Hilary Duff confirms major character will return for Lizzie McGuire reboot
by Ciara WalshThis is what dreams are made of.
Disney+'s Lizzie McGuire has confirmed that a classic character is coming back for it.
Last August, Hilary Duff appeared at the Disney D23 Expo to announce a brand new sequel series of Lizzie McGuire, which will see her reunite with the show's creator Terri Minsky.
Now, Duff has announced Adam Lamberg will reprise his role as Gordo in the upcoming Lizzie McGuire reboot and our hearts can't take it.
The pair shared the news in a video posted to the official Disney Plus Twitter account, they captioned the post: "Reunited and it feels so Gordo!"
The actress opens the clip by introducing herself to viewers, "It's Hilary Duff here from the set of Lizzie McGuire.
 Obviously the show would not be the same without her family."
Hilary lists the names of those set to reprise their roles in the Disney Plus series.
Jake Thomas returns as her brother Matt, Hallie Todd is back as her mother Jo and Robert Carradine will also reprise his role as her dad Sam.
From behind the camera, we hear a voice shouting, Wait! Wait."  Gordo's back."
With some encouragement from his co-star Hilary he concludes, "This is what dreams are made of."
Hilary gushes over her co-star's character in a statement following the news of his reprisal.
"Gordo was an essential piece of the puzzle to what made the original Lizzie McGuire so authentic and beloved. I couldn't imagine the series without him. I can't wait for fans to see what's he's up to 15 years later and how he fits into Lizzie's adult world.
The show will follow now 30-year-old millennial Lizzie as she navigates life in the Big Apple.
While some things have changed others remain and animated Lizzie will return to offer her always hilarious commentary.
Filming has already begun on the new series.
Last week, Hilary teased a love interest is coming back for the Lizzie McGuire reboot.
One big question surrounding the reboot is her love life and who she ultimately ended up with, well Hilary gave a snippet of information while speaking to E! News, she said: "She is going to be coming across some challenges that the show is gonna serve up and a lot of what people want to see or the answers to questions they never got."
When asked about Lizzie's best friend Gordo, Hilary simply said she can't "give away too much". As for Ethan Craft, let's just Lizzie may still have some feelings.
"He is hot. He's very hot," She shared with E! News. "I'm pretty sure there's going to be, there's going to be a thing."
An air date for the new Lizzie McGuire series has yet to be confirmed, however, it will appear on Disney's new streaming service Disney Plus which launched in the States earlier this month.
Disney+ will officially launch in Ireland and the UK on March 31, 2020.


Star History
GitHub Star History
ADD
CLEAR
ADD2
CLEAR2
Rate Limit
- 1 request every 5 seconds. Once reached subsequent requests will result in error 429 (too many requests) until your quota is cleared.


| Master Image | Converted Image | Interjected Converted Image |
|---|---|---|
|
images/cc.png |
images/cc.xpm |
images/cc.xpm |
|
images/cc.png |
images/cc.xbm |
images/cc.xbm |
|
images/cc.png |
images/cc.tif |
images/cc.tif |
|
images/cc.png |
images/cc.bmp |
images/cc.bmp |


References
BC Ministry of Environment. 2011. Field Assessment for Determining Fish Passage Status of Closed Bottom Structures. Victoria, British Columbia: BC Ministry of Environment. https://www2.gov.bc.ca/assets/gov/environment/natural-resource-stewardship/land-based-investment/forests-for-tomorrow/field-assessment-for-determining-fish-passage-status-of-cbs.pdf.
Bell, M. C. 1991. “Fisheries Handbook of Engineering Requirements and Biological Criteria.” https://www.fs.fed.us/biology/nsaec/fishxing/fplibrary/Bell_1991_Fisheries_handbook_of_engineering_requirements_and.pdf.
Bramblett, Robert, Mason Bryant, Brenda Wright, and Robert White. 2002. “Seasonal Use of Small Tributary and Main-Stem Habitats by Juvenile Steelhead, Coho Salmon, and Dolly Varden in a Southeastern Alaska Drainage Basin.” Transactions of the American Fisheries Society 131: 498–506. https://doi.org/10.1577/1548-8659(2002)131<0498:SUOSTA>2.0.CO;2.
Clarkin, K, A Connor, M Furniss, B Gubernick, M Love, K Moynan, and S WilsonMusser. 2005. “National Inventory and Assessment Procedure for Identifying Barriers to Aquatic Organism Passage at Road-Stream Crossings.” United States Department of Agriculture, Forest Service, National Technology and Development Program. https://www.fs.fed.us/biology/nsaec/fishxing/publications/PDFs/NIAP.pdf.
Fish Passage Technical Working Group. 2014. “Fish Passage Strategic Approach: Protocl for Prioritizing Sites for Fish Passage Remediation.” https://www2.gov.bc.ca/assets/gov/environment/plants-animals-and-ecosystems/fish-fish-habitat/fish-passage/strategic20approach20july202014.pdf.
Masse Environmental Consultants Ltd. 2015. “Fish Habitat Confirmation Assessments â€“ East Kootenay Area Project PD15TFE010.”
MoE. 2020a. “Known BC Fish Observations and BC Fish Distributions.” Ministry of Environment and Climate Change Strategy - Knowledge Management. 2020. https://catalogue.data.gov.bc.ca/dataset/known-bc-fish-observations-and-bc-fish-distributions.
———. 2020b. “Stream Inventory Sample Sites.” Ministry of Environment and Climate Change Strategy - Knowledge Management. 2020. https://catalogue.data.gov.bc.ca/dataset/stream-inventory-sample-sites.
Saldi-Caromile, K, K Bates, P Skidmore, J Barenti, and D Pineo. 2004. “Stream Habitat Restoration Guidelines: Final Draft.” https://wdfw.wa.gov/sites/default/files/publications/00043/wdfw00043.pdf.
Slaney, P. A, Daiva O Zaldokas, and Watershed Restoration Program (B.C.). 1997. Fish Habitat Rehabilitation Procedures. Vancouver, B.C.: Watershed Restoration Program. https://www.for.gov.bc.ca/hfd/library/FFIP/Slaney_PA1997_A.pdf.
Swales, Stephen, and C. Levings. 1989. “Role of Off-Channel Ponds in the Life Cycle of Coho Salmon ( Oncorhynchus Kisutch ) and Other Juvenile Salmonids in the Coldwater River, British Columbia.” Canadian Journal of Fisheries and Aquatic Sciences - CAN J FISHERIES AQUAT SCI 46: 232–42. https://doi.org/10.1139/f89-032.
Thompson, Richard. 2013. “Assessing Fish Passage at Culverts â€“ the Method, Its Metrics and Preliminary Findings from over 4,000 Assessments.” https://www2.gov.bc.ca/assets/gov/environment/plants-animals-and-ecosystems/fish-fish-habitat/fish-passage/assessing_fish_passage_at_culverts.pdf.
VAST Resource Solutions Inc. 2013. “2012 Fish Passage Assessments in BCTS Kootenay Business Area (PD13TFE006).” http://a100.gov.bc.ca/appsdata/acat/documents/r43047/PD13TFE006_VAST_FinalReport_1405379598103_5374008940.pdf.


@(songs: List[Song], songBooks : List [SongBook], songBookId: String, user: UserAccount, songsModified : List[SongSuggestion], songsCreated : List[SongSuggestion])
@playlist_maker_wrapper = {
Playlist Maker
-
Select the Songbook or leave all songs as default
-
Click the Select songs button to choose songs
-
Click the Prepare Playlists button
-
Check the order of songs (you can transpose them or change order by drag and drop or with arrows)
-
Click the Download Playlist button
}
}
@admintheme("", user, songsModified, songsCreated)(playlist_maker_wrapper)


Choosing a target server is not required for your setup.
Choose the target server. The system and all instances will be
created on the selected server.
No system template variables.
{{ tpl.expandedName }}
No template variables.
This instance will not be applied.
Working on it...
You may now head back to the
Instance Browser
to start using the created instances, or inspect detailed
results below.
Applying was not fully successful. You can find details about
the problem(s) encountered below. Note that some instance may
still have been created successfully. Please make sure to create
the remaining instances manually.


Nu, pogodi!
A popular Soviet and Russian animated series. The basis of the cartoon is that the wolf chases the hare in the hope of eating it, but for various reasons he does not succeed. As a result, the hare always turns out to be the winner, and the wolf at the end of each series says: «Nu, Zayats, pogodi!».


ASPEN, Colo. -- A one-day lift ticket to Aspen during peak ski season will cost you $87 at the window, up $5 from last season.
That walk-up price tops the $85 Vail charged last season for single-day tickets and gives Aspen the title of priciest lift ticket -- at least for now.
Visitors who plan ahead and buy multi-day tickets can save.
For instance, Aspen Skiing Co. said it would offer seven-day passes allowing holders unrestricted access to Snowmass, Aspen Mountain, Aspen Highlands and Buttermilk throughout the season for $259 for adults or $199 for students. It must be purchased in person in Colorado at specific spots to be announced this fall.
Details at www.aspensnow mass.com. AP
Copyright 2007 Associated Press. All rights reserved. This material may not be published, broadcast, rewritten, or redistributed.


Psycho by Wallace Baine Santa Cruz Sentinel film writer
Alfred Hitchcock makes his obligatory cameo appearance in the original `Psycho' early on in the movie. From inside a storefront office, we see Hitchcock's unmistakable profile standing on the sidewalk outside, waiting for a cab perhaps, his face turned away. Gus Van Sant's absurdly obedient remake contains the same shot. But the difference is telling. Van Sant doesn't merely take Hitchcock's place, to wait for his own cab. Here, from the same office and from the same angle, we see two men instead of one: Gus Van Sant, facing us, chatting amiably with the same melon-shaped figure we briefly glanced the first time. There is a point at which admiration bleeds over into adoration and because Van Sant has so clearly crossed that line, Alfred Hitchcock is afforded a uniquely bizarre media-age tribute. His movies aren't being re-invented; they're being cloned. This new `Pyscho' is less a remake than the most hyped karoake act in history. Its only distinguishing feature is color film. Other than that, it's the same movie. Of course, Van Sant is making no apologies. Enlisting the help of Hitchcock's widow Pat, who appeared in the original, Van Sant worked from Joseph Stefano's 1960 script and, in fact, used freeze frames from Hitchcock's film to make his own. Stud film composer Danny Elfman pulled a similarly monkey-see-monkey-do act on Bernard Herrman's original screeching-violins score. The result is a film that draws attention to its anachronisms. Corny cinematic techniques common in the age of black-and-white -- echo-chamber interior dialogue, swirling, fake-looking backdrops -- are kept intact. Though Van Sant makes a point to make his story contemporary (the date in the opening shot is Dec. 11, 1998, 2:43 p.m.), there are certain aspects, namely the throwback wardrobes, that make the setting in time delightfully ambiguous. Is there, for example, in this day and age, an office in Phoenix, Arizona without air conditioning? The acting, however, is thoroughly contemporary. Anne Heche who plays the doomed Marion Crane is much more nuanced and world-weary than Janet Leigh in the original. In the film's first scene, when Marion is getting dressed in a by-the-hour hotel after a session of lovemaking with her lover Sam (Viggo Mortensen), she delivers the same line Leigh had done 40 years earlier: `I'll lick the stamps,' except that this time Sam in standing near the window nude and Heche's eyes slide daringly below his waist. I would have liked to see more of that kind of ironic script re-interpretation. But from that point on, the film mostly stays earnestly true to the original. Julianne Moore, who plays the Vera Miles role as Marion's worried sister, carries a distinct post-feminist aggressiveness which goes along fine with the Walkman headphones draped around her neck. But William H. Macy, in the Martin Balsam role of the private investigator, has the practiced look of a 1950s film-noir gumshoe. To those who have never seen the original `Psycho' -- and you have to believe that even a significant number of people who've come of age in the `Scream' generation have seen it on video -- Vince Vaughn might make a compelling Norman Bates. But in a film that all but begs comparison with the original, Vaughn pales next to Tony Perkins. The significance of Hitchcock's `Psycho' is that it was one of the first horror films to suggest that monsters can indeed hide in amiable, clean-cut, mother-loving nice guys. Perkins, with his Eddie Haskell grin and bright-eyed attentiveness, was the perfect embodiment of that idea. These days, however, such an image and the psychological theories of split personalities that underly it are old news, hardly shocking even to fourth-graders. We live in O.J.'s America, after all. Norman Bates can't surprise us anymore. Which is my problem with Vince Vaughn, a solid actor who for all his gifts can't mask the fact that he could be a wacko. We are much more skeptical as filmgoers these days to buy Vaughn as Bates. It would be more surprising if Vaughn's Bates turned out to be an innocent guy. Taken on its own merits, Van Sant's `Psycho' is a stylish, attractive remake. You can't quibble with a movie so tight in plot and characterization. But in context, watching this `Psycho' is a weird experience. To anyone familiar with Hitch's movie, it is nigh near impossible to lose yourself in the story of a young woman in trouble who meets a brutal end by a chance encounter at a seedy hotel. You won't be paying attention to the story of Marion Crane. You'll be paying attention to how Anne Heche is playing Marion Crane and that uses a different set of esthetic muscles. Gus Van Sant makes the assumption that most movie-goers watch films with the same corrupted technical eye of the would-be director. He does nothing to help us suspend that disbelief.
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


CloudFlare
Regions:
New York/San Francisco
| IP Address From | IP Address To |
|---|---|
| <IP_ADDRESS> | <IP_ADDRESS> |
| <IP_ADDRESS> | <IP_ADDRESS> |
| 2606:4700:: | 2606:4700:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF |
| <IP_ADDRESS> | <IP_ADDRESS> |
| <IP_ADDRESS> | <IP_ADDRESS> |
| <IP_ADDRESS> | <IP_ADDRESS> |
| <IP_ADDRESS> | <IP_ADDRESS> |
| <IP_ADDRESS> | <IP_ADDRESS> |


Starting Up
Using Github to implement Agile processes
Agile processes management is an iterative development methodology which revolves around version control and developing improvements through testing and trialling. Each sprint or version my program is tested and finished before creating a new file and coyping what has been done across. This allowed me to access previous versions wihtout having to undo any of my work. Github is a version control software which I have been using to store each version or sprint of my code. It has also provided me with basic Kanban boards which I have used to create and overall plan or my entire program as well as individual plans or each sprint. At the end of each sprint, I complete a git 'commit' which uploads the most recent version of my sprint onto Github.
Brief
For this project I would like to create a drawing page where a user is able to draw different coloured shapes depending on their preferences. I would also like to include some animation and a paintbrush feature if possible.
Project Backlog
Project Backlog Kanban
Sprint One
Aim:
The aim of my first sprint is to create a webpage with a canvas that is able to draw a rectangle by clicking and dragging the mouse and then releasing it.
Plan / Kanban
Planning
Link to the Canvas Page: Sprint 1 Canvas Webpage
Testing
Test 1
The first test I conducted was to ensure that the event listeners were picking up mouse events (such as mouse down, mouse up and mouse move). When testing the function of this code, I also had to make sure the mouse events were only being picked up inside the canvas, not any other place on the screen. I ensured this by writing code that returned the coordinates of the mouse as it was moving and if an event happened such as mouse up or down, it would print the feedback in the console.
Test 2
The second test was an overall test to check that everything that I planned for in sprint 1 was working. Here, you can see the mouse being clicked down, dragged and then released to draw a rectangle / square to the size of the users choice. The mouse is able to go into negative values without it having an effect on the final shape and the shape is then filled when the mouse is released. New rectangles overlap existing ones which in the future will enable users to create layered drawings, another asset to the canvas.
Reflect
This version I created a basic canvas. It functions properly as the user is able to click and drag the mouse, then release it to draw a rectangle. Although it is very basic, it has given me a solid base that I can now add different functions to, to create a semi-complex drawing canvas.
Sprint Two
Aim:
The aim of my second sprint was to create a dedicated drawing canvas within the webpage, separate from where all of the buttons and sliders will go, in order to make the canvas easier to use for the user. This sprint involves boundary checks and some thought into the colours and aesthetics of the page also.
Plan / Kanban
Option A
The first plan I came up with has a side bar with all of the options/functions on it. I think that with the side bar to the left, it keeps all of the buttons/options together but out of the way of the canvas so it is easy to distinguish between them. Putting it to the side also means that there is a blank canvas with nothing covering it and no distractions.
Outcome of option A
Option B
The second option I came up with was having a bar down the bottom of the page. Again, everything it out of the way of the canvas, it's just a slightly different setup. I drew inspiration from Google Docs as this application has a very handy top bar, however I did want to change it up so created it below the drawing instead.
Outcome of option B
Final choice
I decided to go with option A, because for me I think it looks cleaner. Having the bar underneath the drawing was a distraction and you weren't able to look at the image without seeing the bar. Having it to the side means that it can be 'put away' and the drawing canvas can be seen by itself. This adds to the aesthetic of the page, and overall gives the page a simpler and less complicated look.
Link to the Canvas Page: Sprint 2 Canvas Webpage
Testing
Boundary Testing
In this screen recording I am checking to see that the mouse / webpage / canvas is picking up boundaries. The boundaries I created were for the box on the screen, which will be similar to the 'drawing page' of the canvas (see above). The console returns either true or false when the mouse is either in or out of the boundaries it was given.
Test 1 with a random box for boundaries
Testing with my drawing area
Testing that true and false boundaries uphold when the user clicks and drags out of the boundaries
In this screen recording, I am testing to see if the boundaries check (returns true or false) still upholds when the user clicks and drags to instantiate a new rectangle. From this test I can see that a rectangle is being instantited even if the click and drag 'draw guide' is not showing up on the screen. This is a problem that needs to be fixed before I move on to the next version. However when the mouse is 'out of bounds' the draw guide is not showing up which means the boundaries are upholding and the user isn't able to draw outside of the canvas.
Testing the draw guide function when the mouse is in or out of bounds
In this screen test, I am testing to see if the draw guide function works only when inside of the boundaries. From this test I can see that if the mouse is clicked and dragged from inside the boundary then the rectangle outline is drawn however as soon as the mouse is dragged out of the 'drawing space' then the outline disappears. A problem that I encountered was when the mouse was clicked and dragged from outside the boundary (the drawing area), it didn't draw the 'draw guide' however as soon as the mouse was dragged inbounds, the draw guide did show up on the screen outside of the canvas. This means that the boundaries had been put in the wrong function and need to be in the mouse down function.
Testing the clip function
In this screen test, I am testing to see if the draw guide function works only when inside of the boundaries. From this test I can see that if the mouse is clicked and dragged from inside the boundary then the rectangle outline is drawn however as soon as the mouse is dragged out of the 'drawing space' then the outline disappears. A problem that I encountered was when the mouse was clicked and dragged from outside the boundary (the drawing area), it didn't draw the 'draw guide' however as soon as the mouse was dragged inbounds, the draw guide did show up on the screen outside of the canvas. This means that the boundaries had been put in the wrong function and need to be in the mouse down function.
Reflect
This version involved a lot of boundary testing which was important to ensure a functional programe in the future, like a future proofing sprint. Next sprint would like to add buttons in order to have another shape option. I am now starting to expand the program and its functions and tasks that it is able to complete, as I have now set up the basic layout and functionality of mouse actions etc.
Sprint Three
Aim:
The aim of this sprint is to create a button as an option to change the shape that is being drawn. Clicking the button means that when you click and drag the mouse, it will draw an elllipse instead of a rectangle.
Plan / Kanban
Link to the Canvas Page: Sprint 3 Canvas Webpage
Testing
Test 1
In this test I am checkign the boundaries of the buttons by console logging the inbounds check. Returning false means the mouse is out of bounds and true - inBounds. It is important to carry out these tests because I need to know that the mouse events are being picked up now so that in the future there are no problems.
Test 2
In this test, I am checking that everything is running functionally as I have completed all the steps in my sprint 3. One thing that I picked up in this test was that if I wanted to draw a shape on top of another I could, however I couldn't see how big I was drawing the new shape as the draw guide did not show up in front of the shape that was already there. This is a problem with the ordering of objects on the screen, something that I will look into next sprint. Something that is working well is that when selected the button is staying selected when the user is drawing their shape so that they know which shape they have selected and are drawing. This is clear communication to the user of what the program is doing.
Reflect
In this sprint, I added a major component to the canvas. Buttons will be used from here forward for any other functions that I add to the canvas. It was important that I tested the buttons to check if the boundaries were working and being picked up by the mouse. This will hopefully erase any futher problems in the future and allow for easy building to the web canvas. Next sprint I would like to add in some colour management, which will also include buttons and try to create a gradient slider.
Sprint Four
Aim:
The aim of this sprint is to introduce colour management into the canvas. This will enable the user to pick and choose colours for their shapes, a simple but useful function of the drawing page.
Plan / Kanban
Link to the Canvas Page: Sprint 4 Canvas Webpage
My Options
When planning the colour management for my sprint there were a number of different ways I could implement colour management into my canvas webpage. One of these ways was to have colours in a grid but have a seperate gradient slider to control the gradient of the colour. I decided against this because it would have taken up too much of my time and the gradient of each colour can be more easily implemented through a whole swatch palette. One thing to consider is that to the user, the colours look lighter but it is not clear how transparent the colour is. An option around this would to label the swatches by row, however I have also opted against this as it would ruin the simplistic design of the page, and is something that users can work out on their own wihtout causing too much harm or stress.
Here is my swatch and gradient slider combo plan:
Testing
Test 1 - Testing two swatches
First I created two swatches to test the function of them. I tested using boundary checks by increasing the line width of the ouside when hovered on. I also tested using the colour swatches to change the colour of the shape being drawn. Something that I learned from these tests was that the new shape is always drawn in front of what ever is on the canvas. I like that this is happening because I think that it makes more sense for the user when they are creating new shapes. One thing that I could do to improve this in the future is for the shape to be able to change when it has already been drawn. At the moment the colour must be chosen first before drawing the shape and once that happens it cannot change. I would do this by setting a creating a static variable and when clicked is selected so the colour can change. However this is not high on my priority list so I will wait to try this near the end. Another thing I have come up with to add to my project backlog would be to be able to select shapes and move them around the screen. This is also not a high priority so can be thought about later.
Test 2 - final testing
An error that I came across while testing is that my swatches weren't showing up when I tried to run them through a loop. I decided to run a console log "console.log("colArray")" to check and see if my list of colours was working and I found out that it wasn't recognising the list as colour values and that's why the swatches weren't printing on the screen. However I fixed this issue by cleaning up my code. This was my final test and everything was working properly.
Reflect
Colour management is a fundamental part of my canvas webpage and it's important that I have completed it. From here I can now build on other functions of the canvas such as more shapes or a paintbrush function.
Sprint Five
Aim:
The aim of this sprint is to add more shapes to the canvas. It is meant to be a simple sprint to give the canvas more bulk. I want to add a star and a circle function as extra shapes.
Plan / Kanban
Link to the Canvas Page: Sprint 5 Canvas Webpage
Circle vs Ellipse:
All the same except for xR and yR for a circle are the same.
Testing
Testing the star function
When I first tested the star function, it came up with many errors as seen on the right. If the draw guide was more of a square shape, then the star ended up being a circle shape with a fringed edge, but if the draw guide was a wide rectangle it gave more of a multi point star, which actually looked quite cool however it wasn’t working how it was meant to. And lastly when the draw guide was a longer rectangle (h>w) it created a circle with a hole in the middle. After lots of fiddling around I found the source of the problem for the number of points - the function was using h to determine the number of points so when h was bigger than w, there would be many point on the big radius as well as the smaller r and that’s why there is a circle in the middle as well. From this I have learnt that the number of outside points a star has will also determine the number of inside points, and if there are lots it will look like a hole in the centre instead of the centre of a star.
Reflect
In this sprint, I had some trouble with creating a working star class, however after fixing and changing a couple of things I got it working again how I wanted it to. Creating the circle class was quite simple as I just had to create a class where the ellipse had the same size radius for both the x and the y axis. I have decided to move on to creating a paint bursh feature next sprint and will add the final shapes - polygon and line functions, in another sprint.
Sprint Six
Aim:
The aim of this sprint is to introduce a paintbrush function to my canvas. This will allow the user to click and drag to draw wherever the mouse goes on the screen.
Plan / Kanban
Link to the Canvas Page: Sprint 6 Canvas Webpage
Pythagoras Boundary Check:
Original bounds check vs Pythagoras bounds check
inBoundsCheck(xM, yM, x, y, w, h){
if( xM > x && xM < x+w && yM > y && yM < y+h){
return true;
}else{
return false;
}
// -------------------------------------------------
// Pythagoras Distance check
// @ param x,y, positions of the mouse and of
// point circle and radius of point circle (number)
// @ return boolean
inBoundsCheck(xM, yM, x, y, r){
var d = Math.sqrt( Math.pow(xM-x, 2) +
Math.pow(yM-y, 2));
if(d < r){
return true;
}else{
return false;
}
}
inBoundsCheck(xM, yM, x, y, w, h){
if( xM > x && xM < x+w && yM > y && yM < y+h){
return true;
}else{
return false;
}
// -------------------------------------------------
// Pythagoras Distance check
// @ param x,y, positions of the mouse and of
// point circle and radius of point circle (number)
// @ return boolean
inBoundsCheck(xM, yM, x, y, r){
var d = Math.sqrt( Math.pow(xM-x, 2) +
Math.pow(yM-y, 2));
if(d < r){
return true;
}else{
return false;
}
}
Pythagoras Distance Check for Circle Buttons
For the buttons that control the size of the brush for the paintbrush function, I decided to use circles to indicate the width of the brush. To do this I had to create a different button class which was shaped as a circle. The difference between this and a normal button first of all is the shape but because this was different I also had to update the boundaries of the button so that the mouse event listeners would pick up the boundaries more accurately. For this I had to use a pythagoras distance check which measures how far away the mouse is compared to the radius of the circle. On the right at the top is the normal bounds check for the rectangle buttons and on the bottom is the new pythagoras boundary check for the circle buttons
Testing
Testing the different brush sizes
After creating three different circle buttons to control the size of the 'brush', I decided to test them to see if they were working properly. When doing this I discovered that when another brush size was selected and used, that it drew both the new one and the previous brush size and colour. This issue came up because when another brush was selected, the previous brush wasn't being deselected or it didn't realise that the mouseUp meant the function was finished. To fix this I implemented a new part to the class which had a variable that controlled the selection of each button with true or false.
Frame updates
One thing that I noticed when I was creating my paintbrush function, is that if the mouse moves swiftly across the screen the brush appears broken as it shows circles instead of a line. This is because the screen updates at 40 frames per second so if the mouse moves faster than that, then not as many circles are drawn, so the line appears broken. I tried to fix this however I am unable to change the frame update speed as it depends on which browser is being used so this is something that will have to stay in program.
Reflect
The paintbrush feature was quite low down on my project backlog so I am glad I have been able to create it. After creating a new circle button, new inbounds check for the circle button and a deselection function, thorough testing was carried out and my paint brush feature now works properly.
Sprint Seven
Aim:
The aim of this sprint is to create a polygon shape and be able to change thet number of sides the polygon has. I would also like to add in a draw line option where the user can choose the width of the line.
Plan / Kanban
Link to the Canvas Page: Sprint 7 Canvas Webpage
My Options
When designing the polygon function for my canvas webpage, I decided to spice it up a little so I considered adding a slider to control the number of sides of the polygon. However, due to not understanding how the canvas would pick up the chosen option on the slider and also the design of the slider class itself, I decided to go with buttons which have the number of sides on them. I thought this would be easier for the user to understand which option they were choosing and also for the canvas to understand which polygon to draw, determined by the name of the selected button. If I am going to choose to complete option 2, I will also need to design a text class as if I created a button for 'Polygon', it would be useless because the user would still have to select a second button for the number of sides, so to simplify I can have text above the buttons explaining what they mean without having a useless button.
Slider vs Button option plan:
Testing
Testing the polygon and line function
Here I am testing both the line function and the polygon. All of the shapes / widths of the lines change when the button is clicked which means it is working properly however if I choose a line width for the line, it changes the width of the draw guide box as well. When I went through my code I found that the code I had used to set the width of the draw guide was not a proper java script function and that I had ctx.linewidth in stead of ctx.lineWidth with a capital W. When I changed this, the draw guide started working properly again.
Reflect
My canvas now has many different working functions so is near the end of completion. In this sprint I had to create a text class because I needed to show that a polygon could be made not just have buttons with numbers on them otherwise the uuser wouldn't understand. This problem was easy to fix and I also used the text class for the paintbrush and line functions. Next sprint I will add some final touches to my canvas and then it will be finished!
Sprint Eight
Aim:
The aim of this sprint is to add some final touches to my canvas. This will include an animated rotating star, undo and restart options and an update to the draw guide class.
Plan / Kanban
Link to the Canvas Page: Sprint 8 Canvas Webpage
Testing
Testing the undo, and restart buttons
When I first tested these buttons both the undo and the restart button cleared the whole canvas so the undo button clearly was not working. However the difference between the two was that the restart button cleared all of the objects at once, but the undo button cleared them one by one just very quickly. To see what was hapenning I console logged the object set to see how each object was disappearing and this confirmed my suspicions. Each object was being removed one by one because there was nothing stopping the button from being unselected. To change this I added Button.selected=""; to the end of each button function (undo and restart) to de select the button. When I tested it again everything worked and the undo button only removed the last object in the object set.
Testing the pinwheel and draw guide update
Here I am testing the pinwheel and the updated draw guide. The first time I tested the pinwheel, I couldn't manage to get it to turn, instead the rotate code managed to draw the stars on the radius of a circle. This meant that the rotation code wasn't quite working. To fix this, I had to add a counter to the update part of the function and for every count it went up, the star rotated. I am able to change the rotating speed by dividing it to make it smaller, which gave me more control of what the user was drawing. As seen in the test, the draw guide turns green when it makes a square (x=y). This is helpful for the user as there is no square button, but instead a rectangle object can be made with the same length sides.
Reflect
Completing these last few tasks means that I have finished my program. I am very happy with how it turned out and I even got to add in features from my project backlog which I didn't think would happen. Overall, the functions of my canvas all work and with some user tests, I have seen how others would also interact with it.
Relevant Implications
Usability
Usability is how understandable and easy to use the program is, to someone who has never used it before, ie. a customer. A user should be able to recognise, diagnose and recover from errors without it disrupting the flow of the program, however even better, the application should be able to fix minor errors without the user knowing. When creating my webpage, it was really important for me that I designed it so that users could understand the tasks with ease. For me this included having large buttons with clear text, bright colours for the drawing guide and a clean simple background so that the user could focus primarily on their creation. When a button or shape is hovered on or selected, it becomes bold, showing the user what they have selected, making it easier for the user to see what they have selected. The undo and redo buttons were a crucial part of the usability of the the webpage, enabling the user to have control over what they are creating by being able to remove an object from the screen or completly start over, so it was important that they were bold and clear.
Functionality
The relevant implication, functionality, is about making sure the canvas works correctly without interfering with the users experience. This means that it doesn't crash or stop working and that all of the button tasks function correctly. To adress this relevant implication, I have broken the project into sprints in order to check that everything works before creating and implementing a new function for the webpage. For each sprint I carried out thorough testing to examen the functionality of each new attribute to the canvas. This included boundary testing for different objects including the control object, the drawing canvas area and each button on the screen whether it was a circle or rectangle shape as well as testing drawing different shapes and seeing that they worked properly. To help find problems in the code I used the console.log("") function to check if new objects were being instantiated or if a list was running through a loop properly. To stop the program from crashing I have used Math.abs for variables such as mouse position or length of sides so that any negative values become positive and the program can use them to draw shapes.
Future Proofing
Future proofing is making the code accessible to yourself and others to edit, change and update in the future. If someone else was to come and takeover the program, they should be able to efficiently work out how the program works, determine the purpose of each function and understand the javascript. To address this implication, I have gone through and commented the code. This means I have added clear comments in simple english instead of coding 'lingo' throughout the different files to help the user understand what is going on. This included explanations for required parameters and functions of different commands such as mouseUp and mouseDown. In the future if I was to go back to the code or someone else was to open it up, they would understand what is happening so that it can easily be updated or changed. This code is also based around creating new objects each time a new function is added, meaning that someone can go in and create new objects without disturbing the rest of the code, making it easier to update or improve.
Overall reflection
Overall I think I have created a canvas webpage that works functionally and is user friendly. Using github has allowed me to control and keep up to date each sprint or version of my code. This method of project management worked well for me because I was able to see the work I had completed and which helped break down a big process into smaller bits, making it easier to handle and feel accomplished. Using Agile meant that each individual sprint was specific to a function and an idea in the overall program. Working idea by idea helped me to develop a program that was user friendly and I knew would work because of the testing that had been completed. Testing was a really important part of this proccess because it meant that I could fix problems at their root and make sure everything worked before adding moving on to making another function or attribute to the canvas. This stopped any major problems popping up and meant that by the time the canvas was finished it was working fucntionally with no errors or crashes. Next time I complete a project like this, I want to create user stories to get a better understanding of what a user would want to use or have available on the canvas. If I were to complete this task again, I would create some questionaires or quizzes for people who would use this to try and make it similar to their feedback. I would also collect general feedback after each version from someone who didn't know the project very so that I could create a program which is user friendly and giving users what they want.


Press n or j to go to the next uncovered block, b, p or k for the previous block.
| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| AxiosSugar.ts |
|
75.27% | 70/93 | 50% | 15/30 | 58.33% | 14/24 | 76.14% | 67/88 |
| AxiosSugarInterceptorManager.ts |
|
85.71% | 12/14 | 25% | 1/4 | 83.33% | 5/6 | 84.62% | 11/13 |
| HttpStatusProcessor.ts |
|
45.12% | 37/82 | 31.37% | 16/51 | 61.54% | 8/13 | 44.3% | 35/79 |
| MiddleData.ts |
|
42.86% | 3/7 | 0% | 0/2 | 0% | 0/1 | 42.86% | 3/7 |
| dispatchRequest.ts |
|
93.55% | 29/31 | 60% | 6/10 | 100% | 5/5 | 93.1% | 27/29 |
| initInterceptors.ts |
|
85.71% | 24/28 | 77.27% | 17/22 | 80% | 4/5 | 85.71% | 24/28 |
| mergeConfig.ts |
|
100% | 7/7 | 100% | 4/4 | 100% | 1/1 | 100% | 7/7 |
| normalizeHttpStatusProcessorResult.ts |
|
87.5% | 28/32 | 70% | 14/20 | 85.71% | 6/7 | 87.1% | 27/31 |
| repeat.ts |
|
85.45% | 47/55 | 81.48% | 22/27 | 88.89% | 8/9 | 85.45% | 47/55 |
| retry.ts |
|
11.76% | 2/17 | 0% | 0/10 | 0% | 0/3 | 11.76% | 2/17 |
| storage.ts |
|
94.12% | 16/17 | 62.5% | 5/8 | 100% | 2/2 | 94.12% | 16/17 |
| utils.ts |
|
77.5% | 31/40 | 0% | 0/7 | 55.56% | 10/18 | 78.38% | 29/37 |


CSCI E-15 Dynamic Web Applications
Project 1 for CSCI E-15 Dynamic Web Applications.
About My Self!
Hello I am a new version!
Picture Coming Soon!
My son


This script will be run prior to sending the email to allow
modifying the email before sending. The MimeMessage variable
is "msg," the build is available as "build", a logger
is available as "logger". The trigger that caused the email
is available as "trigger" and all triggered builds are available
as a map "triggered."
You may also cancel sending the email by setting the boolean
variable "cancel" to true.
You can set the default pre-send script here and then use
${DEFAULT_PRESEND_SCRIPT} in the project settings to use
the script written here.


Team Fortress 2 Data Scanner
Average DPM of damage-outputting classes in the highest divisions of all leagues
Scout
Soldier
Pyro
Demoman
Heavy
Engineer
Sniper
Spy
Submit
{% if data|length != 0 %}
League
Average DPM
{% for n in data %}
{{n.league}}
{{(n.val|float)|round(2,'common')}}
{% endfor %}
{% endif %}
Back to index


Contents
function x=backsub(A) % This function performs back substitution on an upper triangular matrix that has % been modified by concatenating the RHS of the system. % Note that B is assumed to be upper triangular at this point. n=size(A,1); %number of unknowns in the system x=zeros(n,1); %space in which to store our solution vector x(n)=A(n,n+1)/A(n,n); %finalized solution for last variable, resulting from upper triangular conversion for ir1=n-1:-1:1 x(ir1)=A(ir1,n+1); %assume we're only dealing with a single right-hand side here. fact=A(ir1,ir1); %diagonal element to be divided through doing subs for the ir2 row for ic=ir1+1:n x(ir1)=x(ir1)-A(ir1,ic)*x(ic); end %for x(ir1)=x(ir1)/fact; %divide once at the end to minimize number of ops end %for end %function %Doolittle LU Factorization function [L,U] = DLUfactor(A) %SForwardElim Simple Forward Elimination % This function performs a simple forward elimination on a given square % matrix and its RHS % % A= LHS matrix % b= RHS matrix % c= 0 if matrix needs to be catenated, and 1 if matrix is already catenated. %The code used to write this function was written by Dr. Zettergen. Find it %at https://github.com/Zettergren-Courses/EP501_matlab/blob/master/linear_algebra/simple_elim_example.m nref=length(A); %size of system L=zeros(nref); L=eye(nref,nref); for ir1=2:nref %loop over rows from 2 to n performing elimination, this index marks what row we are starting the elimination from (i.e. using) for this particular column for ir2=ir1:nref %this index marks the present position where elimination is being performed - i.e. where we are applying the elementary row operations fact=A(ir2,ir1-1); %multiplier of the variable we are attempting to eliminate, its ir-1 column of this row A(ir2,:)=A(ir2,:)-fact/A(ir1-1,ir1-1).*A(ir1-1,:); %subtract off previous row modified by a factor that eliminates the ir-1 column term in this row (so it has only super-diagonal elements) L(ir2,ir1-1)=fact/A(ir1-1,ir1-1); end %for end %for U=A; end %function function fval=fRK(t,y,alpha) fval=-alpha*y; end %function function [Amod,ord]=Gauss_elim(A,b,verbose) % [Amod,ord]=Gauss_elim(A,b,verbose) % % This function perform elimination with partial pivoting and scaling as % described in Section 1.3.2 in the Hoffman textbook (viz. it does Gaussian % elimination). Note that the ordering which preserves upper triangularity % is stored in the ord output variable, such that the upper triangular output % is given by row-permuted matrix Amod(ord,:). The verbose flag can be set to % true or false (or omitted, default=false) in order to print out what the algirthm % is doing for each elimination step. %Parse the inputs, throw an error if something is obviously wrong with input data narginchk(2,3); if (nargin<3) verbose=false; end %if %Need to error check for square input. %Allocation of space and setup Amod=cat(2,A,b); %make a copy of A and modify with RHS of system n=size(A,1); %number of unknowns ord=(1:n)'; %ord is a mapping from input row being operated upon to the actual row that represents in the matrix ordering %Elimination with scaled, partial pivoting for matrix Amod; note all row %indices must be screen through ord mapping. for ir1=1:n-1 if (verbose) disp('Starting Gauss elimination from row: '); disp(ir1); disp('Current state of matrix: '); disp(Amod(ord,:)); end %if %check scaled pivot elements to see if reordering should be done pivmax=0; ipivmax=ir1; %max pivot element should never be higher than my current position for ipiv=ir1:n %look only below my current position in the matrix pivcurr=abs(Amod(ord(ipiv),ir1))/max(abs(Amod(ord(ipiv),:))); %note that columns never get reordered... if (pivcurr>pivmax) pivmax=pivcurr; ipivmax=ipiv; %this stores the index into ord for row having largest pivot element end %if end %for %reorder if situation calls for it if (ipivmax ~= ir1) itmp=ord(ir1); ord(ir1)=ord(ipivmax); ord(ipivmax)=itmp; if (verbose) disp('Interchanging rows: '); disp(itmp); disp(' and: '); disp(ord(ir1)); disp('Current matrix state after interchange: '); disp(Amod(ord,:)); end %if end %if %perform the elimination for this row, former references to ir1 are now %mapped through the ord array for ir2=ir1+1:n fact=Amod(ord(ir2),ir1); Amod(ord(ir2),ir1:n+1)=Amod(ord(ir2),ir1:n+1)-fact/Amod(ord(ir1),ir1).*Amod(ord(ir1),ir1:n+1); %only need columns ahead of where we are in matrix end %for if (verbose) disp('Following elimination for row: '); disp(ir1); disp(' matrix state: '); disp(Amod(ord,:)); end %if end %for end %function function x = LTriForwardSub(A,b) % This function performs a forward elimination on a lower triangular % matrix and its RHS % % A= LHS matrix % b= RHS matrix %The code used to write this function was written by Dr. Zettergen. Find it %at https://github.com/Zettergren-Courses/EP501_matlab/blob/master/linear_algebra/simple_elim_example.m nref=length(b); %size of system Awork=cat(2,A,b); %Catenating A and B matrices x=zeros(nref,1); x(1)= Awork(1,nref+1)/Awork(1,1); %Finalised Solution for the first variable for ir=2:nref fact=Awork(ir,ir); %diagonal element x(ir)=Awork(ir,nref+1); %Assuming we're only dealing with 1 RHS for ic=1:ir-1 x(ir)=x(ir)-(Awork(ir,ic)*x(ic)); end %for x(ir) = x(ir)/fact; %Solution of respective variable end %for end %function function [root,it,success]=newton_exact(f,fprime,x0,maxit,tol,verbose)
% root=newton_exact(f,fprime) % % finds a set of roots corresponding to the function f (input as a handle) % given a function which computes the derivative
Error checking of input and setting of default values
narginchk(3,6); %check for correct number of inputs to function if (nargin<4) maxit=100; %maximum number of iterations allowed end %if if (nargin<5) tol=1e-6; %how close to zero we need to get to cease iterations end %if if (nargin<6) verbose=false; end %if
Make sure we don't start at an inflection point with zero derivative
if (abs(fprime(x0))<tol) warning(' Attempting to start Newton iterations near an inflection point, you may wish to restart with a different guess...'); x0=x0+1; %bump the guess a ways off of initial value to see if we can get anything sensible end %if
Newton iterations
it=1; root=x0; fval=f(root); converged=false; while(~converged && it<=maxit) derivative=fprime(root); if (abs(derivative)<100*tol) %this (inflection point) will end up kicking the root really far away... converged=false; warning(' Derivative close to zero, terminating iterations with failed convergence... '); break; else root=root-fval./derivative; % update root estimate fval=f(root); % see how far off we are from zero... if (verbose) fprintf(' iteration: %d; root: %f + %f i; function value: %f, derivative: %f \n',it,real(root),imag(root),fval,derivative); end %if it=it+1; converged=abs(fval)<tol; end %if end %while it=it-1; if (~converged) warning('Used max number of iterations, or derivative near zero...') success=false; else success=true; end %if
end %function function y=objfun1(x) y=(32/3)*x.^4-(32/3)*x.^3+(8)*x.^2-4*x; end %function function y=objfun2(x) y=(32/3)*x.^4-(32/3)*x.^3+(8)*x.^2-4*x+2; end %function function y=objgradfun1(x) y=(128/3)*x.^3-(32)*x.^2+(32)*x-4; end %function
Not enough input arguments. Error in Functions_Final (line 8) n=size(A,1); %number of unknowns in the system


Rent-A-Car
Home
Vehicle View
Location
Log In
Sign Up
caption
Prev
Next
About Us
Staff
Contact
Policy
FAQ
Account Management
Find Your Vehicle
Way Of Payment


Package com.neven.ticTacToeGame.model
Class Game
- java.lang.Object
-
- com.neven.ticTacToeGame.model.Game
-
- Direct Known Subclasses:
PlayerVsAlgorithmGame
,PlayerVsPlayerGame
,PlayerVsRandomGame
public abstract class Game extends java.lang.Object
ClassGame
is an abstract class which contain main logic for the games. All child classes should realize 2 abstract methods(makeFirstMove()
,makeMove()
), realization of this methods should be depended on type of the current game in which this method is implemented.Main logical method of the games is
winningCheckAndMakingMove(int)
- Author:
- Arterm Koliushko, https://www.linkedin.com/in/artem-koliushko/
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.Integer,java.lang.String>
cells
Field withMap<Integer, String>
value, is theHashMap
which contain game field cells.
Firs param "Integer
" - is the number of game field (proper values 1-9).private java.lang.String
currentPlayer
Field which containString
value of the current user.
Has access level "PROTECTED" for setter.private boolean
draw
Field which containBoolean
value is the game is finished and game has no winner.private java.lang.String
emptyCell
Field with a name of the empty cell on the game field which uses to fill the game field and checking draws and making moves.private boolean
incorrectMove
Field which containBoolean
value is the move made by user is incorrect.private java.lang.String
player1
Field with a name of the player(always user) which uses to fill the game field and checking wins.private boolean
player1win
Field which containBoolean
value is the user is win.
Default value "false".private java.lang.String
player2
Field with a name of the player, depend on type of the game and initialized in constructor, which uses to fill the game field and checking wins.private boolean
player2win
Field which containBoolean
value is the player 2 is win.
Default value "false".
-
Constructor Summary
Constructors Constructor Description Game(java.lang.String player_2)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private boolean
isItDraw()
protected boolean
isPlayerWin(@NotNull java.lang.String player)
The method check is the user with name incoming as the parameter of the method has complete the line(in classic Tic Tac Toe game has 8 different lines, each of that lines consist from 3 game field cells).abstract Game
makeFirstMove()
The abstract method should consist the logic how exactly the extendedGame
should make first move.protected abstract void
makeMove()
The abstract method should consist the logic how exactly the extendedGame
should make move.private void
setWinner()
The method set current user as a winner.protected void
switchCurrentPlayer()
The method is switch the current player.Game
winningCheckAndMakingMove(int cellNumber)
This method is the main logical method of the game.
-
-
-
Field Detail
-
player1
private final java.lang.String player1
Field with a name of the player(always user) which uses to fill the game field and checking wins.- See Also:
- Constant Field Values
-
player2
private final java.lang.String player2
Field with a name of the player, depend on type of the game and initialized in constructor, which uses to fill the game field and checking wins.
-
emptyCell
private final java.lang.String emptyCell
Field with a name of the empty cell on the game field which uses to fill the game field and checking draws and making moves.- See Also:
- Constant Field Values
-
currentPlayer
private java.lang.String currentPlayer
Field which containString
value of the current user.
Has access level "PROTECTED" for setter.
-
player1win
private boolean player1win
Field which containBoolean
value is the user is win.
Default value "false".
Has access level "PROTECTED" for setter.
-
player2win
private boolean player2win
Field which containBoolean
value is the player 2 is win.
Default value "false".
Has access level "PROTECTED" for setter.
-
draw
private boolean draw
Field which containBoolean
value is the game is finished and game has no winner.
Default value "false".
Has access level "PROTECTED" for setter.
-
incorrectMove
private boolean incorrectMove
Field which containBoolean
value is the move made by user is incorrect.
Default value "false".
Has access level "PROTECTED" for setter.
-
cells
private java.util.Map<java.lang.Integer,java.lang.String> cells
Field withMap<Integer, String>
value, is theHashMap
which contain game field cells.
Firs param "Integer
" - is the number of game field (proper values 1-9).
Second param "String
" - this is param which contain an information about value of game field (proper valuesplayer1
,player2
,emptyCell
)
Has access level "PRIVATE" for setter.
-
-
Constructor Detail
-
Game
public Game(java.lang.String player_2)
Constructor for classGame
.
Constructor initializedplayer2
field by incoming param,currentPlayer
field byplayer1
value andcells
by filling all game filed withemptyCell
- Parameters:
player_2
-String
value of the second player(first always user) which depend on type of the created game.
-
-
Method Detail
-
winningCheckAndMakingMove
public Game winningCheckAndMakingMove(int cellNumber)
This method is the main logical method of the game.
The method is accept incoming param(user move) and check if this game field cell is empty:
-If No,incorrectMove
will be set to "true" and game will be returned.
-If Yes, sell will be filled by the current user.
Then method will callisPlayerWin(String currentPlayer)
method for check is user does win:
-If Yes, current user will be set as winner and game will be returned.
Then method will callisItDraw()
method to check did the user move was the last empty game field in this game:
-If Yes,draw
will be set to "true" and game will be returned.
Then method depend no type of the game will:
-If game type isPlayerVsRandomGame
, methodswitchCurrentPlayer()
will be called and game will be returned.
-In all another cases current user will be switched(switchCurrentPlayer()
) and game will make a move(makeMove()
), then methodsisPlayerWin(String currentPlayer)
andisItDraw()
will call(if any of this methods will return "true" value, result of the game will be set and game will be returned), then current user will be switched(switchCurrentPlayer()
) again and game will be returned.- Parameters:
cellNumber
-Integer
value(acceptable 1-9) which contain a number of the game field cell where the user want to make a move.- Returns:
Game
with a user move and second player move(second player depend on type of the game). If the game will be finished, returnedGame
also will contain the result of the game.
-
switchCurrentPlayer
protected void switchCurrentPlayer()
The method is switch the current player. Changing depends oncurrentPlayer
, ifcurrentPlayer
equals toplayer1
the method setcurrentPlayer
asplayer2
, and ifcurrentPlayer
equals toplayer2
the method setcurrentPlayer
asplayer1
-
isPlayerWin
protected boolean isPlayerWin(@NotNull @NotNull java.lang.String player)
The method check is the user with name incoming as the parameter of the method has complete the line(in classic Tic Tac Toe game has 8 different lines, each of that lines consist from 3 game field cells). Teh method set for each lineBoolean
result if the each cell of this line is equals to user with name incoming as the parameter of the method, then returned all the results.- Parameters:
player
-String
value of the name of the user, to check is this user is win.- Returns:
Boolean
value is the user with name incoming as the parameter of the method has complete any of 8 possible lines to win.
-
setWinner
private void setWinner()
The method set current user as a winner.
-
makeFirstMove
public abstract Game makeFirstMove()
-
makeMove
protected abstract void makeMove()
The abstract method should consist the logic how exactly the extendedGame
should make move.
Logically move should be made byplayer2
and the result of the method should an empty cell on game field filled byplayer2
.
!!! Not for Player versus Player games likePlayerVsPlayerGame
, logically in this case the method should just call theswitchCurrentPlayer()
method.
-
-