text:
Protect Your Team. Take Your Event Virtual. Learn How.
Stop Presenting. Start Engaging.
Inspiring Virtual Events That Boost Audience Engagement
Dan Nedelko
The Webinar : Lesson From The Frontlines
We're obsessed with converting leads to customers through Webinars. Matt Ley and Pete discuss B2B webinar essentials and how to unlock the potential of a well-planned webinar. Learn high converting techniques that will bring your webinar out of the dark ages. Through careful execution, your next webinar will not be a bore.
How To Hit Your MQL Goals This Summer
by TheStreamingNetwork
Last time, on "Lessons From The Front Line", we discussed how to repurpose your webinar content by using different methods to extend your content. In the latest episode, we continue the conversation by exploring tools, such as simulated-live webinar events, in order to grow your leads and hit your MQL goals—even when you're on vacation. We look
The post How To Hit Your MQL Goals This Summer appeared first on Webinar Software and Virtual Training Products.
TheStreamingNetwork
Repurposing Webinar Content
How to Increase Webinar Viewership
How To Qualify Leads In Your Sales Pipeline
How To Identify Your Top Webinar MQLs
The Craft of Producing Webinars
What is a Webinar Moderator & Why Do You Need One?
How to Execute a Hybrid Event
Last time, on "Lessons From The Front Line", we discussed Simulive Webinars and the different tools for this webinar style that will help grow your leads and hit your Market Qualified Lead goals. In this episode, we dive into the challenges behind inspiring virtual events that both live and digital audiences can engage with. Find out how to boost your content and increase audience interest, both in-house and remote. Regardless of the type of webinar hosted, there needs to be a level of excitement and anticipation resonating with your audience.
Tune in for the following topics:
How to cast webinars that inspire engagement from your audience. There are so many creative methods behind hosting an interactive and engaging virtual event, from sport centre style to game show strategy. How can we improve our set-up from the original one-way broadcast to an enjoyable, interactive event?
How do you pull off a successful hybrid live/virtual event? Most virtual audiences already feel secondary and that's entirely preventable. What can we offer the guests that gives them the opportunity to feel recognized as a primary audience during virtual events?
Distance networking. A big challenge to broadcasting over multiple regions is making participants feel like they are all together in the experience. We cover useful strategies and a unique success story.
Location inspiration. This is essential when considering ways to improve your webinar strategies. We touch on ways to get creative with your virtual event's location to increase the level of authenticity, especially when using video.
What will carry over during the next couple of years? Find out how segmented media, video, fun, and tech networking events will quickly become the method behind the ability for everybody to participate.
Stay tuned for our next podcast covering not-for-profits and how these associations can use webinars and virtual events to their fullest potential.
The Complete Transcript On Inspiring Virtual Events
Peter Vamos: Welcome to LFTF, the podcast about turning your webinar into a lead generation machine and advancing your business objectives. With me as usual, Matthew Ley, the president of The Streaming Network. Welcome.
Matthew Ley: Thanks for having me, Pete. And is that yet another tagline that you've added to our–?
Peter Vamos: –It's–I think this is the one we're going to stick with.
Matthew Ley: Okay, this is the one.
Peter Vamos: This is the one. You–.
Matthew Ley: –You've said that for, like, 30 podcasts–
Peter Vamos: –I know–
Matthew Ley: –In a row, but okay. All right.
Peter Vamos: You can hold me to that.
Matthew Ley: All right.
Peter Vamos: So, we talk a lot about technology. We talk a lot about interactive features to make webinars more engaging. But today we're looking at ways to give your audience more inspiration and what they can do with their next virtual event. There are different types of virtual events–.
Matthew Ley: –Yeah–.
Peter Vamos: –Different types of webinars. How do we want to tackle the subject today?
Matthew Ley: Well, I think that what I'm going to try and do is I'm going to try and break it down into things they–we can do for an internal event versus an external.
Peter Vamos: Right.
Matthew Ley: So, when you're talking about an internal training event or an internal audience–or, sorry, employee engagement event like a town hall or a CEO road show, you can have more fun with it, I think.
Our audience is used to seeing that in their physical events. You can play with music and themes that you would never do with an external-facing webinar because it's only going to be seen by your employees. Also, there's no commercial intent, so you could use music that you maybe couldn't use in a–in an external event and different things like that.
So, internal, you can have a lot more fun, and we do see a lot more fun being done in those. External, you got to keep it a little safer. You know, it can be seen by the media or anybody else, but it doesn't mean it has to be boring. I think we've talked about that a lot on here. But I will separate the two when I give my examples and I talk about what I've seen work and not work.
Peter Vamos: Right. Fair. And those two audiences come for different reasons as well, right?
Matthew Ley: Yeah, and that's important. I mean, on the webinar, you know, you are promoting this to an audience who doesn't have to be there. Whatever you've done in your promotion, whether it's you've picked a topic that they really like or you've done a great job in your past webinars, they're coming to see it 'cause they want to.
The internal audience, on the other hand, have to go. It's mandatory training. It's the CEO is talking and it's an all hands meeting. It's mandatory everyone be there. And so, when it comes to that, you have a very different mentality going in, is that everyone's going in with a negative idea. I have to do this silly thing. I want to get my work done. I was going to leave early. It's Friday before the long weekend. I want to get out there and enjoy the sunshine, but I got to listen to my CEO talk.
Matthew Ley: And so, that's why I think even–in many cases, more attention needs to be put on the fun factor of those events to turn people's idea around.
Matthew Ley: A great event producer that I was doing work with at one point in time named Tim Ferguson, he was–I'm not sure where he is now, but I think he's in Europe, but he was running audience here in Toronto for a while–said that the goal of any internal event, especially like a sales kickoff, should be that the event is so good that the audience would actually pay money to come next time.
Matthew Ley: And I would suggest that the goal of any virtual event for internal should be that the virtual experience is so good that people who were sitting in the room with the CEO feel left out that it wasn't as good for them because they were–they had to be in an audience and they didn't get to do this from their desk or their office or their pajamas at home.
Peter Vamos: Right. And it's show business, really. I mean, you're–even if it's a corporate event, you're still–it's–you're putting on a show, right?
Peter Vamos: You've got to put on a show.
So, what are some–you know, we're talking about tips and tricks.
Peter Vamos: What are some things that work regardless of whether it's internal or external audience?
Matthew Ley: Well, you stole some of my thunder when you started talking about how it has to be a show–.
Peter Vamos: –It has–.
Matthew Ley: –Show business, because, I mean, we talk about that all the time on this–.
Matthew Ley: –Show, is that you want to try and create a show format–.
Peter Vamos: –Um-hmm–.
Matthew Ley: –Right? And that show format needs to be relatable to your audience and needs to be something that they understand what's going to be happening so–when they come back the next time. And a show or show business, as you put it, is something that can get people moderately excited about some of the topics we discuss on a day-to-day basis.
So, when you look back at an internal, right, you know, what gets your juices running is not, oh, we've got a national Webex session happening this week. It's going to be awesome, this national webinar.
Peter Vamos: So excited for the–.
Matthew Ley: –I–.
Peter Vamos: –Webex–.
Matthew Ley: –Know, and I'm–beyond the fact that often when I'm involved in this, it's never on a Webex, right? It's on our webcast webinar platform, but people still use it like Kleenex.
Peter Vamos: Yeah.
Matthew Ley: And that's not exciting. For that matter, neither is a CEO town hall or a all hands meeting or whatever it might be.
Matthew Ley: And so, let's just even start with the fact that let's change the title of these events, as a beginning. And then often with anything, and the marketers understand this best, is that, you know, the title and the promise of the event needs to fulfill what you say it's going to.
So, an example of one that worked really, really well was a program that we ran for years until he retired at Hydro One, which was a show called Live with Len. So, Len McMillan ran the front–the staff that was out in the field for Hydro One. And they were the folks that, back before smart meters, they would go and they would read your meter and do the report for your bill. They were also the ones that would clean up debris around different sites. There's a number of field operatives. There's a forestry division and all of that.
And as they were getting ready for smart metering to come in, his portfolio was growing in the number of people, but also there was a lot of anxiety about who was going to have a job and where people were going to transition. And he was getting so many questions, and he couldn't be out in the field as much because he had to be in boardrooms discussing the future of the organization, so he simply could not answer these questions, and people were trying to get access to him.
So, they created a program, we called it Live with Len, where he sat in a chair, he gave very few prepared remarks, and then he just answered questions. And me, you know, the virtual event expert, even though this was, like, 10 years ago and I was just getting started, I said "Bad idea." People don't like asking questions on virtual events. And, I mean, if we're honest, you're going to get questions that you're probably not going to want to answer.
And in the five minutes that I got to meet with Len, I realized that this was going to be different, because he walked in the room and he said I don't care. You know, I'll say any–I'll answer any question. I'm not going to take any bullshit. And I need to get these guys these answers because they're worried about their families. They're worried about their jobs.
And so, he sat in a chair, said three or four things, and the questions flew in. And he answered everything in a very authentic way like he said he would, even saying I'm not going to answer that question 'cause you know I can't. You're asking it. You keep asking it, and I will–I can't let you know that until we know as a company. But as soon as I do, I'm going to let you know.
And it's the only program I ever did that was exactly like that. It probably would not have worked with the CEO of Hydro One at the time. It worked with Len. It may not be something that would work even today with the way things can leak and get out, but it worked. And it's the only show I ever did where I could walk around and someone would say, yeah, I worked for Hydro One, or it was a summer job with Hydro One. And I could say remember Live with Len? And they said yeah, I loved that show. I produced that show. So, it was a show that, you know, really, really worked.
Peter Vamos: Right. And the lesson there really is build it around what you've got, right?
Matthew Ley: That's right.
Peter Vamos: Play to your strengths.
Matthew Ley: Exactly.
Peter Vamos: You've got Len.
Matthew Ley: Um-hmm.
Peter Vamos: You–but most companies don't have a Len, so you got to create other things. There was, I remember–and we've talked about this in the past. There's the ping pong–HubSpot's ping pong ball.
Matthew Ley: Right.
Peter Vamos: Tell us a little bit about–.
Matthew Ley: –And–so, that's a good example when you start going external.
Matthew Ley: And that was a group that was already having fun–.
Matthew Ley: –Kind of like we started by having fun when we were in your basement set.
Matthew Ley: And then since then, we've done the fireplace. We've done the one in the bar. Like, we've done this, and what we're trying to do is just have fun with it because we–.
Peter Vamos: –Change it up.
Matthew Ley: Yeah, because we can, right?
Matthew Ley: We got a studio. We got all these guys and we're–so we're–.
Peter Vamos: –We have a large bongo drum here today.
Matthew Ley: Yes.
Peter Vamos: We're going to play it later on for you.
Matthew Ley: Yes, this is not our new set. This is a set that was used yesterday for somebody else, and we decided, heck, let's just take it. It looks kind of sophisticated, more sophisticated than the two of us, so we thought we would take it.
Peter Vamos: It's going to outshine us.
But what was I saying? So, that HubSpot one is a great example of an external audience. And it works for them, and it might not work for all of you.
So, it was an external-facing event, and they were already–HubSpot's a fun, hip, cool group. And the speakers they have on are–a lot of them are external thought leaders. And they're of a modern marketing–that whole scene. And so, they were already having fun on their webinars, and they wanted to amp it up.
So, they did a program–we've talked about it on the show–where they analyze people's websites live and really tear apart websites that are–have bad inbound strategies at play.
Matthew Ley: And they would do 10 minutes per website, but they would not give the experts a clock. They were just going and trying to get to the end of the 10 minutes. And when the 10 minutes ended, boom, they got hit with a ping pong ball.
They started with a football. Apparently people got scared so they moved to a ping pong ball. And there was a person selling–sending a ping pong ball throughout to give them the warning that the time was up. Very fun, people loved it, great successful program, and it worked for that brand.
Peter Vamos: And it keeps things tight, which is also important, right?
Peter Vamos: You don't want people going–if you–.
Matthew Ley: –Oh–.
Peter Vamos: –Go over, right?
Matthew Ley: Yeah, it had multiple strategies–.
Matthew Ley: –Employed in it–.
Matthew Ley: –That worked really well.
Matthew Ley: There was no production value. It was just like a GoPro or a webcam maybe that was just down on a table, and it was just a bunch of guys rapping.
Now, compare that to a webinar that I think is still on our website, 'cause I was so proud of it for so long, called the Beat the Clock Challenge, where Demand Metric came in and they basically had a bunch of questions from their community. They had launched a community. I was the webinar expert in the community. And they had all these questions that had been put in about what to do–when to hold a webinar, what's the best time, why do you do this, when to do that.
And me and John, as much as John and I–the CMO there are–have worked together for a very long time, we haven't been on a set as much as you and I have. And so, he was–he wasn't comfortable with the–as comfortable with the environment as I was, and me and him didn't have the rapport. Things were much more scripted.
But we wanted to do something fun, so we called it a beat the clock challenge. And literally, he gave me either two minutes or 45 seconds to give an answer. And if I went over, someone honked a horn–.
Matthew Ley: –Out in the other room, and that told me that my time was up. So, it allowed us to stay in a wheelhouse that we were comfortable in, made me–made us laugh and get out of our comfort zone to a certain extent 'cause this horn was awful. But it was a way of doing something similar in an environment where we weren't quite as maybe free and open as they are at HubSpot.
Peter Vamos: Right, right. But it still gave you–created a level of excitement in you, created a level of anticipation in the audience, and still–.
Matthew Ley: –Yeah. Yeah. I mean, it's something that I always said that, you know, I should do again–.
Matthew Ley: –If I had that many sort of questions.
Peter Vamos: Maybe for our next podcast.
Matthew Ley: Yeah, maybe.
But, like, just going back to internal for one second, and that is, you know, there's a lot of inspiration that you can take from programs that you've watched. So, when we go external, we look at–we always say look at podcasts for audio events. Look at news broadcasts for format. One plus two guests, you know, remote hits, whatever it might be, we've done that to the end.
But for internal, you can do a lot of fun. And when you start thinking, your mind is going to go to formats that you've seen before, like the fireside chat–.
Matthew Ley: –Invented by FDR as a radio address to the nation; worked because it was the only time that a president had just sat there and spoke to the nation in the way that FDR did.
Trust me, it's been done, and it's not going to work for your next internal event unless you really go for it and you put on, you know, a smoking jacket and you make it like it's in a basement. Then that might be funny. But one guy sitting there just kind of talking like that isn't going to play very well, virtual or otherwise.
But some things that I've seen work really well are I've seen people go full on SportsCenter. So, they're doing a quarterly update, and rather than doing it just people talking, they're giving the numbers to the sales team and they're doing it like they're two people on a news desk. And they've got graphics. They've done whatever.
I've seen it work well in training and learning activities where they've done like a game show, Family Feud, one region versus another, or a Jeopardy challenge or something like that. So, anything that is a show format that has a little bit of fun in it is something that can be related to an internal event.
We did a–this is a great example of the use of the technology and something that people may not think about, is a lot of companies do some amazing things that we don't know, right? Like, Wal-Mart had a challenge for university students where they had to come up with a green-friendly business idea that would help retail become more green.
And they did it like a competition. And they would come up, and it was like Dragon's Den. They would make a pitch, and they had the chief environment responsibility officer or chief I think–that's not the name of it, but you get what I'm talking about–.
Matthew Ley: –And a few other sort of experts in the field sit on it while these kids came up and they did their 15 minute pitches or 10 minute pitches and got questions asked of them.
Well, you know, Wal-Mart doesn't–I mean, Wal-Mart's a big bad company, you know, killing small retail. Now they're getting killed by Amazon. But at the time, you know, not a lot of people knew that they were doing these great things, right? And so, by doing it virtually as well, they even let the virtual audience–they could vote, but their votes didn't count. It was the panel that counted.
Matthew Ley: But they got to go out to all of the universities and all of that to realize that Wal-Mart was caring about creating a more sustainable future. It was–chief sustainability officer–.
Matthew Ley: –Was her role.
Matthew Ley: And so, basically that event got them a lot of eyes, a lot of publicity, followed that kind of Dragon's Den–y approach. And, you know, when they gave away $100,000 as a business–so, a startup investment to these kids that came up with this idea, you know, that was a–really a pretty amazing a-ha moment for that event.
Matthew Ley: So, that–those are ways that you can take a standard idea and move it to something that's a little more fun and a little more like a show.
Peter Vamos: And in the process potentially redefine yourself, if that's the goal, right?
Peter Vamos: You really elevate the brand in a way that–.
Peter Vamos: –You know, your commercials or other things potentially can't.
So, we talked at length about events that are virtual.
Peter Vamos: And there are many examples of that. And especially with internal communications events, there are those elements that are both in person and there's a virtual audience.
Peter Vamos: So, maybe we can talk a little bit–like, how do you handle that? How do you do that thing where it's both?
Matthew Ley: Well, yeah, a lot of the bigger events, whether it's your user conference, you're doing a brand launch, you're doing a CEO town hall, I mean, your speakers are in one location.
Matthew Ley: And if you're not going to decide to go straight webinar, bring them into a studio like this or do it from an office and everyone else is somewhere else, you're always going to have that hybrid audience.
And I think that the biggest mistake, and again, we've talked at length about this on this show, is to–the virtual audience already feels like they're secondary. And in many cases, they are. In many cases, they are an afterthought by the event organizers.
They held an event that's going to be somewhere. They realized we're not going to reach this audience in North Bay or in Vancouver, a Toronto-centric sort of company. And so, we're going to have to do a webcast of it so we can reach those guys that can't be here. Well, they already are going into this feeling that way 'cause they know where the head office is.
They know the CEO sits in Toronto. They know that Toronto has the conferences that they can't go to. They get that because they're not in this region. We forget that 'cause we live here and everything's available–.
Matthew Ley: –And we can make those decisions ourselves. So, you really want to figure out a way of having this event feel like they're–not only are they not an afterthought, that it's better for them than it is for the people in the room.
And so, a great example of this for marketers is the Advocamp event. And at Advocamp, they basically had an in-person audience that was here in Toronto, which was a small fraction of everyone who was going to–who could attend. And that–those people got access to a tradeshow floor, a bunch of the executives, shake hands and talk, and one track in a main room, whereas the virtual audience got access to that main track in the main room, three additional tracks that were done over virtual webinars, prerecorded, simulated live or on-demand or whatever it might be, and they even got little interviews with the people that were talking on the main stage afterwards on a–and they actually did a–not a fireside chat, I couldn't call it that, like a campground chat where they sat down in some Adirondack chairs and talked about what just happened on stage and why it was important.
The virtual audience had four times the amount of access and content as the in-person audience had. And the in-person audience got this later in the follow up, but really this event was–made the virtual audience feel like they were the primary–.
Matthew Ley: –And that the people in person were just filling seats.
Matthew Ley: And so, because it's virtual, you have an opportunity to give them more, do it. You are not going to isolate that in-person audience. They are there for a specific reason. They like your event. They like you, or they sit with the CEO in the main room and they're kind of forced to do that.
Peter Vamos: Right. It gives people–I guess when they're there, it gives them a closeness, but really it does gives you–give you the opportunity to turn that perception around, right–?
Peter Vamos: –That you were secondary–.
Peter Vamos: –People, and in fact really articulate the importance of–and that's something that companies around the world struggle with, right, doing these sorts of things.
When you're doing a global event across multiple locations–.
Peter Vamos: –Across multiple regions like–so what should you be focusing on? What are the areas that you need to be cognizant of?
Matthew Ley: Well, if you've got multiple locations where you've got multiple people that are physically in a room somewhere, like they're watching on a screen in a boardroom or a conference facility, or sometimes we–in pharma, we see them in restaurants watching these things, and you've got a big audience in one location too, it's basically–it's hard to make everyone feel like they're part of the same experience–.
Matthew Ley: –Because everyone's got a different one. Some guy's at home watching on his laptop. Other guy's in a restaurant. Someone's at a conference facility. So, trying to pull your virtual and your in-person audience together, or make everyone feel like they're part of the same event is a–is something that makes the events that much more impactful for anyone.
So, years ago, when it was slides on the internet and audio on a phone–I am that old–I was, air quotes, producing a divisional town hall at PwC. We did–each division did these. We booked these big conference calls and we did slides. And there was a room in Toronto where a bunch of people went and watched it happen, and then everyone else got into boardrooms that were part of the division elsewhere.
And one guy was–I think he was getting like a 50 year pin or he was getting award or something, or he won an award. I don't know what it was. But at one point in time, they're in Toronto and they say now we're going to go to Vancouver because we've got someone in Vancouver that accomplished something or whatever. And in Vancouver, they pressed un-mute on the phone. And at that same time, unbeknownst to them, the CEO was in Vancouver for other meetings. He walked in and presented this guy with an award.
Peter Vamos: Oh, great.
Matthew Ley: Yeah, it was great. And no one knew what was going on because it wasn't like this guy was talking. The speakerphone was open, and there was, oh, my God, it's the–and then there was applause and there was all of this stuff. And even though we couldn't see it–which is a lot easier to do now.
Matthew Ley: Back then, that was just mind blowing, right, video on the Internet. We couldn't see it. There was that excitement and that whatever, and then they put his picture up on a slide. And it was–there was all kinds of–you know, a lot of–a lot came along with that. So, that's years ago.
Matthew Ley: But that idea of mixing what's going on in all these locations and letting people kind of feel like it's one day only and they're all in it together is very important for these virtual events.
And I'll give you an example now of a external brand launch. It was for a pharmaceutical company where we really–they bought in, right? It was an RFP. And we won the RFP, I think, because we knew this part of it and they bought into it. And they ended up going with two strategies.
One was they had viewing parties across the country. Viewing parties? They had viewing sessions–they weren't supposed to be parties–across the country in different conference rooms and that sort of thing. And they had a facilitator in each room, so like a doctor advocate in the room. And they did a bunch of presentations in the main room in Mississauga. And at one point, they decided that they wanted to show that this was an actual event, so they wanted to bring everybody in over video.
And the execution there was expensive at the time. They were risk-averse, so they didn't want to use Skype. This was years ago, so there was concerns about–you know, stuff we can do now is even easier than it was three years ago.
Matthew Ley: So–.
Peter Vamos: –But the stability of the–.
Peter Vamos: –Feed and–.
Matthew Ley: –Stability of feed, even just the fear of that type Skype. Like, you know, Microsoft owns it now. It was not owned by anyone then.
Matthew Ley: Right?
Peter Vamos: Right, right.
Matthew Ley: There's, like, fear of that. So, we had to install Internet–dedicated Internet in each of these venues, and then we had to install videoconferencing units for the day. And we didn't get access to the venues until the morning of the event, so we were pulling our hair out testing and whatever, just trying to get this, and what turned into a–basically a wave of a guy at a podium and introducing his name and how great it is to be a part of the event, and that was it.
Matthew Ley: So, the execution on the far end wasn't great because having him on was nothing more than just to prove that we had events going on.
But on the same event, we did a–we wanted to get the audience engaging, so we did a thing where we used a product called ScribbleLive, which is a Toronto-based technology company that we had worked with a bunch in the past. And we did a closed–almost like a social media feed, where we allowed everyone in the room to go to a link, login, they were approved, and then they were able to post photos, comments, and all of that. And the people that were online were able to do the same thing.
In a weird thing happened as people logged in for the 45 minute or so that they were there eating and getting ready to go, is that people started taking photos of food that was being served, the wine, the venue, and comparing who had a better experience, Vancouver or Toronto. And although it was not the intention to have anyone brag about that, it then started to have people see that they knew other people, other doctors, other people that they knew, and they started sending messages to one another.
And by the time the event started, everyone was sending messages in for questions, comments, making comments like, oh, I love your tie to the speaker and all of that stuff. So, we got that engagement going, no testing required.
Matthew Ley: It was a pretty simple and easy thing. And that was a way that everyone felt like, on that day, they were part of the same event.
Peter Vamos: Right. And any event is really about creating that social connection.
Peter Vamos: I mean, you do–that's why you bring people together, right?
Peter Vamos: You bring them virtually together and have that kind of exchange and interaction with this.
Matthew Ley: And that's always been the struggle–.
Matthew Ley: –Both for speakers to connect with their audience and with audience members to connect with one another, is you can't do that virtually as well.
Matthew Ley: And so, people always feel like that's why we have to be in person sometimes.
Peter Vamos: Yeah. And you can't actually even think that. That just happens. And when it happens organically like that, how wonderful.
Peter Vamos: It's really about the audience, right?
Peter Vamos: I mean, at the end of the day, like any event, you need the audience to be engaged. Let's talk a little bit about that.
Matthew Ley: Yeah. So, I mean, we focus so much on the stage so often what we are going to say and how we are going to say it, how we look–.
Matthew Ley: –What it is that we're going to do that we forget about–we can, at times, forget about the audience. Good–most good internal communications folks or marketers are trying to always think about what the audience is looking for. But from a show, a lot of times people sort of forget that, right?
Matthew Ley: So, from a simple idea of what's in it for them when you're doing a virtual is we did a program many years ago for DL Elliott (sp) that–they were forced to cut budget and do a national Webex session for a leadership day that used to be in person, used to be at a hotel, used to have a lot of fun, booze and all that, going along with it.
And there was a fear that everyone sitting on a Webex for a day was going to be not a very good experience. And we were, you know, fairly early in our career, but I would even have to say, yeah, that's going to be a terrible experience. And you can't go from that to that. There's nothing similar.
Matthew Ley: So, we did a three to four hour broadcast on national leadership day. There was a bunch that went along with it. It was video. We did I think a CNN–a Larry King set for fun, and we had some prerecorded sessions. But we basically tried to chop it up, and we followed the methodology that people don't like seeing anything for longer than 20 minutes. We chopped it up into segments, had some games and stuff.
But one of the things that we did was we promoted it like you get to stay home in your pajamas, meaning that even the folks that were in Toronto that could have been at this event, they stayed home.
Matthew Ley: They didn't come in. And we asked people to send us pics, and that time it was just over email, of them in their pajamas because we were going to have a pajama contest of who had the best sort of set up and the best pajama thing.
So, what worked there is the feedback was we didn't have to leave our friends and family. We got as much value out of four hours as we get out of the day–or three to four hours as we get out of a day, because it was more jam-packed and we were able to do it. We were able to focus more and there was a lot more takeaways for us.
So, we–that became how they did that event. It started out with a budget concern and now it became this value to them.
Matthew Ley: And so, thinking about them that way is very important.
Another suggestion or idea about the audience is bringing your audience in in the content. And I've seen this done both internal and external. I had a company that was doing a brand launch for a product, and they really needed their sales reps on board. They were a retail activation–I think it was tobacco, actually.
And what we did is, when they were going through this new product offering, they brought in sales reps from across the country, sat them in a room and talked them through the idea, why they were doing it, what they thought, and got their feedback. That was recorded.
And when that was recorded, it was–the tidbits that came from the sales reps was used in the virtual event that was promoting that brand launch three months later to the sales reps.
Matthew Ley: So, this idea that, oh, my contemporary, this guy I know as a sales leader, thinks this is a good idea, I think it's a good idea, helping them get on board.
Matthew Ley: And I then saw it happen through–a lot of people out here will do customer advocacy events or they'll bring in customers and talk to them about the product roadmap and get their feedback, is recording that and getting, you know, snippets from customers who the prospects really find, you know, respected or whatever it might be, and using their words and then showing, in our product release, we have this product. It came from you, our customers, our prospects. And so, that's putting the audience into the events.
Matthew Ley: So, that might seem to a lot of you like, oh, my God, that's three months in advance. That's a lot of work.
Peter Vamos: It's risky and–.
Matthew Ley: –A lot of stuff.
Matthew Ley: Well, the good thing about it is you record–you don't do it live.
Matthew Ley: You record it and then you pull out the snippets.
Matthew Ley: And there is a lot that goes along with it.
But, you know, it could be also as simple as another company that we know started to pull employees in to be the emcee of their event. They weren't the host. They weren't doing as much as you're doing here. But they would get up and announce the next segment and do whatever. And they were like a front-line junior staff member that was asked to do this, just pulling this idea that there is more interaction or involvement.
I was talking to our events lead this morning, Bryan Squire, and I didn't even know this, but apparently at Magna International at their AGM, they do an innovation segment. And they don't have the VPs of the departments present what they're doing from an innovation, they have an engineer or a front-line person do it too, bringing those people to the forefront and getting people internal, external more excited about what's going on at the company. So, getting your audience involved beyond Q&A is a valuable idea.
Peter Vamos: Right. Right, right, right. I mean, I think it's great too because it really does create, you know, potentially rising stars within the company–.
Peter Vamos: –Right? People are throwing ideas around, all of a sudden you just go, oh, and–or this person's really comfortable in the camera. We should maybe feature that person a little bit more.
Matthew Ley: Well, I know we always say it as the VP giving the thing or me or you or whoever it is. But in the end, you know, often–we know this from popular culture. Like, with Ronald Reagan, it wasn't as much the message as it was the delivery.
Matthew Ley: And if you can get someone you're shocked by, by this person's great at delivering a message that has not landed when it was given by even the most senior leader of the company–.
Matthew Ley: –That–that's a better delivery of that message, right?
Peter Vamos: For sure. For sure.
More and more, this stuff is being done on video.
Peter Vamos: It's hard to underestimate the–you want to do something on video. You just set up in your boardroom.
Peter Vamos: You shoot the thing. Like, that's not the way to do it, right? Location is the thing, right?
Peter Vamos: You got to really be thinking, if you're going to be doing video, right–.
Peter Vamos: –Where you're setting up.
Matthew Ley: And this is way too big of a subject to copy–to just handle here. We've talked about it. And you're right. Do not turn your boardroom into a studio. It will not look good, just like we will not turn this into a meeting room.
But location can bring value, because it can bring hype and excitement, right? So, if you've got like a user conference or you've got an event–there's a reason why the political commentators from NBC and CNN go to the Democratic national convention to be on the floor while it's happening, even though there is all that noise in the background, is that it adds excitement to the day and it adds something to it. So, the–so, live from a conference or something is cool, and it works.
Another manufacturer that we know, and actually Hydro did it, a bunch of people have done it since, is they would take the show on the road.
Matthew Ley: So, they wouldn't always do it from the head office in Toronto or wherever it is. They would go to, like, a facility actually, a manufacturing facility in another region, and they would show up. And when they showed up and broadcast from there, it had its own unique feel. The floor manager was super excited to have them and he got to say the introduction and really became part of it, but it was cool for everyone else to see these facilities they'd never seen.
One time we were doing one for a CIO, or chief investment officer, of a financial services firm. I think it was Maurer (sp). And he happened to be in China or Dubai or somewhere like that, and he was there because one of their big funds was a foreign investment fund or whatever it was.
So, he did it from there. He did it over videoconference and he showed photos of places he visited because he brought his family with him. I'm here talking to these companies and doing this. Brought my family too and saw these great things, and this is why we're investing in X, Y and Z.
Matthew Ley: So, I don't know that he necessarily needed to do it from the location at that moment in time, but there was something about that that gave it an authenticity and really worked.
Matthew Ley: So, I would say where possible use location as a way of enhancing what you're doing, especially on video. And again, we have a whole–I think we did a podcast on this, about making sure that those two things match.
Peter Vamos: Yeah. Well, it's the medium is the message, right?
Peter Vamos: I mean, that's ultimately–that's the thing.
So, we're seeing a lot of trends.
Peter Vamos: We're seeing a lot of things happening. We're, as you know, in the last half of 2019.
Peter Vamos: What are some of the things you think are going to carry over? What are the things you're seeing now that you think people can sort of bank on over the next couple years?
Matthew Ley: Well, more. That's it. I mean, there's just going to be more. There's an appetite in all aspects, whether it be external and marketing communications to have more segmented media that speaks to–specifically to–or personalization speaking specifically to a buyer or a user.
There's going to be more video. We have an entire generation that are moving into management positions who are so comfortable with video through phone and social media, there's going to be more and more of that. And a lot of organizations have been under invested in video for a very long time, so there's going to be more video everywhere we go.
I think there's going to be more fun. I think we've left the world behind where big brands need to do everything very stuffy and very regimented, and that they're going to be willing to in some ways have a little bit more fun and make some mistakes and play with concepts to reach people.
And the–specifically for virtual event and things like we talked about today, the multi-location/multi-presenter. It's gotten so much more easy to bring in somebody from a phone walking down the street to an office. Even five years ago, we were still–I'm not going to say struggling, but there was still, you know, a lot of hiccups.
And so, I think that what we're going to see is the technology has finally, I guess, caught up and networks. It's going to allow us to really have these large events from multiple locations that really include people from everywhere participating, not simply sitting on the other end and watching and listening.
Peter Vamos: Right. So, ultimately, the humanization and the democratization of this sort of content–.
Peter Vamos: –Like we're seeing with every other–across all these–.
Peter Vamos: –Other platforms.
Matthew Ley: Yeah, exactly.
Peter Vamos: The ability for everybody to participate. That's great.
Peter Vamos: I think we're done. I think we've covered this subject very, very well. We are coming back with a podcast, and our subject will be digging into not-for-profits and how associations can use webinars and virtual events. Until then, my name is Peter Vamos. Matthew Ley–.
Matthew Ley: –Thanks, Peter–.
Peter Vamos: –Thank you very much. And we'll see you again.Fmulti
PrevPreviousIndustry-Leading Webcasting Technology That Fits Your Budget
The Webinar Podcast
In this episode, we venture into the challenges behind inspiring virtual events that can be engaged with both live and digital audiences.
Dan Nedelko	March 6, 2020
Industry-Leading Webcasting Technology That Fits Your Budget
Ready to experience webinars in a whole new way? We're introducing Engage Webinars, an innovative webinar platform that allows you to go beyond presenting and start engaging.
Dan Nedelko	February 18, 2020
Effective Webinar Tips
5 Step Guide To Creating A Webinar Landing Page (That Actually Converts)
Matt Ley - President and Co-founder
TF: 1.886.932.4630
E: mley@thestreamingnetwork.com
Taylor Hreljac - Business Development Manager
E: THreljac@thestreamingnetwork.com
2800 Skymark Ave, Suite 501,
Mississauga ON L4W 5A6
TF: 1.866.932.4630 | 416-640-9769
Talk to a Webinar Expert Today
Annual (Best Value)
$399 / *month
HTML-5 Delivery
Branding & Customization : Template Library
Active Archive
Phone, PC Audio & Webcam Source Supported
Supports 1 Live Event at a Time
Standard Infrastructure and Security
Advanced Engagement Options: Custom CTA's, HTML Frame, Quiz, CE Course Tracker
Marketing Automation and CRM Integration
Additional Sources: VC, video encoder, fiber, satellite
Viewers Per Webinar : 400
Branding & Customization : Fully Customizable
Viewers Per Webinar : 1000
*billed annually
Multiple Concurrent Live Events
Custom Completed Infrastructure and Security Documentation
Viewers Per Webinar : 1000+
*annual contract


