Arsenal star apologises to Unai Emery after Spaniard is sacked as Gunners manager
Unai Emery was sacked as Arsenal manager after the Gunners' 2-1 defeat to Eintracht Frankfurt in the Europa League on Thursday night
by Alex SmithArsenal goalkeeper Emiliano Martinez has sent an apology to Unai Emery on behalf of the Gunners players following the Spaniard's sacking.
Former Paris Saint-Germain manager Emery was dismissed by the north London club on Friday morning after a run of seven matches without a win.
A 2-1 defeat to Eintracht Frankfurt in the Europa League on Thursday night, which saw fans boo the side off the pitch, was the final straw for Arsenal chiefs - who wielded the axe around 12 hours after the final whistle.
Martinez was in goal for the defeat, his seventh appearance of the season.
And the 27-year-old took to social media to say sorry to his ex-boss, and keeper coach Javi Garcia, and took part of the blame for the situation.
Martinez said: "Thank you @UnaiEmery_ and Javi I’m sorry we let you down, it’s our fault for not performing the right way , I’m sure we will meet again."
Despite being the first current Arsenal player to post a message, Martinez liked a post on Instagram last week which called for Emery to be sacked.
Former Arsenal players John Hartson and Fabrice Muamba also took to social media to react to the sacking.
Hartson posted on Twitter : "Ljungberg was a great help to Emery last night.. sat down for 90 mins.. surely you get in the managers ear if you can see what’s going wrong.. Emery had to go."
Muamba simply tweeted: "Result business."
Josh Kroenke said: “Our most sincere thanks go to Unai and his colleagues who were unrelenting in their efforts to get the club back to competing at the level we all expect and demand. We wish Unai and his team nothing but future success.”
Arsenal wrote in a statement announcing the decision: "We announce today that the decision has been taken to part company with our head coach Unai Emery and his coaching team.
"The decision has been taken due to results and performances not being at the level required.
"We have asked Freddie Ljungberg to take responsibility for the first team as interim head coach. We have full confidence in Freddie to take us forward.
"The search for a new head coach is underway and we will make a further announcement when that process is complete."


Characteristic Class
Represents a local or remote service's characteristic.
Item Index
Methods
Methods
equals
()
Tests whether two Characteristic objects refer to the same entity.
Properties
descriptors
Array of Descriptor objects
A list of the Descriptor objects that have so far been discovered in this characteristic. It is writeable if this JavaScript object represents a mutable characteristic.
isBroadcasted
Boolean
read-only
Whether the characteristic is currently broadcasted or not.
isMutable
Boolean
read-only
Indicates whether this characteristic is mutable.
isNotifying
Boolean
read-only
Whether the characteristic is currently notifying or not.
permissions
Number
The permissions of the characteristic value. It is only present if this JavaScript object represents a mutable characteristic.
properties
Number
The properties of the characteristic as a bitfield. See also the CHAR_PROP_* constants attached to the module object.
subscribedCentrals
Array of Central objects
For notifying characteristics, the set of currently subscribed centrals.
UUID
String
The UUID of the characteristic.
value
TiBuffer
The value of the characteristic.


About Me
Here is a little information about me!
Hi! My name is Amanda Komp. My hobbies include cooking, shopping, and traveling. I am an OM&IS major at NIU graduating this May. Upon graduation I will begin my career with Alight Solutions as a Health Client Specialist. Check out this page to learn more about me and my goals, both personal and academic.


{{define "body"}} Example headline. Some representative placeholder content for the first slide of the carousel. Sign up today Another example headline. Some representative placeholder content for the second slide of the carousel. Learn more One more for good measure. Some representative placeholder content for the third slide of this carousel. Browse gallery Previous Next Previous Next {{range .}} {{.Name}} {{.ProdDesc}} View ${{.Price}} {{end}} {{end}} {{define "styles"}} {{end}}
Some representative placeholder content for the first slide of the carousel.
Sign up today
Some representative placeholder content for the second slide of the carousel.
Learn more
Some representative placeholder content for the third slide of this carousel.
Browse gallery
{{.Name}}
{{.ProdDesc}}


Entrapment **1/2
rated PG-13 released by 20th Century Fox starring Sean Connery, Catherine Zeta-Jones, Ving Rhames, Will Patton, Maury Chaykin story by Ronald Bass and Michael Hertzberg written by Ronald Bass and William Broyles, Jr. directed by Jon Amiel
Sean Connery, in his 68th role, plays Robert MacDougal, a well-known art thief who matches wits and falls for Gin Baker, an insurance agent played by Catherine Zeta-Jones, fresh off her first starring role in "The Mask of Zorro." The film is Jon Amiel's "Entrapment." The comment is, "Come on, Mr. Connery. I never thought I'd say this, but you're out of you're league."
I'm a little tired, so I'll sum up "Entrapment's" plot rather vaguely. After a Rembrandt is stolen from a corporate building, Gin Baker(Zeta-Jones), an insurance agent, decides to try to catch the thief(Connery). Slowly, she starts to like the thief, and she ends up playing both sides; helping him steal, and helping to catch him.
Catherine Zeta-Jones is once again good in the heroine role she perfected in "Zorro", but I'd like to see her try something else(a romantic-comedy, perhaps?). Sean Connery is also suave as ever. But the film's plot doesn't always make sense and the movie is too glib for its own good. Director Jon Amiel wants "Entrapment" to a Bond-style crime caper, but the most it provides is harmless fun.
a (short) review by Akiva Gottlieb, The Teenage Movie Critic<EMAIL_ADDRESS>http://www.angelfire.com/mo/film watch me on TBS' "Dinner And A Movie" May 21, 8:05pm EST
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


Young, inspiring web developer looking to impact the world with one line of code at a time.
Find Out MoreWelcome to my Portfolio page! My name is Cristian Portilla. I am a husband and father to two beautiful girls. About a year ago I decided to embark on this new journey on the web development world, with barely any knowledge. These past few months, I have been learning and sharpening new coding skills at UNCC Coding Bootcamp program. I have gained extensive knowledge in HTML, CSS3, Javascript, Node.js, React and various other languages and Frameworks. I am confident with everything I know, I can be a great contributor and team player in any work environment.
Feel free to contact me by phone number or Email. Thank You for taking some time to look over my website!
(704) 345-9460


wn - Web Notifications
Use the buttons below to check out the functionality of the library
Get permission for notifications
Test notification with text
Test notification with image


--- layout: post title: Four Strategies for Dealing with Legacy Systems (1/5) date: 2012-03-09 18:25:33.000000000 -07:00 type: post published: true status: publish categories: - Featured - Library - Strategic Design tags: [] meta: _edit_last: '3109' custom_permalink: library/evans_2011_2/1/ U_S_C_message: '' _dependencies: s:6:"a:0:{}"; _custom_background: a:5:{s:3:"url";s:0:"";s:16:"background-color";s:0:"";s:17:"background-repeat";s:6:"repeat";s:21:"background-attachment";s:6:"scroll";s:19:"background-position";s:8:"left top";} _intro_text: default _intro_custom_banner: a:1:{s:3:"url";s:0:"";} _bitly_trim: http://dddcommunity.org/?p=682 _thumbnail_id: '701' author: login: bjkitchin email<EMAIL_ADDRESS>display_name: bjkitchin first_name: Robert last_name: Kitchin, Jr ---
This is segment 1 of 5 from Eric Evans' presentation on Four strategies for dealing with legacy systems.
(Running Time: 12:42)
[ylwm_vimeo]29411464[/ylwm_vimeo]


@remarks Capacity is the buffer length for system-provided byte arrays. Capacity cannot be set to a value less than the current length of the stream. @exceptions
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | A capacity is set that is negative or less than the current length of the stream. |
| ObjectDisposedException | The current stream is closed. |
| NotSupportedException | Let is invoked on a stream whose capacity cannot be modified. |


| Interface | Description |
|---|---|
| Column |
Access to a View or Folder column and its settings.
|
| ComputableValue |
Represents an element in a design that can be represented either as a static
string or a formula computation.
|
| DbDesign |
Provides access to a database's design elements, allowing querying, selection,
and creation.
|
| DbDesign.SignCallback |
Callback interface to get notified about progress when signing
|
| DbDesignCatalog |
Access to database design information on the server
|
| DbDesignCatalog.DatabaseDesignAnalysis |
Result of the template inheritance scan
|
| DbDesignCatalog.DesignRefreshBreakHandler | |
| DbProperties |
Access to a database design.
|
| DesignAgent |
Access to a database design.
|
| DesignElement |
Access to forms, views, resources read/write
|
| DesignElement.NamedDesignElement | |
| Field | |
| FileResource |
Represents a File Resource design element.
|
| Folder |
Represents a Folder design element.
|
| Form |
Access to a database design.
|
| GenericFolderOrView |
Access to a database design.
|
| GenericFormOrSubform<T extends GenericFormOrSubform<T>> | |
| ImageResource | |
| JavaLibrary | |
| JavaScriptLibrary | |
| LotusScriptLibrary | |
| NamedFileElement |
Represents common behavior for file-resource-esque design elements with "$FileData"
and "$FileNames" or equivalent items.
|
| Schema |
Schema elements of a domino database
|
| ScriptLibrary |
Parent interface for script-library design elements.
|
| ServerJavaScriptLibrary | |
| Subform |
Access to a database design.
|
| View |
Access to a database design.
|
| Class | Description |
|---|---|
| SubformReference |
Represents a reference to a subform, either by name or by formula
|
| Enum | Description |
|---|---|
| Column.IndexType |
Enum for alternate index(es) of a view based on this column.
|
| Column.SortType |
Enum for enforced sorting of a column
|
| DbDesign.FolderOrView | |
| DbDesign.FormOrSubform | Deprecated |
| DbProperties.LaunchContextNotes | |
| DbProperties.LaunchContextWeb | |
| DbProperties.PreviewPaneDefault | |
| DbProperties.PropertiesOptions | |
| DbProperties.UnreadReplicationSetting | |
| DesignAgent.AgentLanguage | |
| Field.Kind | |
| Field.Type | |
| GenericFolderOrView.OnRefreshType | |
| SubformReference.Type |
Copyright © 2019–2021 HCL. All rights reserved.


