At the VTUG Winter Warmer 2015. Oh, here is your host, Stu Miniman. Welcome back to theCUBE, live from Gillette Stadium, VTUG VTUG Winter Warmer 2015.  And more importantly, we're here for a great virtualization technology user group talking about virtualization and cloud. And really happy to have a major player in that space, of course, is Microsoft. And first time guest on is Dan Stoltz, who's the chief technology strategist. Sorry, Dan, I got to memorize those titles before I go. So Dan, do your first time on theCUBE. You've been at this show for five years or more. We weren't talking about cloud five years ago, really virtualization. Just give us a quick, since your first time on, background, what you do at Microsoft and what your background is. Sure, so my background, I've been with Microsoft for about six years and my job is really to help customers figure out how to use the cloud to solve real business problems. And I do that through online education, one-on-one meetings, one-on-many meetings. And I do a lot of, I'm basically I'm a public speaker, so I do a lot of presentations all over mostly New England, but all over the country. Speak at TechReady, all of the big events as well. Awesome, so Dan, you know, the message, cloud messaging, you know, there's so many things we did wrong over the years, you know, not to beat a Microsoft, but gosh, I got calls from family when it was like this, it's in the cloud and Microsoft's going to bring you there. And they're like, hey, Stu, don't you work with this cloud thing? I don't understand it. But you know, as I said, not looking to bash on Microsoft, because actually what I really like out of Microsoft is what you call the cloud-first messaging. Azure, you know, in the public cloud and you know, Azure private cloud, Hyper-V type stuff, there actually is really good linkage. I think you guys have one of the best hybrid cloud messaging out there. Can you parse for us a little bit? How does Microsoft look at virtualization and cloud? Is it one thing, two aspects of the same thing, in and yang, how does that all fit together? Yes, yes and yes. So a few things. First of all, let me go back a little bit. Microsoft has been in the cloud business for not really forever. I mean, if you think back to the hotmail days or the creation of the live IDs and that authentication that's been around forever and that was really kind of the beginning. That was the foundation. And since then we've brought in Xbox and Microsoft Azure and just tons and tons and tons of things from Office 365 and just you name it and there's more coming. Seems like every week. So how we got there really, where the cloud has taken us is to what will I believe eventually replace a lot of the stuff that we're doing in our data centers today. A number of years ago, we introduced the platform as a service and that was the part when you talked about in your opening that you really didn't like the way Microsoft was doing things. Microsoft's first venture into that really cloud server type of a market was platform as a service. And people just didn't understand it. Very, very, very powerful and as people start understanding that you can develop your applications and run them in the cloud and all of the great benefits that you have out of running it like that, it's awesome. But infrastructures of service is really the big play. And infrastructures of service is where you take your, think of it as your virtualized servers that you're running in your on-premises environment in your rack on your servers and take the hardware out of the equation and use Microsoft's hardware on Windows Azure. And that's really what you have. You have a virtual machine in the cloud. You manage the operating system, you patch it, you do all the things you've got to do and it's available and you have scalability, high availability, all that stuff all built into the platform. All right, wow, a lot of pieces there. One thing I want to poke at a little bit is I think enterprise IT sometimes is a little bit snobbish. So if they heard your response and they're going to talk about Xbox and there's probably that Skype stuff and things like that, that's not enterprise IT even if it's a cloud service and there's plenty there. Internally, I mean, is there, if the consumer and enterprise business is, because there's a lot that they can learn between them. And if you look at the big cloud guys, I mean, Amazon does a lot with consumers, so does Google and so do you guys. So I see synergies behind the scenes, but from an enterprise consumer standpoint versus a consumer-consumer, those are very different worlds. What's it look like inside? So I'll answer that in two ways. First of all, I want to push back a little bit because the first pushback that I want to make is, and part of the problem that people are struggling with is how they can take advantage of this technology. And the reason for that is because they don't fully understand the capabilities. So let me give you an example. An enterprise, I think it's EA Sports, puts out a product that they're running a game and I'll use Titanfall as an example. Titanfall, whenever you open up a new game room, you're actually opening up a new server that's running on Azure. So literally the whole foundation of that game is that you have endless infrastructure because you're just spinning up a server. So yeah, that is enterprise, even though it is consumer also, because the consumer is using it, but an enterprise, a real company has that product that they're actually using that infrastructure for. But I think what you're talking about is more of what we refer to as kind of the core infrastructure in a company's data center. And in that respect, running it in the cloud or running it on premises, there's really not much difference. The fundamental difference is you have to have that integration piece. And that's the piece that Microsoft does really, really, really well, like you said. And long gone are the days where it really matters where that infrastructure sits. You no longer have to have it sitting in your facility and paying the big air conditioner bills and having the really expensive real estate for the footprint of that rack. Now that can be offloaded to cloud services and you gain all of the other advantages of it too. So yeah, there's a lot of consumer stuff out there, but there's really a big play for enterprises. So I'll give you another example. Let me just give you one more example. Yeah, okay, go. Disaster recovery and preparedness. Companies used to spend hundreds of thousands, millions of dollars even on having backup infrastructure. All of that expense completely goes away because now that backup infrastructure can be on demand in the cloud. Real enterprise uses, use cases for some high-end technology that's available to you in the cloud. Yeah, that's some great points, Dan. And I appreciate the clarification and I agree with most of what you were saying there. So can you talk a little bit more about the infrastructure as a service? Because so many people, they're like, well, Microsoft, yeah, I'm using Office 365, so of course I'm using cloud services, but it seems like EC2 and AWS get most of the mind share at least, even though the market share shows that you guys are doing a ton there. So what's hot and Azure from an infrastructure service standpoint? There's actually lots of things in infrastructure as a service. So to be clear, the infrastructure piece is where you're leveraging the hardware and the virtualization stack in the cloud and you're basically bringing your own machines. You're bringing your own virtual machines. I mean, it's a lot more than that because it's a network, it's a storage, it's the SQL database or whatever. There's lots of other things that you can sit on top of that infrastructure. But specifically, to us, it doesn't matter because we really just look at it as hardware in the cloud that you can run any workload on. So there's a lot of customers that are running SharePoint on it. They're running web servers on it. They're running business application servers. They're running terminal services. They're really anything that you can run in your data center, you can run it on the Azure platform under infrastructure as a service. Okay, great. So Dan, can you now bridge for us the hybrid discussion? Hyper-V versus Azure private, what are those the same thing? And how do you guys look at hybrid cloud? Is it applications here and application there? Are there things that go back and forth? Can you dig into that a little bit for us? Okay, whenever we talk about hybrid, what we're really referring to is being able to, having machines that are on-premises or in the cloud, being able to work together as if they were in the same location. So there's some things that need to be put into place in order to make all that magic happen. A lot of times you're simply just setting up a network path, which is often just a VPN. Sometimes it's a private network line between the Azure data center and your data center.  But it's actually a lot more than that because whenever you think about things like authentication, and you want to do things like single sign-on, you want to do things like have, you mentioned Office 365 and have that, which is not part of infrastructure as a service, but it's actually part of software as a service. So you have software as a service and infrastructure as a service all working together as one and that's in a hybrid environment. Take that one step further, that Office 365 is synchronizing with your AD on-prem and also your AD, it's all part of your AD, which is running in your infrastructure as a service on Azure infrastructure as a service. Yeah, Dan, Dan, great point. Active Directory is one place that Microsoft has clear leadership out there. We've seen some moves from some of the other big players out there. Is it a checkbox now that everybody, that others now have? Or obviously you've got years and years of experience, but sometimes there's newer ways to do things. How do you look at Active Directory today, why people rely on Microsoft and some of the alternatives out there, maybe give us a little color? Yeah, actually what we're seeing is actually a little bit different than that. Yes, from the infrastructure side, the Active Directory is king and I frankly see no reason why that will change anytime in the foreseeable future. But what has changed is there's more than one directory now. I mean, you look at all the different directories that people have, you know, look at Twitter, you look at Facebook, LinkedIn, any number of other social networks, they all have a directory too. Those are valid directories. And what you're faced with and how things are changing as the technology changes is Active Directory in Windows Azure allows you to bridge all of those other directories so you can literally have your Active Directory and all these other things that are doing authentication. So you can decide how you want to authenticate. Do you want to use Twitter's authentication? Do you want to use AD's authentication? So that's really how that world has changed and it's not just about AD, it's about being able to integrate all these things and AD being the wrapper, not only around its own directory but around all these other directories as well. Wow, great stuff. All right, I want to pivot a little bit, Dan. You do a lot of education, you've got a ton of certifications and you help users with that. How's that world changing? You know, what does kind of the IT resume look like in a couple of years? Are they going to have, you know, a full list of these certifications or just different certifications? What are you seeing going forward? How are you helping the users with this transition? Sure, I actually had a presentation earlier today at VTOG, I have one of the keynote speakers and actually I had a couple of slides on that. Certification is just as important now as it was back in the NT4 days. It's just as important now as it was five years ago, literally, but it depends on where you are. A lot of companies really, they look at that first. Certification doesn't tell an employer or somebody that you know everything there is to know about that topic. It tells them that you have the, it tells them two things. One, it tells them that you have the foundation, you understand it, right? And two, it kind of tells them that you can retain that information as well because you have to retain the information in order to pass the test. And right now there's certifications for cloud. There's lots of different certifications for cloud. It's not just one. So whether you're on the development track or infrastructure track and even, but then there's other things too. So there are certifications. I am strongly encouraging people to get certified because as you go through that process of studying for certification, you're also learning the technology, the platforms. And as you learn the platforms, you realize how you can use that technology to do magical things in your business. So do you see cloud really as an evolution of what's going on? It sounds like if I'm a Microsoft certified guy, I can go through these steps as opposed to most people would say, I mean, Amazon's a very different world. If I'm running infrastructure today, there's a lot of things to be said for that. There's a lot of things to be said for what I can do in a public cloud, say with Amazon. But most would say it's more of a little bit of a break. I might need some different staffing. I might have less staffing.  It's definitely an easier transition because of the, you know, you're working in the same technologies and the terminology is all the same, but you're going to get a lot of that in Amazon once you stand things up. And whether you're going Amazon or Microsoft, there are going to be some things that are different. You know, that whenever you're setting up that infrastructure in the cloud, you have to learn the portal that you basically go through, the self-service portal, to be able to configure those services. So there is definitely a learning curve. I think on the Microsoft side, the big advantage is we're using, we're utilizing the same technology under the covers in Azure that we're using in the data center on-prem. So say you've got a virtual machine running on Hyper-V right now, you can literally take those VHD files, the, you know, the disk file, upload that to Azure, fire it up in your golden, you can download them the same way. So from a, you know, from an integration ease of use standpoint, and then of course you've got PowerShell. PowerShell is absolutely magical. I've been working on PowerShell script for the last few days. It literally goes out, spins up three machines. I'm creating a training environment where I can just give all of my attendees a script, go run this script on your Azure account and it'll create your entire environment for the class. So there's just some amazing things that you can do because of the really tight integration with what you can do on-prem. All right, so Dan, we promised we wouldn't talk about licensing and pricing, but one of the biggest pain points I hear from users is patching and updating, you know, to new versions of the software is the world of today that is nothing but pain. The world of the future is, you know, if I buy into the message of the cloud, it should be able to be updated much simpler. You know, if I go from one version of Azure in the public cloud to another, I mean, somebody in the back end takes care of that. I don't think about it. So, you know, what's the Microsoft position on this? Will there be a day where I don't have, you know, patch Tuesday and, you know, don't have to, God, I've been seeing notifications for the last like six months.  So does this go away in the future? I love that question. Yeah. I absolutely love that question. The reason why is because we have a great answer for it. We, in the course of what's, I don't know if you've seen what's on Slate for some of the Windows 10 stuff, particularly with server, but literally in the near future, not only are we going to be able to deal with patches, but we're also going to be able to deal with operating system upgrades and application upgrades and it's, and it can happen very, very seamless. So Microsoft is working on the back end to make that super simple. Now, there's already some really great technology that a lot of enterprises may not be aware of, like, you know, host cluster patching is an example, where you can literally right click on an entire cluster and go patch it all at once. Now, there's still some issues with testing and people have policies and procedures around testing patches and hotfixes and stuff before they go out. I'm not really sure how that's going to play out in this new world where all of it can just magically happen. I'll be curious to see how that shapes up, but definitely Microsoft is in the process of writing some really sweet technology that takes that big pain point and completely eliminates it. So we'll see the juries out on how we can execute on that, but definitely the vision is it's gone. All right, well, that's great news.   What's recommended first step for them looking at public cloud?  What should they start doing? Yeah, so I think from my standpoint, the way that I would look at it, and it depends a little bit on the audience, assuming it's an IT Pro audience, the first thing that you want to do is get smart. And there's so many ways to do that, and it's not like you got to go take a class and spend thousands of dollars or anything like that. There's lots of free resources. Microsoft Virtual Academy has won. And, you know, there's lots of videos, you know, TechEd, they record all the stuff that there. There's lots of training on cloud.  There's tons of stuff out there, literally stepping you through step-by-step to be able to make that happen. Super, super important first thing to do. Yeah, you know, the first one's free, right? So. Well, the first one is free, the first one, what is one? It's a lot of, could be a lot of stuff, though. Boy, yeah, so many topics we've covered, Dan. I mean, you guys have unlimited storage now in the cloud, right? Pretty much, it seems like that. Yeah.  And super too, too. Yeah, no, I mean, but you know, single price and it's like bottomless. Yeah. All you can drink, the first one's free. One of the points Chris Harney brought up is that users are real skeptical these days. Because they hear everything as, you know, sunshine and unicorns and great and everything. But, you know, it takes them a little longer. So, you know, I like, of course, you know, what you do, Dan, you have to educate people. Put the knowledge in their hands, help them do it. I love, you know, give them the first one for you, get hands on so that they can actually play themselves.  You know, where do you see the balance between cloud and on-premises going forward? There's really two caps. The one camp is, you know, I want to learn this stuff because I see that it's the future. And those people that take that approach, they're going to be the ones that are going to be most successful down the road. You know, I remember, you know, back when there was other technologies that were new and those people that embraced the technologies, those were the people that ended up making more money, had more opportunities available to them because of their knowledge. And then there's the other camp of, I'll just ignore it and it'll go away. Well, not such a smart thing to do because you know what, it's not going away. It's going away about as much as virtualization is going away. It's here to stay. But unlike virtualization, virtualization has kind of gotten to the point where so many companies have already maximized their investment. There's not a lot of savings beyond what they've already done. Whereas with cloud, just the opposite is true. There is so much more that they can do in terms of saving resources, saving money, saving time, or more importantly, taking projects that are on the shelf because they couldn't afford to do them, they don't have the resources to do them and actually get those implemented. But frankly, the biggest problem that I see with the people that want to bury their head in the sand is that all they really have to do is to think about the business. Because really, the cloud is not just a cool toy. Well, it is a cool toy, but it's not just a cool toy. It is an opportunity to take building blocks that make up the cloud platform, put those building blocks together to build solutions to real business problems. So one of the things that are what I would recommend that people do, especially if they are somebody that has their head in the sand, but really for everybody, is to think about the business problems. Think about what the pain points are for customers, for partners, for employees. Think about how you can generate additional revenue for your company. If, and then if you come up with an idea on how you can do some of those things, figure out how you can do it in the cloud because a lot of the time you can take a simple idea and with a couple of days or even a few hours worth of work actually stands it up, proof of concept in the cloud, present it to those people that can make a decision on it and literally save hundreds of thousands or even millions of dollars for your company. All right, last question for you, Dan. Think back in the day, Microsoft was an OEM company. I bought Microsoft's operating system when I bought a server. So from a technology and a channel partner, you made a lot of people money. I look at Microsoft today. I mean, you are one of the major players in cloud, in virtualization, you do your own Xbox. Microsoft is trying to get a greater share of wallet. What does this mean to the technology and channel partners out there? How do they work with, do they work with Microsoft or is Microsoft the single supplier for the world going forward? I would say they have to do the same thing that's done in the past and that has to continue to grow as the world grows, as the technology industry grows. The technology partners are, what a lot of them are doing is there's lots of different opportunities to add on additional capabilities and niche plays. I mean, you look at people like Cisco or F9 Networks and there's a slew of others that have integrated into the new technology. And you look at, Veeam has a booth right down there and there's probably went down the hall half the people that are here that are vendors have integration points into the Azure platform. So I wouldn't look at it as something where we're taking money out of somebody else's wallet. I look at it as we're giving them more opportunities to expand their wallet share as well. All right, Dan. Hey, I really appreciate you coming on. We went through a ton of topics. Hopefully everybody can keep up. You can adjust the speed when you do the replay a little bit. Sorry about that. It slows down. I'm from Jersey, I don't know about you, but I know I talk a little fast so much. Really good content. Thank you so much for joining. Thanks for coming and giving the keynote at the VTUG. We're gonna be back with some users and some more great speakers here. Interviewing from VTUG Winter Warmer 2015. We'll be right back.


