In today's video, I'm going to review all of the pro series lenses for your iPhone by a company called Reflex, and here they are, these are all of the pro series lenses, they are all made of aircraft grade aluminium body and they have a multi-element glass design. In the two cases for the wide angle 18mm and the telephoto 60mm, I will show a side-by-side comparison of me taking some photos and videos with the lens and without the lens. For the rest of them, I won't show any side-by-side comparisons because obviously these lenses have different features and functionalities like the anamorphic lens and the macro lenses, which the iPhone doesn't do by native design. Inside each box of the lenses, you get this carry case for the lens and you also have a microfiber cleaning cloth and also a quick get started guide as well. Also check out the details in the description below, I have a 10% code off for all of you guys so if you are interested in buying any of these lenses, you can get 10% off across the entire website including the iPhone cases. Now there's many lenses out there already developed by various different manufacturers, I've reviewed a couple on my channel previously as well. There's one reason why the reflex lenses and reflex as a company stand out more to me than some of the other lenses is because they also complement this with a pro-series camera app. Now for a company to develop an app which has pro DSLR-like features to complement their lenses that they provide for iPhone just shows how much investment they make and how much understanding they have of photographers and videographers' needs when it comes to giving you the complete package. So every photo that I'm going to take in this video will be using the reflex pro camera app that which you can find on the iOS store. It doesn't allow you to record videos so I will shoot videos using my native camera app on my iPhone but I will start off by giving a demo of what the capabilities of this app is when we begin. Everything in this video will be chaptered down below with the categories of each of these different lenses so if you'd like to skip or you want to go back to any of them, you can do that very easily. But first of all, let's go ahead and start off by giving you an overview of the pro camera app by Reflex. Okay, so this is the reflex pro app just along the top header bar there. The first option is the flash option so you can turn that on, have it on auto or make sure it's off all the time. The second one is the timer so you can have up to 3, 10 or 20 seconds to set the timer on that. The middle one, this is the gyroscopic tilt meter so you can use that just to make sure you have your iPhone at a horizontal level. The next one is grid lines so you can actually switch between various different types of grid line designs just in case you wanted to position some things in different parts of the viewfinder. And then on the top right you have yourself the flip camera button so you can switch it between the main camera at the back and the selfie camera. Then along the bottom you have yourself the pro DSLR features that you can manually adjust. So you have the ISO, the shutter speed, the exposure value, manual focus and the white balance. If you tap any of them, you have a slider that comes up so you can change any of these options like so. If I go to white balance, you can adjust that shutter speed, ISO, very quick and easy to do. So wherever you are, you want to get the perfect photo for your photography then you can make the manual adjustments like this. If you wanted to reset back to auto, just double tap on the viewfinder, everything gets set back to auto again. And below those adjustments, you have a few other options here. The first one there is focus peaking. So you can use this to take advantage of that feature just so you can nail the manual focus settings over your subject. And this works by essentially detecting the edges of the highest contrasts in whatever your scene is and it highlights them in this green colour. The next one is live histogram. Now this is available in both Luma and RGB. At the moment, you're seeing it in Luma. If you tap the histogram bar at the top, this switches to the RGB spectrum, which just allows you to check the overall exposure of your image so you can obtain the most optimal level of brightness in your scene. The next one are the zebra stripes. Now you can use this to identify over or under exposed regions of your scene. The red and blue stripe patterns, they appear in your scene where they are overexposed or underexposed and they help you identify, you know, respectively over and underexposed regions in your photography. This really helps by adjusting the EV value here. So you can see in my light panels on the wall at the back, in some cases it is popping up with those striped patterns. Now you can, you know, adjust this so those can slowly disappear. And of course, you know, whatever works best with these pro level features, you can just play around with it and that will help you get the best photography for whatever scene you are shooting in. This last option here just on the right is the slow shutter speed. Now this is something that you can purchase as a one-off cost or an annual subscription, but this allows you to create these really cool effects by utilizing the slow shutter, especially when you go outdoors and you want to create some lighting effects at nighttime, whether that's out of fare of some fireworks or whatever it may be. There's some really cool creative videos that you can develop by using this mode. And that is an additional option available for anyone that likes it. You can switch between the three different camera lenses on your iPhone. So wide telephoto and ultra wide by pressing that button there. You have a shutter button. You can save your images in H-A-I-F in RAW or pro RAW. If I just set it just to my standard ones, I've set it in my iPhone camera settings to export them as JPEGs. So that's what will happen when I keep that selected as the default. You also have settings here that you can cycle through and adjust the settings in the app, which is pretty standard, but there's another really cool feature that I want to mention that takes your pro DSLR photography for your iPhone to the next level. If you tap the screen once and then tap again twice, you'll see there's these two reticles that pop up. You can move these around the viewfinder wherever you like. One of them is for the focus. One of them is for the exposure. This allows you to essentially get the perfect focus and exposure in your backgrounds by focusing these reticles in the correct positions. So if I put the exposure on the light panels there at the back and I have my focus on my little U light ornament here, I can get the focus directly on this by underexposing some of the lights in the background. Now to lock these reticles into place, you literally just hold that down and it goes green, likewise with the other one. So if I just go like this, you'll see that this is slightly in focus now. And if I move this around, that focus and the exposure values will not change and it will always stay constant to that spot. If you wanted to manually adjust them, then that's something that you can also do. So now that I've given you a quick overview of the capabilities of this app, let's go ahead and review the lenses. Starting off with the wide angle 18mm. This gives you wider angle shots than the 26mm wide focal on the iPhone 12 Pro with a 110 degree field of view. This lens will give you sharper photos and videos and I'll show you a side by side comparison without the lens as well so you guys can see the difference. Okay so the left hand side photos are from my main camera on the iPhone and the right hand side is the reflex lens attached to the same wide angle iPhone lens. You'll notice in this first pic that using the reflex app how much clarity, sharpness and detail I can capture by making certain adjustments in conjunction with the reflex lens itself and again how much field of view you get with the ultra wide view. And now here's a whole bunch of more comparisons. Next let's take a look at the 60mm telephoto lens. For context, the iPhone 12 has a 52mm focal length for its telephoto lens but since I'll be attaching this lens to the main 26mm wide iPhone lens you'll get twice the optical magnification with much higher detail and focus for your photography especially when it comes to stunning depth of field portraits. But just remember you can also attach this to the telephoto lens on your iPhone and get up to 4-5 times the optical zoom. So in these comparisons I'll be using the reflex lens on the main wide 26mm iPhone lens because that's the lens with the highest quality. One of the main things you'll notice is that although the image seems zoomed in you won't get any distortion or loss of image quality whatsoever whilst also maintaining a level of image detail that's made specifically for portrait photography as you'll see in these next examples. The macro 10x lens is great for capturing those close up shots of things you can't see with the naked eye. It's best taken from around 10-20mm distance from the subject but once you do it's amazing how much detail this lens has to offer. Let's take a look at some samples. This first one is of a close up inside a sunflower and you can just see how great the detail and colours look especially at the tiny fragments of the inside of the flower head which you won't be able to see with the naked eye. Now here's an extreme close up of various other plants and objects around my home and garden. This macro lens was created specifically for cinematic macro photography and videography. It has a working distance of around 20-40mm allowing you to capture your subject in motion by focusing in close to the intricate details whilst still providing a beautiful depth of field. Let's see some examples. Starting off with some photos much like the macro 10x lens this also provides such a clear image close up of the subjects but with the flexibility of being more at a distance. Of course I expect the same level of quality with the macro lens so here's a set of other close up shots followed by some close up videos of moving subjects. Now the fisheye lens was exclusively designed to capture action footage and dynamic shots aiming to provide an incredibly immersive ultra wide 210 degree view. It's also perfect for capturing architecture, events photography and a whole lot more. Although it's not made specifically for photography I'll show you some sample photos to start off with and then show you some videos. Now this is the pic I took of the summer house and it's rare for me to capture this much field of view in one shot curving around the sides I get to see my fire pit area on the left and my detached garage on the right side all of which would be difficult to get with just one standard iPhone photo with a 4x3 aspect ratio capture. In portrait view you can really see how curved the fisheye photo comes out and the last set of images here is just me sitting on my sofa in my living room but captured at three different distances to see a comparison of how good that 210 degree field of view captures. Now here's a set of videos I've taken around town using this lens. The anamorphic 1.33x lens allows you to capture cinematic footage with a few features such as an ultra wide aspect ratio an oval bokeh and a horizontal blue flare which gives light streaks a more cinematic character. The unique oval shape lets you capture more horizontal information by squeezing the image giving that movie like effect very common in the sci-fi genre to all of your videos. Now let's take a look at some of the sample videos. Now just starting off with the lights here in my studio and it gives off a very soft and faded horizontal glare as you get closer to the lights but the flares work best at a harsher light amongst a lot of darker areas. So here's me using the lens with my car headlight but I turned the lens to give me a vertical flare just to show you guys how the oval distortion works. If you were to either turn your phone sideways or to turn the lens at the back and not the phone which you can see me doing here right now you will see how it really distorts and animates the video with this lens. Now with anamorphic footage it's always recommended to de-squeeze it in post-production so you don't get that very distorted look but a much more cinematic look. There are third-party apps available that allow you to record anamorphic video de-squeezed already like Moment or Filmic Pro but Reflex will be working on a dedicated video app in the future that will cater for this functionality too. Here's a side-by-side comparison of how it looks with the raw footage from the lens and the video de-squeezed and all of the next video samples you will see will be shown edited and de-squeezed in post. So that's it guys. Every single Reflex Pro series lenses for your iPhone hopefully you guys found that review very useful and it gave you an idea of the capabilities of this and also of the app. I'm super impressed with the capabilities of the app because it allows me to do a lot of more professional adjustments whilst I'm capturing the perfect photography or my videography for these lenses. I have a 10% code offer you guys so check out that in the description to get a bargain on any of these lenses or on the iPhone case as well compatible with all of the iPhone models. Check out the link and more information on the Reflex website. I have new videos out every week and I'm reviewing all things tech and I review gadgets and accessories for iPhone as well and also for Android phone so make sure to subscribe if you don't want to miss all of the very cool videos I have coming out very soon and I will catch you guys at the next one. Take care.