It doesn't matter if you are a tenant or a homeowner – moving is never easy. There are a lot of things to consider when moving to a new place of residence. Luckily for you, we can check cleaning off your to-do list. We offer a full package of services designed to fit all of your needs, including everything from the walls to the floors.
Before we arrive at the property, it is important to have all of your belongings out of the space. If you have furniture in the way, we will do our best to clean around it. If there are items left in the home, you may incur an extra charge for trash removal. The more open you leave the space, the better our team can clean.
Our maids will perform a thorough list of cleaning checkpoints during the service. If you have anything else you would like them to consider, be sure to add it to the list. Here is a quick look at some of the services provided.
Whatever your cleaning need, we can help. Whether you are moving in or moving out, we can get you off to the right start on a new journey. Contact us today for a free quote. Let us help you get the most out of your moving day, starting with a clean home.
We at Austin Maid Service are experts at Move-out cleanings. We have years of experience!
Hey, It's a hassle packing and moving. We have years of experience cleaning. You can hire Austin Maid Service to do the dirty work for you at a fraction of your security/cleaning deposit.
We offer a 100% Satisfaction Guarantee. After every cleaning, one of our Service Satisfaction Representatives will contact you to make sure that you are completely satisfied. If not, we will return within 24 hours and make it right.
Austin Texas is big city but Austin Maid Service has got it covered. From downtown Austin apartments and condos to Hill Country estates. Call us!


