Good morning, good evening, good night, good afternoon, wherever you're joining us. So here we have a subset of the committers, not unfortunately, we couldn't get everybody, but we've got a few of the committers. And this is your opportunity to rip them apart. Yeah, sounds fun. Okay, cool. So let's kick off the committers panel. There are already questions coming in. So if you have questions for the panel, please put them in the Q&A section and we will go through that. But I would like to start off by asking the committers to introduce not themselves, we'll do something slightly different, right? So instead of introducing themselves, I would request the committers to introduce someone else. And as they introduce that person, if they could highlight according to them, what was that person's biggest contribution, greatest hits to APM? Did I go first? Sure, go for it. Cool, let me introduce Micola. So the first thing when I saw Micola, you know, all of a sudden, we saw, I saw a lot of contribution, you know, coming from Micola, not in one repo in APM, APM being so many tiny repos, literally every repos we have seen Micola contributing, whether it's any specific client server and all of it, right? And I used to ask Sreeni as like, I want to know which time zone Micola is because whenever, in any time zone whenever I see, always there is to be comments on issues, reviews on pull request. And he's one patient, he's one person with a lot of patients I've seen answering to all the questions in the forum. So just not on issues and pull request reviewing but also answering in the outside forums on discuss and other stuff. So thank you Micola for all the work you've been doing for this community. Thanks, Sai. Thank you. You can go next. Hi, everyone. So, Pazu has been doing amazing job in maintaining APM's Ruby client and Python client and a lot of co contributions on APM 2.0 as well in terms of reviewing a lot of peers that are getting in. And the recent one that I like from Pazu is removing the nonstandard W3C endpoints from base driver. And that's exceptionally well Pazu. And thanks Micola as well. And Jonathan for bringing in this idea of APM 2.0 in terms of decoupling. Hi, so let me introduce Sai. He is very contributed and distributed up. Sorry, I forget the project name but he created a library to run automation tests against distributed devices. And he was very extend APM work to manage devices and test cases very well for more various devices. And there are also every introduced APM new things to other webinars. So like this time also had a workshop to introduce APM, creating APM plugin and APM drivers. So they are very good for extending APM community work to more people so that the work is very amazing for me. So yeah, I would like to also present Jonathan. There was probably no APM without Jonathan or no APM how we actually know it or how we actually see it now built based on known JS. So yeah, Jonathan was one of the first founders, probably after Dan Queller. Yeah, so I would like also to thank Jonathan for all the effort he actually invested in Dubium and still investing. I mean, I would also mention one person who unfortunately is not today with us but it would be unfair to not mention him. This is Isaac Morchi. I hope I told his name properly. So he also invested a lot into APM unfortunately he is not so active anymore but yeah I would still like to say thanks to all the people that are like working with APM like adding new features and working on current features like without you guys there would be probably no such great project so yeah thanks. Absolutely and Nick is absolutely right. You know, APM goes way beyond the committers. So many people have contributed such awesome features and there are some committers which were very active but moved on to new roles and aren't here to be recognized. Yeah, Isaac is probably the most significant. So obviously the project will always have a lot of gratitude for those people and its history. So I think I have to introduce Srinni. I think it's the only one that's not been introduced yet so I probably don't know everything that that Srinni does but in my mind Srinni has done a lot of work to maintain the Java client and help keep that up to date. I personally haven't been maintaining clients very much and I'm not a very good Java developer so I've been really thankful for Srinni and other people as well but who have helped to maintain the Java client. And then also as Kauzu mentioned Srinni together with Sai have been doing a lot of good work to help bring good practices and training to the community through workshops that they run all over the place through the consulting they do at ThoughtWorks. And also now the plug-ins that they're building to actually contribute these projects for free so that other people in the community can use them. So yeah, thanks for all your contributions Srinni. Thanks. I think that's all of us, Narash. Yes, I think that's all of us here. Cool. So thanks again everyone for introducing each other. It's always good to know how someone else views you. With that I'll try to kick off this with a couple of quick questions and then hand it over to the audience for questions. So just firing away quickly keeping being conscious of the time. So I would like each person to answer this. This is something that I would like to hear from each person.  So if you could share what was your favorite full request that in the last few months with Appium 2.0 that came in. Sure, I can go first. I think I committed recently the client side plugins part for Appium Java client. So, Cazoo has done that in Ruby and Python, and we had this left in Appium's Java client support sometime. So that's one way where the server side plugins introducing a new endpoint would be accessible from the client side Java client as well where we have a lot of users that could benefit from. I'll probably go next. I literally loved most of the PRs which came through Appium 2.0 the reason being the architecture at an architectural level things change. So me looking into most of the PRs also helped me learn a lot of things with the entire restructure happening. And also, I really like to look into most of the PRs with Appium 2.0 is because I've been trying to help the community more to understand about the changes that are coming into 2.0 and also especially the driver and the plugin expansion. So that's something which I really loved it and I literally looked at most of the PRs to understand exactly what really is going on under the hood for us. From my side, the most interesting thing is Christopher's PR. So Christopher is not in this, in this panel now but he helped us to make distributed repository into the one repository. So previously Appium 1.x had many repository to develop Appium itself, but he integrate many things in one Appium repository to help development Appium development itself so 2.0 will be more easier to manage dependencies in Appium 2.0 development. So, and then that change was very huge. So his help very impressed me to how Appium 2.0 is going toward to more good work. Yeah, thanks Kazoo. I was actually going to say the same thing of all the other code that I reviewed. The code that Chris wrote to turn Appium into a Mono repo was probably the most interesting, also probably the most line count, because it was very big change. So I think that would be my answer as well, but to say something new I suppose some of the work that I've done I really liked adding the code to support new plugins. I think that was the most mentally challenging. There are still some bugs that I'm trying to work through. And it's pretty hard to think about how we can allow other people to write code that changes the way that Appium works without everything breaking. So we'll see if that actually happens, but that's been my favorite so far. For me it's very hard to actually find something that is favorite because I did so many, I mean at least reviewed or saw them. Probably, I mean, I like challenges and the one you probably did Jonathan was the most challenging one because there were like, I don't know how long I scroll to actually reach this VR. So did you did several iterations, I think like there was more than an iteration but whatever like this was probably the first PR to actually make this packages stuff work in driver installation all this stuff was basically one of the foundation that Appium to the zero is working on so yeah. It was the most challenging probably and that's why I like it. Okay, I think we've gone through everyone. Last question from my side. If you had a time machine, you could go back in time. What is the one thing that you would undo from Appium. I think I would go back and make some changes to Java client. Definitely want to do that because there are a lot of interfaces which we've been talking to knock that off. But if I had to go back to and do that I wouldn't, I wouldn't definitely really look into Java client to see how we can write it. And for me, if, if I could go back to, you know, even six or seven years ago. There was a time when we did an internal re architecture of Appium, I think it was for Appium 1.5. And at that time, we, we broke out all of the drivers into separate repos. We saw that we needed a better architecture that didn't kind of mix and match all the driver code. And I think we were so close to kind of seeing the idea for Appium 2.0 at that point, and it would have been very easy to just do that at that point. But instead it took like five or six more years. So I think there was a long period of development where we kept building in a direction that's going to make it a little harder to move in another direction now. I kind of wish we had done the third party drivers thing five or six years ago. You know, we, Appium wasn't as popular then we didn't really know. We didn't think that there would be any reason for other people to build drivers on Appium. That just wasn't an idea that we could see clearly. But I think that that would have been a great, a great little kind of one little extra insight that could have gotten us on our trajectory, a little faster. From Appium's Java Client perspective, long back in history, we did pull some files from Selenium's Java Client along with its commit history and brought in those into Appium's Java Client. Find the classes, probably I would have found that better now. My case is ordinary Ruby client. Only Ruby client was only one library. And currently I exposed the Ruby client core outside of Ruby client itself because Ruby client had a many hockey code because probably Ruby client was one of the oldest client for Appium. So Ruby client also have many client side some hacking implementation to, for example, parsing source page source result in the client side. So that has many legacy codes. I exactly extracted some core features outside of Appium Ruby client core. Probably even, even now, many people use the Ruby client from the order, not core, Ruby client itself, they use, many people use that, but that has many hockey code as well. So not easy to implement to recent imperial libraries. So if I can back to the past and when just a while developing Ruby client self, then I'd like to improve the architecture more. That was probably more five, six, seven years before. Very legacy. History code. Okay. Yeah, thanks, Kaz. I basically have no regrets. So if you would say like, if I move to the past six, seven years ago, I mean, probably I would be doing exactly the same because yeah, I just remember when I joined the project, there were about like eight, yeah, 800 bucks in the issue tracker. And in like very short time, we were able to decrease this amount to probably 100 and out of those like quite a few were box actually most of those were improvements or something like that. So for me, what's important is that the project is alive, people are actually using it, people are giving the feedback. And it's like nature, this natural loop when you constantly like implement something you get immediate feedback and like, you make it better, you have a possibility actually to improve it. And this is what I really like about this project probably this is not the same thing like if you're working for a big enterprise. And they're like this iteration could be a bit longer or much longer. So up to like several months. And in comparison to that in opium, if you do some changes, you can get feedback calls almost instant, like, and just push it to better and then get the feedback almost instantly from the people and this is what I really liked about the project. So that's why I don't have any regrets because most of the, like features or bug fixes or stuff that we were done to this project they were actually supported by people they were confirmed they make someone happy. This is the main thing in this project that this is making people happy. Alright, I think we are now done with all my boring questions so we could now jump in and take some questions from the audience. I see two questions so far I'm wondering, there are more questions coming in, but I'm thinking we'll let the person speak up and ask the question instead of me reading out. This will be a little bit more entertaining. So I see the first question from Amar. I'm just enabling the ability for you to speak up. Hey, am I audible? Yes. Okay, great. Thanks, Naresh. Hi everyone. So my question is basically we have two Android apps and we are testing one of the Android app or using an automated way using Appium Python. We have quite a few automated tests already in place with all of the helpers and wrappers in place but now we also want to automate the, we also want to have automated tests for the another app which is an hybrid app. So here's the idea of making use of the existing helpers and wrappers and the tests to accommodate because since the app is quite similar but a lot of workflows are different. So how do you guys suggest that we should go about, should we split the existing functions and helpers so that both can be, those helpers can be utilized for both the apps or in that case there will be minimal duplication. So hence that method or we should rewrite or completely come up with new helpers and new tests for the other app. Yeah, good question Amar. I mean, I think you already have an idea of what to do based on your question. If you, if you're using something like the, the page object approach. Yeah, you could, you could very easily have two page objects for you know, a sort of base page object for each page that handles the case for a certain app and then another page object that simply extends it and overrides functionality with differences for the other app. So that's a, that's just one way there's a lot of ways, but to have kind of a minimal description of the changes that you would need to, to automate one app versus another app. I mean, it sounds like they're similar enough that you'd want to take advantage of the same helpers and things like that, but I know it's really inside probably also as consultants have opinions on test suite organization. I'm not sure what those methods, that's in this context, probably some of the methods can be as a plugin that could be used instead of doing as a community. Okay, cool. Nirashwana. I think we'll move to the next person. So I see the next person here is Raj.  Raj, can you speak up please looks like you're on mute. Well, maybe Raj can't speak up but I'm happy to read their question. Since Appium 2.0 is NPM based, how can it be used for the Java language bindings? Who wants to take this one? Okay, I'll go for it. Go ahead, Mykola. Go ahead. Okay, thanks. I mean, basically, the idea is that we don't change much. So for Appium 2.0, it will be exactly the same experience or very similar by client experience. So basically, you will only have to change very minimum things on the client side to use Appium 2.0. So it's mostly like server changes, ideally, ideally. Like the strategy is that you just like transparently update your Appium server and then use the same client code without any changes or with minimum changes. Like there is another challenge there that Selenium itself is moving to version four. So basically for Python, Ruby and other clients is not so like breaking change because those are dynamically typed and like changes there and also basically what Appium has on top of those is not so much. So that's why it's more or less like less painful, I would say, but for Java and .NET like change where we have like static typing and strict typing. So changes seems to be huge because some interfaces are going to be changed at some like basic foundation elements. So that's why I would rather care more about this change, like if you want to switch to Selenium 4.0 and how this is going to work with Appium Java because it's already containing like many hacks in order to make it working together with Selenium. And we know about some like known issues, but unfortunately, and we even use for example like Eclipse compiler instead of the standard Java compiler to make this working. And this is something that we don't like ourselves, but there is no other way to actually make it working together with current Selenium. Unfortunately, unfortunately, this is a result probably of miscommunication with the Selenium team, but this is how it is historically, like I don't know the initial reason for that. This is just how it is. So basically, like the next big step would be actually to make sure that Appium client works together with Selenium 4.0 and also like W3C related stuff because for example, like main changing in Appium 2.0 will be that it only supports W3C. So for you, for example, from the client side, it would be important just to make sure that you use the most recent client and you don't use some deprecated stuff because it will most likely not work anymore. Yeah, thanks, Nick. And just to add to that in case, in case the person didn't know Appium 1.x was also NPM based. So nothing is changing in the way that Appium is written or installed. So the Java client works with 2.0 the same way it works with 1.x. And another point to add is there are a few required fields which we changed in 2.0 like the base path and stuff. So very recently Manoj and Srinay added a pull request. So if you're starting your Appium server with Java client programmatically, so probably you will have some changes in those areas as well, just like if I, yeah. Cool. Jonathan, you want to read the next question? It's anonymous so I can't figure out. Yeah, yeah, sure. So this person's asking that why we use a lot of driver.execute script methods for certain special Appium commands like the mobile colon scroll command and could we perhaps get a better way of executing them. So yeah, this is a good question. I have my opinions but I'll let other people answer first. Maybe I can go first on this. So the mobile colon methods, non-standard methods in Appium. So we have the methods, I mean, apart from non-standard all the standard methods are very well defined in Appium. Since we have a lot of non-standard methods that are platform specific introduced by Android and Apple platforms. So we do handle these through the script endpoint which is under the driver.execute script. So probably there is a, that could be handled better maybe for plugins which we use driver.execute not the driver.execute script method. So yeah, Jonathan has some thought process on the way how we handle client-side plugins. Maybe something for us to look into next on the way how we add commands, I mean the special commands in which Appium plugins being in the client side. Yeah, exactly. I mean, I think there's two components to this answer. One is that there are reasons that we did it the way we did it before. And the other answer is what could we do differently moving forward. And, you know, I don't think we need to get into all the details for why we did it the way we did it before. There are some really good reasons. Primarily to make it possible for clients to access non-web driver commands without having to update clients and require people to download new clients to access new features. So basically it was a way to get people to access new features as quickly as possible. Moving forward, now that the drivers are all kind of independent. I think it makes sense for drivers to ship their own client-side plugins if they want. So mobile scroll, for example, works in the XUI test driver. Also, the UI Animator 2 driver, let's just take the XUI test driver. The XUI test driver could implement that as a full-on web driver route and it could provide a client-side plugin to ship along with the driver that people could use to have quote unquote first class access to this function. But that would just be up to the driver developer to do that. Okay, should we move on to the next question? There's one from Shyam. I'll just read it out straightforward. When will Appium 2.0 expected to be released? Next Christmas. Yeah, I'm just going to go ahead and say in two years just so that it doesn't keep being wrong. Although I will say if you caught this part of my opening keynote but I would watch that because there's a section on the work that is left to be done before Appium 2.0 can be officially released. And there's really not that much left to do in terms of development. It's mostly documentation. So that can take some time to get it right. But in terms of when Appium 2.0 is ready for you to use now. So start using it. Cool. There is a same person asking another question. So I'll try to see if Shyamla, you can speak up. Hi, my name is Shyamla. Thank you for unmuting. My question is that on iOS, I see there is no features for Appium features to trigger the deep link, application specific deep link on iOS. Is it so or will it be available in your future? I'm talking about application specific deep link. Next, you want to take us away? Yeah, so basically, there is a nice actually Appium Pro article by Jonathan about deep linking in Appium. So actually, there are like on iOS, there are like a limitation from Apple site, basically that we cannot run deep link like in Android. Let's say with IDB because it just does not provide any APIs to do this and the only API that is present there just doesn't work because of probably some internal security that we cannot work around. This is just how Apple designed it. I don't know the initial reason. So basically, you can only do it on simulator because on simulator with Xerun, SimCTL, there is a possibility to run a deep link. So if you want to test your app with linking, then use simulator for testing on your simulator. Or if you still would like to use real devices for that purpose, then probably you can use as a workaround this method when you just paste this link in the Safari address bar and launch it from there and it will probably work most likely. I mean, basically I don't know other like ways to work around this and make it reliable the same way. So yeah, that's only the question to Apple like when they provide this API to us or if they provide. Yeah, actually in the recent time my project demands that to trigger the deep link on iOS. So I was looking for solution. I could find that Xerun and to trigger the deep link through a Safari, but as it is application specific, it didn't run. So that's the reason I was looking. I was asking this question. Thanks. Looks like it's still because of the Apple security she's not habitable means like correct. Thank you for clarifying. You're welcome. There are many things that we cannot do because of Apple security limitation. Unfortunately, but yeah, this is the reality. Yeah, one other thing I mean so as Nick said on the simulator there is a method for this is you just call driver dot get or driver dot navigate whatever opens a URL. You might have to have actually previously launched your app on the simulator. I think there are some restrictions if you've never opened an app and then you try and open a deep link to it. It might be more problematic. Yeah, follow follow the app in pro article should hopefully answer some more questions. Okay, cool. Next we have a question from Shubham Shubham I'm unmuting you. My question is, if you can speak up sort of that'll be great. Now I'm out of them. Yeah, I can hear you. So my question is that what was the reason behind building a PM in Node. Well, I guess my response is a question to you. What should we have built it in. I think there are so many languages such as Java Python. But I like the most JavaScript, and I think there are so many features of Node. Yes, and which I think one of the reason but might be it's your favorite language and you have started with this. Yeah, I mean, I guess I'm the only one here who was part of making that decision. So that a very small part of it was that, you know, we were familiar with Node.js. It wasn't really my primary language my primary language at that time was was Python. But one of our goals for Appium was that we really wanted contribution from a lot of different people. And we were very familiar with the Selenium project. And it seemed to us from the outside like Selenium didn't get a lot of contribution because some of the code base was fairly complicated. And so we kind of, and Java is a language which is hard to contribute in unless you already know Java, right if you're a Python developer contributing to a Java project is very, very difficult. So we felt that choosing JavaScript would make it more approachable for people from kind of all sides, because most people know some JavaScript, if they've done any sort of web development. And JavaScript isn't a very scary language right it's, you know, it was sort of a toy language. And so it doesn't have this kind of intimidation factor like if we built Appium and Haskell or rust or go. You know, that would be kind of intimidating I think for a lot of people. Also, Appium is a server, a web server, and Node.js had great tools for rapidly developing web servers, especially compared to something like Java. And so we really wanted to get something up and running pretty quickly. So those were sort of the reasons that that we did it and then obviously node and JavaScript have evolved in tremendous ways. It's been the last nine, 10 years since Appium has been around. And so we've been always making use of those advances. And obviously had we known that Appium would become as massive as it is. Maybe we would have chosen a types language. Maybe someday we'll convert Appium to TypeScript or something like that. So there's always things that we could do differently, but I think choosing Node was was really great for the time and it has helped Appium to become what it is today. Yes. Thanks, Jonathan. Thanks, Shubhan. Initially, Appium was written in .NET, actually, right? So when Dan Cuellar did, then it would like for the first two requests, this was a .NET project. Well, yes and no. I mean, Appium at the lightning talk was .NET, but the only reason he used .NET is because he was a Windows developer and he just used it essentially to call a sub-process. And then he met with Jason Huggins and they decided that Appium should be in Python and wrote like a couple files, but then it was like clear that they weren't actually going to be developing it. So it kind of came to me to actually develop it. And so we sort of had the opportunity to choose at that point how we wanted to begin. Right, Nick. Depending on what you call Appium, the very, very first demo of Appium was .NET, which is ironic because that's our worst finding right now. Right. That is the next question. Difference between driver and plugin in layman's language? Really, I'll try to answer that. Drivers are essentially something that translates your Appium client commands, right? If it's iOS, Android, and, you know, in the keynote, Jonathan spoke about a lot of other platforms that we can automate, right? Like Chrome OS and Roku devices and stuff like that. So Appium tries to take the client command and translate them to what they can understand, what those specific platforms can understand. So that's what the driver does for us. So the driver receives that from Appium from your client, translates to what that specific platform can understand if it's Android, iOS and stuff like that. And what the plugin does here is basically plugin is something which can modify what that driver can perform if it's find elements, right? So plugins can go and probably modify or even override how a find element for that platform can be done. Yeah, probably I'll try to put it the best driver and plugin. Maybe if someone can also add something. Yeah, I think that's exactly right. I mean, drivers are for automating platforms and plugins are for everything else. Plugins can do a lot of things, so it's a little hard to narrow down exactly what they can do. Yeah, it's also even possible to like automate or create a plugin that will cover like multiple drivers. So for example, like with image recognition plugin, like you can use it with multiple drivers with iOS, with Android, with any other driver that actually supports elements finding like you can plug in this image recognition there and it will just work. So it's a nice example actually of a cross-platform plugin that is probably useless on its own. But in like combination with this specific driver, this will be really of use. All right, we are almost out of time, but there is one last question. So let's do it and then we will wrap up. So the next question is, does the APM team have a plan on maintaining the plugin ecosystem? The reason being, ideally if I develop one, can it be made under the officially available plugins? Yes, we won't maintain your plugin for you, but if it's a good plugin and if it seems useful, then we can add it to the list of plugins that people can download using the APM plugin interface. You know, we'll probably want to do a little bit of a code review and make sure that it's not like a malicious package and things like that. And like I said, we're not going to maintain third-party plugins from a code perspective and if it goes defunct, then, you know, we can remove it from the list again. But absolutely we want to make sure that plugins are discoverable and I have some ideas for how we can, you know, have a nice repository of drivers and plugins for people to find them from around the world. All right, I think that is the end of the panel, but we can use this opportunity to now just thank everyone who's helped us put this conference together and also talk about there being a lot of questions around how can I be part of the speaking panel, how can I be part of the organizing group and so forth. So we'll probably spend a few minutes just answering those questions. So first of all, yeah, I want to thank this panel here for taking the time out on a Saturday morning for few of you early morning. Appreciate that. And for a few of them pretty late on a Saturday evening, so also appreciate that. I think it's always great to have the conference closing with the panel with all the committees. That's been a tradition we do on Selenium and FDM. So, you know, it's always great to do that. Thank you for joining in. I just also want to thank all the attendees. You know, it's a Saturday. Usually it's a day off, but appreciate everyone who joined in today to the conference and over the last two days. We've started with workshops and then we had two days of a packed schedule. I think the feedback has been very positive. We also obviously look at the ratings that all the attendees have given. Plus we will be sending out a post conference survey to see if there are any other suggestions or feedback you might have to help us improve this. We certainly plan on doing the conference again, hopefully in person so that we are all in the same time zone and not spread out. But I still think this was great because we were able to bring in speakers who generally other ways would not come in. At least I heard from four speakers saying, you know, it's virtual so it's fine, but if it was in person now. In some ways, it has its advantages, but I think a lot of people would probably prefer the in person and we'll see how things unfold over the next few months. Generally our plan is we at least here in India we do apium conference one year and then selenium the next year and then apium the year again after that. So we kind of alternate between that, but we could depending on the interests we could revisit that decision, but as of now I think we've not decided whether you know it's going to be next year or not. So we will certainly announce that once we internally discuss that. I want to thank all the sponsors who've been such wonderful supporters of this conference again like I said, when we announced the conference I think it was 1000 rupees it's like less than $15.  It's a nonprofit event. And it's in the spirit of open source so we want to build the community and we want to make it accessible to as many people as possible. So you know we try really hard to bring down the cost it's accessible to as many people as possible across the globe, and our sponsors play a very important role in helping us, at least financially and in many other ways in terms of marketing the event in terms of reaching out. I know each of the sponsors have reached out to their network and help spread the word. Also broad end speakers and so forth so it's a I would say it's a fantastic ecosystem we have here where we all kind of work together towards building the community. And just quickly answering the last two questions that I think people had I think video I already spoke about that in the morning 15 videos from the conference are already live on the YouTube so you should be able to go and watch the videos on YouTube 15 of them are up. Hopefully the rest of them we will get them early next week. And so all the videos are also publicly available. You know you, it's that you don't have to register or pay to watch the video. It is all publicly available on the YouTube channel. How to become a speaker.  You put in your details and your idea, and you hit the button, and then that's it. I don't know, I guess I'm being silly why doesn't someone give a real answer, but I think that's it. Generally six months. Sorry, go ahead. In case if you need any help on finding your talks. We do share the feedbacks and if you and there are certain for certain folks we did also have a couple of writers, and we find in those talks before the conference. So feel free to submit. It doesn't matter whether it is simple complex doesn't matter. We always happy to help you folks doing those. Yeah, so we use an open submission approach for speaking at the conference or about six months before the conference or whenever we all get our act together and we say okay, it's time to announce the conference we generally announce the conference and when we announce the conference we ask for two things. We do a call for proposals which basically means people can submit their ideas to present at the conference. And there is a guide that helps them in terms of what all information is required, all all submissions that you put in our publicly visible. It also keeps us honest that when we are selecting the talks we are selecting, you know, without any bias or without any favoritism, if you will. The idea is this is an open conference in the open community, and we would like to encourage as many people. Especially look for diversity both from experience speaking. So at this conference we had many first time speakers who had never presented before. And like Sunni was saying we kind of have a bit of a shepherding program where we work with them and help them present at the conference because I think that is very important for the community. We also look specifically for people from different backgrounds, different ethnic backgrounds, different regional backgrounds and I think we tried our best to be as inclusive as possible. And I think we want to get better and better at that, for sure. But yeah, you can submit your proposal and you know that's that's what we'll get you started. Once you've been part of this conference whenever we announce the next conference we do send out an update email to everyone saying the call for proposals is open but you can also check out the appium conf website. And when we also announced the conference we also call for program committee members. And so that is also if you if you're interested in being part of the program committee helping us review the proposals, give feedback to the speakers to find the proposals, we also welcome program committee members. And so you know that's the other way you can contribute to the conference and the last is obviously volunteers who we had a fantastic group of volunteers who were helping the speakers and making sure you know everything was running on time and smoothly. This is again something that personally, you know, I am a very big fan of studying things on time and wrapping up things on time. Especially in a conference if you don't do that then you have a snowball effect, and then people are completely confused what is going on right now you know it just leaves everyone in a confused state. So, you know I think pretty much every session, I would say with a margin of one or two minutes we started on time and we've tried to wrap it up on time. And so that a lot of that goes to the volunteers and the speakers for helping us keep the time and keep the program running smoothly. So yeah I think those are three different ways in which you could contribute to the conference and be part of the conference. Okay, with that signing off. Thanks again everyone. Awesome. Yes, thank you. Thanks all volunteers, speakers, attendees. It's been awesome.


