JACQUELINE PRAGER DEVINE
UCONN DIGITAL MEDIA & DESIGN
Singer/songwriter FLETCHER released the song “I Believe You” on March 9, 2018. In a letter quoted in a Billboard article, FLETCHER wrote:
“This song is for all of the amazing women I work with every day who have been felt up, shut up and kicked down. And for all the women whose stories I haven’t heard, this song was made to let them know that I’m listening, we all are.”
She donated the proceeds of the song to the Time’s Up Legal Defense Fund, a nonprofit launched in the wake of the #MeToo movement.
“Time’s up for the sexual violence and the silence that surrounds it. Time’s up for gender inequality. [...] The proceeds of this song will be donated to Time’s Up legal defense fund for Women’s History Month,” she said.
FLETCHER’s used her art and celebrity to stand solidarity with victims of sexual abuse and donated to an organization that supports that cause. But how did the partnership happen? Where did it start? How do the right organizations partner with the right creators? Who orchestrates those deals?
Five months earlier, on October 15, 2017, actress Alyssa Milano sent out a tweet as a call to action for those who had been sexually harassed or assaulted in their lifetime. The viral response to two words launched the rebirth of the movement against sexual misconduct and assault.
“Me Too”, and its now ubiquitous hashtag #metoo, was echoed across social media platforms, news outlets and households across America, sparking a long-overdue, and at times, painful, conversation among men and women.
The movement was solidified by the creation of various forms of art: namely, music. Songs like “I Believe You” by FLETCHER and “Praying” by Kesha made headlines as anthems for those who had been affected by sexual violence. But these songs did not stand alone in their space; the artists promoting this music used their reach to create more social change by partnering with nonprofit groups associated with the movement.
FLETCHER partnered with nonprofits like “Time’s Up” and “It’s On Us” and donated the proceeds from the song and associated merchandise to the organizations. And Kesha partnered with “RAINN” while promoting “Praying.”
This in-depth story will unpack these partnerships, how they formed and how the movement affected the listeners – in positive and, as it turns out, negative ways. What’s known as the “me too.” movement started in 2006 when activist Tarana Burke first coined the phrase. Burke wrote on the “me too.” website that the movement began from the deepest, darkest place in her soul.
“As a youth worker, dealing predominately with Black children and children of color, I had seen and heard my share of heartbreaking stories,” she wrote on the “me too.” movement website. While working at a youth summer camp, she met a young girl named Heaven who revealed privately that she was being molested by her stepfather.
“I listened until I literally could not take it anymore-/which turned out to be less than 5 minutes.
Burke wrote that though she loved Heaven, she could not find it in herself to reveal that she, too, had experienced a similar pain.
“As much as I loved her, I could not muster the energy to tell her that I understood, that I connected, that I could feel her pain,” she wrote.
In the years that have followed Burke’s activism, she has worked to, “[...] help survivors of sexual violence, particularly Black women and girls, and other young women of color from low wealth communities, find pathways to healing.”
This local, grassroots work Burke had spent 11 years building changed suddenly when the tweet from Milano sparked almost 1 million tweets in 48 hours.
The country woke up to headlines of celebrities declaring “me too.” across all forms of social media. Household names like Gabrielle Union, Salma Hayek, America Ferrera and Reese Witherspoon were among the many that spoke up in support of the rising movement against sexual misconduct and assault.
Shortly thereafter, the organization “Time’s Up” was launched in order to stand in solidarity with victims of abuse across the country and all industries. In a letter signed by over 300 women in the film industry.
“Now, unlike ever before, our access to the media and to important decision makers has the potential of leading to real accountability and consequences.
Many of those who signed the document posted the letter on their social media accounts, flooding the internet with messages of solidarity. In the following months, entertainers continued to create content that was centered around the movement.
So, when artists began to speak out, in some cases, their work began to reflect the position they had taken. FLETCHER’s “I Believe You” had almost 1,300 mentions on social media during the week it was released and over the following three months, her single got at least 3,700 mentions with at least 8,200 engagements.
By partnering with “Time’s Up,” FLETCHER chose to align her art alongside activism.
Another popular example came from singer/songwriter Kesha. Her single “Praying” spent 21 weeks on the Billboard Hot 100 chart and made waves due to its ties to the allegations she brought against producer Lukasz Sebastian Gottwald or, Dr. Luke, in 2014. Kesha filed a civil suit claiming infliction of emotional distress, gender-based hate crimes and employment discrimination.
An article written by Kory Grow from Rolling Stone detailed the allegations.
“Kesha has filed a lawsuit against producer Dr. Luke, claiming he “sexually, physically, verbally and emotionally abused” her over the past decade that has “put her life at risk,” according to the suit. The suit says that Luke, whose real name is Lukasz Gottwald, began making sexual advances toward her from the time she signed with him at age 18 and that he allegedly forced her to imbibe drugs and alcohol to lower her inhibitions.
Although “Praying” was released just 3 months before the #MeToo wave, Kesha used her platform to partner with the organizations RAINN (Rape, Abuse & Incest National Network). Through a partnership with PLUS1, a portion of the proceeds from her then-tour would be donated to RAINN.
These examples, from FLETCHER and Kesha, are just two of the many partnerships that came together during the wake of #MeToo. And while there is a human side of us that believes these celebrities are partnering purely out of the goodness of their heart, there may also be self-interest at play.
Megan Sykes is a music brand partnerships agent at Creative Artists Agency (CAA)’s Nashville office. CAA is a leading entertainment and sports agency. Part of Sykes job is to “find brand partners for our artists,” she said. These partnerships can come in a number of different ways but the first step is getting to know the artists. Sykes, who started working at the agency in 2008, said that while some artists are specific about the brands/non-profits with which they’d like to partner, others just want partners. This means cold-calling, pitching deals and traveling. As a agent since 2013, Sykes manages these partnerships from start to finish.
Sykes works across the entire CAA roster, working on partnership deals as low as $5,000 and upwards into 7-figures. Sykes said nonprofit organizations have a media budget and, in some cases, partnering with an artist can help to amplify their message.
Michael Skolnik is the co-founder of The Soze Agency in Brooklyn, New York. He has been working in partnerships for the duration of his career.
“My entire career has been working with influencers on campaigns,” he said.
Skolnik reiterated that most nonprofits have money to spend in order to spread their message. “Bigger nonprofits are paying 6-figures, 7-figures for some bigger campaigns,” he said. “Smaller ones, five thousand dollars, 10 thousand dollars [...] but big ones, you know, 15k a month, 25k a month, 50k a month.”
And as much as we, the public, want to believe that these influencers are taking a stand on their own terms, Skolnik said “it’s all doctored” and “nothing is a fluke.”
Partnerships can materialize in a number of different ways, according to Sykes. Sometimes a brand reaches out to an artist or CAA in search for a partner, but she said it’s more likely that the artist comes forward with an idea and with whom they would like partner.
It starts by, “sitting down with the client and getting to know who they are when they’re not on stage or not writing,” Sykes said.
And when it comes to taking a stand on highly charged emotional or political issues such as sexual misconduct and assault, sometimes artists can be hesitant to make waves. When asked if artists ever get scared to get involved with a social activism campaign, Skolnik replied “all the time.”
“It’s very important when you are working with influencers and artists that you’re not like ‘you should be doing more, what’s wrong with you, you’re not loud enough,’” Skolnik said. “Some are new, newly famous, scared [...] you gotta hold their hand.”
And at The Soze Agency, these influencers are not paid to promote the social impact campaigns they are working on. Part of this is due to Skolnik’s connections in the music industry–having worked as the President and Editor-In-Chief at Global Grind, viral news platform, for almost seven years.
“We don’t pay any of our celebrities or influencers. We don’t have those transactional relationships; these are friends, you call them up and say ‘what can we do together?’,” he explained.
Skolink said some agencies pay celebrities or influencers to promote a campaign, but for him it’s more about building meaningful relationships with these people than making money.
 “I have a lot of relationships so [...] we didn’t really go to agencies for talent.”