A beautiful full collar and ruffle sleeve detail give this elegant blouse a touch of whimsy. Button down front, elastic at wrist, drapey fabric with a multi color plaid pattern.
Designer Nikki Chasen spent her school days at Parsons in New York until she graduated in 2012. With a steadfast belief that style and comfort can coexist peacefully in the same garment, she's taking sportswear to new levels with beautiful textiles and playful details. The Miami transplant's eponymous label is made for women who dress to impress nobody but themselves.
S: 20" bust, 20" waist, 21" hip, 27" from top of shoulder to hem, 20.5" sleeve.


text:
Ritter outlines steps to close $203M deficit…
Ritter outlines steps to close $203M deficit next year
By Tim Hoover | The Denver Post
A prison boot camp program in Buena Vista would close and a scholarship fund would be tapped to help close a roughly $200 million shortfall in the state budget for the fiscal year that begins in July.
But the largest single chunk of the plan Gov. Bill Ritter announced today to finish balancing the 2010-2011 state budget relies on $204.5 million in one-time federal money to help offset Medicaid costs, funding that Congress still must approve.
"Today's balancing plan maintains the approach we started when the recession began," Ritter said. "These are tough and unenviable — but necessary — decisions from a list of very limited options.
"This is a common-sense, fair, thoughtful and balanced plan to balance the budget. It protects public safety, preserves the safety net and maintains programs that promote job creation and economic recovery."
But Republicans said the Democratic governor is not making enough tough decisions.
"The governor and the Democrats shouldn't break their collective arm patting themselves on the back," said Senate Minority Leader Josh Penry, R-Grand Junction. "More than half of the proposed budget-balancing was put on the federal government's credit card, and a good portion of the rest of the measures are either gimmicks, cash transfers, or accounting misdirection all of which only result in pushing the really tough choices to next year."
Penry also pointed out that part of Ritter's overall budget-balancing plan for 2010-2011 is to eliminate more than $100 million in sales tax exemptions and credits and to suspend a property tax break for senior worth nearly $100 million.
Senate Republicans have called for more than $300 million in cuts they say should be focused on the state's payroll, though they have not offered any specific programs or departments to trim.
Ritter on Thursday specifically rejected the suggestion that state employees could bear more of the burden, saying there were 1,150 fewer state employees than when the recession started.
"Those employees haven't had any raises for two years," Ritter said. "This year, they have eight furlough days, and next year they take a 2.5 percent pay cut.
"For anybody who wants to be a critic of that they need to stand in front of a group of employees and tell them what more we should do without impacting the safety net, without impacting all of those things that are critical services of government."
State economists in December predicted the state's general fund would be short another $203.3 million for the 2010-2011 budget year that begins in July. The December forecast also showed that the State Education Fund, which is used to help cover the costs of basic state aid to schools, would be insolvent without additional revenue.
The State Education Fund was created under Amendment 23, which voters passed in 2000 and which guarantees school funding increase by at least the rate of inflation each year. The fund ensured there was a dedicated pot of money for schools outside the general fund and which did not count against the revenue limit under the Taxpayer's Bill of Rights in the state constitution.
Ritter's plan announced today would transfer $135 million in general fund money to the State Education Fund to keep it solvent. With the transfer, the fund would be $65.9 million in the black next year, but without the transfer, it would be $72.6 million in the hole.
Even with the transfer, the fund is projected to be $180 million in the red for the 2011-2012 fiscal year.
The re-balancing plan assumes that Congress will approve an extension of aid to states for Medicaid costs, without which Colorado would have to find another $204.5 million to handle Medicaid costs. The U.S. House has already passed one version of such an extension, and President Obama has indicated support for the idea.
Ritter's latest plan also closes a 100-bed boot camp for non-violent offenders at the Buena Vista Correctional Complex, saving $900,000 and eliminating 33 positions. Administration officials said the boot camp has not proven itself effective in reducing recidivism.
But because of an overall decrease in prisoner caseloads that resulted in a $10.1 million savings, Ritter said the state could now afford to open a portion of a new maximum security prison in Ca~non City, incurring a $10.8 million cost for the 316-bed unit that houses violent, trouble-making offenders in prison.
The plan announced Thursday also would sweep $29.8 million from a scholarship trust fund generated by the profits on student loans made by the state. The scholarship, which was targeted at students who graduate high school with a cumulative 2.5 grade point average, gave students up to $1,500 per year for up to five years of college.
Tim Hoover: 303-954-1626 or thoover@denverpost.com
Trump digs in on racist tweets: "Many people agree with me"
Defiant in the face of widespread criticism, President Donald Trump renewed his belligerent call on Monday for four Democratic congresswomen of color to get out of the U.S. "right now," cementing his position as the most willing U.S. leader in generations to stoke the discord that helped send him to the White House.
Taxpayer-funded family planning clinics must stop referring women for abortions immediately, the Trump administration said Monday, declaring it will begin enforcing a new regulation hailed by religious conservatives and denounced by medical organizations and women's rights groups.
John Hickenlooper finishes Q2 in the back of the presidential field with $1.1 million haul
Former Colorado Gov. John Hickenlooper's presidential campaign had less than $1 million in the bank at the end of the last fundraising quarter, according to finance records made public Monday -- fresh evidence of how dire the situation is for Colorado's former governor.

