What's going on everyone Sam here with late in sports cards I've been 23 top skill to collection baseball hobby six box case number 35 random division style Say look again at your random results as always you can find those on the website under the results tab as well as the link That's in chat Look everybody. Let's do it. Here we go OS to 99 check up to Grom with the grominator 64 out of 99 And at least is gonna be a Tom Glavin is 75 On the wave and at least that's a least satchel page 14 of 50 a at least satchel page and Al West to 99 hose ale to they nice one there Grats on that one Got for the and or ale central Luis operaccio 36 of 99 Grats on that 36 of 99 Luis operaccio Boxed us thanks again everybody for hanging out today filling everything up to appreciate that You can't even imagine then a lease gonna Henderson to 99. There you go. Congrats. A least Hey at least Gonna Got a least again Wade Boggs 17 of 75 a At least Wade Boggs you go. Oh, he's a least right the inks red socks and raise He's being a least guy very nice To 199 Bobby Miller and L West etched in gold rookie one of his first tops chrome rookies You're gonna see which is very nice and to 75 74 75 Joey Manessus Going to the NL East and at least that's on that Trenton Joy masks Got going to the NL West one marriage all 14 of 25. Congrats on that NL West One marriage all going to Kyle's eat good stuff calm at the rest of this in this. Yeah No problem that is Ty Cobb to 75 and grats on that ale central Ty Cobb One of 75 Al West that is gonna be J rod 99 of 99 bookend Nice one for Tom C Got a L central Salvador Perez 12 of 25 Tom again with the ale central and NL East Austin Riley the same card Sam. That's on that Trentie, huh?  Oh my god. That's awesome red velvet. That is my boy, dude That is my boy. Hell. Yeah. I might honestly. I might That's two days in a row. It's Sam one-on-one. I had my nebula yesterday out of a mosaic choice. Oh, yeah Hell yeah, dude Sam Sam Al East Jim Rice 20 of 50 I met like three separate people that have Stories of knowing Kevin Hurd. It's so weird. He played he went to high school in upstate So like I was like mutual friends with one of his like really good boys And then like one of my buddies roommates played against him in high school And then I knew somebody else somehow that new Kevin Hurd. I was like, this is so weird I guess so dude. He's like the pride of upstate New York. I've got that link Yeah, everybody knows Kevin Hurd He's a beast. So really good Yeah, all-on card in this which is really nice some really good cuts in this of course, too See we can have a cut that'd be awesome Hit a cut today in tier one. So that's good. AL West 199 is Brice Miller AL West got AL central Jordan Walker to 99 44 of 99 Jordan Walker gold mini diamonds to 50 is gonna be Shane Bieber for the AL central And going to Christopher W. In the AL East 4 of 99 Trish and Casas Congrats on that one buddy. Nice one there my friend Trish and Casas and at least Steve Carlton 17 of 90 On the framed auto nice one Trenton T. Congrats, buddy Steve Carlton to to go Jim tome and at least two at 99 Magnus one coming up To 25 on the ray wave rookie Nolan Gorman 24 at 25. Congrats. NL central Kevin Adam. There you go, buddy. Nice one there on the Gorman Ray wave 24 of 25 We've got Cedric Mullins 3 of 75 that'll be going to the AL East by J Smooth Josh Smith 41 and 99 AL West On the rookie auto with the throwback Rangers Jersey on love it and cool on here AL West again 63 of 75 JJ Lede JJ Lede Best Edgar Martinez 18 of 50 nice one there congrats AL West 18 of 50 Edgar Martinez and last box of the Break last box of the night See a banger. Ooh redemption Redemption in there. We've got Jordan Groshan's 299 rookie all rookie for the NL East NL East Nice one here is gonna be a Tony Gwynn to 75 for the Padres NL West. That's a cool one Tony Gwynn. Mr. Padre 250 22 of 50 Simeon Woods Richardson AL Central AL Central Simeon Woods Richardson and 40 of 50 NL East Pete Alonso Pete Alonso NL East all right redemption everybody That is gonna be framed auto of Francisco Alvarez on the emerald there we go NL East Congrats on that one. Very nice NL East Francisco Alvarez All right guys quick recap here got autos of Pete Alonso JJ Lede Josh Smith Trishon Kossus Austin Riley Joey Manessus Jose Altuve We had Edgar Martinez Steve Carlton Jim Rice Juan Marichau Luis Apparaccio Francisco Alvarez and Nolan Gorman on the railway of the 25 I'll do it for the break guys. Thanks again for the film. Next up is nothing