Nonprofit organizations partner with artists to amplify their message, Sykes said. The organizations hope for more exposure and to reach an audience that it would not be able to reach on its own.
Sykes also said that when artists advocate for issues like sexual assault, partnering with a legitimate advocacy organization makes it all more credible.
“Adding something like a Time’s Up makes it more credible and makes the message [...] larger,” she said.
Artists can use their social media channels to show fans what they are passionate about, Sykes said.
“Social media documents every aspect of someone’s life,” Sykes said. “They want to show their fans more sides of them.”
When it comes to non-profits, Sykes said that artists want to be more than someone just promoting a brand. “Fans can sense when someone is being paid to promote something and just push something,” she said.
CAA also allows artists to create their own nonprofits through the CAA Foundation based out of the LA office. The difference between the partnerships born out of the foundation and those that are formed between the artist and brand is that the CAA Foundation partnerships do not bring in revenue for the company. But, Sykes said, the foundation is not meant to bring in revenue and when an opportunity presents itself to the agency that is unpaid, it goes directly to the foundation.
Time’s Up was developed by CAA clients. Reese Witherspoon, Nicole Kidman, entertainment lawyers in Los Angeles and many others booked a conference room at CAA and sat there all day to develop the organization, Sykes said.
“Reese reached out to CAA and wanted to do something,” Sykes said.
And while the organization has made a name for itself over the least year, it still needs $30 million to do everything they need, Sykes said.
Singer/songwriter Jessica Lá Rel contributed to the “me too.” movement’s website’s blog in October of 2018, roughly one year after actress Alyssa Milano’s tweet. Lá Rel’s article not only explores the ways in which artists can use their craft to cope with pain as a result of sexual abuse, but also serves as a cautionary tale for those who haven’t fully processed their trauma.
The song often referenced in the piece, “After War,” was written during her final year at Stanford after coming back from a semester abroad.
“While I was abroad I ended up in an unfortunate series of events and dealt with my first experience with sexual assault,” she said.
When she returned to campus, she began to contemplate what these events meant to her, and how they impacted her life.
“I was trying to navigate life and what it mean to have all these experiences,” she said. “[I was] in the process of trying to work through what was going through my mind and in my heart.”
Lá Rel then turned to songwriting as a means of coping with the experience.
“I wanted to do something that felt mutually beneficial,” she said. “I wanted to write something that allowed me to pin hope into my own heart.”
Lá Rel collaborated with the founder of the Me Too Movement, Tarana Burke, to relaunch the online platform, metoomvmt.com. The site serves as a place to host resources, advocacy opportunities and news about the movement.
“[I was] working with publicist who was also Tarana’s publicist,” she said. “I had already talked to her about my desire to continue the work for advocating for survivors.”
Lá Rel’s publicist told her that Burke was getting ready to launch the platform and that the team wanted to put together toolkits and make the site a place for both survivors and advocates.
When it comes to partnerships that occur between artists and nonprofits, Lá Rel said she can be skeptical about the relationship.
“There are a lot of different angles to it,” she said. “I myself have been very wary of mainstream icons who have partnered with organizations.”
Lá Rel said that right now, it’s trendy to be political and to independent artists it can feel like a slap in the face. She said that the partnerships can feel more “clickbaity” if you consider the rest of the artist’s career.
“For me, I’m a bit wary, as a result of that, of putting a lot of investment in partnering with an organization because I recognize there’s lots of reasons to hesitate, from an organizational standpoint, to invest in an artist they don’t know,” she said.
Lá Rel said that partnerships can have gains and losses on both ends. There’s a certain degree of benefit of partnering with high-profile artists because their work is put on a national scale, she said.
“Organizations can be skeptical of artists they don’t know,” she said. “They are more open to taking a risk with a high-profile artist.” When it comes to emerging artists or lesser known artists, Lá Rel said the benefits to the partnerships can feel one-sided because you have to wonder what the organization gets in return?
For big partnerships with more well-known organizations and artists, Lá Rel suggests asking “What is the nature of the partnership?” Is the artist getting involved in raising money, creating content for the nonprofit or is the artist just “in name” and the partnership does not go deeper than a surface endorsement?
Skolnik had a different take; that recent influencer campaigns have been effective. He made note of Taylor Swift’s partnership with Vote.org.
“[...] she got hundreds of thousands of kids to sign up and vote,” he said.
Skolnik said he asked actress Zendaya to also put on her Instagram a message to register to vote. “She did it, she got 40,000 people to sign up to vote.”
But Skolnik said that reach is hard. “ [...] there’s no distribution network for it unless a celebrity has their own.” This, then, supports Lá Rel’s argument; that non-profits wouldn’t want to work with smaller artists.
Tarana Burke, founder of the “me too.” movement, said that when it comes to partnering with influencers, or celebrities, it can be helpful but we should also be careful.
Jacqueline Prager Devine: “I wanted to talk to you about, or I guess ask you about, the influencer surge that happened since “me too.” exploded on social media and how you feel about influencers who have partnered with nonprofits in support of the movement”
Tarana Burke: “Are you using the word ‘influencers’ like ‘celebrities’?”
JPD: “Yeah!”
TB: “Oh, ok.”
JPD: “But I study singers specifically; so people like Kesha, Lady Gaga, and I actually spoke with Jessica Là Rel who wrote a piece for the ‘me too.’ movement website.” [...] “So I just was curious about your opinion about the partnerships that exist between celebrities and nonprofits to support the movement.”
TB: “I like it, I think it’s helpful. One, because of the way ‘me too.’ started with this Hollywood thing, with Weinstein, it involved so many high profile people, or influencers, or what have you, so it feels somewhat connected to this.

“And the reason that I did that was because in the work we were doing, in our workshops, I used their stories and it was always the moment that most resolated with our students. As much as I criticize ‘celebrity’ -- I see it both ways.
“I also understand its usefulness […]. I think there’s a fine line between using influencers or celebrities to amplify an issue and looking to them for the answers around that issue. We have to be careful about not crossing that line because we get these weird messages.
“The other thing about people who are influential is that we assign them a level of intelligence [...] wisdom.
“Why do we ask these people who, this is not their work? I think it is useful but I think we have to be careful.”
JPD: “Thank you so much.”
TB: “You’re welcome.”
Lá Rel said that her music is “so much so about pushing the needle forward.” Speaking up about injustice is built into her work. Since she has always gravitated toward artists who didn’t brand themselves as an activist but their art alone was active, she wanted her music to serve a similar purpose.
“It’s all about [...] thinking about matters of life, love and justice,” she said.
Skolnik said artists are always a part of social movements.
“Artists are always the first ones to challenge the world, this is no innovation,” he said. “There has always been integration of art and social justice or art and activism.”
Throughout our interview, Skolnik often referenced one of Harry Belafonte’s famous quotes: “When the movement is strong, the music is strong.”
Skolnik said that he believes if you fund the movement, then the art will be a reflection of that movement.
“Right now the movement is strong,” he said. “ [...] the music is strong, and that’s why you have great art being made right now; it’s a reflection.”
Skolnik also made mention of historically political voices in the music industry such as Nina Simone, Billie Holiday, Joan Baez, Joni Mitchell, Janis Joplin and Beyoncé.
Lá Rel believes that when it comes to social media’s part in the “me too.” movement it is a blessing and a curse.
“The beauty of it is that things have the ability to catch fire,” she said. “Just as quickly… it can be put our or fizzle.”
She said that often times, social media has the power to do more than historical channels but the challenge begins when you start to consider what percentage of people find justice through social media.
“If the goal is more so to spread awareness, is that measurable?” she asked. “People’s experiences then have the capability to feel truncated to posts of photographs.”
Sometimes, she said, people find solidarity in that but sometimes it can make people feel lost.
What can happen then, she said, is that “there’s this threat to those who don’t have something to immediately packaged to say [...] if something happened and you didn’t respond on social media, it was almost as if you had turned your back.”
Lá Rel said that the “call-out” culture does not let people process internally in ways that go beyond social media. “We have put so much stock in our virtual process that it has begated every aspect of who we are.”
Lá Rel, who is a program manager at Stanford University in the African and African-American Studies program, said that while this movement provided a great space for “blooming advocates,” she witnessed the movement retraumatize victims of sexual abuse. She said that when Burke launched the “me too.” movement, she was not trying to incite everyone to resurface explicit details again and again.
Of those that were active in the recent movement, Lá Rel said that those who had been recently traumatized by sexual abuse were the most involved and those who had been traumatized some time ago were less likely to get involved.
“Some wanted to lead the charge but some felt like it was bringing back incredible hurt for them,” she said. “For those who had long standing histories it seemed to be very difficult.”
Aida Manduley, a therapist in Boston, echoed this sentiment and said in a 2017 CNN article that some of their clients feel the pain has become inescapable.
“I am concerned with the victims of sexual trauma and violence who are saying to me 'I can't get away from the trigger, it's everywhere,'" they said. "It leaves that person very exposed and vulnerable, especially if friends or loved ones don't respond or respond unfavorably, such as questioning if the abuse was real."
Clinical psychologist and trauma specialist Linda Curran was quoted in the same article saying that sharing your story isn’t always heroic and can be retraumatizing. "Making your history public should only be done when you feel resourced enough to tolerate the effects of the disclosure," she said.
Manduley suggested that if individuals want to join the movement without oversharing, there are several ways to get involved.
"The first level might be witnessing, such as liking posts," they said, "and then signal boosting, such as re-sharing articles and comments.
"A step above that might be to like and share with some commentary [...] and a step above that might be to give a bit more personal information, even if it's just #MeToo."
Another part of this conversation is what often gets lost in the media; the “me too.” movement isn’t new and that experiences of women of color have been brushed aside by the stories of white women.
“Press has a lot to do with this,” Lá Rel said. “The way that the movement was marketed, to some extent it felt like erasure, but in some ways it felt like neglent”
Lá Rel said it felt like a tell tale sign of how things could go. Some think that this “erasure” is deliberate and that it’s part of a larger issue.
“[There] isn’t as much historical knowledge of what has been done,” Lá Rel said. “Tarana has been doing the work for such a long time [there is a] moment of deja vu and relevance of black women.”
Because of this, Lá Rel said that women of color have questioned their involvement and walked away from marches because it is emotion labor to have to explain constantly why this work is relevant and “constantly justify [your] presence.”
Lá Rel said “you are not obligated to do that work or educate other people on why your humanity is justified.”


|
Groovy 2.1.7 | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.servlet.http.HttpServlet groovy.servlet.AbstractHttpServlet
public abstract class AbstractHttpServlet extends HttpServlet
A base class dealing with common HTTP servlet API housekeeping aspects.
Also implements Groovy's ResourceConnector in a dynamic manner. It allows you to modify the resource name that is searched for with a replace all operation. See Pattern and Matcher for details. The servlet init parameter names are:
resource.name.regex = empty - defaults to null resource.name.replacement = empty - defaults to null resource.name.replace.all = true (default) | false means replaceFirst()Note: If you specify a regex, you have to specify a replacement string too! Otherwise an exception gets raised.
This implementation provides a verbosity flag switching log statements. The servlet init parameter name is:
verbose = false(default) | true
In order to support class-loading-troubles-debugging with Tomcat 4 or higher, you can log the class loader responsible for loading some classes. See GROOVY-861 for details. The servlet init parameter name is:
log.GROOVY861 = false(default) | true
If you experience class-loading-troubles with Tomcat 4 (or higher) or any other servlet container using custom class loader setups, you can fallback to use (slower) reflection in Groovy's MetaClass implementation. Please contact the dev team with your problem! Thanks. The servlet init parameter name is:
reflection = false(default) | true
| Field Summary | |
|---|---|
static String |
CONTENT_TYPE_TEXT_HTML
Content type of the HTTP response. |
static String |
INC_PATH_INFO
Servlet API include key name: path_info |
static String |
INC_REQUEST_URI
|
static String |
INC_SERVLET_PATH
Servlet API include key name: servlet_path |
protected String |
encoding
Encoding to use, becomes charset part of contentType. |
protected boolean |
reflection
Mirrors the static value of the reflection flag in MetaClass. |
protected Matcher |
resourceNameMatcher
Either |
protected boolean |
resourceNameReplaceAll
The replace method to use on the matcher. |
protected String |
resourceNameReplacement
The replacement used by the resource name matcher. |
protected ServletContext |
servletContext
Servlet (or the web application) context. |
protected boolean |
verbose
Controls almost all log output. |
| Constructor Summary | |
AbstractHttpServlet()
Initializes all fields with default values. |
| Method Summary | |
|---|---|
URLConnection
|
getResourceConnection(String name)
Interface method for ResourceContainer. |
protected String
|
getScriptUri(HttpServletRequest request)
Returns the include-aware uri of the script or template file. |
protected File
|
getScriptUriAsFile(HttpServletRequest request)
Overrides the generic init method to set some debug flags. |
void
|
init(ServletConfig config)
|
protected void
|
setVariables(ServletBinding binding)
Override this method to set your variables to the Groovy binding. |
| Field Detail |
|---|
public static final String CONTENT_TYPE_TEXT_HTML
public static final String INC_PATH_INFO
public static final String INC_REQUEST_URI
public static final String INC_SERVLET_PATH
protected String encoding
protected boolean reflection
protected Matcher resourceNameMatcher
null
or a compiled pattern matcher read from "resource.name.regex
"
and used in AbstractHttpServlet#getScriptUri(HttpServletRequest)#getScriptUri(HttpServletRequest).
protected boolean resourceNameReplaceAll
true - replaceAll(resourceNameReplacement); (default) false - replaceFirst(resourceNameReplacement);
protected String resourceNameReplacement
protected ServletContext servletContext
protected boolean verbose
| Constructor Detail |
|---|
public AbstractHttpServlet()
| Method Detail |
|---|
public URLConnection getResourceConnection(String name)
protected String getScriptUri(HttpServletRequest request)
request
- the http request to analyze
protected File getScriptUriAsFile(HttpServletRequest request)
config
- the servlet configuration provided by the container
public void init(ServletConfig config)
protected void setVariables(ServletBinding binding)
All variables bound the binding are passed to the template source text, e.g. the HTML file, when the template is merged.
The binding provided by TemplateServlet does already include some default variables. As of this writing, they are (copied from ServletBinding):
And via implicit hard-coded keywords:
The binding also provides convenient methods:
Example binding all servlet context variables:
class MyServlet extends TemplateServlet {
protected void setVariables(ServletBinding binding) {
// Bind a simple variable
binding.setVariable("answer", new Long(42));
// Bind all servlet context attributes...
ServletContext context = (ServletContext) binding.getVariable("context");
Enumeration enumeration = context.getAttributeNames();
while (enumeration.hasMoreElements()) {
String name = (String) enumeration.nextElement();
binding.setVariable(name, context.getAttribute(name));
}
}
}
binding
- to be modified
Copyright © 2003-2013 The Codehaus. All rights reserved.


