Session Transcript:
Are you running an experiment, or are you just winging it?
Session facilitator(s): Sarah D Schmalbach, Sasha Koren
Day & Time: Friday, 4:15-5:30pm
Room: Ski-U-Mah
Sarah: We are going to get started in a couple minutes.
Hi.
How is everyone? How are you really? Thank you guys for that yesterday. That was a session that Jennifer and Andrew. When you ask someone how they are ask them how they really are. I am Sasha Koren and until April I was the co-lead at the guardian US. I am taking a break but will do something again soon enough.
Sarah: I am Sarah Cohen and I co-led the lab with sasha. I am working with a locLl spin up trying to solve problems.
Excited to do this retro and share with you some of the processes that Sasha and I learned through trial and error over two years of experimentation. We talk about this is just one way to go about it. Just a couple practical tips and things that worked for us but we are here to learn about the type of experiments you have run as well. Glad to have this venue to share it in.
Sasha: We will set this up so you know it is coming. We will do half an hour of introducing a methodology we came up with in the lab as we were figure out how to experiment with intention. We will then sort of pass out worksheets, it is very analog, but if it is easier to take notes on a computer or Post-its that is totally fine.
We will have you working in groups by table so at some point you might want to rearrange yourself but you are all good for now. Then we will leave 15 minutes at the end to discuss sort of the ends and outs and sort of have a general discussion of some of the concepts we have introduced and see what comes to mind.
So when we were at the mobile innovation lab part of this came about because we both been in more or less traditional organizations and experiment would amount to something like let’s do something for the world cup. How about we do X? Great.
It is experiment. We would go do it because it seemed like a great idea, according to us, or according to someone, and we would do it and then we would look at metrics and it seemed like a lot of people came to the page so that is good. Then we would move on and we would not necessarily have gotten any insight into what our users thought. Or whether or not the idea itself actually had value beyond our own sense of editorial or technology judgment. There are a lot of these missed opportunities.
When we are talking about trust and engaging with users in a more direct way and involving them in our processes, experimentation gives us a really big opportunity to actually change the way we do things to make them more intentional and user-centered.
So Sarah, do you want to speak to this slide?
Sarah: We just decided to kick it off with what is experiment because we had a pretty particular way of thinking about what was and was not experiment in our innovation lab. This is sometimes how I feel people think I look when I talk about experiment ideas.
We just wanted to pitch it back out TOU – to you. Have you run any experiments lately?
Anyone willing to share?
I think the experiment we run the most often are AP tests for modules or different components.
Tose are distinguished in that you have two versions and you compare across given amount of metrics.
Sarah: That is great.
Sasha: Anyone else? Recent experiments? Anything you have done in the past that might qualify as experiment. Tyler?
In our live coverage format we were experimenting with the thought of entering a newnew of content or card. We asked readers whether or not it was something that was useful and let them react and get feedback and they overwhelmingly said they didn’t want it and we were more than willing to kill the idea.
Sasha: Experimentation where it tells you something you don’t need to be doing anymore.
Any thoughts on a definition of experimentation?
What qualifies as experiment? We can start off with one of our own. The little boy is going to keep winding around this so, you know, if you want to space out on that, that is cool.
The one that – we had a very unusual setup in the mobile innovation lab where we basically were told to experiment with mobile storytelling formats and we had an open mandate to decide what that would be, how it would go, and what we would learn from it.
We had to learn something and then share what we learned.
We came up with some criteria. The idea didn’t need to be brand new in order to be experiment, but we needed to be able to measure success in some way according to a user’s – the user’s reaction and user’s perception rather than our own.
We wanted to understand to that regard about how the actual product feature piece was being used. The definition of success we came up with was simple. Was it useful? Was it interesting?
This isn’t what we thought but what we wanted to get from our users.
The first piece in this methodology we will walk through. It is a five-step method and we will walk through it. It is a bit dense so we will stop periodically and see if you have questions, but raise your hand if we are talking and you need clarification.
To draw a line between an idea and a hypothesis. An example might be something like, do you want to talk?
Sarah: I want to highlight this. The talk we are giving is a microcosm of the hypothesis driven design document that just came out of the NPR newsroom. I have a link to it in the Etherpad because it is impressive and walks through these steps in a more detailed way. I want to put in a reminder a lot of us haven’t encountered hypotheses since grade school but Wesley at NPR had a quick way of saying why do hypotheses matter and he said it might conjure up images of science fair projects but the purpose of the hypothesis is to offer an ex planation for the phenomenon and then you test it. It felt worth repeating that piece and explains why this is part of our methodology.
Sasha: Soit sort of goes like this. The idea in a nutshell is a product, feature, something you think will be interesting, of value to the audience, and you think they might like or get something out of it. The hypothesis from that, it is an additional step around that, the product will solve a problem for a particular audience doing certain kinds of things. We know that the product or feature, etc, solves that problem when we can measure it.
When we can measure these things. This is a little bit abstract. We will put all tees slides up on the Etherpad too.
They may already be up there.
One of the experiments we ran was notifications, live updating, metal alert notifications for the Olympics.
Some were alerts on specific countries the users opted in for, one was a leader board for the top medal countries. A daily leaderboard provides a summary of the competition and the ability to read and ingest in small format the result coverage. We will know it works if engagement is high and our users tell us it is useful. We will get to where they tell us in a little bit. Does that make sense? Any questions? Okay.
Sarah: Cool. After you have your hypothesis it gets done up front. A very simple second next step is to define success metrics based on all aspects of user experience. I will go straight into that because I think a lot of us are use to defining success on page views and time spent.
One of my favorite things about working in the lab was we really brought the user’s experience into our definition of success. So this is kind of just reiterating that, right?
What happens when higher engagement when something doesn’t equate to a better experience? How do we, you know, if you are doing kind of experiment, that is notification-base and someone doesn’t need to click through page view how do you start thinking about if it was a positive experience for people.
We built a new met into our system. For the record, we worked with an agencies in Philadelphia they are called Here Digital. If you are looking for people to walk you through success efforts for metrics they are wonderful. They pitched this net interaction rate which is interesting and it helped us define, think about experiment and all the ways people might engage, and we as a team would code the way that someone might touch it or play with it or engage with it, as positive or negative experiences. Then you kind of do this simple math, positive engagement minus negative engagements over total opportunities to engage and you get this advantage that tells you overall it was a positive or negative experience for people.
It scratches that quanatative need to have a number but takes into account how people feel when they are engaging with something. We just wanted to give you one example of a new way at a measure something. Then show you how it played out for this particular experiment which Sasha mentioned. This is a quick screen shot you would get every night at 11:30 eastern time for the games. It was a reminder.
People opted in if they came to the Guardian site. They are already a captive audience.
They could sign up for a couple things, one is an alert at the end of the day. People pay attention to which countries are on top. And a ping if something happened that was interesting maybe you want to read the coverage.
I want to show you the trackable interactions built into the rate. The first is tapping on the notification itself. The second thing someone could do is those are called active buttons. You could tap on the leaderboard button taking you to the full leaderboard on the Guardian site. You could tap on manage updates which is where we will allow people to turn these off. Or you could swipe the alert away. Those are the things we would be able to track.
And this is how it played out over the two weeks of the Olympics. Just to reiterate, again, what we coded as positive was if someone tapped on the alert on the leaderboard button or the manage updates and what we considered negative is if they dismissed the rate. We were in the old mindset of if someone swipes something away that is bad. We will get to maybe why that is not the best way to code the interaction.
As you can see over time the net interaction rate was going down because over the course of the two weeks people were dismissing the notification more than they were in the beginning and we saw this result.
We kind of started thinking about is dismissing an alert actually a negative interaction and this is kind of the place where I think a lot of people get stuck and think finding this out is impossible and we will never know what our readers think.
We deployed surveys at the end of the experiments, simple Google forms, and sit down and talk about what are the things the quantitative metrics are not going to tell us and put together a 10-12 question survey to chip away at what was happening. If you dismiss the alert what was the common reason? This wasn’t perfect. We saw 25-30 percent of participants getting back to us.
It was antidotal and helped give us context to the numbers.
We ended up recoding swiping to dismiss as neutral.
We tried hard to get analysts to report it as positive. She is not here. Poor Lynnette. It came out of the entire equation and based on this we saw an entirely different result. People were getting the information they needed and swiped it away because they didn’t need it anymore. That was a nice moment for us in terms of measuring success of experience.
Did the graph go up?
Sarah: It is interesting with experiments because we expected people to have bad experiences.
They are trying it for the first time and haven’t encountered this before. All we were looking for was anything over 0. We tried this new thing, applied new technology to news, and was it a positive experience? It was a 14 percent I think net interaction meaning we kept doing live notifications. That is how it went.
Any questions on that?
Yeah, go ahead.
If this is an optional survey how do you account the people that opt in are already more engaged and that might affect the curve you see?
Sarah: I think that gets back to the goal of our experiment which might be different than others which was to say does this have value to anyone? Does this way of displaying news more useful than another way they would get leaderboard results.
We never took one metric as the metric but we could talk hours about the framework we had. We looked at a lot of different signals to say.
Getting allies to track this can be difficult. We had the luxury of implementing precise elements in the lab. Our analytic agencies put together this and talktalked to us about high level goals and how we would quantitatively and qualitatively track this. They would hand us a beautiful set of documents that would explain what we would put in Google analytics. We could track everything people are doing in our notifications or experiments. Qualitatively we would do a brainstorm about the types of survey questions we want to do. All of this is done before launching. Oftentimes, these discussions sway the way we do something or label something based on the way we want to track.
Would you weight two the equally in terms of quantitative and qualitative or depends on the experiment?
Sarah: That is a tough question but I think in my experience, and this might be different from other folks, people tend to pick the one they like to tell the story they want to tell. Sounds like you guys have experienced that before.
That kind of is challenging and I think why we felt like it is not about less or more, it is just about taking both into account. I mean for us, I guess, qualitative mattered a bit more because it was about experience and engagement is something.
People coming to your page will let you know something but we want to know if these are useful paths for technology as it relates to news.
Sasha: I think, too, it was really important for us to have a holistic view rather than weighing one versus the other.
We wanted to get both perspectives and read them off each other. If qualitative is telling us everything is amazing and quantitative tells us no one did anything that didn’t necessarily happen but that would be a weird scenario.
Probably means a bug in your analytics which are very common.
I have trust issues.
Sasha: Maybe not a great example but just that we needed to reconcile the two together. I mean the neutral interaction rate was something that was a great example of how qualitative and quantitative worked hand in hand to tell us something about how a feature was being perceived and used that we had misinterpreted.
I probably should have said this earlier, but this is an overview of what we did and it is not meant to be prescriptive. If you were to try out elements of this, it might look very different for the scenario you are working in, for the organization you are working in, so this slide we didn’t actually use parsley but we includeded it to say here are some possibilities and ways you could get around, sort of reading metrics or a tool you might have in your newsroom or might not. Maybe you are loosing chart B or VA or something else.
Also we use Google forms. Maybe there is another way? Maybe there is like a business insights group where you are working and they have a survey tool they have already paid for and you can actually use. Maybe not.
Where were there any times when you were looking at quantitative metrics and had concerns about the privacy of your users or lawyers had concerns about the privacy of users and what you were collecting on the page and what they might be inputing on the page?
Sasha: We were careful to say we are not collecting data to share with anything. We didn’t ask for personally identifiable information except for the occasions when we asked for an e-mail optionally if they wanted or were willing for us to contact them for interviews or something like that.
Nothing custom on the GA side?
Sarah: No, it was mostly custom dimensions. We did complex thing in alerts where it would be an ex plainer of the jobs report and it would say here is the unemployment percentage and jobs added this month. Do you want the good news or bad news first and the two action buttons would be a thumbs up or down. We needed to see when people dropped off and that is the level of granularity you don’t have a notification and that is how we used more custom dimensions but I don’t think we every tracked location or picked up any personally identifiable information with the exception of lab reader which is a different experiment. We talked to the Guardian about privacy.
One thing I want to mention about Jennifer’s question was I forgot to mention the qualitative data oftentimes helped us do good product development. Things we didn’t bother people. Quantitative told us how this thing went.
Qualitative told us how we might improve in the future. When we did our experiment putting live data in notifications, we got people saying I think this drained my battery. You know, this is updating every 2-3 minutes. We were just kind of more sensitive to that and maybe changed our business rules next time and didn’t have the alert swap out so much. So the qualitative data surprisingly tells you things that help you make the product better over time which quantitative kind of can but is less of a pathway.
Great. Step four.
Sasha: Back to surveys. We will go through this quickly. We have a couple more minutes. We did use Google forms. The ingredients, some of the very brief ingredients that we used were, and there is an example of this linked in the Etherpad for the Olympics survey to ask basic demographic questions like age, what device you were using, I don’t think we asked location data much.
Sarah: Asked about loyalty like are you a regular Guardian reader or not.
Sasha: We asked a mix of broad and then granular questions. Did you like this experiment is an example of a very broad one. Granular; how did you feel about the number of links? Did you tap through? We can tell in aggregate but to tell why they didn’t tap through we could follow-up with. We used screen shots to clarify things we were talking about. We realized after putting in way too many questions that 15 seemed to be the sweet spot where it was just enough to keep people engaged and get a holistic view of things but not too many so they didn’t just drop off and don’t finish.
One of the most interesting things to me was that there were – we always left a box at the end that said anything else you would like to tell us about this experiment and people would write-in, not everyone, but I was very surprised that actually the act of asking – I should not have been surprised, but the act of asking and opening up that space for users to tell something about how they experienced what we were offering them gave them the opportunity to tell us surprising things like it drained my battery, to give us more insight and clarity.
Sometimes it was really positive like my favorite one is after the alerts on the Brexit vote, unfortunately, it was an 18 year old who said I am getting my credit card next week and I am going to pay for the Guardian.
That made people very happy inside the GuardianGuardian. I hope he is continuing to pay. It could also be not-so-positive. It didn’t work for me or you guys are so bias or whatever. There were things that were helpful for us to know.
How are you distributing the survey to users?
When we did alerts it was through a notification and that was the most common. Sometimes if it was something we were doing on a mobile web page to users we would put a link at the top of the page sometimes and follow-up with an alert. A variety of ways. We had to get creative.
Sarah: For instance, with we did our live video player for there inauguration, you could tap on the live video and it would scroll to the left-hand side so you could engage, we put a little link that said give feedback in the player itself and got people to click through there.
How good was your response rate?
Sarah: It was usually around 25-30 percent but the audiences were small. First experiment we had 14 people opt in. The largest experience, putting live data notifications around the presidential election, there were 230,000 people. It is interesting because the methods of analysis changed and we could not go through the free form feedback so our analyst put together a simple LP algorithm to do sentiment analysis and picked words and scanned the free form and said overall the feedback was positive. I get really into this but they could show us the most positive and most negative responses and called it a day.
Nice.
Sasha: Okay. Let’s move on to the final step here. This is a very important one. Just to put down retrospective, just to gather everyone who participated, really everyone, like if you can get anyone who worked on one specific aspect of it in the room to talk about how it went for them, what they thought, the questions that we used were very simple and revealing and meant to not place any blame and not make anyone feel overly sort of burdened if something didn’t go as well as we thought it might. We had the luxury of not having specific criteria for expectations for high traffic rates. We just wanted to know how things went and sometimes our experiments didn’t hit the mark we thought they would. This is designed to evaluate without having anyone sort of feel like it was – that anything we did was wrong.
Three questions. What went well?
What didn’t go well? And what could we do better next time?
Everyone gets the chance to talk. We tried to bring people out to sort of see if someone wasn’t actually contributing to the conversation to try to sort of elicit them. Sometimes people don’t want to. We tried to make it a good open space for people to say what they thought. That is about it.
Anything you want to add?
Sarah: No.
Sasha: Okay. I think what we have going to do now is try, sort of try as best as we can, it is a little bit of a conceptual exercise but we have worksheets. For the people who are not at tables, it might be helpful if you found a spot at a table, if you can. I don’t know if we will have enough seats at tables but we certainly have a couple here, couple on this sideside. Once you have introduced yourself to each other as you are doing and Sarah is done handing out the worksheets we will have about half an hour, sorry we have a question in the back. Oh, just a worksheet.
There is a little bit more room at this table if you want to squeeze up. Or you can gather in the back. That is great too. The first thing to do is to pick experiment topic. We have come up with examples here. You can also feel free to come up with your own if none of these appeal. These are just sort of hypotheticals but, of course, there is an infinite world of experiment topics. If you don’t like to think about it in terms of being experiment, think of it as a project. Any project you have done in the past or may do in the future. We will just work through it. We going to circulate and see if there are questions. Raise your hand if you are getting stuck.
Hopefully, we will be able to get to everyone. One, two, three –
Sarah: Just a real quick thing, too. We have about maybe 25-30 minutes.
You will see it is a five-page document and the five steps.
There is boxes and prompts to kind of have your team talk through each of those steps.
Feel free to write on whatever paper you want. If you want to use the Post-its go for it. We will give you a reminder you should be moving on to step two or three but move at your own pace. If you get deep in a hypothesis, wonderful. Hopefully you get further than that. Have a good time and thanks for participating.
Great!
[30 minute group exercise]
Sarah: You guys might start wanting to get to step two. It has been 5-6 minutes.
Sasha: If you haven’t moved on to step three, you should move on in the next minute.
Sarah: Or at your own pace.
Sasha: Does anyone need help?
Anyone stuck?
Okay.
We have gotten a little feedback that step three can be a bit confusing.
Just want to say it is more of a thought exercise into who would help you since we don’t have space in this particular setting to actually implement any analytics. Sort of think about who would help you and your high level goals.
Sarah: Step two is about your goals and what you want to know and how you would measure it and step three which we could skip if we do this again is just like a thought experiment of who would you bring together. I know in every organization it is unclear how to implement these things so just to get your brain going about who might help you run a survey and who might implement Google analytics. You can spend less time and get to step four where you can start sketching questions for the qualitative survey if that is what you want to do. Apologies.
This was experiment in and of itself. But yeah.
Sasha: And just to let you know we have about nine minutes before we start wrapping up and then discussing.
Sarah: Cool. Thanks.
We just have a few minutes left.
Wrap it up. We have 2-3 minutes and we will circle back and share what we learned.
Sasha: Okay.
[Whistles]
Sarah: I didn’t know you could do that.
Sasha: Me neither. One down.
So glad everyone wants to keep talking. Just want to make sure we have a little discussion before we go back to the room and wrap up.
Would anyone like to talk about how this went? Talk about the process? Any aspect? What it made them think about? How it made them think about thinks differently? – things. Let’s stick with step one. Let’s say I know that some people were having a little bit of problems settling on a topic. That signals a little bit that even figuring out what experiment is might be tricky. Anyone want to respond? Talk about that? Cho?
I think Evan had a hypothesis in mind for the question he was trying to tackleal and – tackle and we ended up digging deeper and asking him more questions and through asking him questions he was like that would be good to know too. We really had good, like, quality conversations at the very start that made us fill out the other pages a lot faster because we already touched on various things.
Do you want to share?
We are launching this next week. We sort of thought about this question of how do we, like, A, quantitatively measure, like, the value or qualitatively –
What are you launching?
It is like a visual design heavy story format as opposed to here is a news article. The big question I have is can that designed experience drive readers deeper in to the, you know, to the story and then like either, for brand purposes, or reader comprehension purposes, there is a thousand potential benefits.
The hypothesis being that it will.
Yes, it is good.
Sasha: Great. Thank you.
Anyone other teams want to share their project and then the hypothesis idea? Idea and hypothesis? Great.
Sarah: In the mean time that is amazing insight.
Experimentation is messy and that is why it took us two years to figure it out. Working through the hypothesis does help get through the process.
Couldn’t be more perfect. Thank you for sharing.
We always talked about something that is in the works.
It is mid-term election we are working on at NPR news. Lucked out and got a free workshop.
What we ran into it was I am excited about this project but I didn’t have a lot of defined what the goal is and how we are going to measure the metrics so we had the idea right away but then we had to take it slower on what is the hypothesis, what is this actually going to accomplish and what we landed on is it was going to sulfur, NPR’s distribution of election information for potential voters who also have smartphones because that is the audience who would be interacting with it.
Sarah: Cool. Nice. That kind of allows you to let go some some things when you are creating experiment. We didn’t disregarddisregard desktop but if we had time and were going to make it really good on mobile and just little better on desktop we could prioritize what we would work on so even having that specificity to the hypothesis can be helpful long-term.
Sasha: Time for one more?
Sarah: Sure. I think it is on.
We were talking about notifications but delivering them over Facebook messenger.
Most people don’t buy big expensive telephones and take photos and run out of face. So by using the existing Facebook APP to get notifications you don’t have to install our APP just to get push notifications from us.
Sarah: Did you consider what the cons of that might be?
 That is a con.