Hello everyone, good morning. Welcome to the session record and replay API test case and data marks without writing code by Neha, Gupta and Shubham Jain. So without any further delay over to you Neha and Shubham. Thank you, Nidhi and thank you everyone for showing up. Good morning and good evenings because we have people all across the world. So I'm Neha and this is Shubham. Today we are going to talk about, you know, how you can easily use record and replay methodology to generate API test cases. So I'm just quickly going to share my screen. I'm just going to tell a little bit about ourselves and we are going to share our journey of, you know, automating the testing process in our previous teams at different organizations and how did we land up to a single approach, the pros and cons of different approaches that we tried for, you know, the automating the testing process. And at the end, Shubham is going to showcase a demo where, you know, he'll be showcasing how you can record and replay and create the API test cases without writing any code. And also, he's also going to showcase if you're using Selenium UI tests already, and you want to use a plugin or an extension to Selenium that can mark your back end, including the infrastructure calls. That is also that what he's going to showcase. So yeah, as I mentioned that we are both maintainers of Kip Loy, that's an open source API testing platform that virtualizes the infrastructure. So previous to this, we were working at, you know, Office of CTOs of some Indian SaaS companies like Lenscard and Farai. These are e-commerce and logistics SaaS. And our role was, you know, to experiment in every other two weeks. And we were releasing very fast, like almost, you know, iterating through the code in a single day itself. So the team was very small because it was meant to do experiments with new technology, new features, what people are expecting from that company. And one thing that was very limited was time. We had very strict timelines. And because of the strict timelines, we were able to do very limited testing, maybe a couple of happy flows. We wanted to do functional testing more because it was an experimental feature. Functional test cases should be okay. Later on, scalability things can, you know, work out. We can improve the scalability part. And with that limited testing, obviously, there were introduced regressions. So just to, you know, keep the releases sane, we only wanted three things to automate the testing process. One was, you know, to have the functional test cases, something that can, a tool or something that can, you know, bring out the real world scenarios from production. And we can test it function like we can do the functional testing of whatever we are releasing and see if there is a any regression introduced. And two, we wanted something that with which we can easily write and update the test cases. It shouldn't be hard because the time is limited, like I mentioned. And three, the last was that we needed something that can mock the infrastructure and my input is not required. So all that infrastructure orchestration can be done automatically. That is all we just wanted to move fast. And we explored a couple of solutions. So initially, we started with, you know, simple automation test suite that we write the functional test cases. And it should be a good to go that on every release, we write some sane amount of test cases. And it should be fine. But the reality was different, because whatever test cases we were writing, as you, you know, develop a new feature, or even if you, you know, make changes to the existing feature, those test cases needed to be updated. So they were very brittle in terms of reliability on, you know, if I can rely on my time consumed versus the test suite that I have already prepared. So that was quite painful. And not only that, when the single microservice talk to multiple other microservices, it became even more painful because there were shared test infrastructure. By that, I mean that, you know, as a QA, if I've written an automation suite, and I've set up a test database, and, you know, the test other microservice, which my application is talking to now somebody else comes and uses that same database, like another Q in the team, from my team only or the developer who is working on the same application. And they try to test with the same thing and, you know, changes a little bit of records. So that shared database again, was broken in different scenarios when, you know, multiple people are working on the same thing. So again, that was not working out for us really. It was time consuming. But it was, you know, it was brittle, as well. So what we planned to do was somebody told us, hey, why don't you test in production?  Why would we test in production? Why would you say that? It was a very scary thought to be with. So when we actually, you know, deep dive and you know, explore more about testing in production, it actually made sense. So when we actually talk about testing or automating the testing, we want to create the best possible simulation of production environment at the end when we are making a Q environment. So if we can test in production, that's the best case scenario. So we're like, okay, let's explore how people are testing in production today.  So we explored each and every one of it. I'm going to talk about all those now. So first was, you know, shadow testing that you have a stable application running in production, which is serving traffic request and response. And what you do is for the same application, you create a new deployment version of that application, you deploy it, you do not release it in production. And what you do is you mirror the traffic. I mean, you duplicate the traffic to the new version of the application in production itself, and compare the responses. And if the responses are great, you know, it's good to go. Now, this kind of approach works well if you are using a stateless application, like, you know, audio streaming or something. But it doesn't work when your application has dependencies. So, you know, we were confused that with the different microservices, even internally that our application is going to talk to or third party services, how are my, how is my application be to who, what is it going to talk to? I cannot just make it connect to the production databases, right? All the post and put calls, delete calls, all the mutations will fail, right? So we are really curious how are people doing that. And we really discovered that some people are actually connecting their application, new version to the production database itself. And we were like blown away. How is that possible? So you discovered more. Now, what happened is the limitation with this was that your API request needs to be idempotent. If you guarantee the idempotency in your APIs, then it means that you can use this approach. By idempotency, I mean that if you do the same request twice, the initial behavior of the, of the dependency should not change. For example, if I say that an API, like, update the balance to rupees 200, then it's an idempotent request. But if I say the existing balance is 100, but plus 100 in the balance, then it is a non idempotent request. But because if it is done twice, the balance would be updated from 100 to 200 and to 300 then. So our APIs were non idempotent. So we went on to exploring more approaches.  And for the write APIs, you do the testing locally or, you know, write continue with the automation scripts. But we were not satisfied because, you know, get APIs were fine to test, but post APIs were even more important. So we went on to exploring more approaches. And we, you know, thought of creating this shadow database, you know, that if we have a production database, why not create a, you know, replica of it, the database dash, and this replica would be kept in sync in real time that, you know, if you're serving a request here, the database call would be made, and all these changes would be reflected here. So you might have figured out that the limitation with this was initially it was it was sounding like a good idea. But the limitation is that when you replay the same request here, as well as here on the application v2, there is a replication lag between database and shadow database. So let's say, you know, if you're making a mutation call here, it is replicating while this duplicated request is also trying to make the same change. You might get a different result with that. And in some times basis on the parallelity, in some times you might get the same response and you might be able to compare it, but in many times, you might not be able to get it. So it was not really a sound approach in that case. Also it was expensive to keep the, you know, databases replica and keep containing them in real time. So not a very sound approach to go head with. So what we did was we thought that why in real time, if replication lag is a major problem, how about we create something like a shadow database in later in, like in real time, but we test it later in time. So we thought of testing it later. And what we did was creating a database snapshot to a non-production environment. So it was like you're replicating the production, the simulation to a non-production environment. And there was a shadow database there was a shadow database we tried to replay. So we recorded this, these user traffic API calls all the, which was served to application V1. And we replayed that to application V2. And we were expecting it to work. It did really work well. But the problem was eventually this shadow database gets out of date from the production database, then you have to do all that operations. So it was very operational heavy approach that you have to record, you have to replay, you have to keep the shadow or snapshot DB maintained. So later on, it will start breaking if you don't maintain it. So I mean, that was a very operational heavy and expensive approach. So we didn't go ahead with it. And that's when we thought of creating a virtual database. But before that, I'm just going to summarize. So what we did was so far, we understood that testing in production is good. What are the pros with the record replay methodology that it's a local approach that you can easily replay or real world traffic to your new version of application and see how it is going to work. The edge cases are not really covered. But it gives a good coverage because you discover new scenarios and you go through all those API test cases or the different use cases that your users are performing on the application in production. So you get the coverage easily covered, some good amount of coverage. But the cons were that one dependency states, the infrastructure is not that easy to mock or to, if you're creating a shadow database or any mock, you need to maintain that very regularly. So that was causing flakiness in the test cases. That was a problem. And this kind of approach was suitable for load test that you want to record and replay somewhere a certain amount of traffic and you see how your application is behaving under high load. But for functional test cases, it was not that good because if any of the API starts failing, then all the user traffic calls on that API starts failing. And you have to debug each and every API call, which is very hard to do because there are so many. So if it could be reduced to a few number, it is a good functional test approach as well. And the right mutations are very tricky to handle. So we were here, the shadow database or the snapshot DB, I would say, the snapshot DB approach, it was kind of fine, but not long lasting. So we moved ahead with the virtual database that I was talking about. Now with virtual database, what happens is when you record the API calls, you record the stubs of this database or any of the dependency that your application is talking to in production. I'm just going to give an example with it. And this virtual database approach is finally what we went ahead with. For example, if I'm recording a production environment request, let's say, get games for user Thompson. And this application is talking to Mongo database, reading two tables, and getting me the games that user Thompson's play. All this is recorded from production. Now, when you right now do it in test environment, you replay the same request, get games for user Thompson. And the new version of the application and your test database is there in the test environment, but user Thompson doesn't exist. So the application response is going to be different. You cannot just directly compare it and say that, okay, you know, my test suite or record replay is automated. So how do we really do that?  And when you replay it, you just provide these entries as a database instead of you know, making a complete database or setting up that or writing a data mock like a JSON or something. You don't really need to do that. And that's what Kepler also does, that it mocks this or any other test service or any other microservice that your application might be talking to here. And it just returns the same thing to the application, just like a production environment dependency would do. And see, try to see that, how would your application behave if it got the same response? Is there any regression introduced? So if your application responds the same way it was responding in production, then we are good to go for that test case. So this is how, you know, the virtual database or the virtual test infrastructure could be done easily while, you know, recording and replaying and not really leading to set up the test environment. Now, Shubham is going to talk about architecture and how Kepler is doing it. And, you know, we'll also showcase a demo. Over to you, Shubham. Thank you, Nia. Yeah, coming to the architecture. As Nia mentioned, what we had to settle with is once you install the Kepler SDK into your application, everything, every incoming and outgoing call is going to be recorded, right? So that's going to be along with, so let's say, once you make the API requests, those get recorded along with all the infrastructure calls, those could be the databases or it could be the caches or it could be external or internal microservices. And once that is captured, like since we're capturing all the infrastructure calls, those can be replayed anywhere. It can be replayed in your CI environment. It can be replayed locally. It can be replayed in any test environment if that's needed. And we can pick and choose what we want to mock and what we don't want to mock. So that is one of the interesting things of this platform. So you don't need a whole test environment. You want to mock the entire environment and just test the application and the test. You can do that. If you want to mock certain things, which are very hard to replicate in your test environments, you can do that. So that way, your tests and the system in the test is tested really solid. And now quickly, I'll walk you all through the demo. To install Kepler, you can just go to GitHub and Kepler is open source. So you can feel free to clone this repository and you can use Docker compose up. We also have a binary, but to use that binary, you will also have to install Mongo. So if you're using Docker, then that's an easier way to spin up the Kepler instance locally. If you want to run it, let's say in a large Kubernetes cluster, then we also have an option of using a hemp chart where you can install it in Kubernetes. So I currently already have Kepler running locally. So basically, once you clone it, all you have to do is Docker compose up and that should spin up Kepler for you.  Once you do that, you can open localhost 8081. And that's where Kepler would be running. We have two sections, test cases and test runs. In test case, you can see on the side, we have different test weights. In your case, this might be empty when you first install Kepler. So yeah, you'll have to first create a test case and then you would have test cases as well as test runs. Now to create a test case, you'll have to install the SDK. Currently, we have full support for Go and we also now support many functionalities in Java as well as JavaScript. In fact, one thing which I'm also going to show is we also have a Selenium extension, which works, which inserts the JavaScript SDK into the front end in runtime. So I'll be showing that, but before that, I'll first quickly show how we can generate API test cases. So for that, we'll be using a sample Go application. You don't have to write any code. It's just a one-time integration effort that you have to, I mean, anybody in the team can do along with you into the code base. So that sample which I'm going to show you is available in the samples Go repository. So yeah, that's available here. And once you clone it, it would look something like this. To use it, we also need to use the, we can use Docker compose up to quickly bring up the Postgres instance. Or you could also just install Postgres locally and use that. Once Postgres is up, the sample application is a URL shortener. It does, it has four methods. So when you do a put, you can put a URL, for example, it could be Selenium.com. And you can get back the short end URL. Once you get the short end URL, it will go back to Selenium.com. So that's the basic functionality of a URL shortener. And also you can update that URL, like you can change maybe, you know, change the short end URL to a different URL, or you could delete the URL. Right. So yeah, so let's quickly see how that works. So to begin with, we can quickly, so here I'll be using hopscotch to quickly, you know, show you how this works. I mean, to quickly do all these API requests, you could also use code or post map, whatever you're comfortable with. And first, let me also start the application. Perfect. So the application is started, Kepler is running. Now, whatever request I'm going to perform, they will be basically captured along with the API cons. So we are going to be our shortener. First, we'll do a post here. We can post github.com. And in fact, let's just post selenium.com. So selenium.com, that's what we're going to post. We did that, as you can see, we have a timestamp as well as a short end URL. So if I open the short end URL, this should redirect to Selenium. So this is basically the HTML page. If I put it here, you can see this goes to Selenium. Now maybe I want to change the URL. So I can put it here. And I can change this to, I don't know, maybe Selenium ID. So a different URL. And I can post that here. Yep, this is also done. Yeah, so rows affected one. And I could delete the URL altogether. So I've performed a bunch of ways. What happens if I try to get something which, you know, for the, I mean, if I change the short end URL, invalid URL, right? So that's another case. Now, if I go to Kepler once more, I can see I have the selenium demo. And I have a bunch of these calls captured, right, versus the post that we did that we didn't get, then we update the URL, we delete the URL. We also try to get the URL and, you know, it was a 404. I can, you know, go deeper into these test weeks. For example, I can go into the post. I can see the request response. All of those details. What's interesting is dependencies, right? So here, I can see all the database queries which happened. It's not just a visualization tool to see the database queries or your traces, but it's actually going to mock all this database queries at runtime. So I don't need to have the database running when I'm running this test suite against my application. Another thing to note is we can also see an interesting parameter called noise. So timestamp as which, you know, is a time-based variable. So as you can see here in the response, it's always going to be different. So it's automatically flagged as a noisy parameter, which will keep on changing. So when I'm going to do a future test, it automatically gets ignored. You can obviously change this, or you can manually annotate fields that you don't want to test. All of that is possible. Now, once this is done, now I can quickly run this test case. To do that, I can go to, so I can stop this application and there are two ways to do it. Either we can set an environment variable or we can also have a test file. So in this case, we made a native integration with go test. In case, let's say if you're using a Java application, it would, there's a native integration with jUnit. So the benefit is that if, let's say the developer has written any of the test cases, these test cases are going to run along with it. And you'll also be able to see all the code coverage and other details that we're able to see right now with general jUnit tests or with, in this case, go test. So when I'm going to run this along with coverage, and yeah, I can also shut down my database because I don't need that anymore. You can see it, there's a five minutes delay just to ensure that the application is instantiated. There are seven test cases and all of them are fast. I can also see that there's a 70% coverage, not just that, because it's a native integration with go test. I can go to file by file and I can see line by line coverage in my ID because IntelliJ or, you know, JetBrainsID, so here I am as a Goland, these natively support go test and jUnit. So basically the green basically shows this line is covered, red shows it's not covered, yellow wins, you know, partially covered. So yeah, all of that is also done. Now, let's try to do a code change. So, you know, something which will fail a test case. So one way we could do that is we can maybe, you know, somebody made a mistake or an intentional change, they changed the URL, the URL pattern from URL to URLs. As soon as I do this, I can run the test case again, the test suite. And you can see one of the test cases failing. Now to go into further detail, I could go to the UI to see why, you know, what really happened. And as you can see, I'll have to refresh this. Yeah, perfect. The second last, I mean, the second is the one which we ran where there was no error. The latest one is on top. And here we can see one, there's a one failed test case. If I go to the failed test case, I can see that I can see a quickly diff that you know what the response, instead of URL, I'm getting your so you can easily see that's flat. Okay, during this testing, during this test case, I did not need a database to run. All of that was automatically mocked by Kepler. And also, you know, if like we talked about the noise parameter, body dot t is a noisy parameter. So even though the timestamp is different, it is not flat, because timestamp is always going to be different. It's always going to be noisy. So yeah, I mean, now what if so this could either be a correct change when basically something that we're expecting, or it could it could actually be something as a part, right? So let's say it is something that we're expecting, right? In that case, I can just click on normalizing it. So I didn't have to go and update any test suite, I just have to click and normalize it. Once I normalize it for all future test cases, it's going to be considered URLs as the de facto. So if I go back and I try to, you know, run this test, again, yeah, as you can see, all the tests are passing, right? So I can also go and see in my UI. So this particular test which was failing, now the URLs and, you know, that's the expected natural response. So everything's working fine. Everything is matching. Yeah, so this is on the API testing side, right? So Kepler, if you notice, it's not just testing the APIs. What makes it special is the infrastructure side, like we are able to record infrastructure calls like databases or external APIs, and we are able to replay that. So we felt, you know what, let's take this one step further. So we started working on a Selenium extension. So we feel Selenium ID is a really great record replay tool. So we made a Selenium extension for that. You can, like we are still in the early release. And we would love, I mean, if you would love to try it, I would love to, I mean, you can go to the Git repository. And if you would like to get notified when it is released stably or in public beta, you can go to the Kepler landing page and submit your email here, right? Meanwhile, for the open source version, you can access, you can, you know, clone Kepler. And once you're done, you can go to the Kepler browser extension. The code would be available here, right? And once you clone it, you can load it into Chrome. So I'll show you how you can do that. So currently it only supports Chrome, right? Once you have, and you also need to install the Selenium ID. So let's say once you've installed the Selenium ID version three, I know there's also version four coming out. We're working with, you know, the developers of the Selenium ID four to work on the version four plugin. So it's going to be out also along with Selenium v4. So here we'll be using Selenium v3, the Selenium ID v3. And yeah, once you have the ID installed, you can go to Chrome. Yeah, so there's a Chrome window. So we can go to Chrome extensions and load unpack extension. And you can go to the Kepler plugin directory inside dist.  So all you have to do is select and once you do select the Kepler plugin would be loaded, right? So that's the basic installation. You don't have to change anything in your code. So yeah, one of the benefits here is while in the backend side, you'll have to insert the SDK. This extension does it automatically. In fact, it doesn't even have to be your own application. I can just use any application. Right now we support XHR. Once you also support fetch request, you can literally use any application and you can capture the backend traffic along with capturing all the Selenium ID extension. So let me show you that. So once this is done, let me just close this. I'll open Selenium ID. So let me create another test. Or in fact, let me create a new project. Or, okay, let's do this. So Selenium form, right? Once I add this test case, one thing to notice you by default, you can get an untitled test case. Please don't use that because we need the test ID to map the infrastructure calls to the test cases. So always create a name test. And then we can hit record. Now, just to show what we're doing, I'll go quickly to the network tab. And as you can see, when I'm going to type any query, right? So for each query, there's a new XHR request. I open this, I can, you know, say OSS is awesome.  And I can go to the next page. Now, once all of this is done, right, I can now stop recording. So one thing I get to notice, you should not stop the browser when this happens, right? So always stop recording. If you do it, then we will not be able to save it to the Kepler database. And once this is done, you know, we can just quickly replay this current test, right? So as you can see, all these API calls which are happening earlier, not happening anymore, because that is automatically mocked. So I'm, it's my hands up. It's all doing, it's all using Selenium ID. So I'll just play it once again. So the ID is running the test. It's opening Google.com is doing all those key presses that just recorded everything. The API calls are automatically done by Kepler. So right now, it's not talking to Google at all, right? So the use case here is that you can use this along with your, you know, so let's say you want to test the front end in isolation. I mean, these calls are basically analytics calls. So you can ignore that. All of the other calls are automatically mocked. So let's say you have your backend and you're using this, you want to test your front end in isolation from the backend, you can easily do that. You want to mock certain APIs. You can easily do that and all on the fly. You don't have to write any of these. So I hope this gives a good overview of what Kepler can do. Kepler is basically a virtual infrastructure platform, right? To ensure that you don't have to deal with all the uncertainties and complexities of test environments. Yep. Thanks. I hope the demo was helpful. I'll quickly go back to the slide to conclude. So right now, like I said, we have experimental support for Java TypeScript along with Go. So we have full support for Go and we're adding support Java JavaScript as well as front ends. We have a UI where you can edit and visualize the test reports. We have integration with native test tooling. We can also automatically detect and ignore time sensitive data, which you can obviously edit. Future work. So we're working on contract testing. I think that's going to be interesting. It can help surface a lot of problems. If you think about it, we already support it. It's just we are going to make that more robust and obvious. Recording from live environments, like I just showed you, right? So make that even easier to use. It could be, let's say, a very high throughput environment. So right now, let's say you have millions of requests every day. Recording from the environment requires a lot of performance tuning. So we want to make it scalable enough to handle those situations. We want to make Java TypeScript and basically Java and TypeScript SDK stable along with the Chrome extension. So if the Chrome extension looks interesting, the Selenium extension, please, you know, I mean, you can still update it about it by signing up for the newsletter. You can go to Kepler at IO. It's right on the front. Or you can also just try it locally and you can start our Chrome extension repository. You'll keep on getting updates on that. Also agent implementation, like Neha talked about, there are some huge advantages of an agent implementation. So we're working how we could work closely with the open telemetry platform to have a great agent implementation, which makes installation even easier. So you don't have to make any of those code changes, which I talked about, to install the SDK. So recording tests, writing tests is no code, but the integration still requires some code changes. And yeah, generate more tests from existing tests. So if I have a bunch of tests, can I infer that and generate more test cases? So that way, we can maybe increase the coverage of our test cases. So that's another use case. Thank you. I hope the presentation and demo was useful. It was really fun presenting and showing what we have been doing at Kepler. We are happy to take any questions now. Thanks, Shivam. Thanks, Neha. We have a few questions in the Q&A section. So we can take up those. So the first question I'm seeing is from is, so this replica was also allowing you to access the PI data of customers. If not, how were you making sure PI data did not get exposed while testing? And then great question. Security and privacy are cornerstones of today's products. Currently in the open source version, I mean Kepler is fully open source, currently in Kepler. Yes, I mean, everything is captured. So that's also going to be PI data, that's for sure. However, we are adding filters where you can annotate data to ensure that access is minimized. Right? So have that kind of access control where people, where the data is obfuscated from people that you don't want to have access to. So yeah, that's something that we're definitely working. Yeah, thanks for asking the question. It's a great question. Something that we've been keenly working on. Another anonymous question, how we can edit test case to use data from another test to another. So I think the idea is that how can we, if you have test data, how can we create on the test from it? So I think that's similar to what we talked about, that how to generate more test cases from existing tests. So essentially, once you have, let's say test data and some dependencies, you can go and you can edit any test case and you can create a new test case. So currently we already support that. So you can go and you can edit, there's an edit button. Similar to how we normalize, there's an edit button which you can use to you know, edit that test case. So another question we have is would Kepler work with .NET applications where the underlying APIs are not true REST APIs and have heavy object passed in the API. So the Kepler backend, like the Kepler SDK, if you want to test a .NET application, that is not supported yet. So we don't have a .NET SDK yet. What however you could do is if let's say you're using the browser extension and you would like to mark a .NET application and you want to test the front end in isolation, that is currently possible.  And even if the payloads are heavy, I don't think I don't see a major problem in supporting that. So if you want to use Kepler for mocking your back end from your front end, like using the Selenium ID, you could even do that if your application is written in .NET. I think another thing is also in case of Selenium integration, would Kepler work in mocking if executing Selenium script using testNG and triggered by Maven commands? I think that's also a great question. We have honestly not tested that outside of Selenium in Selenium IDE. So for example, if you're writing your own Selenium scripts, we can definitely give an integration where whenever you are writing any Selenium code, like here we were recording it, but when you are like writing a Selenium code, you can record the infrastructure calls and isolation and use an identifier in Selenium. So that way what's going to happen is whenever you are going to run that actual Selenium code, the backend will be handled by Kepler automatically. So that way you can run it along with your Maven commands and your existing CI pipelines. Thank you. That's a great question as well. So yeah, another cool question we have is, is it possible to apply load using these cases? So I think the question is around load testing. In our case, load testing, we could like one potential way, we don't support load testing right now by the way, but one thing that's possible is we could probably export these test cases to K6 or Jmeter where you could use all of these requests for load testing. So that is something that we are working on. However, right now we're not planning to support because to do a large-scale load testing, there are many things which tools like Selenium support where you could have multiple runners spread across your Kubernetes clusters which can generate a truly high amount of load and from different IPs and different user agent strings. So those kind of capabilities I think is where tools like K6 would shine. What we would do is we would allow you to export that so that you can choose any load testing platform of your choice and use that. Yep, thanks. Thanks for the questions. Thanks Shubham and Neha for the wonderful session and for sharing your experience with us.