Max and Jack's Awesome Thermotron
Current Temp:
20
Target Temp:
25
Current-usage
Medium
UP
DOWN
POWER SAVE
RESET
USAGE


DPM: Communities capable of being agents of change
IPOH, Nov 23 — Communities are capable of becoming agents of change and game changers if given systematic guidance and training, said Deputy Prime Minister Datuk Seri Dr Wan Azizah Wan Ismail.
Dr Wan Azizah, who is also Women, Family and Community Development Minister, said a responsible community could also help the government address local issues such as on social and welfare.
“I believe the role of the community is very important in helping the people, especially the ministry’s target group, to continue living in peace and prosperity.
“The Women, Family and Community Development Ministry through the Social Welfare Department (JKM) supports the concept of community-based approach as a way to assist the people in improving the quality of life,” she said at the launching of the Perak-level “Program Santuni Rakyat” (PSR) in Meru Raya here today.
The text of her speech was read out by Deputy Women, Family and Community Development Minister Hannah Yeoh.
Meanwhile, Dr Wan Azizah said as of October 31, 134,674 women had registered with the Suri Incentive Scheme (i-Suri), of which 7,382 of them were from Perak.
“I urge all eligible housewives out there to take advantage of this scheme and seize the opportunity to guarantee your social security in the future,” she said.
On the PSR, Dr Wan Azizah said it was a link between the community, especially those in need, and various government agencies, corporate sector and non-governmental organisations, which were ready to provide assistance and services for the well-being of the people.
She said the PSR in Ipoh was a continuation of a series of PSR being implemented from last year in Selangor and in Johor, Pahang, Sarawak, Kedah and Melaka this year. — Bernama


{% if errors %}
This is what we think might be wrong with it:
{% for e in errors %}
{{ e|safe }}
{% endfor %}
{% else %}
Our system was not able to find any problems with this sentence.
This does not mean the sentence does not have any problems with it.
{% endif %}


This page details the testing strategies that we will be adpoting to ensure the our PoC will be working properly.
Unit Testing
We had conducted research on Flask-Testing and pytest for our unit testing strategy. Flask-Testing is a Flask extension that provides us with a set of test utilities tools to conduct unit test on our codes. Pytest is a mature features-rich testing tool that can be used on any Python programs. We decided to use pytest because it has comprehensive documentation and there are plenty of troubleshoot resources available online.
We need to add pytest
and pytest-flask
to our requirements.txt and then run pip install -r requirements.txt
. Test cases are written in individual Python file located at /app-name/tests/
. A shell script was written to run the test cases.
Acceptance Testing
Acceptance tests are used to verify that a story (requirement) is complete. The tests are described in plain English and ensures the software, as a whole, is feature complete.
For acceptance testing, we will be using Lettuce. The test cases will be written in Gherkin Syntax. We need to write 2 files, Feature and Step. Feature files are written in plain English, and specify the area of the application that the tests cover. It include 3 key areas, Feature, Background and Scenario. Feature is a descripion of the feature to be tested. Background is executed before Scenario and setup the necessary conditions before running the test. Scenario define the test. Step file match each line in the Scenario to the Python code through Regular Expressions.
Web Testing
Besides conducting unit testing and acceptance, we will be conducting web testing using Selenium. It a toolkit that allows us to run our web application on a selected browser and conduct test case on it. We will be using Selenium IDE which record the sequence of user’s actions and clicks in each test case. We will then run all the suite of all the test cases to start the automated testing process.
Unit Testing on Prototype
For our Term 1 prototype, we ran a few test cases checking the functionality of user management. The test cases include tesing if user can change password, edit their title, and first name and last name. The source code for the test cases are located at https://github.com/UCL-CS35/incdb-user/blob/master/tests/test_user_management.py.
To run the test, at the project folder, type ./runtests.sh
. The image below is the result of running the test cases.


Inferences
The above map highlights two important aspects related to UFO sightings and Airports in the US.
Regions with darker shades of blue have more number of sightings near airports, whereas as the shades lighten, the number of sightings around airports decreases. This measure is represented as a percentage to give us a relative understanding of the density of UFO sightings. Secondly, the yellow and orange points plot the top 1000 sightings closes to aiports.
One would usually expect the results to be dense near the west coast (SF/CA) and east coast (NY) but we see some surprising results! The top 1000 sightings closes to airports are in Montana and Wyoming.
UFO sightings in United States representing population counts


import GridIndex from "./GridIndex";
import Cell from "./Cell";
/**
* @module Maze
*/
/**
* 2D Grid of {@link Cell} objects containing maze data generated using explicit recursive depth-first search.
*
* Explanation from Wikipedia as follows:
*
* A disadvantage of the recursive implicit stack approach is a large depth of recursion.
* In the worst case, the routine may need to recur on every cell of the area being processed, which may
* exceed the maximum recursion stack depth in many environments. As a solution, the same backtracking method
* can be implemented with an explicit stack, which is usually allowed to grow much bigger with no harm.
*
* [Wikipedia]{@link https://en.wikipedia.org/wiki/Maze_generation_algorithm#Iterative_implementation}
*
* Algorithm:
* 1. Choose the initial cell, mark it as visited and push it to the stack.
* 2. While the stack is not empty.
* 1. Pop a cell from the stack and make it a current cell.
* 2. If the current cell has any neighbours which have not been visited.
* 1. Push the current cell to the stack.
* 2. Choose one of the unvisited neighbours.
* 3. Remove the wall between the current cell and the chosen cell.
* 4. Mark the chosen cell as visited and push it to the stack.
*/
class Maze {
constructor(rows, columns) {
/** @property {int} rows Maximum number of rows in the maze. */
this.rows = rows;
/** @property {int} columns Maximum number of columns in the maze. */
this.columns = columns;
/** @property {Array.Cell[]} cells 2D Array of [Cells]{@link Cell} */
this.cells = Array.from({length: rows}, (_, r) =>
Array.from({length: columns}, (_, c) => (
new Cell(new GridIndex(r, c))
))
);
}
}
Maze.prototype.validCellIndex = function(index) {
return (index.row < this.rows) &&
(index.column < this.columns) &&
(index.row >= 0) &&
(index.column >= 0);
};
Maze.prototype.getUnvisitedNeighbors = function(indices) {
let neighbors = [];
indices.forEach((i, wall) => {
if (this.validCellIndex(i)) {
let cell = this.cells[i.row][i.column];
if (!cell.visited) { neighbors.push([cell, wall]); }
}
});
return neighbors;
};
Maze.prototype.generator = function* (row, column) {
let index = new GridIndex(row, column);
if (!this.validCellIndex(index)) { throw RangeError ('Starting index out of range.'); }
let stack = [];
let initialCell = this.cells[index.row][index.column];
initialCell.visited = true;
stack.push(initialCell);
yield initialCell;
while (stack.length > 0) {
let currentCell = stack.pop();
let neighbors = this.getUnvisitedNeighbors(currentCell.getNeighborIndices());
if (neighbors.length > 0) {
let i = Math.floor(Math.random() * neighbors.length);
let nextCell = neighbors[i][0];
let wall = neighbors[i][1];
nextCell.visited = true;
nextCell.toggleOpposite(wall, false);
stack.push(currentCell);
stack.push(nextCell);
yield nextCell;
}
}
};
export default Maze;