Sarah: But it is fair when you think about how much you might invest in that strategy and test it first. Absolutely.
Cool.
Sasha: We have about six more minutes. Anyone want to talk about other – sorry, did you have?
It is funny we did the same idea. A visual first story template and I think one thing that came out was it also highly depends on the implementation of, like, the quality of the illustrations or photographs, the quality of your user experience if you have like a slide show or something like that, that could easily kind of derail or throw off your findings, so you have to figure out how to –
Sarah: Also people’s personal preference for visuals on phones. We think one template would be great for everybody but people have different preferences and how can you get the signals on how they lick to consume. Yeah, it always kind of – you start with a question and then you have 10 more. It helps you get through the rest a lot faster we found.
Sasha: Those kind of qualitative aspect of experiment tend to come out in the process when you are discussing went well or what didn’t like maybe we could have chosen different photos or written the captions differently. It is nice when the process it be iterative when you build on something once and try again even though in the real world that is not always possible.
Sarah: Did we want to just do – there is only two minutes left but burn down on the session? We have going to do this again at ONA so feel free to skip it or come back and see if we improved. We know it isn’t perfect so if you have any feedback about what went well, what didn’t –
This is quite intimidating.
We kept turning the page and saying there is more.
Sarah: I know. My mom is a fifth grade school teacher and I think it was all coming out in that documents.
More worksheets.
More worksheets?
No, kidding.
Sarah: You are absolutely right. We will condense next time, I think.
I think we had a ton of surVia – survey questions and I had to write in the margins.
Have more space for that.
Sarah: Yeah, it was clear some things were overexplained.
It was very helpful to have the template.
You guys did a good job.
Thank you so much.
I wonder if it would be worth giving people specific prompts or have a deck saying here is your thing because we spent a lot of time getting started.
Sarah: Absolutely. That makes sense. I think it is always the balance of letting people be creative so we were trying to say here is a couple things but they were not granular enough to get started on. That is really helpful. We will do that for sure. Yeah?
Maybe a reconfiguration of the document is like, you know, you want to know what do we want to know and we can figure out later will we get that from metrics or will we get it from the qualitative survey.
Sarah: Sure.
Maybe a list of what do we want to know after we have run our experiment and then the second step is now label those which ones can you count and which ones do you have to have as a survey question.
Sarah: I think the reason they are all on that page is we think about what we already know about things and the qualitative stuff doesn’t come naturally to us so I think it was meant to bring that out but maybe we can emphasize that and say everything you want to know. Off the wall. Were people awake when they were experiencing your product? So, yeah, that is good feedback as well.
I think instead of having presentation and workshop time you do presentation on page one, do page one.
Sarah: We were chatting with folks at SRCCON about what might be better. We were on the fence about that as well. Absolutely and that might help the descriptions be short or long so that probably makes a lot of sense, too. Thank you. I love this is the best participatory part.
Just on a really basic level we didn’t even bother to check in with each other. We just dove in and about midway through we introduced ourselves. We just forgot we were so focused and I think that opened up our dialogue and it is just something we forgot to do.
Sasha: Really good point.
Thank you. In general, though, I think what we wanted to do with this process is just introduce a possibility of bringing and how you might be able to go about thinking the projects in a way that can open up other information. Also check your assumptions. We all go into the project development with assumptions and don’t thing –
think we do. It is one way to start that inquiry. You would like to use notes on the Etherpad about something coming up in a couple weeks and you want to tell us about it that would be great too. Anything else?
Anyone want to respond? Comment?
Go get ice cream? A drink? Okay.
Thank you, all.
Sarah: Thank you so much.
[APPLAUSE]