We have heard a lot about different kinds of service offerings or the service categories which could be there on cloud. We know mobile clouds. We know software service over the cloud. We know IoT over the cloud. So what are these and essentially in terms of technical specifications, how could these be offered or could be used over the cloud? For that we will have to refer to the 2012 document by the ITUT. It was a technical report by the focus group on cloud computing, one of the initial documents. It's a very good reference because that helps us to get an insight into the service categories. We start off with the infrastructure as a service. What is that? The consumer could subscribe to very basic computing and networking resources like processing, storage, the network connectivity, for example, VLAN or some rules like firewall rules or load balancing mechanisms. Even the application accelerator services which help an application to run faster by understanding how the application is running and then assigning the resources correspondingly. So this helps the consumer to run an arbitrary application on the cloud infrastructure. So the cloud is acting more like bare metal. Then we have software as a service. As the name suggests, the provider has some specific applications. For example, you might have heard of RASTA app which is provided by the motorway police and the city traffic police. So this is an application which is provided by the service provider. Now the cloud is going to run this service provided by the provider for the consumer in the cloud infrastructure. So it means that the mobile phone or the laptop smartphone would be least burdened with this app because the app is now being run into the cloud. Then we have communication as a service. Essentially communication could have many forms like SMS, short message service, instant messaging, voice over IP and interactive video two-way or entire video conferencing. If a certain cloud is providing that, it's known as communication as a service. Then we have the platform as a service. The platform is actually one level above in terms of abstraction than the infrastructure as a service. So what happens is the user is allowed to create applications of their own or acquire applications which are available onto cloud by using the programming languages, the runtime environment for interface design, creating and accessing database and then the storage of this particular app on the cloud and testing its service. So we can think about using platform as a service for modern day environments where the freelance developers are banking onto this platform as a service significantly more. Then we have network as a service. We all know that cloud is essentially devices connected together, so it's a network in itself. But is that network connectivity being offered similar to the communication as a service? Well, if that happens, it means that the user, the consumer CSC, is now being allowed to access transport services or inter-cloud connectivity. This actually has a disclaimer. That is, depending upon the visibility that the cloud service provider or the cloud service network wishes to give to the cloud service consumer, only that much network would be accessible and usable by the consumer. So this could include the extending the virtual private network services between the home office, head office and the remote sites and then having bandwidth on demand. This is a summarized view of the cloud services which are mapped onto cloud service categories. Some of the very basic examples are the desktop as a service. The desktop could use infrastructure as a service because in your desktop all you need is essentially a motherboard with a processor, with a LAN card, with some memory and that's it. That's about it. Then we have service delivery platform as a service. Well, this is now going to invoke the communication as a service and software as a service as well. So this could include hardware that is desktop as a service in addition an operating system running on the top. Then cloud communication center that is more like a call center over a cloud. Then VPN, virtual private network where a tunnel is opened between multiple endpoints over the internet. And then bandwidth on demand again is an example of network as a service. Again, this document is a reference. It's an amazing report which is being cited by ITUT again and again for their latest recommendations in the cloud.


