Hello, everyone, and welcome to another webinar. This is our talent and development web design 18 episode in addition. And today, we're going to be talking about the use of learning methods and media to design training.  So we're lucky we have a guest, our guest speaker. And now someone is going to co-host with me. The guest speaker is known to a lot of you. Her name is Enno. So Enno Iniwori Cabo. And I think I pronounced that right. Enno is a managing consultant of Skills Dynamic Services Limited. She's a customer service consultant. She's also a trainer. And she's also representing Nigeria in ATD. So she's our representatives, our rep for Nigeria for the Association for Talent Development. So anyone thinking of going for this, going for the next ATD conference, which is going to happen, I think, in Washington next year, you could just contact Enno, and you'll be able to get a big discount. So Enno will be able to give you money. OK, my name is Enno Iniwori Cabo. I'm the managing consultant of Skills Dynamic Services Limited. I'm a customer service consultant, certified by Service Quality Institute USA. I was also a senior manager with FITC, where I headed the business units. I'm also an accredited management trainer by Center for Management Development. I'm also an association member of ATD, as well as learning and development, as well as the AT delegation leader from Nigeria, former lead and assistant. And yeah. Oh, so you are a banker as well. So you like finance like me. Oh, yes, I do. All right, thanks a lot for joining us, Enno. And so today's topic, we're talking about training media and methods. So we'll be going through it together and seeing how that goes, and probably get some questions from the audience, our virtual audience. So here's the agenda, guys. So what does it all mean? What does media? What does method mean? Many people mix it up, methods and media. What exactly is that? Types of learning methods, we talk about that. Types of learning media. Criteria for choosing methods. We talk about how to combine methods and media and what does it mean when you combine them. And then we talk about some scenarios or instructional design on using those methods and media. So that's it. And then of course, we'll talk about experiences, especially Enno's experiences in developing training and delivering training, because that's another core part of this webinar to try and pick Enno's brain for free. And for those that want to learn and become top notch like her, at least you have her for one hour. That's excellent. So thanks, Enno, for joining us. Thank you, David, for having me. All right, so let's move on. So what are training methods and what are training media? So training is a combination of methods and media. That's what training really is. So from a design perspective, that's what it is. There are different infinite combinations of methods and media you can mix and match. So, but if you want to understand the big difference methods are the active ingredients of a training program. And the media is basically how or the way the training itself is delivered, yeah? So the way the training or even the learning process is delivered is the media, but the active ingredients of the actual training itself is the methods. So you could use a particular method for different media, but we'll be seeing more examples as we go along. Or Enno, do you have anything to add to this small definition? What I would like to add here is that looking at methods, methods are, they are the instructional techniques that facilitates the learning. And they are also, like you've mentioned, the active ingredients. Without them, learning can really take place. And then looking at the media, the media are the means of implementing those methods which you have chosen during the course of the designing of your, of the program. And that's really gives is the vehicle by which the instruction is formatted and stored and delivered to the learner. So that gives it, they both have to work hand in hand in order to make the learning impactful. Yes, yes. Okay, super. Thanks a lot. That's exactly it. So again, we'll go through in detail. So what I'll give you now is four popular methods used in training. So we'll talk about the four popular active ingredients used to deliver training. So our first method is usually everybody likes it. And that's what exactly I do now is watching a video, watching a video is a method. So watching a video is one of the methods. So what I'll do is I'll give you all four and then we'll talk about media and then we'll see how do we mix and match all these things. So this is a method of delivering training, right? Active ingredients, right? This video, another active ingredient is just a facilitator lecturer. So a facilitator lecturing is another method, right? So it's another method of delivery, right? And then we have workbook exercises. That's another method. So we did that a lot in school, obviously. It was a workbook and all we did is use that workbook to learn, right? It's another method. And the last method that I have is peer discussion. So you're actually learning through peer discussion. So those are four core methods. So I don't know, do you have any more, any mix and match of these methods? Which do you use regularly? I use all four and also I also use Rooplay. You can also add Rooplay, you also add kind of some demonstrations showing the step-by-step performance of how the process is, especially if you're looking at a process-oriented training, you demonstrate it, let people see how clearly the step-by-step the process will take to achieve the results. So I think those are the ones I have, apart from the four you have just listed. Yeah, so the combination of all of this and you use all. So that's what, you're really a master trainer. So you know how, when to use what? So that's really when you know, okay, you've done an excellent instructional design. Is when should I use this method? When should I use that method? It's very, very key. All right, super. So let's go over to media. So learning the media. As we said already, media is a platform or delivery mechanism. So how will we deliver? What's the mechanism we're gonna use to deliver this training? To really deliver these methods that we just mentioned, right? So like video, for example, what was the mechanism of delivering video? I could be in a classroom and I would deliver a video in the classroom or I could do an online, just do it on an online assignment or something like that. So media is how the learner receives the training. That's what media is. How the learner receives the training. It's the way the learning itself is delivered. That's what media is. So media is the package used to deliver learning methods. That's the media. Now there's always a debate. Which media is best? Which media is best? There's so much new media coming out now that let me just quickly go through four ways learning is delivered via media. Okay, so I'll go through the major four ways. And the first one is, everybody knows it, classroom. So classroom is the first one, yes. And it's very popular, it's good. And again, classroom itself, remember this is media. The media itself is classroom. In the classroom, you use different methods. So classroom is one. Another one, webinar. So right now I'm using a webinar and this is the media I'm using to deliver this learning to everybody here. And that's what me and Enno are using. We're using webinar as our media. Another thing close to webinar is a virtual training. Now a virtual training is a bit different from a webinar because in the webinar right now, most of you guys are watching the webinar.  But in a virtual training, there's so many methods you could use in the virtual training. I could do a peer discussion in the virtual training.  And you two will discuss so I can peer people up and do peer discussion, role play. I could do role play in my virtual training. So there's some really excellent virtual training software out there that really try and mimic the classroom because the classroom is classic, isn't it? Classic classroom. So there's classroom, which a lot of people like. So everything you see in this classroom, you could do it virtually. The only thing is you can touch and feel people, not yet anyway. So then, but the webinar is another means of learning training is a media, but it's not as interactive as the virtual training. So that's number two. Number three, we have listening to a podcast. So just listening. So just listening to a podcast. A lot of you, if you have an iPhone, I will advise you download the podcast. There's a podcast app. And when you download the podcast app, you have podcasts from many different sources. For example, you could have a podcast from the economist, your podcast from McKinsey, podcast from different people put in podcast, which is just recorded audio. And you can play those recorded audio at any time. It's really helpful, very, very helpful. And also, this is a media for learning. So the last media I'll talk about is self-paced e-learning. So that's the last media, self-paced e-learning.  In fact, we have our own platform, officetraininghub.com. So www.officetraininghub.com. Those are recorded learning or recorded videos, or texts, or whatever methods that you want to use. You put that recorded, you record those and put it online for people to use at any time they like. So it's e-learning. So those are the four main media and how we're learning. Enno, do you have anything to add on this? I think basically that's all we have, the major medias, because all the methods are also used in each of them as it were. So that's basically what we have, really. And then there are some methods that kind of lend themselves better to a media, if you know what I mean. So that's where you now start talking about methods and media. So if I want to do a peer discussion or a role play, the best media for a role play is obviously classroom or physical, you need to physically be there for a role play discussion. So if your training intervention requires role play, then obviously there's a classroom element. So you now decide as an instructional designer, the method I need to use is role play. And then, so the media will be classroom, right? Or the media could even be coaching. You probably go in and physically coaching and stuff. So another one is, okay, I need to, before the role play, I need people to understand certain knowledge that I need to transfer. Obviously, you now ask yourself that knowledge, what should I use? What media should I use for that knowledge? You could decide to record a podcast, send it to them. That's the podcast, the media is podcast. You could decide, you know what, I'll record a course and put it as self-paced e-learning. So that's where you start mixing methods and media. But let's move on, let's go on. So selecting the learning methods. So that's what I've just said now, selecting learning methods. What is the criteria for us to select the learning method that will best suit what we are trying to teach? So let's look at that, really there are three. There are three major criteria to use when selecting learning methods, three major criteria. So we'll be going through them while just list them out for you. It's learning objectives, learner preferences, and practical limitations. Those are the three major criterias that you need to use when you decide when you're trying to select the learning methods to use. Oh, I know, have you seen any other way? What are the methods do you think? When you're trying to select learning methods, what do you do? What process do you follow? For me, just like you mentioned the learning objectives, what are the learners going to, what will be the expectation? What is the goal you're expecting that they will need to meet or learn at the end of the program? That will also guide you, because if, for example, you said at the end of the program, I would want them to be able to use the telephone effectively. In essence, you know that you need to look at the process. And then when you look in that process, you need to look at some role-play methods to choose. That's role-play answering the phone. Also you can also use the learning method of demonstrating it actually for them to see or have a video clip showing that process. These are things that you're learning objective. And then you also look at the learning preference of the learner. What you would call what they are, the style. You know, from the way you look at the audience, you tell whether some would want to look at more visual. They want to learn, they learn better visually. And some you could also look at, okay, maybe you tell a story about yourself concerning the particular topic which you are looking at.  And you kind of emphasize that all throughout the program. That means you have actually chosen, I've seen the kind of method they would want to prefer in the delivery of the training. Group, group, group, peer discussion is another awesome aspect that you can see in there. Looking at, because you see people get excited when they are together, you know. And that's another aspect of looking at what methods you can use. Yes. So that's the criteria to use in selecting learning methods. Excellent. So we'll look at these three step criteria which we said is learning objectives, learner preferences and practical limitations. Let me go through them one at a time. So for learning objectives, now obviously the first thing you should kind of know about is something called Blooms Blooms. If you don't know Blooms and you really need to go find, find out Blooms Taxonomy. So Blooms as in B-L-O-O-M-S, Blooms Taxonomy, he broke down learning really into domains and levels. So depending on the domain and the level you are trying to, you know, work on, that will kind of guide what kind of methods to use because you need to know the domain and the level for you to be able to create your effective objectives really, create effective learning objectives. So learning objectives, you break them down really into three. What are the, is it a knowledge gap? Is that what you're trying to cover? Is that a knowledge gap? So that's one of the key things the learner objectives is a knowledge gap. Is it a skill gap? Because you need to identify whether it's a knowledge gap, whether it's a skill gap, and then also whether it's an attitude gap or something, some people say behavioral, behavioral gap. So those are the two, the three domains, okay? But when you identify the domain, that will kind of give you an idea of what kind of methods to use. So is it a skill gap? If it's a skill gap, okay, obviously they, they need to really be more practical and to stuff with their fingers and go and actually practice. If it's a skill gap. Is it a knowledge gap? Knowledge gap, you can ask them to read something or you could just put a very short video on something that'll cover the knowledge gap, but then attitude gap or how would I call it, behavioral gap. The methods would be something like Enno said, pair, when you have a behavioral gap, pair discussion, you need to, it's something that really needs that physical presence more. It to be difficult to use other kinds of methods really. So that's learning objectives. And you should check out Bloom's three domains, which is what I just mentioned, Bloom's learning objectives. Yeah, and then there are levels of learning as well. You know, there are levels of learning apart from just the learning objectives. We have, I think five, if I'm not mistaken, five or six levels. There's definitely a knowledge level. There is the, there's a knowledge skill and attitude, but then you have, whether it's application, I'm trying to remember those Bloom's levels. There are six levels for Bloom, apart from the domains, which is basically the skills, the attitude and the knowledge. The levels themselves is how deep you are going. Is it an application? Is it just knowledge? Cause that's on a level as well. Is it just knowledge? Is it application? Is it more understanding it in a deeper sense, so to say. But I don't know, do you use this methodology, Enno? Yeah, if it has to do with knowledge, let's say there is a knowledge gap, you know that there will be more of an intensive kind of lecture going on for them to be able to have knowledge about the skills they want to learn.  But for attitude, attitude, you know, you need to deep, go deep into the themselves. You know, kind of help them, make them have self-assessment of who they are. Because if people don't understand who they are, it can change behavior, it can change attitude. So we need, they need to have kind of some assessments have to come into play in order to change attitude. Let them have self-awareness of who they are, where are their weaknesses, where are their strengths? You know, and then with that. So if you have knowledge, if you have knowledge and skill without the behavioral side, well, you have the knowledge and skill, you just keep it, you won't use it to change, to change your behavior. So, which is why the Bloom's levels are mostly, there's knowledge level, the level you want to go, comprehension, is a bit higher than knowledge, then application, then analysis, and then they have synthesis and evaluation. So those are the levels of Bloom's levels, how far you're going to go with those levels. So a mixture of domain and levels is what you use to create your learning objectives. So generally to apply when selecting learning methods tied to learning objectives. So I guess depending on which domain and level of learning you are trying to apply, certain learning methods work better, just like Enos said. So your general rule is knowledge objectives can be learned by knowledge methods. For example, if you have just a knowledge objective, to be able to understand color codes or something, I don't know, that's just a knowledge objectives. So reading a document or watching a video is fine. Do you get that? That's reading a document or watching a video work. If it's a skill objective, then obviously you need to learn by actually doing that skill. So you can learn by just reading. You need to do it, there needs to be some action. So for example, what we do, we do analyst training. An analyst training has a skill objective. It's purely a skill objective. So what happens is in the classroom, once they come, they have case studies. So they have case studies that try and mimic what issues they would see in real life. And then what they're doing there is practicing. And a lot of times, most of what they do, they need a computer to do it and they need a software, mostly Excel. So they're actually practicing and practicing and practicing right there in the classroom to mimic that situation. So it's a bit like role play, but we're role playing between you and the problem, not you and someone else. So that's a skill objective. But an attitude objective, these are often learned best when you're actually together as a group. So it is rare to be able to change someone's attitude by lecturing to them. You can't just stand and lecture, lecture, lecture, their attitude won't change. That needs a little bit more thinking through, right? And you have to be in a group. Now it could be in a group online, that's the media, or it could be in a group in a classroom, it depends. You can choose the media most appropriate, but I think classroom is pretty appropriate for that as well. And then you can also do a role play with them interviews and stuff on a webinar, using the media for webinar every week. You check up on them for one hour or 10 minutes every week online. That could work as well. So I know, Enno, you do a lot of these role play related things, how do you manage it? Changing people's attitude? Changing people's attitude, you can tell a lot of stories about other people's lives and see how, because sometimes you see that in life, people have been there before. And it's like, when Obama was speaking at the conference in May, he talked about smoking. And what happened is that he said, the only reason why he changed his habit was because he didn't want his children to copy him, because they're seeing him as a role model. And that's what changed that attitude. Could you say that again? The line cut a little bit. Could you repeat that? So Obama was smoking and he stopped smoking? He stopped smoking. His wife had pastored him, but he said, no, his wife did not help change him. It was him himself coming to that realization as a father, as a role model to his daughters. Are you saying that? The realization of an attitude change has to come from within yourself. I may tell you stories about it and about how I have made my change. That also makes you begin to think about your own and then you can now begin to apply that change because it takes time. It's not overnight. It has to take you practicing consciously moving in that direction. Now, a classroom training will just kind of activate it, but it is the individual that brings about the enforcement of that changing attitude. And again, in the workplace, what will also happen is that if that is the case in the workplace, you know, reinforcement of that changing attitude has to come from the managers or supervisors. So the learning also goes beyond the classroom. So that's going on and on. Definitely. So whatever training, if you're an instructional designer, yes, you can design, but you must ensure that there's a buy-in of the supervisor. So whatever it is you've taught these people in classroom media or wherever, once they get back, the supervisors must be encouraged to encourage them to practice that skill or try and help them change that behavior. Do you get it? If you don't get the buy-in of the supervisors, forget it. Nothing will happen. Yeah. Nothing will happen. Right, super. So that's, because of learning objectives, now let's talk about the second bit of it, which is learner preferences. So learner preferences another key part we should look at under learner preferences. So I was saying, obviously, yes, we have this objective. We've done Bloom Staxonomy. We know the domains we're trying to hit. We know the levels we're trying to hit. And then we know the methods that we need to use. But then you need to think about learner preferences. Everybody has different preferences. Do you know yours? Do you know which one do you like? Which kind of media do you really like? Do you get? Which methods do you like? So the learner's background will help. For example, that's one aspect. So I'll go through learner preferences. Let's look at three main things. The learner's background. So what do we need to know about the learner's background to be able to know, okay, what this preference, let's change our design a little bit to accommodate this person's preferences. So background, anything to say about background, has background come to play in some of the courses you've designed? Yeah, background, kind of like what I tried to do in terms of learner's background. At the beginning of the program, like sometimes like an ice breaker, I use an ice breaker. There's a simple one I normally use. I say use the letters of your name to define yourself. From the statement they make in words that define them, you could tell from what background. For example, someone who is an auditor will say he is a very analytical person. From there you know, and then some may say, oh, I'm a nice person. Some may say I don't take nonsense. Kind of you kind of now know where to fit them in. And then with that background, you could also tell that they are either visual kind of people or they are people who are more physical. They want action, they wanna see demonstrations. Yes, so these are things you need to check out. And then during the course of the program, you bring those areas to play in your design. Your design may change a little bit if you are seeing that more people are into more visual. You can quickly look at, maybe during break, quickly get more of YouTube videos to show. Or you could see that they are more physical and they want them more of activities. And then you could quickly come up with an activity-driven situation that will also keep them focused and reinforcing the learning as they go on. Nice, nice. All right, so that's learner background. Also the learners' experiences. So you're doing a training and you have some real people with a lot of experience in the audience and some that have little experience in the audience. You need to mix and match. Sometimes it's good to have learners with similar experiences in one training so that it's not as difficult, especially a skill-based training. If you have someone that's very experienced already, maybe you'll get a little bit bored. He already has that skill set. And, oh, he's not really, he's trying to share. You can't really share or get new experiences from others because he's seen quite a lot already. So learner experiences are pretty important as well. And I would jump to the last one first before we get another comment on that one. Sorry, can I just jump in into the learning experience? Okay, let's jump in on the learners' experience, yes. I mean, there was a class where I was talking about ethics and professionalism. No, it was etiquette, that's on etiquette actually, etiquette on business etiquette, generally. And I had these senior managers in the class and also had some low-level staff. And basically, a time came where I kind of let go, let the senior managers themselves take over the class. It was an awesome class because at the end, we had a total experience of almost about 50 years. So you can imagine the benefits which the younger attendees had, sharing their experiences. So don't let, because if you just do, if you as a facilitator want to just dominate the experience sharing, the senior managers who are there kind of, okay, what am I here for? Okay, let me get this straight through. Yeah, that's true. So definitely take advantage of that diversity. Yes. That helps, yes. That helps a great deal, yes. Excellent, excellent. Nice. And learner experiences could be as simple as even language as well. Maybe English is the second language, for example. And so you need to take that into consideration when planning your media and planning your methods because that experience, not very good with the language. Just like an example I saw somewhere, there was this German engineer who was sent to America, very, very, very experienced engineer. He was given a promotion, sent to the head office in America, and he hated it. Why did he hate it? He will sit inside meetings. He can't contribute as much because his English is very bad. And everybody else will be looking and saying, oh, who is this guy? What does he know? But he knows more than nearly everybody there, but he couldn't express it because he didn't have the language. So it's interesting when you look at that. You need to look at all sides. So yes, learner experiences is another key aspect in deciding what method or media to use. Right, so another one, another learner experience, learner preference is the learner's distinct qualities. What distinct qualities does the learner come with? And again, one distinct quality, again, as I said, someone with so much, so particular kind of experience that only needs a particular intervention. So, and then someone else that has, like you just mentioned, where the managers had so much experience that they, that experience, you use that experience in your training, you know, which was really, really smart. And everybody got something out of it, which is, and maybe when they get back to their office, they will see distinct qualities in their managers that they didn't even know before, because now their managers really talked and shared experiences with the whole team. So it's an opportunity to learn quite a lot. So here we've talked about learning objectives. We've talked about learner preferences. The third thing that will help us in planning or choosing our learning methods and media, or here I'm just giving a summary, choosing learning methods based on learning objectives and learner preferences. Okay, we've already given good summaries of that, but the learner preferences, let me play a video. One key thing is, do we know our style? Do we all know, do you know what style you like? Or what style you are? Your own learning style, I don't know. Eno, do you have an idea of what's the best way you learn? Oh, I learn more of visual as well as reading and writing. Oh, visual, so yeah, more visual. Very visual, and then I stop reading and writing. I mean, as you're talking, I'm taking downloads. That's the best way I like it. Okay, so I'm gonna play everyone a short video, just about three and a half minutes, and I want you to identify what's your learning style. So let's see, let's watch this short video. Josh Hudson here with Pinnacle Man. In this video, I'm gonna go over the theory of learning styles. There's a theory out there that different people tend to process information in different ways, meaning that some people's brains are more susceptible to different modes of communication. These ways of perception are categorized into different learning styles. They are visual, you see the world through pictures and images, auditory or musical, you hear the world through music and rhythm, verbal, you understand the world through words, physical or kinesthetic, meaning you work with your hands to help make sense of the world, and lastly, logical or mathematical reasoning. Now of the five sensory processing modalities, visual, auditory and kinesthetic seem to dominate. You may also be a combination of these styles and prefer to learn socially with other people or by yourself. But how can you tell if you're one or more of these styles?  For example, visual learning is very fast information processing. People who are visual learners will use words like, I see what you're saying and talk really fast.  Auditory learners on the other hand are commonly found in the music and radio industry. Their way of communication is almost sing-songy. If you were to wear an obnoxiously blue shirt, for example, an auditory preference might comment saying, that shirt's loud, yo. Kinesthetic learning is the slowest information process. Kinesthetic learning is done with action, making with your hands. This type of learning often leads to an artistic intelligence. It should be noted that there are several studies attempting to invalidate this theory. I'll put links to those in the description. However, there's also conflicting evidence that people, in particular, those with learning disabilities have a clear preference in information processing. I've personally seen this in working with children on the autism spectrum, where kids have literally told me that they think solely in picture format. Also, disorders like synesthesia exist where people can see sounds or smell colors. Kanye West apparently suffers from it. Or audio processing disorder, which affects roughly 5% of school-aged children. Their brains simply process information differently than the rest of society. Just because you prefer to learn in a particular modality doesn't mean you can't learn to process information in another. You can be a combo of two. For example, I would consider myself more receptive to auditory information. Hence listening to all my books via audio version in the car. But hands-on is another viable option for me. I love experience. I hope you enjoyed this video. And to find out what style you are, go ahead and take the quiz. And let me know in the comments below what you think you are. Hit the sub. Okay, so I hope we enjoyed that video. So let's talk about the last key aspect that you're gonna look at, which is after looking at learning objectives and looking at learner preferences, you also need to look at practical limitations. You have to be practical as well when you're building out your courses. So in what kind of practical limitations should we watch out for? So the key thing is we're selecting learning methods. We're saying that there are three criteria, objectives, preferences, and then limitations. So if you look at objectives and preferences out of the three criteria used for selecting learning methods, what are practical limitations? What limitations do you have usually, I know? Sometimes you have the duration of the program, a budget. Budget is a big one. A big one. And then sometimes you have employees from out of country. I think in that case, particular one I had, they had to do a kind of visual, they were, we beamed it to their own office in Portaqot while the training was going on. So that would take 20 years. And then another... Go ahead. Another limitation could be the size of the audience. Sometimes the client will give you too many audience. I mean, the standard size for learning should be between 20, 25 or 30 at most. Sometimes they will give you up to about 60 in a class. And it's like, you wonder what you want to do with 60 people in the class. Sometimes I just have to stand in the middle of the room in order to be able to reach out as many people as possible, to kind of try to engage the entire, and it's exhausting, but it's what the wire sometimes you get all of them involved at the end of the day, yeah. So here I look at the budget. So we have the budget itself as you mentioned, budget is a big constraint. There's even copyright restrictions as well. So you want to use some material online. We allowed to, is there any copyright restriction on using it? And internet access for us in Nigeria, for example, internet, so right now we're using the internet. Sometimes the audio is not very good. Those are definitely practical limitations. Do we have internet in the other end? Does the clients have very good reliable internet? So we can do a media, which is webinar or virtual training. We need definitely solid internet access, internet connectivity. So those are practical limitations we can look at. Another one is time constraints.  So how effectively can we do training if there's so much, if we're supposed to do a five day course and the client is like, nope, I only have two days. So there's a practical limitation there. And how do you now circumvent that practical limitation? You have to think creatively about different media. So if you, instead of the classroom, you may decide to do online self-paced a bit or decide to send them some assignments or pre-work to do to cover some material that you are supposed to cover in class. So those are practical ways to avoid practical limitations. Yeah, so another one is maybe, okay, let's recap. Okay, I just want to recap our learning methods and media. So yeah, so if we recap, yeah, so if I want to recap, let's see if everyone remembers some of the things we mentioned. So what, give me three methods. Give me three methods, example of three methods. Just give me examples of one of the three methods we mentioned earlier. I'll give you a hint, peer discussion. Peer discussion is a method. What are the method? Or really, I think it's four we mentioned, four methods. So peer discussion, yep, watching the video. Media is how learners receive the training. It is the way the learning is delivered. That's the media. Method, on the other hand, is the active ingredients of the training. So active ingredients in the sense that, for example, let's say video. Video is a method. How am I delivering this video? Am I delivering it in a classroom? Am I delivering it online like I just did on this webinar? Where I'm delivering it is the media. So your peer discussion. Peer discussion is a method. How am I delivering this method? Am I delivering it in a webinar? How do I do a peer discussion in a webinar or virtual training? There are some solutions, some virtual training solutions that can break people into groups and they can have peer discussion. The peer discussion, am I recording the peer discussion and then I'm playing it as a podcast? It's possible. Podcast is a media.  The facilitator lecture can be recorded. I can record it as a video and play that in the classroom. I can play that online. So that's methods and media. Since we've just mentioned media, media is classroom, online or podcast. Really, that's it. Classroom, online or maybe audio, podcast. Those are the media. So when you combine media, that is what is called blended learning. When you hear people talking about blended learning, this is combination of media. So I'm combining classroom with a webinar, with a self-paced e-learning. That's called blended learning. And I am one of the advocates of blended learning. I think every learning should be blended. So I think before you come to class, you should already talk to the participants that are coming online. Just do an online chat. Once you do an online chat, hello, how are you? You've blended. You've actually used this online plus classroom. And another way we do blended, especially for us at Debron Consulting, is we have our office training hub as our e-learning platform. And every single training we do in classroom, people have to log on two weeks before online. And once they log on online, they can chat to the trainer, chat to themselves, fill out their expectations and do all sorts of stuff, download their material, watch some knowledge-based videos or knowledge-based exercises. Then they now come to the classroom. So we see we've blended classroom and self-paced e-learning. So I think blended is a very wonderful thing. I don't know, Enno, do you use any blended in your, do you blend? What I try, I do is I send a pre-assignment before the program. I expect them to maybe give a feedback online. It's in a message or something. That's... Oh, super. So you give an assignment. So that means you're using the workbook. You're using like a workbook where they can do online. Obviously they're doing it online. Do they send you, how do they, how do you get the feedback that they've done it? Because they had some constraints. So I said, okay, they should actually print their print, copy of the answers to the class. Okay, super. So when the class started, we kind of did a summary of what was the answers. They exercised this. Cool. So those exercise, work exercise, which is the method. You deliver that method online. You told them to do it on their own. And then they now come to the classroom, which is another media. And so that's blended. Yeah, so that's blended in a way. So yeah, excellent. So more examples of blended. You have, for example, online self-paced pre-work plus classroom. That's blended, just like I mentioned. And then another one could be virtual training plus self-paced e-learning. So this is all online. They are doing blended. That's completely online. You've done a virtual training, which is live just like this webinar, as well as giving them online self-paced. So they can go and log on and do online self-paced. So this video, for example, is our webinar is recorded. And once it's recorded, anybody that watches after is now watching self-paced. But right now it's virtual. So that's just how you mix and match. So that is how you use methods and media in designing learning. I don't know if anyone has any questions in the audience, in our virtual audience that wants to add to this before NR gives us a general overview of her experience, her career. And we're going to end with that. If NR will give us general overview of her career, how she got into learning and why she likes it so much and what are the things she thinks for the future. So any questions, please type it in the chat. So NR, how did you get into all this learning career or L and D, learning and development? Yeah, actually it was when I was in banking, I was head of operations and I found myself actually reading books. And then because we were in a market branch, Thursdays is environmental.  And then I was doing this and I found that I was actually enjoying it. So when actually I was, I wanted to leave banking.  I said, okay, I want to go into training. So I went into FITC where I learned the skills of training, design and all that. And by the time I left FITC, I got certified to be customer service consultant and trainer. And I just love the fact that I have an audience that I will talk to and impact them. I see them as my circle of influence where I can be able to reach people. And even if it's just one person out of the class that will go out and practice what has been taught. I mean, that gives me fulfillment because basically in life, I saw myself that look, I need to enhance myself in order to be able to build orders, to be able to fulfill their own destiny. That's typically my passion when it comes to learning and development. Interesting, interesting. So how did you connect to ATD? How did that happen? Okay, that was 2009. Actually a friend of mine, Bimbo Adibaki, actually attended 2008. I said, you know, this is where you should be. Ever since, I mean, when I got there for the first time, when you see thought provoking leaders like Ken Blanche, you see Bob Peck, I mean, and you see the enthusiasm and passion in which they deliver their sessions, you ask yourself, what am I doing? I need to make change my direction. I need to change what I'm doing, you know? And that has helped me because each time I come back, there is like fire in my blood to kind of impact that using the LDNI learning circles, you know, to be able to impact the knowledge that I got from those experiences. And then books, enormous books to read. I mean, just because of attending ATD, my library has exploded. Exploded, huh? Exploded with materials, enough to pass me a lifetime.    That's super, super, super. All right, so that's excellent. Thanks a lot, you know. So what do you have, what advice do you have for people that are coming into the L and D space? That's a very fresh, they're just about to come into the L and D space. What advice do you have for them? Yeah, coming into the LD and L and D space, like I always tell people who find time to call me and say, you know, what do I do? I want to come into this space. I say, look, and with right now, we have the Center for Management Development, that's CMD, which they run two weeks program basic and another two weeks for advance. I said, at least we have a platform where you as a talent development professional can learn, can start off with. Yes. I personally attended that program myself in 2009, and that enriched my career in the sense that I knew what to do, not only in designing and all that, but also to be able to run learning and development as a business. Because if you can be able to have that startup, that will help you and then from time to time attend conferences in learning and development like the ATD, or even that, which we in LENA Development Network International did like last month, you know, kind of to help enhance your skills and knowledge in the industry. So you advise that they start off by doing that and learning from that and also just develop themselves mainly, right? So get themselves developed, read, read, read. There's so much free, excellent stuff online. Go online, follow some top leaders in the industry and then learn. And then, of course, you have a passion for learning and a passion for talent, a passion for training. You will be an excellent addition to the L and D space. So thank you very much. And thank you very much for honoring our invite. And hopefully you have this online on our YouTube channel in the next one week. And for everybody else, thank you very much for joining us. I hope you enjoyed it. I hope you gain from this. It's already time, it's already one hour. Can you believe that? And we'll meet you again next month where we have another episode of our Talent Development Webinar Series. So thank you, everybody, and bye-bye.