Hello, hello writers! I'm Kristin Kiefer, author of fantasy fiction and creative writing resources, and you are listening to the Well-Sturried podcast, where I share insights, encouragement, and actionable advice designed to help you craft sensational novels and build your best writing life. Always in 30 minutes or less, so you can get back to writing, of course. Ready for the show? Let's get talking! Hello writers! My name is Kristin Kiefer, and you are listening to the Well-Sturried podcast. Today is Friday, October 18th, 2019, and today's episode is titled, How to Craft Romantic Chemistry Between Characters. If you would like to read along as you listen in, simply visit www.well-sturried.com-chemistry. Now let's dive in. As both a reader and a writer, I am a big fan of romance. I love the unique tension and allure that exists within a love story, the will-they-or-won't-they mystery that leads to such great page-turning material. But that material can't exist without strong romantic chemistry between the characters in question, as evidenced by many a lackluster rom-com, right? And unfortunately, chemistry isn't exactly easy to define or to craft. Though I don't write within the romance genre myself, romantic subplots are a staple in my personal brand of storytelling. So today, I'm going to share with you everything I've learned about crafting romantic chemistry readers can believe in. But first, what exactly is romantic chemistry? To craft a believable romance, it's important to first define what romantic chemistry is, or rather, what it isn't. Romantic chemistry isn't physical attraction. Just because two people are physically interested in one another doesn't mean that romance will blossom between them. However, an immediate physical attraction can encourage people to get to know one another better. No innuendo intended there. This in turn can lead to a deeper attraction that may result in romance. It's important to note this difference between romantic chemistry and physical attraction for several reasons. Firstly, conflating these two types of attraction erases the existence of asexual people, many of whom feel romantic attraction despite a lack of sexual desire.  Secondly, relying solely on physical attraction to build romantic chemistry between characters always result in a shallow, lackluster love story. People don't fall in love simply because they find one another sexy. That's lust. And while lust can lead to a similar will-they-or-won't-they tension and even erotic passion, it doesn't make for a love story, not on its own. So what is romantic chemistry? We've all heard romantic chemistry defined as a spark between two people, and this definition isn't wrong. Romantic chemistry is an energetic exchange between people that indicates that romance could exist between them. Like all relational chemistry, a key ingredient in romantic chemistry is attraction, the pool that interests one person in another. But the types of attraction that create romantic interest will vary from person to person. In fact, there are four main types of attraction that you can use to craft a romantic profile for your characters. Let's take a look. One, physical attraction. A desire to touch and be touched by another person, often in a sexual way. Two, intellectual attraction. A desire to engage with someone due to their intellect and or interests. Three, social attraction. A desire to interact with someone because of their social aptitude, their confidence, humor, ambition, likability, and or particular social personality traits. And four, emotional attraction. A desire to connect with someone on a spiritual level. An attraction often prompted by a person's emotional capacity, attitude, beliefs, or shared experiences. On their own, each type of attraction can lead to great platonic relationships. But because romantic relationships are so intimate, romantic chemistry typically can't exist without the presence of two or more of these types of attraction, with emotional attraction often being essential. How can you use this knowledge to craft believable romantic chemistry? You know how enamored partners often refer to one another as their better half? Well, it's time to kick this phrase out of your vocabulary. To craft believable romantic chemistry between characters, you must first craft believable characters. Ones that aren't merely half of a love story, but that are whole and complex creatures in their own right. A lack of believable romantic chemistry exists when readers don't understand why two people would be attracted to one another. In these cases, authors likely spend more time worrying over their romance than their romantic chemistry, crafting a piece with all the hallmarks of a love story that fails to create a foundation for love to blossom. To avoid this misstep, it's vital to craft fully realized characters that can exist outside the confines of your plot. When you do, you're able to define what each character would believably find attractive in a romantic partner, then continue to shape your characters into a great romantic pairing. To do so, you might find it helpful to first identify the general type of love story you want to tell, or the particular bond you wish to create between your love interests. This will allow you to craft characters that are best suited to your story and to one another, without sacrificing genuine characterization and romantic chemistry. For example, let's say you want to write a rags to riches romance. A cash-strapped young woman meets a wealthy rock star, they fall in love and get married, she's no longer poor, happily ever after. Sound good? Now let's take a look at how you can use this foundation to develop whole and complex characters, beginning with your rock star. What could lend a little depth and nuance to this one-dimensional character? Perhaps your rock star is disillusioned with the wealth and fame he's experienced. When he first began his career, he thought money and attention would fill the emptiness left behind by a traumatic and unstable childhood. But when success only leaves him more lonely and depressed, it's a shared cab ride with one particular young woman that turns his world upside down. It's not long before he's hopelessly attracted to her down-to-earth attitude and appreciation for life's simple pleasures. Your romantic storyline certainly doesn't have to mimic a Hallmark movie as closely as this example. But can you see how easy it is to craft genuine romantic attraction when you first develop your character as an individual? In just a few short lines, I defined our rock star's lifestyle, worldview, notable backstory, and the lie that he believes. Knowing all of this, it wasn't difficult to determine what he might genuinely find attractive in another person. And from here, I can continue to deepen his characterization, internal arc, and romantic storyline. If I were to repeat this process with our rock star's love interest, I'd be sure to develop a character that found him equally attractive because of her unique characterization. In fact, let's go ahead and do that. So, our young woman is down-to-earth and appreciates life's simple pleasures. But who is she as a person? Well, perhaps she enjoys the simple things because she was raised by a single mother who lived paycheck to paycheck. Despite this, her mother made sure to create special moments with her daughter, especially in the kitchen. As an adult, this woman now loves to bake. In fact, she even runs a bakery out of her kitchen. But the business is falling on hard times because she's too reserved to seek out catering gigs and vendor opportunities at local events. But then she meets the rock star. He is grumbling and groaning about his dissatisfaction with his career. But when she asks him why he got started with music in the first place, she is inspired by and attracted to his passion and ambition, something she also sees within herself. Again, see how easy it is to develop a genuine spark between characters when you first consider who they are as individuals. As you craft your own characters and the romantic chemistry they share, remember to bear in mind the four types of attraction that can combine to create the spark that readers are looking for – physical, intellectual, social, and emotional. Great chemistry can exist with two or more of these types of attraction. So long as your characters find one another attractive in the ways that are most important to them. Take special care to show this attraction playing out on the page rather than telling readers what you want them to think or feel. The growing depth of your character's connection should be evident in the ease and comfort that develops between them, in the ways that they feel seen, known, and understood, and in the joy or challenge they find in being in one another's presence. Earlier this week I read an excellent article by K.M. Wyland of helping writers become authors on crafting chemistry between characters in any sort of relationship – friends, enemies, lovers, and beyond. And I love what Wyland says about how you'll know you've built believable chemistry between your characters. Stories with great character chemistry are the ones where you just can't wait for two particular characters, whether they're romantic or not, to get together on stage because you know the results are going to be electric. End quote. The love interests in your story should always be complete and complex characters in their own right. And developing them first as individuals can help you craft genuine attraction between them. But when your characters' shared experiences are some of the most dynamic and engaging to write and read, you'll know you've created romantic chemistry your readers can believe in. Thank you for listening to today's episode of the podcast writer. I hope you found it helpful to your writing journey. If so, make sure to subscribe to the podcast so you never miss a new episode, and to give the podcast a quick rating and review. Doing so goes a long way toward helping the podcast reach new writers and lets me know that you're enjoying what I'm creating. You can also give me a shout out directly on Twitter at christen underscore keeper. For additional guidance as you work to craft sensational novels and build your best writing life, be sure to head on over to www.well-storied.com where I share blog posts, workbooks, e-courses, and other helpful resources for writers. Again, that's W-E-L-L-S-T-O-R-I-E-D.com. Thank you again for tuning in to today's episode, my friend. Until next time, happy writing!