Thank you so much for coming to this conference and for being here, so I'm going to end here all here. So I'm Julian, talk about HDTV. But I actually kind of hate just pure technical talk. So actually there's like a narrative around us about learning. So I just started the drop in apps in. Absolutely nothing about geospatial systems or anything like that. So tell me if this sounds familiar to any of you, that's something kind of like this. So I was sitting down at my computer and I was reading up on geospatial maps and the company and the blog. And all of a sudden I have like a hundred tabs open. And I kind of get like a sinking feeling of, oh my God, there's more than I can possibly ever learn. If you're like in the software, you feel that it's nothing actually because all the people that have been here a while know that that is normal. And you just learn another deal of it. So I want to, the whole purpose of this talk is to share what we need to do that which is by ignoring as much complexity as possible and focusing on the fundamentals and things. So we all use, you know, our web browser, tens of millions of lines of code. There's way more code in Firefox and Chrome than in the Linux kernel or probably in Windows, which is frankly really scary. But people who don't know how many of that code works at all can be paid and be great web developers, which is really awesome. So I want to show you a tool called NetCAD. And we're going to do some fun stuff with it and hopefully you all will learn some cool foundational stuff. So NetCAD looks like this.  So everything on the Net works with what they call a client server model. So there will be one thing, listening, and that will be all. There are things connecting to it and then all the talking is created. So NetCAD here, we can run it in server, I would say. We'll listen on a certain port and pick it up. And then the dash K says, keep it open for multiple requests. We'll be doing that for the English a little talk. So we can have this running. Notice it doesn't really do anything yet. We can switch over to the other side. We can run it again. And this time we'll run it and now I'm client mode. So we'll type localhost 3001. It's going to connect to the other one here. Nothing happens again yet, but it shows up on the other side. And if I switch over to this other side again, I type A. It shows back up on the other side. So this is NetCAD is pretty much the simplest program you can run that does network communication. I'm just doing it on my own laptop to itself here. But if you want, you can find a friend and get their IP address. And you can talk to them over the NetCAD. But what you see here is exactly what's typed. So if you want some sort of security, maybe you shouldn't type in your secret messages. If you do something, if you've heard of Rope 13, maybe instead of typing hollow, you'll type a read. But what you see here on the screen in NetCAD is exactly what's on the network. So let's do something a little more cool with it. I've got a little web server running. So it's hosting this page. And you can see, you can imagine on the HTML it's like this page with a little header. It's just an image, just some other images. There's some links. So what happens? We go over to NetCAD. Oh, it's running on port 3000. It's not real spy. There's no turbulence here yet. So let's do NetCAD again for local host and port 3000. So nothing happens. What if we type a Git intro, HTTP 1.1. So we hit enter.  So let's talk to the bottom here.  Thank you. All right. Oh, we need one more thing. A lot of good results. So we need the host. So HTTP 1.1, unlike the older versions of HTTP, is actually a huge sticker about these sort of things. HTTP 1.1. And now the host. And the host can just be local host. So now, there we go. So look at this. It's an HTML back. If I scroll up just a little bit, you'll see exactly what you expect to see a title. You see Rails through in its own style sheets. And now here we see some more stuff, which is in its own way more interesting. So these are the actual headers that are sent back by the web server. So the web server says 200k. Everything's great. I'll probably recognize some of these if you've ever looked at like the Chrome or Firefox developer piece. Is this thing going in now for me? Yeah, okay. It's supposed to have questions back. Anyways, so it's got some stuff. You guys got the dates. I guess if the servers don't know about the date, then maybe they need to. So what you're going to get is some HTML. That's good so you know how to interpret it. But if you've used like the Chrome developer tools, but the whole thing is this stuff is not some visual interpretation of the headers or some sort of fancy nice display. This is actually the text that is sent over the network. So it's really nice to know that whenever you have something in the headers of your HTML requests, it's just some text. So it's up here. And we'll play around with it more in a second. Let's look things around. So let's run Netcat again. We're going to run it in server mode. So it moves to 2003. And we'll keep it open here. So it's Netcat's waiting for requests here. And go back to the browser. And we can connect to 2003. And Firefox will diligently wait for a while, which is good because I'm a slow human and I cannot respond to each of your requests. I'm even slower than Rails. So this is what Firefox sent along. So it sends a bunch of stuff. So it sends a git request for the root, just like you would expect. It sends a user agent string if you're ever interested in a really crazy tale of like deception and various companies and mystery and stuff in the tech readup of user agent strings because they're pretty crazy. Firefox sends things like it looks up HTML, it looks up XHTML, it looks up XML, but it really doesn't want to accept XML for quite as much. And then it looks up anything else, but not even as much as that.  But now here's the key part. So Firefox is still diligently waiting. And we can just start typing some stuff. We can type HTTP, 1.1, 200, OK.  And we can type it twice to separate from the headers from the body. We can just start typing some HTML. So I can type like h1, hello.  So if I switch back over to Firefox, hello, with some HTML, this is pretty cool. So we just type some HTML and Firefox sends things with it. So let's do something a little bit more complicated. Let's keep building. Let's run another server. Yeah, and then we've got it. 2004 this time. Keep it open. This is actually really important. You'll see why. So we're going to just change the port here. Do the exact same thing again. And then I'm just going to type the same request again, except I'm going to add one thing. I'm actually going to add a little bit of this HTML. So it should be 1.120 today. And then I'm going to make a little bit more complete page. Let's start with our head. We're going to add a link tag. We're going to add some loops with style sheets. So relatively cool style sheets. And each breath, you can actually remain against style.css. Whenever you use a style sheet, it's not called style.css. I have that. Head type book. Oh, thank you. Save some time. Style sheet each breath. We'll figure out any type of thing. It doesn't matter. It doesn't matter. That's access. That was the head tag. And then let's do another go-to-by tag. Let's do another, another each one. Head pull over again. We'll actually process it ridiculously for giving it a go-to set. Let's close out that body tag. We're going to the gym. We're going to our body. Okay, that's it. Head edge, pull D. So what came back is a whole other request. And now Firefox is asking for a style sheet. Notice this time it says, hey, I really want some CSS. And anything else it doesn't want at all. This Q number is quite a little lower. So if we go back to Firefox, it's still kind of waiting here down at the bottom. It says it's waiting. I have this a little bit earlier than the last one. So we should ignore that. So let's type some CSS. So let's do some stuff with our each one. What color do you want to make them? Red. Red. Red it is. Alright. Color, red. So let's sit in here. Pull D. Go back here. And we have hello and red. So if you've ever gone to a web page and the HTML loads, and then you see like a little spinner and you see then like a deal opens and like then image loads, like a couple seconds later, you're told to not do stuff like that, right? Because basically how those, how those, most of those work is there's multiple round trips to server, right? And human web server Julian is ridiculous as well.  So you saw that there was, you know, like a multiple round trips here and I've never found a way to drive at home rather than to actually see the multiple restaurants there. Let's do something even more fun. So I live in Berlin right now and if you've ever been to Europe or you've been following E-Politics, they're really scared of you. Every single web page I go to now asks me if I'd like to accept this and it's kind of fun. So let's see what the story is with this here. So we're going to do the same thing as last time. We're going to do net cat. That's about 2005 this time. And we'll just keep it open. Let's open a new tab. 2005. Hit enter. Let me get our request as I've seen before. So we're going to throw something into the headers here. It's going to set a cookie. It's pretty simple. Do the same thing as before. If you want to put it on 200, okay. But then we're going to type our header line. We're going to do sets. Cookie. And what would like our cookie to be called? Any suggestions. It can be any text we want. Come on. Cookie monster. Cookie monster. Awesome. And then let's just do an H1. Cookies are yummy. Cool. So if we go back. It says hello cookies. They're changed. Put up the refresh list page. We get back here. And in addition to all the Google traffic stuff that is being used to show me ads. You can see that our cookie monster is in the cookies. And basically that's really all cookie is it's just a line header that your browser remembers and sends it back the next time around. And obviously they can get fairly complicated but it's all cookies. Let's go on to JavaScript. One more server. Actually this one. We have a full example. So this is just a view from our little rails out here. So what this thing is going to do is we're going to load up in a second. Just because I don't want to really type this HTML over time. So we've got some JavaScript here. It's just using jQuery. So we'll give requests to this URL. 2006. JS pull. And whenever it gets back, it's just going to kind of append into this content div down here. So it looks like this thousand JavaScript. 300. So it says jQuery put stuff below and it's waiting. And now if we go close this. Actually, you know, we have to start a server before we send our browser off to get it here. So we'll run it again. 2006. It's because it's just a local host. JavaScript example. So now if we go back here, we've got another request. This one's again a little bit different for a XHR request. So that's kind of interesting. And we can respond back with some text. We can respond back with some XMLs or JavaScript. But there's one thing we have to do. We have to do HTTP 200 okay just like before. And we also have to set another header here. So the mega browsers are very nice. They're very friendly. They want to protect us. They don't want our browsers to be able to just run any script from anywhere that depends on the internet. So they ask any server that's sending back a response to some JavaScript XHR to say that it's okay to use this. Because it could be a post request that's going to be like deleting something from a list or doing something crazy. Now we have to type accept. Accept the origin. AC takeoff. Accept. Anyone know where it's going? I haven't even got to call that. We can just set star. I see what that says. Anyone can grab this stuff. Which is great for a little help. So there's our header. And then we can just type hello from JavaScript. And if we get back here. You can see that it measures the hello from JavaScript here. Thanks to the magic of jQuery. So that's all on XHR. XHR requested. It's just a segregation. I don't know exactly the same request we've been doing before. So one last thing. Let's talk about each of the two. Which we've just finalized. Just a couple of weeks ago. So let me show you an issue two. It's a little bit different. I have some bad news and some good news. The bad news is that the good news is the reason it won't work. Is because all these things you request require encryption. Which is awesome. What we're doing today is encryption. It is even for new sites or things that you're not logged in. There's just too many kinds of data. Things like HTML. Anyone in the way. You and the server you're talking to. You're just starting accepting things. If you saw the recent funds that GitHub had. They're denial of service tax from China. They're definitely looking forward to HB2. The good news about HB2 beyond that is. HB2 is significantly smarter. About what it sends. And when it sends it. So we saw earlier back at the CSS. We type our HTML document. We send it off to our browser. The browser looks at it and says back to the server. Oh hey, by the way, I got that nice HTML you sent me. I'm going to need this style sheet too. But what percentage of the time you think right after a server gets a request for some HTML. It gets that request for the style sheet. Maybe 100% of the time? So HB2 is a little bit smarter. And instead of waiting for the web browser to come back. And say, hey, I need this style sheet. The web server really already knows that. The web server can actually send the HTML. And then essentially I'm prompted to also say, oh, by the way, web browser, I have a bunch that you're going to need this CSS. So here you go. So that's great. That solves a lot of the problems with run trips for multiple assets and JavaScript in the rest of the game forever. So that's really cool.  The good news is when you're in your developer tools, all the semantics are exactly the same. So you've probably been doing HB2 requests already, or really speedy requests I guess. And you don't even know it. And if you were to look at those requests in the developer tools, you wouldn't notice anything different. All the headers, all the semantics, you don't have to forget that 404 means not found or 500 means server error. It's all exactly the same. But if you want to correspond like this, you can't use metcats. I actually used an awesome program called Wireshark that's used to inspect everything in the developer tools on their own. So I'm going to show you one last thing about metcats. So if you have a request, a request that's a little bit more complicated, maybe it has some binary data you don't really or can't, you don't really want to or you can't type it out, you can send that or you can type it into a file or create a file that has the response that you want, however you want, and you can send it off to metcats. So let's do this. So we'll do metcat, listen, I'm for 3008. And we're going to just send a file over. And there's a file here called thanks. So now what this means is if you go over to localhost for 3008, you get a picture of my cat. Thank you very much.