redpajama_set_name: RedPajamaCommonCrawl


The Peltier Statue made an epic journey from California to Washington D.C. and was successfully installed at the American University Campus. It was dedicated on December 9, with Leonard Peltier's eldest son present, Chauncey Peltier, as well as Len Foster – Peltier's spiritual advisor – and Robert King a former prisoner himself, now the recipient of an honorary doctorate's degree in law and a global champion against the systemic racism festering in the US Justice system.
Marc Hors is a documentary photographer and storyteller dedicated to capturing the social and cultural fabric of our contemporary society in all of its splendor, nuance and terrible beauty.


text:
Call of Duty: Warzone is a Free To Play, 100+GB Battle Royale Game
2020-03-20 by Sparky
Activision finally reveals the new Call of Duty named Call of Duty: Warzone which was leaked and rumored about in the community. Call of Duty: Warzone is Activision's take on the battle royale games.
You can watch the trailer released by Activision here.
Call of Duty: Warzone is a standalone, free to play battle royale game based on Call of Duty Modern Warfare however you don't need to own Call of duty Modern Warfare in order to play this game. This game is available on Steam, PS4 and Xbox One for players to download today(March 10th). It also supports cross-play so you can play with your friends on different platforms.
Call of Duty: Warzone has two modes :
A Battle Royale Mode
In a typical Battle Royale fashion, you can play the game as a solo, duo or as trios. The match starts with you, the player in a drop ship in the sky waiting to drop down into the game's map called Verdansk. This map combines the old fan favorite and new locations into one massive map. You're given a pistol once you're land.
Weapons can be found laying around the map or inboxes. You also have cash in a match that can be used to buy certain items or perks in certain locations.
In the Plunder game mode, you spawn into the same battle royale map. This game revolves around the new cash system of the game and the first team to collect a million dollars in 30 minutes wins the game. You can find this cash all over the map or by killing the enemy and taking theirs. You can store your cash in 2 ways, one way is to call a helicopter that takes the cash you have to your bank and the other is to use balloons
This game is only 18-22 GB for those that already have Call of Duty Modern Warfare downloaded and a massive 80 to 105 GB download if you haven't already downloaded for those who haven't.
Call of Duty: World War 2 Review
Find out all the pros and cons about Call of Duty: World War 2 without any spoilers, see if this First person shooter matches your type.
Resident Evil 3 Remake Demo Released
Resident evil 3 Remake demo has been released. It has a complete new look to it and is simply horrific and has Nemesis sequence as well.
Cris Tales - Overview Trailer Released
Cris Tales is a gorgeous, indie love letter to classic JRPGs. Peer into the past, act in the present, and watch as your choices change the future.
Crysis Remastered Teaser Trailer Released
Crysis Remastered was made official official by Crytek on twitter and the trailer for the Crysis Remastered was released
Dark Souls 3 Review
Escape from Tarkov Review
Life is Strange: True Colors Review
Guilty Gear Strive Review
The Witcher 3: Wild Hunt Review