Hello friends, I am Sanjay Bhukta. I welcome you on Sanjay Bhukta Tech School. In this video, I am going to explain how you can convert uppercase matter to lowercase and lowercase matter to uppercase. Those are available in our stream and I will be implementing this with the help of ASCII values. So I will also explain them what are ASCII values and how we can use them. Before start, I just want to share one information. If you go to detail or description of this video, you will find links of various playlists related to C language to get so you can follow them too. So now coming on to the topic for this video. So first of all, I am writing beginning statements of the program. So I am declaring one string then one in these are variable that divide. Now to read string from user, I am writing a print out statement. And then get us as here. Right. So these are very simple statements those are required for every program if you are performing any kind of operation. So now we need to understand how we can convert uppercase to lowercase and how we can convert lowercase to uppercase. So here I will be using ASCII values. Those are available in stream. So ASCII stands for American Standard Code for Information Interchange, American Standard Code for Information Interchange. So in case of programming, each character is having predefined ASCII values. So right now we need two type of ASCII values one for uppercase and one for lowercase. So I am writing those. So for capital A to Z we have 65 to 90. 65 is for capital A, 66 is capital B and so on. And for small a to Z we have 97 to 122. So 97 is for small a, 98 is for small b and so on. Right. Now in case if you have capital A, if you have capital A as string value and you want to convert it into small a, you want to convert it into small a. So you can just add 32. So this 32 will be added to ASCII value of this A. So capital A ASCII value is 65, 32 will be added and it will become 97. Right. So wherever we apply mathematical operation on character constraints, so they internally automatically converts into ASCII code that operation will happen. And 97 will become small a automatically while we will be storing that into character variable or string. So if you want to convert uppercase into lowercase, so you need to add plus 32. So if we add plus 32 for capital A, so it will become small a. If we add 32 in capital B, so it will be converted into small b because difference between all the ASCII uppercase and lowercase values are 32. And if you want to do vice versa, like you want to convert lowercase into uppercase, so you can simply subtract 32. So lowercase ASCII value is higher than uppercase. So you need to subtract 32. So if we subtract 32 from 97, it will again become 65 that is equal into capital. So this logic we are going to use to fulfill this requirement for strings. So now I'm going to implement a loop. It will repeat till null character. So inside this loop, I need to check that the string is containing uppercase or it is containing lowercase. So here I am putting this. So str of i is greater than equals to 65 and str of i is less than equals to 90. So if the character which is available in string exists between this range or that character's ASCII value is between these 65 to 90 range, then it will be uppercase. So we can convert it into lowercase like this. You need to simply add to that character 32 so that it will be converted into lowercase and that will be assigned back into that. Then else if str of i is greater than equals to 97 and str of i is less than equals to 122. So it means the character which is available in string is a lowercase because that characters ASCII lies between this range. So you can write str of i equals to str of i minus 32. So this way the conversion is happening. So if it is uppercase, we are adding 32 so it will be converted into lowercase. If it is lowercase, then we are subtracting 32 so it will be converted to uppercase. And after this conversion, you can print the result. So if you implement this program in your laptop, so you can see the output of str will be having all the uppercase are converted into lowercase and lowercase are converted into uppercase. And how this conversion takes place?  So internally all the characters are converted to the corresponding ASCII values whenever we apply any mathematical operation on them. So remember this like if you are applying any operation on characters, they will be converted into ASCII value. So you can simply add or subtract any digit to those characters because internally that operation is happening with the help of ASCII values. And if we assign any ASCII value back to that character of string, so that will be converted automatically into corresponding character. So this takes place automatically. So you just need to remember the gap between uppercase and lowercase ASCII value that is 32. So from lower to upper add 32 from lower to upper subtract 32. So this you need to remember and you can just remember these ASCII values as well. And if you don't remember this ASCII value, so here you can put capital A in single quotes and here you can put capital Z in single quotes. And similarly in place of 97 you can place small A in single quotes and here you can put small Z in single quotes. So if you don't remember ASCII value then also you can implement this program if you know that you can directly use them as well. So I hope this way you understood how we can convert uppercase to lowercase and lowercase to uppercase in a string. And if you want to watch more programming related videos, you can open my channel, go to playlist and see various variety of programs. Also you can go to detail or description of this video where I have already mentioned links of all playlist related to C language. Those are available on my channel. So do watch them and thank you for watching them.


