from Las Vegas. It's theCUBE, covering AWS re-invent 2018.  Welcome back to Las Vegas everybody. I'm Dave Vellante with my co-host, David Floyer. You're watching theCUBE, the leader in live tech coverage. This is our third day of coverage at AWS re-invent 2018, our sixth year covering this event that keeps getting bigger and bigger, David. 53,000 people, places still jammed. We still barely have our voices. Adrian Cockroft is here. He's the vice president of cloud architecture and strategy, very well known in the industry. Cube alum, thanks so much for coming back on. Thank you. Yeah, it's a, I've been to all of the re-invents. First for as a customer, and then that was it. We've been to all but one, but we watched remotely and hung on every word. You know, back when there wasn't a lot of information about AWS, now it's like too much information to process. It's going to take us months to sort through it all, but at any rate, it's a phenomenal opportunity for us to learn, to share, to inspire folks, and you're doing some great work. Talk a little bit about some of the fun stuff you're working on in your current role. Yeah, I have a few different things I do. One is, one part of my role as I go around the world giving keynotes to AWS summits, but mostly I call it doing one of Vogel's impressions, because it's his deck, and I get to present it around the world. So we have to digest all of this stuff into a 90 minute deck that we can take to around the world. That's a, you know, what do you leave out? There's some, it's harder and harder every year. So that's a lot of fun. But the team that I run for AWS, I mean, recruiting and running is around open source. Right. And we do, we sponsor various events. We are members of various foundations. We make contributions to projects and have been helping that by hiring people from the open source communities into AWS to help some of the AWS service teams with their launches of open source related projects. So what I've got, what's been happening this year is I have like a hundred blog posts related to open source, lots of tweets, lots of activity, lots of events like OSCAN, All Things Open, and KubeCon. So we'll be there in a couple of weeks, chatting to you guys probably again. But this week there were a few of the launches where we got quite deeply involved. We did a blog post on the open source blog, launched at the same time as Jeff Farr. So okay, here's the service. And here's the open source part of it. And this is how you contribute. And this is what's going on. So we've had some fun with that. So was it two years ago when we first met? You've just been on a job for about a month, I think. A month or two. At that particular time. And you laid out what you wanted to do in terms of from your previous experience about how you wanted to turn AWS into an open source contributor. How would you rate yourself in the two years? I think we've made some good progress, really. I mean, AWS was making contributions to open source, but had nobody talking about it, and nobody, it was nobody's job to go out and explain what we were doing. So part of the problem two years ago, it was actually more happening than most people knew about. But we were just not telling the story. And it sort of wasn't coming across well. And the culture and the culture. I mean, it was spotty. Like some parts of AWS were doing a lot of open source. Other parts were kind of not really seeing it as a priority. So by talking a lot more about it, we kind of get a more uniform acceptance across AWS. It's a huge organization, not just there, but Amazon as a whole. We are actually telling the story, a much broader story than just AWS. And we're able to bring that and get everyone go, oh, I see everyone doing it, so I should be doing that. So it helps create the leadership for more teams to follow. And what we've seen, spent really the first year building the team, the last year kind of getting the content flowing and getting the processes kind of working to get all of the different events and blog posts and out to the outbound part. We're just getting increasing number of contributions and launches. So, now Coretto was a few weeks ago, it's not actually an AWS launch, but that was an example. That was, it's a lot happened from my team, from Arun Gupta on my team. He's a Java champion. He used to be at Sun. He was worked at Red Hat on J-Bar. So he's like, he knows everybody in Java, has great credibility across the Java community. And he said, we should launch this product in Belgium at like midnight or so West Coast time. And let's fly in James Gosling and like do a secret, like get him on stage without anyone knowing he's going to do it and do the introduction. So it was like, this totally crazy idea. And it came off beautifully. And we haven't had the, you know, the Oracle Java people saying nice things about the contributions to OpenJDK. So just a really nice example of figuring it out, all that get everybody on board, get everything done right and then say, here's something that matters to the community that we can contribute. Like the Beatles showing up on the rooftop. People are like, oh my God, James Gosling here. So everyone's got complete, like the star power thing. But convincing James to do it. Those are, are in a lot of credit for that, that particular launch. But you know, this is the kind of people I have on my team and we're like, we're pulling them in and pointing them at, okay, can you help this team figure out how to take this open source project to market? No, I mean, that was a major contribution to the open source community. And it was just in time, wasn't it? But another slight view might be that you and Oracle should have been working this out not leaving it until the last minute. Well, no, I mean, we were doing this work anyway. Right, okay. We were effectively self-supporting our own version of Java internally. We were getting better performance and better sooner bug fixtures on OpenJDK. So we'd made a decision to just move to the OpenJDK stream. And we were just unhooking our internal use of the other options. We had a whole mix, you know, a very large organization along with, you acquire lots of different versions and flavors of Java, even though it's just one language. So we're like, clean it up. Let's get JDK eight and 10. We're self-supporting it. And then we announced, okay, we'll support our Amazon Linux version. Right. And the final step was like, the customers were saying, please just like support it on my laptop and anywhere else I need it. And the thing we didn't announce then, we didn't make a big thing over there, and ARM support. We did. We kind of, it was in there by default. We didn't talk about it because the ARM chips came out this week. So yeah. And part of it is also have exactly the same version of Java now on all of the Amazon Linuxes, even the Intel, AMD and ARM. So that helps the compatibility for people kind of going, well, it's a different processor architect.  So that was all part of the thinking there. You didn't want to tip your hand on the announcement this week is why, okay. So I think sometimes AWS is misunderstood, partly from its own doing. I mean, you just mentioned, you contribute a lot to open source, but you never talked about it. Generally when AWS doesn't have something to say, they don't say a lot about it. So others are left to, you know, make the narrative. You come on, you've now got an open source agenda. Can you just sort of summarize what that motivation is and what the objectives are? Well, we have, you know, lots of different pieces of this, but you have service teams saying, I'm going to launch this product and there's an open source component to it. Can you help? Sometimes that means I hire someone in my team to specialize in that area. Sometimes it's just our consulting with the team. We may be, you know, connecting them to the open source community. So that's one piece of it is having that. If you think about CNCF, in particular, Cloud Native Computing Foundation, that's got lots of projects. If you think about the AWS service teams, no one team really owns the scope of CNCF. But my team has that ownership for CNCF as a whole. We have the board seat position and we say, okay, we have the serverless people over here. We've got some insane things over here. There's some Linux kernel virtualization bits here. We can reach out to lots of different teams across AWS, but act as a central point where if you have something about open source you want to talk about with AWS or Amazon even as a whole, you can come to us and we'll find the right people and we'll help you make those connections. So part of it is acting as an on-ramp for the sort of buffer between the internal, the external concerns of the communities as somewhere to go. And partly just getting contributions out there. And we can criticize for not making enough contributions. Well, we've been making more and we're making more. We'll just keep making more contributions until people give credit for it. And that's the, if you're like, what's the strategy? Contribute more. And then point at it and hope that people like what we did and take the input. It's the customer-driven thing, right? We're going to do what our customers ask us to do and we're focused on the things we want to do. And we've been contributing to Spinnaker, the Netflix OSS project. We made some serious contributions to that in this year. Firecracker, as we talk about that a bit. And the RoboMaker. Those are all areas where we've been working with. Firecracker is particularly interesting, isn't it? I mean, that's a major contribution of improving the performance and capability of those micro-VMs. Can you talk about that a little bit? That seems to be the... It's interesting because it's a piece of software pretty much no one will ever see or use.  It's deep down in the guts of the system. There's this piece of code. But we kind of... There's a few reasons. We're using it particularly in production now. It's supporting some of our production use of Fargate and Lambda. You're in the middle, it's not 100% rollout, but there's a good chunk of the capacity running on it. And that's where it turns out to be useful. And just how long we have to get into this. But if you think about a customer running a Lambda function, we would create a VM and we'd put that Lambda function in it. If they wanted a second Lambda function, we'd put it alongside that one. Another customer comes and we start a new VM for them and we start a Lambda function in that. VMs take a while to start up. So we have kind of a pre-made sum sitting there waiting. But these are big VMs and we're putting lots of little functions in them. What Firecracker lets you do is start a separate micro-VM for every function and safely put all of the customers on one machine. So you start packing them in. It's a much more efficient way to run your capacity. Our utilization of those machines supporting Lambda is vastly higher than having a machine with a bunch of empty space in it that we're trying to running for the customer. So it's that efficiency is the thing. And then the speed of starting a VM. It's a very cut down VM. So it's 125 milliseconds just to start the VM, which is incredibly fast. When you think, hey, give me a VM on EC2. It's different from like 30 seconds to a few minutes. It's like, I get 12 terabyte VM. Takes a little while to boot up. But you don't have to pay for it until it finished booting. That's always one of my good things about these huge machines, right? How about RoboMaker? Can you talk a little bit more about that and its importance? So RoboMaker is interesting. On the open source blog, which we posted on late on Sunday night, early on Monday morning, I did an interview with Brian Gerke, who's the founder of the Open Robotics Foundation. And what we've done there is, it's kind of an extension of SageMaker, if you think about that being AI. If you've got these eight, I can deploy an AI model. What does that AI model want to do? It wants to read something from the real world and then modify the real world. So it wants to read from a camera or at some other sensor and then control motors and servos. And that's what RoboMaker does. It wraps the intelligence you can build with SageMaker with the robotic operating system that has a library of actuators and a library of algorithms, control algorithms. You've got a little brain in the middle and you've got a new robot that does something.  So all of these things come together to make a little toy race car that we can drive around tracks with, which is a whole other topic we'll get into. But I interviewed Brian on what is the history of RAZ, the robotic operating system? Where did it come from? What is the hard thing about running in? It turns out the hard thing with RAZ wasn't building the robots, it was simulating the robots. And the simulator is quite a CPU intensive job. It's graphics intensive. You've got this virtual world you're running and VR worlds are quite intensive. And getting that installed and running was the hard part. So what RoboMaker is, is that as a service. It's this simulator. It's called Gazebo, which is a funny name. So Gazebo as a service is the actual service that effectively we're charging for with a free tier so you can play with it.  And the rest of it is all cloud nine for the front end and deployment of fleets of data to fleets of robots and updating them and managing them. But the interesting thing is this is getting into like the people that are the first robotic thing. It's high schools, high school robotic competitions. They're interested. Universities are interested in a university service. So we kind of, it's not just for commercial production robots. It's the whole training thing. We get into STEM education. Kids like playing with robots. It's like, and we're pulling all this in. So you now you can go home and take these like the latest most advanced AI algorithms that used to have to be doing a PhD at Stanford to be playing with and play with your kid over Christmas and see what you can come up with. Really simplifying the whole software development side of that. And when you look at the Dean Cayman competitions which are just awesome. You know all the kids, they could have gravitated to the hardware because they can touch the software was really hard. And this is going to, I think take a new level is particularly in this competition. And it's all open source. Like you can go, oh, you've got this robot. No, no, I pointed to them. Somebody who's complaining that we've done it with some proprietary robot thingy with the toy cars. And I pointed them at the get hub. You know, it's there, it's all there. You can go build this thing. It's all open source. You can put anything you want on it. But the little robot has rods on it. The robotic operating system, stage maker, robot maker all combined together.  Now you guys are both Formula One fans. And you guys have been having some profile of Formula One folks here. You've got the little mini vehicle. Riff on that for a little bit. It's not really open source, but... It's not open source, but I have another thing I'm doing on the side. It turns out that over the last year or so we started looking for opportunities to do sports sponsorship with a particular focus on Europe and the rest of the world. We had a few U.S. sports where they, I don't know, something with balls, I forget, baseball, basketball. I don't know. I'm English, I don't know. Fake football. Something like that. But I like sports with wheels, rather than sports with balls. That's my kind of thing. And Lewis Hamilton has done very well. Yeah, Lewis has done very well this year. So about the middle of last year, like last June we announced the deal with Formula One, which is a multi-part deal. Part of the deal was just take them to the cloud. They have some data center stuff. They were running out of space in their data center. It's like, no, they wanted to do a technology refresh. So for all the reasons that everyone else is moving to cloud, we moved the sports core infrastructure to cloud over some number of years. So that's a process we're starting. And part of that is the archive of all Formula One races. It's a treasure trove, like 67 years of archive of everything that got all the videos. We're digitizing it. We're going to figure out what to do. We've got to process it to label everything. Anyway, so that was one thing. And then we all turned up at Silverstone in the UK that race, it was the week after the announcement. And that race, we have AWS logos turning up on the screen because another piece was sponsorship. So we start sponsoring the core video feed that Formula One uses to the world. And that's 500 million fans watch Formula One. So now 500 million fans for the next few years, you're going to see AWS logos on screen around the analytical insights of what is going on in the sport. Like, your rear tires are overheating. You went around a corner this fast. Here's the pit stop strategy. So we get brand advertising associated with a high technology sport and analytical insights. And that's why we did that deal. And they get all of our technology, AI, a lot of help helping them migrate. And then the third thing we did that I got involved with was I'd already done a few CIO summits at Formula One races along the way. So I was kind of like trying to poke my way into this thing that was happening. I'm not involved in sponsorship setup, right? So hang on, have you done that thing yet? So we decided to do some executive events around Formula One. So we'll pick a few races. We'll have some corporate hospitality like things. But when you put a bunch of senior executives together for a few days, they share, they solve each other's problems and you just get out of the way. And the people that have solved one problem will share it with the other. So it's a really, it's like a tiny reinvent. Like here, everyone is sharing. If you sit next to someone, what problem have you solved? You can find stuff out. This is a concentrated version of that. And we tiled it in Monza earlier this year. Went great. Amazing.  And it, you know, next to the business. Finally it was like, can we get someone on? Yeah. Can we get a car on stage at re-invent? Okay, so the last race was in Abu Dhabi on Sunday. On Sunday. So it said, can we get them on Sunday night for the launch, for the robots launch? No. They're in it, they're in Abu Dhabi. So Rose Braun, this is like the top guy in Formula One got here from Abu Dhabi by Wednesday morning. I was like, I'm just happy that they got here. Yeah. That was a huge ask. Well, Adrian, on behalf of the entire Cube team, we've watched your career. You've been somebody who shares his knowledge and done some great work. So thank you so much for coming back on theCUBE. Thank you. Congratulations on all your great work. Andy Jassy's coming up next. We're very excited about that. Keep it right there, everybody. We'll be back with our next guest, Andy Jassy, CEO of AWS, right to this short break. Thank you.