Hey everybody, this is Christian Buckley doing another MVP buzz chat and I'm talking today with the fellow MVP and RD Martin. Hello. Hi, Christian. Thanks for having me. For folks that don't know you, who are you, where are you and what do you do? I'm currently at home and home for me is Breda, the Netherlands, which is in the south of the Netherlands. And of course, Netherlands is a small country. So even though I'm in the south, I can drive to the north in under three hours. This is near the Belgian border. I live in the Netherlands. I'm CTO at Rapid Circle, a Microsoft implementation partner, about 400 people, locations in the Netherlands, in India, in Australia. And we focus on, yeah, Microsoft Cloud in quite a broad sense. And I try to be the connecting part between the products that Microsoft offer, the technology that Microsoft offers, and the solutions that customers are looking for. I live here with my wife, two boys, dog. So yeah, all happy, one happy family. And I know that you guys have been busy with, I don't know how many acquisitions of the history of Rapid Circle, but I, it's like I've known like Daniel McPherson for years and years, you know, down from Australia. And then of course, Paul Comsey's company just got acquired as well. So picking up, you guys also acquiring MVPs. Is that part of your strategy? No, well, no, no, per se, but it happens on the journey that we're, that we're undertaking indeed. Yeah. So in the Netherlands, I myself, I'm from one of the acquisitions. So Rapid Circle started in 2008. I started my company together with two other folks in 2010 called Portiva. And Portiva was acquired by Rapid Circle a year and a half ago. And I kind of moved on being the CTO from, from Portiva and moved to being CTO of Rapid Circle. And we did some acquisitions in Australia, indeed, in Tech, which is a really great partner for, for unified communications. And, and we did adopt and embrace and indeed seven Sigma now. So yeah, we're growing and I think we're really focusing on, on other acquisitions or merging or really on organizations that really have something to add, some added value, something that we are missing, that we don't have in our, in our stack in our offerings yet. And we're as well, I think. And it's great people to work together with. And I just, and I mentioned that just because I hear Rapid Circle mentioned a lot just in different places. So it's, it's good to see you guys are growing and have a bunch of familiar faces within. And, and so it's always great to hear your partners that you know of that are succeeding and, and growing. Yeah. So one of the big topics of this month is around community, of course, doing these, you know, getting to know people within the community and kind of their journey. I'll come back to that question. But, you know, what's kind of the state of, of community and your involvement? What do you see happening now that we're post pandemic? Is it people starting to show up at things again? I think so. Yeah. It's, it's kind of hard to, to, it was hard to sustain the community during the pandemic and, and now that we're back in, in in person to in person events. I think it helps. And every time we organize, I'm the board member of the D work, which is one of the larger communities here in the Netherlands when it comes to Microsoft 365. And I think before pre pandemic, we organized a meetup every month and we're always wealth is that always 70, 80, sometimes 90 attendees, great speakers, great topics. And then the pandemic had hit us and it didn't make sense to have a meetup every month that people would be joining online only. But we wanted to keep the community alive. So we kind of, we did a little step back and we moved to a meetup every two months. And now we're back. And we are discussing or debating, is it, should we go back to a monthly event or should we stick to a bi-monthly event? And we've chosen the latter so far and we'll see if that, that works. But every time when people come to, to one of our events, they're like, oh, we're so happy that we can do this again. But on the other hand, we really have to, we have to do more to, to attract people, to get people to the events and, and to get speakers to speak at the events. Now the same with, with the Collab Days Netherlands, which we organized last year in, in September. And this is the successor of SharePoint Saturday Netherlands, which we've been organizing for nine years in a row. And then we moved to Collab Days and then the first time we organized it, it was during the pandemic. So we did two online versions. And this time in September, it was the first in-person event that we organized again. And we were kind of used that when we did a call for sponsors that it would be a first come, first serve basis because we would be sold out in two hours. Everybody would love to be a sponsor on our event. And this time we really had to make an effort. In the end, we got the amount of sponsors we were looking for. And it was a successful event and all went well. But it, it required a lot of more phone calling, sending out reminders, etc. So yeah, it's, it's, it's a bit harder. I think people and, and organizations, companies, they're still a little bit reluctant. Yeah, we're, we're doing kind of something similar with our user group, where we're, you know, we're struggling to get people back to it. We've been back in person for quite some time, but I just the, the, you know, the flexibility of dialing in, we have, you know, four times as many dialing in as we do that are there in person. And, you know, that's, that it's not huge here locally. But that's, that's something that we have to factor in as well. There's some people that are happy to never go back in person to events. And so that's why it's a little bit extra work is to dig those, find those new people that are interested in being there in person. Yeah, I think what also doesn't help in, when it comes to community events, they're always in evenings, they're always post office hours, outside office hours. Or at least that it, it has always been like that. And now, I think during the pandemic, people have become more aware of, of separating business life and personal life. Because the first couple of months during the pandemic, it was just intertwined so much and, and everybody was just working. And, and we, and we started to realize, hey, maybe work life balance works a little bit differently. And it was easier to separate when we still went to the office.  But now suddenly you're just walking out of your home office and then personal life, family time should start. But it doesn't really work like that. So people were trying to find more of a balance and more of a separation. And that also means night time is my time.  So that also I think doesn't really help. But that, that mindset that people have grown during the pandemic. Have you guys, is your collab days still on Saturday? Have you moved it during the week? Okay, because we moved ours to Friday and our numbers went up. Yeah, yeah, it's something we have been discussing. So we might look into organizing it on a weekday actually this year. Yeah, yeah. Yeah, because I think we just kind of came to that same conclusion. And with, I mean, one experiment, we're going to do it again this year where we'll put it on a Friday. But from the last time we jumped up about 50% in our attendance. And so we're hoping that the same thing works out. Well, so I know you've been in MVP for seven, seven time MVP, eight time. Yeah, seven time, I think. And how long have you been in RD and for Microsoft Regional Director for those that don't know? I think four years, four years or five years, four years, I think. Yeah. So I always like to ask that. It's like, what was your, if you can go in the way back machine, what was that process to become an MVP? Kind of what was your path into being an MVP? Yeah, it's, I think I started with my public speaking, maybe at the end of the zeroes, I think 2007, 2008. That's when I started doing, when I joined the community that I'm now a board member of, but when I'm that community already existed before that. And I did some speaking events, local user groups. I started speaking at back then, SharePoint said today, we had a SharePoint connections back in the days, which was an event organized in Amsterdam, a commercial event, commercially organized. And I think the first couple of times that I did speaking events, I was like, OK, maybe this is, maybe someone will nominate me as an MVP, maybe that will be cool. And that never happened. I still, I don't know why, or maybe it did happen, but I just, I don't know. And as the years moved on, I just kept on doing my things. I became a board member. I started speaking a little bit more outside of the Netherlands, et cetera, and suddenly I got nominated and I got the confirmation email, hey, my congratulations, you've become an MVP. I think when I became an MVP, it was the last time we still had SharePoint MVP. So I think I was a SharePoint MVP. And then the year after that, I became an office service. Something, yeah. Server and services, I think. Yeah, yeah, I think that's it. Yeah, yeah, yeah. So yeah, for me, it came quite unexpected because I have been participating at least in the Dutch community for more than just a couple of years already, but apparently never, it's kind of a black box.  It's just, it just didn't happen. And but I was okay with it. I still did my thing. And I was not really, maybe the first year I was okay. Maybe I could become an MVP, but it didn't happen. And then I just let it go. And then suddenly five, six years later, hey, you're an MVP. Yeah, you know, it's interesting. I've talked to people. So one good friend and you know him and RD and MVP. And I remember he was really pushing for a couple of years to become an MVP. And finally, we were having a conversation and he said, you know, I just, I'm just putting that aside. Like, I don't care. If it happens, it happens. I'm not pushing for it. I'm not trying for it. I'm just, you know, all the benefits. I have all the benefits of participating in the community. He says, I've got great work. My network has exploded.  It's been beneficial by being out there. And of course the, just a personal gratification of helping people on that side of things. A month later, he becomes an MVP. So sometimes it's like the force. Yoda talking to Luke, you know, just like, just let go. Yeah, true, true. There's something to say about that.  I agree. I think you should never aim to become an MVP. I think you should aim to be a contributor to the community. If that's something you're looking for, then becoming an MVP will happen automatically or will be the ultimate reward or whatever, but it should not be your goal to become an MVP. That will never work. And I've talked to some people who have said, you know, I'm also not able to or not interested in giving back to the degree that they see some MVPs doing. There's nothing wrong with that. Being a participant within the community and is just something that you go and do and is part of your persona there, but focus on family and job and elsewhere. For a lot of it, and I often say, and I'm sure you say the same thing, it's like, look, I would do these things whether or not I had the MVP. I still would interview and talk to people. I'd still write the content. I'd still, you know, speak at the occasional conference of those things because I enjoy that. I enjoy documenting and getting feedback on and best practices and sharing that information out there. And I'll do it regardless. So eventually the program shuts down or I don't get renewed. I'm still gonna do the exact same stuff. Yeah, I agree. That's a pretty common point. I completely agree. Yeah. I'm what I really like about the community. I mean, 15 years ago when I started in the community, I was this kid, I still call myself back then and I was doing my first baby steps into the community. And I was really excited to get on stage and talk to 40, 50, 60 people at a community at a local meetup and talking to people. And I had my heroes back in the days. And now I still have much, much respect and I still look up to people. But now it's also my time to help others and to give them advice and to coach them and to offer a little bit of mentorship and to talk to them outside the community events. I have calls now and then with people within the Dutch community or just a couple of WhatsApp messages or let's get in a team's call and let's discuss. Hey, Marta, this new topic I wanna talk about. Can you help me a little bit about how should I write the abstract? What should be in the presentation? What not? I love it. That's really that. And I will always keep doing that as long as people think that I'm of value that I can actually help them. And then I will keep on doing this because this is the part of my job that I love. You know, I remember hearing about some people presenting and talking about people heckling them in their sessions and causing problems. Remember the first time I had that experience and he's a good personal friend. You know, it was Richard Harbridge before he was an interview, so young guy. So it was in a session and I was presenting that and he had these questions and feedback and he gave feedback on the presentation. Somebody came up to me afterwards like, can't believe that he said that and I'm like, he was right. No, that was great feedback and I made changes to that deck and we're good friends now. I mean, I always appreciate that having that community feedback. And that's why, I mean, that's actually a recommendation I give to people all the time is if you're trying to figure out how to get involved is to ask questions and provide that feedback because I, look, I've presented as you have to huge audiences, I've done, I've key noted to huge conferences and done those things. Some of my favorite events, like I was just thinking of SharePoint Saturday, Bend, Oregon, where we had, I think the biggest we were was 98 attendees.  Those were fantastic events because sitting with six to 10 people in a session during the day and having more of an in-depth conversation and answering their questions, I get so much more out of that than just presenting to somebody. It's part of why I don't like online because people don't speak up enough. Yeah, I completely agree. And it happens even on busy meetups or community events or even large commercially organized conferences. It just happens that you think you have a great topic. The program team of the conference thinks you have a great topic because they selected you and you're in the program. But apparently there's other greater topics in that same session slot or your topic is maybe not so cool and you have, I don't know, maybe 10, 15, 20 people in your room or it's a very small meetup and that's the reason that you only have so many people in your room. I don't care, I don't mind. In fact, just as you just mentioned, that gives the opportunity to actually have a conversation instead of me just broadcasting and hoping that that gets digested and then people get something out of my story. But now suddenly you have the opportunity to listen to their story as well. And they're there for a reason so they probably have a story, right? And so then you can learn from each other and yeah, that's a great experience. Yeah, I always tell people is that one of the reasons I don't really get nervous up on stage was for a couple of years I was the lead singer of an alternative rock band. So the early 90s. I didn't know that. That's interesting. Yeah, so I did that for years and we at the towards the end there, the last six months, we were gigging almost every single weekend and sometimes both Friday and Saturday nights. And yeah, and my wife with our little daughter at home were not fans of that era. But anyway, we had it a few times where there were a handful of people were at some dive bar playing on their little stage. And at some point there's like a smoking area out back and everybody went out. There was nobody in there. I turned to my guitarist and they're like, hey, we're still playing for us. I just think of it like a practice again and we love our music. Let's just keep going and doing this. And they were fun shows to go and do but generally if there's no one in your room I probably would stop presenting. So it doesn't entirely carry over. No one, yes. But one person, I mean, that's all you need. And hey, they've got a little more quality time with the presenter. Yeah, true. So yeah, that's something I do love as well. But so last question for you. So what topics are you passionate about like you really focused on right now that you're writing about or you're speaking about right now? So one of the topics I've been really diving into lately is sustainability. We get a lot of questions lately from customers that I think up to, I don't know, maybe a year ago when customers would come to us and they would ask us, could you help build a business case for us to move a certain workload to the cloud? And the business case is almost always financially driven but it's hard to make a financial, if it's just finance, if it's just cutting costs that you're interested in, then moving to the cloud is not per se the best option, right? Because it's not always cheaper to go to the cloud. It is if you can also make it more efficient and you should look into that, right? But anyway, that's an all other topic. But the reason why I'm saying this is because as of lately, customers are also asking us, could you add sustainability into that business case as well because we have shareholders, we have a very critic customer set, we have a government that is interested in what we do concerning CO2 footprint, carbon footprint, et cetera. So we need to have a look at our carbon footprint and our IT is a large part of our carbon footprint. And so we're talking about scope one, scope two, scope three, et cetera. And how can you add that to your business case? And Microsoft has released the carbon emissions dashboards in Power BI, which led you already have a look at, so what is my carbon footprint for my M365 environment or what is my carbon footprint for my Azure environment per subscription, per workload, et cetera. So that really, really helps. But now as of summer last year, they've moved one step further and now they have the sustainability manager as well, which is not just about your carbon footprint of the Microsoft data center, but it's about the carbon footprint of your entire organization. So it's also about cars that you have, it's about home offices, it's about the real, the office buildings, how much energy do they consume? It's even about if you deliver products and your customers use those products, how much carbon do they generate in using your products? So even that's part of the carbon footprint of an organization. So that's a topic that I'm really, really generally interested in. I've been looking into sustainability for a large part of my life. This, I live in my house here. I have 48 solar panels. My house is completely energy neutral. I have triple glass everywhere. I have an earth, a geothermic warm pump in my house. I drive, we have two electric cars. So it's all about sustainability. And I love it that this is becoming a thing for many organizations as well. And where I can help, yeah, I try to help. So logically, because I'm working with a lot of customers on this topic, it helps that I'm building up knowledge about this myself as well. And I try to share that knowledge again within the community. Yeah, no, it's a great topic. I know it's an important and it's a growing topic. There's a lot, if you wanna talk about a sustainable topic, see what I did there, that's gonna be around for a long time. It's more focusing more on- And rightfully so, yeah, yeah. Very cool. Hey, I appreciate your time. It's great to finally get to catch up. We've known each other for many, many years. Going back to, I mean, I know which one, but probably back to the SharePoint Saturday Netherlands events. I know I did a lot of those for years. So, but great to connect with you. Thanks for being my guest here on the 200th episode of MVP Buzz Chat. So thanks so much, yeah. I feel honored. Yeah, thanks for having me. Thanks for having me. Great, great. People wanna connect with you or reach out to you. What are the best ways to find you? Twitter, LinkedIn, Twitter is Martin Eccles. You can find me on LinkedIn as well. I think that works the best, yeah. Excellent. Well, thanks a lot, Martin. We'll talk to you soon. Thanks, Chris. Bye.