[gecode-users] Draft "Modeling and Programming with Gecode"
Christian Schulte
cschulte at kth.se
Fri Mar 26 16:07:55 CET 2010
Hi Filip,
the big picture is in:
http://www.gecode.org/doc-latest/reference/PageHowToChange_3.html
You also have to do the changes from 3.2.2 to 3.3.0:
The failure macros for posting GECODE_ES_FAIL and GECODE_ME_FAIL
now only accept a single argument and assume that "home" actually
refers to the home space. Read the forthcoming "Modeling and
Programming with Gecode" for details.
The functions ES_FIX_PARTIAL, ES_NOFIX_PARTIAL, ES_FIX_DISPOSE,
and ES_NOFIX_DISPOSE are now member of Space. Read the
forthcoming "Modeling and Programming with Gecode" for details.
The function ES_SUBSUMED now is a member of Space and accepts a
propagator as its single argument. The variant with a size as the
second argument is available as ES_SUBSUMED_DISPOSED but use is
highly discouraged. Read the forthcoming "Modeling and
Programming with Gecode" for details.
Best
Christian
--
Christian Schulte, www.ict.kth.se/~cschulte/
-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Filip Konvicka
Sent: Friday, March 26, 2010 3:39 PM
To: users at gecode.org
Subject: Re: [gecode-users] Draft "Modeling and Programming with Gecode"
Hi,
> Do not even think of looking at it if you are afraid of early drafts!
I'm certainly not :-) It looks very nice, I'm looking forward to reading
all of it soon.
This gently reminds me that I'm still (shame on me) using version 2 of
Gecode... I've seen here on the list that some people tried to use the
float vars in Gecode 3. Can you please give me the rough status on
porting of the v2-compatible code to Gecode 3?
Thanks,
Filip
_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
More information about the users
mailing list


This website does not collect any personal information except that which is freely shared publicly through comments or other means.
Disclosure
There may be affiliate links throughout the website which are provided by affiliate partners that I may have financial relationships with. I may receive compensation from these affiliate partners if you purchase products using the links in this website.


Voxel Global Illumination, VXGI, is a new way, developed by NVIDIA, to simulate Global Illumination. This implementation converts the 3D scene into voxels, making them emitting or reflecting the light.
VXGI works by following some steps, like: Opacity Voxelization, Emittance Voxelization and Cone Tracing. Here you can observe a detail explanation to understand the implementation.
You can access our application going to the repository in this section. There is also a detailed tutorial of our modified demo.
We decided to create a more visually appealing documentation of NVIDIA's source code by creating a web page with the information of the VXGI API.
We decided to create a Quiz in which the interviewee had to pick between images, in order to perform a cross reference between the image quality vs the Clipmap size.


Index
C
|
D
|
G
|
H
|
I
|
L
|
M
|
N
|
P
|
S
|
T
|
U
|
V
C
Compound (class in viewer.models)
CompoundImageView (class in viewer.views)
CompoundScoresView (class in viewer.views)
CompoundView (class in viewer.views)
ComputedMolAndScoreView (class in viewer.views)
ComputedMolecule (class in viewer.models)
ComputedMoleculesView (class in viewer.views)
ComputedSet (class in viewer.models)
ComputedSetSubmitter (class in viewer.models)
ComputedSetView (class in viewer.views)
create() (viewer.views.DictToCsv method)
(viewer.views.DiscoursePostView method)
(viewer.views.DownloadStructures method)
cset_download (class in viewer.views)
cset_key (class in viewer.views)
CSetForm (class in viewer.forms)
CSetKeys (class in viewer.models)
D
DictToCsv (class in viewer.views)
DiscoursePostView (class in viewer.views)
DownloadStructures (class in viewer.views)
G
get() (viewer.views.UploadTaskView method)
(viewer.views.ValidateTaskView method)
get_open_targets (class in viewer.views)
get_serializer_class() (viewer.views.SessionProjectsView method)
(viewer.views.SnapshotsView method)
H
highlight_mol_diff (class in viewer.views)
I
img_from_smiles (class in viewer.views)
L
list() (viewer.views.DictToCsv method)
(viewer.views.DiscoursePostView method)
(viewer.views.DownloadStructures method)
M
Molecule (class in viewer.models)
MoleculeTag (class in viewer.models)
MoleculeTagView (class in viewer.views)
MoleculeView (class in viewer.views)
MolImageView (class in viewer.views)
N
NumericalScoresView (class in viewer.views)
NumericalScoreValues (class in viewer.models)
P
process_compound_set (class in viewer.tasks)
process_target_set (class in viewer.tasks)
Project (class in viewer.models)
Protein (class in viewer.models)
ProteinMapInfoView (class in viewer.views)
ProteinPDBBoundInfoView (class in viewer.views)
ProteinPDBInfoView (class in viewer.views)
ProteinView (class in viewer.views)
pset_download (class in viewer.views)
S
ScoreDescription (class in viewer.models)
serializer_class (viewer.views.CompoundImageView attribute)
(viewer.views.CompoundScoresView attribute)
(viewer.views.CompoundView attribute)
(viewer.views.ComputedMolAndScoreView attribute)
(viewer.views.ComputedMoleculesView attribute)
(viewer.views.ComputedSetView attribute)
(viewer.views.DictToCsv attribute)
(viewer.views.DiscoursePostView attribute)
(viewer.views.DownloadStructures attribute)
(viewer.views.MolImageView attribute)
(viewer.views.MoleculeTagView attribute)
(viewer.views.MoleculeView attribute)
(viewer.views.NumericalScoresView attribute)
(viewer.views.ProteinMapInfoView attribute)
(viewer.views.ProteinPDBBoundInfoView attribute)
(viewer.views.ProteinPDBInfoView attribute)
(viewer.views.ProteinView attribute)
(viewer.views.SessionActionsView attribute)
(viewer.views.SessionProjectTagView attribute)
(viewer.views.SnapshotActionsView attribute)
(viewer.views.TagCategoryView attribute)
(viewer.views.TargetMoleculesView attribute)
(viewer.views.TargetView attribute)
(viewer.views.TextScoresView attribute)
SessionActionsView (class in viewer.views)
SessionProject (class in viewer.models)
SessionProjectsView (class in viewer.views)
SessionProjectTag (class in viewer.models)
SessionProjectTagView (class in viewer.views)
Snapshot (class in viewer.models)
SnapshotActionsView (class in viewer.views)
SnapshotsView (class in viewer.views)
T
Tag (class in viewer.models)
TagCategory (class in viewer.models)
TagCategoryView (class in viewer.views)
Target (class in viewer.models)
TargetMoleculesView (class in viewer.views)
TargetView (class in viewer.views)
TextScoresView (class in viewer.views)
TextScoreValues (class in viewer.models)
TSetForm (class in viewer.forms)
U
UploadCSet (class in viewer.views)
UploadTaskView (class in viewer.views)
UploadTSet (class in viewer.views)
User (class in viewer.models)
V
validate_compound_set (class in viewer.tasks)
validate_target_set (class in viewer.tasks)
ValidateTaskView (class in viewer.views)
Fragalysis-Backend
Navigation
Introduction
Local developer environment setup
Running in Production (+CI/CD)
RESTful API (Models, Serializers and Views)
Crystallographic data (Models)
Computational data (Models)
Projects data (Models)
Crystallographic data (Views)
Computational data (Views)
Project data (Views)
Miscellaneous data
Tags
Uploading data (Celery tasks and django template)
Serving static files (media)
Download data
Related Topics
Documentation overview
Quick search


Changing a Style
If you are a site organizer, you may change the name and description of any style you have created that has not been published.
You may also choose a different .css file for any unpublished style. After a style has been published, only the system administrator
can change it.
To change a style, access the Styles tool and follow these steps:
- If the Styles home page is not displayed, click the Reset button.
- Find the style you want to change and click the Revise link below its name. Sakai displays the Revise Style screen. The boxes
on this screen show your current entries for this style.
- Change entries as needed.
 Sakai saves the changes you have entered and displays the Styles home page. Or,