Hey everyone, am I audible to everyone? Cool. Hello everyone, welcome to my talk. Today I'll be chatting a little bit about testing Kubernetes end to end on your bespoke cloud platforms. So do you want to test Kubernetes end to end on your cloud? Also curious to know how other projects in the Kubernetes ecosystem do this? If so, you'll love this QBtest session. Let me tell you a bit about myself. My name is Priyanka Sagu. I work at VMware as a member of technical staff 3. Currently, I'm one of the release lead shadows for the ongoing Kubernetes 1.26 cycle. I was enhancements lead for the Kubernetes 1.25 and have been on the release team since 23. I'm also one of the three technical lead shadows for the special interest group contributor experience in Kubernetes project. Go by P.Sagu on Kubernetes Slack. And I sporadically use Twitter, but that's my Twitter handle up there, underscore P.Sagu. I'd like to talk a little bit about what is QBtest right now. So QBtest 2 is a framework for deploying Kubernetes clusters and running end to end tests against them. So it's a testing framework maintained by the Kubernetes special interest group testing, or we call it SIG testing, for launching and running end to end tests on Kubernetes. It's intended to be the next significant iteration of QBtest, which we'll talk about in a minute. So effectively, QBtest 2 manages three things. It manages cluster configuration, that is test cluster deployment, end to end testing and log collection, that is running the end to end tests against a newly deployed test cluster and collecting logs as a test run through. And eventually test environment disposal, that is the cluster decommission or release of other test resources once the tests are finished. QBtest 2 uses a binary plugin mechanism for detecting plugin deployers and testers. The binary plugin mechanism is very widely used across the Kubernetes project. The canonical example is kubectl. So the way it works is there are three binaries in QBtest 2 and the binaries are named in a particular standardized format. So in this case, any binary with the name kubectl hyphen, your deployer name would be used for the deployer binary. Any binary with the name kubectl hyphen tester hyphen your tester name would be used for a kubectl tester binary. And just kubectl is the binary for the framework itself that received flags and arguments to discover and work deployers and testers in your system path. So what exactly is a deployer and what is a tester? So QBtest 2 deployer is responsible for the test cluster lifecycle. That is the deployment of the test cluster all through its decommission locally or on different cloud providers. And QBtest 2 tester is responsible for running end to end tests against those clusters that are deployed by deployers. A typical workflow is broken down into multiple phases. So QBtest 2, we start with build, go through up, test and down. Now build is an optional phase. Build by QBtest 2 build phase means here we build the Kubernetes artifacts from the source code. Up is again building up the test cluster. Test is where we actually run the test suites against our newly deployed test cluster. And down is decommissioning the cluster once the test flow is done. Now this is the command line invocation how you'll use QBtest 2. So we use it as QBtest 2 followed by deploy name, followed by flags for up, down and test. The flag for test follows the name of the tester and the test arguments. So one of the examples we can take here is for if you want to run upstream CNC of Kubernetes test against a GKE cluster, this is how you'll do it. So GKE is the name of the deployer. So the flags up, down says that we want to deploy a cluster, a GKE cluster. And then we want to use Ginkgo, which is a tester to run the conformance test. So the focus as X says go and look for any pattern that says conformance in the test suite. And then once we are done with running our test, then down flag will bring down that cluster. So like we just learned in a while back that QBtest 2 is the next significant iteration for QBtest, why that iteration was required. So QBtest 1 or I'm just calling it here as QBtest version 1 is a framework that Kubernetes project currently uses in for continuous integration testing or CI and runs about like thousands of job daily. It comprises of a single binary encompassing all different test environments and scenarios using the Kubernetes CI. And it fall organically from a bunch of legacy script to the point that it has now become unmaintainable. Which is why one of the primary goals of why QBtest 2 was created is to move away from legacy dependencies and to build something that is easier and extensible and pluggable. So the community supported the progression and QBtest 2 was deprecated in favor of QBtest 2 on July 14, 2020 and was placed in maintenance mode. It also allowed reinstanting community contributions to the tool because it has become so complex that people were not able to follow through the code and they were not able to contribute back to the tool itself. So it allowed reinstanting those community contributions as well. So overall the intent behind this new design of QBtest 2 is to minimize coupling between the suppliers and testers to encourage implementation of new suppliers and testers out of three. So we have I think three or four suppliers that come right away from the upstream QBtest 2 project, but there are a lot of out of three implementations as well. And we'll talk about how to write your own deploy later in the talk. And lastly to keep the dependencies and surface area of QBtest 2 small. So how the upstream Kubernetes project integrates QBtest 2 with Brow. Now for just a brief, Brow is the Kubernetes CI system, CI CD system, which is used for GitHub Automation and provides a chat of flavor of a way of triggering automation. So something like slash foo style commands. So let's try to see how the upstream project does it with Brow. So user starts with a GitHub PR on one of the Kubernetes project repos. They add a comment on their PR something like test all and if it's visible. And the comment will trigger the Prow or the Kubernetes CI CD base pipeline in the Kubernetes test infrastructure. So Prow is a Kubernetes base CI CD pipeline. That means Prow runs inside a Kubernetes cluster and QBtest 2 will also run inside somewhere in the Kubernetes cluster and where it does. We'll just see. So inside the Kubernetes cluster, a proud job is created. A proud job is a custom resource and anything in Kubernetes runs inside a port eventually. So there will be a port that will be created for proud job. It's like any other pipeline. Now inside that proud job, there'll be containers. And in this particular case, the image that we are going to use for this particular test will be Kubekin. So all the all the jobs that require testing given it is end to end will be created through an image called Kubekins. And we ship Kube Test 2 as part of that image and not just Kube Test 2 other test binaries as well. So once we have the Kube Test 2 binary in the port container available, we can use that Kube Test 2 binary to create test environments to run end to end tests and then to finally clean up test environments. So this is the broader overview of a flow of any job that test Kubernetes end to end in the upstream Kubernetes project. So what are the primary features that Kube Test 2 provides? Consistent cluster lifecycle. A typical testing flow of Kubernetes looks like building some binary from the changes that are coming from a PR. So you have raised a PR on say Kubernetes, Kubernetes repo. That is you are adding some new changes to the Kubernetes repo. We'll try to build a new Kubernetes binary out of the source code that is also having your changes. Then we'll using those binaries will deploy a new test cluster with that with those binaries will run some tests against that test cluster and then tear it down. So that's a typical test flow. In Kube Test 2 we have we have standardized and codified the lifecycle that is our up flag, test flag, down flag that does that for us. So up flag will bring up and the build flag also sorry. So build will if required build will build the source code, the binaries from the source code with all the changes that are coming from the PR. Up will bring up the cluster with those changes. The binaries created with those changes test will run tests against them and then down will bring down the cluster. So we have standardized and codified the entire lifecycle in Kube Test 2. The next thing Kube Test 2 provide is decoupled the deployer implementation. So Kubernetes comes in many flavors and offering so for different distros for different installers and providers and you would want to run at least test against some of those flavors, right? So Kube Test 2 provides a way to not only run your test against the different deployers that comes ready ready ship for the Kube Test 2 project, but also allows you to extend the framework to include your own implementation of Kubernetes. So for example, right now Kubernetes Kube Test 2 provides the deployer for GKE, GCE kind, but if you want to say test use Kube Test 2 to test test your Kubernetes on say any cloud, Linux or anything, you can just go and find out how to bring up a cluster in Linux and extend Kube Test 2 to do that for you. And we'll try that in the end. One of the key features of Kube Test 2 that improves the Kubernetes developer lifecycle is being able to run CI testing jobs locally and as much as reproducible as possible. So as part of the goal of minimizing legacy dependencies, Kube Test 2 provides a unified command line interface to be able to reproduce a system under test in both the CI and the local environments as closely as possible. And lastly, Kube Test 2 also integrates seamlessly with other tools that Kubernetes project uses such as Boscos. Boscos is a tool used for leasing testing environments and dependencies at one time. Most canonical example being your test requires you to have access to a GCP, a clean GCP project or a clean AWS account. So Boscos will release you that account for the duration of your test run. And once the test is finished, the down flag will release it to be later on cleaned by the Boscos janitor. So let's go ahead with the demo. So we'll try writing a custom deployer for Kube Test 2 now. Kube Test 2, as I mentioned, natively supports GCP, GKE and kind deployers, but it also enables writing custom deployers out of tree. For this particular demo, I'll try to walk through the steps to create a custom Kube Test 2 deployer for Azure cloud. I'll try to provide a code walkthrough that will outline the key steps that I had taken to extend the Kube Test 2 framework and implementing the deployer interface for Azure cloud. Also, the demo will be slightly rushed demo because of the time limitation, but the project source code, slides and demo recording will be available on GitHub, links in the later slide. So this is what we need to implement. This is our deployer interface, and as part of the demo, we'll need to implement this deployer interface. So if you want to add a new deployer, all you need to do as a minimal requirement is to implement this deployer interface. For the purpose of this demo, I'll try to implement the following methods. So up, down is up, dump cluster logs and build is optional, so I'll skip that for this demo purpose. And we'll be calling a new deployer as Kube Test 2 AKS. So what I'm doing here is I'm creating a new directory called demo. I'm cloning my fork of Kube Test 2 here in the root of my Kube Test 2 fork. So Kube Test 2 at its root have a make file that have multiple make targets to install the Kube Test 2 binaries individually, the deployer and tester binaries, or you could install all of them altogether. I'm doing that here by install all, and what it did is it installed all the Kube Test 2 framework binary as well as all the deployer and tester binary as well. So you see that it was, well, I missed it, but it will run again. So when you run make install all, what it will do is it will look at all the folders that are named in the standardized format Kube Test 2 hyphen deployer, or so anything with Kube Test 2 hyphen, say GKE, GCE or kind, it will treat them as deployers and any folder in the manner Kube Test 2 hyphen tester hyphen the name of the tester, it will treat that as tester. So when you run this make install all, the Kube Test 2 binary will also be built and it will be able to detect the deployers and testers also in the path. So we have these at the moment and we do not see anything, something like AKS at the moment and what we are trying to do as part of this demo is to add that. So what I'm trying to do is I have three remote branches available and I'm trying to check out into one of my branch, which is a step one. So at this particular step, what we are trying to do is add a wire framework for Kube Test 2 AKS deployer. So there is already a deployer present in Kube Test 2 project called noop deployer, which does nothing. So we are taking that code and starting with that. So what I've done is I have created a new folder here called Kube Test 2 AKS and everything that is sitting inside noop is there. So there is a main.go file and I'm importing the deployer that you see there at the top. We are importing that deployer and we are adding that deployer to the actual app package. So now Kube Test 2 framework will later be able to see this new deployer as well. Let's also see what's there in that deployer folder. So we just have one go file there. It's a deployer package itself and currently it's exactly what's there in the noop. So I've changed nothing for the sake, but we just wanted the AKS deployer to do something at the moment. So we just copy pasted everything that the noop deployer had. So yeah, we are at this part we are implementing the deployer interface.  That's what noop deployer does and we'll try to implement that in the later steps. So once we have added this new folder with name Kube Test 2-AKS and if we go ahead and run that make install all again, it should be able to see a new deployer now. So that's what we are trying to do now. We have compiled the Kube Test 2 binaries again and since we had unfolded by the name Kube Test 2-AKS it was able to now see a new deployer. If we give that argument to our Kube Test 2 binary now, it will be doing something but it will be doing exactly the noop thing. That's what we see here. It's just showing everything for the Kube Test noop operator at the moment. So let's go ahead and enhance it further in the next steps. So I'll check out again in my another branch which is the step 2 and at this step what we'll do is we'll try to add some logic for later on implementing our up and down function. So even in the upstream Kubernetes project, the GKE deployer and other deployer, what they do is they have a script somewhere sitting, something to bring up a GKE cluster for example and then there is another script sitting somewhere to bring down a cluster. So we are trying to add something like that here. I've added a folder called scripts here and I've added two scripts in that folder called KubeUp.sh and KubeDown.sh and those scripts just have the logic for bringing up Azure Kubernetes cluster. So this one is a KubeUp.sh. So what we are doing is we are just trying to check whether our container has an az binary and qq binary. We require some environment variables to configure our cluster. So there is a VM size that we can give it while invocation or it will take the default values but there are some required variables as well, environment variables which is the resource group and the cluster name itself. So it will see if these environment variables are available in the path or if they are not then we'll be anyway doing that adding those environment variables as part of our deployment implementation. So once though it is able to see those environment variables it will go in line number 20 and create the resource group and line number 30th onwards it is creating the Azure Kubernetes cluster and once the cluster is up we'll try to fetch the kube config for that cluster and save it somewhere in our path so that we can interact with the cluster. Now similarly we have the kube down.sh as well. Again it will look for az and jq binaries and the same resource group and cluster name it requires that to interact with the cluster that we just built and if it is able to find those values then it will go ahead and use the az binary to go ahead and delete our cluster. This is a simple very simple logic to bring up Azure Kubernetes cluster and bring it down. We'll use this script in the further step to implement our up and down function. So this is our final step. So here we are just trying to enhance our placeholder deploy.go to actually deploy and remove AKS cluster. So now our main.go is ready. Our scripts are ready. We'll go and add some more stuff in our deployer folder at this step. So we have added a lot of new stuff in our deployer.go file which is we have now at this point implemented the up function, down function and cluster down is up. So we'll see that now. You see we have online number 37 and 38. We are giving the name to the resource group and cluster name that will be used by the script later on. We have also changed our deployer name at this point. Now it is called AKS. We have deployer struct which has some values that will be used later by our up, down and other functions. So here we have finally implemented our up method for the deployer interface. So what we have done is at line number 84, we are trying to compile the path to our kubeup.sh script, bascript and down there on line number 91 we are actually running that script. So the kubeup.sh, this file, when ran it will go ahead and bring up as your Kubernetes cluster in the as your account. And we will also try to check whether whatever that script did, whether it eventually ended up into bringing up a cluster or not. So that's the validation at the end of that. Now we are doing exactly similar for our down step as well. We are trying to compile the path to our kube down.sh script and down there we are running the same script again. That will go ahead and delete the cluster that we are just deployed above. Now isUP, so we are doing a very naive assumption here that if there are nodes available, we are our kube CTL binaries able to interact with our cluster and give us some information about nodes. That means there is a cluster running there. So what we are doing here in our isUP function is just running kube CTL, get nodes, giving it the kube config file to our newly deployed cluster. That is, if it gives us something, that means the cluster is up. We have two other files here as well, common.go and dumplogs.go. Those are utility files basically. So we needed these environment variables during our kubeup.sh and kubedown.sh bascripts. So we are setting those environment variables at this point so that our deployed.go file can use them during the script invocation. So we have the resource group cluster name and the kube config environment variable set as part of common.go. And the dumplogs.go what it does is it has this function called dump cluster logs which creates a log directory. So it will create a folder somewhere where we'll store our logs from the time when we are trying to bring up a cluster. If we are running some tests on it, it will also collect the logs during that test run and also tell the cluster decommission. So, yeah, and this kube CTL dump actually take that dump. So what it again, it runs a kube CTL command which is kube CTL cluster info dump and it takes the kube config file to our newly deployed cluster. So that's what dumplogs.go does. So with all this in place now we have our up, down build is up methods implemented for our new deployer interface. So that means our deployer can bring up a cluster now and bring it down. So we ran the make install all again and it will have all those functionality in the newly built kube test to AKS binary now. So now if we run kube test to AKS at this point now everything is changed. It is kube test to AKS deployer no more, no op and now we can give it the up, down flags as well. So when I give it up and down it will first bring up a cluster and then followed by that it will bring down a cluster. I'm not doing the testing part at this moment because you can use the up, down test individually as well. So you see it just did that one thing only it just went ahead and executed the kube up, down test script at the moment and very specifically that AZ cluster create command taking all the values from the environment variables that we had set. So it takes a bit of a time and it entirely depends on what kind of kubernetes flavor you are trying to build up. So in this particular case it takes a bit of time but for the purpose of demo I have fast forwarded. Let's see but it will still take a second here. The run is still there but since the cluster creation started I'm able to see a new cluster in my azure cloud account. So it's the same cluster information that we just saw there. And once the cluster creation is done it will go ahead and take the kube config of that cluster and save it somewhere in path, in my local path. So when kube test ran the AKS up and down cluster creation and decommission so it also created this underscore artifacts and underscore runner that occurs where it had all the entire information and under the underscore runner we had the cluster dump that we had taken as part during the up and down functions. So I'm just trying to check whether my cluster was deleted also. So just using the az binary to check that and there is no cluster. So yeah that was a quick demo. Now that's not the entire extent of what kube test 2 deployers does which comes shipped with the official kube test 2 project. They do a lot more secure way of bringing like a better way of bringing up the cluster and bringing down the cluster and do a lot of stuff during the time. But this is something if you just want to go ahead and try building a new custom deployer for kube test 2 for your own Kubernetes platform you can start with these. Like you can have some way to bring up a cluster and some way to bring down a cluster and you can use them to implement your own deployer. Additionally some good news. So as of 27 days ago there is also an official out of tree implementation of kube test 2 AKS deployer available. I'm not yet checked it but that is available here. Yeah thank you everyone for listening to my talk. It was my very first time presenting at a conference so sorry for the hiccups. I blog at psaagu.com so if you want to just check about other things that I do you can check that. Again that's my Kubernetes Slack handle and Twitter handle. So kube test 2 is part of the Kubernetes project under the testing oriented special interest groups or SIG testing. These are the links to the kube test 2 project itself and the SIG testing community. And if you want to get involved in SIG testing or maybe in the kube test 2 project itself the community is very welcoming. So please feel free to come and say hi on the hash SIG testing in Kubernetes Slack and you'll be very happy to get you started there. Yeah that's all. Thank you everyone. I had a slide for Q&A so if anybody have any questions I'm happy to answer them. And if not you can always find me on Kubernetes Slack here. Hi thank you for the presentation. I actually just in the process of understanding kube test 2 a little bit more and use it so it was very interesting. I have several questions and most likely we can talk later but what about Sonobui or Sonobui? Like I know that in later situations they also integrate kube test 2 for some aspects. Like if I'm starting with a new cluster and I want to do and test in what to use. Like go straight with this and implementing a custom deployer or maybe using Sonobui that has some helpers I think. I have seen a little bit like they're doing some plugins or something. I know that it's outside a little bit of this but given that it's VMware I just I don't know if I have more information about it. So I'm not very much aware of Sonobui. I just know that it's some, can you correct me, it's testing tool or security tool something? Yeah it essentially runs the conformance test by default from Kubernetes. So I think you would want to extend kube test 2 for the tester part. There are a lot of tester available for kube test 2. We have Kinko. There are very specific to the purpose node testers available to run some scalability test against Kubernetes. So we have tested for that. I think if you want to run, if your focus is on running tests against or using Sonobui then it would be extended kube test 2 for a tester, a new tester. Yeah. And just another quick question. Is it possible to reduce tests that were already created basically for Kubernetes? Yeah because the part of running the test itself, how you actually sort of get those tests and never to integrate it with your custom new binary basically that will run the deployers and so on. So I'll try to repeat the question and try to understand it again but are you trying to ask where the upstream Kubernetes tests are written? So if you want to reuse them. Right. Let's say that I have custom tests but I want to also run maybe a switch of tests that are already implemented in Kubernetes basically. Yeah. So this is where the upstream Kubernetes tests are implemented and they're invoked at where kube test 2 picks them up. That happens and so this is another repo we have in the upstream Kubernetes project. This is test infrastructure and at some point in the talk I mentioned about proud jobs that eventually that have that kube test 2 binary and picks up the test. So you could find those jobs defined here. So just to cover up these are all the projects under Kubernetes. So if you want to very specifically go and look at how those jobs are written you can. These are the name of the repose. So Kubernetes will be Kubernetes slash Kubernetes repo 6 will be the you would find all the repose under Kubernetes 6 under that Kubernetes 6 and so on. So I'm just trying to look for under Kubernetes. Yeah. If you like if you click on any of these you would be able to find out the jobs definition there. So for example say I should pick up. So we have this release. So we'll be sort of essentially vendor in those Tesla saying in your own repo that you have kube test to imagine. So kube test 2 comes as part of the container image that we used to bring up the proud job board container. So kube test 2 comes from the test infrastructure side and then when you write a cube. Let me I'll just pick up any and I can just quickly do I have some minutes. If not we can talk later. Okay. Thank you. Okay. Yeah. So this is one of the jobs that we'll use kube. So what it will do is for example you have your test written somewhere in a repo in this particular case you have some test defined in your container the container the repo. So if you give this line from line number one to 26 to your proud CI CD what it will do is it will create a port using this image. And so your proud job will have the kube test to binary and all other testing information. So all your tests are in other stuff and it will also have a folk of container the container the or any ex ex repo where you have defined the test and. You can also give from which branches you want to pick up the test from and yeah. And once you have all those things handy you can go ahead and just do a run a note s h run a note s h is part of the kube kens e to e image itself. And this is this argument the dot test slash build s h it will look in the repo that it just forked over. So if you want to use cube test to for your own repo test like your test that are sitting in your own repo you want to write something like. This if you are going to use proud and basically here your repo name will come and here your test invocation will come. Thank you. Thank you.