We got reinforcements coming by a chief here, and he's got a tractor just like this one. So maybe he knows something we don't, probably he does.  We literally loaded it at my house. Get the magic touch going. We put a charger on the battery. You can hear the pump going. So that goes more forward or no?


It's now coming up to a year since I started and we've had about 85 pilots, but if you're into aviation as much as I am and most of these gentlemen in the 80s are here just to arrange a talk so you get a bit of an aviation fix and it helps you get through the pandemic but it helps me get through it. I grew up with a love for aviation and always wanted to serve my country so becoming an enable aviator was a path for me. I'm predominantly a B1 bomber guy but I've also been an EA-6B prowler, electronic attack guy with the Navy, now a retired aircraft. I not only get to fly with the various branches of US but also with international some of our allies and partners. As the two pilots out here so we're currently four deployed in Anderson on Belom and we're part of the forward operating base here so we primarily focus on the launch and recovery of the aircraft. Helped to the full mission back the main operating base and then hand it back to us for landing about 20-ish hours later. What kind of feedback do you get from the controls of the drone? So specifically we sit in front of a computer much like you are right now so we don't have any feedback from the aircraft like physical feedback there is no seat of the pants there's no vibration anything like that in terms of the aircraft and we basically have every instrument that you would in a normal aircraft minus being able to see out the windscreen. Great to have these guys out here great team members great mission and very good to work with them through all the unique challenges kind of one integrated joint team here at Anderson Air Force Base.