Franklin Electric | MSKTD & Associates, Inc.
Located just south of Fort Wayne International Airport, Franklin Electric's new 120,000 SF integrated, purpose-built headquarters and lab facility is easy for employees, customers and vendors to access.
The $32-to-$36 million facility for this global leader in the production and marketing of systems and components for the movement of water and automotive fuels accommodates the company's current headquarters staff of 225 employees and allows for future growth.
The facility uses geothermal heating and cooling and incorporates aesthetic exterior water features like ponds and fountains that act as functional parts of the system.


text:
<?php

namespace Symfony\Component\HttpClient;

use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerAwareTrait;
use Symfony\Component\HttpClient\Exception\InvalidArgumentException;
use Symfony\Component\HttpClient\Exception\TransportException;
use Symfony\Component\HttpClient\Internal\NativeClientState;
use Symfony\Component\HttpClient\Response\NativeResponse;
use Symfony\Component\HttpClient\Response\ResponseStream;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Contracts\HttpClient\ResponseInterface;
use Symfony\Contracts\HttpClient\ResponseStreamInterface;

/**
 * A portable implementation of the HttpClientInterface contracts based on PHP stream wrappers.
 *
 * PHP stream wrappers are able to fetch response bodies concurrently,
 * but each request is opened synchronously.
 *
 * @author Nicolas Grekas <p@tchwork.com>
 */
final class NativeHttpClient implements HttpClientInterface, LoggerAwareInterface
{
    use HttpClientTrait;
    use LoggerAwareTrait;

    private $defaultOptions = self::OPTIONS_DEFAULTS;

    /** @var NativeClientState */
    private $multi;

    /**
     * @param array $defaultOptions     Default requests' options
     * @param int   $maxHostConnections The maximum number of connections to open
     *
     * @see HttpClientInterface::OPTIONS_DEFAULTS for available options
     */
    public function __construct(array $defaultOptions = [], int $maxHostConnections = 6)
    {
        $this->defaultOptions['buffer'] = $this->defaultOptions['buffer'] ?? \Closure::fromCallable([__CLASS__, 'shouldBuffer']);

        if ($defaultOptions) {
            [, $this->defaultOptions] = self::prepareRequest(null, null, $defaultOptions, $this->defaultOptions);
        }

        $this->multi = new NativeClientState();
        $this->multi->maxHostConnections = 0 < $maxHostConnections ? $maxHostConnections : PHP_INT_MAX;
    }