Hey Kathy, this is Megan with Oxmoor Toyota. I just wanted to send this quick video greeting just to personally introduce myself. It has come to my attention through Toyota.com that you're in the market for our 2014 Toyota RAV4. I got some great news for you. This vehicle is still available. When you can, go ahead and give me a call. You can reach me at<PHONE_NUMBER>. And I look forward to hearing from you soon. Bye.


This is gonna be great. We're now gonna go meet Wayne. He comes to us from the Bronx, New York. It was an adjustment coming to Burlington, but he got off to a great start. UVM has the scope of a research university, but with just 13,000 students, it's relatively small. 45% of classes here have fewer than 20 students. Wayne, tell us what you found at UVM. Hello, everyone. In my college search, I couldn't imagine going to a school I didn't visit. And when I visited UVM, I found that I actually enjoyed it. This was quite surprising coming from New York. After accepting the offer to attend, I looked forward to a changing environment, connecting with identity groups, and starting my career path. It was a daunting transition, but I quickly adjusted to managing myself in the high level of academics. I was fortunate to have a helpful advisor from the start. Then I met the professor who has really advanced me in my degree. Professor Coastal Robot has been so helpful making topics clear and developing my marketability. Spring of sophomore year, she encouraged me to do research focused on lithium-ion batteries and the electrochemistry behind them. As I was doing that, I applied for internships. My second circus design course, combined with my research, helped me land one with Resident Link, a local startup specializing in wireless power transfer. Besides my academics, I'm treasurer for the Black Student Union and the National Society of Black Engineers. With BSU, I helped plan our Fall Soul Food Social and our Spring Fashion Show. They are demanding, but to see students of color represented makes it worth it. I learned about the National Society of Black Engineers from a biomedical friend who attended a meeting and connected me with club members. That has helped me develop a great network of upperclassmen engineers. At UVM, I've not only learned from my professors, but from the people who've come before me. This year, I plan on delving deeper into my degree by taking more rigorous courses and taking the helm of leadership in organizations that have made a place for me and that will do for others. And that's my story. Back to you, Alex. Wayne, I see how the early connection you made with your professors got you off to a great start. And now you're helping lead two student clubs where you first found community and support. That's so much what college is all about. Wayne, thanks so much for sharing your story.