Welcome back to JSA TV and JSA Podcast, where we're covering the latest stories, trends, and innovations with leaders in global connectivity, real estate, and the networks within. My name is Emily Scherer for JSA, and I am joined here today by Benedicte Phasmer Waller. She is from Invest in Norway and Innovation Norway. It's great to have you here. Thanks for joining us. Thank you for having me. Absolutely. So we are here in Norway. It's my first time in Norway. So excited to be here, and your organizations have all to do with supporting the growing different sectors in Norway. Can you tell us a little bit more about Invest in Norway and Innovation Norway? Innovation Norway is a government agency that works with business development in Norway. So we work with clusters. We work with start-ups, grants, and we also work with inward investments. So I work in the part of Innovation Norway that's called Invest in Norway, and we work to attract foreign direct investment. And we do that in order to build strong industries. So we're an integrated part of this great organization, Innovation Norway. And my role in this organization is working with data centers and other new green industries. Absolutely. And data centers are a huge growing industry in Norway. So what makes Norway such a great location for data centers? I think the backbone of our whole data center value proposition is the green power. Norway's electricity is, I think, 98% renewable. It's mostly hydropower, which is the only renewable that you can regulate, and an increasing amount of wind, both onshore and offshore. So there'll be lots of offshore wind production coming up in the next five, 10, 15 years. So the green energy, the green electricity is the backbone of our data center. But we've also been working a lot on connectivity, on submarine cables connecting Norway to Denmark in the UK and the United States to increase our resilience. And both of these things are, of course, very important for the data center industry. And the third thing we've been working on is reuse of the waste heat from the data centers. Norway doesn't have tons of district heating like some countries. We have quite a bit. So like in Oslo, you can reuse heat and district heating. But in other locations, we need to be a bit more creative. So we see Norwegian data centers reusing heat in, for example, fish farming, which is an important industry in Norway. And so I think these factors, the power going in, the power going out and the connectivity are making us an attractive nation for data centers. And we've seen like a lot of homegrown colos and wholesale companies growing up the past few years in Norway. So we have today, we have quite a good, strong data center ecosystem, we think. We like to think. Yeah. Excellent. Well, it sounds like you've got all the things people need. You've got the connectivity, heat reuse, possibility, also the renewable energy. So thank you for sharing those details with us. And the conference. So tell us a little bit, are you enjoying the conference? What's a major trend that you've heard about here that you're going to take away or that is just something interesting you've heard about? This is the first day, lunch of the first day. And it's been good. One of the things they've talked of, there's been, of course, a lot to talk of sustainability since this is the ESG conference. And sustainability is lots and lots of different aspects. And I think one aspect that we will be looking into more and which has been discussed today is flexibility in the grid and how we can use data or AI to increase utilization of the grid, but that we can also use data centers that can go maybe on and off grid or help with grid regulation, data centers as a part of a larger energy ecosystem. And I think that's very important for Norway and for other countries. When we see data centers becoming larger and larger, 50, 100, 200 megawatts, they can play a very important role in the energy system. And I think we'll have increased focus on that. And there's a lot of talk about that today. And I think it's very important for us in Norway. Absolutely. Well, great. Thank you so much for joining us today. Thank you. We appreciate it. We appreciate it for having me. Absolutely. And to all of our viewers at home, thanks for joining us and happy networking.