And the speaker's gavel to Ryan after praising Boehner for his dedication. All the formalities, you know. Ryan also saluted Boehner, who for conservatives became a symbol of Washington's ills as a man who too readily accepted compromises with President Obama. Every time you have a compromise, the people lose. He's a man of character, a true class act, Ryan said. Boehner shook hands with Ryan at the lecterns, walked up the aisle to the chamber's rear, his eyes brimming with tears. Of course, of course, orange juice or tears. He accepted hugs from Republicans and Democrats alike. Watching the vote from the visitor's gallery was Mitt Romney, the GOP's unsuccessful 2012 presidential nominee, who vaulted Ryan 45 to national prominence by selecting him as his vice presidential running mate. Yeah, he selected the muppet face. Also in the audience, where Ryan's wife, Jana, and their three young children. Why couldn't they get rid of turtle face Mitch McConnell? Why couldn't he buck heads with his partying? So I don't have to look at that face anymore. Who gained some attention after Ryan insisted he would take the time draining Speaker's post only if he could carve out time with his family. Before the vote, Boehner bade farewell to his colleagues after a quarter century house career, including the last five as Speaker. I have no regrets. No burdens, Boehner said, in a ten minute speech. If anything, I leave the way I started. Just a regular guy. Oh, sure. Humbled by the chance to do a big job. Oh yeah, he eats pork and beans for lunch, yeah. Ryan's ascension came as Congress neared completion of a bipartisan accord to avert a jarring federal default next week. And likely prevent the December government shutdown by setting spending levels for the next two years. The House approved the bill Wednesday 266 to 167. With a final Senate passage on track in a few days, despite opposition from conservatives seeking the GOP presidential nomination. The House budget vote underscored Ryan's challenge in leading Republicans who often have a scant interest in compromise, especially in the midst of a GOP presidential contest. Dominated by candidates who vilify Washington insiders. House Republicans opposed the budget deal by 167 to 79, but Democrats supported it unanimously. Oh brother, I'm telling you, a two-party system, Democrats are not the same anymore.  Republican presidential candidate Senators Marco Rubio, Rand Paul, and Ted Cruz proclaimed they are pro-woman. For now? Yet all three voted against the Paycheck Fairness Act multiple times and also against reauthorizing the Violence Against Women Act when they came up in the Senate. Yeah, but Republicans want great victims to carry the baby and give birth to it. In August, on CNN's State of the Union program, Governor Christ said that the National Teacher's Union deserved a punch in the face. He deserves a lot worse. 76% of the educators who belong to the National Education Association are women. When Christy made the comment, he might as well have said that the millions of hard-working female educators who are members of the NEA and who spend their days nurturing, educating, and advocating for our kids should be punched. Yeah, he's quite the entertainer, Christy, isn't he? He's like, oh man, now teachers, nurses, and the police, they're all unionized professions, right? And unions, traditionally, well, they're smart to do so, traditionally vote Democrat. And it seems like unions gradually are... It's the matter of the crumbs. Yeah, but their unions are leaning towards Bernie Sanders, which I'm very happy about. That's good. Not one of Christy's fellow Republicans was brave enough to challenge this bullying and inappropriate language and attitude. Sad to say, Misogany has become a featured component of the Republican Party at the national level. I guess he's going to use Misogany against Hillary Clinton if he ever gets a debater, because he's going to destroy Hillary Clinton in a debate. It must be contagious, because now we've got Republican politics on different levels doing the same. I am sick and tired of this! And if you are too, please remember to vote accordingly. How are we doing on time? Probably none. There's a little after four. You got a little baby reading? I don't know about a baby. Or a short one. Well, one that isn't long. It's not long. That is good. Columbia, South Carolina, a deputy who flipped a disruptive student out of her desk and tossed her across her math class floor was fired on Wednesday. Very current, applicable reading. Thank you. The sheriff called his actions unacceptable. I almost forgot about this incident. I watched the video. He said videos recorded by her classmates show a girl posed no danger to anyone. Oh, he roughed her up for no reason. How old was this girl? She was a minor, right? Yeah, of course.  Oh, well, you're real tough. What he should not have done is throw the students, the county sheriff said. Police officers make mistakes too. They are human and they need to be held accountable. And that's what we've done with Deputy Ben Fields. Well, keeping your composure is part of being professional at your job. I mean, as a cop, as a police officer. You would think so. You would think that was part of the training, wouldn't you? Yeah. Well, keeping your composure. That includes not being judge dread.  Well, you should punch them, according to Mr. Christie. Like Chris Christie? No, he wants people to never ask for help unless they're rich.  According to Chris Christie's way of thinking. Civil rights groups praise the swift action against Fields, a veteran school resource officer. Oh, they would have made this into something real big. And football coach at Spring Valley High School. Outrage spread quickly after videos of the white officer arresting the black teenager on Monday appeared on the internet. Of course, of course. If it's the other way around, if it's black on white, nobody cares. You're lucky if it makes the news. Scott Hayes, an attorney for the deputy said the officer's actions were justified and lawful. He'll make a great Republican politician in the future, this attorney. He said Fields wouldn't have any comment because of the federal investigation. Lott thanked the FBI for investigating whether civil rights were violated and school officials for promising to review how police are used for discipline.  In South Carolina. It's in the redneck red state of South Carolina. That has made homelessness illegal. You're homeless? Rest them for vagrancy. Put them in a privatized prison. Another slave. What was that country that's building the little, not over here in Utah, one of the countries is building little houses for the homeless.  They look like toolsheds. Well, it's better than being out in the snow and rain. I like the homes for the homeless that are in Utah. It's the same. These were smaller. The ones in Utah look like they were about the size of a New York City studio apartment. Yeah, like one room and a half. I mean, these other ones were friggin' toolsheds. They need to understand that when they call us, we are going to take a law enforcement action. Maybe that ought to have been something handled by the school without ever calling the deputy. Well, she probably did not want to vacate the class. But you subdue when you have to. You handcuff when you need to.  Well, she was black. He could do that. Well, you see, this is the double standard in the racism what we're talking about. But they would say it has nothing to do with racism. He was just doing his job. Yeah, and then there are people. The conservatives and Republicans are on the shows now and they are saying that because of all this criticism and these videos and et cetera, the cops can't do their job anymore. They don't want to do their jobs anymore.  Because basically what they're saying is there aren't any bad cops. We are the bad people for taking the videos, putting them on the Internet and letting people see this stuff. So cops reserve the right.  They do anything they want. If it involves people of color. That's great. And of course, I don't know why she's relevant, but Bristol Palin felt sorry for the police officer and of course they had to put that on the Internet, that Bristol Palin sided with the police officer, of course. The sheriff had stern words for the student who started the confrontation by refusing to hand over her cell phone after her math teacher saw her texting in class. A violation of school policy. You're supposed to take the call out in the hallway. You're supposed to go out in the hallway because it is very rude when a teacher is speaking to the class to not pay attention to him and to take cell phone calls. I agree. In college they say the same thing. You'll have to go out in the hallway or I have to confiscate your phone.  It was no excuse to choke hold Mr. Garner to death either. Choke hold his death. He was already subdued and handcuffed. But selling cigarettes illegally, why does the person have to be subdued in the first place? Why don't you just tell them say, look, you really can't sell these cigarettes on the street. Right, and then you write out the ticket. So please leave and take your cigarettes with you. You don't use it as an excuse to choke him to death and he was asthmatic, obese too. In this case the girl was roughed up I guess semi-beat up and thrown. I mean, the girl was guilty for not complying. If I was a teacher, I would get pissed too if people started taking personal phone calls. It's like if you're on a job, you're on a company's time and you're supposed to be at work and you're freaking, I saw this with my own eyes and this girl's boyfriend kept on calling her every 10 minutes and it's like the supervisors say, hey, what's going on here? Is it an emergency that you've got to take the call?  So anyway. So why didn't they just call one of her parents to come down and take her out? I would have had the principal of the school come in. What was he going to do? He wasn't going to throw her out in the chair just like the deputy? No, he would have to call the parents. Yeah. And actually I would expel her, I would give her a suspension. Whatever. But that's certain after the fact. The point is the cops want to handle the situation right then and now so they always overreact. That's what happened. But I think he overreacted and used the fact that she was a black kid talking, you know, not complying and being disobedient. Yeah, I'm sure his ego was hurt. No, no, his racism made him rough her up. It was an excuse to rough her up, you know. It could be in South Carolina.  But still, we have rules in school. We have school policy up here too. But... Well, if you let me continue reading, we will see that she will be responsible for that. All right, go ahead. But that's something entirely different than the throwing. Well, it falls... Yes, you mean it's a more generalized subject. But I'll talk what I got into. No, she will get her punishment. All right, go ahead. Both she and another student verbally challenged the officer's actions during the arrest, still face misdemeanor charges of disturbing schools punishable by up to $1,000 fine or 90 days in jail. Okay? So her punishment is down the road. It did not have to be at that particular time by the deputy. Three months in the... Just threat. Three months at a clink would teach her a lesson for sure. Good. More than a dozen parents and community members vented their anger at Tuesday night school board bidding.  You can say it's not racist all you want. That was my daughter. That officer being fired would be the least of his worries. Well, yeah, you don't beat up somebody's kid, but the point is you call the parents down to the school and say, you know, your daughter not only broke school policy, but she is going to be arrested and she faces charges. And you tell the parents who are the guardians of what her daughter did. What her daughter did, because she's a minor. Get her out of here. Right. That would be the right thing to do. Getting the parents down. You know, when I get home, I'm going to take Benadryl because this other medicine, you know, sometimes you just got to go with the stuff that makes you drowsy to get it to work. I apologize for me a blow and honk in a way. Dripping and honking and the tissues, you know, during the show, you know, but I learned my lesson. You got to go with the hardcore stuff if you want results. Okay, that's it. Got one more nice, nice here. Okay. Something to leave with on a positive note. Something Halloween-ish? No. Go ahead. I am madly in love with a man. Oh, God. I've been dating for almost a year. Madly. But I don't think he's in love with me. He claims he's been hurt twice from two failed marriages. He keeps giving me mixed signals. He questions me about my male friends constantly. He shows up at my apartment without calling in hopes that he will catch me with another man. That's this male friend routine.   During his last drive-by, he saw me in my car at midnight listening to music while surfing the web on my phone. Of course, he thought I was on the way out to a boyfriend's house because I had my gym bag and a grocery bag in the front seat with me. He ordered me to open the bags so he could see if I had any overnight clothes inside. Because he's not comfortable with her having male friends? After he saw there were no clothes, he calmed down. I don't know if I should keep this relationship going or if I should abandon ship. Or abandon her male friends. That's another choice. We didn't have any male friends here. Where did you come up with that? You said that you read that she has male friends that she spent time with. Or is he... Yeah, but he's never caught her with any of them. But does she spend time with her male friends? I'm sure. Do you spend any time with female friends? I don't generally like the idea of having a female friends to platonically hang out. What if they're big and fat? I'd never done it before. Well, the point, I think of it is, she's got male friends. And they have nothing to do with making whoopee or anything like that. Yeah, but if she spends time with them, there is always the possibility because she might not have it on her mind, but they might have sex on their mind. Well, she has no control over that now, does she? This is what's bothering the boyfriend. But he doesn't know anything. Because he knows how guys are. But he doesn't know anything. He has no proofs. He has no nothing. This is all paranoid. But the only thing he knows is that she's his girlfriend, serious girlfriend, she's female, and the male friends are male. And if you're a male, you know how men think. And that I have been hurt by two women in my past. So I have to be paranoid now. Well, nobody wants to get burnt emotionally. Nobody wants to... Then don't get in a relationship. Emotional trauma. Nobody likes that. Well, don't get in a relationship then.  Well, I don't trust people in general. Well, then it wouldn't work for a good relationship, now would it? Well, I don't even... No, I even have my doubts about my male friends.  Yeah, sure, that's true. Unless you're going to get married. I mean, some states you can get married now. Or all states actually. Well, look, if the significant other spends a lot of time with you, that's a good sign. If the significant other only spends like one or two days a week with you, then I would say she's possibly banging and sucking other dicks. You know what I mean? Oh my God. There's no proof that this stuff goes there. You have this... You think that... This is paranoid. You think that men... No, you're being very naive. I am a man. I know what men think. What does that have to do with anything? Statistically, a lot of women cheat nowadays more than they did in the past. Fine, but you are reading things into this where there's nothing going on like that. The man has no proof for anything but what goes on in his head. Oh, okay. He's paranoid. Thank you. Could you please let me know how I should handle my situation? And here is Dear Abby's response. You may be madly in love with this man but unless you have a breed that your relationship with him is exclusive, he should not be grilling you about your friendships with your male friends. Uh, and a serious relationship... He just said that. Spells trouble. Now, my statement is in a serious relationship, male friends for the woman's spells trouble. Knowing how men are. Yeah.


All right, so everybody caffeinated? Yeah, am I audible at the back? Fine, fine. So hello everyone, I'm Irfan. I work as a release manager at Upgrad. It's a startup company in Mumbai. It's an online learning platform based in Mumbai. I have a website IrfanAmba.in where I write blogs mostly and spend a lot of time on Twitter. So my handle is no time waste. I'm also interested in writing retro game apps on mobile and I also do amateur standby comic, very amateur. So today we're going to talk about testing as a chat. So how many of you use any chat tool in your company during your work? How many of you keep your hands up? Okay, pretty much everyone keep your hands up. If you are also using the same tool to do some operations through it, like some deployments or something else, keep your hands up if you also use the same for testing also. I think one person does that, fine. Nice, nice to know that, yeah. So why we want to do this talk? Just to clear your expectations. This is like what we are, is it visible? Yeah, so not visible? Okay, fine. So we all get a lot of questions any time of the day and just like every superhero, like I get inspired by a lot of superheroes and I'm always interested in figuring out that how those superheroes are superheroes. They look like human beings, but how are they? So I figured out like if you look at Tony Stark he get a lot of questions, he has a lot of work, he has a lot of things to do, like he has to do laundry and other things, but what, how it is managed in his case. He had Jarvis, which manages when he's doing other things. So the question that we can ask ourselves is that who will manage our business when we are busy saving the world? There's a lot of ordinary things that we do in our day-to-day life. There's a lot of extraordinary things that we did do in our life. So how do we make sure that when we are doing extraordinary things, who will do the ordinary things? So this is the idea behind this talk to understand how there are a lot of ordinary things that we can do, we can automate and how we can use chat-based tools for it. So the outline is we'll start with why do we need to run our tests with chat? What, how are we going to do that? Does it really work? And what will the next steps, like how you can implement it and how you can take it ahead in your company? There will be some examples that I'm sharing. Most of the code is there in GitHub or so that you can take it from there. So why do we need it? The first question is why? So as team size increases, the communication gap reduces. So how many of you have a team size of like one or two persons? How many, two to 10? Okay, 100,000 million? Okay, so nobody's from Indian railways. So yeah, but I just see as a team, as a number of people in the team increases, the communication gap also increases. And there is a huge problem when we want to communicate something or we want to train someone about what has to be done and how it is to be done. So that's one communication problem. Also how we do conversations. So we use conversation tools like emails, chats, meeting and physical meetings. How many of you use emails for communicating, test results, anything related to tests? And how many of you use chat? Very few. How many of you do meetings or physical standups to communicate these conversations? Okay, majority of it. So a lot of time goes in doing this in cups and meetings and the amount of things that we share, the sort of things that we share, are pretty very basic things that we share some data, we share status, we share problems. And these are very basic things which can be very much included in our chat-based tools or any communication that we do and so that we can focus a lot more time on productive work. So the current scenario is that this is a survey which was done mostly in startup. So a lot of companies are still using emails, but the chats are, the chat-related conversations are increasing a lot and the future is more towards it. So what do we communicate? So on day-to-day life basis on chat or emails, what are the questions that as a developer, as a tester or as a product manager or like whatever it will be, what are the questions, what do we communicate? Okay, good, good. Anything else? ETA, yes. Anything else? Status, yes. And anything else? Test coverage, yeah. Yeah, so these are the pretty things that we share on communication, like we share some data, like what is the test coverage? We share the request, like when the build coming, test results sometimes scored, it's a pretty horrible idea, but some results, status, problems, defects, solutions. If you see clearly a lot of things, these things does not need to be asked or does not need the person to be available at that time. Like if you know the build status, it can be directly queried from somewhere. If you know the test status, anybody can run it from somewhere. Like you can be just sitting in this selenium con and running some tests from here. So a lot of these conversations, the activities that we communicate, a lot of these can be actually done and can be shared without the person being there. That's one of the reasons. One more reason is the DevOps is moving very fast. They're quicker release cycles. You see some companies shipping things daily basis, early basis. Also DevOps brings this CAMS thing which is a culture of continuously improving things, automation measurement and sharing. And this is very much encouraged in DevOps processes and everything. And yes, the visibility across the teams. But if you see the way how testing teams work or that how we run the tests or how we do it, this is not as fast. It is very difficult to catch up with the current way of doing things like somebody giving us asking for a build and then giving us and doing the things like that. So it's even though the operation side of DevOps has moved very quickly in terms of implementing the CAMS, the testing side is very lagging and this will affect the, they definitely affects our release cycles. So our entire presentation will be very much focused on chat ops. So what is chat ops? It's very simple. It's bringing the work that you are already doing in conversation that you're already having. So in simple words, putting tools right in the middle of conversation. So if you're having a conversation and you're asking about what is the build status, you get the build status without that person having to be present in that state. This is not a new thing. The chat ops is not a new thing. It was coined in 2012 or 13 I guess by GitHub and since then it's being used heavily mostly by ops operations people. Whereas I see within testing it's not being used much or even if it is used like I did a small survey to do that, it's not, that option is very less or very negligible. So this is one example I hope that you can see. So there's three people talking on Slack on one of the communication channel. The project is critical project. The product guy is asking that we need to ship the product today and the developer is saying that he has done all the bugs. Tesser is not sure. He's asking the bot. The bot name is Raj. So he's asking the status of a bug. So the chat bot connects to the bug database and informs about the status. And if it is all done then the tester redeploys it on one of the staging environment and tries to check it. This is just one example of how chat ops thing is there. And it basically makes the conversation flow easy like you don't have to switch on different places and go back to back. So if you see the types of conversations that we have, they can be categorized in four sort of categories. One is pushing context like you're informing someone that this is the status of this or you're pushing the context into the communication. Second one is that without having somebody tell you, you are pulling some information like you're querying that what is the status of this bug or what is the status of all the tests which ran for this app build. The third which is little bit more complex is bidirectional interactions. Basically when we are performing some running some tests and doing result analysis on that. The fourth one is doing custom tasks like running a Jenkins pipeline or doing a production deployment and doing all the checks. And all these things were initially designed for chat ops for operational people. But if you see these things holds very much true for testing, like these are the examples for pushing context, test results, for pulling information you can just query the status, running tests and performing releases with all the checks. But what we see was that chat ops is mostly related limited to ops and not much used in testing. So that leads to a conclusion that chat ops for testing is awesomeness. To bring more perspective to this, I'll talk about a story. It shows that how QA releases happen and what are the things involved and how the role of chat bot is can be made important. Like how important is the role of a chat bot can be. This is how some sort of companies choose to do releases. Like we also do release train. So every, on a certain days, on a certain schedule, we take out some code and start testing on it. And after that, we run the test and we mark it and then this is how the code is released. The period depends on what product is. Sometimes it's week or sometimes it's days. So here is the chat bot that you saw. It's the name is Raj. It's release automation janitor. It's role is chat bot. And the goal is that you also take out a new Simran to live every week or every day. And here is the software itself. Name is Simran, a software implementation of requirements authored by nerds. The role is a release build and she want to go live ASAP. But there's one more character. Is Babuji, bodyguard of agency, bugs in user journey and incidents. His role is QA and goal is to take care of Simran. Another character is mother of all apps. Role is developer. And goal is to see Simran living her life. And the final one is mother of all arbitrary assumptions. Can anyone guess who is this? Whose character is this? Okay. Yeah, product owner. The goal is to see Simran's children and family growing and bringing business. So this was just to add context to how chat bot can be made important. And this is how we kept the name as Raj to our release automation giant, the chatbot. Next interesting question is how we can do this and how it is done. If you want to start with using chatbots to test, the prerequisites are that you need a chat platform. You need a bot framework to work with. Basically you can start with any of the bot frameworks open source available. We'll discuss about that. Third is service integration. So basically anything that you want to do via chat has to be there available as a service. So let's say if you want to run a test, that has to be available as a service or it needs to be a part of capability of the chatbot itself. And the fourth, often not a problem in many companies but can be a problem is a culture, a culture of sharing and transparency and openness. Sometimes it can be a problem but if you want to implement a testing via chat, you need to have that openness. If you feel that you don't want to share something, you don't want to share your failures, so that will be a problem in implementing this. So coming to the chat platform, most of the chat platforms, they have capabilities to easily integrate with any other tool or bots or also known as apps. Like some people use Slack hip chat. So what different chat platforms do you use? Like how many of you use Slack, okay? How many of you use something else like hip chat, okay? We use both, okay. So and anything else, FlowDoc or FlowDoc, okay? FlowDoc is also very much integratable. IRC, okay, what else do you use? Skype, okay, so Skype is something I have not tested actually but will be interesting. Second thing is so all these chat platforms that we talked about has capabilities to integrate with these apps based on some APIs if they are available. Second one is Bot Framework. So you can choose any of these open source Bot Framework. There are paid SaaS based tools also but these are very good open source tool with very good community. The most famous is Hubot. It's very good, the plugins availability is very good. The only downside is that it's in, that you have to use CoffeeScript or JavaScript. Second one is Lita which is in Ruby which we will be using in our demo and GitHub projects that we have, that I have shared. It also has very good variety of plugins and support available. The another one is Airbot, then we have Cog. Airbot is in Python, Cog, I think it's in Node and YetiBot is I think in Erlang so based on your preferences, you can just see which suits you better. So as I mentioned, you need a chat platform, you need a Bot Framework and you need to have service integration. So anything that is available as a service or exposure service can be used via chat. So for example, if you use only native third-party integrations, so in majority of these in chat platforms like Slack or FlowDog, there are already apps available but the downside is that the capabilities exposed by these apps are very limited. They are very stable and easy to use but it's very limited. Like say, GitHub has an app for Slack and for also for hip chat. Same is for Jenkins and Victrops but the capabilities exposed by them is very less. It's all of them falls mostly in the category, first category of communication which is pushing the context. There's no much support of bidirectional and pulling the enquiring. So if you use third-party integrations, that's very good. It's very easy but there will be some limitations and we won't be able to use much of the capabilities of the platform that we're using like GitHub or Jenkins. If you want to evaluate Bot Frameworks, one of the things is if you're using a bot, how it differs from, okay, so if you use only third-party integrations, there will be like a lot of people talking to your bot and this will be directly exposed to the integration available from these platforms. If you use a chat bot, you will have the capability by these bot frameworks where you can write some scripts or handlers to handle some sort of messages and they will be having adapters to connect to different platforms. Or if it is not there, you can make your adapter to your platform. Like there's no adapter for source labs but we are planning to make it. So like the common ones which is available for all these frameworks are like Jira, Jenkins, GitHub, Confluence, AWS. So these are the ones which is available and you can use your chat bot framework to script and connect with these adapters present. Or you can use bot agnostic libraries like one of the platforms that I, the frameworks that I talked about, Yeti Bot has no language dependency which works on APIs if you want to go with that. So let's talk about how our tests will get affected. If you want to run something, so your test on a chat platform, what will be the architecture like? So if you see the user will see the main, user will come on these channels like Slack channels or IRC or HipChat or GitHub or Jira. They're different people communicating on these chat tools or platforms. Like let's say a developer is saying bug fix is done or a visitor is or like a product owner is saying what is the testing status and QA is saying that I'm running the test. So these are connected to different bots. So these bots are nothing but apps that you can make on the chat tools like Slack or HipChat bot or IRC. So let's say if you're using a Slack or if you're using a HipChat, so you will have different bot for both these chat tools. But your implementation of a test will be same. Like the same test will be running or the same capabilities that you're building will be used there. So the chat framework will communicate with these bots. Chat framework is nothing but that I talked about. They will have some APIs. So whatever capabilities that you're writing, they will be part of the chat framework. Let's say if you want to add a capability to run any test on source labs from a chat bot, so you want to script that into a chat framework. But majority of the times what happens is our testing frameworks, if you want to use any test in our existing test, we would have to expose them as a service. So just like developers share their work and expose their work as a service in form of an APIs. So how many of the testers, how many of you have written test which is exposed as an API or a service? Yeah, so if you have a test which is exposed as a service, that can be directly very easily used by any chat bot. So what will eventually happen is that when a QA is saying that run this some test, it will communicate to the channel. This will be communicated to the Slack bot. A command will go to the chat framework. A handler will be written, which will process this message and it will work the APIs. The APIs will trigger test which are some jobs on the test framework. And to handle this complex like these jobs, you can use some Qs like most of the test that we write, they are for many, many minutes. So you can use some APIs to trigger those jobs. They will be running on some Qs and you can store some logs and the statuses on database. So next time whatever information is there, everything related to test is part of your APIs. And whenever someone is querying through the chat bots, they can also, they will be basically going through your chat framework and APIs. And your test framework is intact. So your test, if let's say if something wrong happens with the chat bot, it does not matter like you can run your test in the current way also. So this is how the flow might look like, the one of the approach might look like. If you feel that you're exposing the tests as a service is complex or difficult, you can use another alternative is that you can use a CI platform. So most of the CI platforms, they have this capability of exposing all their operations as a service already, like Jenkins and Travis and Circle CI. You can run operations on them through an API. They already have public APIs for that. So instead of, let's say if you feel that you have tests, but you don't want to expose them as a service, you can use those CI tools like the green one and the chat framework will connect to those CI tools and will run your tests, which will be indirectly running the test framework, but here you will have limited capabilities because you don't have APIs and you don't have logs and databases. So only some part of the bi-directional communication will be automated, but that's a low hanging fruit to start with and it will give you a good returns initially if you want to start with the chat bot's base testing. So implementation wise, let's say for example, if you want to deliver an API and web test via chat to test a small example voting app and you want to run this, let's say you don't want to change anything on your test and you want to run over CI tool like Jenkins or second is by exposing them as a service and then showing the testing results and later on if anybody wants to know the status, how they can know. So the example and the code it and shared is implement this problem. So I have a example voting app. It has a front end, back end and database. We won't go into detail of this. This is shared on GitHub. It works. It's a pretty old app, but it works. It's a simple voting app and we also have another project which has implemented, which has test implemented for API and web tests. So let's say for the first one, let's say if you want to use a CI tool to invoke your test and run the tests over that. You can see that. So this is the sample app that started and this is the example project. So I'm using the second approach using the CI tool. So every CI tool has already APIs available which are exposed. So this bot will just use those. So I'm just telling Raj to search for Jenkins jobs which matches a regular expression or which matches to an app. It's saying there are two jobs. It will run this job. It will trigger the job from here where book is turned and it shows the link of the tests. This is the API test. The another one, the web test. We have more capabilities exposed by this handler, but I've shown just running part of it. There's a way where we can fetch, like we can do all operations like fetching the status, querying the database. Later on, somebody wants to know the status of the example app now that the two tests have run. And this is in a channel. So this can be a part of the conversation when people are talking together when they're discussing the status. So it says the final testing status is okay, which is what we communicate usually. The second demo is when we are not using a CI tool but we are exposing our tests as an API. So if you want to, if you already have a test, let's say if you have a Cucumber test or a test engine test, a Selenium test, let's say. So what you can do is you can use a simple API framework. Like there are very lightweight frameworks, like if you want to do in Ruby, there is Sinatra, there is Express in Node. You can just write, start writing, start having a database and expose these jobs, testing jobs, like the test suits as a service, put request will be made. And whenever this is called, the message will go send there. A message will be sent to your test and that test will return a link or somewhere. And after that, you can show the results of that. So we are using, like in the demo, I'm using a HIP test, which is another testing platform which exposes this capability, but you can run the same test on let's say Browstack on SourceLab or you can do, you can have your own customized setup where you can run your tests as a service separately. So the YouTube, the videos are also on YouTube. So there was a scenario made on HIP tests and I'm running the test demo, which we'll call the service. The message will be going through RabbitMQ and it returns the live status of where the test is running. It has only one scenario. Earlier, the status was not run. Now there is a run and you can check the result latest, which, yeah. And when you query the next time, it will show the result page of the latest test run, which happened here, yeah. And you got the webhook which returns, final testing is okay. So if you are implementing API, there is a way to add webhook also so that the bi-directional communication through your app will become more rich and powerful. So in scenarios like where you want to invoke a test or you want to run a build pipeline, so there may be a possibility that you want to retry or you want to do some other operation where you want to take input from the one step to another one. That time you may need a webhook support. All this API and webhook support will be extending your test project.  So as I mentioned, I have used Litabs. It's a chat framework. So if you want to, let's say, if the code is there, so if you want to extend the capability in the chatbot so that you want to run the tests on source labs, you need to configure the APIs. You need to extend the handler. So every chat box frameworks mostly works on, they have two, three components. One is adapter which connects to different platforms and extends the capability. And they're handlers for these different platforms. And what the user does it, it sends messages. So in the handler, you are just extending the capability of your bot. And when you are actually, what kind of messages you want to deal with or interact with, that you can write separately as a part of your bot. And these capabilities can go as a, they can be published as separate plugin. So there are a lot of plugins available for Lita and Hubot. Like I think for Hubot, there are like hundreds and hundreds of plugins available for Lita also, it's close to 100. What's interesting is that most of these plugins, they are very much related to ops works, like later deployments related to monitoring, but none of them are related to testing directly. Like there is no plugin for APM. Like we can create it definitely, but there's no plugin available for this because it's not used in that way that much. So once, so we can create plugins in this way. And once the plugins are available and they are published, they can be imported in your chat implementation, and you can handle the messages the way you want to handle them in your implementation. So in the beginning, we mentioned about some problems that we had in communication and how ops is ahead of QA in camps. So in terms of visibility, yes, definitely it solves visibility. It makes things visible. In terms of culture, it is possible that running tests as a chat will solve some of the problems. Automation, yes, definitely it's improving the automation. Measurement in terms, there are a lot of things that you want to keep measuring let's say test coverage and other things. These things are measured, these can be measured on pull request basis also or on emails also. But you know the effect of this, if it's available as service and it's available as a conversation, like let's say you are having conversation and you are asking someone that, okay, what's the coverage of this? Then it makes the conversation more meaningful and it makes the measurement available live. Sharing, yes, it makes sharing very useful. One more thing is that, whatever you do on a message platform, it also does a sort of a living documentation, like in our company we are using ticket handling through BOD. So when we are doing through emails and other ticketing platform, we saw that the time taken by people to learn and adjust and understand the capabilities of ticketing capabilities were like it used to take like two weeks or something. But when this was done through a chat platform, they can see like, okay, this is how it is done and this is how they can query and get the information. The, they were able to learn very quickly because it's there every time and it does a live documentation. So if you're running tests on, if anybody in your team can run tests via chat anywhere while sitting in a conference, so that just adds like that just improves the sharing. So from some experience of using it, the best practice is that you should have the cultural acceptance first and technology is the second thing. This is more about sharing and making your work visible. So if you have a problem with making your work visible, then it might not be a good idea. So cultural acceptance needs to go first. Signal to noise is important when you have a lot of tests, lot of things together. So it may happen that when you are using one channel or one group and you're discussing everything there. So it may happen that there is more noise and instead of improving the productivity, it reduces the productivity. So we need to figure out what is the signal to noise ratio for us and figure out a way so that relevant people are there having relevant conversation and these bots adding meaning to this live status and meaning to these conversations. Otherwise, it's going to be way more unproductive. The third is that which is the most helpful is API-driven tests, whatever test or whatever things you have as a test, you start exposing that as a service so that they can be used from anywhere else. Like today, they can be used, they can be run as a job, they can be run as an API from other third parties or they can be run from a chatbot. If you, there are some SAS alternatives also which are paid alternatives. I think VictorOps is one of them. There are a few more also. If you want to explore, you can explore that. But definitely, if you want to start with, with this example, you can just start with open source and see how it works. What will be our next is, there are some challenges that I see is the adoption of testing as a chat is very low or almost negligible. Whenever we are like people are doing it, it's not that mature. Like we have very less plug-in available open source for testing purpose. So I would like to see this growing more in future. Maybe next year when I come, we have a lot of other people doing this. The tool support is also not very much because people are not doing it. Signal to noise is one of the thing that is very relevant. Like a lot of people, we need to have, we need to give options so that people can configure how they can deal with the messages. Like I know Slack does that very good job, but we need to have this capability with our chatbots also. Security is one concern that people ask me randomly is that the authorization built within your chatbot platform so that it should not happen that somebody, somebody cracks a production joke and it deploys in production. So another thing is exposing test to a service is also a challenge because the kind of tests we are doing, like we do voice testing and other stuff, exposing them all their service might be difficult, but it is possible. So that's also one challenge. So that's the future challenges that we'll be facing and we'll work over it. Yeah, so that's it. The examples are on GitHub and the API docs are also available. Yeah, that's it. Thanks Irfan, we have any questions? Hey, it was a nice session. So I just have a few questions here. So one is like, how would you put your chat framework online? Like how would you make your chatbot online all the time? Are you taking care of it in Slack? The next one is in Slack. If you have created apps to it, so people may delete it. So how would you maintain that? So when you delete it, you have to create an app. Have you automated it or are you taking care of it? Yeah, so for the first question is about availability. So the availability of chatbot apps is not different from availability of any other apps. Let's say you are deploying a service, any API or something, it's same as that. So your chatbot is, let's say for example, of this Lita and Hubot, you can just start those services as a demon and run those over a demon service like Supervisor or and they will be there, they won't get killed. And it's the best practice is that to have those, to treat those your chatbot as a production service and not just for testing purpose. For the second question, it's more of administrative thing like if your organization doesn't have this, like if everyone has access to do everything with the chat platform. So in that case, because there is a restriction from the, if you see Slack or if you see a hip chat, they have different ways of dealing with how apps are added to the platform. So if everybody has access to that, then definitely it can be a problem. So that needs to be solved in an administrative way so that not everyone has access to that. Or the one way is that what we do is that when the bot comes up, it sends a trigger to a channel and when it gets killed, it sends a trigger. So that can actually remind us that. Okay, generally, usually the work spaces in Slack, most of the people have access to add and access to delete the ads. So I was just curious, like, have you automated that kind of thing where you create the apps directly if it is deleted? Okay. So I have one more thing. Let's say, suppose, whatever test services, all those things, it's not in same domain. So does the chatbot actually contact the one which are in different domains? So are you taking care of it? I didn't get the question, like, what is different domains? So your chat framework, whatever it is there, it is in some domain. Let's say, suppose, when I say in the domain, like on the same network. Okay. So your chat framework is on some network and your test scripts are in a different network. So does your chat framework take care of it? Like the access, I know the access key and everything, but can it talk to the one which is in a different domain, different network? So they need your tests and your chat tools. They may not, you don't need them to be in same network. Like, you can run a test on an APM which is running on source labs, which is on different network. What you need is a connectivity between these, the APIs which are exposed and your tool that you're using. That's it, that's the only one. So basically, if you have the APIs available in the same network, they can send the message and this can be triggered to run tests on different network. But ideally, I believe they should be having connectivity. Some connectivity is required to send the message. But it's not that simple as we think because it's method... Okay, so is there a VPN? Yes, you have to create that. Okay, so I've not faced that part of problem. Not at all. I was curious because I was working on that, so I was figuring it out how to do it. Okay. I have one last question. I kind of have the same question that my Jenkins servers, where I've actually put in my automation code, to run that particular automation code, I need to connect it to a VPN. So how does we actually tackle that using this Slack? Because let's say if I'm trying to build my particular automation code through Slack and if the code which is put in another server, I mean to manually run it, I need to connect to the VPN. But through Slack, how would we do that? Or have you done that previously or something? No, so I have not done it. But the solution needs to be... If it is automatable via VPN, then it can be possible. Otherwise, I'm not done. Yeah, and another question. To run a particular build, I need to have the access. So I first basically log in into that particular Jenkins and then I run that particular build. But through Slack, I don't see anything, any authorization key that you pass into the code or to the Slack. So how would we do that? I mean, let's say if everyone has the access, then it's fine.  But let's say if it needs any authorization, then how would we tackle that? Yes, so I'll just divide in two parts. One is the authentication problem. So authentication is built into the, your chat framework itself. So a chat framework like Hubot or Lita, what they do is they give a, like you have a configuration file where you can mention all these things. So with that, you don't need to give passwords from Slack, like from the chat tool, but that is a part of the configuration. That solves the authentication part. Regarding authorization, that you have to support within your chatbot itself. So let's say there are like, if the request is coming from a user, he needs to be authenticated first. Just like in first example, the chatbot needs to be invited into the channel first. Similarly, the user needs to be authenticated first and then it can do operation. So that support needs to be given from your chatbot capability. First, the person should be on that particular group. That is authentication. And then you get authorization that to run that particular build. So Hubot has support for authorization also. In Lita, I think, Lita also has, so basically there is a way so that the first time you're doing some operation, you need to authorize yourself. There is a way for 2FA also that it sends SMS to your, so that nobody just does any production deployment by mistake or something else. Okay, okay, great. And I think to add to his first question, if you have access to chatbot and the chatbot internally has access to all your private networks, then you can trigger your builds using that. So it's a two step communication. Yeah, so the chatbot, if it has access to that server, you may or may not be connected to that. So it's one to two, two to three. Am I right Irfan? Yeah, yeah. Yes. Yeah, so thanks a lot everyone. Thanks Irfan for like expanding the applications of chatbot.


Hello, this is Laptop Media, and today, we will show you how to open the MSI Alpha 15 and what's inside of it. This device's bottom panel is held in place by 13 Philips head screws. After you undo them, pry the panel with a plastic tool, and remove it from the chassis. Please remember, it would be of great help to us if you just hit the like button and subscribe to our channel. That would motivate us to make even more and better videos for you. We are impressed by the 90 Watt hours battery pack, this laptop comes with. Memory-wise, you get 2 RAM Sodom slots for up to 64 GB in total, working in dual channel. As for the storage, you get 2 M.2 PCI-EX4 slots. Finally, there is the cooling. MSI uses only 2 heat pipes for the CPU. On the other hand, the graphics card is cooled by 3 heat pipes, 2 of which are also used to cool the VRMs. There is an additional heat pipe for the graphics memory. If you'd like to see more disassembly videos of the latest notebooks we would highly appreciate if you hit the like button and subscribe to the channel.


So if you'd like to be a part of that and help us with our planning, please let me know. I feel as if we definitely want our community in this process. So we really turn to you to help us make sure it's as authentic as possible and that we're all involved and we're all learning from one another. Today has been an amazing experience and we just want to say a big, big thank you to all the volunteers and to everybody who's helped put family festivals together. I'm going to read off a few organizations real quick. Thank you to Alliant Energy Foundation, Sheboygan Service Foundation, Senior Captain Kim of Asiana Airlines, Guido Kim, the Director of the Lincoln Park Music Center, National Folk Museum of Korea, and Korea Tourism Organization. We received so many goodies from everybody, so thank you to everybody. It's a big round of applause for all the audience for supporting family festivals and we look forward to celebrating cultures next season.  Okay, I need Karam members here, thank you. Hello, good afternoon. Nice to be here, this is our second performance today, so we're very excited again. We're from Milwaukee, Wisconsin and most of us are students, full-time workers, full-time moms and dads and we're here to just share our love and passion for Korean drumming. Korean traditional drumming is our native folk art and music and it's connected to nature and to farming. And originally it was also called Nongak and in a village form you call it Pungul, which means objects of the wind. So I will explain more about individual drums later. But the first piece that we will perform for you today is called Youngnam Karak, which is from the region of Youngnam, which is the southeast part of Korea. And this rhythm originated from that region and it's a little bit of a shorter piece, but we hope you enjoy it and we'll talk more later. Thank you. Western influence in Korea, political history, which is really refreshing and nice to see. I love that and we're very lucky to be able to practice this here in the U.S. If you want to join us, come on the individual instruments, which is the main drum that a lot of us know how to play the changoo. It's an hourglass shaped drum and inside, if you could lift it up a little bit, it's going to signify, I guess, rain. It symbolizes rain falling from the sky and all of our drums are handmade natural wood and the woods that we use from Korea are palwania tree, from the palwania tree and poplar tree or poplar wood. The changoo is very unique because you have two sides to the drum and that's why it's a little bit different from African or Latin drumming. And again, you notice our different sticks that we use when we're playing the drums. There is an Indian drum that has a similar look and a similar structure, but it's a little smaller, but there is definitely some Indian and Chinese influence on the drum. And then Seungyeon, he's sitting by the book, and that's the book, yeah. And you'll hear a little bit more when Seungyeon and Yoon-seung play their piece here. The book is a round barrel drum, again, man-made natural materials and it represents the sound of the earth. I guess when you're pounding on the earth, pounding on the land, that's the sound. And the book also represents or symbolizes the moon. The moon is shining on our land, on the farm. And when you heard us chanting earlier in our piece, we were talking about the moon shining on to us, giving us light and showing us where the land is, the fertile land. So that's the connection right there. We have a gong here, a large gong. Yes, Seungyeon, can you just hit it one time for me? And the gong is called ching in Korean. And this is really an important instrument in our drumming group and in any drumming group. It really provides the overall wrap-around sound for the drum group. And the ching represents the sound of the wind. And then Yoon-seung, if you could grab the gengari for me. The gengari is a small gong. We also call it se, which just means metal, literally. And it has a very sharp sound. Can you just tap on it a little bit for me?  And this is the lead instrument in the drum group. And we use this instrument to really be the lead and the leader of our group. So a lot of us, as you notice, we're playing the drums. But we're also watching the small gong player because she or he who's playing the gong is going to give us some signals. So you notice how she was raising her hand. That's how you listen for the switching of the rhythms. So yeah, that's basically the four instruments that are used in Korean drumming. And we also call this hamenotis. Ha means four. So four things, basically. So now you will get to hear a short piece from Yoon San and Seungyeon. And you'll sort of see how the pork sounds and the changu sounds on their own. So I hope you enjoy this. Thank you. Longer piece, so you'll see more variation in this piece. And you'll also see sort of the dynamic relationship between the round barrel drum and the changu, the hourglass drum. So you'll sort of see a lot of back and forth, which is really interesting and fun, I think. So I hope you enjoy it. It's one of my favorite pieces.