Construction for a new special education school is underway in Wadena, but the new building isn't only going to be serving Wadena students. Our Anthony Scott has more. Talked away in a corner off Route 71 in Wadena is a construction crew laying the groundwork for a new special education building. The new building is part of the Freshwater Education District, a special education co-op in the Wadena area, and it will serve the Level 4 students. There are different levels of special education and Level 4, it's been determined that they need to be completely separate from the general education population. Currently Freshwater's Level 4 building is a school that is no longer in use in Deer Creek and Freshwater is excited to have a building of their own. But knowing that we've got a building that was created just for their specific needs is really going to help them succeed. Once construction on this 30,000 square foot building is complete, it will not only serve students from Wadena County, but also 13 other school districts in the area. Freshwater serves students from Monaga to Long Prairie and from Pillager to Frizy, and the classes still remain small. We've got 36 students total and we have 22 staff, so we can really provide that intensive support that they need. It's a multi-million dollar project financially headed by Sourcewell, who committed five million dollars to the project. One of our main tasks is to help our school districts in general and absolutely our special education districts as well in investing in great ideas, great initiatives they have, because as I mentioned that spills over into quality of life in our region and also training and retaining the best workforce that we can. The new building will have several amenities to fit the children's sensory needs. We have dimming lights as well as horizontal windows in the classrooms that allow for natural light without the distraction of what's going on outside. We've got separate workspaces for students within the classrooms, so if they are overwhelmed, they can work in those areas, but not be removed from the classroom, so they're still a part of what's going on. The goal of Freshwater is to get the students back on track so they can one day rejoin their general education program. I think this is a growing need. There are a number of programs like ours around the state, but it's becoming more of a need and so we really need to focus on these types of programs to help student learners. Reporting from Wadena, Anthony Scott, Lakeland News. The new building is scheduled to be ready for students in 2019. If you enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland PBS.