    /**
     * @see HttpClientInterface::OPTIONS_DEFAULTS for available options
     *
     * {@inheritdoc}
     */
    public function request(string $method, string $url, array $options = []): ResponseInterface
    {
        [$url, $options] = self::prepareRequest($method, $url, $options, $this->defaultOptions);

        if ($options['bindto'] && file_exists($options['bindto'])) {
            throw new TransportException(__CLASS__.' cannot bind to local Unix sockets, use e.g. CurlHttpClient instead.');
        }

        $options['body'] = self::getBodyAsString($options['body']);

        if ('' !== $options['body'] && 'POST' === $method && !isset($options['normalized_headers']['content-type'])) {
            $options['headers'][] = 'Content-Type: application/x-www-form-urlencoded';
        }

        if (\extension_loaded('zlib') && !isset($options['normalized_headers']['accept-encoding'])) {
            // gzip is the most widely available algo, no need to deal with deflate
            $options['headers'][] = 'Accept-Encoding: gzip';
        }

        if ($options['peer_fingerprint']) {
            if (isset($options['peer_fingerprint']['pin-sha256']) && 1 === \count($options['peer_fingerprint'])) {
                throw new TransportException(__CLASS__.' cannot verify "pin-sha256" fingerprints, please provide a "sha256" one.');
            }

            unset($options['peer_fingerprint']['pin-sha256']);
        }

        $info = [
            'response_headers' => [],
            'url' => $url,
            'error' => null,
            'canceled' => false,
            'http_method' => $method,
            'http_code' => 0,
            'redirect_count' => 0,
            'start_time' => 0.0,
            'connect_time' => 0.0,
            'redirect_time' => 0.0,
            'pretransfer_time' => 0.0,
            'starttransfer_time' => 0.0,
            'total_time' => 0.0,
            'namelookup_time' => 0.0,
            'size_upload' => 0,
            'size_download' => 0,
            'size_body' => \strlen($options['body']),
            'primary_ip' => '',
            'primary_port' => 'http:' === $url['scheme'] ? 80 : 443,
            'debug' => \extension_loaded('curl') ? '' : "* Enable the curl extension for better performance\n",
        ];

        if ($onProgress = $options['on_progress']) {
            // Memoize the last progress to ease calling the callback periodically when no network transfer happens
            $lastProgress = [0, 0];
            $maxDuration = 0 < $options['max_duration'] ? $options['max_duration'] : INF;
            $onProgress = static function (...$progress) use ($onProgress, &$lastProgress, &$info, $maxDuration) {
                if ($info['total_time'] >= $maxDuration) {
                    throw new TransportException(sprintf('Max duration was reached for "%s".', implode('', $info['url'])));
                }

                $progressInfo = $info;
                $progressInfo['url'] = implode('', $info['url']);
                unset($progressInfo['size_body']);

                if ($progress && -1 === $progress[0]) {
                    // Response completed
                    $lastProgress[0] = max($lastProgress);
                } else {
                    $lastProgress = $progress ?: $lastProgress;
                }

                $onProgress($lastProgress[0], $lastProgress[1], $progressInfo);
            };
        } elseif (0 < $options['max_duration']) {
            $maxDuration = $options['max_duration'];
            $onProgress = static function () use (&$info, $maxDuration): void {
                if ($info['total_time'] >= $maxDuration) {
                    throw new TransportException(sprintf('Max duration was reached for "%s".', implode('', $info['url'])));
                }
            };
        }

        // Always register a notification callback to compute live stats about the response
        $notification = static function (int $code, int $severity, ?string $msg, int $msgCode, int $dlNow, int $dlSize) use ($onProgress, &$info) {
            $info['total_time'] = microtime(true) - $info['start_time'];

            if (STREAM_NOTIFY_PROGRESS === $code) {
                $info['starttransfer_time'] = $info['starttransfer_time'] ?: $info['total_time'];
                $info['size_upload'] += $dlNow ? 0 : $info['size_body'];
                $info['size_download'] = $dlNow;
            } elseif (STREAM_NOTIFY_CONNECT === $code) {
                $info['connect_time'] = $info['total_time'];
                $info['debug'] .= $info['request_header'];
                unset($info['request_header']);
            } else {
                return;
            }

            if ($onProgress) {
                $onProgress($dlNow, $dlSize);
            }
        };

        if ($options['resolve']) {
            $this->multi->dnsCache = $options['resolve'] + $this->multi->dnsCache;
        }

        $this->logger && $this->logger->info(sprintf('Request: "%s %s"', $method, implode('', $url)));

        [$host, $port, $url['authority']] = self::dnsResolve($url, $this->multi, $info, $onProgress);

        if (!isset($options['normalized_headers']['host'])) {
            $options['headers'][] = 'Host: '.$host.$port;
        }

        if (!isset($options['normalized_headers']['user-agent'])) {
            $options['headers'][] = 'User-Agent: Symfony HttpClient/Native';
        }

        if (0 < $options['max_duration']) {
            $options['timeout'] = min($options['max_duration'], $options['timeout']);
        }

        $context = [
            'http' => [
                'protocol_version' => min($options['http_version'] ?: '1.1', '1.1'),
                'method' => $method,
                'content' => $options['body'],
                'ignore_errors' => true,
                'curl_verify_ssl_peer' => $options['verify_peer'],
                'curl_verify_ssl_host' => $options['verify_host'],
                'auto_decode' => false, // Disable dechunk filter, it's incompatible with stream_select()
                'timeout' => $options['timeout'],
                'follow_location' => false, // We follow redirects ourselves - the native logic is too limited
            ],
            'ssl' => array_filter([
                'peer_name' => $host,
                'verify_peer' => $options['verify_peer'],
                'verify_peer_name' => $options['verify_host'],
                'cafile' => $options['cafile'],
                'capath' => $options['capath'],
                'local_cert' => $options['local_cert'],
                'local_pk' => $options['local_pk'],
                'passphrase' => $options['passphrase'],
                'ciphers' => $options['ciphers'],
                'peer_fingerprint' => $options['peer_fingerprint'],
                'capture_peer_cert_chain' => $options['capture_peer_cert_chain'],
                'allow_self_signed' => (bool) $options['peer_fingerprint'],
                'SNI_enabled' => true,
                'disable_compression' => true,
            ], static function ($v) { return null !== $v; }),
            'socket' => [
                'bindto' => $options['bindto'],
                'tcp_nodelay' => true,
            ],
        ];

        $proxy = self::getProxy($options['proxy'], $url);
        $noProxy = $options['no_proxy'] ?? $_SERVER['no_proxy'] ?? $_SERVER['NO_PROXY'] ?? '';
        $noProxy = $noProxy ? preg_split('/[\s,]+/', $noProxy) : [];

        $resolveRedirect = self::createRedirectResolver($options, $host, $proxy, $noProxy, $info, $onProgress);
        $context = stream_context_create($context, ['notification' => $notification]);
        self::configureHeadersAndProxy($context, $host, $options['headers'], $proxy, $noProxy);

        return new NativeResponse($this->multi, $context, implode('', $url), $options, $info, $resolveRedirect, $onProgress, $this->logger);
    }

    /**
     * {@inheritdoc}
     */
    public function stream($responses, float $timeout = null): ResponseStreamInterface
    {
        if ($responses instanceof NativeResponse) {
            $responses = [$responses];
        } elseif (!is_iterable($responses)) {
            throw new \TypeError(sprintf('%s() expects parameter 1 to be an iterable of NativeResponse objects, %s given.', __METHOD__, \is_object($responses) ? \get_class($responses) : \gettype($responses)));
        }

        return new ResponseStream(NativeResponse::stream($responses, $timeout));
    }

    private static function getBodyAsString($body): string
    {
        if (\is_resource($body)) {
            return stream_get_contents($body);
        }

        if (!$body instanceof \Closure) {
            return $body;
        }

        $result = '';

        while ('' !== $data = $body(self::$CHUNK_SIZE)) {
            if (!\is_string($data)) {
                throw new TransportException(sprintf('Return value of the "body" option callback must be string, %s returned.', \gettype($data)));
            }

            $result .= $data;
        }

        return $result;
    }

    /**
     * Loads proxy configuration from the same environment variables as curl when no proxy is explicitly set.
     */
    private static function getProxy(?string $proxy, array $url): ?array
    {
        if (null === $proxy) {
            // Ignore HTTP_PROXY except on the CLI to work around httpoxy set of vulnerabilities
            $proxy = $_SERVER['http_proxy'] ?? (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) ? $_SERVER['HTTP_PROXY'] ?? null : null) ?? $_SERVER['all_proxy'] ?? $_SERVER['ALL_PROXY'] ?? null;

            if ('https:' === $url['scheme']) {
                $proxy = $_SERVER['https_proxy'] ?? $_SERVER['HTTPS_PROXY'] ?? $proxy;
            }
        }

        if (null === $proxy) {
            return null;
        }

        $proxy = (parse_url($proxy) ?: []) + ['scheme' => 'http'];

        if (!isset($proxy['host'])) {
            throw new TransportException('Invalid HTTP proxy: host is missing.');
        }

        if ('http' === $proxy['scheme']) {
            $proxyUrl = 'tcp://'.$proxy['host'].':'.($proxy['port'] ?? '80');
        } elseif ('https' === $proxy['scheme']) {
            $proxyUrl = 'ssl://'.$proxy['host'].':'.($proxy['port'] ?? '443');
        } else {
            throw new TransportException(sprintf('Unsupported proxy scheme "%s": "http" or "https" expected.', $proxy['scheme']));
        }

        return [
            'url' => $proxyUrl,
            'auth' => isset($proxy['user']) ? 'Basic '.base64_encode(rawurldecode($proxy['user']).':'.rawurldecode($proxy['pass'] ?? '')) : null,
        ];
    }

    /**
     * Resolves the IP of the host using the local DNS cache if possible.
     */
    private static function dnsResolve(array $url, NativeClientState $multi, array &$info, ?\Closure $onProgress): array
    {
        if ($port = parse_url($url['authority'], PHP_URL_PORT) ?: '') {
            $info['primary_port'] = $port;
            $port = ':'.$port;
        } else {
            $info['primary_port'] = 'http:' === $url['scheme'] ? 80 : 443;
        }

        $host = parse_url($url['authority'], PHP_URL_HOST);

        if (null === $ip = $multi->dnsCache[$host] ?? null) {
            $info['debug'] .= "* Hostname was NOT found in DNS cache\n";
            $now = microtime(true);

            if (!$ip = gethostbynamel($host)) {
                throw new TransportException(sprintf('Could not resolve host "%s".', $host));
            }

            $info['namelookup_time'] = microtime(true) - ($info['start_time'] ?: $now);
            $multi->dnsCache[$host] = $ip = $ip[0];
            $info['debug'] .= "* Added {$host}:0:{$ip} to DNS cache\n";
        } else {
            $info['debug'] .= "* Hostname was found in DNS cache\n";
        }

        $info['primary_ip'] = $ip;

        if ($onProgress) {
            // Notify DNS resolution
            $onProgress();
        }

        return [$host, $port, substr_replace($url['authority'], $ip, -\strlen($host) - \strlen($port), \strlen($host))];
    }

    /**
     * Handles redirects - the native logic is too buggy to be used.
     */
    private static function createRedirectResolver(array $options, string $host, ?array $proxy, array $noProxy, array &$info, ?\Closure $onProgress): \Closure
    {
        $redirectHeaders = [];
        if (0 < $maxRedirects = $options['max_redirects']) {
            $redirectHeaders = ['host' => $host];
            $redirectHeaders['with_auth'] = $redirectHeaders['no_auth'] = array_filter($options['headers'], static function ($h) {
                return 0 !== stripos($h, 'Host:');
            });

            if (isset($options['normalized_headers']['authorization']) || isset($options['normalized_headers']['cookie'])) {
                $redirectHeaders['no_auth'] = array_filter($redirectHeaders['no_auth'], static function ($h) {
                    return 0 !== stripos($h, 'Authorization:') && 0 !== stripos($h, 'Cookie:');
                });
            }
        }

        return static function (NativeClientState $multi, ?string $location, $context) use ($redirectHeaders, $proxy, $noProxy, &$info, $maxRedirects, $onProgress): ?string {
            if (null === $location || $info['http_code'] < 300 || 400 <= $info['http_code']) {
                $info['redirect_url'] = null;

                return null;
            }

            try {
                $url = self::parseUrl($location);
            } catch (InvalidArgumentException $e) {
                $info['redirect_url'] = null;

                return null;
            }

            $url = self::resolveUrl($url, $info['url']);
            $info['redirect_url'] = implode('', $url);

            if ($info['redirect_count'] >= $maxRedirects) {
                return null;
            }

            $info['url'] = $url;
            ++$info['redirect_count'];
            $info['redirect_time'] = microtime(true) - $info['start_time'];

            // Do like curl and browsers: turn POST to GET on 301, 302 and 303
            if (\in_array($info['http_code'], [301, 302, 303], true)) {
                $options = stream_context_get_options($context)['http'];

                if ('POST' === $options['method'] || 303 === $info['http_code']) {
                    $info['http_method'] = $options['method'] = 'HEAD' === $options['method'] ? 'HEAD' : 'GET';
                    $options['content'] = '';
                    $options['header'] = array_filter($options['header'], static function ($h) {
                        return 0 !== stripos($h, 'Content-Length:') && 0 !== stripos($h, 'Content-Type:');
                    });

                    stream_context_set_option($context, ['http' => $options]);
                }
            }

            [$host, $port, $url['authority']] = self::dnsResolve($url, $multi, $info, $onProgress);
            stream_context_set_option($context, 'ssl', 'peer_name', $host);

            if (false !== (parse_url($location, PHP_URL_HOST) ?? false)) {
                // Authorization and Cookie headers MUST NOT follow except for the initial host name
                $requestHeaders = $redirectHeaders['host'] === $host ? $redirectHeaders['with_auth'] : $redirectHeaders['no_auth'];
                $requestHeaders[] = 'Host: '.$host.$port;
                self::configureHeadersAndProxy($context, $host, $requestHeaders, $proxy, $noProxy);
            }

            return implode('', $url);
        };
    }

    private static function configureHeadersAndProxy($context, string $host, array $requestHeaders, ?array $proxy, array $noProxy): bool
    {
        if (null === $proxy) {
            return stream_context_set_option($context, 'http', 'header', $requestHeaders);
        }

        // Matching "no_proxy" should follow the behavior of curl

        foreach ($noProxy as $rule) {
            $dotRule = '.'.ltrim($rule, '.');

            if ('*' === $rule || $host === $rule || substr($host, -\strlen($dotRule)) === $dotRule) {
                return stream_context_set_option($context, 'http', 'header', $requestHeaders);
            }
        }

        stream_context_set_option($context, 'http', 'proxy', $proxy['url']);
        stream_context_set_option($context, 'http', 'request_fulluri', true);

        if (null !== $proxy['auth']) {
            $requestHeaders[] = 'Proxy-Authorization: '.$proxy['auth'];
        }

        return stream_context_set_option($context, 'http', 'header', $requestHeaders);
    }
}