The 15 most asked questions in a TEFL interview. Learning how to answer common questions in an ESL interview, is easy if you've researched and prepared in advance, even if you've never had a formal job interview before. 1. Tell me a little about yourself. 2. What do you know about the country you are moving to, and why do you want to teach there? 3. What kind of teaching experience do you have? 4. Have you ever lived abroad before? Or have you been exposed to different cultures through travel? 5. Let's say you'd like to order some food or buy train tickets, but you don't speak the language yet. How would you tackle these tasks during your first months abroad? 6. What do you hope to learn from your year of teaching abroad? 7. What is your favorite age range to teach and why? 8. What would you say are the most important qualities an ESL teacher needs to have? 9. What is your greatest strength as a teacher? What can your new school expect of you? 10. How would you describe your teaching style? 11. How would you go about teaching a specific lesson to a group of young learners? 12. How do you maintain discipline and control in your classroom? How do you handle kids with behavioral issues? 13. How do you deal with kids that learn at different rates to other students in class? 14. How proficient are you with technology in your classroom? 15. Do you have any questions? Thanks so much for watching. We are ITTT, the leading provider for TEFL and TESOL training courses. If you like this video, please subscribe by clicking the button down here and click on any of the videos here on the left for more interesting teaching tips for getting certified to teach English abroad and online.