Lots of meeting industry shows this month and lots of follow-up flying between meeting partners and meeting planners. So, how do you make your follow-up email more effective in reaching your target audience of the meeting planner? Let's talk about that. Hey, it's Leanne from leancolderwood.com and January has a bevy of event industry events that we can all attend from Go West last week in Edmonton to PCMA convening leaders. Earlier this month and this week, a lot of meeting partners are at Ted-a-Ted in Ottawa. So, after all those events, meeting partners, you likely want to send the meeting planners that you've met a follow-up email on the dialogues that you had at these shows. But meeting planners have been out of the office for a month and they're getting an onslaught of follow-up emails. So, we got to find ways of making our emails stand out to the planner. So, A, they actually read them and B, they actually respond. So, here are my tips for you. First, I would almost recommend delaying your email just a little bit to give that planner some time and some space to answer all the emails that they've missed earlier this month being away for so long. Second, when you're writing your email, ensure that you include context, which includes where you met that planner. Be it the Go West show, it's the PCMA show, ensure you include that context because they've probably met a bevy of people over the last month. Third, this is still a relationship-building tool and not considered a sales tool. So, while you want to give them sales information, it's still a great way to nurture the relationship that you've started with this meeting planner. So, some great ways to do that because you were at the same industry event is to tell them what your favorite session was. My favorite session at PCMA was about event marketing and my biggest takeaway from the conference was learning how to incorporate trends in my clients' meetings. Something like that, something that they can even respond to as far as what their favorite session was or what their biggest takeaway was. So, now that you've tried to build or bridge that gap and create more of a dialogue with the planner, then it's time to go into some of the salesy things that you want to communicate to your planner to promote your product or organization. But again, keep in mind they're getting a ton of these salesy emails, so be very careful in what you include in this introductory email. Finally, ensure that it has a call to action. Maybe you're going to schedule a call into February, put a time and a date and ask for their permission to follow up with them at that time. That's my tip for today. Have a great week. More videos and inspiration on how to reach meeting planners can be found over at my blog at leoncallerwood.com. Bye for now.