My name is Kelly Crocker, and I am one of the ministers here. Today, I'm joined by my colleague, the Reverend Kelly Asbruth Jackson, and the worship team of Linda Warren and Daniel Carnes. The vision of First Unitarian Society is growing souls, connecting with one another, and embodying our Unitarian Universalist values in our lives, in our community, and in our world. If you are visiting us today, welcome. We're so very glad that you are with us. If you'd like more information about First Unitarian Society, please stop by the welcome table located out in the commons, out these doors, and to my left. And we hope that you'll be able to stay and join us for our fellowship hour, which happens right out in the commons after service. Our all ages after service activity this morning will be down at the end of the commons in the religious exploration area. We will be creating our very own pride flag together.  And we hope that you'll be able to join us for our virtual coffee hour immediately following today's service. The information for joining can be found on the homepage of our website, fussmedicine.org, as well as on the slide that will be seen again after the postlude. Our announcement slides will also be shown briefly after today's service and we encourage you to take a look at those and learn more about upcoming programs and activities. And now, I invite you to join me in a moment of silence as we center ourselves, bringing ourselves fully into this time, joining together once again in community. People sometimes ask, is pride a protest or a party? And the answer is, of course, yes. And why not? Why not rejoice as we resist, dance as we demand change, celebrate as we create community that delights in all of who we are? So bring all of that with you this morning. Bring your policy demands. Bring your glitter. Bring your Supreme Court broken heart. Bring your rainbow socks. Bring the emptiness you feel for our siblings gone too soon. Bring your Gloria Estefan remix. Bring your tender hope for change. Bring your most garish eye shadow. Bring your spirit. Tattered and battered by a world that seems insistent on choosing fear and hate. Gather up all these things and bring them here to a place where we don't have to shoulder these burdens or celebrate these joys alone. Come, let us worship together. And I invite you now to rise in all the ways we do and join in our words of affirmation as we light our chalice. We light this flame to ignite our hearts and minds, the spark of knowledge that enlightens, the shimmering hope that burns, the blazing love that engulfs our actions, the bonfire of our commitment. Now will you please stay risen in body and our spirit as we sing together hymn number 10-07 as a river flowing in my soul. We seated. And if anybody would like to come up closer for our story, please do come on up. I saw your sister covering her ears and running out. It was amazing. Robin, how you been? Your poem was amazing last week. Did you see it? It was so good. Well, our story today is about a peacock. Have you ever seen a peacock? Don't you? I love wild crats. Absolutely. I kind of want to live in the Tortuga. I kind of want to live. I once lived in a house where a neighbor had peacocks and two of them escaped and lived in the trees in our yard for a few weeks. They make a really awful noise at 3 a.m. I was not a fan of peacocks after that, but they're beautiful, aren't they? So today is a story about Peter. So this is Peter who was born a peacock. Don't add this. He says, my name's Peter. I was born a peacock and don't ask me how it happened, but somehow some way I grew up in a flock of pigeons and being a peacock in a family of pigeons isn't easy at all. You see, pigeons do not always like others who are different. Sometimes pigeons can treat other birds like they're not good enough just because they don't look the same or fly the same. They call them names and make them feel like they're strange, weird, or they don't belong. My pigeon flock thought I walked funny. They thought I talked funny, and they said my feathers were too colorful. And when you grow up with no other peacocks around, it can be easy to think they're right. I spent a long time hiding my colorful feathers and pretending I was a pigeon. What do you think? Did it work? No, it doesn't work. I tucked my feathers away and covered myself with mud and dirt to hide my bright colors. I walked upright like a pigeon. I puffed out my chest like a pigeon, and I kept my tail from swishing and swaying so no one would notice how different I was. But it was no use. Whenever I relaxed, one of my flashy feathers would slip out and everyone would notice and point and laugh. My pigeon friends would call me names. They would pretend to walk like me and make fun of my voice. And even though I acted like them, any beak with two eyes could see I didn't belong. One day, when no pigeons were around, I walked by a puddle and I looked at my reflection.  I thought my blues were too blue, my greens were too green, and my golden hues were much too shiny and bright. I believed what the other pigeon said, and I did not like the bird staring back at me. But there was no use trying to be a pigeon. I'd never be able to change my feathers. It was time to fly out on my own. At first, my journey was a lonely one. But one day, I met a cardinal named Craig. He was sassy and he was bold. He told me funny stories that made me laugh and laugh. He didn't seem to mind being around a peacock like me. Craig introduced me to his canary friend, Sarah. Sarah was very friendly and had a sing-song voice that made me smile. Do you know what she told me? She thought my feathers were beautiful. So beautiful, in fact, she wanted to introduce me to Owen, the owl. Owen was smart. Owen was sophisticated. Owen moved like no bird I had ever seen before. He said he liked the way I moved, too. Craig, Sarah, and Owen introduced me to more of their friends, each unique and beautiful in their own way. There was Fanny the Flamingo, who made even me feel plain and ordinary with her dazzling pinks and whites. There was Henry the Hummingbird, who never finished a sentence before fluttering away. There was Benny the Bluejay, the fastest bird I'd ever seen. And there was Penny the Parrot, who was very nice and, whew, did she love to talk. There were so many different birds. Some bold, some sweet, some smart, some funny, each one special in their own way. On one very special day, I came upon a beautiful bird I had never seen before. He had the brightness of yellow like Sarah, my canary friend, the boldness of blue like Benny the Bluejay. His tail swished back and forth like he was dancing and his feathers had a beautiful starry glow. On the very top of his head, he had a funny crown of feathers that fluttered about. He was the most beautiful bird I had ever seen. I just had to take a closer look. I took a few steps closer, but the beautiful bird disappeared. Instead, I saw the ripples of a puddle I had just stepped in. What do you think was happening? Anybody have a guess? Who's the beautiful bird? It's him, isn't it? I squinted my eyes in disbelief. It was my own reflection. Could it really be me? For so long, I only saw what the pigeons saw. And although my feathers never changed, I saw myself differently after meeting new birds who were special and liked me for the peacock I am. I wasn't just a silly blue bird with flashy feathers and a funny walk. My flamboyant tail filled with bright colors no longer embarrassed me. And I didn't want to be just like the rest of my pigeon flock. I was happy to be me. So whether you are bright as a canary, as cool as a cardinal, as flashy as a flamingo, your feathers are what make you special. So embrace who you are from your beak to your bird feet and never let anyone break your stride. And always remember to love the feathers you were born with. That's our story of Peter the peacock. Thanks for coming up here. What'd you like best? You like Benny the Blue Jay because he was fast? You can run faster than your dad? Yeah, that's not all about it. Yeah, what about you, Cam? Can you run faster than dad? No, I can just run. You can just run. Yeah, I want to run. You'll get there. That's right, when you get bigger, you're going to run just as fast as Cade. Thank you all for being here and for listening to our story and you can head back to your seats. And I now invite you into the giving and receiving of today's offering. We give freely and generously to this offering which supports the ongoing work of this community. You'll see on the screen that you can donate directly from our website, fussmedicine.org. You'll find the text to give information there as well. In addition, there are baskets at the exits of the auditorium for those of you here in person. And we thank you for your generosity and your faith in this life we create together. I want to tell you a story from the Yoruba tradition of West Africa, which spread actually from there to points in the Caribbean and North and South America throughout the African diaspora. It's a very important tradition and the figure of Obatala is one of the most important characters in that tradition. It's said that Obatala descended from heaven on a chain and reached the earth and set about making humankind. Now, you need to understand that in some stories, Obatala is shown as a man. In other stories, Obatala is shown as a woman. In still others, Obatala might be something else entirely. Sometimes they're a dove, for example. So I'm not actually sure what Obatala was in this, who he, she, or they was in this story, but they set about making human beings out of clay. And it's long, hard work to make all the human beings that would ever be in the universe. And eventually Obatala got tired and someone, probably someone who had mischief on their mind offered Obatala something to drink, to renew their energy. And what they offered Obatala was palm wine. Has anyone here ever had palm wine before? I haven't, but my understanding is that it can be very strong. So Obatala was not in the most confident state of mind to be working with their hands after having had that palm wine. And some of the people that Obatala made out of the clay were shaped differently than all the other ones that Obatala had made up to that point. Now the story goes that when Obatala woke up the next day and realized what had happened, Obatala felt ashamed, but also deeply responsible for all of these people with the different bodies that weren't shaped like all the other bodies that they had made. And so Obatala took them under their protection, very specifically. Now here's the thing about stories. We don't have to take them literally, but if they're worth telling and listening to, we ought to take them seriously. You ought to be willing to sit with them and try to puzzle out what they could mean for us in the here and now. So let's sit with this for a second. Obatala is a character who can have many different bodies, some male, some female, some both, some neither. Obatala, according to the story, has a deep, deep protective love for people who are different, particularly in their body, but perhaps we might extend that to their mind or their heart, people who don't fit in for one reason or another. Now this story, the plain meaning of this story, is that something went wrong when those people got made. And Obatala feels responsible and ashamed about that. But if there is truly a God, any God, Obatala or anybody else, who loves the people who are different, it doesn't make much sense to me that that difference would be because there was a mistake, because something went wrong. So maybe the story behind the story is just an attempt to explain why does the divine have such love for people who are different, filtered through the minds and the voices and the ears of people who are used to being the same and can't understand difference in any way other than as a mistake. I'm going to invite you to rise in body and or spirit, and we're going to sing together our middle hymn, number 303, We Are The Earth, Upright and Proud. Much younger than we are now. I was sitting with my daughter on the couch, watching Sesame Street. And we saw a vignette from the show that I had missed in the 20-odd year break that I took from being a regular viewer. The most commercially successful furry red monster in the history of children's television was singing a duet with a rock star from the mid-90s about pride, about believing in yourself, loving yourself. They do that sometimes on that program. They'll take a popular song and put different words to it about counting or learning to tie your shoes. Now, this particular song that Elmo's was based on, I remember from when I was in high school, and I remember just hating it. But watching that fuzzy red muppet dance and sing to the same tune, I didn't mind it so much because his message to have respect and love for yourself is something that I want my child and every child, every person to learn. Religion has often taken a negative attitude towards pride. Consider, for instance, the recurring line in the Gospels that those who exalt themselves shall be humbled, but those who humble themselves shall be exalted. Humility is a common religious value, and it does good when it teaches the powerful to be mindful of the struggles of the powerless. One of the finest things that religion can do for us and for the world is to root out our comfort and our complacency and to call us to account for the ways in which we have fallen into selfishness. But too often, the only people who hear the message of selflessness are the folks who have already been humbled by the world that they live in, ground down by prejudice and oppression and made to feel small and empty by the inescapable message that their lives and experiences mean less than certain others. The poet and activist Eli Clare uses the metaphor of a mountain to talk about the experience of being marginalized, the feeling of being denied full personhood on the basis of class or race or disability of sexual orientation or gender identity. At the pinnacle of the mountain is comfort, privilege, normalcy. Around the base are all the identities and ways of being that do not fit at the top of the mountain.  Eli writes about the pain and futility of the struggle to conform in order to survive, describing the experience of people who try to climb from the base to the top. We are afraid. Every time we look ahead, we can find nothing remotely familiar or comfortable. We lose the trail. Our wheelchairs get stuck. We speak the wrong languages and with the wrong accents, wear the wrong clothes, carry our bodies the wrong ways, ask the wrong questions, love the wrong people, and it's goddamn lonely up there on the mountain. Some of us recognize that story because we have lived through it. And some others of us know it because we love somebody who has struggled on those rough slopes. We live in a world in which the ethos that some are superior and others inferior is powerful and prevalent and not something that can be written off as the fault of a small minority of villains driven by greed or bigotry. The injustice is a part of the way our society is formed and it dwells even in our own hearts. Changing this is not simply a matter of building better roads or blazing additional trails to the top of the mountain of privilege. Instead, it is about tearing down the mountain entirely until there is no longer a center of normalcy and a margin of abnormality. This requires an active confrontation, digging down and smoothing out the terrain beginning with the parcel that we live on. As much harm as religion has and continues to do, disrupting and dismantling that harm is deeply religious work too. We are called by the suffering of inequality to fulfill the words of the prophet Isaiah. Let every valley be raised up, every hill and mountain made low, let the rugged ground become level and the ridges become a plain. This is because our faith affirms the inherent worth and dignity of every person. Our tradition teaches us a reverence for human beings and it does not grant us the luxury of exceptions. The potential to do good, to choose life, to make the world whole is present in all people as the Unitarian poet Lydia Child said that every human soul has the germ of some flower within. The flower is evidence of our inherent worth and dignity, but it is the seed in which these qualities reside. Circumstances and human actions, whether others or our own, may damage the plant and rob it of potential to flower and grow, but the seed is eternal. Even death cannot reliably destroy it. Our dying cannot make certain that no good will ever come from our having lived. The power of the soul to bless the world is joyfully persistent. And that, friends, is something well worth feeling proud of. Proud for our species, proud for everyone in it, including ourselves. Now one of the great virtues of pride is how contagious it can be. Minerva Jane is a performer and writer who appeared on a recent podcast about the stage and film icon May West. Minerva explained that growing up in a small town in Idaho and refusing to live in the closet or to be pushed back into it, she did not have many friends or sources of support, but she took some solids in a love of old movies and she drew particular strength from the example of May West. May was famous for her unabashed, unrepentant sexuality, both on screen and in her real life. She of the, why don't you come up and see me sometime, she was put on trial and convicted on the grounds that one of her plays was obscene. Minerva explains that this inspired 13-year-old her to be fully herself, not because she got in trouble with the law, but because it didn't matter what other people thought. And May West herself, besides being a reliable ally to the LGBTQ community, drew inspiration for some of her key creative projects and perhaps some personal inspiration as well, from the very sorts of gender transgressing performance artists that Minerva Jane herself grew up to become, living out loud, in defiance of forces that would minimize, denigrate or erase us. Isn't just good for the person who does so, it is a gift to the future as well, to all the lives who will benefit from such a courageous example. Now in much more recent news about my children and television programming aimed at preschoolers, I had to give my son an important history lesson recently. We'd seen a passing reference to Mr. Rogers, and he asked me who that was. His theory was that it must be Steve Rogers. That's the name of the comic book and movie character better known as Captain America, in case you don't know. So I corrected his misunderstanding by explaining the program to him. Mr. Rogers was a middle-aged man who had roughly the same haircut for 30 years. Every time he entered or exited his house, he would change his shoes in his outfit and sing. He liked to feed his fish, play with a toy trolley, and learn about different foods and consumer goods and how they were made. He gave his audience of small children lots of advice and encouragement by speaking directly into the camera. And he had an extensive collection of house sweaters. When I was a young child, I was an avid viewer of his program. My mother, however, was less than impressed by the show. Mr. Rogers was, after all, something of a square. One day she asked me why I liked watching it so much. I thought for a minute and responded, because I think he loves me. At its root, pride is just the belief that we are worthy of love, that it is possible for other people to care deeply about us and want us to be happy and well. That is a feeling that every person needs and every person deserves. It is one of the great purposes of a congregation to welcome in new folks and to show them that they are loved. So the question should always be before us, as individuals and as a community what can we do in this moment to move towards becoming the proudly open and radically welcoming community that we are called to be? It is a mutually reinforcing proposition that loving others and receiving love from others helps us to better love ourselves. While it is only when we love ourselves that we can truly begin to love those around us. It is hard work, but it is worth doing and worth doing together. We gather each week carrying with us the joys, the sorrows, the struggles, and the celebrations of recent days. We share these here, knowing they are held in the love of community. Marcia Seek asks us to light a candle of joy for the birth of her grandson, Sibelius, on June 29th. He joins Sister Nelly and parents Adam and Sasha. Congratulations, Marcia. Welcome to the world, Sibelius. And we invite you to join us in a moment of meditation as we offer prayers, prayers of lamentation, hope, celebration, and love for all those in the LGBTQIA community. We light a candle for all those who are struggling this day, who believe they are hard to love, who are surrounded by words of rebuke, shame, anger, who live in fear and uncertainty, who feel so very alone. We light a candle for all those who long for healing, who ache with exhaustion, who have been alone far too long, who know in their bones how very good it is and how very much it can hurt to keep living in truth, to keep loving despite it all. We light a candle for all those lost to violence for being who they are, for those who face violence on a daily basis, for those who have lost loved ones and those who worry for the ones they love.  Dear ones, may you know you are birthed from something wildly holy. You are made from and for a dream of flourishing. You are the dream of your ancestors, the ones who danced cheek to cheek, marched arm in arm, found the holy in one another, in the streets and in the choir lofts. You are the promise of the trans godmothers with bricks in their hands and the strength and softness in their flesh. While death and destruction remain, so too do life and love, because the ancestors knew, because we know disconnecting from delight is deadly. Trusting in delight is a necessary spiritual practice of survival.  May you all be held this day in love. May you be blessed in celebration. May you be emboldened for the holy work of living and loving, for the sake of collective survival and also always for joy. May you be held in the grace of community and may you know without a doubt that you are precious. You are beautiful.  Blessed be and amen. Our closing hymn this morning was written in the early 1980s by a folk singer named Fred Small, who would years later go on to become a Unitarian Universalist minister. His song has also gone on to new accomplishments later in life. Among other things, it became the signature anthem of the Boston Gay Men's Chorus. The piece imagines a parent telling their child how expansive and unlimited the ways of being in the world are. As a community, which seeks to include and to celebrate the full range of gender diversity and not neglect or ignore our transgender, non-binary and gender non-conforming siblings, you might find the range of examples Fred's song provides to be limited, a limitation that I know he acknowledges. But the entire point of the song is that what is possible for the child, for every child, for every person is beyond the imagination of any parent, even the most loving and supportive. And I want to invite you to sing this song with me at least in part as an act of humility. Let no one within the sound of my voice, no matter how expansive your moral imagination, believe that two generations from today there will be no person whose full identity you have already fully conceived and welcomed in. We create a truly welcoming community and world only when we make space in our hearts even before discovering who will need that space. I should also say, this is a challenging song. You are completely welcome to join me on the verses if you know it or you are brimming with confidence. But if you're not, I invite you to listen and to join in on the chorus, which... Oh, oh, you can be anybody you want to be You can love whomever you will You can travel any country where your heart leads And know that I will love you still You can live by yourself You can gather friends around You can choose one special one And the only measure of your words and your deeds Will be the love you leave behind when you're done Okay, friends, with that, let's rise in body and or spirit and join together in singing hymn number 1019, Everything Possible. Be beer off the table Let me sing the last tradition Love, life, joyous May you find the miraculous May you continuously find gratitude May you love the messiness May you love yourself May you love all you love well and well So may it be Blessed be, go in peace, and please be seated for the postlude.