redpajama_set_name: RedPajamaGithub


Almost four years ago, I had written a post explaining why I had still retained the Baptist title and had not jumped ship to the Presbyterian side. It has since been one of the most popular pages on my site, and it has at the same time been one of those posts that I cringe at whenever I reread it. As has been the story of my blogging life, I am quick to put into public words those things which I am thinking at the moment since it is the disposition of my brain for its notions to remain muddled until I attempt to articulate those notions into some semblance of coherent thought. And since my views on the matter have changed quite drastically in the four years since I published that post, I thought that it would only be appropriate to revisit it now for the sake of clarity, knowing full well I might cringe at this post four years from now.
So that there might not be a dispute over words, the terms Reformed and Baptist are held very loosely by me. I am fully aware that those of the more Reformed tradition raise objection to the use of the title by Baptists who are Calvinistic in their soteriology. I am also aware that there are Baptists who object to the use of Baptist in the title, merely because they do not want to be associated in name with a Calvinist despite the history of Baptists in general. So if either party is offended, you may call my position Particular Credobaptist if you like, but honestly I could not care less. Titles apart from Christian are all too often used by men to boast in the party to which they affiliate themselves, and, while they are often useful, they at the same time can be injurious to the Church. So if any wish to quibble over titles, let them do it elsewhere.
As far as the differences between Presbyterians (i.e. the orthodox kind) and Reformed Baptists are concerned, I would venture to say that as regards the Gospel there are no significant differences. Both believe that justification is by grace alone through faith in Jesus Christ to the glory of God alone. Both would say that man in his natural state is radically depraved and corrupted by the Fall of Adam and that he, apart from the supernatural work of the Spirit of God, is blind and deaf and can no more save himself than a dead man can bring himself back to life. Both hold very dearly to the sovereignty of God and his Providence, and both recognize that Scripture clearly teaches the unconditional election by God of sinners for adoption as sons. Granting that there is essentially no difference between the two with regard to the Gospel, the two generally harmonize well and enjoy genuine fellowship as members of the Church of Christ.
Apart from the Gospel, however, there are some fairly significant differences. Most people, I would venture to say, believe that the only difference between the two is that one baptizes infants and the other does not, and, while that is true, the reason behind that practice is the outworking of their beliefs in the relationship between the Law and the Gospel. Presbyterians, following Calvin, hold to what is called Covenant Theology, namely a view that espouses the covenants that God makes between two kinds–those which fall under what is called the Covenant of Grace and the others, the Covenant of Works. They, like Calvin, hold that the Mosaic Covenant (i.e. the covenant forged with Israel at Sinai) is a dispensation of the Covenant of Grace and that the pertinence of its stipulations today for the Church is contingent upon what in it is determined to be typological and what is determined to be the outworking of the moral code (i.e. the ten commandments). Thus, essential to the tenants of Covenant Theology is the division of the Mosaic Law into classes–laws which are moral, ceremonial, or civil. What this eventually leads to is the belief that, in some way, the physical promises to the descendants of Abraham are still normative for the Church and, therefore, the covenant solidified in the circumcision of the children of Abraham is now manifested in the baptism of children whose parents are under the Covenant of Grace. Well, that's the short story.
While many Reformed Baptists claim to hold to a form of Covenant Theology, I would say, like many Presbyterians would, that these are by and large inconsistent. These, as I did formerly, either hold to a modified view of Covenant Theology or they hold to the Presbyterian view without regard to the consequences of that view. While I would dare not say that theological perfection is necessary to please God, I do however believe that it is beneficial for all of our sakes occasionally to challenge the views we tend to hold with such obstinacy.
My own divergence from Covenant Theology came through two chief means. The first being my discomfort with a systematic theology that so freely uses terms and divisions which are found nowhere or implicated in Scripture. While it is true that we commonly and rightly use terms that are orthodox that do not occur in Scripture (e.g. Trinity), Covenant Theology takes it to another level. The division of the covenants into covenants of works and covenants of grace is palatable enough, however the division of the Mosaic Law into classes of moral, ceremonial, and civil, while helpful to the system, is not helpful for biblical understanding. What essentially happens in this is that a New Testament writer talks about the law in general terms and then, for example, a Covenant theologian comes in and claims that the apostle is only speaking about the ceremonial laws thereby ripping the moral and civil laws from the scope of the apostle's meaning. Therefore the law to which the apostle seems to refer generally (i.e. the whole of it) is broken into pieces for which the author neither gives warrant nor does the law itself.
The second mean, and probably most significant mean, by which I diverged from Covenant Theology is John Sailhamer's The Meaning of the Pentateuch, which I highly recommend everyone to read at least twice. In that book, Sailhamer attempts to gather from the Pentateuch itself the meaning that the author wishes to convey to its reader. While I will not attempt to summarize the book in this post, I will say that his conclusions fall neither in the Covenant nor Dispensational camps, so that no one will be dissuaded from reading it for that reason.
More particularly, my divergence from Covenant Theology began with two observations from Scripture, the first being from the apostle Paul, primarily in his epistle to the Galatians, and the second being from an observation from the supposed moral law (i.e. the ten commandments). In Galatians, the apostle Paul writes that the law was added to Israel because of transgressions (v. 3:19) for the sake of preserving the Offspring through the whom the promise to Abraham would, viz. Jesus Christ. In Galatians, the apostle does not distinguish between the types of laws (as Covenant theologians do), but he views the law given to Moses in its entirety. If this is not clear enough, in the fourth chapter he gives the analogy of the slave woman and the free woman–the former bearing children into slavery corresponding to Sinai (i.e. where the ten commandments were given) and the latter bearing children into freedom corresponding to Jerusalem. The children born to the free woman are free from the covenant at Sinai and are rather bound to another covenant, namely the New Covenant espoused by the prophets, the apostles, and our Lord.
For the promise to Abraham and his offspring that he would be heir of the world did not come through the law but through the righteousness of faith. For if it is the adherents of the law who are to be the heirs, faith is null and the promise is void. For the law brings wrath, but where there is no law there is no transgression (vv. 4:13-15).
In other words, the law was never intended to be seen as an outworking of the original covenant given to Abraham to be participated in by faith. In other words, Moses is not a particular dispensation of God's promise to Abraham. The author of the Pentateuch makes this clear himself demonstrating that Abraham who lived 430 years before the law was counted righteous by faith and dwelt securely in the Promise Land, while Moses, who spoke to God face-to-face, did not believe God in one instance and was forbidden from entering into the Promise Land. In other words, the author of the Pentateuch himself demonstrates that the law brings wrath on a single transgression, but faith brings righteousness despite many transgressions.
This is not to say that the law did not serve a purpose, both typologically and for the sake of preserving the seed of Abraham until the Seed would come, and this is also not to say that Old Testament saints were excluded from the Promise, but it is to say that those who were partakers of the Promise were so by faith and not by their obedience to the Mosaic Covenant. As we said earlier, the law was added to Israel because of its transgressions not for righteousness, and furthermore, as Paul writes in Romans 4, Abraham was counted as righteous prior to receiving the marks of circumcision so that the Gentiles might be heirs of the Promise (v. 10). Israel was to be as Abraham was, a worshiper of God who walked by faith, yet, because of their obstinance and unbelief, God added to them laws.
And while I could also reference numerous evidences elsewhere, especially in the Epistle to the Hebrews, I will not belabor what has already been clearly demonstrated, namely that Mosaic Covenant is not a dispensation in the progressive revelation of the so-named Covenant of Grace.
The second observation that pulled me away from Covenant Theology is one from the ten commandments, i.e. that which is called by Covenant Theology the moral law, and that is the command regarding the Sabbath. Now if the ten commandments are in fact the moral law how then is one of the commandments abrogated with the coming of Christ? Furthermore, are there not other moral laws that are not included in the ten?
To this charge, many Covenant theologians will claim that the Sabbath has not been abrogated but it has been reassigned to the First Day rather than the Seventh. If this so, where is the command in Scripture that states this? Even if there were a command stating this, how could that law change if the Sabbath were in fact a moral law founded on the very Creation of the world? And what of the passages of the apostle Paul commanding the Church not to allow anyone to judge them regarding Sabbaths (Col. 2:16) or of the apostle to the Hebrews intimating that the Sabbath was typological rather than moral (Heb. 4:9)? And what do they do when even Calvin claimed that the Sabbath was abrogated? (Institutes II.viii.32).
To these objections some will say that the Sabbath is moral in that it was commanded so that people would rest one day a week from their labors. While this sounds sort of like a plausible explanation as to its morality, it is simply not supported biblically. Furthermore, that explanation fails to explain the nature of the command, i.e. that it was to be kept as holy unto God not for mere sake of physical rest but for the sake of honoring God in it. Israel was to be set apart in their Sabbath-keeping, demonstrating to the nations that while they worked seven days a week, Israel would trust God to provide for them by not working on that one day.
Not to camp any further on the matter, the purpose of all this being the personal realization that the whole of the Mosaic Covenant with all of its commandments and stipulations is to be regarded as completed in Christ. For if a commandment that is considered to be part of the moral law is able to be abrogated, then it clearly demonstrates that the divisions espoused by Covenant Theology are at best inaccurate. Therefore when the apostles intimate that those who are in Christ are released from the Mosaic law, that law cannot be divided into sections. We are either released from the whole of the law or we are not; there is no partial release from Moses. Hence the covenant at Sinai is called the Old Covenant for a reason, being thus distinguished from the New brought about in Christ through the Spirit fulfilling what was promised to the Seed of Abraham (cf. Jer. 31:31).
If this is true, namely that the Promise to Abraham and covenant at Sinai are distinct from each other, then all the reasons for paedobaptism are null and void. Baptism, therefore, is as the New Testament claims it to be–an ordinance observed by those who have been spiritually baptized by the Holy Spirit through faith in Jesus Christ, signifying our death with Christ and our resurrection with him to newness of life (cf. Rm. 6). Baptism, therefore, is not the new circumcision administered to a physical people, but it is wholly distinct in the person and work of Jesus Christ and administered to those to whom he chooses to reveal himself. It is a new sign for a New Covenant that has been fulfilled in Christ, not a symbol hearkening back to a covenant of slavery under the law.