It is time to talk about something that not only have we've been working on for months and months. Yeah. Long time. That's right. Not only are we ecstatic about it. Yes. Very. Super excited. It has been something that's been damn near impossible not to spill into this microphone every single day since we have really learned about what it is that we're going to dive into. In our relationship with Fando has been an incredible one. Obviously they have no ownership over this company. They have no guidance over what is a lot to be said in this company. But they are our exclusive sports book and they are great partners with us. We've been able to work together and make a lot of cool things including what I'm about to announce right now. So last year we started chatting about something called Fando Faceoff. It is basically a bunch of games that you can get better at that you're able to log on to your Fando Faceoff app which is connected to your Fando account and have money and literally play skill games against other people for money. Now I don't think it's in all 50 states. I believe it's only in 32 states which is the fantasy football states. You can play the free game in all 50 states but to compete against others in money you had to be in the 32 states that allow fantasy football or whatever. I got in there is a game called Block Trail. There's these other puzzle type games. There was Wheel of Fortune on there. Scrabble was on there. Grand Slam Champion was on there. It was magic. It was amazing. I'm not a big video game person but if I'm able to go in there and put 60 cents down which is already in my Fando account and I can win a buck and I can spend you know 20-30 minutes at night getting the brain better with the Block Trail and the Wheel of Fortune really trying it while also competing for actual a little bit of money.  I thought the Fando Faceoff app and the collection and bundle of games was a brilliant concept. We actually gave Fando a hey add a bang. Add a go Fando. Add a baby we said yeah they said thanks for us promoting it because that was not a part of our relationship. We only have to talk about them if we're talking about sports gambling but they created this Fando Faceoff thing and we all said god damn this is very impressive so we started promoting it. They saw a little bit of a more of a spike because people also started experiencing it so they reached out and said hey anything you would like to do with this Fando Faceoff thing any ideas you have please let us know. So I had an idea immediately. There used to be a game where you would take a like a piece of paper oh yeah and then you would be throwing it into a trash can in an office and there was fans and I believe it was called paper toss paper toss. It was one of the first games that I've ever played in my life that I actually started playing and playing because I enjoyed it. I have had this concept in my mind that you could very easily do a field goal kicking thing in the same exact fashion because wind is a factor kicking is the same exact thing as throwing in a video game you could potentially do it. So as soon as I talked to the Fando Faceoff people I said there has to be a way that we can get a field goal kicking game in this thing and you could just make it difficult you can add different objects and you know adversity that it's not too easy it's something that will always be a challenge. I think a field goal kicking game in the same strategy that you guys have this Fando Faceoff would really do well would be a lot of fun and I think you guys can make it very good.  Very very very proud of this. Very proud of this. This is a game and everybody knows my story. I did not grow up playing video games.  I was up and out of the house all the time. I was on the road for soccer and other things all the time.  I would watch other people play. I'd be entertained by it.  I'd do the whole thing but the actual action not really something for me as phone games got better and better and better and my traveling got longer and more and more.  I think we have created a phone game that people are going to be able to enjoy for a very long time whether it's passing time whether it's in the middle of half time for a game. If you're bored at work if you're watching this show whenever I think you could play this taking a shit great game. Oh yeah.   Exactly. Let's go ahead and showcase what this game is here. What you have to do is you have to download the Fando Faceoff app. Ty click on which one there is the Fando Faceoff app. It's right in the middle. It's white colored. You'll see it when you search for it in iOS systems in the app store. You will go in. Here's all these other games we're chatting about that are available. This will directly connect to your Fando account. So the amount of money that you have there is also in your Fando Faceoff account. So you don't have to re-sign up. You just have to have a Fando account already. The Grand Slam champions a great game. We're the fortune great game. Block trail. Oh yeah. Every night I'm on the block trail keeping the mind tight. Scrabble is okay. I love Scrabble cubes. So you read a lot of books. I have not. It's awesome. That is not really my thing. Puzzle Pyramids a good time. It's about matching things in a timely fashion. It's a pattern game. It's not bad.  Field gold Faceoff. You go ahead and click on that. You get this is now where you will find out which style of game you'd like to play. There's obviously the free option that is available in all 50 states. Then there's a 60 cent game that you'll win a dollar five. You'll be taking on somebody else. Obviously there's a $3 game. There's a $12 game. It goes up and up. At some point there will be random turnies that will be up here that you'll be able to enter for like $5 enter into a big bundle. And for the first week we are giving away $20,000 in prizes to those who can record a high score. Highest score in a paid game. So there has to be something on the line. Of course. Because field gold kicking involves having a little bit of pressure. So to get into the opportunity to win the $10,000 cash to the highest score and then $100 to the next 100 highest scores, $100 and Fandall Faceoff goes a long way let alone $10,000. You have to play a paid game. Okay. Here we go. So here's the opening of the game. This is awesome. That looks just like you. Pretty good. Yeah. Got the ball right there too. Watch on. That's crazy.  We can release those photos now. It was quite a scene. There was this dude who had this wand that came to the office and he had this bright LED light on my whole head. And this guy had this wand and he was just like going around me like this. And I was like, Oh, so this is how like deep fakes. This is how it goes. It was very quick process to get me to look exactly like this motherfucker in here. Took probably on our end, 10 minutes. Yeah, quick. Now, I don't know what they did on the back end. Obviously building the app takes a long time, the amount of coding and everything.  Unbelievable. It was very, very quick. I do believe the large nose, jaw and dome as a whole helped out in the quickness of it because it was as if they were taking a picture of a goddamn photo frame there. But we are very thankful for it. Now you hit start and now you're going to be diving into the game here. Okay. There's me holding for you. Okay. I'm one of the greatest holders in the history of the NFL. You can go and look at stats and percentages of made kits. I also enjoy seeing other people shine.  The wind in the top right corner is something you will have to pay attention to. And as you get rolling, the more kicks you make in a row, the more money and higher the score gets generated. There's obviously things you'd like to hit. There's a lack of a fan lower left. There's a golden ball there top left in which you can put in if you're going to miss and make the game has so many different pieces to it. We're incredibly proud. And then that's a miss. Obviously jumped it. That's a terrible kid. Not a good ball. Oh no. Oh hang on. I made it. Made it. No, I actually told him. Listen, Ty could go put a 20,000 pieces on if he wanted to right now. Ty and none of the boards at the office are up for any of the prizes, especially the week one prize. So there's a reason they've been playing for three weeks. There will be up and coming contests with this though next year or next week or maybe the week after that that you have to beat or try to beat the highest score of the office and there'll be a lot of money on the line. It's from 80 yards. Oh nice play. Better than any hits to no win game, but you need win at this point, don't you? Yeah, you probably want to when you start getting deep here. You need a little wind at your back. All right, awesome. Anyways, that's the game. It is currently available. We appreciate everybody so much who plays. Once again, the highest score in a paid game, 60 cent game for the next week will win $10,000. The next 100 highest scores after that will win $100 a piece. You'll compete against each other. You don't just play for 60 hit a certain score and then get a $1.5 there. You'll compete against another person that is in the same cash and also same competitive rank. It might take a few days for them to figure out like who's good, who's not good, but you'll be playing against a skilled person or something. Absolutely. And that's all regulated by the way on the back end. So go in there, have a good time and we can't thank the people at Fando in the game that was the company that created the game enough. We appreciate the help. Fando Faceoff is the app. Field Go Faceoff is the game. Can't wait to see who wins the $10,000 for the highest score this week.   And then a week after that, yeah, yeah. I'm very proud of that game.  It won't. We move on. Can't have it too much fun.