to return to that page without saving your changes, click Cancel.


an awkward dialogue
Project: at Addikt, Mumbai
Duration: 5 Weeks
Role: Concept, Branding, Graphic Design
Tools: Adobe creative suite
© 2017 Viniyata Pany
description


What this plugin do? It integrates a TSViewer into your battlelog sidebar! (It has nothing to do with TSViewer.com!)
http://img.pun1a.net/2012-09-15_1459.png
Configurate the plugin is a bit tricky. If you need help, just ask!
Firstly
, you need the IP/Domain of the TS3 server. (e.g. Player4Fun.de or <IP_ADDRESS>)
Secondly
, you need the TS-Port. You can find it here:
http://img.pun1a.net/2012-09-15_1519.png
after the colon. If there is no colon, you can use 9987 (Default port)!
And thirdly
, you need the Queryport. Default is it 10011. I tested it on 6 teamspeak3 servers and every got this one! But if it's not 10011, you can't find out the port easily. Just ask a Administrator or your hoster!
If you have got all this information it's easy to configure this plugin.
Open the bblog-menu, search this
http://img.pun1a.net/2012-12-26_1216.png
click on Settings and put the information down there.
For people who used the plugin with the personal URL:
just readd the url, remove the old one and configure it again.
ORFK
Global Moderator
Thats a nice plugin! Really good work =)
the_killer_owl
I am guessing we need to post or own plug-in URL online?
Willum21
I think I saw that when I entered my Clans TS server into the URL, The script changes
Topicstarter
Pun1a
Helping Hand
the_killer_owl wrote:
I am guessing we need to post or own plug-in URL online?
Willum21 wrote:
I think I saw that when I entered my Clans TS server into the URL, The script changes
You just have to put your server-infos into the url. PHP put this information into the script for you.
Teme
Thank you for plugin, it rocks. Could you make an alternate css available, so when using dark battlelog theme, the text in plugin can be read? As it's now, black on dark is barely visible.
Topicstarter
Pun1a
Helping Hand
I just made a little "generator". Just put in your teamspeak-infos and it generates your url.
Thank you for plugin, it rocks. Could you make an alternate css available, so when using dark battlelog theme, the text in plugin can be read? As it's now, black on dark is barely visible.
Thank you for plugin, it rocks. Could you make an alternate css available, so when using dark battlelog theme, the text in plugin can be read? As it's now, black on dark is barely visible.
I have tried this a few times and it just doesn't seem to be working. Pun1a, I even tried the link you provided in your initial post to your TS3.
[[EDIT]]
Nevermind. I got it working. Just a typo after all.
Thanks and very cool plugin.
Wicked_aka_Nepo
Hi Pun1a,
ich gehe einfach einmal davon aus, dass Du mich verstehst, da Deine Plugins laut deiner Signatur auch in Deutsch angeboten werden.
Ich bin Redakteur eines Spiele Magazins und wir schreiben grade einen Artikel über deine kleine Erweiterung.
Wäre es möglich dass Du uns einmal kurzfristig eine kleine Anleitung zu kommen lässt? Diese würden wir dem Artikel gerne anhängen.
Gruß Wicked
BrainFooLong
Administrator
Only English Board, no matter if people understand other languages.
Wicked_aka_Nepo
Ok... thats a Problem. My English is very Bad but i will do my best :D
xXJumpyXx
Helping Hand
Wicked_aka_Nepo wrote:
Ok... thats a Problem. My English is very Bad but i will do my best :D
Just use Google Translate if you find it difficult, it's better than nothing.
Wicked_aka_Nepo
Hi Pun1a, I am an editor of plays of magazine and we write just an article about your small extension.
Only unfortunately, we lack a small description as the people can integrate the Teamspeak into the strip. Would be it possible that you to us once at short notice for small instructions lets to come?
We would suspend this to the article with pleasure.
Greeting Wicked
Topicstarter
Pun1a
Helping Hand
Firstly, thanks for your interesting at my plugin!
How to install the plugin is easy.
1. install BetterBattlelog
2. open your BBLog-option menu:
http://img.pun1a.net/2012-09-17_1728.png
3. click on 'plugins'
http://img.pun1a.net/2012-09-17_1729.png
4. Now it'll be a bit tricky. The easiest way is it to use my generator (link:
Q:
Is there any chance for adding more than one TS server?
I'm using couple of servers for TS, and I've added one by one into "my custom plugins", but only one ts server is displayed in my battlelog.
Any idea, or I'm doing something wrong?
the_killer_owl
"Hey Pun1a
I did it ... the default port for Query gameservers.com is 9100
mfg LX"
This fixed my previous error... works great!
MarkCwee
Is there any chance for more than one TS servers to be displayed in bblog?
dapil
Plugin Developer
Can you please update this to work with v3.0? It's very useful.
Weyland
I'm currently working on an extended version of this plugin for 3.0. I will have it ready in a few weeks as my time is precious at the moment. The back-end is already in the works. Just need to code the javascript plugin from scratch.
dapil
Plugin Developer
OK, thanks :)
MarkCwee
Hey guys, has anyone managed tsviewer plugin working with this bblog 3?
ORFK
Global Moderator
the plugin developer will take care about it.
Post edited 1 x times, last by
Pun1a
Helping Hand
Topicstarter
Pun1a
Helping Hand
Weyland wrote:
I'm currently working on an extended version of this plugin for 3.0. I will have it ready in a few weeks as my time is precious at the moment. The back-end is already in the works. Just need to code the javascript plugin from scratch.

Updating to BBLog V3 is in Progress.

I_like_Chocolate
when does the plugin goes for 3.0 online? :)
HowlinWolf_PL
waiting for it as well :)
Post edited 3 x times, last by
Pun1a
Helping Hand
Topicstarter
Pun1a
Helping Hand
Update is out. All new links are in the first post!
WhiteFix-Edition will come in... hm.
Is there any chance for more than one TS servers to be displayed in bblog?
This were useful for me too!
GameFreakBoy
Would a Ventrilo Viewer plugin be possible?
ORFK
Global Moderator
who is using ventrillo? Oo
Topicstarter
Pun1a
Helping Hand
GameFreakBoy wrote:
Would a Ventrilo Viewer plugin be possible?
What is Ventrilo? Ehm, nope sorry.
José Ortega
Global Moderator
Ventrilo is dead before i was born.
I_like_Chocolate
when does the darktheme patch arrive?
Topicstarter
Pun1a
Helping Hand
twm-killerkeks wrote:
when does the darktheme patch arrive?
It's there!
Version 1.0.3 is out - watch in the first post for more information!
http://img.pun1a.net/2012-12-26_1220.png
Wutzmann
I get a error "socket recource not exists"!
The old Script work fine.