Hello, greetings. Good morning. Good morning. Good morning. I'd like to add your details to the meeting agenda and notes. I'll share those in the chat window in zoom. And we'll get started in just a couple of minutes. Okay, let's go ahead and get started. It looks like this is the crew that we have. I'm Taylor. I'm working with on the cross-cloud CI project. With Denver, who's on a Denver and listening. I recognize a few of y'all. Hey, Melvin and see Ed. And then it looks like Matt Farina. We're here with us from Samsung. We could we do a quick update on the cross-cloud CI project. And say where we're going. And then if anyone else has any updates, I don't see anything in the agenda notes. You can add them to the doc that Lucina shared. And feel free on the CSCI. Okay, I'm going to try to share my screen here. Let me know if that's visible for y'all. That's good. That's good. Cool. So, um, a lot happening through, um, from up through cube con and, um, I know at least some of y'all are there. And what we've been doing, um, pushing forward from there. So. Um, we, a lot of what we're doing this past year was getting the first version of the CI system and the dashboard. Um, out. The CI systems actually on release to, and the dashboard is, um, we'll be releasing a public release of V1O, um, this January. And we had been gathering lots of feedback and making. Adjustments as we're going along. Um, from up to cube con and pass. So our goals for January are to release, uh, V1O of the dashboard. So this is the overall, um, cross cloud. CI. And those who haven't seen it yet. Um, this, we now have a cross cloud CI project. So a lot of these were repos, uh, split out under CNCF. Um, we've now set things up more like other projects like, uh, the Kubernetes, Prometheus, everything else. So the different repos, including the dashboard back in or out here. Um, front end, the different configuration for how these work within, um, the CI system. On. For the various projects, CNCF projects. That's out there. The. CI system itself. Um, is we're getting ready for another release. And this is where we've split out everything for the build system, provisioning and app deployment. The different parts and trying to make it configurable. And this will tie in with something we're doing. Listed here as well. We're trying to, um, target on app is one of the main projects integrations, um, for the. Cross cloud system. And that's going to be using their bills. Uh, so rather than using bills within the cross cloud, we'll be pulling artifacts from the own app build system. And then we'll continue with provisioning Kubernetes on the different clouds, uh, as we're doing. And then we'll be deploying using the. Helm charts and everything else that own app has with, uh, some adjustments working with them. Be able to do app deployments. So we've been. Building the system out to support this for each one of the parts to be independent. So the integrations can work with other systems. And we're excited to. Working with them out. This month we started on those conversations, um, last year. This month. So. We added, um, let's say blue mixes. Going to be. This was part of what I was just going over, moving everything over into the project repo. And. One of the last items for the, the V1 O release is. For the current version. What's happening is. The dashboard. We'll be doing a. Build. And test. The end to end test on all the active projects at 3 a.m. Eastern. This is part of the. Goals that we were. Set earlier in the year. And this is one of the last items here. Once we've split everything off into those build. Provision and. App deploy. Having these run. Schedules. And being able to use the internal CI system API for doing that. So. We will be continuing those items. We've taken in some feedback on. Um, various things. Updating security. Um, the. Different timeouts. Cause the. The system now is composed of. Many different parts. So. There could be. Um, timeouts in the integration. Looking at stuff like working with. What. What could we see there? And. What would we want to catch as far as exceptions. And the retries and stuff. So these are some of the parts that we. Um, Pulled in in the last. A few months. Of the project getting ready for V1 O. We're also doing. Um, Pretty extensive integration tests. I'm trying to. Have those as many as possible in as part of. V1 O. Um, and that's in the works. It's. Uh, I guess several parts on the system. We have the API and then we have the. The front end. VJS. App. Which is the. The main. Um, Viewing. And. And that's, um, we're trying to test that as well for. The end to end tests. Let's see what's next. Um, so. We have a. Meeting. Uh, that we're planning with you. Um, As you're aware from last. Um, last year. We kind of bumped it forward. So planning on doing that. We're going to be. Doing a status update with. Mille. Later in the month. And getting her feedback for current progress. The V1. I've mentioned before. Coming. Um, along with that will be updating the read me. For the various. Read me in facts for the various parts. Um, Updating to read me for the CI system. Be able to. Show how to get the different parts going. And use those independently. Um, Updating how to get the. The dashboard and everything up. I've been going. What needs to be configured. If someone was going to add. To the, To the, To the, To the, To the, To the, To the, To the, To the, To the, To the, What needs to be configured. If someone was going to add different projects. Um, Well, as well as help allowing the various projects. Start working directly with us. And during keep calling, we. Talked a lot with 24 and asked folks. end-to-end test and how do we do integrations on the CI system? So there'll be a lot of documentation updates and hopefully get more direct community involvement with the integrations and adding new projects this quarter. That's it. The next thing would go into, I guess, the CI Working Group meeting. So before looking at that, does anyone have any questions, comments? Anyone here have any other topics outside of the cross-cloud or anything else? So you have a working group you want to talk about? Is my audio work? Oh, okay. Yes, your audio is working. This is Ed from Hackett. Just in terms of scheduling and planning, I know that some of the work that I'm interested in is dependent on a version 2.0 starting. Do you have sort of a timeline for when you expect major releases and when things are either hoped for or planned? It's not trying to hold you to something. I'm just trying to get a sense for my timeline for putting resources together. So 2.0 of the CI system as far as the cloud deployment. So this would be about Hackett in general as well as the arm for Hackett stuff, I think that we're referring to. That's Al. So 2.0 release of CI system actually happened before KubeCon. And so that's ready to go. We are, I guess, ready to start looking at how to target ARM as far as for Kubernetes. And then I think a separate topic would be deploying the projects themselves. That would kind of be a post. And not to, I think, that'd be a post, maybe like a 3.0 type thing. But we are ready right now. Okay. Well, when I look at calendars and get a demo planned, I'll make sure that enough of the ARM crew here is part of that so we can talk details. Sounds good. Is that something that you're thinking of for January? As far as schedules? I think it's January. The only hitch is that we did have some resources diverted to deal with Spectre and Meltdown. So I have to just make a double check on some people's schedules because some folks who I thought would be available are full busy now. Okay. Understood. But yes, I do expect that we should do a kickoff in January. And I'll make, I'll send a note to that effect. Okay. How about if we follow up with you on the 15th or 16th next week and see how things are going for January? That sounds good to me. Great. Awesome. So anyone else have comments or questions? Melvin, I know that we talked a while back and we were planning on catching up with regard to what you're doing as far as CICD staff and look at what complements the cross clouds and the stuff you're working on might have. I don't know what type of time you have, but it'd be good to catch up again. Yeah, we can schedule something if we need to do that. We do have, I don't know if you all have seen the email that Fatih from OPNFV started regarding maybe some folks getting together at Open Networking Summit right before it, I think. Yeah. Yeah. So he's supposed to be talking with the Linux Foundation to solidify that and provide an update. So that's probably, you know, a bigger conversation, but we can definitely talk more specific to what I'm doing. Sounds good. Yeah. So I'll send you an email, just like a quick update, or I can send it. I don't know if there's a different address or anything like that, but I can send you one directly and then we can go from there to see if it makes sense for us to discuss further. Before the, if anybody's going to that event, if it happens. Okay. I guess general public, you feel free to send to the CNCFCI public mailing list. We do have a cross cloud CI email that'll hit the whole group. And then there's our email addresses individual on this shared slide. Okay, cool. Yeah, I'll do that. Thanks, everyone. Thanks. The next CI working group is on the January 23rd. So see y'all there. Cool. Thanks, Tyler. Thank you.