no-index Description DescriptionA subdirectory without an index.md or README.md file. Back to home...


Curvature Module¶
This module implements a GPU-accelerated and CPU-only principal curvature calculations.
These routines are needed for curvature-based seeded watershed to segment densely-packed nuclei: https://www.mdpi.com/2313-433X/2/4/31
-
scout.curvature.
dx
(x, xum=1.0)¶ Compute the gradient in the X direction
Note that this function does not pad the image so the output is reduced in size.
Parameters: - x (ndarray) – Input array
- xum (float) – microns per voxel in the X direction
Returns: dx – The gradient in the X direction, reduced in size by one at each edge
Return type: ndarray
-
scout.curvature.
dy
(x, yum=1.0)¶ Compute the gradient in the Y direction
Note that this function does not pad the image so the output is reduced in size.
Parameters: - y (ndarray) – Input array
- yum (float) – The number of microns per voxel in the Y direction
Returns: dy – The gradient in the Y direction, reduced in size by one at each edge
Return type: ndarray
-
scout.curvature.
dz
(x, zum=1.0)¶ Compute the gradient in the Z direction
Note that this function does not pad the image so the output is reduced in size.
Parameters: - x (ndarray) – Input array
- zum (float) – microns per voxel in the z direction
Returns: dz – The gradient in the Z direction, reduced in size by one at each edge
Return type: ndarray
-
scout.curvature.
eigen3
(A)¶ The eigenvalues of a 3x3 matrix of arrays
Parameters: A (ndarray) – a 3x3 matrix of arrays, e.g. a list of lists Returns: eigenvals – a 3 tuple of arrays - the eigenvalues of each 3x3 of the matrix in ascending order. Return type: tuple
-
scout.curvature.
eigvals_of_weingarten
(x, ew_block_size=64, zum=1, yum=1, xum=1)¶ Find the eigenvalues of the weingarten operator
Parameters: - x (ndarray) – an NxMxP 3D array
- ew_block_size (int) – the block size for the blocks to be processed. The algorithm needs approximately 128 bytes per voxel processed.
- zum (float) – size of a voxel in the z direction - defaults to 1.0 micron
- yum (float) – size of a voxel in the y direction - defaults to 1.0 micron
- xum (float) – size of a voxel in the x direction - defaults to 1.0 micron
Returns: eigvals – an NxMxPx3 array of the 3 eigenvalues of the weingarten operator for the space.
Return type: ndarray
-
scout.curvature.
gradient
(x, zum=1.0, yum=1.0, xum=1.0)¶ Compute the gradient in all three directions
Note that the images returned are reduced in size by 1 - there is no padding
Parameters: - x (ndarray) – Input array
- zum (float) – size of a voxel in the z direction - defaults to 1.0 micron
- yum (float) – size of a voxel in the y direction - defaults to 1.0 micron
- xum (float) – size of a voxel in the x direction - defaults to 1.0 micron
Returns: grad – A tuple of the z, y, and x gradients.
Return type: tuple
-
scout.curvature.
gradient_numpy
(data, zum=1.0, yum=1.0, xum=1.0)¶ Compute the gradient in units of intensity / micron
Parameters: - data (ndarray) – 3d numpy array
- zum (float) – size of a voxel in the z direction - defaults to 1.0 micron
- yum (float) – size of a voxel in the y direction - defaults to 1.0 micron
- xum (float) – size of a voxel in the x direction - defaults to 1.0 micron
Returns: grad – A 4-dimensional matrix with the last dimension being the z==0, y==1, x==2 selector of the gradient direction
Return type: ndarray
-
scout.curvature.
structure_tensor
(dz, dy, dx)¶ Construct the structure tensor from the gradient
The structure tensor is the cross product of the gradient with itself: dz * dz dy * dz dx * dz dz * dy dy * dy dx * dy dz * dx dy * dx dx * dx
Note - the arrays of the structure tensor are reduced in size by 1 on each side to match the dimensions of the Hessian
Parameters: - dz (ndarray) – The gradient in the Z direction
- dy (ndarray) – The gradient in the Y direction
- dx (ndarray) – The gradient in the X direction
Returns: result – A 3 tuple of 3 tuples representing the structure tensor of the gradient
Return type: ndarray
-
scout.curvature.
weingarten
(x, zum=1, yum=1, xum=1)¶ The Weingarten shape operator on a 3D image
See http://mathworld.wolfram.com/ShapeOperator.html for instance.
Parameters: - x (ndarray) – The 3-D image to be processed
- zum (float) – size of a voxel in the z direction - defaults to 1.0 micron
- yum (float) – size of a voxel in the y direction - defaults to 1.0 micron
- xum (float) – size of a voxel in the x direction - defaults to 1.0 micron
Returns: weingarten – A 3 tuple of 3 tuples representing the 3 x 3 matrix of the shape operator per voxel. The 3D elements of the matrix are reduced in size by 2 at each edge (a total of 4 voxels smaller in each dimension) because of the double differentiation of the Hessian.
Return type: tuple


Thai cuisine restaurants get two Michelin stars for first time at home
by The Jakarta PostTwo restaurants in Bangkok have each earned a pair of coveted Michelin stars, the first time the leading guide has awarded the accolade to local establishments offering Thai cuisine.
Located in Bangkok, the restaurants Sorn and R-Haan were upgraded from their previous one-star rating in the third edition of the "Michelin guide in Thailand", unveiled Tuesday in the capital.
Sorn celebrates traditional techniques and recipes from southern Thailand, where it sources from a network of small producers.
At the helm of R-Haan, Chef Chumpol offers food inspired by products from all regions of the kingdom.
No establishment won three stars in this 2020 edition, but three others retain two -- the French restaurants Le Normandie and Mezzaluna, as well as that of German twin brothers Suhring.
This year some 29 establishments in Thailand received stars.
Gwendal Poullennec, international director of Michelin Guides, said the ratings showcased "Thailand's rich diversity and high quality of local produce".
Thailand is already famed for its street food and Bangkok's curbside crab omelette standout Jay Fai retained its one star.
Read also
Despite criticism over its alleged Eurocentrism and focus on pricey restaurants, the red guide, created in 1900, remains a key reference in the world of the gastronomy.
Out of some 20,000 restaurants listed worldwide, only about one hundred have achieved the highest distinction of the "three stars".
Michelin covers Asia in Tokyo, Hong Kong and Macau, Shanghai, Seoul, Singapore, Taiwan and Bangkok.