The old Script work fine.
Ah, found the failure. Fixed!
dapil
Plugin Developer
Czech translation for you: :) "cs" : {
"tsviewer.settings.button" : "Nastavení",
"tsviewer.settings.changeColor" : "Změnit barvu textu na bílou (pro tmavé skiny)",
"tsviewer.advanced.description" : "Zde můžete změnit nastavení připojení k vašemu TeamSpeak 3 serveru.",
"tsviewer.settings.firstbox" : "IP/doména vašeho TS3 serveru",
"tsviewer.settings.secondbox" : "Port vašeho TS3 serveru",
"tsviewer.settings.thirdbox" : "Query-Port vašeho TS3 serveru",
"tsviewer.settings.addItem" : "Použít a uložit"
},
I've an idea: it would be good, if the default port and query port were filled in.
Wutzmann
Pun1a wrote:
Wutzmann wrote:
I get a error "socket recource not exists"!
The old Script work fine.
Ah, found the failure. Fixed!
It Works!
Thanks.
Basili4
Russian translation "ru" : {
"tsviewer.settings.button" : "Настройки",
"tsviewer.settings.changeColor" : "Изменение цвета шрифта на белый (для темной темы)",
"tsviewer.advanced.description" : "Здесь вы можете изменить настройки для подключения к серверу TeamSpeak3",
"tsviewer.settings.firstbox" : "IP / Domain вашего TS3-сервера",
"tsviewer.settings.secondbox" : "Подключение-порт вашего TS3-сервера (стандартный: 9987)",
"tsviewer.settings.thirdbox" : "Query-порт вашего TS3-сервера (стандартный: 10011)",
"tsviewer.settings.addItem" : "Принять и сохранить"
},
Post edited 1 x times, last by
qxGHOSTxp
qxGHOSTxp
Pun1a wrote:
Wutzmann wrote:
I get a error "socket recource not exists"!
The old Script work fine.
Ah, found the failure. Fixed!
Well i keep trying to get this to work, it seems like a cool plugin but i keep getting the same error "fsockopen error: Connection refused (111)" I dont know what to do.
X0x-PuNk-x0X
i entered my TS ip and everythin but still gettin error how to fix this problem ?
I'm still getting "socket recource not exists"
The TS I use doesn't use a port number for people to connect to the address. And I have no idea what the query port number is.
With the previous script, before BBL3, I only had to use the name address with no port numbers used at all.
dapil
Plugin Developer
New version of Czech translation: "cs" : {
"plugin.name" : "TS náhled"
"tsviewer.settings.button" : "Nastavení",
"tsviewer.settings.changeColor" : "Změnit barvu textu na bílou (pro tmavé skiny)",
"tsviewer.advanced.description" : "Zde můžete změnit nastavení připojení k vašemu TeamSpeak 3 serveru.",
"tsviewer.settings.firstbox" : "IP/doména vašeho TS3 serveru",
"tsviewer.settings.secondbox" : "Port vašeho TS3 serveru",
"tsviewer.settings.thirdbox" : "Query-Port vašeho TS3 serveru",
"tsviewer.settings.addItem" : "Použít a uložit"
},
Wolf68k
So no answer to my issue then?
Post edited 1 x times, last by
Pun1a
Helping Hand
Topicstarter
Pun1a
Helping Hand
Wolf68k wrote:
So no answer to my issue then?
use the standard query-port: 10011
Post edited 1 x times, last by
Destroyer
Destroyer
I have a question
the teamspeak viewer just keeps loading all the time how can i fix that ?
"fr" : {
"tsviewer.settings.button" : "Paramètres",
"tsviewer.settings.changeColor" : "Couleur des textes en blanc (pour les thèmes sombres)",
"tsviewer.advanced.description" : "Paramètres de connexion à votre serveur Teamspeak3",
"tsviewer.settings.firstbox" : "Adresse du serveur TS3",
"tsviewer.settings.secondbox" : "Connecting-Port du serveur TS3 (Défaut : 9987)",
"tsviewer.settings.thirdbox" : "Query-Port du serveur TS3 (Défaut : 10011)",
"tsviewer.settings.addItem" : "Sauvegarder"
},
Post edited 1 x times, last by
José Ortega
Global Moderator
José Ortega
Global Moderator
"es" : {
"tsviewer.settings.button" : "Opciones",
"tsviewer.settings.changeColor" : "Cambiar el color del texto a blanco (para temas oscuros)",
"tsviewer.advanced.description" : "Aquí podrás cambiar las opciones para colocar tu servidor de Team Speak 3",
"tsviewer.settings.firstbox" : "IP/Dominio del servidor de TS3",
"tsviewer.settings.secondbox" : "Puerto de Conexión del servidor de TS3 (Normalmente: 9987)",
"tsviewer.settings.thirdbox" : "Puerto de Consulta del servidor de TS3 (Normalmente: 10011)",
"tsviewer.settings.addItem" : "Aceptar y Guardar"
},
Brady_The
I really love this plugin.
Would it be possible to add a option to display the TSViewer above the Game Activity?
Greetings
Brady
backbone
Any chance to add support for ts servers with password?
Post edited 1 x times, last by
Wojtek
Wojtek
What should I do when im trying to conect i have something like this: "serverinfo" command failed! insufficient client permissions!
Brady_The
Wojtek wrote:
What should I do when im trying to conect i have something like this: "serverinfo" command failed! insufficient client permissions!
Seems like 4netplayers have some problems with their databases, I will contact them tomorrow. For now I've disabled my statistics-queries.
Ic3nFiRe
Working now! Thanks!
Post edited 2 x times, last by
will
will
<IP_ADDRESS>:3785 My team speak numbers can you tell me what to put where?
this below did not work,
i got ---server select by UDP Port 9987 failed
TSVIEWER :: SETTINGS
Here you can change the settings to connect to your Teamspeak3 server.
<IP_ADDRESS>:3785
9987
10011
Post edited 1 x times, last by
juress
Theme Developer
juress
Theme Developer
will wrote:
<IP_ADDRESS>:3785 My team speak numbers can you tell me what to put where?
this below did not work,
i got ---server select by UDP Port 9987 failed
TSVIEWER :: SETTINGS
Here you can change the settings to connect to your Teamspeak3 server.
<IP_ADDRESS>:3785
9987
10011
TSVIEWER :: SETTINGS
Here you can change the settings to connect to your Teamspeak3 server.
<IP_ADDRESS> (server ip)
3785 (port)
10011 (query port - for this you have to ask the server admin)
will
It did not work?
This error i got - fsockopen error: Connection refused (111)
juress
Theme Developer
will wrote:
It did not work?
This error i got - fsockopen error: Connection refused (111)
That I think is problem with the query port either being wrong or not being forwarded on the server router. But I could be wrong, either way it should be fixable on the TS3 server.
Post edited 1 x times, last by
Legger-pl
Legger-pl
Hello, I use the bblog 4.1.0.
I installed the plugin "tsviewer".
plugin has been installed but not working "settings" button in tsviewer plugin.
When pressed, nothing happens.
I use Chrome
I will be grateful for your help.
Brady_The
Legger-pl wrote:
Hello, I use the bblog 4.1.0.
I installed the plugin "tsviewer".
plugin has been installed but not working "settings" button in tsviewer plugin.
When pressed, nothing happens.
gives back a "404 Not Found error". You'll find a mirror in this thread but it's useless as well, because the plugin is still referring to a few dead links within the .js file.
ObiJimKenobi
Brady_The wrote:
Legger-pl wrote:
Hello, I use the bblog 4.1.0.
I installed the plugin "tsviewer".
plugin has been installed but not working "settings" button in tsviewer plugin.
When pressed, nothing happens.
gives back a "404 Not Found error". You'll find a mirror in this thread but it's useless as well, because the plugin is still referring to a few dead links within the .js file.
Any update on this? I see it still shows 404, I'd love to try it out, but no luck.
Brady_The
ObiJimKenobi wrote:
Brady_The wrote:
Legger-pl wrote:
Hello, I use the bblog 4.1.0.
I installed the plugin "tsviewer".
plugin has been installed but not working "settings" button in tsviewer plugin.
When pressed, nothing happens.
gives back a "404 Not Found error". You'll find a mirror in this thread but it's useless as well, because the plugin is still referring to a few dead links within the .js file.
Any update on this? I see it still shows 404, I'd love to try it out, but no luck.
To be honest, I have no idea. The plugin creator was last online at the beginning of this month, so it might take a while before you get an answer.


{% extends "global/Page.html" %} {% load staticfiles otree %} {% block title %} Does Feedback Make a Difference? {% endblock %} {% block content %}
At university (and elsewhere!) you are often asked for feedback. For instance, restaurants ask for feedback on their menu, and professors ask for feedback on their classes. We asked you for feedback about a geography quiz.
Thinking in particular about the person who thought this quiz was unfair: How likely do think it is that this person's voice is heard?
Put differently: How likely do you think it is this quiz will be changed according to this person's suggestions?
{% for field in form %} {% formfield field %} {% endfor %}


Omron Hostlink Protocol
FCS (Frame Checksum) Calc
String :
Frame Checksum :
Host Link Command :
Host Link Command Generator
Node No :
Commands
RD-Read DM
WD-Write DM
MS-Read Mode Status
SC-Write Mode Status
KS-Forced Set
KR-Forced Reset
RR-Read Channel Status
WR-Write Channel Status
Parameter :
Operand
CIO
LR
HR
AR
TIM
TIMH
CNT
CNTR
TTIM
TN
Parameter :
Beginning Word (0000-9999) + No. of Words (0001-10000)
Host Link Command :
BCC (Block Check Character)
String :
Block Check Character :
Command with BCC :
* you must convert (CrLf) to your system accordingly
Download Android Version
Report Issues
Develop by XKID © 2013


This is calculator business logic practice
First number:
Second number:
Add!
First number:
Second number:
Subtract!
First number:
Second number:
Multiply!
First number:
Second number:
Divide!


Authors: Kadappan Panayappan and Raj Mittra
Source: FERMAT, Volume 11, Article, Sep_Oct, 2015
Abstract: In this write up we present a review of νFDTD, an efficient and accurate method to solve low frequency, non-conformal and multi-scale problems using FDTD. The conventional time domain technique FDTD demands extensive computational resources when solving low frequency problems, or when dealing with dispersive media, or when structures with high Q factor are involved. The νFDTD (New FDTD) technique is a new general-purpose field solver, which is designed to tackle the above issues using some novel approaches, which deviate significantly from the legacy methods that only rely on minor modifications of the FDTD update algorithm. The νFDTD solver is a hybridized version of the conformal FDTD (CFDTD), and a novel frequency domain technique called the Dipole Moment Approach (DM Approach). This blend of time domain and frequency domain techniques empowers the solver with the potential to solve problems that involve: (i) calculating low-frequency response accurately and numerically efficiently; (ii) handling non-Cartesian geometries such as curved surfaces accurately without staircasing; (iii) handling thin structures, with or without finite losses; and (iv) dealing with multi-scale geometries.
Keywords: Method of Moments (MoM), Finite Element Method (FEM), Finite Difference Time Domain (FDTD) Method, Dipole Moment Approach
View PDF
A Review of νFDTD: An Efficient and Accurate Method to Solve Low Frequency, Non-Conformal and Multi-Scale Problems Using FDTD


Dev Point
Store
Create
Learn
Categories
Select All
computer programming
Mobile Development
Web development
Game Development
Database
Security


LETTER: Ramirez editorial cartoon on homeless misses the mark
by Dale Devitt Las VegasIn response to Michael Ramirez’s recent editorial cartoon on the homeless:
Mr. Ramirez believes liberal policies enable and encourage homelessness. I would suggest that Mr. Ramirez serve on a soup line and pass a hot bowl of soup to a homeless man while looking him in the eyes. Would he still believe that these men (and women) have chosen the “good life” of being homeless?
How does society encourage people to choose being homeless? The fact is that almost all people who are homeless are dysfunctional and need some level of help. Many suffer from mental health issues and are on the streets of America because “current policies” (I am not going to label them), have gutted mental health programs, as hospitals dump patients onto the streets or — even worse — ship them off to other cities or states.
It is time we treat the homeless as our brothers and sisters and not marginalize them and treat them as a blight on society. I am convinced we can find Jesus in the soup line.


{{'Subscribe now and receive weekly newsletter with educational materials, interesting posts, and much more!'|_}}
description = "Default layout" [localePicker] forceUrl = 0 [config_seo_content config_seo_title] seoType = 0 [config_seo_content config_seo_description] seoType = 1 [config_seo_content config_seo_image] seoType = 2 [config_favicon] [formSubscribe] urlToUnsubscribe = "unsubscribe" urlToProfile = "subscriber-profile" geo = "disabled" thanksMessage = "Thanks for subscribe!" errorMessage = "Email already exists!" ==
{% set config_seo_title=config_seo_title.configSeoContent %} {% set config_seo_description=config_seo_description.configSeoContent %} {% set config_seo_image=config_seo_image.configSeoContent %} {% set config_favicon=config_favicon.configFavicon %}{{'Subscribe now and receive weekly newsletter with educational materials, interesting posts, and much more!'|_}}