this is Marie and I'm in Las Vegas at the 2017 Mr. Olympia Fitness Expo. We're going to check out what's new in the fitness world and the bodybuilding world. Come follow me! Dr. Tony Hughes at Enhanced Athlete. How are you? Swirling, swirling my friends of freedom. Obviously I can see that now Dr. Hughes. Tell me a little bit more about your product. Yeah we started out in the real gray area of the supplement industry, stuff not necessarily for human consumption, research chemical based, stuff that actually works but that most of the government and the rest of the world doesn't want us to know about. We then transitioned it in the more hardcore side of bodybuilding supplements for extreme fat loss, extreme muscle growth, but a little bit less out of the gray area. That's kind of the transitional state we're in right now. Kind of an interesting crossroads between the gray area and the mainstream supplement industry but always very extreme hardcore products because I'm a competitor myself and I like to prep for shows in ten days. Most competitors take like three months to prep but if you know the chemistry of your body and what to take, you can make incredible transformations at extremely short periods of time. Sounds good and how often do you use the product? How does it work in your routine and life? So let me give you an example of one of the products. Yohembine is not a gray area supplement. Yohembine is over the counter. In a lot of countries it's illegal though because it's a stimulant. People have had heart attacks by overdosing but that doesn't mean that any of the rest of us are going to have side effects, one out of a thousand people may. That is the only drug or I should say supplement that I can take to lose this fat on my stomach and lower abs and all my way around my waist within a very short period of time. But all of these supplements require specific knowledge on how to use them correctly which is why I did the YouTube channel to explain how I personally use the supplements. Okay, do you want to tell me about YouTube channel? Yeah, the YouTube channel is Enhanced Athlete. So www.enhancedathletechannel.com or pretty much you can search Enhanced Athlete anywhere on the internet and you'll find it. It's warning. It is very candid. It's very open.  So every level of personal life as it relates to chemically enhancing myself to improve my own quality of life and sharing that knowledge with others. I can't wait to see that myself. But thank you so much for your time. I really appreciate you being here. For the rest of the world, will you tell us your Instagram? Enhanced Athlete and thank you, Hattie Allure. Thank you so much. Appreciate it. At Buffet, I see we have some cookies here. So it's full of protein, right? So tell me a little bit more about it because I know whenever I take protein it's in powder form. I got to use a shaker, get some water somewhere that's filtered and shake it up and shake it down before it gets warm. Tell me a little bit more about this. There are 16 grams of protein in a cookie. They're gluten-free, non-GMO and they're made with all natural ingredients and they come in fun flavors. This is obviously good to go at work. If you're traveling, you don't have to worry about big, bulky cases. Tell me what your favorite flavor is. As manly as it is, it's birthday cake. So you got nice sprinkles, got really nice icing on there. It's our favorite. And can I eat this all day, every day? All day, every day. Snack, meal replacement, dessert. Okay, meal replacement, that's good. I would love to eat dessert as a meal replacement. We also do protein-enhanced nut butters, almond and peanut butters. These are enhanced with 11 grams of hormone-free whey protein. Okay. It's our new flavor, unicorn. Love unicorns. It's kind of a fun take on some almond butter. So this is new for us. Delicious. And then we also do a nice birthday cake here as well. So gluten-free, all natural, no preservatives. We need some sandwiches, put a cookie in between, and we're ready to go. Yum. Well, thank you so much for your time. What's today, how are you? Wonderful. What was your aha moment when you decided that this is what you want to do? There is no aha moment when you decide you want to do something. Why? Because it just feels right, you know. You know in your soul that this is what you want to do. You know in your soul this is the right thing to do. It's not like, you know, it falls from the sky magically. You always have something in your heart that you know you're passionate about. So if you're looking for aha moment, don't look for it. Because it's something you do regularly. Working out is something I do regularly, so I knew I could have lived my life without it. So once you find something that makes you happy, you just do it every day. And if you do it every day, eventually you become the best at it. True, but sometimes there are days where I'm not motivated. What do you say to yourself mentally to motivate? Believe it or not, I'm one of the best guys in the world, right? Yes. Five out of seven days, I'm not motivated neither. But that's what makes a champion a champion. You're not always going to love what you do and that's okay. People think that I wake up every day and it's easy and I love it. Believe me, it's not easy for me the same way it's not easy for a beginner.  You're going to love what you do and it can still be difficult. But it's something that you must do. You know, the most important days to work are the days you don't feel well. Not the days you do feel well. So I'm going to assume that when you're about 40, 50, 60, you're still going to be doing this. If it still makes my heart smile, I'm going to do it. But if I find another hobby like playing chess or collecting stamps and that makes me smile, then I'll do that. So don't plan ahead too far. Live every day one day at a time. Have goals, yes. Long-term, short-term goals. But just be gentle with yourself, you know. Give yourself time to grow and love what you do. Enjoy the journey. Well, for the people that are older out there that want to start working out now, obviously they can't have an intense workout like you do, is there anything that you recommend on what they can start with? Start when you first learn how to drive. You know, you don't get behind the wheel, put on your seatbelt and go zero to 100 miles per hour. Start slow, you know. And I recommend starting slow for anybody doing a new thing, you know. I've never played like a full round like in the NFL, so it would be silly for me to try to play four quarters in a football game. You know, it starts slow and, you know, just start catching the ball and throwing the ball. But, you know, really people overthink fitness. Stop overthinking things. Everyone's reading the perfect program, the perfect food, the perfect this. Start with what you have and what you know and eventually become the best out of it. It's not rocket science. What's the biggest common myth that you hate to hear people talk about? That's not true. Genetics.  What is genetics, man? You work hard to become good at something and then you work even harder to become the best at it. So you've been with Gatsports for a very long time. Now, can you tell me about one of the products that you absolutely love and can't live without? Ten years ago, before I even knew what Gatsport was, I walked into my cell phone shop and I was looking for a pre-workout. I bought something called NitroFlex and ten years ago I bought it and the formula has been so good that ten years later I'm sponsored by the company and the same formula is used today that I tried ten years ago. It wasn't changed not once. It's an incredible pre-workout. So if you guys are looking for awesome pre-workout, definitely I recommend NitroFlex. Can you go ahead and give us an Instagram or a Facebook? Yeah, everything's really easy. My name is Siddiq Khadzovic on everything. So that's S-A-D-I-K-H-A-D-Z-O-V-I-C and I want to thank you guys for carrying our products. Of course. Thank you. Since I've been team Mr. Olympia Fitness Expo, I had so much fun talking to all these athletes, learning about the new supplements, which you can actually check out at supplementsworld.com. I think I need to go work out but I might get a cheat meal in between. I'll see you next year. Bye!


To celebrate National Donut Day, many places around the nation are offering specials or free donuts. In Bemidji, the donuts were prepared by a special group of bakers. To commemorate the special day, officers with the Bemidji Police Department had the opportunity to fulfill a lifelong dream. Raphael's bakery coached the officers who got to make their very own batch of donuts. It's believed that the tasty treats have been around since Dutch settlers brought them across the sea in the 19th century. Some of the earliest recipes featured nuts crammed into the center of dough, hence the name donuts. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.


Okay. Hi, everybody. I'm Shofra Kuto. And I'm going to present implicit zero-knowledge arguments and their applications to the malicious setting. This is a joint work with Fabrice Ben-Amouda, David Pocheval, and Houtté Cui. So you all know what a cryptographic proof is, a proverb knowing some witness which allows to verify in polynomial time that some word X does belong to some NP language L, is interacting with a verifier. And at the end of the interactive protocol, the verifier should be convinced. Of the truth of the statement, X does belong to L. So the two security property we basically want from such a proof are its correctness and its soundness. And additionally, in the case of zero-knowledge proof, we're interested in another security property which is informally that no information leaks at all on the witness held by the proverb when he interacts with the verifier, except from the fact that the statement is true so that the witness exists. So more formally, this is stated by requiring the existence of an efficiency emulator which is indistinguishable from a non-sprover that it emulates, but which runs without the knowledge of the witness W. Zero-knowledge proof are various applications in cryptography. One of them being secure two-party computation. So in secure two-party computation, you have two players, Alice and Bob, who are interacting to compute a non-function of their joint input. So they are exchanging messages, like Alice could be sending some message MA which shall belong to some NP language LA, and then Bob should answer with some message NB which shall belong to some NP language LB. And then the protocol goes until both players learn the output of the protocol and nothing more about the input of their adversary. But it might be crucial for the security of the protocol that MA does indeed belong to LA. You can think, for example, as MA being an encryption of a bit, and when Bob receives a ciphertext, he cannot check whether this does indeed encrypt a bit or not, but he might be computing the next flow, MB, from this ciphertext, and if the ciphertext is not encrypting a bit, it might leak crucial information that should remain hidden. So to ensure that the protocol will remain secure against Malishu's adversaries, which might deviate arbitrarily from the specifications of the protocol to try to gain information that should remain hidden, the classical way is to use zero-knowledge proof. When Bob received Alice's flow, MA, he poses the protocol before sending his next flow. He asks for a proof of the statement MA does belong to LA. And this proof will have typically a three-move structure, like commitment, then Bob sends a challenge, and then Alice sends a response. And only when Bob checks a response, it can continue the protocol without compromising the security of its input. So this encrypts a blow-up in the round efficiency of the protocol, a blow-up in its interactivity by a factor of at least three, and it can be more in general protocol. But the good side of zero-knowledge proof is that they can be based on a wide variety of assumptions, and in particular, widely studied assumptions such as DDH or Delina. On the other hand, if we are looking for more round efficiency because interactivity is a concern in reality, and it's a major bottleneck for the time efficiency of the protocol, one can settle for non-interactive zero-knowledge proof. So both players are playing in the common reference string model. And now in this model, Alice can construct a proof which consists of a single flow from the prover to the verifier, and she can append this flow to her flow MA. And Bob just checks the flow and can directly send the next message. And so there is no loss in the interactivity. An en-route semi-honest protocol becomes an en-route protocol secure against malicious adversaries. The downside of non-interactive zero-knowledge proof is that they require stronger assumptions than classical zero-knowledge proof. You will have to work with the random oracle model which provides only a heuristic level of security or to use pairing-based assumptions. And pairing-based assumptions imply that you need to work on elliptic curves equipped with a pairing. And so you have stronger assumptions and you might lose inefficiency because the best elliptic curves with a pairing in such a curve, computing an expansion is like three times slower than computing an expansion in the best non-elliptic curve without a pairing. And that is the fact that pairing themselves are very costly operations. So in this work, we are trying to get the best of both worlds by constructing a new kind of zero-knowledge proof, which is called implicit zero-knowledge proof, which have the very good round efficiency of non-interactive zero-knowledge proof, while requiring only very widely-studied assumptions, such as the DDH assumption.  So after Alice sends some public IPK, Bob computes some key K, and he uses this key to mask his next flow MB. And he also sends some encapsulation of the key which is constructed from the IPK on the flow of Alice, MA. So the security property of the IZK will state that if MA is indeed an element of LA, then Alice can recover the key K from the encapsulation. So she will be able to unmask the message MB sent by Bob, and then to continue the protocol, while if MA does not belong to LA, then we require that the encapsulation does statistically mask K so that what Alice receives is only a completely random-looking tuple of elements. So the zero-knowledge property is implicit in the sense that Bob does not know whether Alice tried to cheat or not, but if Alice tried to cheat, then he is sure that she will only see random elements, and then she won't learn any crucial information. So our tool to build those implicit zero-knowledge arguments are smooth-prolative hash functions. Smooth-prolative hash functions were introduced under the name hash-proof system by Cramer on Shoves as a tool to convert NCPA encryption skins into NCCA encryption skins. And as you will see, they really look like what we would like to use, but we cannot use them directly. So we have four algorithms. One of them gives us a hashing key that you can think of as a secret key. And another algorithm will give us a projection key that you can see as some public key. And we have two functions to compute a hash value from a word which should belong to some language L. So first function hash takes as input the word and the hashing key. The second function projash takes as input the projection key, which is sort of a public key, the word and the witness, which ensures that the word does indeed belong to L. And our security requirement is that if M does indeed belong to L, then the two hash functions will provide us the same result, will give the same hash value when computed on M. While if M does not belong to L, then there is no such witness W. And it is required that the hash value computed from HK does look completely random from the viewpoint of an adversary, even an adversary who knows the projection key HP. So this looks like what we're looking for because we could think we could use the hash value as our key K to mask our flow Mb. And we could use the HP, the projection key, as our encapsulation. However, this does not work. And to illustrate this, we will look at some simple example. So I mentioned earlier the simple case that you can think of the message M as being an algorithm encryption of a bit B. So the witness, which ensures that M is indeed an algorithm encryption of a bit, is the randomness R used in the encryption and the bit B. So your hashing key will be only a tuple of random elements here. And the projection key is a tuple of group elements constructed from the hashing key. And you have the two functions that give the hash and the projash. And if we do the mask by looking at the projash value, in the exponent, when we compute the projash, you will have some terms related to T3 and T4, which are elements of the hashing key that do not appear in the hash value, times B times B minus 1. So if B is indeed a bit, B times B minus 1 is 0. And all those terms related to T3 and T4 will disappear. And then you will only be left with U to the T1 times E to the T2, which is exactly the hash value that you're trying to compute. Else, if B times B minus 1 is not a bit, which means that M is not an element of the language of encryption of bits, then you will have something which is completely random, even if you know, compared with the hash value. So even by knowing the projection key HP, you get absolutely no information statistically on hash. However, this is not enough to ensure security against malicious adversaries in a semi-honest protocol because smooth-trative hash function does not have the zero-knowledge properties that we want. Let's look at what happens if now the verifier, instead of sending a correctly bit projection key HP, sends correctly the first element, and then two uniformly random elements, row 1 and row 2. Then look at the project value. The two last random elements are raised to an exponent depending on B. So if the prover is being honest, and if B is zero, then the two random elements are raised to the power of zero and they just disappear, and we have exactly the same case in the honest example. So everything goes as expected in the protocol. But if B is not zero, then you have, when you compute the project, you have two completely random elements that makes the project value completely random. So you just cannot unmask the flow, you cannot recover the hash value. And the verifier could just wait during the rest of the protocol to check to see whether it looks like the prover is just manipulating random stuff that might be seen, it depends on the particle or protocol, or if it is playing the protocol correctly. So a malicious verifier can actually learn the exact value of the bit, which is part of the witness, who shall remain hidden. This attack shows that the smooth-portive hash function is not zero-knowledge. In particular, we cannot construct a simulator which could simulate all the elements of the smooth-portive hash function without knowing the witness RB. But it will still be our base to construct implicit zero-knowledge arguments. And before I describe the full construction, I will give some algebraic framework. So the algebraic framework can be seen as a restricted case of a more general algebraic framework, which is called Diva's Group, which was introduced by Cramer and Schupp. And in this framework, we introduce some new operation, Ballet, which you can see, which is a scalar product in the exponent. And the language is now defined by some matrix, which depends on the word M, and we extend the word on the witness to some tuple. And as you can see, all the elements of our smooth-portive hash function can be simply computed as a scalar product in the exponent between those elements. So this equips us with nice algebraic property for smooth-portive hash function. And the advantage is that most, if not any, every non-smooth-portive hash function do indeed fit in this framework. So, now let us take some language on which we will construct some implicit zero-knowledge arguments. We have a matrix, gamma, which defines a language. The first thing we need to do is to ensure that a simulator, which does not know the witness W, which ensures that the word M does belong to the language L, this simulator shall be still able to simulate. So this is done by transforming our first matrix into a new larger matrix, which corresponds to a new language, LT, which is the language either M does belong to L or the ICRS, G prime, H prime, U prime, E prime, which is given here, is a DDH tuple. So when ICRS is not a DDH tuple, which is a normal setting, then LT is exactly the same language than L. But in the trapdoor setting where the ICRS is replaced by a DDH tuple, which is indistinguishable from the normal setting under the DDH assumption. And now the matrix gamma, the language LT, is a full language. Every word fit in this language and the witness is just R prime. So with this R prime, our simulator is now equipped with a witness to simulate the implicit zero-knowledge proof. But this still doesn't prevent the attack of a malicious verifier trying to maliciously build our project as a projection key, HPT. And we will make sure that the verifier will construct it correctly, but we cannot use the zero-knowledge proof to do so because we will lose a round efficiency that we are trying to get. Instead, we take the second equation, which define HPT, and we transpose everything. And now you can see that HPT does really look like the first equation. We have some word, HPT transposed, which is equal to some matrix, gamma T transpose, which define some language. But let some witness, which is HKT transposed. So with this new equation, which really looks like, which does immediately fit in the framework for smooth-pretty bash function, we can construct another smooth-pretty bash function in the other direction. And with those two interwoven smooth-pretty bash functions, it seems that with a new transpose predictive key and T hash and T projash, we could ensure that the word HP won't be maliciously constructed. However, doing so breaks the soundness of the first smooth-pretty bash function because you can, if you look at the T projash value, it leaks an additional information on HKT. Some information leaks from HPT with the second equation of the first column, but the soundness states that there is no problem. Everything remains statistically hidden. But with this new equation, then we can be screwed. Then the malicious prover called, try to maliciously build TPT, and we have like a circular problem. And this would leak information in the hashing key. But we can avoid this by relying on a two-universality trick. And with this two-universality trick, the size of everything is multiplied by two. And after the prover sent his first flow, the verifier picks value XI, uniformly at random, and the smooth-pretty bash function won't be based on the word M, but on an extended word M, which is an extended word, M comma C times M. And so it won't, it isn't, it is impossible for the prover to anticipate the word on which the smooth-pretty bash function will be based, even though it can still send the element related to this smooth-pretty bash function. So it cannot construct TPT in a malicious way with overwhelming probability. So if we combine all of this together, everything works, and we can prove that this allows us to reach our implicit zero-knowledge proof. So we go back to our semi-honest protocol. Alice and Bob are interacting, and to ensure security against malicious adversaries, Alice sends for some public key, which is TPT prime. And Bob, a mask, is next flow with some key K, which is constructed from the hash value HT prime and the transverse projash value T projash T prime, which means that Alice will be able to recover K if and only if MA does belong to LA, and the projection key was correctly constructed. And the HPT prime is our encapsulation of the key K. So to sum up, we've introduced a new card of zero-knowledge argument, implicit zero-knowledge argument, which allows us to ensure security against malicious adversaries. And we have a neurooptimal round efficiency, an end round protocol in the semi-honest model will be converted into an end plus two round protocol in the sector against malicious adversaries, but we can do so by relying only on widely studied assumptions, such as in the example I described, DDH, but you can think of nearly any other assumption. Thank you for your attention.