So with the Los Angeles Lakers unable to make any trades during this year's NBA trade deadline even after there was a lot of speculation that Karl Kuzma could be on the board and they were looking at players like Derrick Rose Marcus Morris, but either of those players ended up getting traded to the Los Angeles Lakers Derrick Rose stayed with Detroit and Marcus Morris actually ended up with the Clippers So it's gonna be interesting to see if the Lakers continue with the roster They have or if they're gonna go and try and get somebody else the three players that were highlighted by the Los Angeles Lakers were Darren Collison, JR Smith and recently Deon Waders after he was traded by the Miami Heat and waged by the Memphis Grizzlies So with that said let's have a look at the Los Angeles Lakers and see if they should go after one of these players Or if they should just continue with the roster They have and go with this roster into the NBA playoffs where they're looking to win a championship If you enjoy these types of videos, please hit that like button to show your support for the next video It would be amazing if we could reach a thousand likes if you're new around here Hit that subscribe button for NBA content every single week and hit that notification button so you never miss an upload With that said, let's get on to the video before I get into Darren Colison, Deon Waders and JR Smith I do know that Darren Colison won't be coming back to the NBA this season But I do want to talk about Tyler Johnson because he recently just got waved by the Phoenix Suns and he's somebody that also Could be a contributor to the Los Angeles Lakers if they decide to pick him up The difference between JR Smith and Deon Waders and of course Tyler Johnson is that Tyler Johnson is reasonably young He's only 27 years old and he didn't have the best run in Phoenix. He barely played with them He only ended up playing 40 games for the organization and he didn't really play very well overall He wasn't able to shoot the way that he did in Miami. His 3-point percentage in Miami was around 37% When he went to Phoenix that dropped all the way down to 32% last season and only 28% this season So he wasn't able to find any rhythm in Phoenix But he actually has been a really good shooter in his time with the Miami Heat in his first year entering the Miami Heat He averaged 37% of 1.53 point attempts per game But then by the 2017-18 season he was taking 4.5 attempts and averaging 36 nearly 37% from 3 So he's a guy that could be a consistent shooter and like I mentioned before He's younger which means it's probably more durable for the Lakers And he can be a replacement if any one of their shooting guys get injured not to mention he's also multi-dimensional This is a shooter guard and a point guard and he plays decent defense. He doesn't play amazing defense But for a guy who's not necessarily gifted he does show heart and hustle and I watched him for a while in Miami And he's pretty athletic for a guy that you wouldn't expect to be so athletic a little bit like Alice Caruso With that being said I don't believe the Lakers should really go after Tyler Johnson The thing about Tyler Johnson is he hasn't really been in a position where he's needed to perform at a high level He hasn't really done anything in the playoffs He hasn't obviously gone to the finals and somebody like J.R. Smith in my opinion even though he is older He's been there. He's done that He knows what it takes to get to the playoffs and perform at the highest level and for me if we're going off That the Lakers don't need a guy that's young They need a guy that's gonna perform at a high level in the playoffs and hit open shots With that said let's get on to the other three guys Darren Collison who would have been interesting for the Lakers then J.R. Smith And then lastly Deion Waders Darren Collison was brought to the Los Angeles Lakers He was watching the team and then two days later He decided that he would not come out of retirement and he would not play in the NBA this season Both the Los Angeles Clippers and the Los Angeles Lakers were looking to get him But now he's not available. So the Lakers are looking elsewhere one player that has been named is J.R. Smith Obviously, we know the relationship between J.R. Smith and LeBron James. It's a big relationship J.R. Smith played in Cleveland for quite a while. He played for five years, which actually goes unnoticed He played from 2014 all the way up until 2019 Obviously all that time he didn't play with LeBron because obviously LeBron left the Cleveland Cavaliers But J.R. Smith and LeBron have had a relationship for a while And he obviously played a role for LeBron and the Cleveland Cavaliers and obviously helped them win an NBA championship Despite what people say about J.R. Smith and his obvious lapses at times J.R. Smith throughout his career has been a very good player He's a guy that you can rely on to hit the open shot and his three-point average throughout his entire career has been 37% For somebody who came into the league shooting 28% from 3 to go from that to 37% the next season and Continue that for the rest of his career That's something that I believe J.R. Smith should get more credit for because he came into the league as an average Shooter and transformed into one of the best shooters J.R. Smith could shoot the lights out at one point He was an 18 point per game player who shot 35% from 3 and 42% from the field He was a sixth man of the year and he's a guy that can be relied on but obviously can he be relied on this year at 34 Years of age he will be making his return to the NBA if the Los Angeles Lakers can sign him and yes We know about the relationship with LeBron James which obviously helps but can J.R. Smith actually make an impact for the Los Angeles Lakers Well number one if he can average around 37% from 3 which is what he's averaged throughout his entire career He can make a contribution in my opinion number one He knows what it takes to get to the playoffs and obviously win an NBA championship Number two he can be relied upon to hit the open shot number three if J.R. Smith gets hot He can win a game off his own hot hand and yes That's a big call and I'm not saying that you can rely on J.R. Smith to be the number one option on a team Nor am I saying you can rely on J.R. Smith to be a sixth man this season nor am I relying on J.R. Smith to be the tenth man on A roster but I think that J.R. Smith if he gets hot He's one of those players like Gerald Green where he cannot be stopped once he gets going and he hits three threes in a row It's game over. I think he would make a good contribution and there are a lot of science pointing to J.R. Smith going to the Lakers He's friends with LeBron. He knows what it takes to win an NBA championship The Lakers are one of the championship contending teams and he's the guy that can hit the open shot Create his own shot which the Lakers are seeking it kind of makes sense for a guy like J.R. Smith to be on this roster We've seen him take over games before and yes He will be 34 years old But the thing about shooters is that no matter what age you are being a shooter doesn't leave you and we've seen That with Ray Allen He hit a huge clutch shot with the Miami Heat and he basically saved the Miami Heat from losing a championship I'm not comparing that Ray Allen to this J.R. Smith But I'm just saying if you have a shooter on the floor like J.R. Smith with a wide open shot I believe that he'll be able to hit that shot more times than not and in a clutch playoff situation a guy that's been there before I think you can rely on that and of course the Los Angeles Lakers already have guys like Danny Green and Avery Bradley And they can be relied upon to hit the open shot But if you have a team like LeBron James at the one J.R. Smith at the two Danny Green Karl Kuzma and Anthony Davis that is a tough lineup to face off against and I just believe it opens the paint up More so than having a guy like Avery Bradley or Cadwell Pope both of those guys especially Cadwell Pope They basically do what J.R. Smith does But I believe if you can have J.R. Smith on a roster and he won't complain about minutes He'll just be there on the bench and if you need to play him he can play I just don't believe it hurts the Los Angeles Lakers at all And I believe he could be a good potential player for the Los Angeles Lakers As for Deion Waders, Deion Waders is interesting because he's never been as good of a shooter as J.R. Smith Deion Waders averages 34% from 3 throughout his entire career But he had one season with the Miami Heat where he averaged 39% from 3 of 4.73 point attempts per game He's a guy that's been really inconsistent and obviously he's had lapses with the Miami Heat and of course the Cleveland Cavaliers when he was there He couldn't really find his mojo even though he was a top five pick in the NBA draft of 2012 He's never found his rhythm in the NBA and he hasn't turned out to be what the Cleveland Cavaliers expected He had a little stint in Oklahoma and then he was traded to the Miami Heat But overall he has mental lapses a little bit like J.R. Smith But probably worse and that's what really killed his game. The thing about Deion Waders is just like J.R. Smith He can be a walking bucket. He's a guy that is a good scorer and he can create his own shot He has the confidence that is almost a little bit too confident for a player Who isn't as good as he was meant to be. The thing about Deion Waders is that he can shoot the ball at a decent percentage I just think he probably hurts the Lakers more than he really gains And I just believe it's a better option to go after J.R. Smith in my opinion But it is clear that the Lakers need scoring off the bench And they also need to get the ball out of Rajan Rondo's hands to somebody who can create their own shot And whether that can be Deion Waders or J.R. Smith, that's the question I would personally go after J.R. Smith because I've seen him in the playoffs and I've seen him actually play really well And yes, I've seen Deion Waders play for the Miami Heat as most of you know I am a Miami Heat fan and I've seen Deion Waders two seasons ago play extremely well for the Miami Heat And he was one of the top scoring options on the Miami Heat But that was when we didn't have many scoring options and we weren't looking like a playoff team And for a team that is a playoff team like the Los Angeles Lakers To have a guy like Deion Waders who may take some shots away from other players that he really doesn't need to I just wouldn't go after Deion Waders at this point in time But it'll be interesting to see what the Los Angeles Lakers do And if they will go with J.R. Smith or Deion Waders or neither of them and maybe somebody else With that said, let me know what you believe down below in the comment section Who should the Los Angeles Lakers go with do you think they should go after Deion or J.R. Smith? Or do you think that they should go after somebody else? Somebody maybe like Tyler Johnson who just got waved by the Phoenix Suns All in all the player that accepts their role on this Los Angeles Lakers team In my opinion will be the player that gets signed here and most likely I believe it will be J.R. Smith Just based on his age and his relationship with LeBron James With that said, if you enjoyed the video, please be sure to leave a like to show your support Subscribe if you're new for NBA content every single week And hit that notification button so you never miss an upload It's been Deion Waders Smith, I'm out, peace


So here I have a box I just got in the mail and what it contains is all you need for an arcade machine two players here the joysticks red and blue led Buttons in here both red and blue and even little controller boards for USB so you can use them as game controllers now My second channel I do a full unboxing of this and talk about a little bit more So if you want to see more about this be sure to check out my second channel And I'm gonna be using this. I already have an arcade cabinet that I built years ago, but I might build an arcade table with some friends and But I plan on using actually a lot of these parts in a lot of other projects Which I talked about more again in my second channel So if you haven't already checked out my second channel do so hopefully I remember putting Annotations somewhere on the screen or check out the links in the description. Thanks for watching and as always I hope that you have a great day


Hi, everybody, and welcome to the World Economic Forum's issue briefing on how we can ensure vaccine equity. It's a very important topic and it's a very important week. And I'm joined here by our head of health and healthcare, Arno Bernhardt. Arno, thanks for joining us today and helping us set the scene. Can you tell everybody why is this world immunization week so different from the rest and set the context for the panel that's about to happen? Thank you, Amanda. It's very, very different. You remember before the crisis, we were discussing and we were discussing together. We were actually worried because we saw trends in vaccination trust decline. We saw many countries where missiles crisis erupted and we saw people dying from missiles. And in the current period, there is a silver lining. People want vaccines. They have understood the benefits of vaccines and they want to actually benefit from COVAX vaccines. That's important because CEPI and GAVI were created at the World Economic Forum. CEPI was launched in 2017. It has been the first investor in mRNA vaccines. GAVI was born in 2000. It has vaccinated to date 800 million kids, saved 14 million lives. And guess what? Together, they are managing COVAX, the only instrument for equitable access to vaccines with equity at its core. So we need to help them mobilize funding for COVAX. And we hope in turn, COVAX will also be able to invest in solidifying vaccination infrastructure in the many countries in the world that still needs that. Because there is COVID, but there is also HB. There is tuberculosis. There is hepatitis vaccination campaign. You need to think about cervical cancer, diphtheria, and hopefully one day a vaccine against HIV and one against malaria. This is a global issue of global importance. And so now I'm gonna hand it over to Juliana from CNBC. Thanks for joining us. I'm gonna hand over to you. Thank you so much, Amanda. I'm Juliana Taddlebaum, an anchor here at CNBC and I'm very pleased to be bringing you through this session on how to ensure equitable vaccine access. And to discuss this really important topic, we have an excellent panel for you. So let me introduce those panelists. Dr. Abubakar Campo, Director of Health at UNICEF. Heidi Larson, Professor of Anthropology, Risk and Decision Science, London School of Hygiene and Tropical Medicine. Garth Graham, Director and Global Head of Healthcare and Public Health at Google. Julie Gerberding, Executive Vice President and Chief Patient Officer at Merck and Genia Dana, Acting Head of Health and Healthcare at the World Economic Forum. So very pleased to be talking about this topic and let's get right to it. First we have the COVID-19, a pandemic and the vaccines that have been created to fight the pandemic. And then we have vaccines more broadly and the work that needs to be done to ensure equitable access to a broader suite of vaccines. Let's kick off talking about COVID. Thanks to his heroic scientific effort, we are here today with a number of highly efficacious vaccines to fight COVID-19, but we don't have enough. And so far what we've seen is high income countries take the majority of doses and that has come at the expense of low and middle income countries. So let me kick off with you Abu to set the scene and give us your definition of vaccine equity. Thanks, Joanna. I think it's important that, I mean, COVID-19 has shown us that no one will be safe if everyone is safe. So I think from this perspective alone, equitable access for vaccines is basically important. Let's also remember that we have, if you're not distributing vaccines equitably, we are not stemming new mutations. I think we need to make sure that everyone gets access in the same manner or equitable manner for those vaccines so that we avoid mutation. What is it good for? If a country has 100% of people vaccinated and then we have a new variant camp was coming up against which those vaccines are not effective anymore, you're back to square zero and have to start again. So I think it's important that equitable access is basically taken into consideration. It's the same with not just COVID-19. We have a lot of diseases which are basically epidemic phone or pandemic phone like measles, like polio. So equitable access, even for immunizations that's equally important. Julie, I wanna come to you as a representative of the pharmaceutical industry. What are the main barriers at this stage to getting the vaccines that we need and getting them to where they need to go? Thank you. And I think one of the things that we probably need to think about is how to reframe this conversation because it isn't really a matter of supply or access. It also needs to include uptake and the process of distributing vaccines and getting them that last few inches into the arms of people. But let's start with supply because I think we're living in a world where even for influenza vaccine it just really indicated for every human being on earth. We've never manufactured more than 2 billion doses a year. So the challenge of getting this vaccine to really address the needs of the global community is a daunting challenge. And I think the glass half full answer is that we've come a long way. But I totally agree that no one is safe until everyone is safe. And we really have to be global citizens and think through how are we going to not just get doses out there but how are we gonna support the systems and the trust necessary to get them into the arms of people? Well, Julie, you've segwayed beautifully into Heidi who has done a huge amount of work looking at trust in vaccines. So Heidi, based on the work that you've done looking at COVID-19 and take up of the vaccine what would you say are the most common concerns and biggest challenges to getting people to trust the vaccines and take the shots when given the opportunity? Well, I think one of the first things we've learned is it's not just about trust in the vaccine but trust in the system, trust in the people delivering it. And I think that we call it the trust chain is really important. And we have as Julie mentioned supply is one piece of that picture. And clearly if you're not getting a supply you start to lose trust in the system. That's they're kind of interrelated but we do have for instance in Africa right now boxes of vaccines sitting there and not being used because the demand is not there and because people aren't confident and that we had plenty of time to prepare for them but that wasn't there. So I think we also need equity in the preparedness and in the investment upfront to build people's confidence to make equitably informed because that's another piece of the picture. Heidi, when you talk about systems and the fact that we need trust in systems not just trust in the vaccines themselves what specific types of infrastructure and what types of organizations are really responsible here in terms of policymakers, government what do you mean by systems? Well, health systems, governments I mean particularly marginalized populations who feel like in general they've been left out I mean, Abu was talking about the broader health picture I mean, we've faced this also in polio trying to get to the last mile for eradication people are saying, you come knocking on my door you want me to do this vaccine you were never there when my children were dying of measles we have absolutely dirty water giving us all kinds of other things and now all of a sudden you want us to take polio vaccine or COVID vaccine where were you when my daughter had fever or why didn't you treat me nicely when I went to the clinic and this isn't just in the poorer countries these are in communities here I mean, here I'm in the UK but in Europe, in the US so I think that it's that trust in you know, what's your motive? I mean, trust is made of two things basically trust in the ability of an institution or an individual to do what they say they can do and trust in the motives and that's sometimes where we've got some real some real doubts from people they feel like the vaccine is because you want it not because it's necessarily good for me so we have to we need to work on that more broadly I guess a big part of the solution has to be in terms of how we disseminate and control the messaging and social media platforms play a huge role in how people get information these days so I want to come to Garth for your take on what role the private sector in particular social media companies like Google, like YouTube can play in ensuring that credible information about vaccines and about healthcare systems get out there into the public so we have a huge role to play the ability to bring trusted information to communities as Heidi and Julie others pointed out it's not about vaccines, it's about vaccinations and so the concept of having people have trust in the science of trusted information our capabilities and abilities to bring information to scale to people in an engaging form in a way that they understand in terms of information is particularly important I will say also that the thing to think about here as Heidi kind of alluded to is the long history that communities have had with the healthcare system and vaccines have been one of the greatest public health achievements that we've made in our lifetime and it's important for us to be able to make sure that communities have trust and confidence in the process not just with COVID-19 but in health and public health in general Jenya I want to come to you and circle back to a point that Abu made that no one is safe until everybody is safe which is the key message that healthcare experts have been trying to drive home since the beginning of this pandemic do you think that governments fully appreciate that notion that no one is safe until everybody is safe and I want to just take it to current events as we all watch the dire situation in India right now and we see governments around the world taking action that they haven't taken thus far in terms of sharing medical supplies and really paying attention to the threats that loom outside of their national borders Thanks Juliana and at the World Economic Forum we're really pleased to be able to play that convening role to get all voices to the table when it comes to understanding the criticality of the issues and the multi-sectoral role that everybody has to play I think when it comes to government engagement we've been very successful in bringing those voices to the table and are I think very heartened by the movement that we are starting to see from some of the countries where we do have enormous supplies of vaccine that are in need of getting to more of the places where those shortages are so I think that from a governmental point of view that there is realization and cooperation that we are starting to see increase and improve in that space and I think from the forum's point of view we've always been a huge proponent and supporter and convener to facilitate that kind of cooperation particularly such that mechanisms can be put in place like COVAX where you would be able to work out the details of equitable distribution of vaccines which I am optimistic that we are starting to see more of particularly as the world recognizes the vast disparities in who has these vaccines and who does not right now Julie I want to come back to you because I think your initial point around the issue not necessarily being a supply issue will sound new to some people given how much emphasis there has been on the limited number of doses and not necessarily where those doses are going what do you make of the current debate around waving IP rights as a means of accelerating the manufacture of vaccines do you think that is something that needs to be done or is that just one small part of the puzzle here the answer is complex for example given the incredible humanitarian tragedy in India right now many of us this morning work put out a press release that we're making our antiviral experimental drug for treatment of COVID available to five voluntary licensed organizations in India to try to help them accelerate hopefully approval and access to that medicine so I think there is there are many situations where that is an appropriate step to try to improve availability of medicines and accelerate their underground use but on the other hand when you step back away from it the reason that we have vaccines in less than a year from the recognition of the pandemic is because companies had confidence in the investments necessary to move that intellectual property forward and if we remove the protections and the de-risking mechanism that our system provides we'll have a lot fewer people ready to roll when we have our next crisis and that's something it's hard to think about in the middle of a pandemic but we certainly need to be thinking about it going forward this is not the last pandemic we're going to face well on that note let's talk a little bit about what's happening on the health agenda beyond COVID-19 while of course the disease is responsible for the suffering of millions of people the pandemic has also taken attention away from other health risks and other key topics on the health agenda including other routine vaccination so Abu if you could give us a sense of the scale of the hit to routine childhood vaccinations as a result of the pandemic well yes I think Joanne you said it rightly I think no the other diseases are not taking a break just because of COVID-19 I think everything else is going on I think in terms of maternal health for example and you know we have reduction in services close to in some of the countries close to 40-50% immunization services have been hit very very hard at the beginning of the crisis they were the first to bounce so to get back on track but still human resources have been shifted to other sectors financial resources have been shifted to other sectors and I think it has been taken total and it takes a little bit of time to get back on track we are still the attention is still very much focused on COVID-19 and I think they are appealing in a lot of governments you know to really step away a little bit of this psychosis or just on COVID-19 and really resume those services because otherwise it has an impact on child mortality yesterday we launched with Gavi and UNICEF the immunization agenda 2030 which is basically also focused on has a very big chapter on equity and what we are looking at in terms of equity we are looking at the zero dose child and what we mean by zero dose child is basically the child who has not yet been vaccinated or has not yet received any of those vaccinations let's just remember still even before COVID-19 we had at least 20 million children who have not received a single shot of vaccines for the other diseases as well and what is important to know they said where you have zero dose children how we call them there is a zero dose community this is a community where it's not not just health services they are lacking in terms of infrastructure education services nutrition services it's a complex situation of deprivation of those communities which also feeds into the trust issues which Heidi has mentioned so what is UNICEF doing to build more equitable access to try to address some of those issues in particular around building trust in healthcare systems yes I think from the UNICEF perspective I think we are trying to zero in on those zero dose community and bring in those necessary services I think it starts with building the starving the primary healthcare systems are really making sure that we have a primary package of health services in particular in supply in Africa and South Asia where still system strengthening is basically needed it goes not without human resources it goes not without advocating for more financial resources from the governments themselves to invest in those systems and I think it is high time that everyone doesn't look at health just as the health sector as an expenditure bucket but more as an investment bucket as an investment sector for the future because if we don't invest in health if we don't invest in health systems every other single program which we're basically implementing becomes just more expensive or becomes verticalized as we have seen with polio we're not necessarily reaching the results which you would like to have so investing in systems is probably as important as investing in all the other infrastructure where politicians are basically spending most of their money but I think investing in health systems is probably a smarter way smarter way of developing society certainly a different way of framing the issue to think about it like investment for the future Heidi I want to come to you in terms of how you think trust in vaccines and trust in health systems is likely to be impacted by the COVID experience I think many people have read and listened and watched the discussion around vaccinations in a way they had never done before so do you think that this is all going to lead to improved uptake of vaccines and health health mitigants in the future or potentially a deterioration in trust? Well I think it's a huge opportunity and we have a choice I think I personally I think we should be using every moment around COVID to to work on that trust building to help people understand I think we should I'm really don't think we should be shutting down people's questions I'm very concerned about that the suggestion that we should be discouraging people from questioning in the context of such partial information we have right now now is the time that if we listen to them if we engage with people with questions they'll remember that we are making history right now this is a period of time that the world will remember and if they remember that they were heard that they were engaged that's going to stick if they hear that they were left out that they were not part of this equitable system and they were judged for their questions that will be remembered and we have a choice and we are at the beginning we're in kindergarten in terms of global vaccination right now I mean if you look at the where the vaccination is and where you know what we need to get the world vaccinated and by the way there's more candidates more vaccines coming into the pipeline it's going to be a confusing landscape so I think we have to have a lot of empathy and be there for people and they'll remember that where does the onus lie what types of organizations can and should take a leading role in addressing those questions that people have around vaccines and their nervousness well I think it needs to be a lot of different organizations I think the problem has been when it's become one mega organization and that maybe people don't trust that organization we need to diversify the different sources the reason that some of these more anti-oriented vaccine groups are getting so much traction is because they can have 100 people where we have 10,000 in the pro community and those 100 people will splinter into 10 different little groups to be there for all the different questions and say we hear you we're not doing enough of that we need to diversify there's also I mean there's an awful lot of focus on getting one single message the public doesn't want one single message they want a message that's relevant to their lives and there's a lot of different experiences out there so I think it's not I think it's everyone in different ways from you know employers and in companies looking at their employee base as a community to schools to you know health we have an opportunity in COVID to go out of the health system it's affecting everyone I mean taxi drivers barbers the shopkeepers everybody's talking about vaccines in a way that we have a huge opportunity really important message I think in terms of trying to offer nuanced responses to address different questions not necessarily a one answer fits all when it comes to these vaccine concerns Garth I want to come back to you here because obviously again the platforms Google YouTube can play a huge role here how are you thinking about partnering with health organizations to try to do some of the work that Heidi just talked about yeah we're partnering with a number of health organizations to get out information and to meet communities where they're in fact we announced with Heidi's group yesterday a campaign directed towards younger audiences 18 to 34 around vaccinations to get back to what you love campaign and it'll be a global campaign and our goal there is to again and to reach communities with trusted information science based evidence based information but that is engaging and then reminding people just the benefits of vaccines vaccinations COVID back the COVID vaccine in particular and how that can serve as an avenue for people to get back to their normal life and as Heidi said there's different messages for different communities you know things resonate differently and I think we want to work with community based organizations academic institutions experts like Heidi's group and others to be able to bring that information to scale to communities but at Heidi's point again is well taken I want to kind of emphasize and draw a line under that we have to work together we have to cross silos cross industries think uniquely think differently to meet the needs of communities and I think you know the campaign we launched yesterday to get back to to what you know campaign to what you love campaign is a part of that in terms of being able in industries crossing and working together with community based organizations Well, Jenya on that point in terms of the partnerships we've seen I think it's fair to say that we have seen unprecedented collaboration between public and private sectors throughout the pandemic and you could argue that that is what enabled the fast development of these vaccines which are now creating a path out of this pandemic What do you think has worked best when it comes to private public partnerships and how do you see these moving forward and beyond COVID? That's precisely right in that the public private partnership space has been incredibly successful and very active I am extremely heartened by the the actions across sectors media mobility healthcare systems large employers small employers coming together to understand their role in the system and I think in terms of the work that we have been doing with all of our partners and in bringing Heidi into more close contact with a lot of our partners the role of employers has been particularly exciting and I think very helpful in this particular space so there are a lot of signs that people trust their employers to deliver a lot of this kind of information which has been something that has been really very helpful for us at the forum to be able to mobilize chief health officers chief human resource officers of companies and have them on board and helping us to spread the message and answer questions and get out the most relevant information and so we're really we're really heartened I think that's been one of the most most striking and most satisfying pieces of working during this time is to be able to watch those partnerships come together and to find new voices that we can leverage and mobilize to get the information out and to basically explain that vaccines are one of the most effective public health interventions that there are and it's never been more true I think than during this period of the COVID pandemic Julie you made a similar point sort of looking ahead in terms of preparing for what could be the next pandemic or the next crisis in health what steps can countries take at this point to not only recover routine vaccination programs but also ensure that they're better prepared should a crisis like this emerge in the future Thank you for emphasizing the vaccination at base case issue I'm aware that some 28 countries or regions have temporarily suspended their measles and other childhood immunization programs measles is as transmissible if not more transmissible than SARS-CoV-2 and I predict we're going to see measles outbreaks as kind of the canary in the coal mine of a failing immunization system so I think first and foremost countries do need to reinvigorate their base case pediatric immunization programs and then of course there are adolescents and adults that are succumbing to vaccine preventable diseases or at risk for them so that's the front line of health protection in most countries and we need to make sure that we don't let that front line fail while we're working on the pandemic but beyond that I think there is in a sense the opportunity for a global mind shift to really recognize that biosecurity isn't a once in a generation or a once in a century issue it's something that's going to be part of our world our communities our businesses our societies and certainly our governments so in the same way that we all understand the importance of national security and investing in the efforts that are necessary to protect our countries we need to think about biosecurity in the same sense all of us in a multi-stakeholder way need to prepare ourselves that the level of investment that we need to secure the doctrine of biosecurity which is basically invest more to try to predict where these things are going to happen be prepared to preempt them at their source improve and modernize surveillance systems so we know when something has happened and we can get on top of it and then work on the nuts and bolts the operational requirements for containment and mitigation which is of course the face we're in right now those are heavy lifts but it requires a different mindset and a different level of investment and I think we're ready we need to really now tip into a state where we're much better prepared for the future events than we were for this one let's talk about that preparedness Abu you talked about what UNICEF is aiming to do to better ensure more equitable access in the future what help does UNICEF need to meet its goals I think it's it's not just UNICEF I think it's thinks it's really you know building back the health systems better you know needs basically support first of all there needs to be commitment from those countries themselves and that they talk about financial commitments of governments in particular in low and middle income countries to really strengthen them their primary health care systems so that what Julia has talked about in terms of surveillance you know in terms of being able to respond prepositioning you know stocks of vaccines and medications you know in case if you have a pandemic that you can basically respond and not necessarily you know diverting the entire resources but it's financial of human resources you know to just another pandemic so we shouldn't be trading of pandemic for another pandemic because as we have said you know means this is probably as much as transmissible even if not more than COVID-19 and is epidemic point disease so in that regard I think financial resources are important I think the governments cannot do it alone so there should be a way to public-private partnerships to basically contribute to that as well and really making sure that you know the relevant systems across the globe are basically prepared and not just prepared in one part of the planet and the other part of the planets are not really prepared as I said at the beginning it doesn't matter if the country reaches 100% of immunization coverages if the rest of the world you know is not basically able to do so because variants in terms of immunization or for diseases were happening anyway and if a new variants comes out for which the vaccines are basically not working on you know then this basically means even the country has been vaccinated and has a coverage of 100% gets back to square zero because they have to restart again with the new variants and then finding new vaccines for against those new variants and that is one of the reasons why I think there needs to be international solidarity of making sure that we are getting prepared for the next pandemics because there will be next pandemics coming anyway Well I think that's a great note to end on right where we started that nobody is safe until everybody is safe when it comes to COVID and when it comes to other health threats around the world so I want to on that note wrap up this panel I think one of the key takeaways here is that this should be seen as an opportunity COVID-19 as an opportunity to build trust in our health systems to build trust in vaccines and we also can't forget that there are many other health risks and health threats on the agenda we can't forget about those as we try to combat COVID-19 so I want to thank our panelists Dr. Abubakar Campo Heidi Larson Garth Graham Julie Gerberding and Genia Dana it's been an absolute pleasure thank you so much for watching


Okay, so I have said in the past that the first steps to starting a So solopreneur business self employed service professional is not to create a fancy website. I even said to don't create a website don't create a brand at all, but I just encountered an example today that I want to share with you that I thought was so effective because it is so simple. But it is aligned with how we get clients in the beginning, our first 50 clients are first maybe even 100 clients. Right. So, let me show you this example. I want to just encourage you, especially those of you who are just starting out or who are getting frustrated with, do I have to build this really big fancy website or what what what's really the first Check out what Chavorn has done here. So I'm going to go ahead and share my screen and you can see her website right here. All right, so look at this. This is a one page website. It's got her name in our business names got it gives you a feel for what she wants to do with the work that you do with her. And so it's got the simple, you know, beautiful image in the back. You know, simple, clear headline. That's what you know that's the point. And you know this is what you know this is just a few just a few paragraphs if you want to know more kept updated just click the link below and I'll be in touch. There it is right there you can sign up for her. You know email list or contact her. And then there are the social icons at the bottom now personally what I would probably do is, is make the social icons bigger so I want people to, to really connect with me, because if I'm going to have a simple one page website. I do want people to feel like they can get to know me a little bit better and I think the social posts are a great way to get to know Shavon better so I went ahead and click on these three links and I just want to show you here. We'll just look at her Facebook first Facebook's great you know she posted not too long ago. So she is still active. You know, she's promoting her workshops and things here so that's cool. Her Instagram is also, you know, regularly updated. You know she's got not just images and posts and she's got actually for 500 some followers she's getting she's getting a lot of good good traction on her posts, and she's got videos, which then everyone I hope you're all well. This is just a quick reminder that I'll be doing another sunflower session on this is great. I mean this is so simple. It gives you a feel about what she does. She of course also has a LinkedIn, which her LinkedIn image is you know on brand with you know what her website is very simple. And, you know, I probably wouldn't recommend that she say visit her website because website is really the point is to have people connect with her on social in my opinion is really what most effective thing is. She's got the featured LinkedIn post here. This is why I do what I do you know so it's, I just wanted to show you all that this is so such a simple way to start a business and it's effective. It's effective. That's the point like you don't need to pay somebody thousands of dollars, or to, you know, try to frustrate yourself by trying to do it yourself to have a great fancy website. You're you're you're feeling intimidated by the project you're you're afraid whether or not people are going to like it and, of course, the more fancy your website is the more it's likely to break and have, you know, security issues or or or bugs or whatever it is and it's like such a simple thing. You can do that and get your first 50 hundred clients maybe more maybe that's all you need because remember most of the clients you're going to get are through word of mouth anyway. So why are you working so hard to have a fancy website. You might say, Well, George, I thought you want us to create content and, you know, do this and that blog and all that. Yes, I do. But you can at first create content just through the social channels. You know, you can have a very active Facebook page and Instagram page and YouTube channel, you could post on LinkedIn, you could tweet whatever you want to do you create content consistently through the websites that people visit anyway, Facebook, Instagram, YouTube, etc. Why do you need to have such a fancy website. Well, George, what was SEO search engine optimization. Yes, of course, eventually you will have a website you will have posts on your own blog etc. I mean, technically, what you're born could have done is just have a two page website. One is this, this main page and the second page is blog. And that way she can start blogging on your website and building search engine optimization through her blog posts. Right, because search because blog to search engines love fresh content, and literally two page websites all you need your homepage. Hey, connect with me and show my email list here my social icons to check out what I do. And that's my blog, and that's for SEO or people can just read her best articles or latest articles. That's it. So simple. I love it. I love it. So, she warned I hope it's okay that I highlighted you in this video I wasn't planning to be honest to making a video today but I just saw this I'm like this is such a great simple model for for all of all of us who are starting out or who are just overwhelmed with websites. So I hope this is helpful and I will also put a link below to my blog post about first steps to start a solopreneur service based business. What my one of my main points there was to not make a website, but this would be an exception that I would give. So I'll put that link below and I hope this is helpful. Hope this is inspiring. I'll see you in the next video for those of you don't know me I'm George cowl authentic business coach I love talking about how do I build a business where we are really coming from the heart, not just saying we're coming from the heart and still doing mainstream marketing tactics but really coming from the heart from a pure intent in our marketing to serve to bless to express ourselves genuinely authentically. So, anyway, I look forward to seeing you in another video. Take care.


Thanks for coming to my session. The topic of my talk is an algebraic approach to functional domain modeling. I start with the discussion of domain models, what they are because often I find that there is a confusion among programmers regarding what exactly constitute the domain model. Does it belong to the problem domain or it belongs to the solution domain. So I start with what are domain models and how we realize them as part of our solution architecture. The focus of this presentation will be on how domain models evolve in the solution architecture as piecewise composition of purely functional components. The focus will be on pure functional programming. I am not going to introduce any object oriented techniques here though in reality you will find most of the domain models being implemented using object oriented techniques. I will use pure functional components and compose those components to build larger ones which will model larger domain behaviors. This composition can be algebraic. I will define what I mean by a domain algebra and discuss how we can use algebraic techniques to build larger domain behaviors out of smaller ones. So domain modeling, actually functional domain modeling. What exactly is a domain model? This definition is from Wikipedia and I actually like this definition a lot since it highlights the defining aspect of what a domain model is that it is related to the problem domain and how the artifacts in the problem domain interact there to produce the correct domain behavior. When we refer to the artifacts for domain model we refer to the artifacts as they are in the problem domain and as a solution architect it's our responsible to map them to appropriate abstractions in the solution architecture. So you are telling I will be using the functional programming patterns, functional lengths as I call it and I will take some sample use cases from the real world the ones I have actually implemented and will transform the domain model into functional patterns into functional artifacts using the principles of functional programming. So there are two aspects to this. The first one is to build larger domain behaviors out of smaller ones. This is what exactly we want to do and the next part is how we want to do this. We want to use function composition as the secret sauce and by function composition we mean functions composed when the algebra of types align. I will be using a statically typed functional programming language Scala and I will be relying solely on the algebra of types to demonstrate how we can have functional composition to build larger domain behaviors out of smaller ones. Quite some time back Marius Eriksson of Twitter wrote this paper, your server is a function. What he meant is that all the bunch of servers that Twitter wrote those those which delivered services he distilled the architecture of all the Twitter servers into three separate abstractions. It's mentioned here those are the services, the filters and the futures and these are the abstractions which happen to align beautifully with the style of functional programming. They compose algebraically and he mentions that these three abstractions gave them the substrate for building reactive servers. Very recently he wrote one other article where he mentioned about the same three abstractions, same three functional patterns with which he demonstrates how they built large scale servers in Twitter using the principles of functional programming. Higher order functions, this article explores three specific abstractions that follow the style of functional programming, future services and filters. So if Twitter, Twitter delivers a bunch of services and the Twitter engineers can model them as a function or a bunch of functions, can we model our domain model as a function? Possibly an unrealistic oversimplification, can we model them as a collection of functions? For some simpler domain models possibly we can, but in the real world a proper domain model consists of a collection of smaller simpler domain models each of which we call as bounded context in the parlance of domain driven design. So one domain model is composed of a bunch of bounded context and the entities you define the value objects you design, the artifacts you define and the domain behaviors you implement, all of them apply to one specific bounded context. You cannot have entities spanning multiple bounded context, you cannot have domain behaviors that span multiple bounded context. So bounded context we call it as a specific unit and the domain vocabulary which each individual domain model has applies only to a specific bounded context. Later we will see that the bounded context is our unit of an algebra. So this part is clear, right? One domain model can be thought of as a collection of multiple bounded context. So loosely in terms of mathematics we can define it like this. A domain model can be considered as a union of multiple bounded context and what is a bounded context? A bounded context is a set of coherent modules. So we can define a bounded context as a set of modules parameterized on a set of types. Each module does a specific use case, each module does some specific collection of domain behaviors pertinent to the bounded context itself. And what is a module? A module is a collection of domain functions subject to a list of business rules which we call the predicates. The predicates of the business rules which need to be satisfied when we can say that the function works correctly or it returns the specific error that it is supposed to do when a business rule is violated. So fx is a domain function based on an object of type x. There can be multiple types and the important part is that each of these functions compose with other functions. That means it is closed under composition. When you compose two domain functions you get another domain function which belongs to the same module which belongs to the same domain. So this is how you evolve smaller domain behaviors into larger ones. So in summary we have the functions or morphisms as we say in category theory. We have the types which are modeled as sets, composition of functions and some rules or laws which are the business rules which need to be honored. And all of these together we call as domain algebra, as the algebra. So now if we go back to our definition of domain model algebra and algebra is composed of a set of types, functions and laws. We want to make these types explicit. Why do we want to make this explicit? Because we want to encode. We want to encode quite a bit of domain logic as part of the declared types, as part of the user defined data types that we will be defining. We can have type constraints which will once again encode some amount of business logic as we will see shortly. And the third most important point is that you can compose this algebra in terms of already existing algebra. In functional programming libraries you will find lots of algebra existing like monads and monoids. Those are all algebra which you can use as part of your own domain algebra to make your algebra richer. Instead of reinventing the wheel, if you reuse those algebras, in that case you get verification for free. Because those are algebras which have certain number of laws and those laws have been verified. So once you can incorporate those as part of your domain model, you get those verification also for free, verifiable. This is the next part. When you encode something in terms of types, if you can define the laws of the types, in that case you have a verifiable algebra. If you happen to use a dependently typed language like Idris, then you can encode more of business logic as part of your type system. And for those properties which you cannot encode as part of your types, you can define algebraic property based testing rules for that. You can define business rules properties and there are libraries using which you can encode those properties, generate random data and do an exhaustive amount of testing which you can never achieve by going for manual testing. So let us consider an example, problem domain. A problem domain from the financial markets, we will consider securities, trades, executions as they happen in the stock exchange. We consider some entities, account customer trade bank, these are some sample entities, some sample operations which we will model as domain behaviors. Note we are still in the problem domain. These are entities, those are vocabularies right from the problem domain itself. We have not yet modeled anything in the solution architecture part of it and we have some laws. Stock market has some laws, trading has some laws which we need to honor if our domain model needs to be a successful one. Now we try to map these into the solution domain. The domain behaviors can be straight way mapped into functions from types to types. The domain entities, these can usually be mapped to some algebraic data types. Once again we call them algebraic data types because they honor some algebra and we can do some algebraic manipulation using those data types. And we have some business rules or invariance to model the laws. These invariance can be modeled either as part of the type system as I was telling or we can write property based testing rules which will verify the properties once we run them. And these are some examples of existing algebra, monoid, monads and those which we will ultimately incorporate into our model to make the domain algebra of our model richer. And together this entire thing forms our domain algebra. Now let us get back to the earlier slide which we saw. So now we can replace this bounded context by domain algebra. So this makes it clear that the bounded context is the unit of our domain algebra. Now let us look at a sample use case. This is from a real world use case, real world system, simplified, but the basic concepts will be clear. Let us consider a sequence of actions which typically take place in the day of a broker. Some client places some order. It can be in any format because various clients, some clients send Excel, some clients send text files. So next we transform them to our internal domain model entities and place for execution. We need to transform the flexible formatted orders into some of our internal domain model entities or value objects. And once we have done the transformation, we place it for an execution in the market. The orders will be executed in the market and will result in trades and allocations. Trades will be generated and they will be allocated to specific client accounts. So this is a very simplified version of a trade being generated from client orders. Now let us try some functions to model the three sequence of actions. Client orders, it is as intuitive as the problem domain which we saw. Client orders is a function which takes a client order sheet which models the flexible format of the client and it generates a list of order. Order is one of our domain entities. So this gives us a list of domain artifacts, a domain entity. Then we have the execute. Execute function which takes a market which denotes the market where the trade will be executed, where the order will be executed, the account order and it generates a list of executions. And then the allocate which allocates those executions to specific customer accounts and generates a list of trades. So note that each of these terminologies come from the domain directly. This is what we call domain driven design. It is part of the domain vocabulary and if you show this function prototype to a person who is not a programmer but who understands the domain, he will be able to correlate what exactly is going on. This is some constraining of types. As I was telling that we can have some business logic or domain behavior encoded as part of the type system. When we have an execution, the execute method, execution occurs on the broker account. So I can constrain the type of the account to be of type broker account in the execute function. So what this does is the compiler does the checking that nothing except a broker account can be passed on to execute. And the second advantage which we get is that we don't have to write any tests which verifies that the account passed to the execute function is a broker account. So this is one of the sussing ways of encoding business logic or domain logic as part of type constraints. Similarly, the next function allocate, allocation is done on client accounts, trading accounts, trading account of the client. Similarly, we can encode this logic here as part of the types also. So going back to our simplified model, what we have done till now is we haven't defined any of the types. We have just taken some types out of thin air using domain vocabulary. We just know that in order to allocate, you need a list of accounts, you need an execution and it will generate a list of trades. But I have no idea what an account is or what an execution is. So I have taken some types out of thin air. We haven't yet written a single line of implementation and the type names which we have used, types and the function names which we have used come directly from the domain vocabulary. So we have the types which are the domain entities, functions operating on types which are the domain behaviors and some of the laws or business rules which we will see later how to encode. Already we have encoded some laws through type constraints but we will see how to enforce the other laws which we cannot verify through the type system. And in totality we call this the algebra of our API because these three functions when joined together will give me a trade generation function. We haven't yet seen how to join these types together or join these functions together. Let's put it within a module. So we have a module which generates trade that's modeled by the function trade generation but we haven't yet seen at the implementation of this function. We have only seen the declaration of the functions or the algebra of the functions which we will use to define the enhanced domain behavior of trade generation. This is in essence what I call the algebraic design. The algebra is the binding contract of the API. We haven't yet spoken a bit about the implementation of the algebra. We are still lying, we are still in the land of the algebra only, the interface only. In fact, if we have an algebra we can have multiple implementations for this. For example, for various types of markets the implementations may vary. So that I call the interpreter of the algebra. So one algebra can have multiple interpreters and one of the core principles of functional programming is to decouple the algebra from the interpreter so that we can evolve both of them independently. Now let's try to do some algebra on these functions which we defined. This is the original function list which we defined. We make some algebraic manipulations and now we have slightly changed function prototypes. We have removed some of the currying and this is the signature, this is the algebra on which we will do further enhancements. If you look at the simplistic definition of function composition, functions compose only when types align. Here you see the first function returns a list of order but the second function takes an order as an input. It doesn't take the list of order, it takes an order as an input. These are some of the pattern. Similarly for the second one we have the list of executions and executions. So what we need to do is we need to change these functions together. Our ultimate intention is to change these functions together so that together they can generate a trade for me. So somehow we need to align those types so that I can apply function composition on them and ultimately design the entire function. Now this pattern, remember this pattern, I will, the three functions are a generalized version of or specialized version of this general problem. It's a function f which takes a to list b, then g takes b to list c and h takes c to list d. A problem of composition with effects. It's not simple composition. We need to compose these functions together in presence of the effects. List is an effect, effectful data type. What is the effect? The effect of aggregation. Similarly option. Option is an effectful data type which gives you the effect of optionality. Now in computer science we often see that some problems are solved more easily if we generalize them. So instead of solving the problem of composition with effects using list, why don't we try to solve it using a generalized version of the effect of list which is a monad? So our functions generalize to this thing. If we pass for m as a monad, we have a function f which takes an a and gives me an m of b. A function g which takes b and gives me an m of c. Similarly h takes c and gives me an m of d. Now it so happens that every functional programming library contains an aggregation algebra called clisly. Clisly is an abstraction for the computation a to m b. And in clisly we have we can define a combinator and then it's named and then usually which takes one more computation b to m c and returns you an a to m c. Exactly the composition that we are looking for. Instead of writing ourselves we see that this is already a part of a verified algebra which comes as part of functional programming libraries. So we can use this combinator and then on a computation a to m b and b to m c and we compose them together and get a to m c. We call this effectful function composition and note that and then we have a for and then we have a constraint that m has to be a monad and that's that also exactly fits our requirements because we are trying to compose lists the effect of lists which is a monad. So in that case we need to change the algebra of our function a bit. So in the case of what we did earlier we will model it in terms of the algebra of clisly. It's basically the same thing as earlier we have just introduced the algebra of clisly. Client order sheet to list of order this is now changed to a clisly abstraction. And now we can just follow the types. And our domain algebra is now composed with the categorical algebra of a clisly arrow. We have imported the algebra of clisly arrow incorporated it as part of our domain algebra. And what it gives us is it gives us an easier implementation of the semantics of our domain algebraically. Note we are trying to compose these three functions we don't have any of the implementations. We don't have any of the implementations of these three functions and yet we are trying to compose these together to form a larger behavior. And this is what we get you just since we align the types based on the semantics we needed and we got the algebra of clisly for free. We can just use the end then combinator to write these three lines which is the complete model for generating trade out of customer orders via some intermediate processing and execution. And despite the fact that we didn't have any of the function bodies we have the complete function body of this function trade generation this is all you need. And the best part is that since we use the algebra of clisly and we use the monad yes client yeah client order no no client orders is the name of the function the name of the function yeah ok. And the best part is that since we use the algebra of clisly it does the does the entire error handling for me. I don't have to write any specialized error handling to break the chain in case any of the steps fail. All of those are encapsulated as part of the clisly and monad algebra. So client orders and then execute and then allocate this also rolls in very nicely with the domain behavior sequence that the problem domain mandates. So this is one example where the implementation follows the specification the specification we defined earlier as the three steps these three invocations model the specifications to the T and we get the ubiquitous language for free. This is this resonates with the domain vocabulary as I was telling and if you show this example to someone who who doesn't understand programming you will be able to figure out what's going on as far as the business is concerned as from the business point of view. So this is an example of an implementation which is which is algebraic and functional. We just use pure pure functions and we used the compositional power of algebras. Now we are not done yet we have used lots of effect effectful functions they are effectful function composition using clisly but we haven't yet done anything which will allow us to customize the error handling logic. In the earlier example if there was any error if there was any error in any of the steps then the sequence will break automatically that's what we want but we would also like to report some errors to the user as to what exactly happened. So our algebra still doesn't allow customizable handling of errors that may occur within our domain behaviors. So we need more algebra and more types because our first attempt will be to encode any sort of effect using the type system if we can if we can't then we will resort to other tactics note in in these functions we were returning list of order list is the return type constructor. What happens in case the operation fails we will implement error handling as yet another effect which we can stack on to the existing existing effects. So what this gives us is it it doesn't have side effect it's pure and functional it blends very nicely with our explicit algebra that we published and it's stackable with the existing effects. So we stack list with some other effect called M this is the strategy that we will going to follow we will see that M can be a monad M has to be a monad and how many of you are familiar with transformers monad transformers. Just a brief a brief introduction when we have these kinds of effectful types if we don't use monad transformers then we have to test for comprehension in order to get to the desired type here it's string or option a it's a disjunction with the value being an option. So if we do a monadic comprehension on this first we will the first step will take us take us inside the disjunction and the second for comprehension will take us to the option. So ultimately we can use C here at this level of indirection. So you can imagine the imagine the plight if it were much more complicated then you would have a list of nested for comprehension. We solve this once again by using monad transformers which which collapses the monads you give and gives you back a single monad. I am not going into the details of this example but here option T is a monad transformer which actually fuses the two monads and gives you a single one. So that you can now get to see using a single for comprehension and the essence of this entire exercise is we get a richer algebra. So we use a list transformer we use a list transformer what we what we ideally want to get out of here is that we want to get a list of order in case the function goes ok or otherwise we want to get an error that is what list transformer will give us. So earlier where we had the list we now enrich list enrich that argument with the algebra of a monad transformer and we change it to something we call valid which indicates if the return type is a valid artifact or not and what is valid? Valid is the fusion of the two monads. So what we have here is we have we have kept the kept the signature of our function minimally impacted by this change. We have added the capability of customizable error handling without any significant change in the method signature or as we can see later in the implementation. It just enriches the algebra of the return type and the algebra will encode the logic for handling the error. So you have a small change in algebra the list is changed to valid now which is basically a list transformer. But it is a huge step for our domain model because our domain model can now handle exceptional conditions can now handle errors and report it properly to the user. So earlier it was like this without the error handling part and with the error handling part it is just the encoding of the list T. You just wrap it within a list transformer and you get the desired effect of handling errors. So within as part of our domain model we used some of these we did not use future till now of course but we used some of the some of these algebra of types to encode our domain model and the beauty of this is that these algebras compose composition. You can stack one on top of the other to get the desired effect and by doing this you are also encoding some part of business logic or domain behavior as part of the stack. So the algebra is compositional it offers a suite of functional combinators you can define functional combinators of your own or you can reuse the ones which you inherit from the algebras which you reuse. Handles edge cases so that your domain logic remains clean. Those combinators which you get from monad or clisly those handle the edge cases. So your code your application code remains clean. Your application code doesn't contain the litterings of error handling code and implicitly encodes quite a bit of domain rules. So this is the algebra. We have the functions. We have the types. We have the composed domain behavior. Now I was talking about some of the business rules or domain rules which we need to honor and some of those which we cannot verify as part of cannot encode as part of the type system. For this we can have property based testing where we define algebraic properties for our domain model for the business logic and we use property based testing libraries like quick check or in Scala we have Scala check. We can use these kinds of libraries to define some of the business rules. These are some of the laws of the business which I defined. And if you run through all of the run through those libraries they will report errors. They will generate data based on distributions and will report errors to you. So domain rules as algebraic properties it's part of the abstraction equally important as the actual abstraction because they help you verify the laws of your abstractions laws of your domain and they are verifiable as properties. A simple example from our domain property based testing you can define generators for all actually will generate data for you and you can it's actually powerful very powerful. And if you are more interested in this topic I have written a book which came out very recently functional and reactive domain modeling. It discusses algebraic and functional domain modeling as well as how to make your domain models reactive using the book is the book is written using mostly Scala and Acca. So and you will find lots of similar examples in the book. That's all I have. Any questions? Clarify a bit I didn't get the question. Multiple domains means overloading function overloading. The argument types are different you mean? Yeah you write separate functions for that. If they are semantically different then you can write separate functions or you can use function overloading also which I don't like much but and talking about modeling related functions or related functions on a single object there are actually some of the advanced patterns like type classes which you can use in order to model a group of related functions. Yes actually the book by Eric Evans it's one of the classics. It's one of the classics of domain driven design to understand the subject. And the book is written entirely in the code examples are in Java and uses object oriented techniques. What I have done is I have been thinking about this for quite some time now that how to model domain driven design in terms of functional programming and exactly not everything is pure in the real world. The two main techniques that I used to circumvent this is one of them is free monads. With free monads I define the data type, I define the algebraic data type and then define the interpreter and the other one is plain monads, monad transformers. But once you hide them as part of your library you can always expose some good APIs. Modeling UI. Yeah but if you can define an algebra for it then it should not be a problem. In UI there are maybe some specific nuances. I'm not a UI expert or I haven't designed much of the UIs but I think there are some very cool libraries in pure script which uses functional programming for designing UIs and Brian is not here. Brian is giving a workshop on pure script developing user interfaces using pure script I think tomorrow or day after. So that's worth checking out. But the most important thing is to define the algebra. If you can define the algebra in that case you should be able to model it as part of your implementation. I'm not sure I get your question because function, you can encode the logic as part of the body of your function. If a function returns something you can always encode it as part of the logic. If you can encode it as part of the type, if you model the function as a parametric one or polymorphic one then you have a type as a parameter. Then you have types as parameters to the functions. So that if you can always constraint, you can define constraint genericity of the types, you can resort to parametricity and things like that to define the constraints at the type level. If you don't want to do that or if your logic is such that it cannot be constrained as part of the types then you can always constrain it as part of the logic of the function. If you have the logic of the function clear then why it should be difficult to model? I think we can take it offline. Any more question? Yeah, actually it depends because Eric Evans book discusses the fundamental concepts of domain-driven design. The basic terminologies like bounded context and the repositories originated from his text.  After that you can read any of the books. So your book about functional domain modeling, so is it only applicable to Scala or we can use other languages like Haskell, for example, if it's using a lot of bounded types, bounded polymorphism instead of type classes then maybe it will be difficult to understand. I just want to know. Yeah, the concepts which I present in the book are applicable for any functional programming language as long as it's statically typed. So Scala and Haskell are good examples. The examples which I give are based on Scala but you can very well translate it to Haskell. It can be done quite easily but the constraint is that it has to be a statically typed language because most of these things which I do are based on type polymorphism and type constraints and parametricity, so these make more, possibly these make more sense in a statically typed language. Subtyping, no, no, no. Almost, yes. Actually, since it's based on Scala, I have subtyping in some of the cases because some of the cases because they are naturally modeled as subtypes, for example, type classes, for type algebraic data types, they are naturally modeled as subtypes. Still we have better encoding which we hope to get. Okay, thank you.


The Olympic Cooperation here is an opportunity for a U.S. tank company team and a Greek battle group to come together and learn how to conduct force-on-force operations and live fire operations with each other. Most importantly I think is that we develop at the soldier level is just an understanding of how capable each one of our forces is. You know, learn a little bit more about the tactics, techniques and procedures that each of us use, how we can integrate together. Demonstration of combat-armed firepower. Really enjoyed seeing armor, mech infantry, aviation, medical engineers, the communication systems and even the dogs out here today. What a tremendous display of what our two nations are capable of and the relationship that we have. Greece is such a strategic importance to the U.S. Army and to the United States. Together through further investments in interoperability, collaboration and your regional leadership, we will develop higher collective readiness. And this exercise demonstrates just how capable you are and how quickly U.S. and Hellantic forces can integrate and fight together.