public interface Worker extends Cancelable
Worker is designed to provide a handle for a particular communication event with a Cyc server. Workers by default handle communications asynchronously with callbacks through the WorkerListener interface. DefaultWorker provides the default implementation while WorkerSynch and DefaultWorkerSynch provide synchronous communications capabilities. Currently, Workers are one-shot, i.e., a new Worker needs to be created for every new communication. Workers are cancelable, time-outable and provide means for incremental return results. Note, all callbacks happen in a single communications thread -- if you need to do any significant work based on the results of a callback you *must* do it in a separate thread or risk delaying or breaking other communications with Cyc.
Example usage:
try { CycAccess access = CycAccessManager.getAccess(); Worker worker = new DefaultWorker("(+ 1 1)", access); worker.addListener(new WorkerListener() { public void notifyWorkerStarted(WorkerEvent event) { System.out.println("Received SubL Worker Event: \n" + event.toString(2) + "\n"); } public void notifyWorkerDataAvailable(WorkerEvent event) { System.out.println("Received SubL Worker Event: \n" + event.toString(2) + "\n"); } public void notifyWorkerTerminated(WorkerEvent event) { System.out.println("Received SubL Worker Event: \n" + event.toString(2) + "\n"); System.exit(0); } }); worker.start(); } catch (Exception e) { e.printStackTrace(); }
DefaultSublWorker
,
com.cyc.baseclient.api.SublWorkerSynch
,
com.cyc.baseclient.api.DefaultSublWorkerSynch
,
WorkerListener
| Modifier and Type | Interface and Description |
|---|---|
static interface |
Worker.NotificationTaskI |
| Modifier and Type | Method and Description |
|---|---|
void |
abort()
Attempts to terminate the work being processed by the Cyc server.
|
void |
addListener(WorkerListener listener)
Adds the given listener to this Worker.
|
void |
cancel()
Attempts to terminate the work being processed by the Cyc server.
|
boolean |
expectIncrementalResults()
Returns wether this communication should expect incremental results.
|
void |
fireSubLWorkerDataAvailableEvent(WorkerEvent event)
Public for implementation reasons only, this method should
only ever be called by subclasses of CycConnection.java.
|
void |
fireSubLWorkerStartedEvent(WorkerEvent event)
Public for implementation reasons only, this method should
only ever be called by subclasses of CycConnection.java.
|
void |
fireSubLWorkerTerminatedEvent(WorkerEvent event)
Public for implementation reasons only, this method should
only ever be called by subclasses of CycConnection.java.
|
Integer |
getId()
Return's the unique id for this communication.
|
Object[] |
getListeners()
Returns all the WorkerListeners listening in on this
Worker's events
|
BlockingQueue<Worker.NotificationTaskI> |
getNotificationQueue() |
Integer |
getPriority()
Return the task's priority.
|
WorkerStatus |
getStatus()
Returns the current status of this Worker.
|
CycList |
getSubLCommand()
Returns the SubL command that will be evaluated to execute the
work requested by this Worker.
|
long |
getTimeoutMsecs()
Returns the number of msecs that this communication will wait, once
started, before throwing a CycTimeOutException.
|
boolean |
isDone()
Returns A boolean indicating whether communications with the Cyc server
on behalf of this Worker have terminated
|
void |
removeAllListeners()
Removes all listeners from this Worker.
|
void |
removeListener(WorkerListener listener)
Removes the given listener from this Worker.
|
boolean |
shouldIgnoreInvalidLeases()
Indicates whether this communication should be attempted even if
the current lease to the Cyc image has expired.
|
void |
start()
This call will start the Cyc server processing the worker's SubL command.
|
String |
toString()
Returns a string representation of the Worker.
|
String |
toString(int indentLength)
Returns a string representation of the Worker.
|
cancelTask
CycList getSubLCommand()
Integer getId()
Integer getPriority()
com.cyc.baseclient.api.CycConnection#MAX_PRIORITY
,
com.cyc.baseclient.api.CycConnection#CRITICAL_PRIORITY
,
com.cyc.baseclient.api.CycConnection#NORMAL_PRIORITY
,
com.cyc.baseclient.api.CycConnection#BACKGROUND_PRIORITY
,
com.cyc.baseclient.api.CycConnection#MIN_PRIORITY
void start() throws CycConnectionException, CycTimeOutException, CycApiException
CycConnectionException
- if communications with Cyc server failCycTimeOutException
- if the communication with Cyc takes too longCycApiException
- all other errorsvoid cancel() throws CycConnectionException
CycConnectionException
- if communications with the Cyc server failsvoid abort() throws CycConnectionException
CycConnectionException
WorkerStatus getStatus()
boolean isDone()
long getTimeoutMsecs()
boolean expectIncrementalResults()
Object[] getListeners()
void addListener(WorkerListener listener)
listener
- the listener that wishes to listen
for events sent out by this Workervoid removeListener(WorkerListener listener)
listener
- the listener that no longer wishes
to receive events from this Workervoid removeAllListeners()
String toString()
String toString(int indentLength)
indentLength
- the number of spaces to preceed each line of
output Stringboolean shouldIgnoreInvalidLeases()
void fireSubLWorkerStartedEvent(WorkerEvent event)
event
- The start event that should be transmitted to
listeners of this Workervoid fireSubLWorkerDataAvailableEvent(WorkerEvent event)
event
- The data available event that should be transmitted to
listeners of this Workervoid fireSubLWorkerTerminatedEvent(WorkerEvent event)
event
- The termination event that should be transmitted to
listeners of this WorkerBlockingQueue<Worker.NotificationTaskI> getNotificationQueue()
Copyright © 2013–2015 Cycorp, Inc. All rights reserved.


Sprint 10
User testing feedback
-
INFUND-2439
Analysis and feedback changes from applicant testing sessions
- INFUND-3017 Content Change on Bank Details
- INFUND-3018 Mark as complete link needs updating
- INFUND-3020 Consistency of messaging for completed applicants
- INFUND-3021 Primary CTA should be disabled if CTA is too high
- INFUND-3022 Removal of View Finance Link From Spend profile Pages
- INFUND-3023 Relabelling of Allow Edits CTA
- INFUND-3024 Submitted bannertext should be removed from this page
- INFUND-3028 Move link to view progress of partners on Status overview
- INFUND-3030 Add more detail to the forecast page
Partner view during project setup
- INFUND-3100 Update to spend profile to take into account months not quarters (WIDE TABLE)
- INFUND-1589 As a partner I want to have a view of how much all of the partners within my consortium have completed and what is outstanding so that I can chase them to complete
- INFUND-3177 Monitoring officer assigned notification to lead applicant
Internal user - project setup
-
INFUND-1973
As an internal user I want to check and review / confirm the bank details for the organisation
- INFUND-3202 Add ability to edit the company name and number
- INFUND-3203 Add confirmation modal when approving bank details
- INFUND-3204 Add confirmation modal when editing bank details
- INFUND-3206 Add approved view into internal prototype
- INFUND-3208 Add cross symbol on internal bank account page when experian check failed on one or more criteria
- INFUND-3210 Add phone number to finance contact where it appears on all internal screens
- INFUND-3219 Creation of an email for Finance contact
-
INFUND-2084
As an internal user I need to approve all documents provided by the lead applicant (collab agreement, exploitation plan, project plan)
- INFUND-2682 Create a view allowing the internal teams to download and review the documents submitted by the lead
- INFUND-3211 Prototype email sent to applicant if documents rejected
- INFUND-3212 Prototype applicant other documents page state if have been rejected
- INFUND-3230 Create a view of the internal other documents when accepted
- INFUND-3231 Create a view of the internal other documents when rejected
Competition setup
- INFUND-2868 As a Competition Executive I want to be able to create a competition from the Competitions Dashboard so I can set up my new competition
-
INFUND-2469
As a Competition Executive I want to be able to add competition details so that I can create a competition that will appear on the dashboard.
- INFUND-2467 As a Competition Executive I want to be able to view the Competitions Dashboard so I can administer my competitions
- INFUND-2671 Create a Competition: Step 1: Essential Information
- INFUND-2812 Create a Competition: Step 2: Additional Information
- INFUND-2813 Create a Competition: Step 3: Eligibility
- INFUND-2814 Create a Competition: Step 4: Milestones
- INFUND-2816 Create a Competition: Step 6: Application form
- INFUND-2821 Competition setup: Competition code
- INFUND-2835 Application form: Programme


|
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Utilities for creating XDMF metadata from results stored in HDF5. More...
Classes | |
| class | NonExistingModule |
Functions | |
| def | TryOpenH5File (name, mode=None, driver=None, **kwds) |
| A context manager wrapper for the opened file. More... | |
| def | RenumberConnectivitiesForXdmf (filename_or_list_of_filenames, h5path_to_mesh) |
| Renumber mesh connectivities for XDMF. More... | |
| def | GetListOfSpatialGrids (spatial_grids_list, h5_model_part, current_path) |
| def | CreateXdmfSpatialGrid (h5_model_part) |
| Return an XDMF Grid object corresponding to a mesh in an HDF5 file. More... | |
| def | Has_dtype (item) |
| def | XdmfNodalResults (h5_results) |
| Return a list of XDMF Attribute objects for nodal results in an HDF5 file. More... | |
| def | XdmfNodalFlags (h5_results) |
| Return a list of XDMF Attribute objects for nodal flags in an HDF5 file. More... | |
| def | XdmfElementResults (h5_results) |
| Return a list of XDMF Attribute objects for element results in an HDF5 file. More... | |
| def | XdmfElementFlags (h5_results) |
| Return a list of XDMF Attribute objects for element flags in an HDF5 file. More... | |
| def | XdmfElementGaussPointValues (h5_results) |
| Return a list of XDMF Attribute objects for element integration point values in an HDF5 file. More... | |
| def | XdmfConditionResults (h5_results) |
| Return a list of XDMF Attribute objects for element results in an HDF5 file. More... | |
| def | XdmfConditionFlags (h5_results) |
| Return a list of XDMF Attribute objects for element flags in an HDF5 file. More... | |
| def | XdmfConditionGaussPointValues (h5_results) |
| Return a list of XDMF Attribute objects for element integration point values in an HDF5 file. More... | |
| def | XdmfResults (h5_results) |
| Return a list of XDMF Attribute objects for results in an HDF5 file. More... | |
| def | TimeLabel (file_path) |
| Return the time string from the file name. More... | |
| def | TimeFromFileName (file_path) |
| Return the time value for the file name. More... | |
| def | FindMatchingFiles (pattern) |
| Return a list of HDF5 files matching the given file name pattern. More... | |
| def | GetSortedListOfFiles (pattern) |
| Return sorted file list based on the time stamp. More... | |
| def | GetStep (value, patterns) |
| def | GetMatchingGroupNames (output_dict, value, patterns, pattern_with_wildcards) |
| def | CreateXdmfTemporalGridFromMultifile (list_of_h5_files, h5path_to_mesh, h5path_to_results) |
| Return an XDMF Grid object for a list of temporal results in HDF5 files. More... | |
| def | WriteMultifileTemporalAnalysisToXdmf (ospath, h5path_to_mesh, h5path_to_results) |
| Write XDMF metadata for a temporal analysis from multiple HDF5 files. More... | |
| def | CreateXdmfTemporalGridFromSinglefile (h5_file_name, h5path_pattern_to_mesh, h5path_pattern_to_results, bool require_results=False) |
| Return an XDMF Grid object for a list of temporal results in a single HDF5 file. More... | |
| def | WriteSinglefileTemporalAnalysisToXdmf (h5_file_name, h5path_pattern_to_mesh, h5path_pattern_to_results, bool require_results=False) |
| Write XDMF metadata for a temporal analysis from single HDF5 file. More... | |
Variables | |
| category | |
| string | warn_msg = "h5py module was not found!" |
| h5py | |
Utilities for creating XDMF metadata from results stored in HDF5.
XDMF utilities are separate from the core xdmf to reduce core dependencies.
See:
license: HDF5Application/license.txt
| def xdmf_utils.CreateXdmfSpatialGrid | ( | h5_model_part | ) |
Return an XDMF Grid object corresponding to a mesh in an HDF5 file.
Keyword arguments: h5_model_part -- the HDF5 group containing the model part Expects: - element connectivities in h5_model_part["Xdmf/Elements/<element-name>"]. Each connectivities has attributes "Dimension" and "NumberOfNodes". For example, "Element2D3N" has "Dimension" 2 and "NumberOfNodes" 3. The connectivities differ from the normal mdpa connectivities in that they directly index the array of nodal coordinates. Currently there is no other way to post-process the mesh with Xdmf. See: - core.operations.ModelPartOutput, - core.operations.PartitionedModelPartOutput, - RenumberConnectivitiesForXdmf.
| def xdmf_utils.CreateXdmfTemporalGridFromMultifile | ( | list_of_h5_files, | |
| h5path_to_mesh, | |||
| h5path_to_results | |||
| ) |
Return an XDMF Grid object for a list of temporal results in HDF5 files.
Keyword arguments: list_of_h5_files -- the list of HDF5 files to be parsed h5path_to_mesh -- the internal HDF5 file path to the mesh h5path_to_results -- the internal HDF5 file path to the results Expects: - each file corresponds to a separate time step - the first file includes a mesh. Subsequent files may include their own meshes. If a file does not contain a mesh, it is assumed to have the same mesh as the most recent file containing a mesh. - meshes include XDMF mesh connectivities under the internal HDF5 file path "<h5path_to_mesh>/Xdmf". If XDMF connectivities are not found, the file is skipped. See RenumberConnectivitiesForXdmf. - file names contain their time step as a substring. Optionally the first file may omit the time step in which case it is assumed to be zero. If a file cannot be opened, it is skipped.
| def xdmf_utils.CreateXdmfTemporalGridFromSinglefile | ( | h5_file_name, | |
| h5path_pattern_to_mesh, | |||
| h5path_pattern_to_results, | |||
| bool | require_results = False |
||
| ) |
Return an XDMF Grid object for a list of temporal results in a single HDF5 file.
Keyword arguments: h5_file_name -- the HDF5 file to be parsed h5path_pattern_to_mesh -- the internal HDF5 file path pattern to the mesh [ only <step> flag is supported ] h5path_pattern_to_results -- the internal HDF5 file path pattern to the results [ only <step> flag is supported ] Expects: - In prefixes, <step> flag is used maximum of one time only - If single mesh description is found, it is considered as single mesh temporal output
| def xdmf_utils.FindMatchingFiles | ( | pattern | ) |
Return a list of HDF5 files matching the given file name pattern.
For example, "./sim/kratos" matches: - ./sim/kratos.h5 - ./sim/kratos-0.0000.h5 - ./sim/kratos-0.2000.h5 - etc.
| def xdmf_utils.GetListOfSpatialGrids | ( | spatial_grids_list, | |
| h5_model_part, | |||
| current_path | |||
| ) |
| def xdmf_utils.GetMatchingGroupNames | ( | output_dict, | |
| value, | |||
| patterns, | |||
| pattern_with_wildcards | |||
| ) |
| def xdmf_utils.GetSortedListOfFiles | ( | pattern | ) |
Return sorted file list based on the time stamp.
see @FindMatchingFiles
| def xdmf_utils.GetStep | ( | value, | |
| patterns | |||
| ) |
| def xdmf_utils.Has_dtype | ( | item | ) |
| def xdmf_utils.RenumberConnectivitiesForXdmf | ( | filename_or_list_of_filenames, | |
| h5path_to_mesh | |||
| ) |
Renumber mesh connectivities for XDMF.
Keyword arguments: filename_or_list_of_filenames -- the HDF5 file(s) to renumber h5path_to_mesh -- the internal HDF5 file path to the mesh The mesh connectivities must be renumbered for XDMF by the node's array index rather than its ID. The renumbered connectivities are stored in HDF5 and referenced by the XDMF Grid. If a file cannot be opened, it is skipped. See: - XdmfConnectivitiesWriterProcess.
| def xdmf_utils.TimeFromFileName | ( | file_path | ) |
Return the time value for the file name.
If the file name contains no time value, zero time value is assumed.
| def xdmf_utils.TimeLabel | ( | file_path | ) |
Return the time string from the file name.
E.g.: 'kratos-123.h5' -> '123' 'kratos-1.2.h5' -> '1.2' 'kratos-1.2e+00.h5' -> '1.2e+00' Returns empty string if not found.
| def xdmf_utils.TryOpenH5File | ( | name, | |
mode = None , |
|||
driver = None , |
|||
| ** | kwds | ||
| ) |
A context manager wrapper for the opened file.
In case the file cannot be opened, yield None rather than raise an exception. This can be the case if the file is already opened.
| def xdmf_utils.WriteMultifileTemporalAnalysisToXdmf | ( | ospath, | |
| h5path_to_mesh, | |||
| h5path_to_results | |||
| ) |
Write XDMF metadata for a temporal analysis from multiple HDF5 files.
Keyword arguments: ospath -- path to one of the HDF5 files or the corresponding XDMF output file. h5path_to_mesh -- the internal HDF5 file path to the mesh h5path_to_results -- the internal HDF5 file path to the results
| def xdmf_utils.WriteSinglefileTemporalAnalysisToXdmf | ( | h5_file_name, | |
| h5path_pattern_to_mesh, | |||
| h5path_pattern_to_results, | |||
| bool | require_results = False |
||
| ) |
Write XDMF metadata for a temporal analysis from single HDF5 file.
Keyword arguments: h5_file_name -- hdf5 filename h5path_pattern_to_mesh -- the internal HDF5 file path pattern to the mesh [ only <step> flag is supported ] h5path_to_results -- the internal HDF5 file path pattern to the results [ only <step> flag is supported ]
| def xdmf_utils.XdmfConditionFlags | ( | h5_results | ) |
Return a list of XDMF Attribute objects for element flags in an HDF5 file.
Keyword arguments: h5_flags -- the HDF5 group containing the flags Checks for flags stored by variable name in: - h5_flags["ConditionFlagValues/<flag-name>"] If no flags are found, returns an empty list. See: - core.operations.ConditionFlagValueOutput.
| def xdmf_utils.XdmfConditionGaussPointValues | ( | h5_results | ) |
Return a list of XDMF Attribute objects for element integration point values in an HDF5 file.
Keyword arguments: h5_results -- the HDF5 group containing the results Checks for results stored by variable name in: - h5_results["ConditionGaussPointValues/<variable>"] If no results are found, returns an empty list. See: - core.operations.ConditionGaussPointOutput.
| def xdmf_utils.XdmfConditionResults | ( | h5_results | ) |
Return a list of XDMF Attribute objects for element results in an HDF5 file.
Keyword arguments: h5_results -- the HDF5 group containing the results Checks for results stored by variable name in: - h5_results["ConditionDataValues/<variable>"] If no results are found, returns an empty list. See: - core.operations.ConditionDataValueOutput.
| def xdmf_utils.XdmfElementFlags | ( | h5_results | ) |
Return a list of XDMF Attribute objects for element flags in an HDF5 file.
Keyword arguments: h5_flags -- the HDF5 group containing the flags Checks for flags stored by variable name in: - h5_flags["ElementFlagValues/<flag-name>"] If no flags are found, returns an empty list. See: - core.operations.ElementFlagValueOutput.
| def xdmf_utils.XdmfElementGaussPointValues | ( | h5_results | ) |
Return a list of XDMF Attribute objects for element integration point values in an HDF5 file.
Keyword arguments: h5_results -- the HDF5 group containing the results Checks for results stored by variable name in: - h5_results["ElementGaussPointValues/<variable>"] If no results are found, returns an empty list. See: - core.operations.ElementGaussPointOutput.
| def xdmf_utils.XdmfElementResults | ( | h5_results | ) |
Return a list of XDMF Attribute objects for element results in an HDF5 file.
Keyword arguments: h5_results -- the HDF5 group containing the results Checks for results stored by variable name in: - h5_results["ElementDataValues/<variable>"] If no results are found, returns an empty list. See: - core.operations.ElementDataValueOutput.
| def xdmf_utils.XdmfNodalFlags | ( | h5_results | ) |
Return a list of XDMF Attribute objects for nodal flags in an HDF5 file.
Keyword arguments: h5_results -- the HDF5 group containing the flags Checks for flags stored in data sets by variable name in: - h5_flags["NodalFlagValues/<flag-name>"] Expects: - each flag variable occurs only once If no flags are found, returns an empty list. See: - core.operations.NodalFlagsValueOutput.
| def xdmf_utils.XdmfNodalResults | ( | h5_results | ) |
Return a list of XDMF Attribute objects for nodal results in an HDF5 file.
Keyword arguments: h5_results -- the HDF5 group containing the results Checks for results stored in data sets by variable name in: - h5_results["NodalSolutionStepData/<variable-name>"] - h5_results["NodalDataValues/<variable-name>"] Expects: - each result variable occurs only once If no results are found, returns an empty list. See: - core.operations.NodalSolutionStepDataOutput, - core.operations.NodalDataValueOutput.
| def xdmf_utils.XdmfResults | ( | h5_results | ) |
Return a list of XDMF Attribute objects for results in an HDF5 file.
Keyword arguments: h5_results -- the HDF5 group containing the results
| xdmf_utils.category |
| xdmf_utils.h5py |
| string xdmf_utils.warn_msg = "h5py module was not found!" |


{% extends "mail_layout.html" %} {% block title %}SURF collaboration suspension notification{% endblock %} {% block content %}
Collaboration suspension notification
Collaboration {{ collaboration.name }} will be suspended on {{ suspension_date }}.
Click the button below to view this collaboration.
Login{{ salutation }},
Please login and activate {{ collaboration.name }} again if you want users of this collaboration to login again on the services of this collaboration.
{{ collaboration.name }} has seen no activity after {{ collaboration.last_activity_date }}


Available events
Track Information
Sector view - XY plane
Sector detail view - XY plane
Supermodule view - ZY plane
Supermodule detail view - ZY plane
Time-bin view
Digits detail view
Event: Sector: Stack: Max Cum. Sum:


Postalicious
Method
Query Parameters
Headers
Build Request
Build and Send
Body
Request
Response
The window in the UI will display the request response