Tab to the answer box, then type in the answer. To edit or delete what you have typed, use the arrow key and press backspace or delete.


Hey everyone, it is Vinicia, your Community Outreach Specialist for the Pasco Sheriff's Office and I am here at the Land O'Lakes Detention Center and I will be introducing you guys to our new Human Performance Advisor Chris who is doing incredible things in our gym which is actually no longer a gym it's the Human Performance Center because it was remodeled and redone but he's gonna break it down to us why it's important, why our sheriff is fully backing it the fact that we are the first agency, law enforcement agency to partner with this company and why it's fantastic so stay tuned and see what we can get into and let's get our men and women in shape Okay everyone, I have HPA Human Performance Advisor Chris Jacquard for the Pasco Sheriff's Office Welcome, first of all, say hey to all of our followers, it's your first time on here Right, nice to meet him He's the first one basically ever to hold his position also was this your title previously? Yes, something similar but this is the first time it's been in law enforcement We don't, we don't talk about the past though, we don't talk about the past So Chris is basically going to tell us about our new incredible it's not a gym anymore, it's a new resilience center okay our Human Performance Center that we have at the agency the first of many apparently Yes, yes Okay, all right let's do this talk to us about the performance center Okay so initially we went to when Pasco County Sheriff's Office partnered with my current company Exos who I'm a contractor for partnership, that's right, originally PSO sought out the leaders We have individuals at our agency working out right now Yes It's being utilized PSO sought out the leading human performance company really in the world when it comes to optimizing human performance now there's several out there but Exos leads the way in a lot of different ways when we look at what we're able to provide we take a multifaceted approach to human performance optimization so when we look at members here in the agency we're going to take a look at things like your physical training your diet your hydration mental skills all that kind of stuff recovery has been all important all important we focus mainly on the four pillars of performance which are diet mindset movement and recovery so those are going to be the things we address now hopefully we'll expand on several different facilities across the agency for now we just have to bring one out to Newport Richie where I work we're getting there just sad shake the money 30 minute drive just say we're getting there but eventually with that hopefully more staff members will come along down the road exactly we'll see how it goes I'll come yeah I think and when we look at what we can provide to agency members ultimately the objectives are to improve your performance in whatever ways that you feel are applicable to your job but also off the job as well so not just certified members on the road exactly just any of our agency members yes certified and civilian and and also looking at reduction of injury um career longevity and then making sure that we we ensure that we you have the highest quality like possible okay both on the job and off the job during service and post service so those are all objectives of the program both short and long term and then into the future as we expand services across the agency more things will be available I've recently heard that PSO might be the first law enforcement agency to do such a thing it basically kind of sounds to me in my layman terms it sounds like we are trying to make our deputies and civilian members everyone like intense athletes like first of all we should be you know what I mean but it just sounds like the same kind of like training am I am I really like missing that you're not missing it okay you're pretty close okay Pasco County Sheriff's Office is one of the first and I believe maybe the actual first that's taken this much initiative in terms of investment into a program like this hashtag Pasco proud right the model that we're using including the staffing we hope to get into the future is established in the athletic world at the highest levels it's also established within the military okay so we're trying to contextualize that model for use in law enforcement so yeah I would say for the most part PSO is on the cutting edge of that because as far as I know and I've looked into it there's really nobody no other law enforcement agency in the world that's doing something as as integrated as this so seeking out professional performance a company that provides those services and then actively partnering with so I was not just looking for a moment to brag about my agency it's what I do in most videos yeah so everything we have in here has a purpose it's also design both in technology and spacing an application to give you the highest return for your investment possible so that goes hand in hand with the partnership between PSO and exos we're looking to optimize the return for the investment of the agency members we don't really we're not going to prescribe or acquire anything that doesn't have a direct impact in a positive way so all the equipment you see some you may know some is new it all is yeah it's it's fairly proficient you're going to see it mostly in performance centers that that service professional athletes and higher-end military personnel but here that's part of the integration of PSO and exos okay because everything that we need we have we'll expand on these facilities as well as the equipment we provide but the majority of it will be uniform across the agency at every facility so agency members can access the same types of equipment at every location beautiful not like oh I have to go to the detention center because they have this one set sheet yeah it's yeah it'll be set we may have a couple adjustments here and there but for the most part everything will be standard so you'll get more bang for your buck and well at least you'll be working on new equipment exactly the older stuff was it's been around for a while it's good stuff but I think it needed a little you know it it's had seen better days that's all but it got its use it did and then it just didn't it makes me think of a honestly the play brave little toaster I like that I don't know why just flat okay random brave little toaster so in a few of the clips you might see there's various types of equipment that we've acquired and spaced out very deliberately here there's five main sections that you'll see there's Kaiser performance towers which take the place of the majority of machines there's a lot of mechanical and peripheral benefit to those which we go into during our orientation that we offer here Monday through Thursday at 12 we're looking at expanding on that for now but we have those performance trainers we also have not impact cardio equipment which we're going to expand on our energy system development equipment we are going to acquire a few new pieces including a treadmill which everyone seems to really like this one's going to be a little different it's a curve curve so little different little different so again max return for your investment we also have our free weight racks with our barbells and our plates we have a lot of resistance bands that can be used in a variety of different ways we have our free weight accessories such as med balls kettlebells boxes ropes all kinds of different things which we will add to and then our dumbbells which are a little bit different than you would see conventionally they have a lot more return on them in terms of your movement and investment they also have a lot more versatility so each one of those sets is actually five to 90 pounds so we can fit a lot more in a smaller space known from my uncle bobby yeah that's i'm my my grandfather and my uncle bobby jacked dudes what he has yeah it's there you go if you know you know like my grandfather can outrun me in a mile there you go stop yeah that's a that's a man that's is that everything i think so i found it very intriguing just explain explain briefly why there are no mirrors in this room anywhere so there's a lot of different yeah so there's a lot of different ideas on why they aren't the best i mean first they're out to maintain and they have a tendency to break with some of the equipment that we have but also there's some other things when you talk about performance development which does not include taking selfies that's right so we're trying to move away from from people looking at themselves in the mirror and maybe making other people a little self-conscious but also when we look at being productive there is some evidence out there that suggests and i'm a proponent of this instead of using your visual senses to track your your movement cat patterns for your mechanics especially correctives you want to be more aware of it kinesthetically which means mind to muscle so you understand you can kind of feel where your body's moving so with the mirrors being removed individuals who train in here or especially when we're trying to repattern their mechanics they're going to be more aware internally of how they're moving which leads to more return again i like it so like it but don't like it because as soon as i walked in here it was windy outside it was like all right mirror no mirror but it's fine thank you thank you very much the locker room's right around the corner guys if you need a mirror go not that all of you are going i mean come work for us i'm just saying put the careers link in the description then over time you could wind up here too or at any one of our five or six possible locations but you haven't already done so like this video even if you just think it's cool and i think it's absolutely great that we're going to get our men and women in better shape and that's chris's job it's his full responsibility to that's a joke everyone i really hope you caught that it's not solely his responsibility everyone's individual responsibility to also do it on their own if you haven't already done so like the video comment just say hi say hello to the first time to chris the first time you met him and subscribe if you haven't already subscribed and like always we will see you next time guys