text:
Players join for the big hits and fast-paced action – but they stay for the camaraderie and teamwork.
Please visit the 'Find a Team' page under the 'Get Involved' heading to search for your nearest Children's Contact football team.
Below the senior level, contact football in the UK is split into two age groups – U19s and U16s. 16-18 year-olds are eligible for the u19s league whilst 13-15 year-olds can get involved with an U16s team.
Teams for 16-18 year-olds may be either 9v9 or 7v7 depending on the level of competition they are eligible for . The 9v9 teams compete for the National Championship whilst the team who tops the 7v7 competition are awarded the Division 2 title.
Meanwhile, in the under 16s league, every team plays 5v5. The winner of the final is crowned U16 BritBowl champion. In order to keep the whole season as competitive as possible, a second trophy, called The National Plate, is competed for by the runner up teams from each conference.
Please find more in-depth looks at all Children's Contact competition further down the page.
Why should you play Children's Contact American football?
American football is an exciting sport, and this may be what, initially, attracts players to the sport. This is not, however, what keeps players in the game.
American football builds camaraderie and teamwork and it gives players a sense of belonging. Every player has a task to perform on each and every play and what they do has an impact on the game and their teammates – making them truly part of a team.
In the 9v9 competition, each team plays a six game regular season leading to the top teams in each conference qualifying for the playoffs. Whoever comes out on top of the Northern Conference and South Conference then face off in the U19 BritBowl, the winner of which is declared National Champion.
The 7v7 teams play in small regional groups of four, the winners of each, plus the best placed runner up, qualifying for the end of season playoff tournament. The tournament results in the winners lifting the U19 Division 2 title.
Players must be under 19 on 31st of August in the year preceding the playing season, the minimum age is 16.
Each team takes part in four tournaments, each comprising of three individual games. This gives them a regular season of 12 games. The six divisional winners from these tournaments, plus the best two runners up, qualify for the end of season National Championship. The teams are seeded with the team holding the best record placed as #1 seed and the team with the lowest record placed as #8.
The tournament is a knockout competition, comprising of quarter finals, semi finals and final (teams losing in earlier rounds then take part in ranking games). The winner of the final is crowned U16 BritBowl champion.
The National Plate competition is competed for by the four second placed teams who do not qualify for the BritBowl tournament and the four best third placed teams from the six divisions. The plate tournament is played to the same format as the U16 Britbowl tournament.
Players must be under 16 on 31st August in the year preceding the playing season, the minimum age is 13 years.


3 - 7 on the hour, to 3pm; Round One Max: 240 seconds, all others 180.
First fly-off - 6 minute max.
No official time keepers provided - fliers help. Official flight line by class, no poles assigned.
Rounds 1-5, two minute max.
Fly-Offs will begin at 12:15 noon and finish by 3:00.
All others, $20.00 - includes one event.
Additional events $5.00 ($10 World Cup) each.


Dr. A. H. Nayyar is a well known peace activist in Pakistan. Dr Nayyar is a trained physicist, now retired from Quaid-i-Azam University, Islamabad. A H Nayyar is a senior research fellow at the Sustainable Development Policy Institute, Islamabad.


text:
import {TestHelper} from "views/pages/spec/test_helper";
import {EnvironmentVariables} from "models/dashboard/environment_variables";
import * as EnvironmentVariablesWidget from "views/dashboard/trigger_with_options/environment_variables_widget";
import m from "mithril";

describe("Dashboard Environment Variables Trigger Widget", () => {

  const helper = new TestHelper();

  describe("Plain Text Variables", () => {
    const json = [
      {
        "name":   "version",
        "secure": false,
        "value":  "1.0.0"
      },
      {
        "name":   "foobar",
        "secure": false,
        "value":  "asdf"

      }
    ];

    let variables = EnvironmentVariables.fromJSON(json);

    beforeEach(() => {
      variables = EnvironmentVariables.fromJSON(json);
      helper.mount(() => m(EnvironmentVariablesWidget.Plain, {
        variables
      }));
    });

    afterEach(helper.unmount.bind(helper));

    it("should render plain text variables", () => {
      expect(helper.qa('.environment-variables .name')).toHaveLength(2);
      expect(helper.qa('.environment-variables input')).toHaveLength(2);

      expect(helper.qa('.environment-variables .name')[0]).toContainText(json[0].name);
      expect(helper.qa('.environment-variables .name')[1]).toContainText(json[1].name);

      expect(helper.qa('.environment-variables input')[0]).toHaveValue(json[0].value);
      expect(helper.qa('.environment-variables input')[1]).toHaveValue(json[1].value);
    });

    it("it should display variable overriden message", () => {
      const valueInputField = helper.q('.environment-variables input');

      expect(valueInputField).toHaveValue(json[0].value);
      expect(helper.q('.overridden-message')).not.toExist();

      const newValue = "ldap";
      helper.oninput(valueInputField, newValue);

      expect(variables[0].value()).toBe(newValue);
      expect(valueInputField).toHaveValue(newValue);
      expect(helper.text('.overridden-message')).toContain(`The value is overridden. Default value :${json[0].value}`);
    });
  });

  describe("Secure Text Variables", () => {
    const json = [
      {
        "name":   "password",
        "secure": true,
      },
      {
        "name":   "ip_address",
        "secure": true,
      }
    ];

    const variables = EnvironmentVariables.fromJSON(json);

    beforeEach(() => {
      helper.mount(() => m(EnvironmentVariablesWidget.Secure, {
        variables
      }));
    });

    afterEach(helper.unmount.bind(helper));

    it("should render Secure text variables", () => {
      expect(helper.qa('.environment-variables .name')).toHaveLength(2);
      expect(helper.qa('.environment-variables input')).toHaveLength(2);

      expect(helper.qa('.environment-variables .name')[0]).toContainText(json[0].name);
      expect(helper.qa('.environment-variables .name')[1]).toContainText(json[1].name);

      expect(helper.qa('.environment-variables input')[0]).toHaveValue('*****');
      expect(helper.qa('.environment-variables input')[1]).toHaveValue('*****');
    });

    it("it should display variable overriden message", () => {
      const valueInputField = helper.q('.environment-variables input');
      expect(valueInputField).toBeDisabled();

      expect(valueInputField).toHaveValue('*****');
      expect(helper.q('.reset')).not.toExist();

      helper.click('.override');

      expect(valueInputField).not.toBeDisabled();
      expect(helper.q('.reset')).toBeInDOM();

      const newValue = "ldap";
      helper.oninput(valueInputField, newValue);

      expect(variables[0].value()).toBe(newValue);
      expect(valueInputField).toHaveValue(newValue);

      helper.click('.reset');

      expect(valueInputField).toBeDisabled();
      expect(helper.q('.reset')).not.toExist();
    });
  });
});


text:
Plunge Neck
Plunge Neck (1)
Print(1)
Select a Bottom Coverage to narrow your choices
Moderate(1)
Nanette Lepore Women's Missy Fashion Plunge Neck One Piece Swimsuits
Nanette Lepore Monaco Bouquet Goddess One Piece Swimsuit
ABOUT Nanette Lepore
Known for her bold colors, evocative prints, and signature silhouettes, Nanette Lapore has become one of the leading names in contemporary American fashion. Born in Youngstown, Ohio, Nanette married painter Robert Savage and headed east to New York City. Outfitted with only her talent, tenacity, and a $5,000 loan from her father, Nanette launcher he label in New York City's Garment Center.
Inspired by her artsy bohemian childhood and passion for a good party, Nanette's designs are adored by style makers and celebrities alike, including Michelle Obama, Nicki Minaj, Scarlett Johansson, Taylor Swift, Sofia Vergara, and Kristin Chenoweth.
Today, Nanette Lepore has grown into an international brand that offers women's apparel, swimwear, accessories, and fragrance. Nanette Lepore has shops across the United States, Europe, and Asia – including boutiques in New York City, Los Angeles, Bal Harbour, Chicago, Las Vegas, Boston, London, and Tokyo.