This is stock number 10953. We are here at Summit Automotive in Fond du Lac, Wisconsin. You're new and used heavy-duty truck. Headquarters, today we are checking out this super clean 2018 Chevy Silverado 3500 crew cab, short box, single rear wheel. This truck has the 6.6 liter Duramax diesel with the L5P motor, which pumps out 445 horsepower. This truck has been fully safe and inspected by our service shop. It has a fresh oil and filter change. All the fluids have been checked and topped off and this truck is 100% ready to go. Summit White is the color. We shoot all of our videos in 1080p, 60 frames per second, so if you have HD capabilities on your computer, tablet, or smartphone device, turn them on right now because it is definitely your best way to check out the quality and condition of the vehicle before seeing it in person. If you'd like to check out all the photos on this truck in the upper right hand part of your screen is a link right to our website. Click that and check us out there. This one comes with Michelin LT265 70R18 tires. It also has the chromed 18-inch alloy rims, no scuffs or scrapes or corrosion on them. The tires have probably about 50% of the tread left. The frame and underbody is in nice shape. Front fender, no dents or dings on that. It does come with the projector lamp headlamps, the factory fog lights, front bumper parking sensors, no dents or dings on that front bumper, and the lower valance is in really nice shape as well. It has a chrome trim grille, projector lamp headlamps, and the hood is in really nice shape too. They went to that when they went with the L5P motor, so if you ever wonder if it's got the L5P or not, if it's got that hood, it probably does. The passenger side front fender is in nice shape as well, and the passenger side rim, no scuffs or scrapes on that. As you go down this side of the truck, take note of how clean the body is, how reflective and mirror-like that paint is. We take these HD videos so if you are far away, or even if you're close by and just cannot make the trip down, but you're still interested in purchasing the vehicle, you can see the truck, hear the truck, and have confidence in the vehicle that you're looking at before you even get here. And that's why we offer the Summit Auto Fastpass option in the upper right hand part of your screen. A link right to our website where you can apply for financing, get pre-approved, see a payment quote, even appraise a train off in the comfort of your own home. So now when you get here, all you got to do is drive the truck, love it, and you'll be all set to go. The frame and underbody is in nice shape, has all the remaining factory exhaust, and the lower rockers all look really good as well. It comes with the factory chrome step bars, and this back tire has just as much tread as the front tires. No scuffs or scrapes on this back rim. And as we come around to the back of the vehicle, rear bumper is in really nice shape. I didn't see any dents or dings on that. It does have the rear bumper steps. Tailgate is in really nice shape as well. It is a locking tailgate with the shock down assist. This one does have the Gooseneck prep package as well as the fifth wheel prep package, and it does come with a Gooseneck seven pin wiring in the bed, and it has a very nice spray and bed liner. Tailgate shuts nice and solidly. And as you go down the driver's side, just as clean as that passenger side. No dents or dings on the rear box. And for full disclosure, this back rim is in nice shape as well. Down the rest of the side, doors look really good. It does have the telescopic tow mirrors with the built-in directional signals, side lights, and then it does have the LED side lights. You turn those on with the cargo lamps. And I do want to point this out. It's the only thing I really saw in the whole truck. It's got a couple little dings right there on that door sill. But other than that, this truck is pretty much as nice as they come. I did want to point that out.  No rips, no tears on those seats. Both of these front seats are heated and power.  Tilt and telescopic steering wheel. You get audio controls on the back of the steering wheel. Bode sound, power windows, power locks, power mirrors, and memory driver seat. These mirrors do power fold in like so. And I always like showing both sides so that you know that both sides are in proper working order. And as we hop inside the truck here, you can see that this one has 31,514 miles. Instrument cluster is very nice and clean. Comes with the heated leather wrap steering wheel, Bluetooth and information center controls on the right, cruise controls, and heated steering controls on the left. Comes with the Allison six-speed automatic transmission with the optional tap shift. The Chevy my link system, AM, FM, and Serious Satellite radio capabilities. This one does come with the factory navigation system. And it also has projection. So if you have Android Auto or if you have a cell phone through Android Auto or Google or Google Android Auto or Apple CarPlay, you can project your cell phone to the screen. If you've got Waze or Google Maps, some other navigation program, you can project it right to the screen. Pretty cool stuff there. This is also where your backup camera is going to show up. And you do get, like I said, AM, FM, and Serious XM radio.  That's your cargo lamps. And I'll show you those side lights here in just a second. Factory exhaust brake, and you can turn those parking sensors off and on as you wish. Passengers side, floor mat, and seat are in excellent condition. This truck smells very clean inside. I don't think it's ever been smoked in as power sunroof. Up here you get your map lights, home link buttons for your garage door security systems and lighting systems, and your power sliding rear window button, as well as your power sunroof buttons. You also get on-star capabilities in that rear view mirror. And you do get three cup holders in that center console there. We'll take a quick look at the back seats. Back seats are just as clean as the front seats. No rips, no tears back here.  That power sliding rear window has the built-in rear defrost. All the seats are in really nice shape. They do fold up for extra storage. And then this is part of that gooseneck and fifth wheel prep package. This is where you put your ball for that gooseneck and those tie-downs. So that comes with the vehicle as well. And you can see the carpeting and floor mats back here are in very nice shape as well. Doors all look really good. And we'll take a quick look under the hood. Also there are your LED side lights. Very bright. I'd personally like to thank you for checking out the video today and hopefully from this HD video. You'll have been able to tell just how clean this truck is all the way around inside and out. Under the hood we have the 6.6 liter Duramax diesel L5P motor. 445 horsepower. Like I said, this one has been fully safety to inspect by our service shop. It has a fresh oil and filter change. All the fluids have been checked and topped off. This truck is 100% ready to go. And to see more pictures of this truck or one of our other 450 new and used cars, trucks, SUVs, minivans, Wranglers, half tons, three quarter tons, one tons, you name it. We got to go to our website www.summitauto.com. Full pictures and descriptions of every single vehicle from two locations all at summit auto.com. And if you'd like to check out more HD videos you can go to youtube.com slash summit auto. Remember to like, subscribe, and share on this video and all the videos that you see there. In fact, in a second you will see a link to subscribe to our YouTube channel on your left. A link to more Chevy Silverado 3500 truck videos like this one on your right. If you have not been to our website on the bottom link to this vehicle on our website, click those check us out. And we really look forward to helping with this super clean 2018 Chevy Silverado 3500 Crew Cab Short Box Single Re-Wheel LTZ in Summit White Clear Coat. Thanks again.