| < Day Day Up > |
7.2 Configuring ReplicationWith the theory out of the way, let's get our hands on some servers and configure a master and slave. We'll cover two scenarios. In the first, we'll assume that you have a fresh installation of MySQL on the master and slave, with no data on either server aside from the default test and mysql databases. Later, we'll examine the ways you can configure replication on a running master with minimal hassle and interruptions for your users. 7.2.1 On a New ServerConfiguring replication on a new server is a straightforward process. The tasks you need to perform are:
That's it. Four steps. For the sake of clarity, we'll use the hostnames master and slave for our master and slave, respectively. <IP_ADDRESS> Account creationWhen the slave connects to the master, it must authenticate itself just like any other MySQL client, so it needs a username and password. We'll create an account named repl with a password of c0pyIT! on both the master and slave. Why create the account on the slave? Should the master ever fail, you'll want the slave to become the new master. When the old master is repaired, it can be put back online as a slave of the new master (which is the old slave). If the account didn't exist on the new master, the new slave wouldn't be able to replicate. So, on each server let's create the account and give it only the minimum privileges necessary for replication: REPLICATION SLAVE and REPLICATION CLIENT. (In MySQL 3.23 you'd use USAGE and FILE.) mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO<EMAIL_ADDRESS>IDENTIFIED BY 'c0pyIT!'; Query OK, 0 rows affected (0.00 sec) After creating the account, verify that the settings are correct: mysql> SHOW GRANTS FOR repl; +----------------------------------------------------------------------------------+ |Grants for<EMAIL_ADDRESS>| +----------------------------------------------------------------------------------+ | GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO<EMAIL_ADDRESS>IDENTIFIED BY ...| +-------------------------------------------------------------------------+ 1 row in set (0.00 sec) If that command returns no rows or doesn't list the privileges, double-check that you entered the GRANT command properly. <IP_ADDRESS> Configuration file entriesThe next step is to update the my.cnf file on each server. You need to tell the master to enable binary logging and to tell the slave about its master, login credentials, and so on. Finally, each server needs to be assigned an ID number, known as a server ID. As you'll see later, the server ID is recorded in each server's binary log entries so that any other server can know which server first executed and logged a query. The server ID can be any number in the range 1-4294967295.[4]
So, on the master, make sure the following lines are present in the [mysqld] section of the my.cnf file: log-bin server-id = 1 The log-bin option tells MySQL to enable binary logging. By default, MySQL places the log file in its data directory. To place the logs elsewhere, you can supply a path and filename: log-bin = /var/db/repl/log-bin The slave requires a bit more information than the master. Add the following lines to its my.cnf file: server-id = 2 master-host = master.example.com master-user = repl master-password = c0pyIT! master-port = 3306 The slave's settings are self-explanatory. It just needs to know how to contact the master and authenticate itself. Later we'll look at some optional replication settings that can also appear in my.cnf. <IP_ADDRESS> Restart masterWith the settings on the master, it's time to stop and start MySQL and verify that the binary log appears. No replication-specific method is necessary; simply stop and restart MySQL using your normal scripts that handle MySQL when the machine boots and shuts down. If you didn't specify a path and filename after log-bin in your my.cnf file, MySQL writes the log files in your data directory. Otherwise, the logs are written in the location you specified. You should find a binary log file with a .001 extension. By default, the filename will be hostname-bin. On the host master.example.com, the first log file will be master-bin.001. If you haven't run any write queries yet, the file will be less than 100 bytes in size. Each log file contains a short header and some meta information. If you then execute a few write queries, you should notice the size of the binary log file increasing. If not, check the error log for hints about what might have gone wrong. You can use the mysqlbinlog utility to examine the data stored in a binary log file. It reads the entries and prints out the SQL for each one. It also prints some comments that contain other helpful information. For example, running it on a fresh log produces output like this: $ mysqlbinlog master-bin.001 # at 4 #020922 14:59:11 server id 1 log_pos 4 \ Start: binlog v 3, server v 4.0.4-beta-log created 020922 14:59:11 The first comment indicates that this entry is at offset 4 in the log. The second comment indicates when the log was created, the server ID, the log version, and the server version. <IP_ADDRESS> Restart slaveWith the master logging properly, a simple restart of the slave should be sufficient to get replication running. When a MySQL server is started, it checks to see whether it should connect to a master and begin (or continue) replicating queries. Upon connecting to the master, MySQL logs a message in its error log to indicate whether the connection succeeded or failed: 021103 13:58:10 Slave I/O thread: connected to master 'repl@master:3306', replication started in log 'log-bin.001' at position 4 This entry indicates that the slave has connected to the master and begun reading the binary log file master-bin.001 at position (or offset) 4, that of the first query. Run some write queries on the master and verify that the data on the slave reflects those changes. Once the slave is happily replicating from the master, it can continue to do so indefinitely. 7.2.2 On an Existing ServerSetting up replication on a new server is easy. A few config file entries and a couple of restarts are all you need. On an existing server, however, there's a bit more work to do because you can't simply point a new slave at a master and ask it to clone all the existing data.[5]
There are a couple of ways to do get the job done. We'll look at two specific solutions in a moment. First, let's outline the work that needs to be done; we'll deal then with common solutions. <IP_ADDRESS> What needs to happenNormally, to enable replication, you have to add binary logging to your server, which means subsequently restarting the server. If you happen to have binary logging already enabled, you don't have to restart the server. As described earlier, you'll need to add at least two lines to the server's my.cnf file: log-bin server-id = 1 Optionally, specify a full path and base filename for the binary logs: log-bin = /var/db/repl/binary-log The other task involves getting a copy of all the data from the master and putting it on the new slave. But there's a twist. The data given to the slave must correspond to the exact moment in time the binary log begins. Said another way, the binary log should contain all the queries that are executed on the master after the snapshot was taken and none of the queries from before the snapshot. If the binary log contains queries that are already reflected in the data given to the slave, the slave has no way to know that. Consequently, it reexecutes the queries, possibly producing strange errors or otherwise making the data inconsistent with what is on the master. If the binary log misses a few queries that weren't reflected in the slave's copy of the data, it won't see those queries. This can cause strange and hard-to-diagnose problems. Maybe records that were supposed to have expired are still there, or perhaps there's data on the master that doesn't appear on the slave. Getting the initial data from the master to the slave may be complicated. If you're using only MyISAM tables and can afford to shut down the master for enough time to copy all the data, it will be easy. Otherwise, you'll need to perform an online copy or dump of the data. <IP_ADDRESS> Snapshot or backup, then copyThe easiest way to get the necessary data is to perform a snapshot (online backup) or a more traditional offline backup and then copy the data to the slave. Using archive tools such as tar or zip, or your traditional backup software, shut down MySQL and copy the contents of the data directory to your slave; then extract the data on the slave. This method works well if you intend to replicate all the data and can shut down MySQL for the time required to make a copy of the data. If, however, you can't afford to have MySQL offline for more than a few seconds, there's an alternative approach: restart the server once after making the config file changes and then perform an online snapshot of the data. A snapshot works well only for MyISAM tables. InnoDB and BDB tables are best backed up when MySQL isn't running at all. A snapshot also requires a read lock on the data for the duration of the snapshot. So you'll be able to service read requests during the snapshot process, but all writers will be blocked. To perform the actual snapshot, you can write your own script to do the job, or you can use mysqlhotcopy or mysqlsnapshot. If you roll your own script, you need to ensure that the binary log is reset before the locks are released. The easiest way to do that is by executing FLUSH TABLES WITH READ LOCK and then RESET MASTER (or FLUSH MASTER in versions older than 3.23.26).  By writing a relatively simple script, you can instruct the slave to clone all the tables it needs using a series of those commands. The usefulness of this technique is relatively limited, however. Like the previous option, it requires a master that isn't being updated. In an environment in which there are frequent updates to the master, this technique is simply not viable. Furthermore, the slave copies only the data from the master. It then reconstructs the indexes locally, for which large amounts of data can take hours or even days. <IP_ADDRESS> Online copy and synchronize (MySQL 4.x only)MySQL 4.0 introduced the LOAD DATA FROM MASTER command. It combines the previous two approaches by first obtaining a read lock on all the master's tables, then loading each table one by one using the LOAD TABLE mechanism.[6] It respects any slave-side database or table filtering. Once it completes the loading process, it releases the locks on the master and begins replicating.
While this option is very appealing, it suffers from the same limitations as scripting the LOAD TABLE command yourself. It is much slower than using a master snapshot. It also requires that you grant the repl user SUPER and RELOAD privileges on the master. Finally, it works only with MyISAM tables. |
| < Day Day Up > |


Ok Google? Ok Human.
The tables have turned. Do your job, Human! How will you fare with the roles reversed?
How to Play
- Click the prompt button because, of course, your assistance was needed, right?
- Oh, was that ill-timed?
- Wait for your prompt, human!
- Answer the question you were asked.


| Print page 1 of 1 |
| Parcel ID | Location | Owner | Built Type | Total Value | Beds Baths |
Lot size Fin area |
LUC Description |
NHood | Sale date Sale price |
Book Page |
|---|---|---|---|---|---|---|---|---|---|---|
| 006.0-0005-0003.0 | 30 FREEMAN ST | PITCHEL STUART
GOODMAN JULIA |
1914 Old Style |
$615,400 | 5 3 |
5,502
2,472 |
101 One Family |
1 | 8/19/1998 $299,000 |
28988-522 |
| Print page 1 of 1 |


Display Sim
This tool allows you to recreate CRT displays of many kinds. It's still on early development, and requires a good graphic card, because the generated filters make sense on resolutions equal or higher than 4K, and each prixel is processed individually.
4K Simulation
The backend is implemented in Rust language compiled to WebASM and using WebGL.
The fronted is pure Vanilla JS using a minimalistic view rendering aproach.
Relevant Links #
Repository: https://github.com/theypsilon/display-sim
Demo (high GPU usage): https://theypsilon.github.io/display-sim/
- Return to Projects


Python
Java
C++
JavaScript
HTML
CSS
SQL
JUnit
Flask
React
Bash
Git & Github
I'm a third year student at University of Ontario Institute of Technology expecting to graduate in 2019. During the summer terms, I worked as a tech at a Convention Centre, a programming instructor at a tutoring centre, and a STEM councillor at a camp.
During the free time I have, I sit infront of a computer screen programming and expanding my knowledge/interests for hours. When im not sitting infront of a screen, I'm probably out with friends, Recreational swimming, playing League of Legends, or sleeping.
Linked above are my Github, Facebook, and LinkedIn accounts.


umbRequestHelper
(service in module umbraco.services
)
A helper object used for sending requests to the server
This will turn an array of key/value pairs into a query string
queryStrings {Array}
An array of key/value pairs
This will return the webapi Url for the requested key based on the servervariables collection
apiName {string}
The webapi name that is found in the servervariables["umbracoUrls"] dictionary
actionName {string}
The webapi action name
queryStrings {object}
Can be either a string or an array containing key/value pairs
This returns a promise with an underlying http call, it is a helper method to reduce the amount of duplicate code needed to query http resources and automatically handle any Http errors. See /docs/source/using-promises-resources.md
opts {object}
A mixed object which can either be a string representing the error message to be returned OR an object containing either: { success: successCallback, errorMsg: errorMessage } OR { success: successCallback, error: errorCallback } In both of the above, the successCallback must accept these parameters: data, status, headers, config If using the errorCallback it must accept these parameters: data, status, headers, config The success callback must return the data which will be resolved by the deferred object. The error callback must return an object containing: {errorMsg: errorMessage, data: originalData }