[gecode-users] How to find my problem?
Gilberto Cuba Ricardo
gcubar2005 at gmail.com
Wed Dec 3 03:19:05 CET 2014
Hi Guido,
Thanks for your reply. Its a good trick to determine where is the
problem, however, this not say me what kind of error are there, and
for what, solution is not found, even when Gecode::Gist tree was not
expanded.
Here is the project with that problem:
https://github.com/gcubar/constraints
The issue constraints are in the uncommented test "TEST(Constraints,
MultipleConstraints2)" in
https://github.com/gcubar/constraints/blob/master/constraints/main.cpp
I know its a little complicated to examine the source code because it
depend of external include file
(https://github.com/gcubar/constraints/blob/master/constraints/constraints.h),
but I appreaciate whole your helps and ideas.
I detect that constraint that have the problem is when I add custom
distance constraint,
Constraint c5(new distance<op_greater_equal>(U, r1, 2));
Constraint c6(new distance<op_lesser_equal>(V, r2, 2));
(...)
cm.add(c5, r_empty);
cm.add(c6, r_empty);
but it work fine when I add this constraint kind in other context, or
when I change some values of distances.
Thanks again for the time and your reply.
2014-12-02 19:19 GMT-05:00, Guido Tack <tack at gecode.org>:
> The variable domains before and after status don't necessarily tell you
> what's wrong. Your best bet is to remove individual constraints until the
> problem becomes satisfiable, then add them back in and try to identify a
> small set of constraints that causes the failure.
>
> Cheers,
> Guido
--
Regards,
Gilberto Cuba
More information about the users
mailing list


Schools
Legal Guidance
Title IX Compliance Requirements
Questions and Answers on Title IX and Sexual Violence (2014)
- In April 2014, the U.S. Department of Education’s Office for Civil Rights (OCR) issued a questions and answers document to provide additional guidance to federally funded education institutions about their obligations under Title IX to address sexual violence.
- This guidance further clarifies the legal requirements under Title IX articulated in OCR’s 2011 Dear Colleague Letter on Sexual Violence and its 2001 Revised Sexual Harassment Guidance.
Retaliation Guidance (2013)
- In April 2013, the U.S. Department of Education’s Office for Civil Rights (OCR) issued guidance to remind federally funded education institutions that retaliation is a violation of federal law.
- Under federal civil rights laws, including Title IX, it is illegal for a school to retaliate against an individual for speaking out against possible civil rights problems at the school.
- The prohibition against retaliation means that if a student, parent, teacher, professor, coach, or other individual complains formally or informally to a school about a potential civil rights violation, such as failure to address sexual violence, or participates in an OCR or school investigation or proceeding, the school is prohibited from retaliating against the individual because of their complaint or participation.
Dear Colleague Letter on Sexual Violence (2011)
- In April 2011, the U.S. Department of Education’s Office for Civil Rights (OCR) issued a Dear Colleague Letter, also known as guidance, to remind schools of their obligations to prevent and address sexual violence under Title IX.
- It reiterates that under Title IX, all schools that receive federal funds must take immediate and effective steps to respond to sexual violence.
Dear Colleague Letter on Harassment and Bullying (2010)
- The U.S. Department of Education’s Office for Civil Rights (OCR) released a Dear Colleague Letter in October 2010 to clarify the relationship between bullying and discriminatory harassment under civil rights laws.
- The guidance discusses sexual harassment, gender-based harassment, racial and national origin harassment, and disability harassment and illustrates how a school should respond in each case.
Sexual Harassment: It’s Not Academic (2008)
- In September 2008, the U.S. Department of Education’s Office for Civil Rights (OCR) released a pamphlet on how to recognize and address sexual harassment under Title IX.
- This document is a great resource for students, parents, school administrators, school employees, and others.
Revised Sexual Harassment Guidance (2001)
- The U.S. Department of Education’s Office for Civil Rights (OCR) issued guidance in January 2001 on the sexual harassment of students by school employees, other students, or third parties. The guidance discusses in detail schools’ obligations to address the sexual harassment of students under Title IX.
Understanding FERPA, the Clery Act, and Title IX
Colleges and universities that participate in the federal student financial aid programs are subject to Title IX and the Clery Act, and must comply their requirements that certain employees report incidents of sexual violence to school officials and notify students about the outcome when they file complaints of sexual violence.
We created a chart to help schools understand these requirements, clarify how they intersect with students’ rights under FERPA, and resolve any concerns about apparent conflicts.
Maintaining Confidentiality
Principles of Confidentiality
Schools often struggle with balancing a survivor’s confidentiality and fulfilling their obligation to provide a safe campus for everyone by holding perpetrators accountable. But a few guiding principles should inform any reporting and confidentiality protocol: namely that confidentiality must give survivors choices and not shield a school from inaction. To the greatest extent possible, the survivor’s wishes should be respected, whether it be for a full investigation – or not.
It’s also true that there’s no one-size-fits-all model of survivor care. There must be options, which means that schools should make it clear up front who on campus must share what information with whom – and the circumstances in which a school may need to override a request for confidentiality and conduct an investigation to protect the greater campus community.
And in all cases, whether or not it fully investigates a particular incident, schools must respond. It must protect and help survivors reclaim their education, and determine what campus-wide, or more targeted, responses may be in order.
To help schools carry out these principles, we’ve come up with a sample reporting and confidentiality policy. This is not meant as a policy to “cut and paste,” but rather one to help schools get started tackling this difficult issue.
Protected Health Information
The Office for Civil Rights in the Department of Health and Human Services has answered some frequently asked questions on how different Privacy rules apply at educational institutions, and under what circumstances and with whom protected health information can be shared.
 As the Task Force recognizes, there is no one approach that suits every school – but as we also heard, schools have had difficulty constructing comprehensive policies. To help schools develop or reevaluate their policies:
We are providing schools with a checklist for a sexual misconduct policy. This list provides both a suggested process for developing a policy, as well as the key elements a school should consider in drafting one. At the threshold, and perhaps most importantly, schools should bring all the key stakeholders to the table – including students, survivors, concerned student groups including LGBT organizations, campus security, local law enforcement, resident advisors, on-campus advocates, and local victim service providers. Effective policies will vary in scope and detail, but an inclusive process is common to all.
We have not endeavored with this checklist to provide schools with all the answers: again, depending on its size, mission, student body, location, administrative structure and experience, a school community is best situated to decide for itself what might work best.
Elements of Providing Victim Services Information
Key Components of Sexual Assault Crisis Intervention/Victim Service Resources
Most colleges and universities seek to provide services and advocacy for victims of sexual assault. These services may be provided on campus or off campus via a memorandum of understanding with a local rape crisis center or victim advocacy program. This document discusses the existing research on sexual assault crisis intervention and victim services. It is meant to be the start of a conversation for schools as they work to ensure accessible support services for victims on their campuses.
Guidance for Developing Partnerships with Local Rape Crisis Centers
Colleges and universities can strengthen sexual assault prevention and response programs by developing partnerships with local rape crisis centers. These partnerships can be formalized through a Memorandum of Understanding (MOU) or other agreement between parties. MOUs are often mandated in grant applications, but schools should consider developing these partnerships regardless of whether they are applying for funding. This document provides guidance for developing these relationships along with a sample MOU.
Accessing Federal Resources for Your Campus and Community
The Office on Violence Against Women
Campuses and communities interested in building or strengthening sexual assault programs should consider applying for a grant through the Department of Justice Office on Violence Against Women.
The Centers for Disease Control and Prevention
The Centers for Disease Control and Prevention’s Rape Prevention and Education program (RPE) strengthens sexual violence prevention efforts at the local, state, and national level. RPE grantees are located in all 50 states, the District of Columbia, Puerto Rico, and six U.S. territories. Eligible grantees are state and territorial health departments.
Conducting School Climate Surveys
Climate Surveys: Useful Tools to Help College or Universities in Their Efforts to Reduce and Prevent Sexual Assault
Many schools are working to address sexual assault on their campuses, but lack a way to understand the scope or nature of the problem. Climate surveys can help fill this gap in knowledge by finding out how students perceive and experience sexual assault on their campus. Conducting regular climate surveys is a best practice in dealing with campus sexual assault. Universities and colleges often have both the capacity and the will to conduct meaningful climate surveys, but are not sure where to start. This document provides climate survey items/questions that are among the best currently available. The first chapter provides an overview of how to conduct a climate survey, and the second chapter provides an example of an empirically informed survey. Campuses are encouraged to use both of these chapters to guide their work.
Prevention Resources
Empowering Bystanders to Act
Bystander-Focused Prevention of Sexual Violence
Bystander intervention is a sexual assault prevention strategy that encourages witnesses to take safe action when they see a situation that might lead to sexual assault, and to support victims after an incident. Bystander intervention shows promise as a strategy to prevent sexual assault, particularly in college/university settings. The Centers for Disease Control and Prevention found that bystander strategies may hold promise for the prevention of sexual assault, but more evaluation is needed. This document describes many different bystander programs used around the country and their common components. It also discusses how to deliver bystander education, and challenges to bystander action.
Preventing Sexual Violence on College Campuses: Lessons from Research and Practice
This document created by the Centers for Disease Control and Prevention describes the best practices in developing, selecting, and implementing prevention strategies with the highest chance of successfully changing sexual violence in communities. While we have a lot to learn about how best to stop campus sexual violence before it starts, there are important steps that college campuses can take now to better address sexual violence.
 Campuses have many factors to consider when deciding what types of programming to offer and how to determine if their efforts are effective. Researchers are still studying the most effective forms of prevention. This document outlines key points to consider in strategic planning for campus sexual violence prevention. This process will look different for each campus, but this document provides preliminary guidelines and questions to get the process started.
Sexual Violence Prevention Strategies: An Overview
Prevention efforts should ultimately decrease the number of individuals who perpetrate sexual violence and the number of individuals who are sexual violence victims. Many prevention approaches aim to reduce risk factors and promote protective factors for sexual violence. In addition, comprehensive prevention strategies should address factors at each of the levels that influence sexual violence -the individual, relationship, community, and society.
American College Health Association Sexual Violence Toolkit
The American College Health Association developed the Shifting the Paradigm: Primary Prevention of Sexual Violence toolkit to provide facts, ideas, strategies, conversation starters, and resources to everyone on campus who cares about the prevention of sexual violence. While there is a rich volume of tools, knowledge, and resources for intervention after sexual violence, the emphasis of this toolkit is to encourage prevention activities that take place before sexual violence has occurred and which create social change and shift the norms regarding sexual violence.
Rape Prevention and Education (RPE) Program
The goal of the RPE program is to strengthen sexual violence prevention efforts. Program activities are guided by a set of prevention principles that include: preventing first-time perpetration and victimization; reducing modifiable risk factors while enhancing protective factors; incorporating behavior and social change theories into prevention programs; using population-based surveillance to inform program decisions and monitor trends; and evaluating prevention efforts.
National Sexual Violence Resource Center xCHANGE: Program Evaluation
Program evaluation is a type of research. In some cases, external researchers or evaluators conduct an evaluation of a sexual violence program or agency. In many organizations, practitioners conduct evaluation to check for program effectiveness, impact, and value. Both researchers and practitioners can learn from one another in order to conduct high quality program evaluation.
Peer Educators: The Frontline in Campus Violence Prevention
Information about the roles and responsibilities of peer education in violence prevention and offers guidance on establishing a peer education program. Also included here are special considerations for peer educators at Historically Black Colleges and Universities (HBCUs).
Assessing Campus Readiness Manual
A campus-wide approach to sexual violence and explore topics such as evaluating efforts, partnering with campus leaders, assessing campus readiness, and educating campus leaders created by Pennsylvania Coalition Against Rape.


Contains GPTP APIs for ICSS Switch Implementation. More...
#include <xdc/std.h>
#include <ti/transport/timeSync/include/icss_timeSync.h>
#include <ti/drv/icss_emac/firmware/icss_dualemac/src/icss_timeSync_memory_map.h>
#include <ti/transport/timeSync/include/icss_timeSyncApi.h>
#include <ti/drv/icss_emac/icss_emacDrv.h>
#include <ti/drv/icss_emac/icss_emac_ver.h>
#include <ti/drv/icss_emac/src/icss_emacLoc.h>
#include <ti/transport/timeSync/include/soc_icss_header.h>
Functions | |
| int32_t | TimeSync_config (TimeSync_ParamsHandle_t timeSyncParamsHandle) |
| Function to configure 802.1AS-rev and PTCP interface. More... | |
| int32_t | TimeSync_getTxTimestamp (TimeSync_ParamsHandle_t timeSyncParamsHandle, ptpFrameTypes_t txFrameType, uint8_t txPort, uint32_t *nanoseconds, uint64_t *seconds) |
| Reads and provides timestamp of a transmitted event message. More... | |
| int32_t | TimeSync_getRxTimestamp (TimeSync_ParamsHandle_t timeSyncParamsHandle, ptpFrameTypes_t rxFrameType, uint8_t rxPort, uint32_t *nanoseconds, uint64_t *seconds) |
| Reads and provides timestamp of a received event message. More... | |
| int8_t | TimeSync_adjTimeSlowComp (TimeSync_ParamsHandle_t timeSyncParamsHandle, int32_t adjOffset) |
| Adjusts the IEP clock by the drift value over one Sync interval. More... | |
| int32_t | TimeSync_setClockTime (TimeSync_ParamsHandle_t timeSyncParamsHandle) |
| Configures the driver memory. More... | |
| int8_t | TimeSync_getLatchTime (TimeSync_ParamsHandle_t timeSyncParamsHandle, uint32_t *nanoseconds, uint64_t *seconds) |
| Timestamps Latch0/Latch1 event. More... | |
| void | TimeSync_getCurrentTime (TimeSync_ParamsHandle_t timeSyncParamsHandle, uint32_t *nanoseconds, uint64_t *seconds) |
| Returns the current time on device. More... | |
Contains GPTP APIs for ICSS Switch Implementation.
| int8_t TimeSync_adjTimeSlowComp | ( | TimeSync_ParamsHandle_t | timeSyncParamsHandle, |
| int32_t | adjOffset | ||
| ) |
Adjusts the IEP clock by the drift value over one Sync interval.
| [in] | timeSyncParamsHandle | Structure of type TimeSync_ParamsHandle_t |
| [in] | adjOffset | (filtered offset from master in nanoseconds) |
| <0 | value on error |
| 0 | on success |
Adjustment Offset (INPUT) Set drift value Example: 300 (300ns)
syncInterval (INPUT) Set sync interval Example: 30000000 (30ms)
Writes the IEP compensation registers to adjust the IEP counter by adjustment offset value provided in nanoseconds over one Sync interval. syncInterval/drift value will be written to PRUSS_IEP_SLOW_COMPENSATION register. Compensation increment (10 or 0) will be written to CMP_INC field of PRUSS_IEP_GLOBAL_CFG register.
| int32_t TimeSync_config | ( | TimeSync_ParamsHandle_t | timeSyncConfig | ) |
Function to configure 802.1AS-rev and PTCP interface.
| [in] | timeSyncConfig | Time sync configuration structure, Structure of type TimeSync_Config_t |
| <0 | value on error |
| 0 | on success |
domainNumber[GPTP_NUM_DOMAINS] (INPUT) List of 802.1AS-rev domainNumbers. PRU firmware timestamps 802.1AS-rev frames which belong to the provided list of domains.
syncIn_latchInput (INPUT) Set SYNCIN input - latch0/latch1 - 0/1
syncIn_latchTrigger (INPUT) Set SYNCIN input type - positive edge/negative edge - 0/1
syncOut_sync0Start (INPUT) Set time of rising edge of SYNCOUT signal in nanoseconds. Range: 5000ns to PN cycle period
syncOut_sync0PWidth (INPUT) Set SYNCOUT pulse width. Example: 10000(10us)
timeSyncTxCallBackfn (INPUT) Set TX callback function
disablePTCPSyncRelay (INPUT) Disable/enable PTCP sync relay - 0/1
| void TimeSync_getCurrentTime | ( | TimeSync_ParamsHandle_t | timeSyncParamsHandle, |
| uint32_t * | nanoseconds, | ||
| uint64_t * | seconds | ||
| ) |
Returns the current time on device.
Returns the current time in
| [in] | timeSyncParamsHandle | Pointer to PTP Handle |
| [out] | nanoseconds | Pointer to nanoseconds field which is updated by API |
| [out] | seconds | Pointer to seconds field which is updated by API |
| None |
| int8_t TimeSync_getLatchTime | ( | TimeSync_ParamsHandle_t | timeSyncParamsHandle, |
| uint32_t * | nanoseconds, | ||
| uint64_t * | seconds | ||
| ) |
Timestamps Latch0/Latch1 event.
| [in] | timeSyncParamsHandle | Stucture of type TimeSync_ParamsHandle_t |
| [out] | nanoseconds | Pointer to nanoseconds field which is updated by API |
| [out] | seconds | Pointer to seconds field which is updated by API |
| Error/Success |
| int32_t TimeSync_getRxTimestamp | ( | TimeSync_ParamsHandle_t | timeSyncParamsHandle, |
| ptpFrameTypes_t | rxFrameType, | ||
| uint8_t | rxPort, | ||
| uint32_t * | nanoseconds, | ||
| uint64_t * | seconds | ||
| ) |
Reads and provides timestamp of a received event message.
| [in] | timeSyncParamsHandle | Structure of type TimeSync_ParamsHandle_t |
| [in] | rxFrameType | (INPUT) frame type received Valid values: 0,1,2,3 |
| [in] | rxPort | (INPUT) Port used for receive ICSS_EMAC_PORT_1/ ICSS_EMAC_PORT_2 |
| [out] | nanoseconds | (OUTPUT) ptr to 32 bit nanoseconds field |
| [out] | seconds | (OUTPUT) ptr to 64 bit(48 used) seconds field |
| <0 | value on error |
| 0 | on success |
rxprotocol (INPUT) protocol - gPTP/PTCP – 0/1
*rxTimestamp_gPTP (OUTPUT) returns timestamp if rxprotocol=gPTP
*rxTimestamp_PTCP (OUTPUT) returns timestamp if rxprotocol=PTCP
| int32_t TimeSync_getTxTimestamp | ( | TimeSync_ParamsHandle_t | timeSyncParamsHandle, |
| ptpFrameTypes_t | txFrameType, | ||
| uint8_t | txPort, | ||
| uint32_t * | nanoseconds, | ||
| uint64_t * | seconds | ||
| ) |
Reads and provides timestamp of a transmitted event message.
| [in] | timeSyncParamsHandle | Structure of type TimeSync_ParamsHandle_t |
| [in] | txFrameType | (INPUT) frame type transmitted Valid values: 0,1,2,3 |
| [in] | txPort | (INPUT) Port used for transmit ICSS_EMAC_PORT_1/ ICSS_EMAC_PORT_2 |
| [out] | nanoseconds | (OUTPUT) ptr to 32 bit nanoseconds field |
| [out] | seconds | (OUTPUT) ptr to 64 bit(48 used) seconds field |
| <0 | value on error |
| 0 | on success |
txprotocol (INPUT) protocol - gPTP/PTCP 0/1
*txTimestamp_gPTP (OUTPUT) returns timestamp if txprotocol=gPTP
*txTimestamp_PTCP (OUTPUT) returns timestamp if txprotocol=PTCP
| int32_t TimeSync_setClockTime | ( | TimeSync_ParamsHandle_t | timeSyncParamsHandle | ) |
Configures the driver memory.
| [in] | timeSyncParamsHandle | Structure of type TimeSync_ParamsHandle_t |
| <0 | value on error |
| 0 | on success |
clockTime (INPUT) Clock time to set. Provide in Timestamp format


Faster websites have higher rates of user engagement and retention. In this project, I learned what impacts performance for a website or frontend application. Completing the project required an understanding of the critical rendering path and how it impacts performance, how to conduct asynchronous data requests, load scripts without blocking, and file/image minimization techniques. This was the fourth project in Udacity's Frontend Developer Nanodegree. See a full description in the README on Github


BoC to stay on the sidelines for now - NBF
by Felipe ErazoAccording to analysts at NBF, the Bank of Canada’s three core inflation measures on a year on year basis were as follows: 1.9% for CPI-common (unchanged from the prior month), 2.1% for CPI-trim (also unchanged) and 2.2% for CPI-median (up one tick from September).
Key quotes
"The Canadian headline inflation numbers were in line with forecasts in October. Gains were widespread during the month with none of the main categories registering price declines in seasonally adjusted terms."
"Looking at year-onyear data, headline inflation continued to be hampered by lower gasoline prices (-6.7% y/y) but nonetheless remains close to the Bank of Canada’s mid-point target thanks to a steady increase in rents (+3.7% y/y) and mortgage interest costs (+7.0% y/y"
"This, combined with a buoyant labour market in the country, should allow the Bank of Canada to stay on the sidelines for now."


Let's get some fake users from Rest: You can find the Web API Routes in {{ "/Server/Api/ ... "}}
{{ "/Server/Api/ ... "}}
Loading...


{% extends "base.html" %} {% block content %}
Instructions for: {{device.name}} (change)
The settings to enable GPS tagging are different for different phones.


{% seo %}
Workshops Home
RHEL
Network
Security
Windows
Config as Code
Open an Issue
{{ content }}
{% if site.google_analytics %} {% endif %}


Experience
Western Vice-Chair for Washington College Republican Federation
November 2013 - present
Recently elected to the executive board of the Washington College Republican Federation, my duties include my work at the PCCRs, as well as growing the College Republican clubs in Western Washington.
Vice-Chairman for Pierce County College Republicans
October 2013 – present
Networked with various Washington state political organizations to increase the PCCRs' reach and influence. Clubs are being started at Pacific Lutheran University, Tacoma Community College, University of Washington Tacoma, and Pierce College's Lakewood and Puyallup campuses. I designed, developed, and manage the PCCRs' website; I also manage their social media sites.
Delivery Driver for Jimmy John’s
September 2012 – present
I am working at Jimmy John's to pay for college without accruing debt. After one year of employment I had been taught nearly all non-managerial tasks. Working in the restaurant industry required me to be able to multi-task efficiently, and be able to switch from one task to another quickly, all while staying professional and providing excellent service.
Technical Field Specialist for Working Families
June 2013 – August 2013
Hired on to help with the 2013 election cycle, my primary task was to collect voter identification data with Ground Game (v1.0 and v2.0). I sampled universes Working Families purchased from Moonshadow Mobile in Washington state's 26th Legislative District. In addition, I spent a great deal of time working with the developers at Moonshadow Mobile to fix the bugs plaguing Ground Game v2.0.
Deputy Field Coordinator for Hans Zeiger Campaign
May 2012 – November 2012
I assisted with many field jobs, including doorbelling and literature drops. I accompanied the campaign staff to various political fundraising events, and I worked the GOP booth at the Pierce County Fair.
Field Staffer for Enterprise Washington JobsPAC
Fall of 2012
I organized door-to-door surveying and literature drops, collecting voter identification data in Washington state's 25th Legislative District. I managed a team, including planning our routes, keeping track of hours worked, houses reached, and reporting back to our supervisor.


Internal Token Offering - Investment Agreement
This Investment Agreement (hereinafter referred to as the “Agreement“) is entered into on {{ effective_date }} (the “Effective Date“), by and between:
Investor,
{{ full_name }},
residing at {{ address }};,
hereinafter referred to as the “Investor”;
and
BetterToken BVBA, a limited liability company with registered office at Antwerpsesteenweg 19, 9080 Lochristi, Belgium, and registered with the Crossroads Bank for Enterprises under company number BE 0666.708.318 (RPR Gent); hereinafter referred to as the “Company”;
Collectively referred to in this Agreement as the “Parties”, each referred to as a “Party”.
WHEREAS
Before its Private Token Offering (PTO), the Threefold Foundation is launching an Internal Token Offering (ITO) for friends, family and ambassadors. This ITO will be structured as a loan note issued by the Company which is convertible into ThreeFold Tokens pursuant to the terms and conditions of the present Agreement.
THEREFORE, IT HAS BEEN AGREED AS FOLLOWS:
1. Amount
The Investor will make available to the Company a principal amount of {{ amount }} {{ currency_full }} ({{ amount }} {{ currency_short }}) as a convertible loan (the “Loan”).
The Loan will be paid by the Investor by wire transfer to the Company’s ING bank account; IBAN: BE89363032208585; BIC BBRUBEBB within 3 business days as from the date of this Agreement.
The Company undertakes to use the Loan in view of executing its Business Plan.
2. Term of the Agreement – Conversion – Redemption
On the occurrence of the ThreeFold Foundation’s Private Token Offering (“PTO”), the Company shall convert the unpaid principal amount of the Loan and any accrued interests into ThreeFold Tokens at a conversion rate of 5 USD (five US Dollars) per Token. The total convertible amount will be rounded down to the nearest corresponding multiple of 5. The balance (if any) will be repaid to the Investor.
The capital of the loan and any accrued interests will in any event either be redeemed or converted within one year as from the Effective Date (the “Redemption Date” or “Conversion Date”).
3. Interest
The Investor is entitled to an interest payment of 2% (two per cent) per year on the outstanding capital, starting as from the Effective Date. Interests are capitalized at the Conversion Date or Redemption Date.
Interest payments are made together with the redemption of the capital of the Loan or the conversion of the Loan.
In the event a (pre-)payment or conversion takes place, the interest payments are calculated on a pro rata temporis basis.
4. Lock-up Period
Without consent from the Foundation, Internal Token Offering investors will not be allowed to sell their Tokens for a period of twelve months after the date of this Agreement.
5. Default
The Investor may terminate the loan forthwith and without any prior written notice in case of any of the following events, which will each constitute an “Event of Default” by the Company:
Upon an Event of Default, the Investor may, at any time thereafter, by notice to the Company, declare that the Loan together with accrued interest and all amounts payable under the Loan by the Company are immediately due and payable.
6. Withholding
If the Company, in accordance with applicable tax law, is obliged to retain a withholding or any other similar tax or deduction on the payment of interest or the repayment of the principal amount under the Loan, the Company will immediately notify the Investor, withhold the applicable tax, pay this tax to the competent authorities before any penalties or interests are due and pay the remaining amount to the Investor. If the Investor has to pay the above-mentioned withholding tax or penalties or interests in connection therewith, due to a fault or negligence of the Company, the Company will reimburse the Investor upon first request for the damages suffered. If the Company pays the above-mentioned withholding tax or penalties or interests connected therewith, it will provide the Investor with the official tax receipts evidencing the payment, or certified copies thereof, as soon as it has received them.
7. Assignment
The Investor agrees that the Company may transfer and assign the Agreement in its discretion provided notice of such assignment is sent to the Investor within 15 days of such assignment.
8. Amendments
No amendment modifying, adding to or omitting from, or terminating this Agreement will be binding upon a Party unless made in writing and signed by or in the name of the Parties involved.
9. Partial Invalidity
The nullity of one of the provisions of this Agreement shall have no bearing on the validity of the other provision of this Agreement.
In such case the Parties to this Agreement shall in good faith negotiate on the provisions of this Agreement so that the same economic balance between the rights and obligations of the Parties to this Agreement are safeguarded to the same extent as if the invalid provision had been valid.
10. Governing Law
This Agreement is subject to Belgian law.
11. Jurisdiction
Any dispute which may arise between the Parties in relation to the validity, the interpretation or the execution of this Agreement will be submitted to the exclusive jurisdiction of the Courts of Gent, Belgium.
Signed on the Effective Date in two originals, each of the Parties acknowledging having received one original.
| The Company | The Investor |
| BetterToken BVBA | {{ full_name }} |
| Represented by Kristof De Spiegeleer | |
| Managing Director |


Subscription Packages
BRONZE
$79.99 monthly
- Pay upfront $900 annually and save $59.88
- Refunds ✗
- Customer care Included
- 1 free annual maintenance
- One year warranty
SILVER
$99.99 monthly
- Pay upfront $1100 annually and save $99.88
- Refunds ✗
- Customer care standard
- 1 free annual maintenance
- One year warranty
GOLD
$119.99 monthly
- Pay upfront $1320 annually and save $119.88
- Refunds possible in the first week
- Customer care 24/7
- 2 free annual maintenance
- One year warranty
DIAMOND
$149.99 monthly
- Pay upfront $1600 annually and save $199.88
- Flexible refunds
- Customer care 24/7
- Quarterly maintenance
- Two year warranty


{% extends "base.html" %} {% block title %}Pending Suggestions{% endblock %} {% block content %}
Team {{reference.team_number}}{% if reference.nickname %} - {{reference.nickname}}{% endif %} ({{suggestion.contents.year}})
Facebook Profile: {{ suggestion.contents.foreign_key }}
No suggestions! Go build more community!


My name is Billy.
The Pope is Catholic, and wears a pointy hat.
Hell has not frozen over.
There is no i in team, but there is a u in suck.
After we've turned on the aircon in Hell...
...it will have frozen over.
The four monsters from Pac-Man were named:
| Testing a function, Fit TableFixture-style | ||
|---|---|---|
| side A length | side B length | hypotenuse length |
| 3 | 4 | 5 |
| 6 | 8 | 10 |
| 7 | 24 | 25 |
| Verifying the contents of a list | ||
|---|---|---|
| Nickname | Birth Name | Date of Birth |
| Moe | Harry Moses Horwitz | 19 June 1897 |
| Larry | Louis Feinberg | 5 October 1902 |
| Curly | Jerome Lester Horwitz | 22 October 1903 |
| Shemp | Samuel Horwitz | 4 March 1895 |


Interface IGameObject
An interface that defines the entire public interface of GameObject. Generally, you should NOT implement these functions yourself, however it can be used in conjunction with a private, backing field of type GameObject to store items in a map, where that object cannot directly inherit from GameObject.
Inherited Members
Namespace: GoRogue.GameFramework
Assembly: GoRogue.dll
Syntax
public interface IGameObject : IHasID, IHasLayer, IHasComponents
Remarks
Generally, you will never implement the items in this interface manually, but rather do so through a private, backing field of type GameObject. There is an example of this type of implementation here.
Properties
| Improve this Doc View SourceCurrentMap
The current Map which this object resides on. Returns null if the object has not been added to a map. An IGameObject is allowed to reside on only one map.
Declaration
Map CurrentMap { get; }
Property Value
| Type | Description |
|---|---|
| Map |
IsStatic
Whether or not the object is "static". Static objects CANNOT be moved, and only static objects may be placed on layer 0 of a Map.
Declaration
bool IsStatic { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IsTransparent
Whether or not the object is considered "transparent", eg. whether or not light passes through it for the sake of calculating the FOV of a Map.
Declaration
bool IsTransparent { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IsWalkable
Whether or not the object is to be considered "walkable", eg. whether or not the square it resides on can be traversed by other, non-walkable objects on the same Map. Effectively, whether or not this object collides.
Declaration
bool IsWalkable { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Position
The position of this object on the grid. Any time this value is changed, the Moved event is fired.
Declaration
Coord Position { get; set; }
Property Value
| Type | Description |
|---|---|
| Coord |
Remarks
This property may be overriden to implement custom functionality, however it is highly recommended that you call the base set in the overridden setter, as it performs collision detection.
Methods
| Improve this Doc View SourceMoveIn(Direction)
Attempts to move the object in the given direction, and returns true if the object was successfully moved, false otherwise.
Declaration
bool MoveIn(Direction direction)
Parameters
| Type | Name | Description |
|---|---|---|
| Direction | direction | The direction in which to try to move the object. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the object was successfully moved, false otherwise. |
OnMapChanged(Map)
Internal use only, do not call manually! Must, at minimum, update the CurrentMap field of the IGameObject to reflect the change.
Declaration
void OnMapChanged(Map newMap)
Parameters
| Type | Name | Description |
|---|---|---|
| Map | newMap | New map to which the IGameObject has been added. |
Events
| Improve this Doc View SourceMoved
Event fired whenever this object's grid position is successfully changed. Fired regardless of whether the object is part of a Map.
Declaration
event EventHandler<ItemMovedEventArgs<IGameObject>> Moved
Event Type
| Type | Description |
|---|---|
| System.EventHandler<ItemMovedEventArgs<IGameObject>> |


{% verbatim %}
As described in fluid.md, when a Fluid application program
runs, it generates a ProgramDesc
protobuf message as an intermediate
representation of itself. The C++ class Executor
can run this
protobuf message as an interpreter. This article describes the Fluid
compiler.
Before we go deeper into the idea of compiled language, let us take a look at a simple example Fluid application.
import "fluid"
func paddlepaddle() {
X = fluid.read(...)
W = fluid.Tensor(...)
Y = fluid.mult(X, W)
}
This program consists of a block of three operators --
read
, assign
, and mult
. Its ProgramDesc
message looks like
the following
message ProgramDesc {
block[0] = Block {
vars = [X, W, Y],
ops = [
read(output = X)
assign(input = ..., output = W)
mult(input = {X, W}, output = Y)
],
}
}
We can write a transpiler program that takes a ProgramDesc
, e.g.,
the above one, and outputs another ProgramDesc
. Let us take some
examples:
Memory optimization transpiler: We can write a transpiler that
inserts some FreeMemoryOp
s in the above example ProgramDesc
so
to free memory early, before the end of an iteration, so to keep a
small memory footprint.
Distributed training transpiler: We can write a transpiler that
converts aProgramDesc
into its distributed version of two
ProgramDesc
s -- one for running by the trainer processes and the
other for the parameter server.
In the rest of this article, we talk about a special kind of
transpiler, Native code generator, which takes a ProgramDesc
and
generates a .cu
(or .cc
) file, which could be built by C++
compilers (gcc, nvcc, icc) into binaries.
For the above example, the native code generator transpiler, say, the
CUDA code generator, should generate a main
function:
void main() {
auto X = fluid_cuda_read(...);
auto W = fluid_cuda_create_tensor(...);
auto Y = fluid_cuda_mult(X, W);
}
and the definitions of functions fluid_cuda_read
,
fluid_cuda_create_tensor
, and fluid_cuda_mult
. Please be aware
that each function could just define a C++ instance of an operator and
run it. For example
paddle::Tensor fluid_cuda_read(...) {
paddle::Tensor t;
paddle::operator::Read r(&t, ...);
r.Run();
return t;
}
For computational operators that have multiple kernels, each for a
specific hardware platform, for example, the mult
operator, the
generated code should call its CUDA kernel:
paddle::Tensor fluid_cuda_mult(const paddle::Tensor& a,
const paddle::Tensor& b) {
paddle::Tensor t;
paddle::operator::Mult m(a, b, ...);
Mult.Run(cuda_context);
}
where cuda_context
could be a global variable of type
paddle::CUDADeviceContext
.
Most Fluid application programs may have more than one blocks. To execute them, we need to trace scopes.
{% endverbatim %}


pedromarquez.dev operates the https://pedromarquez.dev website, which provides the SERVICE.
This page is used to inform website visitors regarding our policies with the collection, use, and disclosure of Personal Information if anyone decided to use our Service, the pedromarquez.dev website.
If you choose to use our Service, then you agree to the collection and use of information in relation with this policy. The Personal Information that we collect are used for providing and improving the Service. We will not use or share your information with anyone except as described in this Privacy Policy. Our Privacy Policy was created with the help of the Privacy Policy Template Generator.
The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at https://pedromarquez.dev, unless otherwise defined in this Privacy Policy.
For a better experience while using our Service, we may require you to provide us with certain personally identifiable information, including but not limited to your name, phone number, and postal address. The information that we collect will be used to contact or identify you.
We want to inform you that whenever you visit our Service, we collect information that your browser sends to us that is called Log Data. This Log Data may include information such as your computer’s Internet Protocol ("IP") address, browser version, pages of our Service that you visit, the time and date of your visit, the time spent on those pages, and other statistics.
Cookies are files with small amount of data that is commonly used an anonymous unique identifier. These are sent to your browser from the website that you visit and are stored on your computer’s hard drive.
Our website uses these "cookies" to collection information and to improve our Service. You have the option to either accept or refuse these cookies, and know when a cookie is being sent to your computer. If you choose to refuse our cookies, you may not be able to use some portions of our Service.
We may employ third-party companies and individuals due to the following reasons:
We want to inform our Service users that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.
We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.
Our Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by us. Therefore, we strongly advise you to review the Privacy Policy of these websites. We have no control over, and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
We are a Data Controller of your information.
pedromarquez.dev legal basis for collecting and using the personal information described in this Privacy Policy depends on the Personal Information we collect and the specific context in which we collect the information:
pedromarquez.dev will retain your personal information only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use your information to the extent necessary to comply with our legal obligations, resolve disputes, and enforce our policies.
If you are a resident of the European Economic Area (EEA), you have certain data protection rights. If you wish to be informed what Personal Information we hold about you and if you want it to be removed from our systems, please contact us.
In certain circumstances, you have the following data protection rights:
pedromarquez.dev follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information.
Like any other website, pedromarquez.dev uses 'cookies'. These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information.
Google is one of a third-party vendor on our site. It also uses cookies, known as DART cookies, to serve ads to our site visitors based upon their visit to www.website.com and other sites on the internet. However, visitors may choose to decline the use of DART cookies by visiting the Google ad and content network Privacy Policy at the following URL – https://policies.google.com/technologies/ads
You may consult this list to find the Privacy Policy for each of the advertising partners of pedromarquez.dev.
Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on pedromarquez.dev, which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit.
Note that pedromarquez.dev has no access to or control over these cookies that are used by third-party advertisers.
pedromarquez.dev's Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options.
You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites.
Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity.
pedromarquez.dev does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.
Our Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in pedromarquez.dev. This policy is not applicable to any information collected offline or via channels other than this website.
By using our website, you hereby consent to our Privacy Policy and agree to its terms.
We may update our Privacy Policy from time to time. Thus, we advise you to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.
If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us.


| I l@ve RuBoard |
The following algorithms remove elements from a range according to their value or to a criterion. These algorithms, however, cannot change the number of elements. They only move logically by overwriting "removed" elements with the following elements that were not removed. They return the new logical end of the range (the position after the last element not removed). See Section 5.6.1, for details.
ForwardIterator
remove (ForwardIterator beg, ForwardIterator end, const T& value)
ForwardIterator
remove_if (ForwardIterator beg, ForwardIterator end, UnaryPredicate op)
remove() removes each element in the range [beg,end).
remove_if() removes each element in the range [beg,end) for which the unary predicate
op(elem)
yields true.
Both algorithms return the logical new end of the modified sequence (the position after the last element not removed).
The algorithms overwrite "removed" elements by the following elements that were not removed.
The order of elements that were not removed remains stable.
It is up to the caller, after calling this algorithm, to use the returned new logical end instead of the original end end (see Section 5.6.1, for more details).
Note that op should not change its state during a function call. See Section 8.1.4, for details.
Note that remove_if() usually copies the unary predicate inside the algorithm and uses it twice. This may lead to problems if the predicate changes its state due to the function call. See Section 8.1.4, for details.
Due to modifications, you can't use these algorithms for an associative container (see Section 5.6.2). However, associative containers provide a similar member function, erase() (see page 242).
Lists provide an equivalent member function, remove(), which offers better performance because it relinks pointers instead of assigning element values (see page 242).
Complexity: linear (numberOfElements comparisons or calls of op() respectively).
The following program demonstrates how to use remove() and remove_if():
// algo/remove1.cpp #include "algostuff.hpp" using namespace std; int main() { vector<int> coll; INSERT_ELEMENTS(coll,2,6); INSERT_ELEMENTS(coll,4,9); INSERT_ELEMENTS(coll,1,7); PRINT_ELEMENTS(coll,"coll: "); //remove all elements with value 5 vector<int>::iterator pos; pos = remove (coll. begin(), coll.end(), //range 5); //value to remove PRINT_ELEMENTS(coll,"size not changed: "); //erase the "removed" elements in the container coll. erase (pos, coll.end()); PRINT_ELEMENTS(coll,"size changed: "); //remove all elements less than 4 coll.erase(remove_if (coll.begin(), coll.end(), //range bind2nd(less<int>(),4)), //remove criterion coll.end()); PRINT_ELEMENTS(coll,"<4 removed: : "); }
The program has the following output:
coll: 2 3 4 5 6 4 5 6 7 8 9 1 2 3 4 5 6 7 size not changed: 2 3 4 6 4 6 7 8 9 1 2 3 4 6 7 5 6 7 size changed: 2 3 4 6 4 6 7 8 9 1 2 3 4 6 7 <4 removed: : 4 6 4 6 7 8 9 4 6 7
OutputIterator
remove_copy (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg, const T& value)
OutputIterator
remove_copy_if (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg, UnaryPredicate op)
remove_copy() is a combination of copy() and remove(). It removes each element in the source range [beg,end) that is equal to value while the elements are copied into the destination range starting with destBeg.
remove_copy_if() is a combination of copy() and remove_if(). It removes each element in the source range [beg,end) for which the unary predicate
op(elem)
yields true while the elements are copied into the destination range starting with destBeg.
Both algorithms return the position after the last copied element in the destination range (the first element that is not overwritten).
Note that op should not change its state during a function call. See Section 8.1.4, for details.
The caller must ensure that the destination range is big enough or that insert iterators are used.
Complexity: linear (numberOfElements comparisons or calls of op() and assignments respectively).
The following program demonstrates how to use remove_copy() and remove_copy_if():
// algo/remove2.cpp #include "algostuff.hpp" using namespace std; int main() { list<int> coll1; INSERT_ELEMENTS(coll1,1,6); INSERT_ELEMENTS(coll1,l,9); PRINT_ELEMENTS(coll1); //print elements without those having the value 3 remove_copy(coll1.begin(), coll 1.end(), //source ostream_iterator<int>(cout," "), //destination 3); //removed value cout << endl; //print elements without those having a value greater than 4 remove_copy_if (coll1.begin(), coll1.end(), //source ostream_iterator<int>(cout," "), //destination bind2nd(greater<int>(),4)); //removed elements cout << endl; //copy all elements greater than 3 into a multiset multiset<int> coll2; remove_copy_if (coll1.begin(), coll1.end(), //source inserter(coll2,coll2.end()), //destination bind2nd(less<int>(),4)); //elements not copied PRINT_ELEMENTS(coll2); }
The program has the following output:
1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 1 2 4 5 6 1 2 4 5 6 7 8 9 1 2 3 4 1 2 3 4 4 4 5 5 6 6 7 8 9
void
unique (ForwardIterator beg, ForwardIterator end)
void
unique (Forwardlterator beg, ForwardIterator end, BinaryPredicate op)
Both forms collapse consecutive equal elements by removing the following duplicates.
The first form removes from the range [beg,end) all elements that are equal to the previous elements. Thus, only when the elements in the sequence are sorted (or at least when all elements of the same value are adjacent), does it remove all duplicates.
The second form removes all elements that follow an element e and for which the binary predicate
op(elem,e)
yields true. In other words, the predicate is not used to compare an element with its predecessor; the element is compared with the previous element that was not removed (see the following examples).
Both forms return the logical new end of the modified sequence (the position after the last element not removed).
The algorithms overwrite "removed" elements by the following elements that were not removed.
The order of elements that were not removed remains stable.
It is up to the caller, after calling this algorithm, to use the returned new logical end instead of the original end end (see Section 5.6.1, for more details).
Note that op should not change its state during a function call. See Section 8.1.4, for details.
Due to modifications you can't use these algorithms for an associative container (see Section 5.6.2).
Lists provide an equivalent member function, unique(), which offers better performance because it relinks pointers instead of assigning element values (see page 244).
Complexity: linear (numberOfElements comparisons or calls of op() respectively).
The following program demonstrates how to use unique():
// algo/unique1.cpp #include "algostuff.hpp" using namespace std; int main() { //source data int source[] = { 1, 4, 4, 6, 1, 2, 2, 3, 1, 6, 6, 6, 5, 7, 5, 4, 4 }; int sourceNum = sizeof(source)/sizeof(source[0]); list<int> coll;. //initialize coll with elements from source copy (source, source+sourceNum, //source back_inserter(coll)) ; //destination PRINT_ELEMENTS(coll); //remove consecutive duplicates list<int> :: iterator pos; pos = unique (coll.begin(), coll.end()); /*print elements not removed *-use new logical end */ copy (coll.begin(), pos, //source ostream_iterator<int>(cout," ")); //destination cout << "\n\n"; //reinitialize coll with elements from source copy (source, source+sourceNum, //source coll.begin()); //destination PRINT_ELEMENTS(coll); //remove elements if there was a previous greater element coll.erase (unique (coll.begin(), coll.end(), greater<int>()), coll.end()); PRINT_ELEMENTS(coll); }
The program has the following output:
1 4 4 6 1 2 2 3 1 6 6 6 5 7 5 4 4 1 4 6 1 2 3 1 6 5 7 5 4 1 4 4 6 1 2 2 3 1 6 6 6 5 7 5 4 4 1 4 4 6 6 6 6 7
The first call of unique() removes consecutive duplicates. The second call shows the behavior of the second form. It removes all the consecutive following elements of an element for which the comparison with greater yields true. For example, the first 6 is greater than the following 1, 2, 2, 3, and 1, so all these elements are removed. In other words, the predicate is not used to compare an element with its predecessor; the element is compared with the previous element that was not removed (see the following description of unique_copy() for another example).
OutputIterator
unique_copy (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg)
OutputIterator
unique_copy (InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg, BinaryPredicate op)
Both forms are a combination of copy() and unique()
They copy all elements of the source range [sourceBeg,sourceEnd) into the destination range starting with destBeg except for consecutive duplicates.
Both forms return the position after the last copied element in the destination range (the first element that is not overwritten).
The caller must ensure that the destination range is big enough or that insert iterators are used.
Complexity: linear (numberOfElements comparisons or calls of op() and assignments respectively).
The following program demonstrates how to useunique_copy():
// algo/unique2.cpp #include "algostuff.hpp" using namespace std; bool differenceOne (int elem1, int elem2) { return elem1 + 1 == elem2 || elem1 - 1 == elem2; } int main() { // source data int source[] = { 1, 4, 4, 6, 1, 2, 2, 3, 1, 6, 6, 6, 5, 7, 5, 4, 4 }; int sourceNum = sizeof(source)/sizeof(source[0]); // initialize coll with elements from source list<int> coll; copy(source, source+sourceNum, // source back_inserter(coll)); // destination PRINT_ELEMENTS(coll); // print element with consecutive duplicates removed unique_copy(coll.begin(), coll.end(), // source ostream_iterator<int>(cout," ")); // destination cout << endl; // print element without consecutive duplicates that differ by one unique_copy(coll.begin(), coll.end(), // source ostream_iterator<int>(cout," "), // destination differenceOne); // duplicate criterion cout << endl; }
The program has the following output:
1 4 4 6 1 2 2 3 1 6 6 6 5 7 5 4 4 1 4 6 1 2 3 1 6 5 7 5 4 1 4 4 6 1 3 1 6 6 6 4 4
Note that the second call of unique_copy() does not remove the elements that differ from their predecessor by one. Instead it removes all elements that differ from their previous element that is not removed by one. For example, after the three occurrences of 6, the following 5, 7, and 5 differ by one compared with 6, so they are removed. However, the following two occurrences of 4 remain in the sequence because compared with 6 the difference is not one.
Another example compresses sequences of spaces:
// algo/unique3.cpp #include <iostream> #include <algorithm> using namespace std; bool bothSpaces (char elem1, char elem2) { return elem1 == ' ' && elem2 == ' '; } int main() { // don't skip leading whitespaces by default cin.unsetf(ios :: skipws); / * copy standard input to standard output *-while compressing spaces */ unique_copy(istream_iterator<char>(cin), // beginning of source:cin istream_iterator<char>(), // end of source: end-of-file ostream_iterator<char>(cout), // destination: cout bothSpaces); // duplicate criterion }
With the input of
Hello, here are sometimes more and sometimes fewer spaces.
this example produces the following output:
Hello, here are sometimes more and sometimes fewer spaces.
| I l@ve RuBoard |


{{define "body"}}
This password generator was written in Go using the Gin framework. It takes the list of the 5000 most common English words that are three letters or longer and randomly select three to six of them. You can also customize prefix, suffix, and delimiter characters for better security.
In today's world, password security is becoming more and more essential. Passwords such as "abc123" and "password" simply won't cut it -- they're an invitation for a hacker to compromise your accounts. Unfortunately many misconceptions have been spread regarding password security, such as the guideline that a password must contain a mix of lowercase and uppercase letters, numbers, and punctuation. This leads people to mangle single words with that strategy, resulting in passwords that are hard to remember, but easy to crack. "Which O's were actually zeros? And which E's were actually threes?"
I was inspired by the below comic from xkcd. It details the method for producing easy to remember, hard to crack passwords.
The math behind the passwords generated by this site is reassuring. Even if a hacker knows that your password only consists of four of the 5000 most common English words longer than three letters (and has a list of them all), and that they were all lowercase, it would take almost 20 years to crack your password (assuming 1 million guesses per second). By then, you ideally would've changed your passwords many times. If you use prefix, suffix, and delimiter characters and capitalize a word or two, it becomes exponentially harder to crack.
So click on that button as much as you like. Explore all of the settings and see which combination of words stick. Making a secure password doesn't have to be hard and remembering a secure password doesn't have to be a chore.


ABOUT
software engineer | craft beer brewer | blood donor
WORK EXPERIENCE
Software Engineer, ComplyAdvantage
June 2020 - August 2021
Backend and customer work in a highly complex project, worked on dividing a monolith into microservices.
HIGHLIGHTS
- Microservices
- Customers integration
- E2E Testing
- AWS
- Kafka
- Kubernetes
- Docker
- GitLab CI/CD
- MongoDB
- Redis
- Python
Software Engineer, Macadamian Romania
November 2015 - June 2020
Backend work for an outsourcing company - multiple projects and a lot of variety.
HIGHLIGHTS
- Rest APIs
- Customers integrations
- E2E Testing
- Python
- PostgreSQL
- Linux
- AWS
- Azure
- Docker
Python Developer, Hewlett-Packard
April 2013 - October 2015
Mainly worked with pure Python (no frameworks) - server maintenance and networking related products. Mentored the development of two students that were later hired.
HIGHLIGHTS
- Server Automation
- Linux OS
- Python
- VMware
QA Engineer, Hewlett-Packard
March 2012 - March 2013
Designed, implemented, and executed both manual and automated tests.
HIGHLIGHTS
- Python
- Linux
VOLUNTEER WORK
Coder for https://github.com/code4romania/covid-19-ro-help, Code for Romania
March 2020 - May 2020
Ro Help is a platform meant to help NGOs during an emergency situation. The NGOs can ask for donations, resources or volunteers, and users can browse the needs that various NGOs have.
https://code4.ro/ro
HIGHLIGHTS
- Python
- Django
- Docker


The password phrase will be used as an encryption key. Write it down or remember it; you won't be able to restore the file without the password.


| 003:195 Khan | : |
So their Lord accepted of them (their supplication and answered them), "Never will I allow to be lost the work of any of you, be he male or female. You are (members) one of another, so those who emigrated and were driven out from their homes, and suffered harm in My Cause, and who fought, and were killed (in My Cause), verily, I will remit from them their evil deeds and admit them into Gardens under which rivers flow (in Paradise); a reward from Allah, and with Allah is the best of rewards."  So those who fled and were driven forth from their homes and persecuted in My way and who fought and were slain, I shall truly remove their evil and make them enter Gardens wherein flow rivers -- a reward from Allah. And with Allah is the best reward. |
| 003:195 Pickthal | : |
And their Lord hath heard them (and He saith): Lo! I suffer not the work of any worker, male or female, to be lost. Ye proceed one from another. So those who fled and were driven forth from their homes and suffered damage for My cause, and fought and were slain, verily I shall remit their evil deeds from them and verily I shall bring them into Gardens underneath which rivers flow - A reward from Allah. And with Allah is the fairest of rewards. |
| 003:195 Rashad | : |
Their Lord responded to them: "I never fail to reward any worker among you for any work you do, be you male or female - you are equal to one another.  Such is the reward from GOD. GOD possesses the ultimate reward. |
| 003:195 Sarwar | : |
Their Lord answered their prayers saying, "I do not neglect anyone's labor whether the laborer be male or female. You are all related to one another.  It will be their reward from God Who grants the best rewards." |
| 003:195 Shakir | : |
So their Lord accepted their prayer: That I will not waste the work of a worker among you, whether male or female, the one of you being from the other; they, therefore, who fled and were turned out of their homes and persecuted in My way and who fought and were slain, I will most certainly cover their evil deeds, and I will most certainly make them enter gardens beneath which rivers flow; a reward from Allah, and with Allah is yet better reward. |
| 003:195 Sherali | : |
So their Lord answered their prayers, saying, 'I will suffer not the work of any worker from among you, whether male or female, to be lost. You are from one another. Those, therefore, who have emigrated, and have been driven out of their homes, and have been persecuted for MY cause, and have fought and been slain, I will surely remit from them their evil deeds and will cause them to enter gardens through which streams flow - a reward from ALLAH, and with ALLAH is the best of rewards. |
| 003:195 Yusufali | : |
And their Lord hath accepted of them, and answered them: "Never will I suffer to be lost the work of any of you, be he male or female: Ye are members, one of another: Those who have left their homes, or been driven out therefrom, or suffered harm in My Cause, or fought or been slain,- verily, I will blot out from them their iniquities, and admit them into Gardens with rivers flowing beneath;- A reward from the presence of Allah, and from His presence is the best of rewards." |
Concepts/Themes Covered: أركان الإسلام > (محمد (صلى الله عليه وسلم > هجرته ومنزلة المهاجرين Pillars of Islam> The Blessed Muhammad(PBUH)> His Immigration and the Immigrants Rank الإيمان > الغيب > الجنة > أصحاب الجنة Faith> The Unseen World> The Paradise> The Companions of the Garden الإيمان > الغيب > الجنة > صفات الجنة Faith> The Unseen World> The Paradise> Characteristics of Paradise الإيمان > اليوم الآخر > ثواب الدنيا والآخرة Faith> The Hereafter> The Reward of the World and the Hereafter الإيمان > اليوم الآخر > الجزاء بالعمل Faith> The Hereafter> The Award against Action الدعوة إلى الله > حدودها > الاضطهاد بسبب العقيدة ظلم لا يجوز The Call for Allah> Its Limits> Persecution due to Belief is Impermissible Oppression الجهاد > الشهداء > منزلتهم وما أعد الله لهم Jihad>The Martyrs> Their Rank and What Allah has Prepared for them الجهاد > نتائج الحرب > الهزيمة Jihad> The War Results> The Defeat الجهاد > الهجرة > ثواب المهاجرين Jihad> The Immigration> The Immigrants' Reward العمل > المسؤولية > مسؤولية المرء عن عمله Action(Work)> Responsibility> Every one is Responsible for What he/she has Done الإنسان والعلاقات الاجتماعية > الرجل والمرأة Man and The Social Relations>Man and Woman
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


The goal of jplots is to provide some customized plot functions.
You can install the development version of jplots from GitHub with:
The function geom_area_bar
constructs variable-width bars. Unlike the width
parameter to geom_bar
, this treats the x axis as a numeric scale. For this reason there is no gap between the area_bars (as the gap would create offset on x-axis scale).
suppressPackageStartupMessages(library(ggplot2))
library(jplots)
ggplot(ei_ex,
aes(x = vos,
y = ei,
fill = naics)) +
geom_area_bar(color = "black")
There are also custom functions to create an “envelope” around a set of lines, as a way to summarize multiple series.
This version uses the envelope_fig
function which constructs the entire plot:
However, this approach is not as flexible as using the official ggplot2 extension approach. The following approach extends geom_ribbon
with a new function geom_envelope
that calculates the minimum/maximum value of y
at each value of x
and draws an envelope around that range.
ggplot(aeo_ex,
mapping = aes(x = year,
y = emissions)) +
facet_grid(. ~ fuel) +
geom_line(aes(group = scenario),
color = "light blue") +
geom_envelope(aes(fill = fuel))
This approach allows re-mixing the geometry in different ways, e.g., without the facetting:
ggplot(aeo_ex,
mapping = aes(x = year,
y = emissions)) +
geom_line(aes(group = interaction(fuel, scenario)),
color = "light blue") +
geom_envelope(aes(fill = fuel, group = fuel))
One important detail: the line geom and the envelope geom have different groupings, so the group aesthetic will have to be specified in one or both geoms. The interaction
function is useful to group by the interaction of two variables on the fly.


An example where a group of checkbox buttons filter the choices of a select dropdown.
Dependent dropdown have a default value as `Select a city` we specify on the intialization that this value should never dissapear and gets selected when the sibling values are filtered.


As we all know that “Philadelphia Marathi Mandal” is celebrating the Golden Jubilee year in 2021.
The PMM 50 years committee is happy to announce the “Logo & Slogan Competition” for all the marathi community. We are inviting you all to come and participate in this competition To participate in the PMM - Logo & Slogan competition, kindly submit your entries by June 30th 2021.
There will be a winner for best Logo and Slogan.
Logo
One entry / Per Person (the latest entry will be counted)
Any Text added to the Logo should only be in Marathi
Logo should have “Philadelphia Marathi Mandal” name which is mandatory plus should have something to signify 50 years/Golden Jubilee celebration
Logo can be in any shape
Size - should fit in 2 inches * 2 Inches size
Format for logo - jpeg or png and High resolution.
Slogan
One entry / Per Person (the latest entry will be counted)
Any Text on the Slogan can be in Marathi or English
Slogan can have max 12 words
Any font can be used for the Slogan


fun Number.isOdd(): Boolean
Checks whether the number is odd or not.
Return True if the Number is odd.
Author bright_spark


Async/Await are awesome
It just became apparent to me that an async function that is called returns a Promise and that is really great. The reason is that there are few libraries that work great with it, including server for Node.js and Jest.
Good news: from Node.js 7.6 you have native async/await support!
Server middleware
By building Comments Network I learned a couple of tricks. If we were to do it naively we could implement it like this with server:
// Promise-based requests
server(get('/story/:id', ctx => {
request(`API CALL${ctx.req.params.id}`).then(api => {
request(`HN${api.url}${ctx.req.params.id}`).then(hn => {
// Do some work with `api` and `hn` here
ctx.res.send(workedout);
});
});
}));
// Async/Await based requests
server(get('/story/:id', async ctx => {
const api = await request(`API CALL${ctx.req.params.id}`);
const hn = await request(`HN${api.url}${ctx.req.params.id}`);
// Do some work with `api` and `hn` here
return workedout;
}));
You can use it now and forget about messy Promises and Callback Hell. Of course you will have to use libraries that are based on Promises as well, since some of the popular Node.js libraries such as fs
and request
are callback-based (check out fs-promise
and request-promises
).
Testing
Now let’s see about Jest. By default, Jest and other testing frameworks accept two ways of doing asynchronous tests. Through a function that accepts a done
parameter or through a function that returns a Promise. But thanks to async
the third option is a no-brainer (see it live):
// Callback based
it('can be loaded', done => {
drive.load().then(db => {
expect(db.data).toEqual(jasmine.any(Array));
expect(db.data.length).toBeGreaterThan(0);
done();
}).catch(done);
});
// Promise based
it('[promise] can be loaded', () => {
return drive.load().then(db => {
expect(db.data).toEqual(jasmine.any(Array));
expect(db.data.length).toBeGreaterThan(0);
});
});
// Async/Await based
it('[async] can be loaded', async () => {
const db = await drive.load();
expect(db.data).toEqual(jasmine.any(Array));
expect(db.data.length).toBeGreaterThan(0);
});
That’s it. You don’t even need a return as functions return when finished so they will resolve then as expected.
HOWEVER not everything is as great as it looks. Testing for a case where an error is thrown is quite more difficult with async
:
// Callback based
it('can be loaded', done => {
drive.load().catch(err => done());
});
// Promise based
it('[promise] can be loaded', () => {
let passed = false;
return drive.load().then(db => {
passed = true;
}).catch().then(() => {
if (passed) throw new Error('Did not throw an error');
});
});
// Async/Await based
it('[async] can be loaded', async () => {
try {
const db = await drive.load();
} catch (err) {
return;
}
throw new Error('Did not throw an error');
});
But the good news is that with a bit of code you can fix this:
throws = cb => async () => {
try {
const res = await cb();
} catch(err) {
return;
}
throw new Error('No error was thrown');
};
Then you can use it like this with async/await; back to the good bits:
it('[async] can be loaded', async () => {
await throws(() => drive.load());
});
The future for Javascript is looking quite good even though there’s a long, fragmented road to get there. I’m building server for Node.js to get there faster, subscribe or follow me to get updates!


--- layout: post status: publish published: true title: VMworld 2010 - Opening Movie for the Opening Keynote author: display_name: iguy login: iguy email<EMAIL_ADDRESS>url: '' author_login: iguy author_email<EMAIL_ADDRESS>wordpress_id: 538 wordpress_url: http://itsjustanotherlayer.com/?p=538 date: !binary |- MjAxMC0wOS0wMyAxNzoyMDowOCAtMDUwMA== date_gmt: !binary |- MjAxMC0wOS0wMyAyMjoyMDowOCAtMDUwMA== categories: - VMware tags: - cloud - VMware - vmworld comments: [] ---
Do you want to know what the cloud is? Watch this and learn.
[youtube]cxpmyla-IXU[/youtube]
One of the better opening keynotes in a while. It answers the question of "What is the cloud?" in a way that everyone can agree on. Thanks to @jtroyer & @tony_dunn for getting this available.


This is just a sandbox for development.
Youtube video
Local video, single source, with poster
Local video with poster and resolution test, dark skin
Local video with poster and resolution test light skin
Local video with poster opened in lightbox
Open the lightbox
Youtube opened in lightbox
Open the lightbox