Hey there friends, thanks for checking in. Those were my first shots with the Gearsan MC14 BDA. This was modeled after the Browning BDA and it is chambered in 380. It's a new release from Gearsan. It has an aluminum frame 3.8 inch barrel and a 13 round magazine budget price. You're looking at between $330 and $350 for this handgun. And I think it offers a lot. Check out the trigger. It's a double action, single action and double action. Not bad, but the single action pull is breaking right at four pounds with a short reset. Three dot metal sights. As I mentioned, 3.8 inch barrel. It has polymer grips there with the Gearsan logo right there. I think that's pretty sharp looking with that logo and the magazine ejection is pretty strong. I like the aluminum frame and then the 380 ACP is on the more expensive side. However, I was able to find three boxes of freedom munitions buried deep in my safe. This has an ambidextrous thumb safety. All right, it does not have a decocker, but just swipe down and you are good to go. Very simple disassemble. All you do is push the button on that side, take this lever and off comes the slide from the frame.  Here we have an uncaptured recoil spring 3.8 inch barrel. All right, and there goes the guide rod. But you just reassemble it back into working order. I like what Gearsan did with this. It's very easy and you can see the frame there, aluminum frame, it weighs just 29 ounces loaded. And then you just put it back together the same way in reverse order. Even at $350, which is the higher end, I think this handgun's worth it. With the aluminum frame and the light recoil that 380 offers, I think it's pretty nice. Has a nice feel, three finger contact on the grip. Black Syracote frame and slide. Let me load it up again. Let's see how I do one-handed. I want you to take note though. See that little red tab there? That's the extractor sticking out a little bit. Loaded chamber indicator. Thumb safety, just sweep down. One-handed, let's start with the rabbit. Not bad. Not bad. It's a pretty smooth shooting handgun. I have to tell you with the aluminum frame and the 380, 3.8 inch barrel, all steel guide rod, not sure I mentioned that. Easy disassembled, nice single action trigger pull. Let me turn the camera around. You can see what little recoil it offers. All right, so I have around loaded. The extractor's sticking out a little bit. I have it in double action. Let's shoot a couple in double action here. We're going with just the tombstone. Let's go with the circle there. Let's go with the small silhouette. And we'll go with the rabbit. Rabbit's very thin. Nice. Wow. For a budget price gun, this is really nice. I like it. That it's easy to light recoil spring, easy to rack. It's not super light, but light enough where weaker hands could rack it. Some people on my table review said this reminded them of the Beretta Cheetah. I can't necessarily make that comparison. The Cheetah's a little bit larger. Well, a 3.9 inch barrel versus a 3.8. But it kind of looks the same. If you look at the Browning BDA and 380, you'll see that this is almost a direct copy and a fraction of the cost. I really liked the way this shoots. And it's not like I had to do anything out of the case. And with the price of 380, I didn't necessarily wanted to learn the gun and go through two boxes. I was able to just go ahead and load it up and shoot the gun. And it is really nice.  Nice ejection with the magazine. Comes with one 13-round magazine. I'd like to see them double it up. But at a price right around $340, hey, what can you expect? It does come with a plastic case, though. The Gearsan FC-14 BDA. Nice little shooting, 380, very low recoil. And I certainly enjoyed it with my first time at the range. If you like videos like this, please subscribe and share. I always appreciate thumbs up button. Thanks for watching, and you guys be safe.