JavaScript is disabled on your browser.
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
C
D
F
G
I
J
L
M
P
R
S
T
U
V
W
S
setActiveUsers(int)
- Method in class
Subreddit
setApprovedBy(String)
- Method in class
Comment
setAuthCookie(String)
- Method in class
Reddit
setAuthor(String)
- Method in class
Comment
setAuthorFlairCssClass(String)
- Method in class
Comment
setAuthorFlairText(String)
- Method in class
Comment
setBody(String)
- Method in class
Comment
setBodyHtml(String)
- Method in class
Comment
setComments(Comment[])
- Method in class
Comment
setCookies(CookieStore)
- Method in class
Reddit
setCreated(DateTime)
- Method in class
Subreddit
setCssClass(String)
- Method in class
FlairTemplate
setDescription(String)
- Method in class
Subreddit
setDescriptionHTML(String)
- Method in class
Subreddit
setDisplayName(String)
- Method in class
Subreddit
setDistinguished(Comment.DistinguishType)
- Method in class
Comment
setFullName(String)
- Method in class
Thing
setGilded(String)
- Method in class
Comment
setHeaderImage(String)
- Method in class
Subreddit
setHeaderTitle(String)
- Method in class
Subreddit
setId(String)
- Method in class
Thing
setKind(String)
- Method in class
Thing
setLinkId(String)
- Method in class
Comment
setLinkTitle(String)
- Method in class
Comment
setModHash(String)
- Method in class
AuthenticatedUser
setName(String)
- Method in class
Subreddit
setNSFW(boolean)
- Method in class
Subreddit
setNumReports(int)
- Method in class
Comment
setParentId(String)
- Method in class
Comment
setPublicDescription(String)
- Method in class
Subreddit
setReddit(Reddit)
- Method in class
Comment
setReddit(Reddit)
- Method in class
Subreddit
setRemovedBy(String)
- Method in class
Comment
setSubreddit(String)
- Method in class
Comment
setSubscribers(int)
- Method in class
Subreddit
setText(String)
- Method in class
FlairTemplate
setTitle(String)
- Method in class
Subreddit
setUrl(String)
- Method in class
Subreddit
setUser(AuthenticatedUser)
- Method in class
Reddit
setUserAgent(String)
- Static method in class
Reddit
SetUserFlair(String, String, String)
- Method in class
Subreddit
Sets the usersFlair
shouldSkipClass(Class<?>)
- Method in class
MyExlusionStrategy
shouldSkipField(FieldAttributes)
- Method in class
MyExlusionStrategy
SubmitPost(String, String)
- Method in class
Subreddit
Submit a post with a link
SubmitTextPost(String, String)
- Method in class
Subreddit
Submit a text post
Subreddit
- Class in
<Unnamed>
User: Erik Date: 5-6-13 Time: 15:09 Copyright (c) 2013 Erik Deijl
Subreddit()
- Constructor for class
Subreddit
Subreddit(Reddit, JsonObject)
- Constructor for class
Subreddit
Subreddit Constructor.
SubredditSettings
- Class in
<Unnamed>
User: Erik Date: 6-6-13 Time: 17:03 Copyright (c) 2013 Erik Deijl
SubredditSettings(Subreddit, Reddit, JsonObject)
- Constructor for class
SubredditSettings
SubredditStyle
- Class in
<Unnamed>
User: Erik Date: 6-6-13 Time: 17:18 Copyright (c) 2013 Erik Deijl
SubredditStyle(Reddit, Subreddit, JsonObject)
- Constructor for class
SubredditStyle
Subscribe()
- Method in class
Subreddit
Subscribe to a subreddit
A
C
D
F
G
I
J
L
M
P
R
S
T
U
V
W
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


Pokémon is a series of video games published by Nintendo and developed by Game Freak
Pokémon was first released in Japan in 1996 under the name of 'Pocket Monsters: Red and Green' for the original Game Boy console. Proving popular, it was improved upon, and released as 'Pocket Monsters: Blue' in Japan and 'Pokémon Red and Blue' internationally. Afterwards another remake was introduced in the form of 'Pokémon Yellow', developed to make use of the Game Boy Color's colour palette. This marked the so called first generation of Pokémon, introducing the first 151 Pokémon, and taking place in the fictional Kanto region.
Pokémon has had 7 more generations since the first, each introducing a host of new Pokémon for players to experience, as well as 20 "core" games and countless other derivative works, from other games set in the universe, to a highly successful animated tv show and movie series.


--- subject: Monthly Financial Statement ---
Hi {firstname}
The monthly financial statement is attached within the email. Please review it before processing.
Attached Document
King regards,
John Smith
(Topic-ID: b0b82053c611db43b3a1a568c0660cd72365964cb8b04ed5)


Please take a look at some of the projects I have done this far.
This is a webpage of a tours company showcasing what travel options and services they give. It was created using html and css.
This project introduces my favorite band and their upcoming events.


A simple junior web developer with some skills like (HTML, CSS, JavaScript, SQL , PHP , Bootstrap , C #, C + JAVA , ASP ... )
I'm here for you! so do not hesitate to contact me ! ;)
To learn more about me , I invite you to visit my social networks.
have fun.


Web Developer Examples and Resources by Ryan Novelli
Social Media Optimization (SMO)
Social Media Optimization (SMO) is a great, low-cost way to increase your business’s reach through social media platforms. According to Mike Shaw at TowerMarketing.net, “45% of the world’s population uses social media and spends more than 140 minutes a day surfing. First-world and third-world countries alike lean on the power of social media. If you want your business to be successful, optimizing your website and social channels isn’t a choice. It’s a necessity” (Shaw). This shows that optimizing social media content and strategy can greatly increase your overall business success in the global economy.
SMO is shown to generate more business because people are using social media regularly for work, and they feel more comfortable endorsing a product trusted by a peer. Lydia Roth, on the Alexa blog, says, “Social media is successful because it gives people a social outlet on the internet. But social media isn’t just for fun – 67% of people use social media for work, according to a survey by Bambu by Sprout Social. Additionally, people are more likely to connect with people they already know than with brands. In fact, people are 16 times more likely to read a post about a brand from a friend than from the brand itself” (Roth).
There are many ways to use SMO, and coming up with a good strategy is key to wide visibility. Macy Storm at WebFX.com states, “Your strategy should focus on growing your business’s presence and achieving measurable results. It’s vital that you focus on goals you can monitor and measure to ensure you’re driving success with your campaign” (Storm). There are a variety of analytic tools on the market, some of them at no cost, to assist in assessing what works well, and what does not. Relevant topics, keywords, and hashtags all play important parts in driving more people to your page.


where the abandoned animals go
Tardi
Oberyna
Trotsky
Rocket
Aramis
Chiki
Foxtrot
Chico
Cougar
Updates
16 April 2017
Gothmog has contracted panleukopenia.


LA Auto Show 2019: The luxury production models making their debut
LOS ANGELES, Nov 21 — Alongside the concept models and show cars that are on display at the 2019 LA Auto Show, various luxury car manufacturers across the world debuted new production models that are either already available to purchase or will be in the near future.
Over this week, dozens of vehicles made their debut at the LA Auto Show in California. Here are five of the most luxurious models that made their first public appearances.
Genesis G90
Yesterday, Genesis unveiled the latest rendition of the luxury sedan flagship model, the G90. This mid-cycle refresh brought the car new safety tech and over-the-air wireless updates.
The Genesis G90 goes on sale the December of 2019.
Lexus LC 500 Convertible
The LC 500 Convertible is the drop-top version of the standard LC. Despite the coupe model having been in production since 2017, this is the first time a convertible variant has ever been launched.
The Lexus LC 500 convertible will be available in the summer of 2020.
Porsche Taycan 4S
Porsche’s Taycan 4S made its US debut yesterday at the auto show. Though this version of the all-electric Taycan is less expensive and less powerful than the original, its high performance specs and luxurious interior bring it up to speed with its EV sports car competitors.
The Porsche Taycan 4S is available for order now starting at US$103,800 (RM435,000).
Mustang Mach-E
Ford’s Mustang Mach-E officially had the wraps taken off on Sunday. As the company’s first all-electric production vehicle and the first SUV to don the Mustang name, this model made Ford history this week.
The Ford Mustang Mach-E will go on sale in late 2020.
Audi E-Tron Sportback
Audi yesterday unveiled their second production EV: the E-Tron Sportback. This model follows in the footsteps of the E-Tron SUV in terms of the powertrain, exterior design and interior technology.
The Audi E-Tron Sportback will be available for order this month. — AFP-Relaxnews


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.velocity.tools.generic.IteratorTool
A convenience tool to use with #foreach loops. It wraps a list to let the designer specify a condition to terminate the loop, and reuse the same list in different loops.
Example of use:
Java ---- context.put("mill", new IteratorTool()); VTL --- #set ($list = [1, 2, 3, 5, 8, 13]) #set ($numbers = $mill.wrap($list)) #foreach ($item in $numbers) #if ($item < 8) $numbers.more()#end #end $numbers.more() Output ------ 1 2 3 5 8 Example toolbox.xml config (if you want to use this with VelocityView): <tool> <key>mill</key> <scope>request</scope> <class>org.apache.velocity.tools.generic.IteratorTool</class> </tool>
Warning: It is not recommended to use hasNext() with this tool as it is used to control the #foreach. Use hasMore() instead.
| Field Summary | |
private boolean |
cachedNext
|
private java.util.Iterator |
iterator
|
protected java.lang.Object |
next
|
private boolean |
wantMore
|
private java.lang.Object |
wrapped
|
| Constructor Summary | |
IteratorTool()
Create a IteratorTool instance to use as tool. |
|
IteratorTool(java.lang.Object wrapped)
Create a IteratorTool instance to use in #foreach. |
| Method Summary | |
boolean |
hasMore()
Returns true if there are more elements in the wrapped list. |
boolean |
hasNext()
Returns true if there are more elements in the list and more() was called. |
private void |
internalWrap(java.lang.Object wrapped)
Wraps a list with the tool. |
java.lang.Object |
more()
Asks for the next element in the list. |
java.lang.Object |
next()
Gets the next object in the list. |
void |
remove()
Removes the current element from the list. |
void |
reset()
Resets the wrapper so that it starts over at the beginning of the list. |
void |
stop()
Puts a condition to break out of the loop. |
java.lang.String |
toString()
Returns this object as a String. |
IteratorTool |
wrap(java.lang.Object list)
Wraps a list with the tool. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private java.lang.Object wrapped
private java.util.Iterator iterator
private boolean wantMore
private boolean cachedNext
protected java.lang.Object next
| Constructor Detail |
public IteratorTool()
public IteratorTool(java.lang.Object wrapped)
wrapped
- The list to wrap.| Method Detail |
public IteratorTool wrap(java.lang.Object list)
list
- The list to wrap.
private void internalWrap(java.lang.Object wrapped)
wrapped
- The list to wrap.public void reset()
Resets the wrapper so that it starts over at the beginning of the list.
Note to programmers: This method has no effect if the wrapped object is an enumeration or an iterator.
public java.lang.Object next()
Gets the next object in the list. This method is called by #foreach to define $item in:
#foreach( $item in $list )
This method is not intended for template designers, but they can use them if they want to read the value of the next item without doing more().
next
in interface java.util.Iterator
NoSuchElementException
- if there are no more
elements in the list.public boolean hasNext()
tool.hasNext()? tool.hasNext(): false;
hasNext
in interface java.util.Iterator
public void remove() throws java.lang.UnsupportedOperationException
remove
in interface java.util.Iterator
java.lang.UnsupportedOperationException
- if the wrapped list
iterator doesn't support this operation.public java.lang.Object more()
Asks for the next element in the list. This method is to be used by the template designer in #foreach loops.
If this method is called in the body of #foreach, the loop
continues as long as there are elements in the list.
If this method is not called the loop terminates after the
current iteration.
public boolean hasMore()
public void stop()
public java.lang.String toString()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |