Hello, Davos. It is so nice to be with you in person in the warm weather. They should do warm weather Davos all the time. This is great. Yay, nice to be here. Well, I'm here with a woman who needs absolutely no introduction, but I will try anyways. Susan Majewski was employee number 16 at Google. She now runs YouTube. And if YouTube were its own standalone company, it would be number 121 on the Fortune 500 list. She would be one of only 45 women to be on that list. She is one of the most powerful people in the world and in the world of business. She previously ran advertising for Google. And the company was actually created in her garage. She was trying to get some money for rent. And she rented it out to two guys who were building something and Google. So thank you for that. So Susan, on a little bit of a serious note, things are feeling a little bit dreary in Davos.  But also, economically, things aren't looking so great. We just ran a survey of the Fortune 500 CEOs. And 75% feel of recession is coming in the next year or two. So when you're looking at that and you're running a big company like YouTube, how are you thinking about the rest of the year? How are you planning for a potential downturn? Sure. Well, first of all, it's great to be here. And I agree. I like the nice weather. But if we look at the economy and we look at the situation, there definitely are a lot of concerning macro trends. I mean, the war, inflation in the US. But I'd say with regard to YouTube's business and Google's business, we've always tried to take a long-term point of view. And we've seen tremendous growth across the board. Technology continues to be an area of growth. We continue to see a lot of users moving to digital, on-demand type of content. And so when you go through a downturn, I think it's important to keep that long-term view. There may be areas where we may decide to delay starting a certain project. But in general, we're still saying, this is an important business. We're going to grow. We're going to continue to invest here. What I have found this really interesting is during downturns is that we actually get better at what we do. And when your numbers are going up all the time, it's really easy to just be like, OK, things are good. When they're going down, or they're not going as fast as you expect, suddenly you are really digging into the details. And so having been through a couple of recessions at Google, that has been my experience. But I'd say in general, we're building for the long term. And that's what we'll focus on. Got it. So no hiring freeze, continuing a little bit cautiously, but as planned. And that comes from three recessions you've watched at Google and YouTube. Well, hopefully we won't have a third. Exactly. I have been through two so far. And it's challenging. I mean, there's no doubt about it. But I think you do come out of it stronger as a result. So one of the reasons that there is this dreariness is there's a war going on. And the war has definitely impacted all businesses, global businesses. And it's certainly impacted Google and YouTube. A lot of social media companies have actually been banned. YouTube has not. It's still up and running. You're not monetizing there anymore. But how do you view YouTube's role in times of war? So YouTube definitely is still serving in Russia, like you mentioned. And it has been, as soon as the war broke out, we realized this was an incredibly important time for us to get it right with regard to our responsibility. And we made a number of really, really tough decisions. One of them involved how we handled Russian state-sponsored media. We had lots of requests from various governments. But looking at our policy framework, we also decided to suspend that media globally. We also extended our policies with regard to how we handle verified violent events. So an event that denies something like the Holocaust would be against the YouTube policies. And what we saw is if there was denial or trivialization associated with the war in Ukraine, that would also become a violation. So the first and most important thing for us was to really focus on the responsibility, figure out how we could be good players in making sure that users can get authoritative and the right information. And what we're really seeing in this conflict is that information does play a key role, that information can be weaponized. And that's why we wanted to focus so much on making sure that we both have the right policies and the enforcement associated with that. The reason we are still serving in Russia, and we believe that that is important, is that we're able to deliver independent news into Russia. And so the average citizen in Russia can access for free the same information that you can access here from Davos, which we believe is really important to be able to help citizens know what's going on and have perspectives from the outside world. We've also seen YouTube be used for all kinds of other humanitarian reasons, like medical doctors, like serving patients on the battlefield, education of kids in Ukraine, in Ukrainian language. So we definitely have seen a lot of really important humanitarian cases too. Russia may not have banned YouTube yet, but at the same time it's trying to push people towards something called RooTube. And so there are these kind of clones popping up in other places. Do you view this as more of a one-off, or is this a trend where we might see social media instead of being global start to be more local? I mean, you pair that with antitrust and how China's doing social media. There's a lot of different things that play here. We've definitely seen new emerging players. Like RooTube, I'm less sure about. It doesn't seem to be going well. Yeah, it's, I haven't used it to be fair. But where we do see a lot of growth is actually in short form content coming out of Asia, where we've seen just a tremendous amount of new innovations in creation. And I do think video is a very competitive emerging market right now, and I expect us to continue to see more players. I think, you know, TikTok, obviously, that growth story has been pretty incredible to watch. YouTube has not been allowed to operate in China, but when China decides to create its own social media platform and puts a ton of resources behind it, and it can corner that market and then scale to the rest of the world, I mean, that's a pretty powerful recipe. How do you think that, what does that mean for companies being created in the US? Does that threaten the US as a superpower? How do you think about that? We definitely are seeing really strong competition coming out of China, particularly with TikTok.  I mean, I can tell you that you would not have asked me about TikTok at Davos last time that we held it, no. So, that shows you just how quickly this is changing. And, you know, if you look at TikTok too, they've had Douyin and they've had the opportunity to invest in China on a local market, and YouTube does not operate in China, so you could argue that yes, you know, it gives us some blind spot because they're developing a set of content there where we're not participating and part of that market. So, I do think we'll see more competition coming out of China. They certainly have a lot of technical expertise and it's an area we should just be ready for and continue to invest in. So, short form video seems to be all the rage. Creators are really getting into it in a strong way, and you have YouTube shorts. I believe you have three S's you're focused on shopping shorts and streaming, so we can dig into each of them a little bit. But I'm curious about short form video. Is that a trend that's here to stay? The first ever YouTube video is only 18 seconds long, so maybe it's coming back to home a little bit for you, but how do you think about short form and what that'll do to advertising? So, yes, the first video ever uploaded to YouTube, me at the zoo was only 18 seconds long, and we do see short form growing tremendously, and we also see, I mean, YouTube's invested a lot in what we call long form. It's actually funny that we're talking about YouTube now being a longer form content, because traditionally it was shorter form, right, compared to linear TV, which was always 30 minutes, 60 minutes, and so when we say long form, we're often talking about like five minutes, and that's just compared to TikTok that is often under a minute. So we do definitely see that users are engaging a lot, and practically younger users find that a really compelling media. We are investing a huge amount into it. We wanna make sure that users can see that on YouTube, but we also think that creators really like it, and it is attracting a new set of creators, and if you think about it, it's easier because you have just your phone, you don't have to create as much content. We can actually explore short form content a lot faster, meaning we can recommend a lot of new content to you, because it's in a sense a lower risk for us. Like, you know, if we wanted to show you a new video, it's five minutes long, and you don't like it, that would be a problem, whereas we can just show you lots and lots of short form content, and you can explore that and discover new creators. So it is an area that we're investing a lot in. I expect to see a lot of competition there, and it certainly is probably the fastest part of the market right now. And another part of the creator economy that you're growing there is shopping. What are YouTube's shopping ambitions?  Are we getting into that direction? Where is it heading? So we see that people go to YouTube and they research a lot of products. They, like, whatever, in the surveys, like there was a talk shop survey that said over 85% of people go and research products on YouTube, they make a faster decision as a result of the products that they see on YouTube. And YouTube also has a lot of how-to where people are discovering new products or how to use, they wanna do an art project, they wanna do a makeup tutorial, they wanna fix their car. And so there is an opportunity to figure out, okay, well, what are the goods that I need? How do I buy them to do this project that I'm seeing on YouTube? And so what we've really wanted to do is just connect the ability to see them in the video to how to buy them. And it's really like connecting that last mile. And so what we're doing is enabling videos to actually link to specific products, have those products very accessible and then be able to buy them afterwards. So I don't think about us as competing directly with retailers like Amazon. I think about us being a way for you to find products that you're already researching on YouTube and potentially also find and discover more goods, right? YouTube is a site-sounded motion. It's an opportunity to explore, see, feel, touch. And so we're hopeful that more users and brands will work with us to make it easy to purchase. And the third S was streaming. So talk about the fight to get into the living room and how that's going. There's a lot of competition. It seems like Apple can definitely win that space pretty easily if it wants to and I think it wants to, so how's it going? Yeah, well, living room is a big space for us. We have in the US, for example, we have over 135 million people who are streaming into the living room. So we think we're the largest media player in the living room and we think there's a lot more that we can do there. And if you think about it, it's because the content's on demand. It's nice to be in the living room to be able to see that. We're also working to be able to have your phone be a way of actually managing or potentially engaging with the videos that you see. And so we do see this as being a very successful way for our users to engage and to watch more content. Okay, well, we'll see how that continues. Yeah, I can't not ask you about misinformation. It is a problem that plagues every social media platform but it definitely plagues YouTube and I know you've done a lot to put policies in place, tweak algorithms to recommend the right things. But I have to wonder, in January, a global coalition of fact-checking organizations found YouTube to be a major conduit of fake news, despite all that you've put in place. So is this just a flaw in social media platforms that cannot be rectified? I mean, can we ever actually solve this or is it just a problem that cannot be solved in the current way of platforms being operated? We're definitely investing a huge amount to make sure that we're fighting misinformation and there are a number of different ways that we look at this. So the first would be from a policy standpoint, we would look at content that we would think about in terms of being violative of our policies. So if you look at COVID, for example, we came up with 10 different policies that we said would be violative. Like an example of that would be saying that COVID came from something other than a virus and we did see people attacking 5G equipment, for example, because they thought that it was causing COVID. And so that would just be an example of a policy that we would remove. So we do remove content based on those policies, we actually published them in a transparency report. The second one would be really raising up authoritative information. So if you are dealing with a sensitive subject like news, health, science, we are gonna make sure that what we're recommending is coming from a trusted, well-known publisher that can be reliable. And if you think about how Google works, it's very similar. Like if you type in cancer or you type in COVID, what you're gonna get are gonna be names that you recognize. They're not gonna be someone that just published a webpage yesterday. So it's very similar with regard to how we handle that on YouTube. The third is making sure that we, if there's content that's borderline content that technically meets our policy but is lower quality, that's content that we basically will not recommend to our users. Our users could still access it, but they will not recommend it. And then lastly, we're just really careful about what we monetize. So we always wanna make sure that there's no incentive. So for example, with regard to climate change, we don't monetize any kind of climate change material. So there's no incentive for you to keep publishing that material that is propagating something that is generally understood as not accurate information. So I mean, misinformation is not new to the internet. It's been around since before, you know, for all time, but we definitely see that there is a role and there is a risk and that's why we have put a lot of effort. This report that you cited, I haven't seen that report, but there certainly are many other reports that give us a good grade there. And I think if you look at the work that we have done across the board, it really shows a very significant improvement. We came out with a set of data that we thought was really useful, which is how much content that is violative are we not catching with our enforcement? And that is about 10 to 12 videos per 100,000 views. And if you look at the chart in terms of how that's changed over time, that number has come down significantly and our plan is to continue to work on it and make sure that we continue to reduce that. So it sounds like Barry, to the extent that you can, things that are not credible sources and don't recommend, but also still sounds like a work in progress. Do you think it always will be a work in progress? I think there'll always be work that we have to do because there will always be incentives for people to be creating misinformation. And the challenge will be to keep staying ahead of that and make sure that we are understanding what they are and the different ways that people may use to try to trick our systems and make sure that our systems are staying ahead of what's necessary to make sure that we are managing that. So I think there'll always be work, but after all this work that we have put in, this has been a huge initiative for us for at least over five, six years. I think we've come a long way and I would challenge you if you go and you look and you do a search or you look at your homepage in terms of what you're seeing, you're gonna see content when it comes to sensitive topics, you're gonna see them coming from more authoritative sources. Okay, moving to antitrust. I mean, there's a lot that could impact Big Tech and certainly Alphabet Google. How are you navigating that internally with the broader executive team? Well, antitrust is definitely a big issue. I think there's certain legislation that's in place. In general, what I'm mostly focused on is just how can we do the right thing for our users, our advertisers, our creators? And if I look at what those demands are from those three constituents that we serve, they're not necessarily asking me for something that I'm hearing from the regulators with regard to antitrust. So my goal is how do I provide the best content for our users? How do we make sure advertisers get the return? And our creator economy, which has really grown significantly, which is powering a lot of jobs, a lot of GDP, how do we make sure that we continue to grow that? So in the US alone, YouTube provides 20 billion in GDP and almost 400,000 jobs. So again, we're always open to hearing. We work with many governments. We wanna hear what their concerns are, but my focus mostly is just been serving our constituents. And as regulation comes out, we'll continue to work and discuss with regulators. Got it. You mentioned, obviously, YouTube was one of the, maybe was the first creator economy company. Now there's a number of them, but you were the first. Are we in a creator economy bubble? Like can everybody just continue to be infinite creators making money and quitting their jobs and creating livable wages on YouTube in other places? Or is this gonna burst? Well, not everyone, but there are many people who like to be creators. And certainly with short form content, we see more people wanting to be creators. But we are seeing a lot of growth. This is a real career for people. And if we look at the number of creators, for example, who are generating $10,000 or more, we've seen a 40% increase just in the last year. And we do see people start a channel.  So for example, like there was this channel that just got started during the pandemic. It was called Made With Lao. It was a family that had a Chinese restaurant and they went out of business during the pandemic, like a lot of restaurants, because they didn't have customers. And they started a channel. It's a father and son. They now have over 750,000 creators. It actually has really amazing food that you see at all the Chinese restaurants, like how to actually cook it. So I do believe this is a real opportunity. And creators are media companies. They have a brand, they have a global audience, they produce content, they hire people to do products, editing, all the rest. So I think that we're gonna continue to see more creators. And what we see is that creators have actually expanded that other platforms have now embraced that and other platforms are now trying to get creators to come on their platform. And we also see advertisers. A lot of advertisers are now engaging with creators to try to figure out how can they have them work with their product and continue to promote their own products. It definitely seems like the hot job. We did a Gen Z survey when I was a business insider and the number one job of Gen Z was they all want to be creators. They want to be YouTube influencers and stars. It's just kind of terrifying.  I mean, is that good for the world? Is that what you want for your kid? Creators, kids, we'll see young adults who will say that they want to be a creator. And a lot of times kids certainly will continue to evolve and they say they want to be musicians and they want to have all kinds of jobs that attract fame and fortune, right? I mean, those are very popular jobs and obviously not everyone can achieve that. But we certainly see that on a whole, this is a growing economy. It is, they are real jobs. And we do see that when kids, when someone creates a channel, if you have someone becoming a creator, they need to talk about what's important to them. Like choosing a topic, articulating it, presenting it well. And we also want to make sure that people can do that in a private way, not just like sometimes people don't always want to share that with the world, but they may want to just do it for their family or a way of sharing that privately, which I think is a really important option as well. Yeah, but you do limit screen time and things or you did when they were growing up? I do limit screen time for younger kids, yes.  I grew up without technology and I think it's really important for there to always be balance. And there's a lot of benefits of technology. There's a lot of information you can look up. There's a lot of ways you can have access that you never had beforehand. But like anything, too much of anything is not a good thing and you want to have balance. So that's what I personally have recommended. But I realize that parenting is very personal. Everyone has their own perspective and so I can only really speak for myself. Yeah, fair enough. Well, it's a really time to be a leader so I want to ask you some leadership questions that probably a lot of people are grappling with. First and foremost, it's more than ever. There's a lot of pressure to weigh in on societal issues for CEOs. You can't just sit on the sidelines and have your employee base be okay with it or even your customer base be okay with it. You kind of have to take a side and have an opinion. In the States, one of the big things happening right now is Roe v. Wade, which is a woman's right to an abortion. A lot of executives have not spoken out about this. It's complicated. If they do, it could be illegal at some points.  So what is your stance on Roe v. Wade? My stance is that women should have a choice when they become a mother. I believe that's really important. I believe that reproductive rights are human rights and to take away a law and a right that we've had for almost 50 years will be a big setback for women. But that's my personal view. Running a company that really focuses on free speech, we want to make sure that we're enabling a broad set of opinions, that everyone has a right to express their point of view, provided they meet our community guidelines. So this is going to be complicated legislation, as you said, like people will want us to speak out on it. It's also draft right now. And so there's not definitive language. Once we saw it, we started to look and then try to anticipate what kind of changes that would have for our business. For example, employees, what kind of benefits would we want to offer to employees who could be in states where abortion is no longer allowed or what implications could that have for our advertising business, maybe content, misinformation, there could be ways that could be spun. For example, people saying, oh, abortion's not allowed in this state when it really is. So this has led us to realize that there's going to be a lot of work for us to understand what this legislation is and what are the right ways for us to comply with it. And how are you talking to your employees about it? Are they demanding answers from leadership? Are they, how is it going, talking to employees about sensitive situations like this? Well, employees always ask us lots of questions. And just so you all know, we actually do company all hands almost, well, I do a company all hands every Friday where anyone in the company can ask me anything. And so as you can imagine, I get a lot of questions about everything, following our business and things that don't even involve our business. Like this is not, this is a decision that is of course, completely out of our hands. I mean, our goal generally is to speak up on the issues that we see really matter to our employees and that really matter to our user base. And this is an issue that is going to have dramatic implications. Because it's early and it's draft, we haven't, we have spoken internally at a high level, but we're still waiting to understand what the final wording is and what the final implications are. And based on what is actual real, then it will take whatever necessary steps in terms of having to comply with it, but also try to figure out how to make sure that we are supporting our employees and doing what we can to interpret this in a way that makes sense for our user base and employees. Well, thank you for your candor on a really difficult topic. I appreciate it. Sure. Another topic that people are really grappling with running companies is the return to the office. Yes. Totally hard. And Google and Alphabet and YouTube are trying to do probably one of the most ambitious things on the planet, which is bring hybrid into reality. I think it's sort of a mandate to do three days a week, started April 4th. How is that going? It seems like the gold standard, you want it to work, but really, really hard. It's been good and bad. That's probably the honest answer. I think good in the sense that it's really great to see coworkers you haven't seen for a long time. It's fun to bring everyone back together. That said, now that we're bringing people back together, I realize a lot of people have actually moved and are no longer in the same location. So we just had a lot of people move during the pandemic and we are a much more distributed company than we ever were beforehand. We also are now three days a week, which actually, I don't know how we did five days a week. I think we all readjusted to being at home. So that's definitely an adjustment. And what I'm also seeing is that people are coming into the office, but they might not be coming in at the same times that they used to be coming in. And maybe that's okay, because there was a lot of time spent commuting. And that's not necessarily a good use of time. You're not with your family, you're not doing work. So we may see people doing things like doing some work, coming in later to miss the commute time, come in, do most important meetings, and then come back, go back home. So it is an adjustment. I think there's a lot of tech investments that need to continue to evolve. So I got used to seeing every single person in a little box with their name underneath. I could tell when they were talking. I actually really like the closed captioning. So if I miss something, I can see that.  I'm like, where's the closed captioning? I wish I could have that. But then when you put 20 people in there in a conference room, it's really hard to tell. Who was talking? How can they see you? So I still think there's work to do on the tech for hybrid, and we're still adjusting. And then also in the Bay Area, we just had a search. So even though people were coming back, a lot of people had COVID, what's the... We have clear policies around this, but you as a company have to come up with it. If you're sitting next to someone and they're like, oh yeah, everyone in my family has COVID right now. It could be an uncomfortable moment. And technically, right? So I mean, we have rules about how we handle that, what's required, but it's something we're all still figuring out. So for final question, as I mentioned earlier, if YouTube were its own standalone company, you'd be the 45th woman to be running a Fortune 500 company. I think YouTube would actually fall about number 121. I had the team pull the numbers right before this interview. Is that using our ads revenue? Yes, yes. So maybe even there. Yes, we also have subscription right now. Yes, so you'd be higher, you'd be higher. There you go, okay, right up that chart. Just needed to get that out there. Maybe be in the Fortune 100, there you go. Is that something that you'd like to solidify someday? Do you think, you've got a great gig at YouTube, no doubt. But how do you think about the CEO progression, your role? And then a separate note, a lot of younger generations aren't aspiring to the C-suite anymore. There's sort of this anti-hustle culture setting in where they just think they'll never make it. They think the system's unfair. So how do you think about your own C-suite journey and how would you think about the fact that maybe others don't want that right now? Well, my journey was not to be in the C-suite necessarily. Just to be clear, I joined a company with no revenue at all, with no real business plan. And I just joined it because I thought it was really interesting and they were doing important things for the world, which was delivering information. And I immediately saw the value. And then I worked at Google for a long time and did ads. And then I came to YouTube, right, which also was much smaller. But I saw, again, the same thing, a lot of value in enabling new ways of communication and new types of media and new points of view. So my personal career advice that I took and that I give to others is to find something that's meaningful to you, that where you believe you're doing something good for the world. And if you do that, then you will most likely have a productive career. And if you say, oh, I just want to be in the C-suite, like you probably will, it's harder to have a productive career, right? Because that's not necessarily a clear role that you can follow or figure out how to do that. So, and in some ways, it really helped me because I was just always willing to say more controversial things. Like, I would just say, this is my point of view. I'm working for our users, our creators, and our advertisers. And if I think something is the right thing to do, I'll just say that. And it might not be the popular point of view, but that's okay. You suggested buying YouTube, right? Didn't you put together a whole presentation? Yeah, I suggested buying YouTube. It wasn't necessarily a popular point of view. Somebody published, Mark Cuban actually, the week before hand said, only a moron would buy YouTube. So, I mean, I think it's really important to be able to take, like, to think for yourself and realize like, what's important? What matters to my constituents? Like, who am I working for? Why am I working? Why am I doing all this? And so, I have really focused on trying to do something productive and good for the world. My whole career has been about information, information empowerment. And that's what has led me to where I am right now. And it just happened to be that I was in the C-suite. Actually, when I first joined YouTube, this is like, when I first joined YouTube, my title was not CEO. So, Wikipedia immediately recognized that there should be a CEO of YouTube. But technically, my title was SVP of YouTube.  But my internal title was initially SVP. And so, I had to work it out that, yes, my title was CEO of YouTube. So, again, I think that's just the same message, which is focus on what's important. Don't focus on the title. Don't focus on the things that don't really matter. The things that matter are getting, doing something valuable and important for the world and being able to do that well. Okay, well, Susan Wojcicki, everybody. Thank you so much for joining me. Thank you.


Hello, welcome to module 50, NPTEL NOC course and introductory course on point set topology part 2. So continuing with the study of ordinals, we will now construct an example which is called long line. This long line is an example in usually in the study of manifolds that we are going to do in the last chapter here in this course. A line word is taken from some topological space which is homomorphic to let us say the whole of real line or an open interval. The long line is going to be something which is locally homomorphic to open interval that means every neighborhood has a every point has a neighborhood which is homomorphic to an open interval but the entire thing is not homomorphic to open interval first of all ok. That is not the whole point we will see that it is non-compact it is not even second countable that is the whole idea ok. It is a house door space. So, countability axioms are violated here. So, let us see why this is important I have told you let us see now the detail. Once again we have to deal with both the real line as well as the ordinal the 0 will become a conflicting point notation. So, restricting you know reserving the 0 for the ordinary 0 of the real numbers the 0 of the ordinal will be denoted by 0 quiddle ok. So, that is the first remark I have to make here. Also again we have ordered pairs of elements just like in the previous example of Ticross Planck. So, we will continue to use this x cross y for the ordered pair x y not to confuse it with interval x y ok. So, this notation x cross y will continue in addition we will have this 0 twiddle is the point the least element in the ordinal ok that is the difference ok. So, I start with again like just like in the Ticross Planck example you start with 0 twiddle omega open cross 0 omega open. So, both of them are open part here ok that is the difference, but do not confuse with there we have taken both of them as ordinals here. Now, this is the usual real number ok the open interval 0 to 1 both of them are ordered whenever you have a product of ordered a kind of posets product posets there is a lexicographic ordering namely an element of this one I will denote x cross t and another one y cross s where x is an element of the ordinals here and t is an element of the real numbers ok. So, y is first one is ordinal second one is a real number. So, you say this one precedes y cross s if it is known if x is less than y in the ordinals or if x is equal to y then t the second coordinate must be less than ok that is a lexicographic ordering depends upon look at the first letter if that is it earlier than the other word the words are arranged in this way in the dictionary that is why it is called lexicographic ordering or dictionary order. So, clearly if you define like this this brick is a total order on one l because if you have two elements here first you can compare x and y ok if x is less than y is going to you arrange them first of all then you go for if they are equal then you go for the second one that is all. So, it is always total order no problem because both of them are total order take the corresponding order topology as we have defined earlier by taking left trace and right trace right then this l comma tau this tau with less than or equal to is called long line long ray because there is a closer part here. So, it is a long ray then you remove 0 twiddle cross 0 the initial point here throw away that point that is called a long line it is just like closed interval 0 1 is a ray and then open interval 0 1 is a line ok that is all that is a reference between long ray and long line this is just a terminology has nothing nothing you know big deal here you could have interchanged the definition that is not good because this is a ray you can think of this also as a ray of course, but this is called long line ok now I will define one more thing here without much effort what I do I take two disjoint copies of l let us call them l 1 and l 2 and take the quotient space this you know font l you know Euler font l obtained by identifying the 0 1 with 0 of the second coordinate ok 0 1 cross 0 you can say and 0 2 cross 0 ok those two points are there right 0 because I have taken two I have taken two copies the copies I am saying this one ok you identify these two points where 0 twiddle I equal to 1 and 2 are copies of 0 ok we shall call l the longest line it is just if you have this longest long ray take two copies of that one copy reflected and the initial points are identified disjoint them that is the meaning of this identification that will be called long longest line ok I will justify this name later on when you justify this line long line this could be you know why this long line long longer line ok you will see that this longest there is no other bigger than line which you may call it as line that is the whole idea we shall implicitly identify the original space 0 comma 0 twiddle comma omega with the this coordinate space namely the second coordinate being 0 this is a real number ok so I will not have cumbersome notation every time cross 0 I do not have to write so that is my l not ok omega 2 cross omega cross the singleton 0 that whole thing is in the long line l ok so I am identifying this 0 twiddle comma omega with this subspace under the identification x goes to x cross 0 just to save ourselves a little bit of time and cumbersome notation that is all all intervals initial segment etc will be with respect to this new order on the product space inside l and inside the larger space for example now LP bar will denote all the elements inside q the q itself is you know denotes an ordered pair right which I have to write it is x cross t or something but all those q such that q is less than equal to p this will be the closed left ray right similarly closed right ray all those things with respect to this order you have to take not with respect to 0 omega or in the 0 0 infinity so they are themselves the sub sub partial order because the extended thing is a lexicographic order so here is a caution though we have used the Cartesian product notation for the underlying set the topology is not the product topology the topology is defined by using the lexicographic order right that is my tau brick it is tempting to describe the long line as obtained by taking disjoint union of closed ray intervals index over 0, omega that is the ordinal and identifying the end point x cross 1 with x plus 1 cross 0 starting point because see in the total order what is the next element to x cross 1 okay x cross 1 itself is not an element first of all we do not have we have to put suppose you put x cross 1 also that means in here in the product definition I suppose I take this closed interval here then what will be the next element to x cross 1 it will be x plus 1 in the notation of ordinal cross 0 right so you identify them then duplication will not be there so you can think of as if it is this point 0 is not here okay so that is a another way of defining many people when they give popular lecture they do that one that is what I want to tell is that is strictly speaking a wrong explanation so it is not quite good to explain it that way because that picture is good only in the initial stage namely 0, 0 plus 1, 0 plus 1 plus 1 and so on as soon as you limit ordinal let omega and so on the picture will be complete failure okay so there you have to strictly follow this rule okay better define it this way take the lexicographic ordering take the order of the college okay so note that for any x belonging to L0 the closed interval x, x plus 1 inside L is order preserving the homeomorphic to the closed interval 0, 1 if I take x cross 0 to x cross 1 open that is a nothing but x cross 0 comma 1 open the next point will be precisely x plus 1 cross 0 so you put that so this interval okay interval as an element inside capital L here curly L is order preserving homeomorphic to the closed interval 0, 1 okay if you throw away this point this point it is open interval 0, 1 by the very definition so this is the one which used in the in the in this wrong explanation of course okay but this much is correct but by using that globally you will get a wrong picture so that picture will be good only in parts not full picture. Second thing is the fundamental property of L that we are interested in from which many other properties follow okay is this property A capital A for each P inside L0 that means what is some x cross 0 okay I am just having a simpler notation P belonging to L0 not equal to 0 to L okay something beyond that we have look at the left ray LP bar closed left ray this is order preserving homeomorphic to the interval 0, 1 okay so let us prove this one for instance we can then immediately conclude that I am telling that this is the fundamental property once you have this one you can have this A prime sometimes I will use this A prime so this can be immediate derived from A let us see how we can conclude immediately that for each P prime which is now P cross T the T is now not 0 okay this LP prime bar is homeomorphic to again closed interval 0, 1 by the way homeomorphic you know I say all that you have to see is that it is homeomorphic some interval closed interval all closed intervals are homeomorphic to each other this we have seen several times okay for how do you do that this LP prime bar is nothing but LP bar union this vertical line segment right P cross 0, T up to T we have to go up to T right so this is already homeomorphic to closed interval 0, 1 okay that P cross P P cross 0 is a common point and this is homeomorphic 0, T the usual interval in the real line we can put them together you will get a homeomorphism 0 to T plus 1 instead of 0 to 1 okay and then you can rescale it okay so to get a homeomorphism from LP prime to the entire of 0 to 1 again so this you can just divide by 1 by 1 plus 2 alright so as a consequence it follows that this L is path connected by the way why this is homeomorphic to this one this is again the same thing so you see you have to just put them together one line another line another line another line and so on for each P belonging to L0 it is a countable union alright so countable union of closed intervals can be again made into a closed interval okay so how that is what that is what you have to show fine right so anyway so here as a consequence it follows that L is path connected because first of all you can join every point to 0 twiddle can be joined to every point inside L you see remember our order this 0 omega has lots of discrete points now those things have disappeared because on each point you have a line vertical line and the end points are identified end point of the top point in the bottom point next top on point they are identified they are they are near they are not identified I have deleted the top point in my definition so they are close to each other so this is what is happening here so so what happens is L is path connected because everything can be joined to some x cross 0 from x cross 0 you can go vertically to join it to any x cross t so as a consequence of a it follows that as a as well as a prime it follows that L is path connected path connected is connected okay not only that it is locally homeomorphic to an open interval in R right except the starting point 0 twiddle cross 0 at that point we have neighborhood which are homeomorphic to half closed intervals okay once something is homeomorphic to a closed interval a to b everything in the middle in the between strictly inside there will have neighborhood homeomorphic to open interval only the end points have a problem right here the other end is not a problem you can keep going further and further but the starting point will have a problem that is half that is why in the definition of long line we are deleting this point that is all okay so let us prove property a we have not yet proved that one I indicated already suppose the property a is not true for some x belong there okay what does that mean so if you take the set of all points such that this a property is not true that is a non-empty set so non-empty set will have least element so let y be the least element of all such elements if y equal to some z plus 1 that means y is a successor for some z no z inside L0 then we will Lz bar is homeomorphic to 0 1 that we have seen because up to Ly bar is homeomorphic okay because this is a least element for which this is not true see what it means just see you have got a this is not true and you have then you have take the least element okay so if y itself is z plus 1 z will be smaller than that that means it is true for that that means we have a homeomorphism from Lz bar to 0 1 okay then we can rescale it and as we have seen earlier okay and go all the way up to y also that will be contradiction okay so if it is not y not that plus 1 means y is a limit or in all right so that is the harder case what happens suppose y is a limit or in L what does it mean we have seen that there exist a strictly monotonically increasing sequence x n in L0 which converges to y okay so now it is a question how to see for all these x n the hypothesis will be true right a will be true only thing is for the limit what happens that is what question right so we may assume that let us say we have we have can always add some more points x0 is 0 greater from a we have for each this capital a we have for each xn okay n greater than 1 there is an order pizzerian homeomorphism hn from Lxn bar to 0 1 okay so all these x n's are smaller than s that is why this is possible now you take h of xn plus 1 h of h of n plus 1 of operating upon xn equal to a n okay for each n greater than equal to 1 so I am define this a n okay choose an order preserving homeomorphism alpha 1 from 0 1 to 0 half and for n greater than equal to 2 alpha n from having defined up to this one you take a n minus 1 a n minus a n is defined like this right a n minus 1 to 1 to 2 power n minus 1 minus 1 divided by 2 power n to 2 power n minus 1 minus divided by 2 power n okay so this is of length 1 by 2 power n define h you can always rescale right any two closed intervals are homeomorphic so take you choose this homeomorphism order preserving homeomorphism define h from now Ly to 0 1 by patching up all these alpha n composite hn's namely I will define h of p to be alpha n composition of p for p between xn minus 1 xn x x0 I am starting 0 0 okay 0 then x1 x2 and so on between xn minus 1 xn okay if p is there you define it by this method okay on the end points these functions coincide okay so this we can easily see now that up to s you have no problem okay sorry up to y how what what I should take h of y h of y to it as 1 remember if this is between xn it will never be this function will never be equal to 1 because it is always something 2 power n minus 1 by 2 power n so 1 is 1 is not yet covered you take h y equal to 1 it is easily verified that this is an order preserving homeomorphism the whole point is that all these 2 power n by 2 power n as n tends to infinity will convert to 0 convert to 1 okay so that is why if you define h y equal to 1 continuity comes bijection if you take open part okay here throw away y it is already a bijection and so you have come you have just you know concatenated one after another homeomorphism so it will be homeomorphism when you take one more point so both these elements convert to t converges to 1 then this y this in h of that will convert to 1 so you will get a homeomorphism so t sorry when p converges to y okay h of p as p converges to y will convert to 1 that is why this is continuous once you have a continuous bijection okay then you can show that it is a homeomorphism there is no problem therefore a is true so I recall I I took two different cases namely this y is a limit ordinal not a limit ordinal why is a limit ordinal okay so there are two cases we have proved that part a so from this one the rest of the topological aspects will be followed notice that argument we have used above is nothing but the principle of transfinite induction though we have put it in the language of proof by contradiction we could have easily put it as follows property a is true for 0 twiddle plus 1 that is easy to verify okay suppose it is true for all x less than y then the construction of h as above okay shows that it is true for y that step is of course we have to do okay assuming is less than is true for less x less than y okay then you prove it for y so that then it will follow that is true for all okay so here we have used a different language so we have what a suppose is not true and then take a least upper one in other words what I have used we have used the well ordering principle there you see right so we do not have to go to principle of transfinite induction that is all so this L is clearly Hausdorff okay there is nothing to prove here because every order topology is Hausdorff L is not second countable this is the point we have come now because it has uncountably many mutually disjoint open sets singleton x cross 0 1 the vertical line segments open segments they are all open intervals in L so therefore they are all open they are all disjoint with each other and how many of them are there as x raise over 0 twiddle omega there is the uncountably many in a in a in a topological space you have uncountably many disjoint non-empty open sets at each point you can take a select a point that will give you an uncountable discrete set that is not possible okay so second second countability is violated so L is not second countable if we extend L by by one more line you see on omega omega close we don't have a line you put one more line here okay then it is not path connected namely if there is no need to put one more line you just allow omega omega twiddle cross 0 this capital omega cross 0 take L hat to be this L union this capital omega cross 0 okay one more point then the same electrical graphic ordering and all that okay then this will be a larger space than L and that is not path connected so that is what I am going to prove it namely there is no path from 0 twiddle cross 0 to omega cross 0 we know it inside 0 twiddle omega because that is there are too many discrete points here but this is this path is inside L there is no path this is what we want to say for suppose you have a path path means what continuous function from a closed interval you can assume 0 1 to L hat joining 0 twiddle cross 0 with omega cross 0 since every point in L hat in fact except the starting point namely 0 twiddle cross 0 that is a cut point in particular all the points x cross 0 where x raise over 0 twiddle open omega open they are all cut points if you have a path from one point to another point and there is a cut point we separate these two points that means and if you have path the path must go go through that one this is like just a intermediate value theorem right so here you see the intermediate value theorem here alright so it has to go through that one that means what you have uncountably many points discrete points inside 0 comma 1 that is not possible okay so I make it much more clearer here so these are cut points follows that the image of tau image of tau must be comparison contains the whole of L because all those points are there every point so they must be in the image of tau by that intermediate value theorem the subset singleton x cross 0 1 the open interval they are uncountably union of mutually disjoint open subsets okay and there are inverse images in 0 1 open under tau we will contradict the fact that this one is second countable 0 1 open second countable again you have produced infinitely many disjoint open subsets so this if you just add one more point you will give a path connected space whose closure is not path connected okay we have seen such thing by topology Sankar also that is not a great thing but this example also gives you that okay yeah what we observed above implies that the one point complication of L is not path connected in fact this if we add just one point here instead of 0 1 that will be again one point complication of this one that will be compact space okay so one point complication of a path connected space is not path connected okay that is the stronger conclusion than saying that closure of a path connected set need not path connected okay in particular no neighborhood of the point at infinity is homomorphic to an open interval I am talking about one point complication in this sense we cannot extend L beyond the far end 0 this omega cross 0 1 okay if you add one more point here there will be a problem this wall 0 1 we can extend but there already there is a problem however we can extend L at the initial point 0 to L cross 0 that is what we have done indeed this filer Euler notation L is the answer okay on this side I can extend it for the same reason as before it follows that L cannot be extended any further on the left hand side also the right hand side you cannot extend we have seen on the left hand far end you cannot extend it so this is completely saturated in that thing therefore this L is called the longest line so note that each point of L has a neighborhood homomorphic to an open interval okay and that is why it deserves to be called a line it is a longest line because you cannot have another longer than of course this will be not second countable either because even the subspace this curly L is not second countable okay so this will be these remarks and great results here we have proved this chapter comes to an end the some of the lessons which you have learnt here some of the results we will use it in the next chapter also this example L itself will be repeated you know in a quoted as the you know illustration of the hypothesis that we put namely second countability in the definition of manifolds later on thank you


Traffic detector failures cause serious delays in traffic movement and increase maintenance costs. Proper detector design and installation will significantly increase detector efficiency. However, it is impossible to eliminate all detector failures. In this section of our videotape, we will discuss the most common failures, ways to troubleshoot problems, and basic detector maintenance procedures. Traffic detector failures are described in terms of their effect or the problems that they cause. For example, a failure that causes a traffic signal to skip one phase is referred to as an omitted phase failure. Other common failures include a stuck signal, a phase extending to maximum, intermittent problems, crosstalk, and splash over. An omitted phase is usually caused by a loop failure. Older versions of detector units would fail in the open position, resulting in no calls to the controller. Newer detector units have circuitry that provides a continuous call if the loop circuit is incomplete. A stuck signal may be caused by a vehicle not being detected, or by a detector with a delay feature failing to retain the call long enough. In some instances, however, a stuck signal may be caused by a controller failure. Phase extending to maximum is a situation that is usually due to a continuous call from the detector unit. This call causes a specific phase of the signal operation to extend to the maximum time set on the controller, regardless of the traffic demand. A faulty detector unit or an open loop circuit may cause this continuous call, which increases traffic delays. Intermittent problems can develop for a number of reasons. Low sensitivity of the loop, the detector unit, or a combination of both can cause intermittent problems. Unstable oscillators in the detector unit can cause problems during rapid temperature shifts, but many can be retuned. A broken loop wire can reconnect during pavement shifts, causing intermittent problems. External devices installed for lightening protection can be damaged by a power surge and cause these problems. Finally, ghost problems, an intermittent operation breakdown for no apparent reason, can require the replacement of a detector unit. Cross talk is another type of detector failure occurring when the frequency of one loop installation is influenced by another. This frequency lock between two oscillators can be caused by poor quality connections in the loop system. Field coupling due to the closeness of two loops, coupling between two closely spaced lead-in wires, coupling between lead-in cables sharing the same conduit, or the coupling between closely spaced harness wires from the field terminals to the detector. Cross talk can produce a false detection when there is no vehicle in the detection zone. It can also result in a lock-up after a vehicle detection. Splishover is the false detection of vehicles outside of the detection zone. It occurs between lanes controlled by different phases. Occasionally, the loops are simply placed too close to the lane line. Usually, however, splishover occurs when long loops are operated at high sensitivity in order to detect small vehicles such as motorcycles. Surveys of traffic agencies show that there are eight primary causes of loop failure. Pavement problems such as cracking and moving, breakdown of the wire insulation, poor sealants or incorrect sealant application, inadequate splices or electrical connections, construction damage, improper detector unit tuning, detector unit failure, and lightning and electrical surges. Many agencies report that installation errors cause the majority of their maintenance problems. These errors can run from sloppy installation and poor inspection to the use of low-grade components. Agencies who contract out their detector installation should apply strict pre-qualification guidelines to avoid awarding the contract to an inexperienced contractor. Next, these agencies should inspect the contractors' work carefully to catch any errors or potentially troublesome shortcuts. For example, using improper tools to install the loop wire might cause detector problems that won't show up until months after the installation is complete. Developing an active inspection and maintenance program can make a difference. The Illinois DOT program is so successful that no more than 5% of their loop detectors are inoperable at any given time. Troubleshooting a detector failure calls for a little detective work. First, verify whether the problem is actually with the detector system. Often, a visual examination of the system reveals the problem. Otherwise, it is necessary to systematically troubleshoot the system. An experienced technician begins his maintenance work by inspecting the roadway around the saw cut. Is the pavement cracked? Have the wires floated to the top of the sealant? If the wires are exposed, damaged or buried too shallow, the loop installation should be replaced. Occasionally, the sealant becomes cracked or deteriorates. This is a problem for agencies in states that frequently salt the streets and use snow removal equipment. Unstable sealant should be removed. The slot blown clean with compressed air and a new sealant applied. Potholes within the loop area should also be repaired. Some agencies use a cold mix compound to patch the pavement. However, this should be considered a temporary measure. To decrease detector failures due to these loop wire problems, visually inspect saw cuts every six months. Another maintenance situation occurs when a loop cannot detect a vehicle due to insufficient sensitivity. Usually, the loop's inductance is too low. And the technician can measure this with one of a number of test meters. Low inductance can be caused by too few turns of wire, the shorting together of the wire turns, or the steel mesh in the road reproducing a shorted turn effect. In a multiple loop configuration, the defective loop can be eliminated, which temporarily corrects the problem. Or consider connecting multiple loops in series or series parallel to maintain an acceptable inductance. Cross talk can be a particularly bothersome maintenance problem. Your handbook offers detailed information concerning this maintenance headache. Let's take a look now at a few of the common cross talk causes and solutions. First, poor quality connections in the loop wiring can cause cross talk. The solutions focus on upgrading these connections, such as using high quality soldered joints. Physical closeness of two loops can cause cross talk through field coupling. Consider frequency separation or the use of multi-channel multiplex detectors to solve this problem. Two closely spaced lead-in wires coupling can create cross talk. Solutions include routing the wires in separate slots and twisting the loop wire pairs a minimum of five turns per foot. Coupling between lead-in cables sharing the same conduit can cause cross talk. This problem can be corrected several ways including the use of individual shielded twisted pair cables. A potential solution is the three terminal method described earlier that requires the grounding of each lead-in cable separately. The coupling of closely spaced harness wires from the field terminal to the detector can create cross talk. Using twisted wire pair or using shielded twisted cable with proper grounding is the solution. A general procedure for identifying which detector unit is cross talking begins with the disconnection of all detectors except the suspected unit. If no new false calls or lockups occur then the cross talk is coming from another unit. Reconnect one unit at a time until the cross talk begins again. Once the problem unit has been identified it can be repaired. Once you have eliminated loop problems and cross talk as the basis for a detector failure consider replacing the detector amplifier unit. The substitution of a new amplifier for a malfunctioning detector is possible if both units have the same characteristics and quality. There are several operational checks you can conduct before replacing a detector unit you suspect of malfunctioning. Using a maintenance vehicle and a vehicle simulator you can analyze adjacent lane detection, motion in the loop wire, intermittent detection and the sensitivity of the loop system. Adjacent lane detection is a problem associated most often with the use of long loops such as those used in left turn lanes. To test a loop maneuver your maintenance vehicle close to the lane. Monitoring the detector unit adjusts the sensitivity to stop the loop from detecting the maintenance vehicle. Then check the loop to ensure that it can still register small vehicles in the detection zone. For details on other solutions such as changing loop configurations consult your handbook. Intermittent detection problems can develop from a number of malfunctions. To identify the cause drive your maintenance vehicle over the loops you suspect are malfunctioning. These intermittent problems should appear if you repeat the test several times while monitoring the detector unit. Another technique requires visually inspecting all connections and testing the system with a 500 volt mega and a low ohm mid-scale ohm meter. Electrical as well as operational tests can be performed to help identify the cause of a traffic detector malfunction. Basically there are four devices used to analyze loop systems. A mega or high voltage resistance tester for measuring insulation resistance. A frequency tester also called an inductance meter for measuring inductance. A digital volt ohm meter for measuring series resistance. And a low ohm mid-scale ohm meter for measuring the dynamic change in series resistance. Both low resistance to ground and high series resistance are major factors in loop system malfunctions. Low resistance to ground can occur for several reasons. For example it can result from poor insulation on the loop or lead in wires. From the inadequate ceiling of splices or from exposed wires. High series resistance can be caused by poor splices, corroded or loose screw terminals, poor crimping or incorrect wire size. Detectors with a high series resistance problem are sensitive to humidity, temperature and vibration. Both resistance problems can cause drifting and false calls. Refer to your handbook for a table detailing these and other common loop malfunctions and their probable causes. As we have discussed identifying the source of a loop detector malfunction or failure can be an involved sometimes difficult process. In this section we have covered several ways to troubleshoot loop detector system problems and isolate their causes. To summarize and to simplify the maintenance process we recommend performing step by step these following tests during a maintenance call. Step one, visual inspection. First check for damaged loop or lead in wires. Then look for open leads within the controller cabinet as well as the availability of power to the detector. Step two, check the detector unit. If you suspect a problem replace the detector unit with a similar functioning unit. If this does not improve the system's operation reinstall the original detector unit and proceed with the next test. Step three, measure the Q factor. Measure and record the information requested on the quality or Q data form. For example measure the resistance from either loop terminal to the bus or conduit ground. Record this value on the form. Then check for series continuity between the terminals and so on. Step four, determine Q. Following the procedure described in your handbook determine the Q factor of the loop system and record the results on the Q data form. Step five, measure the sensitivity of the loop system. Using one of the two methods detailed in your handbook measure the system's sensitivity. Then record these frequencies on the sensitivity or S data form. Step six, analysis. Compare the values for each of the system characteristics with the acceptable limits listed in the loop troubleshooting chart in your handbook. Then take the table's suggested corrective action to repair the detector problem. Now let's take a brief look at the maintenance of the micro loop. To operate efficiently the micro loop detector system requires the same installation precautions as the loop detector system. For example the micro loops probe cable should be inserted in the slot and sealed with the same care as a loop wire. And the micro loop splices should be as sound and as protected as the splices in a loop system. Failure however can occur in any of the micro loops subsystems. There are four key areas that affect the operation of a micro loop detector system. Probe burial depth, probe movement, probe cable and saw cut maintenance. The proper depth and placement of a probe is critical to the system's performance. A deep placement provides good single count detection but results in low signal levels. A shallow placement provides a stronger signal but a higher risk of double counting. Therefore it is important to match the probe placement with the site and intended application. The movement or lack of stability of a probe in the pavement can affect detector performance. The probes must be firmly supported in their holes. Use a PVC conduit as a shell and tamp sand around each probe to prevent any lateral movement. The probe cable must be a water block type of cable to prevent moisture damage. For example, moisture can cause excessive capacitance or leakage between the wires and to the ground. And moisture across the leads of the micro loop can induce drift. Wherever possible run the probe cable directly without splices to the detector unit. If splices are necessary ensure that they are electrically sound and environmentally protected. Saw cut maintenance should include a visual inspection every six months to evaluate the sealant and the pavement. Any cracking or damaged sealant should be chipped away, blown clean and replaced with new sealant. If a micro loop detector system malfunctions or fails try the following troubleshooting procedures. First visually inspect all the elements of the system for problems. If none are apparent examine the probe for tilting. If due to pavement movement the probe has tilted pull and reinstall it properly. If there isn't a tilting problem check the cable, wire, probe, splice and detector unit. Systematically run a test on each element to determine the source of the malfunction. Compare the measurements from your tests to the measurements on the original reference sheet. Note the new test values on the reference sheet when you have completed the repairs. Most magnetic detectors have an extremely good maintenance record. The opportunity for failure is small for two reasons. The detectors are installed under the road surface and all the lead-in wires are encased in an underground conduit. Some magnetic detectors have been installed for more than 20 years with no failures. Although magnetic detectors are very reliable please refer to your handbook for ways to troubleshoot any problems that may occur. In the different sections of this videotape we have examined the detector principles, theories and evolution. Common detector applications, the criteria and considerations of detector design, basic detector installation techniques and the fundamentals of detector maintenance. We recommend supplementing the information in this videotape with your traffic detector handbook and other Federal Highway Administration reference materials.


Well, hello and welcome to another Dev nation tech talk We've got amazing things to show you guys today as a matter of fact We're gonna have a lot of fun because we're gonna talk about the non microservice today Let's talk about monolithic applications for change and actually it's gonna be kind of fun Because we actually have two experts with us on the phone from red hat today They are gonna be talking to us about their experiences real world experiences they have in the consulting world in the professional services world with real customers and what it means to go from that Monolithic world to a better monolithic world at least that's how I like to interpret it So I'm super excited to be with all you guys today again My name is birth Sutter and we're gonna kick it off right now first up is Eric Murphy So Eric if you could go and get started and screen share Okay, thank you bird. I'll get my screen stick share started here. Okay. Everybody should see my slides So today we're going to talk about future proofing your applications with modular design And before you get in slime by something called the big ball of mud so my name is Eric Murphy I'm an architect for red hack assaulting specializing in application development as first said very experienced with modernizing legacy monolith applications and building microservices for our customers and Also more recently. I've been getting involved with helping our customers adopt AI ML technologies as well Let's on helping customers architect and build cloud native Applications. I am passionate about open source technologies and the DevOps culture And I also maintain a blog which you can find at a lash not sec calm. Okay. It's great, by the way So it's for today's discussion. We're going to discuss modular application architecture and apply modularity to both monoliths and microservices For any architecture also a lash is going to demo a simple application Modeled after Instagram that that is modular It has different features like photos and legs and he's even going to do a code walk through in the demo So next let me talk about something called the big ball of mud So the big ball of mud is a haphazardly structured sprawling sloppy duct tape and barely a wire spaghetti code junk jungle these systems show unmistakable signs of unregulated growth repeated expedient repair Information is shared promiscuously among distant elements of the system often to the point where narrowly all Important information becomes global or duplicated So I bring this up because you know many applications. They start off with it with a great design But they slowly evolved into big balls of mud, right? And in a major way that you can prevent that from happening is implementing a modular architecture And by the way big balls of mud do apply to both monoliths and microservices So Bert today, I'd like to propose that there are different flavors of application modularity So the first one would be source control modularity This is where you can utilize multiple get repositories for one large application I emphasize large application there This allows you to scale up your application development across teams and this is known as programming in the large Also, number two is build modularity This is where you can build separate projects and publish artifacts in a repository such as nexus and Artifactory and for Java. You may also want to utilize mava modules a Application or contractual guarantees during compile time. So that's a great benefit I know they're not commonly used, but they do help improve your code modularity Number four is data modularity. This is where you do not want to create a tight coupling of data between your modules Such as sharing a database schema Generally speaking, you want to have a separation that concerns with your data So, you know with these four flavors of modularity They do apply to both monoliths and microservices and for building large applications You really want to apply all four of these flavors if possible But there also may be an additional flavor modularity that only applies to microservices So what is that? It is deployment modularity So deployment modularity allows you to deploy in a multiple microservices or even serverless functions Instead of one application and this may also involve partitioning data into separate deploy databases It requires inter service rather than interest service communication So you have to propagate events using a network transport Also, your your clients or your user interfaces They must utilize multiple services and potentially you might want to use an API aggregator So how do you avoid getting a slime by this big ball mode? Well, you want to strongly enforce all the layer flavors of modularity source control build code data and deployment So food for thought, you know, what major differences in code would exist between a strictly modular monolithic application and In the equivalent microservice implementation So keep that in mind as we go through the demo So now I'm going to hand it off to LS for the application demo and we can switch the slides. All right sharing my screen Okay so All right, so in this part of the presentation we would like to show you a demo application which we built in order to show you the flavors of modularity in practice and our application is called a photo gallery and it's an event-driven application and We were building it to meet the following functional requirements we have users in our photo gallery creating photos and each photo has a name and we also Organize photos in the categories like for example, we have photos of animals photos of buildings and people And when the user is browsing the photo gallery There is a button displayed next to each photo Which allows the user to add likes to a photo which he finds interesting So we are counting the number of likes per photo and we also allow users to formulate more complicated queries like for example Users may be interested to know what are the most popular photos in each category in order to address these requirements we came up with the following architecture and You can see here on the diagram that we are having The application broken up into three microservices. We have a photo service a like service and a query service And each of the services has its own Dedicated storage photo service has its photo photos database like services its own and the query service has its own data store as well now to give you an idea how The services are communicating with each other and how The application works. Let's take an example where the user is creating a photo When user is creating a photo it sends a post request to the photo service With the information about the new photo in the body of the request photo service will store the information about the photo in its own data storage and it will also Publish a message with the information that a new photo has been created And it will send that message through the message browser Similarly when the user is adding likes to the photo He sends a post request to the like service like service will bump up the counter of the likes for the given photo in its own database and it will also Publish a message to the browser with the current number of likes for the given photo And then we have a query service here who is listening on the browser For the messages coming from the photo and the like service And based on the information coming in the messages query service is Preparing its own data store To be able to later answer the queries about, you know, what are the most popular photos for the given category So I will now come back to the modularity principles, which I'm showing here. So the first one Eric talked about was the code modularity Here you can see that we do have three independent modules the photo service like service and the query service And these three services are decoupled and are only communicating via msg browser Regarding the data modularity We do have each Service having its own dedicated data store Services are not directly accessing each others data On the next slide i'm showing you a more detailed view of how the persistence layer or data model looks like The photo service is maintaining a table where the photo is identified by a photo id and we save the name and the category And the like service is just the storing the number of likes for given photo id query service Is preparing and storing all the information or data it needs to be able to answer the more complicated queries And After the first two print first two flavors, I'm going to now show you the next two Which is the source control modularity flavor and the build modularity So regarding the source control modularity We do store or we do use multiple git repositories to store the source code for the application The photo gallery common repository That's where we store all the common definitions which are actually shared by multiple modules And we also have the gallery monolith repository Which doesn't contain any source code, but it actually contains a POM file for maven to be able to build the monolithic application using the three modules photo like and query so before we go to the last modularity flavor Let me actually show you how the photo gallery looks in eclipse And for that I will switch the window here So I imported the source code for the photo gallery into my eclipse editor and The first project I will show you is the photo gallery common with the common definitions Which are shared by multiple modules We have constants here defined these are the names Of the cues where the messages are published And we also have the Format of the messages in the form of beans here in for example photo creative message looks like this so this information in right or this Classes here in the photo gallery common project Actually shows how the Three services are coupled. This is this is the only coupling they really have The this is the format of the data which they need to all understand If I show you one of the Other services, let's take the photo project Photo is or all services are written as a corpus application There are rest services you can for example see here the photo service Implementing the photos resource And there are two methods which we implemented the first one is the post Which creates a new photo Where user passes in the data, which is immediately parsed from the JSON body And we store it in the database and after that we create a message Which we publish Here to the topic to the to the browser The second method which we implemented on the photo service is the method to get all photos from the database uh here user sends a simple get request and we Create a query to select all the items from database and we on this line Serialize them into JSON and send them back in the response body and One more thing interesting here is the photo gallery monolith Where as I said, there's no source code. There's only a palm file which now Takes as a dependencies our three modules and You builds a complete monolithic application So coming back to our presentation. Let's take a look at the last modularity flavor Which we were presenting or showing today And this is the Modularity flavor our application as it is written can be deployed In two ways either you can deploy it as a monolith or you can deploy it as a set of microservices and if you choose to deploy it as a monolith What you will get is a monolithic process which is Running or which consists of all three modules running inside of that process And the three modules are communicating over a vertex event bus And in this case it is a in-memory communication. So this is not a really a distributed application All communication happens quickly in memory and This monolith now exposes one API endpoint where all three modules the the photo and the likes and the query modules are accessible and You know, you can indeed scale this monolithic application by replicating the monolith itself And you can also see that we are using one physical database However, each of the modules has its own database schema. So there is no data sharing underneath The great advantage of this kind of deployment is that you are avoiding the, you know Downsides of distributed systems like for example unreliable network communication and others Now if you want you can also deploy our application as set of microservices And in this case you will you will get Free microservices where each of the module is running in its own separate microservice or process And these microservices are again talking Over the vertex event bus. However, this time it is a clustered event bus Which is really distributed and sends the messages over the wire now This brings in the entire problematic of distributed applications And the the reliability of it Also Each service will Expose its own end point. So the user will need to somehow be able to find out about all three end points For example, you could put a facade in front of our services Or maybe an api gateway, which would be able to expose all three end points in one single api and Regarding the scaling The big advantage of this approach It is micro services approach is that you can now deploy each of the services independently It means update them independently without touching the other ones So if you are interested you can find the source code for the photo gallery on github And one more demo I have for you is I would like to show you how How this looks deployed on open shift I have two projects here for you to to look at the first one is the photo gallery monolith, which Contains the monolithic deployment of our application. You can see that we have one monolithic process connected to a postgres database and you can Indeed scale the the monolith, you know, you can have multiple instances of it if there is a more load coming into your application no problem and You can also see here in resources Now that there is this one route where all three modules the photo Likes and query are accessible on the other hand In the project here called photo gallery distributed I have deployed the distributed form of our application Where we are having three different microservices each of them connected to its own database and You can now take one of those microservices and Scale it independently and also deploy the new version independently of the other microservices And as you can see here, you know, each of the microservice will be exposed on its own route Coming back to the presentation This will leaves us with the conclusion part. So Eric will draw some conclusions for you. I will stop my screen sharing Hey Lash, since I was having audio issues, would you mind covering the conclusion? so we'll Run my screen sharing again so The basic takeaways from from our presentations are that you've seen an application Where the same code Is deployed in two different ways We have a monolith deployment with the advantages of the monolith but also disadvantages of the monolithic deployments and we and you've seen also the microservices deployment and We implemented the You know five flavors of modularity where the four ones the first four ones are I think Acceptable or are good for everybody with the fifth one where we are talking about the Deployment modularity you can make your choice based based on what you want to achieve if you prefer a monolithic deployment or if you would prefer actually to go all the way to microservices because we definitely know that A microservices has also its downsides and We were showing in this example how vertex event bus can be nicely used and works in both of the types of deployments out of the box and When you are when you are building your application You want to consider Building it first or deploying it first as a modular monolithic application and Perhaps see later if you want to actually deploy it as a microservices if there is The advantage to gain from it And if you want to find out more You can follow us You can see Eric's twitter and my twitter And you can also find more information on my blog at alaschnosec.com and You can also contact Eric on his red hat email address for further questions And thank you for Looking at our presentation All right. So benedict had some interesting questions. Let's let's try to discuss benedict Questions here one was is the broker in memory? And I believe the answer to that is yes because it's the vertex event bus Is that the broker in question that was on your slide? That's correct the vertex broker works In the process in memory And the only difference between the two deployments was that the monolithic the communication goes also in memory While in the distributed deployment the messages are actually sent over the wire Right, but it's still there's no physical broker There is no physical broker separately. Yeah, there is no such thing Okay, and there was a question around MVP. Does that mean model view presenter or minimal viable product? Minimal viable product we put this together with Eric for for the demo Yep, okay, and we already added the github repo for the sources that will be in our chat I can add it again, but we did that at once and then but benedict had another question that I think is very important And that is related to can you actually define in a very quick way? What does it mean to decide between the monolith the modular monolith versus microserfs? What are the trade-offs when you make the decision to go from one to the other? Yeah, that's a that's a very very good question. Um, let me start with the most kind of important things With uh with monolithic applications you get a big monolithic application running which kind of avoids problems of distributed systems like for example unreliable network communication between components and also With monolithic applications, it's easier to work with your data Where whereas in Distributed fashion you typically have each microservice kind of working with its own data, which you can We should then need to keep somewhat in sync and with the distributed way of deployments What you will get and what people most benefit from is the ability to independently deploy separate or So yeah individual microservices into production separately and also people tend to organize their development teams where Each development team is let's say responsible for one or several microservices and you don't have Yeah, so you can you can scale out your development that way instead of when you have a monolithic deployments Um, you have all like you you have the source code of many many people in that monolith Which is now being deployed which then leads to a need for synchronization between people Okay, Eric anything to add there I listed a great job of presenting that definitely Scalability is a concern on why you would want to Go from a monolith to microservice that being said, you know with You know quark is for example as a a new way to deploy Java applications You can create many more instances of your application In open shift for scalability and that applies to a monolith or microservices Hmm. Yeah, I was curious with the monolithic deployment Did you guys compile all the way down to native using quarkus? And if so, how much memory was it using? so This is a yeah, this is a quarkus application, which is a we are running it on jvm Um, there's one interesting Think about the memory consumption and to jvm Um, we know that when you are using java 8 um The memory consumption is very much dependent also on what you said as a max heap size for your application So it's a really a trade-off, right? You can if you let the application Eat more heap The application will definitely use it Well, if you want to kind of save on the memory You might set your max heap size to lower values and keep your application consuming less now indeed As a monolithic application you will actually have only one heap Which is better than having a distributed application where each of those microservices is now having its own heap and its own jvm Okay, now there's some questions related to the database and data for instance, alexander had one related to database modularity And database modularity you show a close coupling of data through the sharing of id's Do you know of any ways to avoid that? So i'll try to take that one. So typically with a distributed system such as microservices You want to use a universal identifier a uuid. That's how you can Create the relationships between the data logically So there may not actually be a physical connection inside of the database through, you know, foreign key constraints um, but You know collectively, uh, that there will be a relationship between the data Does that make sense Yep, no, I like the uuid answer that that makes a lot of sense to me And it's applicable even if you actually use something other than htp to distribute your application, right? You know it could be a Kafka based backbone to distribute the application or like you guys did with the vertx event bus Um, there are three separate schemas for the three tables or collections. Is that an overkill? Or is it really really needed in order to avoid future bbom? I'm not sure what bbom is I'm not familiar with that acronym But generally speaking if you have tables that are one schema The developers or a dba, they're gonna be very inclined to create those Those uh constraints, you know those relationships between the tables That will make it more difficult to separate them out into separate databases in the future Okay, so that's the reason for having multiple schemas Right, right, right And actually for people interested in database I'm pasting in the link to our free ebook that talks all about how to deal with the database In this microservices model or monolith world if the databases you're concerned then there's a ton of Strategies tips and techniques in that free ebook written by etsy and aga I encourage you guys to check that out Now there's another interesting question that I think would is very appropriate for this conversation And that is if I want to deploy one of the microservices that are all they're in the modular model if Is that possible? Some of the words you guys have the photogallery like as an example. Can I deploy like without deploying the rest? So I believe the question is about can you break them off one by one? Is that correct? Burr Well, no, it actually is about deployment. So the and I think the answer is if it's a monolith It's a single monolithic deployment If it's a monolith you have to go to microservices if you want to separately deploy the individual components. That's still true Yes, that's right Okay, and I and the bbom by the way was big ball of mud Which is funny, right because you guys started with that phrase. I couldn't think of the acronym Okay And we are we are officially out of time, but there's one last question. We'll throw you guys wait What about what about our best practice for strangling an existing tightly coupled monolithic application? Do you guys have any quick tips or tricks on how to deal with strangling that big old ugly? tightly coupled monolith So one thing I would say is you can take this legacy monolith that may be a bbom And and try to make it more modular As a monolith first Before you begin to separate off the microservices into independent deployments So you can you know refactor your existing monolith to make those improvements incrementally Yeah, and I would that's a good idea and I would add to it You also if you are then Splitting out microservices. You maybe want to start with a low-hanging fruit And split something what is simpler and is not too much coupled with the monolith And then when you have already a monolith and the microservice running next to it You can kind of feel the distributed systems problematic and decide later how far you want to still go Okay, well, we are officially out of time. I apologize that we can't stay on longer with you folks But it was a nice engaging engaging session And I enjoyed the little application by the way because actually while you were talking I get cloned at all and I did the build on my local machine Uh, so, you know, I hadn't tried to test it properly, but I did get it all to build So that's a good sign by itself So thank you all for today If you have further questions feel free to reach out to eric a lesh or myself on twitter Or you can always find me on email You guys got an email from me to even show up for today's event So you know my email address and I'll pass that on if we have questions in the future But thank you again for your time and thank you guys Everybody