So, very welcome today. We have a great pleasure to have with us the President of European Networks for Academic Integrity, Tomas Fulteneck, and a dear colleague, also a member of ENI, Shiva Subramaniam. So we have two topics for you today. The first one is ENI Recommendations on the Ethical Use of Artificial Intelligence. And the second topic is European Conference on Ethics and Integrity in Academy in 2023 that Shiva is organizing in Derby. So yes, very welcome. So academic integrity and artificial intelligence. Very hot topic, Tomas. What do you have for us? Hello, everyone. What I have for you is the presentation of the ENI Recommendations. So let me share my screen. And even though you didn't have an opportunity to read this recommendation or come across with it because it was not published yet, it's going to be published soon. So let me present how or why and how we prepared this kind of document and what is in it. So first of all, let me remind you of the purpose of ENI. European Network for Academic Integrity is an association which aims to support higher education institutions to work together in the field of academic integrity. And as everybody noticed recently in media or at your institutions, artificial intelligence is becoming a topic that is being discussed at the university's worldwide. So we also want to support not only our member institutions, but all higher education institutions to tackle this topic and address this issue. Yeah, so we are by providing the recommendations we are following our objective, which is provide resources, promote collaboration, shared best practices, and also collaborate in research that is related to various topics of academic integrity. For those who don't know many details about ENI activities, the most important activities that ENI does are annual conferences, summer schools, other training events, and monthly webinars like this one. We are circulating newsletter every two months, we are quite active on social media, and we have a web page with a lot of resources, namely educational materials, glossary guidelines, self-evaluation tools. Most of the ENI activities are organized within our working groups, so currently we have around 15 working groups that are dedicated to particular topics. And these working groups play a significant role in designing this recommendation. So as I already said, probably everybody have noticed that various tools that employ artificial intelligence of different types and on different level are being released into the public domain. They mostly make our lives easier. I believe that all of us are using machine translation or grammar checkers like Grammarly. All these tools use artificial intelligence and all these tools pertain both opportunities and challenges to education. I don't want to talk much about particular challenges and opportunities. I will just refer to Thomas Lancaster's webinar, an ENI webinar that he conducted in September 2022, and it was dedicated particularly to artificial intelligence and academic integrity. Since that time, there were significant improvements, namely in generative AI tools. So these are, this is a particular subset of artificial intelligence tools that can generate the content for you. For example, this guy writing a student essay, it's not a picture of mine, it's not a photo. It's an image that was generated by mid-journey. I just told this tool that I want a picture of artificial intelligence writing student essay in blue and yellow colors and I got this robot writing an essay. So, and it's of course not only about images, but what creates the most concerns are the texts. So at the beginning of this year, at the beginning of 2023, we established an ad hoc working group within ENI. Here you can see that the members of the working groups that are the authors of the recommendations. So it's me, then it's Sonja from Sweden, Irene from the UK, Zenat from United Arab Emirates, Rita from Portugal, Peggy from European Students Union in Belgium and Julius from Slovakia. We met several times, so the process looked like this. We had the first meeting in January, where we drafted the list of ideas. It was the first brainstorming and we needed to clarify both the topics that we want to address, the structure of the document, and also the overall approach of ENI, so how we would like to address artificial intelligence in education and how we would like to address our members to address artificial intelligence in education and of course what kind of support we can provide to our member institutions. So the result of that brainstorming was just an unstructured list of ideas, very little structured list of ideas, and we circulated this to all ENI working groups and asked them to provide feedback to this document. This happened mostly in February and at the beginning of March, so we received a lot of additional ideas from the working groups. The working group dealing with glossary of terms provided the feedback for two definitions. The working group that is addressing contract cheating came with a new definition of new term, I will talk about it a bit later. The working group dealing with technology and academic integrity provided also useful feedback for us. So after collecting this feedback, we dealt with wording and we drafted the text and prepared a clean document. This document is ready now, but we haven't published it yet. We send it for publication to International Journal for Educational Integrity and it's currently accepted as editorial and should be published soon. I believe that next week or the following week it will be out so we will share this document via the ENI social media and we can send it also to the people who registered for this webinar as I presume you are interested in this topic. Let me now explain what is in the document and how ENI sees the potential and the challenges that are related to artificial intelligence in education. Part of the document is like presenting some basic facts, basic acknowledgments of the current situations and of course the very first thing are definitions. So for the definition of academic integrity, we used the ENI definition. Academic integrity is defined by ENI as a compliance with ethical and professional principles, standard practices and consistent system of values that serves as guidance for making decisions and taking actions in education, research and scholarship. Then there was a discussion about how to define artificial intelligence. In the end we we stick to the European Union official definition according to which artificial intelligence referred to systems that appear to have intelligent behavior by analyzing the environment and taking actions with some degree of autonomy to achieve specific goals. If you ask me journey how how to paint artificial intelligence you get something like this. Fun fact, I asked various image generating tools to to give me a picture of artificial intelligence what I'm constantly getting our pictures of women so if you have any doubts of what gender artificial intelligence is it's women. And there are several other other claims that provides the framework background and context for our recommendations. So the AI based tools that have particular impact on education are those who are those which can be used to transform produce or generate any kind of content. Most people are mostly aware of chat GPT which is here to produce text but it is not only about text is also about images other other categories of art music or programming code. Then we thought it is important to acknowledge there is increasingly challenging or even impossible to reliably distinguish AI generated content from human produced content. And also, we wanted to acknowledge that device access accessibility of artificial intelligence exacerbate existing types of academic integrity threats, namely essay meals, paper meals fabrication and classification of data and so on. In this point I would like to emphasize that we don't think that artificial intelligence is bringing any new threat, I mean something new in principle. It is just making current threats more visible and more severe because artificial intelligence multiplies the abilities of those who want to commit misconduct and these tools are more accessible. But all the problems like plagiarism paper meals data fabrication data classification and so on have existed in academia before. So artificial intelligence doesn't bring any new threat it just exacerbates what is what existed here before as artificial intelligence are penetrating into more and more areas of human activity. We think that students, teachers, everyone will be constantly using AI tools in their profession. And it's okay it's it's fine using AI tools is is does not mean does not automatically mean misconduct. So we want to acknowledge that authorized and declared usage of AI tools is usually generally acceptable. But in some context it may fit the definition of academic misconduct. In this point we looked at the definition of academic of the ni definition of academic misconduct in the ni glossary, where the misconduct is defined as any action or attempted action that undermines academic integrity and may result in an unfair academic advantage or disadvantage for any member of the academic community or wider society. When you look at this definition, it may not be really clear whether unauthorized or undeclared use of AI actually fits this this definition, even though we think it does some people for some people it might not be clear. Here, thanks to the effort of the working group addressing contract cheating, we are coming up with with the new definition of new term that for in our opinion better describe the risk that is related to unauthorized content generation generation using artificial intelligence. So that the new term that we suggest an authorized content generation is defined as a production of academic work in whole or part for academic credit progression or a word, whether or not a payment or other favor is involved using unapproved or undeclared human or technological assistance. So this definition encompasses both contract cheating and ghost writing that we have been addressing long time ago, and also unauthorized or undeclared assistance of artificial intelligence that produces the academic work for you. So all these both of these, both of these types of misconduct have have now umbrella term unauthorized content generation. So in this point, we also wanted to emphasize what I already mentioned that artificial intelligence is multiplier of users ability, and it multiplies both good abilities and bad abilities. So both students, teachers or basically anyone can use artificial intelligence to good purposes to enhance student learning and to make it more efficient and to achieve desired learning outcomes or to make shortcuts and and commit misconduct. I believe that you have heard about the about the tools that are able to generate, for example, software code. So it's this kind of tools multiplies the abilities of the programmer. And it's both in good and bad way, you can use it to generate the program code for for a program that will be useful for a useful application that creates the benefits for the society, or you can produce it to you can use it to to produce a virus or or some malware. From the point of the technology from the technological point of view is the same issue, but then it depends on the user in which way he or she uses the technology and the same. The same situation is with AI in education, it can be used in both in good way and in bad way. And at the universities, we can't say that artificial intelligence is something that we that we don't address at all and pretend it doesn't exist. AI is penetrating all areas of human activity. So all university graduates should be prepared for using AI in their future future jobs. So the tools relevant AI tools should be embedded in the in the curricula and students are already aware of these tools. We can't prevent them from using them. So we we should we should address this issue we should tell them what is allowed and what is what is not. Among the working group that developed these recommendations we had discussion about what should be what should be acknowledged. Not only and not only in relation to the technology, but but in general, when you have the either the student work or a scientific paper. So what what kind of other people or other other sources input should be should be acknowledged. And we want so so we we tried to come up with a formulation of a pretty clear clear criterion. And the wording that we agreed on is that all person sources and tools that influence ideas or generate the content should be properly acknowledged. And consequently, whenever the AI tool is used to produce the content it should be acknowledged. Somehow, the specific form of acknowledgement may differ. It will be different for a student essay will be different for for a thesis different for for scientific paper different for presentation. If it is possible, also the prompt should be provided, but this is complicated in most most situations or even impossible in most situations. Appropriate use of services sources and tools that doesn't that don't influence the content but only influence the the form is generally acceptable even without an arrangement. This means that proofreading proofreading by people or proofreading by by tools spell checking using using test hours and so on, does not influence the content significantly and does not have to be acknowledged. Another topic that we deal with is responsibility. To play it with chat GPT already realized that the output that this language model provides provides can be inaccurate biased or incorrect, but the tool presents it's very confidently, like given facts. So user should be aware of the limitations of these tools and also of the fact that neither the AI tool nor the provider of the AI tool take responsibility for the generated content. Yeah, so it's just the content that the tool gives to you and then how you use it is your responsibility. So human user is always responsible for what is done with the with the output of artificial intelligence. Consequently, AI tool cannot be listed as a co author of any kind of publication. You can also see the guidelines for authorship of committee committee for publication ethics. There are four criteria of authorship and one of them is that all authors have to approve the content of the publication and the last one is that all authors have to take responsibility for the publication. The AI tool never takes responsibility and can never approve the content, which means that can never be listed as co author. But of course, when the human authors use AI tools in whatever way they should enrich using of of AI tools as I talked about it before. So here is the future university education with artificial intelligence, according to mid journey and what will the future look like. In terms of students students should be included in in the conversations about artificial intelligence at every institution and should be also educated on on how to develop their skills with AI. For every task that students are given with artificial intelligence it is more and more important to to explain the students the purpose of the activity. So the students have to understand that the purpose of the task is not to submit an essay submit a document and do not focus on the result, but focus on the process the purpose of the task the purpose of the assignment is to gain some learning outcomes, and this requires some process and they have to go through this process, just asking artificial intelligence to generate the reason that the result does not lead to higher learning outcomes and is not the purpose of the assignment and most students are we still believe that most students that are at university want to learn something. So even by explaining the purpose of the task, it creates the intrinsic motivations for for students to to complete the assignment or complete the task with integrity. In general, my personal opinion is that in most of the cases students should be allowed to use AI in a in a constructive way, but I know that some people some some of my colleagues have different opinion for that. So this is something that should be clearly stated for each particle assignment should be stated what kind of tools are allowed and what what are not teachers will have to change ways of assessment they will have to change how they are how what tasks are used for for assessment. So teachers should receive training on ethical use of AI, including the development of relevant learning outcomes and assessment assessment strategies. And this of course doesn't happen just overnight it requires requires long term activity, and it requires some oversight, both at institutional level and at national level. We believe that in each country they there should be national guidance providing an overarching advice on what institutions should include in their policies. What I see is as particularly important and crucial to be included in that policies. So they should define rules on allowed use of artificial intelligence. Of course, there should be space for specific rules on course level in some context in some settings it is perfectly okay if teachers prohibit all types of technology, whereas in other courses it might be okay to use any type of technology, and there is a scale. So what a lot of courses will be somewhere in between. So the teachers or course coordinators should be given the freedom to to set clear rules in their courses, but in case they don't do that, or in in cases that are above the course level like thesis submission and so on. There should be default rules on the institutional level, what is allowed and what is not. And in the cases that are allowed, how to acknowledge usage of AI tools. Just having the policy, of course, is not enough. The policy and the rules should be clearly communicated to teachers, students, administrators, basically to all stakeholders at institutions. And also institutional policies should guide users on how to correctly and transparently and knowledge, the use of AI tools in different types of outputs. And so the arrangement might be different in assignment in dissertation in in paper in book and so on. So this should be specified in in the policies. So these are the general recommendations that and I and I is giving and the at the end of the document we have a summary statement that there is no doubt that artificial intelligence brings significant change to education. And as with any other technology, it extends and enhances human abilities and may be used both in positive and negative way. And I urges national policy makers institutions and all individual members of academic community to seek ways on the ethical use of AI and share share best practices in order to benefit from the opportunities that AI brings to education and science. And we want to play an active role in support of sharing best practices. So what are what are the next steps. The first step of course is get the recommendations published, and we presume it will be leaving documents so we want to collect, collect the feedback from from anyone anyone is welcome to provide us with feedback to to the discussion and there will be a special session dedicated to this recommendation at the European Conference of Ethics and Integrity in academia in Derby. After the discussion we may we may refine the content of the recommendation and publish second version. Let's see, but what we certainly want to do is sharing good practice on how the, how the tools are used at different institutions. And there will be of course development of educational materials. Of course, many institutions already do develop their educational materials so we invite them to let us know so that we can, in case the their materials are publicly available, we can include them in the ni database. So that's all from my side for now. And before we go to the next topic that is that is the conference. I believe that we have some time for questions. Thank you for your attention. Thank you so much. There was one question that I believe you already answered in UNI. Are there any recommendations on how to site AI generated text. And I think you talked about it in your presentation after that. I talked about the necessity of having that the policy that will advise the members of academic community on how to how to site AI generated text. We don't have anything like that specifically in in the recommendations yet. This is the first document that and I is going to publish on this topic so it's on kind of general level. Of course, we will have to adapt the general guidelines for academic integrity. And there will have to be some some more specific guidelines but we don't have anything like that that yet. But as I said, artificial intelligence does not bring new anything new in principle. It just makes current challenges much stronger. So an arrangement of whatever whatever content you take is pretty similar to an arrangement of what you have the I don't know discussion with colleagues or personal communication or something like that. If you don't know how to how to site the output of AI, you may already refer to existing guidelines and just select the case that is more most similar to to to your your case. There is a follow up questions in the chat. What do you think of MLA and APA citation recommendations for AI? Are they appropriate or not? I am sorry but I haven't haven't seen this specific recommendations for for AI so I'm not able to answer the question sorry. And then. Yes, they can provide links. Thank you. So thank you. I think that these recommendations are more on the on the level that's a bit higher than than. Then citing. It's about more about whether we should use off a bit. AI. Or what is. Oh, I can I can see now that the example of how to site GPD. Well, yeah, that's how I would do it, or maybe, maybe I would I would provide more. Okay, so this is this is the reference and the list of references and then then we have this kind of in text citations. So as this is the language model that provides the longer text so it should be it should not be copy pasted to your work it always requires some some comments around that. It's the good space to put the prompt and to specify, specify the communication that that was there yet so in my opinion this is this is appropriate way how to how to side it and I would not do it differently. Yeah, you can see the chat Emily asked to include the prompt also. During the prompt is is difficult because if it is just if it is just that you put the prompt and get the result. Then you can or you should put the prompt and this were the cases of the images that I used to decorate my presentation. It was quite simple prompt and it was okay for me to copy that prompt and put it to the slide to an orange. But whenever there is longer conversation and more and wider context, which is the case of chat GPT it takes into account all the previous conversation that you had and all all the previous versions of the document and you may ask for for corrections improvements and so on. And in this case, the previously generated content in fact becomes the part of the prompt, and it's not possible to to include it in it to put whole prompt in in your in your work. So it can either be provided as a supplement material as appendix if it makes sense, or you you should just describe what was the initial request and then you iterate it to iterate it your request to to get this this kind of output. And there was also a question about about prohibiting or or supporting these tools or promoting these tools. I am optimistic in in this in this aspect. And also I'm a member of the working group of Masarik University that recently published the position and our university is very positive about that week we acknowledge that we can't prevent students from using that. We know that it is probably impossible to detect AI generated content. And even if it was possible to detect it is impossible to prove it. So we encourage students and educators to to use it to be creative and to seek the positive ways of how to how to use AI positively. We have a comment here that Proplexity AI does generate URL that returns the original answer. And that does seem constant. However, not all AI is doing it. So it's very hard to to have this level. I personally think that it's good to have to save screenshots in order to prove what happened, basically, if you use it. So I always recommend it. Then we can see if someone asks you will have a background of your research and how you use it. Yeah, being as transparent as possible and like following good practice of any scientist they're taking proper records of all the steps that are reading to the outputs this refers to using of AI as well. We have another question in Q&A. Do you have any examples in mind the benefits of using AI and teaching and learning? Well, the benefit for me, I subscribed to the journey and I use it a lot to create images that make my presentations more lively. So that's the benefit for me as a teacher, certainly. And it was nice topic for student assignments in my course Ethics and IT. I asked my students to explore the ways how chat GPT or similar tools can be used to solve tasks in the course according to their selection. And now I'm reading what they came up with and it's really interesting. In some courses, chat GPT would pass, would get, I don't know, 80% of points, whereas in other course it's more difficult. And sometimes they have interesting ideas on how to use chat GPT constructively. But it differs course from course, of course. Yeah, I told my students in language courses that they can use it to produce text in order to train their language skill. So I see quite a lot doing it for L2 learning that it's quite many things we can do actually. And you have beautiful graphics. You've got the comment on that. Okay, thank you so much, Tomasz. So AI is one of the topics that are going to be discussed on the next ENI conference, European Conference on Ethics and Integrity in Academia. So Siva, Siva, Subrahmanyam, welcome with your presentations. You're hosting this conference. It's going to be Darby University. So tell us more. And if you have any more questions to Tomasz or Siva, you can post them in the chat. So hopefully we will have a few minutes at the end if you come up to something. Hopefully you can see the presentation now. So yeah, just welcoming you to the University of Darby for the 9th European Conference on Ethics and Integrity in Academia, ECEIA 2023. Just to give some additional information in addition to the website we are having. First of all, I need to explain a little bit about the registration process is the fact that we got two websites. One is for paying for the conference registration. The other one is the conference page about the topics and everything. So the conference page will give you update information about the conferences and the topics and the changes in any, if any, in the venue or topics. But the registration website, there's another link. The reason behind that is that this is the first European conference from ENI, which is happening in the UK and because of the currency changes, it would be easier to handle two different websites. So that is to start with the explanation why we are having two different websites, especially for the registration. Yes, this is going to be hosted in the University of Darby within the School of Human Sciences. We have already booked the rooms and the lecture theatres for you. And just to let you know the deadline for early registration is on the 15th, which is tomorrow. However, we know that some of you are still waiting for the reviewers' comments. And those of you who have submitted your original submission on before 22nd of March, we will look into you keep your early birth registration because it's not your fault that you submitted on time, but the reviewing process is getting delayed. So you can still be able to register yourself with the early birth registration fees. So the conference will host invited speaker keynotes, expert panel discussion, and anything, you know, the AI related or open AI related texts and the figure generation and we can discuss about it. We have invited the sponsors. The sponsors are mostly people who are working in the text matching software, developing text matching software. So we will have a discussion panel with them. We will ask the question. We challenge them to provide an improved version to at least with a 50 to 80% accuracy to point out the AI generated text. And also we can also discuss about the questions we discussed here, especially I was keeping quiet because I will get a chance now to talk. We talked about the how to cite the AI generated text, but I just wanted to show my point of view is that in promises presentation here actually pointed out that the responsibility, the responsibility, the AI doesn't take any responsibility. So I'm just putting my comments here so that we can discuss that in the conference as well that if the AI is not going to take responsibility, whether it is fluid and for us to cite the AI generated text. And that again, we can use it for our advantage to make the students and the economics understand that the AI doesn't take responsibility. So whatever they are doing from the AI need to be checked by themselves because as authors, they are responsible for that. So there are some disadvantages about ethically citing the AI generated text, but also we can make it as an advantage to teach the students and the academics how to use it or how to take the responsibility of AI generated text by checking it. So that is a learning process. We can discuss that as well. And the, as far as the online participants are concerned, they will be allowed or they will be able to attend all the keynote speeches, panel discussion, and we have a separate section for online presentation. They can present it there as well. And also when we talk about the conference, the conference is an opportunity to learn, share and collectively discuss. So even if you are not presenting anything, you're all welcome to view your point of view. Discuss with that is more or less an academic community helping each other using this opportunity to meet up in Derby and we can discuss that further in different areas of AI generation or how to use AI generated text. And also the traditional problem we have been facing with the plagiarism, avoiding plagiarism. And one of the good thing I learned from this hosting this conference that there are so many presentations that are based on school level research. And that is something that, you know, in AI as an organization, we are focused about the future generation. So we are always think and research about how to enhance the academic integrity related work from the school level. So I'm really pleased to let you know that around two or three or actually more probably more than the last time I checked this on a three or four submissions about school level contributions as well. So the topics are mainly current topics including AI research in the area of research ethics and the academic integrity initiating the academic integrity in the school. That's what I am really proud because there are so many school related research are being submitted. They are, they are highlighting students as leaders in academic integrity. And also we will discuss about the ethics and integrity in post COVID era, bridging the academic integrity with research ethics. These are the traditional research areas of AI and also the others and the new threats, new threats out to change the challenge and the threats into opportunities. And one of the which we have already discussed with Thomas now, academic integrity and text matching software and the teacher training as well. So these are the sub theme or sub topics they are of the conference. And again, I re emphasize the importance that it is not the fact that you need to present. If you are interested in the academic integrity or research ethics, you're always welcome to attend to discuss and critically analyze the current situations. So as far as submissions are concerned, I am really proud that there are around 146 initial sufficient from six different continents they are, they are actually named here. And 95 of them so far until 10th of April this week, 95 of them are fully accept accepted. There will be three keynote speech each one each for the day and three panel discussion. So far with the based on the abstract submitted abstract or accepted abstract there will be 83 presentation, eight workshop for posters or infographic infographic and also as for 10th of April, there are 50 people have already registered and again, we urge you urge others to register as soon as possible. And these are our sponsors. And again, sponsors will be involved in that discussion, especially around the AI. There are two academic sponsors. Apart from ENA is as a ethnic and the university of darling. There will be social activities. I include included the ENA annual general meeting as a social activity because we are a professional network. So that is going to happen in the 12th of July 2023. That will be followed by welcome reception. And the next day we will have a trip to Kiddleston road probably in the morning. And then we will have the dollar dinner on the same day and there will be closing ceremony on the 14th of July as well. And this is just a glimpse of Kiddleston all where you can spend probably people have a picnic over there as well. We are these early stage. We are still organizing things. And as for the travel guide and the nearest airports are given there that very nearest one is the East middle airports and most of the European destination will have a flight from to the airport. It's around 20 minutes from Derby. There will be styling buses for every 20 minutes as well. And some of the international non-Europe flight might come to Birmingham airport. Again, you need to catch a train from there. Frequent trains are from Birmingham to Derby probably every half an hour from 6 a.m. to 10 or 10.30 a.m. As for Heathrow, the best way is either by train or coach, but I would personally advise to take a coach because there is a direct coach available at certain time points. And throughout the day from Heathrow direct to Derby as well. And the example travel plan with links to book either National Express coach or British Rail will be available on the website. The website link is given there as well. As far as the accommodation is concerned, these are the conference organizers recommendation. So Leonardo Hotel, Stewart Hotel and the travel lodge and please note the travel lodge is slightly far away, although cheap, slightly far away from the conference venue. And we have arranged the shuttle bus from Leonardo Hotel to and from the conference at conference time, which will be updated soon. And I think there's only a very short walk from the Stewart Hotel to Leonardo Hotel if you want to catch the conference shuttle bus as well. As for travel lodge, you need to take a bus to railway station and then go to the Leonardo Hotel for the shuttle bus. And those of you who are planning to stay back again Derby is as a picturing area. There are so many mountainous area peak districts are there for you to explore and those information will be available with your conference back when you come over here. So we look forward to entertain you in University of Derby. And if you have any questions regarding conference, you can email the email address is there or you can post the questions here. I will try to answer as much as I can. The reason I'm saying I try to answer is the fact that we are still finalizing things. So some of the questions I may not be able to answer straight away, but we will be in touch. That's it. I will stop sharing my conference presentation. If you have any questions, I am happy to answer it. Can we get a ride on your motorcycle? That's my question, of course. Yes. You promised us when we... July is the middle of summer. So I think we'll have at least around 10 to 11 hours of sun. We hope. But we never predict British weather. You can predict British but not British weather. We are looking forward to it. Can you repeat who are the keynotes for this year's conference? Oh, I need to check myself. This is a conference webpage. If you visit the conference webpage and what we do is we did three keynotes. I think two from Europe and one from UK. And two panels or we call it expert panels from UK and also Europe as well. If you go to conference website, you can see more detail as well. And the main thing I wanted to emphasize is that never mind whether you are presenting or not, but if you are interested to talk about, discuss about and attend these conference plays, you are all welcome. Okay. I'm going to show my screen and show who keynotes are. So you have as keynotes, Professor Sharik Witt, President of the National University of Kiev, Mohova Academy in Ukraine, Professor Michael Draper, Dr. Mary Davis. And then we have discussion panel members, panel one on ethics integrity and current integrity projects with Professor Julia Priest-Buhite, Professor Marietta van den Hoven and Dr. Anna Albakina, as well as Lisa Dippendale. And as the conference is in the UK, we will have Dr. Irene Glendening, Dr. Robert Crockett, Dr. Thomas Lancaster, Dr. Sandida, I know it's really well-known names for INEI and RDR members. And we also have some pre-conference workshops, training the training academic staff, training in academic integrity workshops with Zee, Nat Khan and Rita Santos, ethical publishing and dissemination with Irene Glendening and Salim Razi, and then ethics and integrity and supervision workshop with the two of us, Shiva and me, having that one. I also would like to invite you on our next webinar that is in May 12th with Philip Newton from Swanson University, who is always really interesting to listen. He's going to give us some tips and tricks for running survey-based research in academic integrity. You can register on the academicintegrity.u slash vp slash eni monthly webinars as always. So please do because I think it's going to be really interesting to hear. He has to say. So do we have any more questions for Shiva or for Thomas? The website will be frequently updated. So just in case, even if they miss anything, they can go to the website and see. So thank you both so much for giving us these presentations. And thanks to all our attendees and for your questions, tips, link. I'm looking forward to the editorial, of course, International for Education Integrity. And follow us on Twitter, follow us on Facebook, sign up for the newsletter of the ENI, and of course, see you in Derby, hopefully. Thank you. Bye. Bye.