The findings of this study indicate that nurses who are employed on a contract basis, work in pediatric or obstetric departments, report low general well-being, and experience high levels of burnout are more likely to have a higher turnover intention. Additionally, organizational satisfaction was found to be protective against turnover intention. These findings highlight the importance of addressing these risk factors to reduce turnover intention among nurses. This article was authored by Feng Zhijian, Chun Oui Lin, Xiaoxue Li, and others.


We can start. Okay. Thank you very much. Okay. So, okay, welcome to this presentation. Bienvenidos. Good morning. Good afternoon. Good night. For me it's 10, 20 in the night. So today I'm going to present you what has been my experience migrating a Spring Boot application into Quarkus. So I've been hearing a lot about Quarkus and I've been using a lot Spring Boot. So I was impressed and I decided to try it. So this is the main purpose of this presentation, just showing you my experience of following this path. Well, these are the steps that I'm going to follow in this presentation. So just check it out and then you will know when you want to step out. I hope not and I hope to impress you a little bit or at least to light the curiosity of Quarkus and the migration if you don't still have it and I will be more than happy if I can achieve that. Okay. So first I'm going to show you, well, why and who is going to give you this presentation to put you a bit in context and what can you expect from this presentation? So just to probably to lower your expectations if you are expecting, I don't know, a super technical talk or a magistral lecture of Quarkus and then I will explain a bit what it is Quarkus for those that still doesn't know and then it's the, well, for me, the interesting part for me because it's where I've been working the most, I will explain you why I decided to migrate and why I decided to follow this path and invest all these hours migrating one application into Quarkus. Obviously, I will show you which are the steps that I followed in the migration but take into consideration that you can always go to my GitHub repository and you will see all the comments that I followed in order to migrate but I will explain them. Then I will give you a performance comparative but you have to take this as it is. Something shallow, something quick, easy without going into deep details or probably without using the proper tools to do it. It's a simple comparative using the same way to get the metric but probably it can be done better and it can make more deeply metrics about the performance. In the end, I will give you some references that it can help you if you are, well, going to migrate or if you are curious about Quarkus and this migration path. Let's start. I'm one of the organizers in the Barcelona Java user group in this beautiful Mediterranean city of Barcelona and also I'm co-founder of the JBCNConf. It's a Java conference that we host every year here in Barcelona. Next year it's going to be the sixth edition and we gather around 800 attendees and well, Red Hat is always present there and a lot of speakers are coming from Red Hat and other big companies also. If you don't have anything better to do in July, summer near the beach, good food and good weather and good company, then just come to this conference. Also, I work as a software engineer at Red Hat in the application modernization and migration team. We work in applications that are helping people to migrate their applications from different sources to different targets. Here in the left you have, well, the ways to contact me, my Twitter handle, my email, also my blog where you can find a blog post about this migration, also a blog post about using test containers in order to test like if you were in production. I encourage you to take a look and other posts that I'm posting regularly with things that we do in our team and here you have, well, my GitHub account also to see the code. By the way, I'm the guy in the left that is receiving beautiful painting. So, what can you expect of this talk? Well, it's my opinion, it's not a magistral lecture so I'm not going to teach you anything. This is something that works but probably you can find better ways to do it and if you find it, please tell me because I will be more than glad than improve the code. And this is not the way so you can find several ways of doing this and I encourage you to try your own but this is only showing my experience and with successes and with errors and probably you can improve it a bit or a lot but it's my experience. So, what I've done is to use these two versions from Spring Boot, it's 225 and Quarkus is 170. Okay, so brief description about Quarkus. I expect that everyone knows which is this game. So, for those that do not know, which is what's Quarkus. Okay, well this is like the description they can find everywhere. Well, it's mainly Kubernetes native so it's focused on being executed on Kubernetes and interacts very well with it. It also can, you can use different flavors so you can use Java, Scala and Kotlin. And one of the key things is that it's created, always thinking and that it can be easily compiled natively with Graal VM. Also, you can run it using Hotspot on the JVM but I think you will find the best performance if you go to native. And also, one of the most important things, at least for me, is that it's using standard libraries that we've been using for quite a long time. So, it's not redefining anything, it's not making you to move to your standard libraries to the Quarkus ones. So, probably you can find changes on the libraries but it's mostly the standard one. Well, the key point that I want you to take on this is it's really fast, it has a smaller footprint. It's focused on easy to code so it's not complicating the way to use it and I can say it is that way because for me it was very easy. Also, it's super important, it's open source and it has fast-paced releases. So, they are releasing a new version, well, every two weeks, three weeks, it's a very fast cadence and well, fixing issues or creating new extensions or new improvements have to say that this presentation has suffered some changes just because when I was delivering it, some things that were not ready that were already released. So, the team behind Quarkus is amazing and it also comes with lots of extensions. So, at the moment of creating the presentation, there were more than 90 extensions and growing and growing. So, you can find, well, most of the libraries that we've been using are there. So, I don't know, Kiklo, Camel, Kafka, Rest Easy, Flyway, Hibernate, Infinispan, obviously it can connect with OpenShift, with Spring, with, well, there are Kubernetes, there are tons of those extensions that are natively compilable. So, you can always go to native with your code. About the Quarkus evolution, well, I would say that the 001 was released more or less in December 2019 and now we are in the version 1.7 and there's more or less two years and we've come from 001 to 1.7, but it's not because they are doing, let's say, big releases every now and then, but because they are adding minor releases every, well, in this case, in this chart, it was around two weeks. So, it's, there are a lot of changes, really. Regarding the performance, well, I would not enter into number details, but I would like to give you the knowledge about the difference between a traditional cloud native stack and Quarkus native with Graal VM. So, this is a big difference. Also, if you go to a hotspot, you will find a lot of difference. So, it depends on the application, you can find more or less difference, but this is like an order of magnitude. So, you can find that more or less Quarkus can go to half of the traditional cloud stack and it can be 10 times less if you go to native using Graal. So, it's very fast and it consumes way less memory. I will show you later in a comparative. This is, well, the main page of the GitHub repository, just only to show you that there are, in this moment that I captured this screen, it was, well, 100 closed issues, 100 new issues. So, it's in only one month. So, they are doing a lot of stuff. There is a lot of people behind. At that moment, it was 52 people contributing. And there are, well, almost 4,000 people giving a start to this project. So, it's very new, but it's very broad, let's say, with a lot of people trying to use it. So, about the migration. So, now we have an idea of what is Quarkus and we have an application using a Spring Boot. So, let's go to the migration step. I expect that everyone also knows which is this game. I love this game. So, why I decided to migrate from Spring Boot to Quarkus? Well, my experience is that with Spring, it's been always easy to develop and, well, easy to create applications with CDI, REST, different libraries. But it had long startup times. Tests are eternal. Probably, we can improve the way we did the tests. But it was, well, it was a lot of time doing those tests. Because for each one, the context needed to go up. And in the context, there are lots of things being started. So, well, that was the result. It was long startup times. The application was very heavy. So, it was the size of the package was very big. And also, I always had this impression that too many things happen behind. So, if you check the log, you will see different things going on that you didn't expect to happen. Probably, this is because, well, some parts of Spring are needing that. But this can also impact the performance of the startup. So, Quarkus, I read about it and, well, the posts were saying it's easy to develop applications. Okay, I like it. It's fast. Okay. I also like it. It's lightweight. Well, it's not so important, but I like it too. And finally, it's also got IBM compatible. So, I can create a native application that it will allow me to convert my applications into services. And those services, I can use them in the serverless. So, if we go to Lambda in AWS or any other fast, we can just simply have our application as a function that will be only paying the time that it is running. So, at the moment, a lot of those functions are created using Node.js or Python, just because those are way faster than traditional Java. But if I can put my application natively compiled using GrowLBM as a function, then probably I will have a lot of savings in public cloud bills. So, I love this also, because in other companies that I've been, I always heard that the bill for AWS was having big numbers, very big numbers. And I always thought, okay, if there's a way to reduce dramatically that, companies will be able to invest that money in other parts. So, well, I was curious about specifically this part. So, about the project that I'm going to migrate, well, it's the Spring Pet Clinic REST application that uses these different modules. So, we have Spring Data, we have a Spring Web with REST, Spring Security, documentation for the API, actuators, Spring Micrometer, CDI, AOP and Cache. For the Spring Data, this application comes with three different flavors. So, one is JPA, the other one is JDBC directly, and the other one is Spring Data JPA. So, what I've done just for time purposes is just simply reduced to migrate what I think is the most common use case that it is the JPA version. So, on the Quarkus side, well, we will have, for the Spring Data, we will have a Hibernate Panache. For Spring Web, we will have JAXRS, Spring Security, Quarkus Security, Spring Documentation, Open API, actuators, Small Right Health, Micrometer, Micro-Profile Metrics, CDI, CDI spec, the standard one, Spring AOP, we don't have AOP. Spring Cache, Quarkus Cache with Caffeine, this is the library. So, which are the elements that I haven't migrated? As I said, well, I didn't migrate the other two flavors for the persistence. And also, well, in this case, the Spring JDBC querying, so I didn't do this. You can, if you use the library, Agroal, but simply for time purposes, I didn't do it. And also, the JMX parts, I didn't do it because, in theory, JMX is not supported by Graal VM. So, here, I will explain which are the steps for the migration. Let's talk about CDI. In this case, it's only a matter of, if you are still using the Spring AutoWire annotation, it's a matter of replacing it with inject, the standard one. And the declaration of the beans is using another annotation called application scoped instead of bean or any other. Basically, it has auto injection on constructors, similar to Spring, and it's lazy by default. So, this is a very good thing to have in mind. So, the pros with the CDI migration, well, it's been easy. I didn't miss any feature, so it was fine. But in the Spring version, as I said, there are three flavors of the persistence, let's say. And the application will use one or another, depending on the profile we pass on the command line. We didn't have this on Quarkus at that time, but you can always do it manually. So, you can have a config property that you will pass the value on the command line, and then you are going to say which is the implementation class, depending on the value on that profile that you pass. You can see the code on the right. But there was nothing implemented by default on Quarkus. Also, it cannot be a private member on the injection, so at least they have to be packaged with JPA repositories. Okay, so it's about implementing Panache repository. And you will find the usual methods for connecting to the database. In this case, I went to Panache repository base just because Panache repository considers that the identity class is long, but the Spring version had an integer. So, I needed to go and define which is the identity class, but it was easy. So, it's a matter of creating this class, implementing this interface, and that's it. You will find the usual methods, least, find, persist, delete, and others. So, it's been easy. But we don't have query DSL methods, so we cannot have an interface or a class defining those famous methods from Spring that are find by name and age greater than 30, for instance, that SQL query is defined by the name of the method. But you can do similar thing, adding an annotation to a method with the query that you are going to execute. I prefer this way because the other way, the Spring way, you always hit a point where it's super complicated to add the real query that you want in that method. Just because you cannot put parentheses, there are several things that will create a super long name method. And I prefer the query that it's more clear, at least for me. With REST, we have been moved from Spring REST to JacksRS. And in this case, it's more or less the same. It's about replacing one annotation with another. And in a particular case that request mapping that can contain several elements, you need to break it down into different annotations. But it's a matter of replacing strings, and that's it. It's been very, very easy. Nothing to mention here. It was fine, and also Spring can also support JacksRS. So, if you already were using JacksRS, fine, nothing to change. Regarding security, well, we are moving from REST security to Quarkus security. More or less is the same from the user perspective. And you can see here the difference in the code in one, so in the Spring one, it's preauthorized. In the Quarkus one is roles allowed. The only difference that I found, and I didn't know how to do it the same way with Quarkus, is that in Spring, you can use, let's say, more complex expressions. So, in the Quarkus part, it's simply a list of roles that allow it to enter the method, to execute the method. But in the Spring one, you can, as you can see, you are saying, okay, it has a role, and in this case, owner-admin, so it's completely the same thing. But you could be using more complex expressions. I didn't know the way to do the same on Quarkus, simply just passing a list. That was the difference for me that I found. In this case also, this application was using the security, was persisted in a database. So, for Quarkus, we need to use Elytron. And it's a matter of adding this dependency and configuring the properties in the properties file, that it is basically just simply defining which is the query to execute to get the password and a role for a given user. And you can configure several other things, and that's it. Security will be persisted in the database, and that's it. It's basically the same, no code involved in this case. As I said, the only drawback is simply that Quarkus didn't have an expression language for the security in order to check the role that can enter the method. With the cross origin, it's been very easy. Just simply adding two properties in the properties file, and that's it. It will activate, enable, well, if you, obviously if you use true, it will enable the cross origin for your application, and that's it. The only drawback that I found is that at least in the spring version, you can specify the course at the controller level. So, I'm not exactly sure which could be the use case to define different course for different controllers, but it can be done. And in the Quarkus version, at least I didn't know how to do it. So, in the properties, it was at a global level. That's the difference, too. Regarding the metrics, it's about adding this more right metrics extension, and then we can annotate all the methods that we want to have the metrics, and with, well, the regular and standard annotations counted or timed, and then we will have the count and the total time for the course to that method. And, yeah, you can see in these examples, the way that it's going to be shown when you request that endpoint to see the metrics associated to the application. With the metrics, the only drawback is that it had a different naming than with micrometer. So, with Quarkus, that it is using the micro profile, it is using a prefix for some of the metrics, and in the micrometer one, it was not being used. At the time of the migration, they were working on a compatibility toggle to, say, to Quarkus use the micrometer notation, but also they have developed a micrometer extension. So, some things have evolved. As I said, it's hard to cope with their work in order to update the presentation, but also there was a difference between the metrics that you could get. It was not 100% the same, and the biggest, for me, problem was that with Spring, you can use AOP, and then it's very easy to have metrics for lots of methods with only two lines, let's say. As we don't have AOP in Quarkus, well, we need to annotate every method, or we can use inspectors in CDI, or we can use the special hibernate metrics property in order to get the hibernate metrics to be put on the log file. Regarding the validation, so in this case, it's about moving from Spring validation to hibernate validation, and moving from controller advice to an exception mapper. So it's, well, both are using the valid annotation and the annotations for each portion to consider which attribute is valid or not. The difference is with the way that the exception is consumed or treated, and in this case, well, as you can see, you need to create a controller advice class with an exception handler, and then you specify which is the exception that you are treating. With Jack's RIS exception mapper, you are simply implementing exception mapper and specifying which is the exception class. Well, there's not a lot of difference between both of them, so it was very, very, very easy to implement. Nothing to say here in validation. With the API documentation, well, it's a matter of adding the open API extension and in order to specify the global information about your API, you need to simply add this open API definition annotation to a class that extends application, and then you will have it. That's it. It's easy. And you will have, out of the box, you will have Swagger UI. If you are in the test profile, you can enable it for Prod if you want. The only thing that I found different is that in Spring, you can specify which are the packages to be scanned in order to add the information into the Swagger documentation, but I didn't find a way to do the same with Quarkus, so everything was added to the API documentation. Simply, I didn't find a way to do it configuring the packages. For metrics, as I said before, the application was using AOP, and it's very easy to create these metrics. So you simply create an aspect, just specify the expression for an around, and you define a method. In this case, you can see that every method of a class that is a subclass of repository or implement repository will be executed this invoke, and then it will measure the time procedure because it is measuring start and stop. So with five lines, you can have metrics for a lot of methods. We don't have that with Quarkus. So, or you annotate every method, as you can see here on the right, or in this case, this AOP was used for database metrics, so we can do it using this property. So if you add this property to the properties file, then you will get all the metrics for the persistence. As you can see on the right, different metrics for the use of the database in the application. So with one line, we solved the problem that the application was using AOP in this use case. So there are other use cases for AOP, but in the case of this project, this was solved with this line. As I said, there's no expression language to define methods affected, and you need to annotate all methods or to use the property. For the rest, it was very easy. Regarding the local catching, well, it's very similar. So Spring uses a concurrent hash map, and Caffeine uses concurrent linked hash map, but it's adding the extension and then replacing the annotation. I think that for Spring is catch, and for Quarkus is catch result, just specify which is the catch. And then in the properties, you can set different properties for each of those catch. In this case, well, the initial capacity, the maximum size, and others. So it was very easy to migrate the local catching. In the testing part, well, with the Spring, it is using mock MBC. In Quarkus, we needed to go to REST assure. I have to say that I prefer the taxonomy of REST assure. For me, it's more clear, but, well, it's a matter of taste. Everyone has different views on this. So we needed to modify the code to go to REST assure. The only thing that changes is, well, the way to verify the content of the JSON in the response, well, the default way in REST assure is gpath. And with Spring, we were using JSON path. Well, it's very similar, but that's all. And with Spring, we can have tests for roles in the methods. So it's like testing that if a role executes a method, then if it's executed or not, I didn't find a way to do this in Quarkus. So for Quarkus, I needed to create a user that belongs to a role, and then we can test that. But we cannot pass directly a role to a test in order to test the security. Or at least I didn't find a way to do it. About the resources, well, on testing, we are not going to use the real database. We could use it because we could use test containers. But that's another story, and I encourage you to check my other blog posts about test containers because it's an amazing library that can allow you to test like if you were in production. But if you want to go to this other approach, then you need to start an H2 database. Well, using this Quarkus test resource H2 database, the resource class, it will start an H2 database. And then, well, with the configuration on the properties in the test profile, everything will work against this database. With mocks, it's easy. It's a matter of adding the Quarkus JUnit5 moquito, and then you add the inject mock, and that's it. You will have the mock in your test class. So we have reached a point when I tell you, forget everything what I said. That's too hard. A lot of work to do, probably not worth it. There are better ways to do it. So let's explore the Spring API in Quarkus. So if you have your application using a Spring web, just simply use a Spring web extension. And it's likely you will not have to change anything because Quarkus is using those interfaces, and it will do its magic in order to convert to the thing that it really is interested on.  And if you are not using a coordinate case, not covered by the extension, you don't need to change anything. Just leave your class as it is. Simply change the dependency. With the dependency injection, exactly the same. So use the extension and don't change anything if you don't need to. So you always need to check which are the cases not covered by the extension. But if you are not using them, simply use the extension and don't change anything. With a Spring Data JPA, well, it's exactly the same. And in this case, we can use this find by name order by joint methods. You don't have to touch anything in your repositories from a Spring. If you don't use, in this case, invocations of methods from query by example executor or query DSL, if you don't call those methods, then you're fine to go. Don't change anything. Then simply change the extension. With the Spring Security, exactly the same. And also in this case, we can use expressions in the security. Something that we couldn't use in the Quarkus version. Now with the Spring extension, we can use it. So it's awesome. Don't touch anything and you will be fine. And we've reached the point where I show you this shallow performance comparative that you have to take, let's say, very carefully. Okay. So I did the migration on the Spring Pet Clinic and REST application. So the original version with a Spring Boot 225 takes 4.3 seconds to be built and it generates a jar, a uber jar of 48 megabytes. With Quarkus, it takes three times the time and more or less the same size. If you use GralBM, well, it takes even more time. And it generates a package double the size. That's because there are several things that the Spring Boot will do on runtime that Quarkus needs to do on compilation time. And with GralBM, it also needs to compile even more in order to go natively. So that's why these times and sizes. But in fact, we are not very interested or concerned about the size. But we are very interested on the boot time because if we want to go to function as a service, or if we have several services that are going to be started and stopped, and well, it's crucial this time. So with the Spring Boot, the application took around seven seconds. With Quarkus Hotspot, it took a bit more than two seconds and a half. So it's almost three times faster. But with Quarkus GralBM, it took less than half a second. So that's a big difference. We are coming from around seven seconds to less than half a second. And we are consuming from more than 600 megabytes in memory in the Spring Boot version on JVM. We go to 250 in JVM, but with Quarkus. So it's less than two times the memory. And but if we go to native with Gral, we are going to go to 21 megabytes. So we are these numbers of less than half a second and 20 megabytes. Now you can think about having your services as lambdas or functions in the serverless world, because, well, those numbers are allowing you to do that. And also if you are going to have several services starting, stopping, this first time that it takes to start obviously is going to impact in your build and also in the performance of the whole infrastructure. So this is it about the migration and all that I had to explain. But now I want to share with you some references that can help you on going deeper in this Quarkus stuff. Here you have the links to the original Spring Pet Clinic application and the fork on the Quarkus branch that it is the migration to Quarkus. On the right, you have the link to the Quarkus web page, the Twitter handle, the developersredhat.com website where you will find several tutorials and courses about Quarkus and the mailing list where the team and the community around Quarkus will help on, well, on any doubt that you have and also they will receive your feature request if you have some. These are the interactive tutorials about Quarkus. I I totally encourage you to go there and try if you haven't tried Quarkus yet because it's very easy to use environment. You don't mess with your local laptop and everything is ready to work and to and optimized and it will work on the cloud. And it's very interactive and easy and you will you will learn a lot. There are several things you can try. Hibernate, Prometheus, streaming with Kafka, the spring extensions and so on. So I totally encourage that you check that. Also, one of the resources that it's very interesting is the cheat sheet by my colleague Alex Soto that is publishing this document every time a new version comes out and then and there you will find all the new features and the changes summarized and very easily to to consume. The regular page to start an application, code.Quarkus.io, you select the dependencies and it will create a zip file with all the code to start very quickly an application. And now I would also like to introduce this tool is one of the tools that we are working in in the team that I work for. It's called MTA or in the upstream version is called windup and this application helps customers, helps people to analyze applications considering different migration paths. There are several, as I said, you can migrate from camel2 to camel3, you can also migrate from WebSphere to EAP, you can form monolith to cloud and there's also one migration path that it is a spring boot to quarkus and there are several rules covering different elements of a spring boot and it will give you information on your application that will help you to migrate. So these are the different screens. There is one where you will see the different issues that the application will find in your application. You can find them by category, mandatory optional, potential, well. And one thing that is important is that you can see that there are story points per incident. So this will give you also a measure to know if the migration is big, regular or small. So this is also important in order to prioritize different applications to be migrated. And it will give you all the incidents and the documentation related to them that will help you in order to migrate. So here you will find that replace the micrometer code with micro profile metrics code in the files that it founds and the documentation that will help you to migrate on the right. If you hit the file, then you will see exactly which is the line that it is causing this issue to be created. It gives you also information about the different libraries used by your application. And it also has plugins for Eclipse Chain VS Code that will directly in your code will analyze the application and will give you the issues. And then you can apply quick fixes directly to the code. Also, these are a few real use cases of companies that have migrated. And I would especially focus on the Vodafone one that they replaced the Spring Boot with Quarkus. And well, they had metrics about 50% more lightweight in the JVM mode. So those are not even metrics going to native. So going to hotspot, they even found the migration very worth it. And that's it. I will finish my presentation showing something that is not related with Quarkus, not related with technology. It's about sharing with you six different books that I've read that I love them all. And I will also want to share with you. This is because I had a teacher once that finished all the classes recommending books, different books. And I love that action. So these are two on the left novels. The last cartoon for me is 10 times better than the Da Vinci code. It's on the same way. The C Cathedral is a history novel about Santa Maria del Mar here in Barcelona. About knowing how your mind works. Drive is a very interesting book about motivation. And thinking fast and slow will give you a bit of idea about the rational part and the irrational part of your brain. And about sci-fi, I would recommend the Futurological Congress. It's a sci-fi, I'm very funny history about simulated reality. And Ubik, this is one of the most amazing books ever written, about also simulated reality by the biggest, the big Philip Kadik that I love it. I love him a lot for all those books. And that's it. This is all that I had. If you have questions, well, I am here now. But if you prefer to make them offline, you can do it at my Twitter handle, my email. Even you can post comments on my articles in my blog post. Also, you can find those articles in this zone. And last thing is my GitHub repository link that you can go there and check the code of the presentation. And that's it. If you have questions, I will be more than glad to answer them. Thank you. Thank you, Jonathan, for great presentations. I found all the resources very useful. I will certainly go through them. So we are running sort of time out over here. So we have created a breakout room and we can discuss about all the questions that we have in that break. I'm posting the link in the chat so that all the attendees that have any questions, they can go to the breakout room and ask the questions to you. So in the X4 sections on the left side, there is a breakout room with the name Pixies. You can go over there and ask the questions to you. And again, thank you so much for your wonderful presentations. Thank you very much to all of you. Otherwise, yeah, thank you.


Hey everybody, I'm Jamie Scott of Gattaya of JSA and this is your monthly news headlines as quick as I'm going to make them hopefully. Here we go. LightPath, an all fiber infrastructure based connectivity provider that is revolutionizing how organizations connect to their digital destinations, completing its first steps in its long term goals of network expansion. LightPath is the first all fiber enterprise grade connected be provided to enter the Boston market in over 10 years. It's also expanding its core network in the New York City metro area with over 100 miles of new high count fiber, all taking place first half of 2022. Moving over to Edge infrastructure provider, DataBank adding to its deep data center portfolio of over 60 data centers now, crazy, with plans to expand its presence further in the Denver market. The company just announced a land and building acquisition for its fifth Denver data center, Den Five, to meet increased demand for critical IT infrastructure there. This news comes on the heels of DataBank's expansion announcement of its Dallas Fort Worth data center DFW3, which offers a game changing option for companies in Plano, the fastest growing area within the Dallas Fort Worth Metroplex, adjacent to the region's telecom corridor. S7 technology group and information technology service provider for the financial industry, now part of PRIVE. PRIVE acquired the Manhattan based technology company that provides full service IT solutions and ongoing support to financial institutions. S7 offers comprehensive end to end framework, assert partner status, laser focus on that private equity industry. All while the transaction provides a S7's clientele availability to DRIVE's innovative cybersecurity, Microsoft digital transformation and hybrid cloud offerings built upon their ServiceNow automation platform. And in interesting related news, MSP industry vet Bill McLaughlin named DRIVE's chief customer officer to oversee the company's growing customer base and continue to drive more value, messaging, communication, and faster platform adoption to DRIVE's customers. Also additional exciting news coming from PRIME data centers as the company announces further expansion into the Silicon Valley area, the new build to suit, turnkey, or powered shell facility located on Martin Avenue in Santa Clara, California slated to begin construction this year. Feading news. And I love this story. Google Cloud has honored Ato's and Made and Made with the 2020 social impact partner of the year title. Really amazing title. How did they earn it? There are four groundbreaking projects. So one, boosting telehealth adoption during the pandemic with Google Me. Two, combating that opioid crisis with data. Three, ushering in economic recovery with virtual career centers. And four, flooding climate change with a met zero commitment. Really great story here. This is a telecarrier commission survey that reveals network security incidences are on the rise since the pandemic, which telecarrier survey pulled business leaders across several sectors in the US, UK, France, and Germany this quarter to one to reveal the current landscape of network security during the pandemic. A lot of really interesting findings came out of this report, including that 78% of leaders have responded to up to 100 network security incidences this last year alone. 68% reported that the company has experienced D-dacetap in the last 12 months. Some great findings go ahead and put here for more. And in other European news, Server Farm has welcomed Jaquen Stamon to the company's leadership team. Stamon is a respective leader of course in the infrastructure and data center space. He is also a Server Farm's Vice President of Kolo-Kyosho New York. Congrats. Over to Asia now, Red Line Communications Group has been selected to provide private LTE product and service solutions to support high tech and establishing networks for defense, utilities, municipalities, factories, and more in Japan. Another really impressive add-on to that list of industry awards, Light River has been accruing lately. Light River announced this week that it has been selected as a semi-finalist for the 2021 pipeline innovation awards in the customer experience category for its new alien-aware networking solution. Congrats, guys. Stream data centers, coarsing industry leader and delivering exceptional data center experiences to global enterprises, also announcing a new hire to its growing leadership team. Now serving as Stream's new SPP of design and construction is Tegel Kibipati, a highly experienced technical builder who's spent the past eight years directing teams across a new way of data center development. And now he will be set to guide mission critical construction processes for Stream. And one last bit of amazing awards to recognize here, ComStar Technologies CFO Octavio Diaz has been named CFO of the Year Honoree by the Philadelphia Business Journal. This prestigious award recognizes the top 18 Philadelphia-based CFOs for outstanding financial leadership, but not only over the past year, but throughout their careers. So congrats, Octavio. Thanks a lot to RAP guys for your monthly news headlines. As quick as we can make them. I'm Jamie Scott of JSA. As always, stay safe. Happy networking.