Centralised Grievance Readdressal System
Register at your fingertips with our services.
Real-time tracking of your complaints.
Supporting all Municipalities around the nation, working towards an Integrated Ticketing Service


- generateAssociationRules(Map<Integer, ? extends ItemSet<ItemType>>, double) - Method in interface de.mrapp.apriori.modules.AssociationRuleGenerator
-
Generates association rules from frequent item sets.
- generateAssociationRules(Map<Integer, ? extends ItemSet<ItemType>>, double) - Method in class de.mrapp.apriori.modules.AssociationRuleGeneratorModule
-
- generateAssociationRules(Map<Integer, ? extends ItemSet<ItemType>>) - Method in class de.mrapp.apriori.tasks.AssociationRuleGeneratorTask
-
Tries to generate a specific number of association rules from frequent item sets.
- generateRules(double) - Method in class de.mrapp.apriori.Apriori.Builder
-
Enables to generate association rules.
- generateRules(int) - Method in class de.mrapp.apriori.Apriori.Builder
-
Enables to generate association rules.
- getBody() - Method in class de.mrapp.apriori.AssociationRule
-
Returns the body of the association rule.
- getConfidenceDelta() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the value, the minimum confidence should be decreased by after each iteration,
when trying to generate a specific number of association rules.
- getConfiguration() - Method in class de.mrapp.apriori.Apriori
-
Returns the configuration, which is used by the Apriori algorithm.
- getConfiguration() - Method in class de.mrapp.apriori.Output
-
Returns the configuration of the Apriori algorithm.
- getConfiguration() - Method in class de.mrapp.apriori.tasks.AbstractTask
-
Returns the configuration, which is used by the task.
- getEndTime() - Method in class de.mrapp.apriori.Output
-
Returns the time, the Apriori algorithm has been ended.
- getFrequentItemSetCount() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the number of frequent item sets, the Apriori algorithm should try to find.
- getFrequentItemSets() - Method in class de.mrapp.apriori.Output
-
Returns the frequent item sets, which have been found by the Apriori algorithm.
- getHead() - Method in class de.mrapp.apriori.AssociationRule
-
Returns the head of the association rule.
- getMaxConfidence() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the minimum confidence, which should initially be used, when trying to generate a
specific number of association rules.
- getMaxSupport() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the minimum support, which should initially be used, when trying to find a
specific number of frequent item sets.
- getMinConfidence() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the minimum confidence, which must at least be reached by association rules.
- getMinSupport() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the minimum support, which must at least be reached by an item set to be
considered frequent.
- getRuleCount() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the number of association rules, the Apriori algorithm should try to generate.
- getRuleSet() - Method in class de.mrapp.apriori.Output
-
Returns the association rules, which have been generated by the Apriori algorithm.
- getRuntime() - Method in class de.mrapp.apriori.Output
-
Returns the runtime of the Apriori algorithm.
- getStartTime() - Method in class de.mrapp.apriori.Output
-
Returns the time, the Apriori algorithm has been started.
- getSupport() - Method in class de.mrapp.apriori.AssociationRule
-
Returns the support of the association rule.
- getSupport() - Method in class de.mrapp.apriori.ItemSet
-
Returns the support of the item set.
- getSupportDelta() - Method in class de.mrapp.apriori.Apriori.Configuration
-
Returns the value, the minimum support should be decreased by after each iteration, when
trying to find a specific number of frequent item sets.
- getTransactions() - Method in class de.mrapp.apriori.datastructure.TransactionalItemSet
-
Returns the transactions, the item set occurs in.


{% extends "base.html" %} {% block app_content %}
Recently opened in 2021 we provide our clients with the freshest and finest models.
We are the UK's cheapest and fastest car dealership.
Our cars range from different year, make, models, body style, fuel type and mileage.
Our main office is based in Leicester, however we have expanded to London, Nottingham and Brighton.
This month alone we helped 40 customers find their perfect car, with 4.3 ★★★★☆ satisfaction
Here are some frequently asked questions, click the plus to view more
We are very efficient when it comes to providing the best service
Yes, you can can charge in the rain, without damaging the car
Yes we have both
Ford, Volkswagen, Audi, BMW, FIAT... to view more car models visit the models section on our website
Currently our store is closed due to lockdown regulations, but our office land-line is open from 9am - 6pm Monday-Friday
Electric, petrol, diesel cars
We aim to respond within 1 to 2 business days.


Woofie
Control
Sensing
Numbers
Variables
Motion
Looks
Sound
Pen
@
<->
T
x: -98 y:-60 direction: -54
Sprites
Costumes
Sounds
move
move
stuff
move
move
move
stuff
Select
Copy
Cut
Stretch
Shrink
Stop
GO
Full Screen
Paint
New
Surprise
stage
Sprite 1
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2
Sprite 2


Youngeti unleashes new song ‘low waist’
by Emmanuel OkogbaYoungeti has wrapped up the year with the release of a new song he titled Low Waist. The song is a blend of afrobeat and hip-hop and talks about a lady that knows how to use dance.
Etiosa Ukponmwan, known professionally as Youngeti, is a Nigerian singer and rapper and fashion model. In 2019, he signed a record deal with Cruddyboiz Entertainment, a subsidiary of Abegmusic. He rose to prominence with the release of the song “Show”, which appeared to be a hit in the late 2019 summer playlist.
READ ALSO: Nairobi governor pleads not guilty to graft charges
Youngeti was born in October 24th 1994 in Benin City, Edo State. Born into a Christian family, Youngeti grew up singing and rapping while in secondary school. He attained his primary and secondary school education in Edo State
Youngeti signed a record deal with Cruddyboiz Entertainment, a subsidiary of Abegmusic in 2019. He released his eponymous debut EP he titled Etiosa Ukponmwan in 2019. and he is working on a big project with some of Nigeria’s A-list artist.


Man jailed after subjecting mother to "deplorable" ordeal
Craig Hornby was imprisoned at Dumfries Sheriff Court after harassing his mother to withdraw money on his behalf - including making threats to break her jaw and blow up her car.
by Bert HoustonA Dumfries man has been jailed for subjecting his 62-year-old mum to a “frightening” ordeal while demanding money from her.
Craig Hornby threatened her with violence and warned her: “I’ll blow up your car.”

As they did so, she went to steer the car towards the police station and he told her: “Don’t even think about it or I’ll break your jaw.”

Hornby, of Terregles Street, Dumfries, pleaded guilty to threatening his mum with violence and shouting and swearing at her at Laghall Court, Kingholm Quay, in September.
He also admitted repeatedly demanding money, instructing her not to tell the police and forcing her to hand over £100 she withdrew from an ATM.
The court was told that initially he sent text messages which she deleted and these were followed by telephone calls despite protests that she didn’t have money to give him.
He eventually arrived at the house and demanded that she give him money and kept insisting that she give him cash.
The fiscal depute said: “She then decided to take him to the bank and show him that she had no money and used the ATM to reveal that she had minus £8 in it.”
But he maintained she had another account at another bank and she tried to steer him towards the police station.
It was then that he threatened her with violence and that he would blow up her car.
She was then forced to go to the other bank where she withdrew £100 and gave him the money before going to the police station.
A solicitor said Hornby accepted that he had acted in a way which made her frightened.


pyfos_extension_ipsec_policy
- PyFOS module to provide rest support for Extension IPSec Policy.¶
The pyfos_extension_ipsec_policy
provides a REST support for IPSec Policy.
-
class
pyfos_extension_ipsec_policy.
extension_ipsec_policy
(dictvalues={})¶ Class of extension_ipsec_policy
Important class members:
Attribute name Description Frequently used functions policy-name The name of the ipsec policy peek_policy_name()
policy-name The name of the ipsec policy set_policy_name()
profile-name The profile name of policy peek_profile_name()
profile-name The profile name of policy set_profile_name()
authentication-data Autentication data of policy peek_authentication_data()
authentication-data Autentication data of policy set_authentication_data()
restart-ike-sessions restart the ike session peek_restart_ike_sessions()
restart-ike-sessions restart the ike session set_restart_ike_sessions()
num-ike-sessions Total IKE sessions peek_num_ike_sessions()
Object functions
-
get
()¶ Fill the object with values for all the attributes. Once filled, the object can be printed using
pyfos_utils.response_print()
Parameters: session – session handler returned by pyfos_auth.login()
Return type: dictionary of error or success response
Attribute functions
-
peek_policy_name
()¶ Reads the policy name from an ipsec object.
Return type: None on error and value on success
-
peek_profile_name
()¶ Reads the profile name from an ipsec object.
Return type: None on error and value on success
-
peek_authentication_data
()¶ Reads the authentication data from an ipsec Object
Return type: None on error and value on success
-
peek_restart_ike_sessions
()¶ Reads the restart ike seesion value from an ipsec object.
Return type: None on error and value on success
-
peek_num_ike_sessions
()¶ Reads num of IKE sessions for an ipsec object.
Return type: None on error and value on success
-
set_policy_name
(policyName)¶ Set the policy name in an ipsec object.
Return type: dictionary of error or success response and value with “policy-name” as key
-
set_profile_name
(profileName)¶ Set the profile name in an ipsec object.
Return type: dictionary of error or success response and value with “profile-name” as key
-
set_authentication_data
(authData)¶ Set the authentication Data in an Object
Return type: dictionary of error or success response and value with “authentication-data” as key
-
set_restart_ike_sessions
(restartIkeSession)¶ Set the restart ike session in an ipsec object.
Return type: dictionary of error or success response and value with “restart-ike-sessions” as key
-
See also
Module pyfos_rest_utils
Module pyfos_auth


Your collective in numbers:
Note that payments from non-members are counted as well.
The total income listed here might be slightly higher than the actual income. Currently any Stripe fees associated with refunds are not counted (though refunds themselves are counted and fees associated with income are counted).