Hey everybody, welcome back to the channel. Today we're going to be talking a little bit about the best alternatives for Skype on Linux. Now there aren't a lot of alternatives. Some of them are good, some of them are bad, some of them are not really Skype alternatives, but are meant for something else, but you could use them for Skype purposes, you know, in a pinch. Today I'm going to cover five, maybe six of them. I'm calling them the best, but there are other alternatives out there that I'll probably try to list in the description below. But these are just the ones that I've found that are fairly useful and fairly competitive to Skype. Now, first let's talk about why you wouldn't want to use Skype. I'm not going to talk about open source in this at all because some of the ones that I'm going to give you aren't actually open source. They may actually all be open source. I'm not sure. That's not how I went through and created this list. More I was just looking at ones that weren't controlled by Microsoft, something that was controlled maybe by a smaller company, something that actually has a native Linux client that's not terrible because the one on the Skype client for Linux is it's handicapped by it being for Linux because it doesn't have a lot of the features that the Windows version has. It's just a thing to say. Let's just go ahead and jump right in. This one here is called QTox. It's kind of like a server paradigm kind of thing. A lot of those are like this. I don't think this is federated, but it's called QTox. It runs on TOX. It's one of those ones where the service is called TOX and then there's a whole bunch of clients. This one here just happens to be called QTox. I'm believing the reason why it's called QTox is because it's written in Qt. I believe that's the reason why it's called QTox. I don't quote me on that. It does pretty much everything you would want Skype to do, but it's not the most intuitive software of the ones that I'll show you. You can go through. You can add contacts. It'll show you all the contacts you have. I don't actually have any contacts on this here. It'll show you previous transfer to files and stuff and then you just have setting. It's not the most intuitive things. It's also not the most feature-rich thing. You can change the user interface and stuff. Like I said, this runs on a service called TOX. There are other clients for this that probably have more features, different interfaces, and so on. That's just one option. It is free. It's also open source. I believe there's also a terminal client. If you want to use TOX from the terminal, you could. Then I think it uses maybe MPV or something to show the video. I'm not sure.  I saw a screenshot of it. That's about as far as my experience with that goes. The audio quality and stuff like this is similar to Skype. The only thing I don't know is whether or not this will actually go through and record anything. I don't think that, like, because Skype has this ability to record the calls you're on. I'm not sure that this has that capability. I'm not seeing if it does. So that's Qtalk. So the next one is called Jami. Now this one here is very pretty. It's a GTK application, but they do have a cute client as well. It's very well put together. It has keyboard shortcuts just like you would have in any GNOME application. All these do require accounts. It doesn't have a ton of options and stuff, but it does have a plug-in mechanism. It allows you to the normal things that you do with audio settings and things like that. Just normal stuff. Again, I'm not sure if it allows for recording or not. It does. It does have call recording. That is really cool. For the Linuxcast, I think Martin and I are going to try this one of these days. Because of the ones that are on this list, this one looks the best to me. I don't know. It feels like some of the other ones don't. Modern Linux, if that's a term. It's not a term, but it just feels the best out of all of them that I've tried. I have not had a chance to test the audio and video quality in this one, but everything I've read said it's really very good. That is jammy. All of these are available either as snaps, flat packs, or in your local repositories. This one here came from the standard Arch repositories. In fact, I believe all the ones that I've actually downloaded were in the standard Arch repositories and not the AUR. The next one is Telegram.  An alternative to this one would be Signal, because Signal does the same things. It's only a little bit more encrypted, but Telegram is more popular, so that's the reason why I'm including it on the list. Basically, this is one of those ones where this is meant to be a chat app has video chat features propped onto it. It's not the one I would recommend for you to do anything like recording a podcast, because it doesn't have a lot of the features. Jammy has the recall recording features and all those different audio and visual settings, because it's meant to be a video call thing. It's meant to be a chat platform that has video calling on top of it. It's okay, and it will do in a pinch. It's more like video calling instead of a video recording long session kind of thing like Zoom. That's another one you won't see on this list is Zoom. I don't like Zoom at all. You also won't see Jitsie on this because I don't care for Jitsie. Just from some bad experiences on this. That's Telegram. This one here is not open source. I forgot about that, but at least I don't think Telegram is open source. I don't think so. I use it for messaging. I've only used the video thing a couple of times. It was okay. It's not the best, but not the worst. It's on the list because it's very, very popular. Chances are if you need to call somebody, they probably have a Telegram account and they won't have to set up something like a jammy or a Tox account or something. The next one is this is another one that's not open source. This is Discord. I will freely admit that I never use Discord in the way that I'm suggesting you use it, but I've heard good things. I know a lot of people who record their podcasts on Discord. I know that it's probably unparalleled in terms of the ability to do large chats among a whole bunch of people. It's similar to Slack and Teams, I guess, in that way. It's very much a chat app that has, but unlike Telegram where it's a chat app that has tacked on audio and visual stuff, this actually was built simultaneously with audio and video stuff in mind. I'm not actually sure if it will do video. I know for sure it does audio. That is Discord. The last one I'm going to show you, I have not downloaded and I have not tried, but I know it's an old and true staple amongst Linux users and everything. It's called Mumble. I believe it's a server mechanism where you can actually run it and then you control it off from your own server. I believe it does not do video at all, but I know it will do audio and I know it works very well for people who have very bad internet connections. If you're struggling with bandwidth, this Mumble is the one for you. It's also of the ones that I've showed you, the one that's the most old-fashioned. It's the oldest. It's been around for well over a decade and it's not particularly complicated. It's not, it kind of reminds me of IRC quite a bit for when you set things up. Even like the, these things here are your, you got to connect to a server, which is kind of like IRC and it has rooms and stuff I believe. Anyways, that is Mumble and that one is free and open source. So those are the few of the apps that I was going to, that I went over. The ones that I'm most interested in trying long term is Jami and Qtalks. I tried Qtalks a little bit. I haven't tried Jami in terms of a call yet. I'm really looking forward to doing so because it really looks cool. And I just really kind of want to get myself off from Skype. I want to try to find something that's open source, but that really wasn't, you know, the point of it more. I just want to, I don't like being reliant on Skype because I have a feeling that sometimes Skype is just going to go away in favor of Microsoft Teams. And that's not a great feeling to know that the thing that you rely on to record your podcasts or whatever just might be yanked out away from you because Microsoft has moved on to something different. So that is it for this video. If you enjoyed it, give it a thumbs up. If not, we really do even appreciate the thumbs down because it means you've interacted with the video. You know, to this point, that's really all we were interested in. You can also hit the subscribe button and the notification icon bell there so that you don't miss any of our videos or podcasts that we post five or seven days a week. And if you're interested in supporting the show in any other way, you can do so by going to patreon.com slash the Linuxcast. So thank you for watching. We'll see you next time.