Hi, I am Pranab Chaudhary, I am the Center for Land Governance, NRNC. I work from Bhuvaneswar, western India. So, about six months back, we started thinking about organizing a kind of platform where different land stakeholders in India can come together and discuss about land and how land can shape the development in India. So, we thought that it has to be inclusive conversation. It has to be with people from different sectors, from government, from corporate, from civil society, from academia, from legal fraternity. Keeping that in mind, when we started setting up an organizing committee where we could bring in people from different sectors and different levels of institutions and we were very happy that when we approached, all of them came together and all of them are willing to support this cause through different kind of contributions at the time, resources and finally this conference happened and we were very happy to see that this conference could bring in about 150 people. It is the first episode of the conference in India and they came from 15 states, they came from the government of India, government of different states, they came from civil society, they came from academia, they came from legal fraternity and they were engaged in a kind of very endless discussion around eight conference themes and there was a plenary around, a couple of new players came up with the suggestion of different stakeholders. For example, we had a land dialogue where people discuss about many innovative transformations that are carrying out in the field. We had a session on urban panel where they discussed about urban land governance and it was for the first time this, because when we talk about land, it is always, you know, in India land is in a rural context. So for the first time we could find people who are discussing about land in a rural context and urban context coming together and discuss the same thing and really we were very happy about it and with this encouraging response we look forward to see how we take it forward. We are more challenged now but I think with the response we will be taking it forward and we will try to organize it more frequently with more number of stakeholders. Thank you.


We have seen previously that given a power series There is one of three possibilities that happens with its interval convergence The radius of convergence turn could turn out to be zero for which the series only converges at its center The radius of convergence could be infinity for which this that means the interval convergence will include all real numbers or We could have that our radius of convergence is a finite number. That's positive So we have some finite interval of numbers for which the series converges on So I want to work through an example of such a thing and let's identify the radius and interval of convergence So you always want to start off with the radius of convergence and you're going to want to use the ratio test To help you out here. The root test could also be useful But in practice, I'd say the ratio test is going to be typically more efficient So we have to look at the sequence that we're adding up in this series. So we're looking at a n plus 1 over a n like so in which case We have to compute the limit of ratios and determine when does this thing less than 1 well for this series if we look At a n plus 1 we're going to get negative 3 n plus 1 times x the n plus 1 Over the square root of n plus 2 Notice n plus 1 plus 1 is n plus 2 and then if we take the reciprocal of a n We're going to get the square root of n plus 1 Over negative 3 to the n times x to the n and let's combine some terms here We have a negative 3 to the n plus 1 we have a negative 3 to the n on the bottom This will cancel out with most of the negative 3's on the top for which case if we take the absolute value of negative 3 We're going to get a positive 3 so we're going to get 3 right there That's pretty nice The next thing is to look at the powers of x we have an x to the n on the bottom That'll cancel with most of the x to the n plus 1's on the top There'll be one x left over so we get an absolute value of x for which we'll record right here And then the last thing to do is put together your square roots You're gonna have the square root of n plus 1 over n plus 2 Notice that this square root is the only part that depends on n and so as n goes to infinity right here So we're taking the limit as n goes to infinity We end up with 3 times the absolute value of x times the square root of 1 n plus 1 over n plus 1 over n plus 1 is a balanced rational function That'll go towards 1 and as the square root function is continuous We'll get the square root of 1 which is itself 1 so this becomes 3 times the absolute value of x And then we have to solve the inequality. When does this thing? When is this expression on the left less than 1 because that is when the ratio test guarantees convergence Solving for this we divide both sides by 3 We end up with the absolute value of x is less than one-third which tells us that x will be less than one-third But greater than negative one-thirds we get this we get that right there So now going back to the original question about the radius I want to mention that this statement right here is what we were looking for Once we get that the absolute value of x is less than a positive number or the absolute value of x minus a If the center is something other than zero if the absolute value of x minus a is less than something that number is going to be the radius of convergence So we can see right here that our radius of convergence here are is going to equal one-third So we found the first bit that with our center being zero We can go one-third to the right one-third to the left and there's guaranteed convergence there So our radius of convergence is going to be one-third We know our series will converge when x is greater than one-third It'll diverge when the x is less than one-third the absolute value of x is one-third of course So but what about if the absolute value of x equals one-third exactly what happens in that situation? So this we have to be a little bit more careful about when x equals one-third We have to consider the sum when n equals zero to infinity We're going to get negative three to the end, but then we're also going to get a one-third to the end over the square root of n plus one and notice how There's going to be some combination going on right here This thing when you take three to the n times one-third to the end That's just going to give you one to the end aka one and there is this negative sign that sticks around So what you can see it happening is you actually get a sum as n equals zero to infinity You're going to get a negative one to the end over the square root of n plus one right here and so this series is an alternating series and In fact by the alternating series test This series is going to be convergent Notice that the sequence one over the square root of n plus one Decreases toward zero and so the alternating series test gives us convergence So in terms of our interval of convergence We know that x so for our interval of convergence x sits between negative one-third and one-third One-third is included. What about negative one-third? Well, the only way to know it for sure is we have to plug in x equals one-third into Thus power series and see what happens I don't want you to assume that just because one side converts the other side necessarily diverges It turns out like we saw on this slide right here Both sides could could could converge It could be that the right side converges and not the left side the left side converges But not the right side or it could be that neither the left or right converges We don't know without investigating it individually. So let's try it this time if we plug in x equals negative one-third Into our power series we get negative three to the end times negative one-third to the end over the square root of n plus one Like so n equals zero to infinity Well, this right here when you simplify the numerator actually will just become the sum of one to the end Over n plus one square of n plus one. So we're just getting the sum of one over the square root of n plus one And so when I look at something like this This tells me that most likely this series is divergent because this kind of looks like it's a This kind of looks like it is a p-series right one over into the one-half power You have to do some type of comparison test right removing the plus one on the bottom makes the denominator get smaller a Smaller denominator makes a bigger ratio And therefore we actually could show that this series I have to make sure I said this right so if you remove the plus one the denominator gets smaller Which means the fraction gets bigger right and so since the fraction gets bigger We could we could actually make an inequality symbol right here. This would be oh No, I think I keep on saying it backwards there. I'm sorry everyone if you give it of the plus one for right here that makes Well now now I'm just embarrassing myself, right if you get rid of if you get rid of the plus one on the bottom Small that that's a smaller denominator makes a bigger fraction right so that actually I'm sorry that means this one's bigger So that that's why I'm getting a little bit confused here. I what I was saying was was correct I wanted to point the inequality in the wrong direction So what we have here is that this p-series is actually bigger So we can't make it we can't make a straightforward comparison test But you could easily do a limit comparison test and so since this is a p-series Which is divergent now it implied that this one is divergence as well And so since x equals negative one-third diverges This wouldn't tell us that we're going to get a Prothesis right here. And so our interval of convergence will be negative One-third to one-third where one-third is included but negative one-third is not included so we can compute both the radius of convergence and the interval convergence and Most of your calculations for radii and interval of convergence will look very similar to what we see in this example here