|
Mp
|
A collection of functions in aid of creating a parameter object to carry around. More...
#include <stdbool.h>
#include <complex.h>
#include <quadmath.h>
Go to the source code of this file.
Data Structures | |
| struct | Parameters |
| Variable gathered for image calculation. More... | |
Macros | |
| #define | NAMES_SIZE 16 |
Enumerations | |
| enum | innerLoop { COMPLEX, ZX, DEMM, MSETCPM } |
| Choice values for inner loop calculation. More... | |
Functions | |
| char * | getstr (char *arg) |
| int | getNext (char *path) |
| Parameters | fromJSON (Parameters p) |
| Parameters | getParameters (int argc, char *argv[], char *Version, char *Date) |
| Parameters | rawCl (int argc, char *argv[], Parameters p) |
| Parameters | parse_ini_file (char *ini_name, Parameters p) |
| Parameters | zeroP (void) |
| void | help (char c, char *Program, char *Version, char *Date) |
| void | showParameters (Parameters p, char *s) |
| void | toJSON (Parameters g) |
A collection of functions in aid of creating a parameter object to carry around.
Function declarations. More importantly the typedef for Parameters.
Definition in file getopt.h.
| struct Parameters |
Variable gathered for image calculation.
There are three sources for this data. The first is command line processing. This is by way of short/long options via getopt_long(). The command line may also be processed without options in fixed order. The second is the use of a configuration file that essentially sets the default values for the necessary parameters. The third method is parsing a JSON file which contains the values for a particular fractal image.
| Data Fields | ||
|---|---|---|
| char * | aa |
-a anti-aliasing flag |
| int | bourke |
-b flag for bourke interpolation |
| __complex128 | center |
centerX + centerY * I |
| __float128 | centerX |
-x ℜ REAL part of complex center |
| __float128 | centerY |
-y ℑ IMAG part of complex center |
| int | color |
-r key for -r; determines coloring |
| char * | config |
-c configuration filename |
| __float128 | diameter |
-d diameter of image |
| float | escape |
-e value to compare against for escape decision |
| char * | filename |
-f image file name |
| int | height |
-l image height in pixels |
| __float128 | height2 |
height / 2.0 |
| char * | json |
=j JSON filename |
| __float128 | magnify |
-m image magnification |
| int | maxiter |
-i ƒ(Z) iteration cap |
| char * | names[NAMES_SIZE] |
-k Rgb/color name list |
| int | nargc |
count of number of -k entries |
| int | next |
-n seed for next mechanism |
| int | nMax |
actual iteration count at escape |
| int | old |
key for -o; determines calculation method |
| char * | palname |
-p image palette filename |
| __float128 | radius |
-s radius of image length from 0.0 to end of upper axis |
| int | tweak |
-t limit for post iteration of ƒ(Z) |
| char * | ultra |
-u takes Ultra Fractal formula in quotes |
| int | width |
-w image width in pixels |
| __float128 | width2 |
width / 2.0 |
| int | writeJSON |
flag for JSON file output |
| enum innerLoop |
Choice values for inner loop calculation.
Currently 4 values in this list. COMPLEX is the default method. ZX uses all real values, no complex variables. DEMM is the Distance Estimator Method for the Mandelbrot set. MSETPOT is the Mandelbrot set via Continuous Potential Method.
| Enumerator | |
|---|---|
| COMPLEX | ƒ(Z) = Z^2 + C where Z,C are complex |
| ZX | ƒ(Z) = as above using real ZX, ZY, CX, CY |
| DEMM | Uses Distance estimation method |
| MSETCPM | Uses Continuous Potential method |


Modules are supported according to the ISO Prolog standard. For a quick start, see the file samples/prolog/duckworld/duckym.pro. It is a version of the duck world tutorial sample that uses modules.
A module is a named collection of predicates. A module can import predicates from other modules, and can export predicates for other modules to use.
If a program does not have any module directives, then, by default, all of the predicates are defined in a default module named 'user'.
All of the predicates in module 'user' are automatically visible from all other modules.
All of the built-in predicates of the system are in a special system module, that is automatically visible from all other modules.
It is possible to separate the definition of a module from the body of the module, where the predicates are defined. The definition of a module starts with the directive
:- module(M).
where M is the name of the module, and ends with
:- end_module(M).
The two directives both need to be specified.
The body of a module is bracketed between the directives
:- body(M).:- end_body(M).
where M is the name of the module.
The body directives are optional, and the predicates of a module can be included between the module/end_module pair instead. (This is a non-ISO extension in Amzi!)
The colon notation is used to explicitly refer to a predicate in another module. It is
MODULE:FUNCTOR(ARG1, ... ARGN)
For example,
assert( data:loc(egg,pen) )
asserts a loc/2 clause in the 'data' module.
The export directive is used to define the external interface to a module, that is, the predicates which can be called from other modules. The exports are part of the module definition.
:- export(F/A).
or
:- export([F1/A1, F2/A2, ...Fn/An]).
For example, these directives define a module, 'data', that exports two predicates.
:- module(data). :- export( [nextto/2, loc/2] ). :- end_module(data).
A module can either import another module or specific predicates using the import directive. This lets it refer to those predicates without module qualification.
:- import(list).
This lets the calling module see all the exported predicates from the module 'list'.
:- import( [list:member/2, list:append/3] ).
Lets a module see the two specific predicates in the module 'list'.
Metapredicates are of interest only to those programmers writing predicates whose arguments are themselves predicates.
Modules create a problem with predicates whose arguments are themselves intended to be predicates. Ideally those predicate arguments should refer to predicates in the calling module, not the defining module for the predicate.
Consider, for example, the system predicate assert/1. It is defined in the system module, but its argument typically refers to a clause in the module in which it is used.
For example
:- module(data). add(fact(X)) :- assert(fact(X)).
In this example, you would expect the assert to assert fact(X) in the 'data' module, which it does, even though assert/1 is defined in a different module.
Predicates with this property are called metapredicates, and the arguments that are context sensitive are called metaarguments. They are specified with the metapredicate directive. The metaarguments are indicated by the ':' symbol, other arguments by the '*' symbol.
For example, the system metapredicates assert/1 and clause/3 have these directives declared for them.
:- metapredicate(assert(:)). :- metapredicate(findall(*,:,*)).
An example of some user code that might require a metapredicate definition is a tracing predicate. For example.
:- module(trace). :- export(tr/1). :- metapredicate(tr(:)). tr(X) :- (write(call-X),nl; write(fail-X),nl,fail), call(X), (write(exit-X),nl; write(redo-X),nl,fail). :- end_module(trace)
This module could then be used to help debug another module with code like this.
:- module(buggy). :- import(trace). a(X) :- tr( b(X) ). b(X) :- something. ... :- end_module(buggy).
Because tr/1 is a metapredicate, the call uses the b/1 definition in module 'buggy', instead of looking for one in module 'trace'.
Copyright ©1987-2011 Amzi! inc. All Rights Reserved. Amzi! is a registered trademark and Logic Server is a trademark of Amzi! inc.


--- layout: post title: no title date: '2013-05-10T06:16:48-07:00' tags: - frombrett tumblr_url: http://beekley.xyz/post/50086959503/testing-about-the-inset ---
Testing about the inset!


Previous: translate-pathname, Up: Filenames Dictionary
merge-pathnames
pathname &optional default-pathname default-version
⇒ merged-pathname
pathname—a pathname designator.
default-pathname—a pathname designator. The default is the value of *default-pathname-defaults*.
default-version—a valid pathname version. The default is :newest.
merged-pathname—a pathname.
Constructs a pathname from pathname by filling in any unsupplied components with the corresponding values from default-pathname and default-version.
Defaulting of pathname components is done by filling in components taken from another pathname.
This is especially useful for cases such as a program that has an input file and an output file. Unspecified components of the output pathname will come from the input pathname, except that the type should not default to the type of the input pathname but rather to the appropriate default type for output from the program; for example, see the function compile-file-pathname.
If no version is supplied, default-version is used. If default-version is nil, the version component will remain unchanged.
If pathname explicitly specifies a host and not a device, and if the host component of default-pathname matches the host component of pathname, then the device is taken from the default-pathname; otherwise the device will be the default file device for that host. If pathname does not specify a host, device, directory, name, or type, each such component is copied from default-pathname. If pathname does not specify a name, then the version, if not provided, will come from default-pathname, just like the other components. If pathname does specify a name, then the version is not affected by default-pathname. If this process leaves the version missing, the default-version is used. If the host’s file name syntax provides a way to input a version without a name or type, the user can let the name and type default but supply a version different from the one in default-pathname.
If pathname is a stream, pathname effectively becomes (pathname pathname). merge-pathnames can be used on either an open or a closed stream.
If pathname is a pathname it represents the name used to open the file. This may be, but is not required to be, the actual name of the file.
merge-pathnames recognizes a logical pathname namestring when default-pathname is a logical pathname,
or when the namestring begins with the name of a defined logical host followed by a colon. In the first of these two cases,
the host portion of the logical pathname namestring and its following colon are optional.
merge-pathnames returns a logical pathname if and only if its first argument is a logical pathname,
or its first argument is a logical pathname namestring with an explicit host, or its first argument does not specify a host and the default-pathname is a logical pathname.
Pathname merging treats a relative directory specially. If (pathname-directory pathname) is a list whose car is :relative, and (pathname-directory default-pathname) is a list, then the merged directory is the value of
(append (pathname-directory default-pathname) (cdr ;remove :relative from the front (pathname-directory pathname)))
except that if the resulting list contains a string or :wild immediately followed by :back, both of them are removed. This removal of redundant :back keywords is repeated as many times as possible. If (pathname-directory default-pathname) is not a list or (pathname-directory pathname) is not a list whose car is :relative, the merged directory is (or (pathname-directory pathname) (pathname-directory default-pathname))
merge-pathnames maps customary case in pathname into customary case in the output pathname.
(merge-pathnames "CMUC::FORMAT" "CMUC::PS:<LISPIO>.FASL") ⇒ #P"CMUC::PS:<LISPIO>FORMAT.FASL.0"
*default-pathname-defaults*, pathname, logical-pathname, File System Concepts,
The net effect is that if just a name is supplied, the host, device, directory, and type will come from default-pathname, but the version will come from default-version. If nothing or just a directory is supplied, the name, type, and version will come from default-pathname together.
Previous: translate-pathname, Up: Filenames Dictionary


类 FenwickTree
- java.lang.Object
-
- edu.princeton.cs.algs4.FenwickTree
-
public class FenwickTree extends java.lang.Object
Created by<EMAIL_ADDRESS>on 4/01/15.In
Fenwick Tree
structure We arrange the array in an smart way to perform efficient range queries and updates. The key point is this: In a fenwick array, each position "responsible" for storing cumulative data of N previous positions (N could be 1) For example: array[40] stores: array[40] + array[39] ... + array[32] (8 positions) array[32] stores: array[32] + array[31] ... + array[1] (32 positions)But, how do you know how much positions a given index is "responsible" for?
To know the number of items that a given array position 'ind' is responsible for We should extract from 'ind' the portion up to the first significant one of the binary representation of 'ind' for example, given ind == 40 (101000 in binary), according to Fenwick algorithm what We want is to extract 1000(8 in decimal).
This means that array[40] has cumulative information of 8 array items. But We still need to know the cumulative data bellow array[40 - 8 = 32] 32 is 100000 in binnary, and the portion up to the least significant one is 32 itself! So array[32] has information of 32 items, and We are done!
So cummulative data of array[1...40] = array[40] + array[32] Because 40 has information of items from 40 to 32, and 32 has information of items from 32 to 1
Memory usage: O(n)
-
-
构造器概要
构造器 构造器 说明 FenwickTree(int size)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static void
main(java.lang.String[] args)
Read the following commands: init n Initializes the array of size n all zeroes set a b c Initializes the array with [a, b, c ...]int
rsq(int ind)
Range Sum query from 1 to ind ind is 1-indexedint
rsq(int a, int b)
Range Sum Query from a to b.int
size()
void
update(int ind, int value)
Update the array at ind and all the affected regions above ind.
-
-
-
方法详细资料
-
main
public static void main(java.lang.String[] args)
Read the following commands: init n Initializes the array of size n all zeroes set a b c Initializes the array with [a, b, c ...] rsq a b Range Sum Query for the range [a,b] up i v Update the i position of the array with value v. exitThe array is 1-indexed Example: set 1 2 3 4 5 6 rsq 1 3 Sum from 1 to 3 = 6 rmq 1 3 Min from 1 to 3 = 1 input up 1 3 [3,2,3,4,5,6]
- 参数:
args
- the command-line arguments
-
rsq
public int rsq(int ind)
Range Sum query from 1 to ind ind is 1-indexedTime-Complexity: O(log(n))
- 参数:
ind
- index- 返回:
- sum
-
rsq
public int rsq(int a, int b)
Range Sum Query from a to b. Search for the sum from array index from a to b a and b are 1-indexedTime-Complexity: O(log(n))
- 参数:
a
- left indexb
- right index- 返回:
- sum
-
size
public int size()
-
update
public void update(int ind, int value)
Update the array at ind and all the affected regions above ind. ind is 1-indexedTime-Complexity: O(log(n))
- 参数:
ind
- indexvalue
- value
-
-


Twenty Years Ago, I Helped Convict Two Men of Murder. I’ve Regretted It Ever Since. I’m looking back at the case to see if I made the right choice—or if I had a choice at all.
800+ Million Emails Leaked Online by Email Verification Service - Security Discovery Our Biggest Data Breach Discovery of 2019 a massive 800 million emails leaked online. This data breach uncovered how an email verification service uses spam
FigglatR FigglatR is a sample app demonstrating how to use ASP.NET Core Razor Components to create an ASCII art banner creator. This sample makes use of the awesome Figgle open-source package. See it in action at https://figglatr.azurewebsites.net/.
Allow markup in @functions by rynowak · Pull Request #317 · dotnet/aspnetcore-tooling This change allows markup elements to appear in inside methods in the functions block using template syntax. The template codegen is replaced (for the functions block) with the normal Razor codegen...
Blazored/Menu A JavaScript free menu library for Blazor and Razor Components applications. - Blazored/Menu
Execute test scenarios on mono by AlekseyTs · Pull Request #33804 · dotnet/roslyn roslyn-CI Build #20190308.12 has failed
The Book of Monads: Alejandro Serrano Mena, Steven Syrek, Harold Carr: Amazon.com: Books The Book of Monads [Alejandro Serrano Mena, Steven Syrek, Harold Carr] on Amazon.com. *FREE* shipping on qualifying offers. In functional programming, at the heart of input/output, optionality, state, logic, probability, and much more lies an extraordinar...
Free Weekend We’re making all of our expert-led video courses free for one weekend only—starting 3/08.
Demystifying HttpClient Internals - Steve Gordon In this post we'll explore how a HttpRequestMessage is sent via HttpClient.SendAsync, exploring the stack of handlers through to the SocketsHttpHandler.
Test your server for Heartbleed (CVE-2014-0160) Enter a URL or a hostname to test the server for CVE-2014-0160.
Async Enumerables with Cancellation · Curiosity is bliss In this post, I’ll explain how to produce and consume async enumerables with support for cancellation. Since originally publishing this post, we’ve added support in the language for a new attribute which solve this problem more elegantly. I’ve added a sec...
r/dataisbeautiful - Is it a Duck or a Rabbit? For Google Cloud Vision, it depends how the image is rotated. [OC] 27,331 votes and 545 comments so far on Reddit


Vindman Says Ukraine Offered Him Defense Minister Post Three Times
National Security Council official Alexander Vindman testified Tuesday during the third public impeachment inquiry hearing that Ukraine’s then-head of National Security and Defense Council Oleksandr Danylyuk offered him the position of defense minister three times.
by Kristina WongVindman said one of the times came when he was visiting Ukraine for the newly-elected president’s inauguration in May.
“At any point during that trip did Mr. Danylyuk offer you a position of defense minister with the Ukrainian government?” the Republican counsel Steve Castor asked Vindman.
“He did,” Vindman said.
“And how many times did he do that?” Castor asked.
“I believe it was three times,” Vindman.
“And do you have any reason why he asked you to do that?” Castor asked.
“No, I don’t know, but every single time I dismissed it, upon returning I notified my chain of command and appropriate counterintelligence folks about the offer,” Vindman said.
“That was a big honor, correct?” Castor asked.
Vindman, who immigrated from Ukraine to America as a child, responded:
I think it would be a great honor, and frankly I’m aware of service members that have left service to help nurture the developing democracies in that part of the world.
But, he added, “I’m an American, I came here as a toddler and immediately dismissed these offers, I did not entertain them.”
He called the notion “comical,” since he was just a lieutenant colonel, and he said he did not leave the door open at all.
“These are honorable people, I’m not sure if he meant it as a joke or not,” he said.
Later in the hearing, Rep. Jim Himes (D-CT) slammed Castor for asking about it.
“The three minutes that were spent asking you about the offer made to make you the new minister of defense — that may have come cloaked in a Brooks Brothers suit and in parliamentary language, but that was designed exclusively to give the right-wing media an opening to question your loyalty,” he argued.
Follow Breitbart News’s @Kristina_Wong.


The html element represents the root of an HTML document.
Authors are encouraged to specify a lang attribute on the root html element, giving the document's language. This aids speech synthesis tools to determine what pronunciations to use, translation tools to determine what rules to use, and so forth.
<!DOCTYPE html>

<title>Swapping Songs</title>

Swapping Songs

Tonight I swapped some of the songs I wrote with some friends, who
gave me some of the songs they wrote. I love sharing my music.


Hello! I'm Amanda Han, a 2nd year Computer Science and Engineering major at UCLA. I'm the current Vice President of 3D4E, UCLA's 3D Printing club. I work in the fusion of technology and art. My interests include:
My work experience includes:
If you want to contact me, my email is<EMAIL_ADDRESS>and my phone number is<PHONE_NUMBER>.


Guidance
How your school can recruit and train new teachers through School Direct, a school-led initial teacher training (ITT) programme.
School Direct is an approach to initial teacher training (ITT) that gives schools more influence over the ways teachers are trained.
This information is for schools. If you are interested in applying for teacher training, go to the Get into Teaching website or call the Teaching Line on 0800 389 2500.
School Direct is run by a partnership between a lead school, other schools and an accredited teacher training provider.
School Direct enables schools to:
Training places are allocated to the lead school on behalf of the partnership, usually for 1 year. The lead school has overall responsibility for requesting places from the National College for Teaching and Leadership (NCTL) and ensuring that the criteria for School Direct are met.
 If you are part of an academy chain, you should consider whether to request places through your chain’s central office rather than as an individual school.
Joining an existing School Direct partnership is recommended. This is because it enables greater opportunities to share expertise, meet the employment expectation, and implement efficient management and administration of the programme. It also brings economies of scale in negotiations with teacher training providers.
The lead school must be a local authority maintained school, special school, academy, free school or Sixth Form College. Partnerships led by outstanding schools such as teaching schools or academy chains are encouraged.
Private schools can only be lead schools if they’re also designated teaching schools. In these cases:
The lead school has to be Grade 1 (outstanding) or Grade 2 (good) for overall effectiveness. In some cases, partner schools that have an Ofsted Grade 4 (inadequate) rating will be able to take part in training. For more information see our guidance for lead schools .
You could also consider offering placements in your school to existing School Direct providers to gain an insight into how the scheme works.
There are 2 types of School Direct training places available.
These places are open to all graduates and funded by tuition fees paid by the trainee. Trainees may be eligible for a training bursary or scholarship.
These places are aimed mainly at graduates with 3 or more years’ work experience. However, schools can decide to accept applications from candidates with less work experience to attract high quality candidates in hard to fill subjects.
Trainees are employed as an unqualified teacher. NCTL provides funding to lead schools to cover training costs and subsidise trainee salaries.
Both routes carry the award of qualified teacher status (QTS) and some may also lead to the award of a postgraduate certificate in education (PGCE).
The request period for 2016 to 2017 ITT allocations (including provider and School Direct places) closed on Friday 10 July 2015. Please contact an existing School Direct lead school or an ITT provider if you are interested in becoming involved in School Direct.
More information can be found in the registering initial teacher training places 2016 to 2017 guidance .
Published: 14 March 2014
Updated: 12 October 2016


{{ user.first_name }} {{ user.last_name }} has invited you to receive early access to FogMine. Register for your FREE account.


XYZ Solutions Pvt Ltd
0-1 yearSkills Java HTML, CSS, Javascript
Description On the design front, the Front-End Developer will be responsible for keeping the look of the projects consistent. Read More
Proline Services
0-1 yearSkills Java HTML, CSS, Javascript
Description On the design front, the Front-End Developer will be responsible for keeping the look of the projects consistent. Read More
ProPackagings Pvt Ltd
0-1 yearSkills Accounts Marketing, Sales
Description On the design front, the Front-End Developer will be responsible for keeping the look of the projects consistent. Read More
Proline Services
0-1 yearSkills Java HTML, CSS, Javascript
Description On the design front, the Front-End Developer will be responsible for keeping the look of the projects consistent. Read More


Interface IMixedRealityPointer
Interface for handling pointers.
Namespace: Microsoft.MixedReality.Toolkit.Core.Interfaces.InputSystem
Assembly: cs.temp.dll.dll
Syntax
public interface IMixedRealityPointer : IEqualityComparer
Properties
BaseCursor
The pointer's cursor.
Declaration
IMixedRealityCursor BaseCursor { get; set; }
Property Value
| Type | Description |
|---|---|
| IMixedRealityCursor |
Controller
The pointer's current controller reference.
Declaration
IMixedRealityController Controller { get; set; }
Property Value
| Type | Description |
|---|---|
| IMixedRealityController |
CursorModifier
The currently active cursor modifier.
Declaration
ICursorModifier CursorModifier { get; set; }
Property Value
| Type | Description |
|---|---|
| ICursorModifier |
FocusTarget
The currently focused target.
Declaration
IMixedRealityFocusHandler FocusTarget { get; set; }
Property Value
| Type | Description |
|---|---|
| IMixedRealityFocusHandler |
InputSourceParent
This pointer's input source parent.
Declaration
IMixedRealityInputSource InputSourceParent { get; }
Property Value
| Type | Description |
|---|---|
| IMixedRealityInputSource |
IsFocusLocked
Is the focus for this pointer currently locked?
Declaration
bool IsFocusLocked { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
IsInteractionEnabled
Has the conditions for the interaction been satisfied to enable the interaction?
Declaration
bool IsInteractionEnabled { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
PointerExtent
The pointer's maximum extent when raycasting.
Declaration
float PointerExtent { get; set; }
Property Value
| Type | Description |
|---|---|
| Single |
PointerId
This pointer's id.
Declaration
uint PointerId { get; }
Property Value
| Type | Description |
|---|---|
| UInt32 |
PointerName
This pointer's name.
Declaration
string PointerName { get; set; }
Property Value
| Type | Description |
|---|---|
| String |
PointerOrientation
The Y orientation of the pointer - used for touchpad rotation and navigation
Declaration
float PointerOrientation { get; }
Property Value
| Type | Description |
|---|---|
| Single |
PrioritizedLayerMasksOverride
The physics layers to use when raycasting.
Declaration
LayerMask[] PrioritizedLayerMasksOverride { get; set; }
Property Value
| Type | Description |
|---|---|
| LayerMask[] |
Remarks
If set, will override the IMixedRealityInputSystem's default raycasting layer mask array.
Examples
Allow the pointer to hit SR, but first prioritize any DefaultRaycastLayers (potentially behind SR)
int sr = LayerMask.GetMask("SR");
int nonSR = Physics.DefaultRaycastLayers & ~sr;
IMixedRealityPointer.PrioritizedLayerMasksOverride = new LayerMask[] { nonSR, sr };
RaycastMode
The physics raycast mode to use.
Declaration
RaycastModeType RaycastMode { get; set; }
Property Value
| Type | Description |
|---|---|
| RaycastModeType |
Rays
The raycast rays.
Declaration
RayStep[] Rays { get; }
Property Value
| Type | Description |
|---|---|
| RayStep[] |
RayStabilizer
Ray stabilizer used when calculating position of pointer end point.
Declaration
IBaseRayStabilizer RayStabilizer { get; set; }
Property Value
| Type | Description |
|---|---|
| IBaseRayStabilizer |
Result
The physics raycast pointer result.
Declaration
IPointerResult Result { get; set; }
Property Value
| Type | Description |
|---|---|
| IPointerResult |
SphereCastRadius
The radius to use when RaycastMode is set to Sphere.
Declaration
float SphereCastRadius { get; set; }
Property Value
| Type | Description |
|---|---|
| Single |
TeleportHotSpot
The currently active teleport hotspot.
Declaration
IMixedRealityTeleportHotSpot TeleportHotSpot { get; set; }
Property Value
| Type | Description |
|---|---|
| IMixedRealityTeleportHotSpot |
Methods
OnPostRaycast()
Called after all rays have casted.
Declaration
void OnPostRaycast()
OnPreRaycast()
Called before all rays have casted.
Declaration
void OnPreRaycast()
TryGetPointerPosition(out Vector3)
Returns the position of the input source, if available. Not all input sources support positional information, and those that do may not always have it available.
Declaration
bool TryGetPointerPosition(out Vector3 position)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | position | Out parameter filled with the position if available, otherwise |
Returns
| Type | Description |
|---|---|
| Boolean | True if a position was retrieved, false if not. |
TryGetPointerRotation(out Quaternion)
Returns the rotation of the input source, if available. Not all input sources support rotation information, and those that do may not always have it available.
Declaration
bool TryGetPointerRotation(out Quaternion rotation)
Parameters
| Type | Name | Description |
|---|---|---|
| Quaternion | rotation | Out parameter filled with the rotation if available, otherwise |
Returns
| Type | Description |
|---|---|
| Boolean | True if an rotation was retrieved, false if not. |
TryGetPointingRay(out Ray)
Returns the pointing ray of the input source, if available. Not all input sources support pointing information, and those that do may not always have it available.
Declaration
bool TryGetPointingRay(out Ray pointingRay)
Parameters
| Type | Name | Description |
|---|---|---|
| Ray | pointingRay | Out parameter filled with the pointing ray if available. |
Returns
| Type | Description |
|---|---|
| Boolean | True if a pointing ray was retrieved, false if not. |


You don't have any accounts for decentralized ledgers configured and connected yet. Please configure and connect to an account and come back here.
Asset: {{asset.name}}
Asset ID: {{assetID}}
Choose the security level for securing your asset.
Initiating asset security, please wait...


|
LabelMeAnnotationTool
|
Script which generates a PASCAL VOC conform version (copy) of the xml files containing the annotations. More...
Variables | |
| $XmlContent = $_POST['XmlContent'] | |
| $annotation = new SimpleXMLElement($XmlContent) | |
| $filename = getFilename($XmlContent) | |
| $array_file = explode(".",$filename) | |
| $filenameNoType = $array_file[0] | |
| $fileType = $array_file[1] | |
| $folder = getFolder($XmlContent) | |
| $database = getDatabase ($XmlContent) | |
| $annoSrc = getAnnoSrc ($XmlContent) | |
| $imgSrc = getImgSrc ($XmlContent) | |
| $imgSize = getImgSize ($folder, $filename) | |
| $width = $imgSize[0] | |
| $height = $imgSize[1] | |
| $segmented = 0 | |
| $outputFile = fopen("../../AnnotationsVOC/".(string)$folder."/".(string)$filenameNoType.".xml", "w") or die("Unable to open file!") | |
Script which generates a PASCAL VOC conform version (copy) of the xml files containing the annotations.
if the function WriteXML() (specified in io.js) is called, this script will also be called
| $annoSrc = getAnnoSrc ($XmlContent) |
contains the source of the last annotation/editor
| $annotation = new SimpleXMLElement($XmlContent) |
contains a simpleXMLElemnet which is easier to acces
| $array_file = explode(".",$filename) |
array which contains the filename and the type ending
| $database = getDatabase ($XmlContent) |
contains the database of the image file to which the xml belongs
| $filename = getFilename($XmlContent) |
contains the name of the image file to which the xml belongs
| $filenameNoType = $array_file[0] |
contains the name of the image file to which the xml belongs without the type ending
| $fileType = $array_file[1] |
contains the type ending of the image file to which the xml belongs
| $folder = getFolder($XmlContent) |
contains the folder of the image file to which the xml belongs
| $height = $imgSize[1] |
contains the height of the image
| $imgSize = getImgSize ($folder, $filename) |
contains an array with the sizes of the image
| $imgSrc = getImgSrc ($XmlContent) |
contains the source of the image
| $outputFile = fopen("../../AnnotationsVOC/".(string)$folder."/".(string)$filenameNoType.".xml", "w") or die("Unable to open file!") |
contains the filehandler for the output file
| $segmented = 0 |
contains if the there is an segmentation file belonging to the image
| $width = $imgSize[0] |
contains the width of the image
| $XmlContent = $_POST['XmlContent'] |
contains the xml string which is specified if the Ajax request (in WriteXML()) is started


Canvasboard
A board with Interactive Plugins💗 to meet all your needs
Features
Block Based Editing
Type & Draw
Custom Plugins
Plugins to increase your productivity
We are Open Source
Chrome Extension Coming Soon!


Lover of all things tech, Especially software. I'm a creator and problem solver. I mostly build with rails right now. I'm slowly working toward the automation of the world, one line of code at a time. Please feel free to reach out, my email is at the top and bottom of the page. You can also find me on the NashDev Slack channel.
When not putting code to paper, I enjoying getting out into the wilderness, climbing big rocks, kayaking, and spending time with loved ones.
Friend to the tiny humans.
Lover of adventure.
Master of beasts.


Constructor
new Conductor(cutOffDepth, torPort)
Initialize the conductor and start the scrape
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
cutOffDepth |
number | Cutoff value for the number of hops we should take, starting from either the database or the startUrls. | |
torPort |
number | 9050 | Port to use for Tor controller server. |
- Source:
Methods
(async) downloadAll()
Downloads everything within the pool and everything that might be added
in the future.
- Source:
(async) getDbConnection() → {Promise}
Ensures that we are not overloading the db in case of a very fast network
this mechanism pushes back, such that we wait before issuing new
connections to the network.
- Source:
Returns:
Is resolved as soon as a DBConnection is available
for this download
- Type
- Promise
(async) getEntriesToDownloadPool(limit) → {Promise}
Get entries from the DB directly to the network download pool.
Parameters:
| Name | Type | Description |
|---|---|---|
limit |
number | The number of entries to get from the DB |
- Source:
Returns:
Only used for early returns
- Type
- Promise
(async) insertNetworkResponseIntoDb(networkResponse, dbResult)
If the network finished a download, insert it into the database.
Parameters:
| Name | Type | Description |
|---|---|---|
networkResponse |
NetworkHandlerResponse | The networks response already serialized |
dbResult |
DbResult | The dbResult for which the download was started |
- Source:
returnDbConnection()
Does return the DB connection to the connection pool and potentially
calls any waiting client.
- Source:
(async) run(startUrls, attach)
Initialize the tor client and the db, then start the spidering
Parameters:
| Name | Type | Description |
|---|---|---|
startUrls |
Array.<string> | List of init URL, which serve as startpoint for the scraper |
attach |
boolean | True if we attach to a database on which already a spider is running. If this is the case we do not want to reset inProgress flags, since this might leads to undesired behaviour (Two spider downloading the same page) |
- Source: