Hey everyone, it's Gabrielle and today I'm over here at Oxford Toyota for our pre-owned vehicles of the week. Now this week we have three certified pre-owned vehicles that we are going to share with you. All three of these are Toyota brands. So let's go ahead and talk a little bit about the first one. This is a 2015 Toyota 4Runner Limited 4WD. That exterior color is called Blizzard Pearl. Now, like I said, it is certified pre-owned. You are going to have a clean car fax. There's 20 inch alloy wheels. You're going to have a sunroof, navigation, there's Bluetooth, heated leather seating. Now that interior is in a black leather, mileage is $82,722. The price is $31,669. It's one of the 10 best values in the nation. For our second vehicle, this one's a 2018 Toyota RAV4 XL-E. It is all-wheel drive. That exterior color is called Black Current Metallic. Vehicle is certified pre-owned. You're going to have a clean car fax. There is 17 inch alloy wheels. There's a sunroof. You're going to have Bluetooth backup camera. That interior is in a black. The mileage is $53,597. The price is $22,493. It's one of the best values within 100 miles. Now for our last vehicle, this is a 2019 Toyota Tacoma TRD Sport four-wheel drive. Exterior color is in a magnetic gray metallic. The vehicle is certified pre-owned. You're going to have a clean car fax. One previous owner, 16 inch alloy wheels. You do have the Entune Audio with a 6.1 inch touchscreen. There's Bluetooth, also backup camera. That interior is in a cement gray. The mileage is $19,189. The price is $37,895. It's one of the lowest mileage, best values within 500 miles. Now if you all have any questions on any one of the three I just went over, let us know. All of our contact information will be listed right here. Thanks everyone. We'll see you all soon. Bye.


You have just been given five to ten minutes. Yeah, without wasting time. I don't have slides because I was just given these the last minute to just make comments on. Let me try, first of all, to contextualize the M-Pesa or what we call the mobile money, M-Pesa, which means mobile money. Mobile money or M-Pesa came into effect in March 2007. And within this time is when Kenya was trying to finalize its vision 2030 or the long-term development plan. And by the time M-Pesa was thriving, that is, you know, in the period of 2008 up to now is the same time that we had the financial crisis. And for Kenya, even with this financial innovation, I think we went on to move smoothly. In the context of vision 2030, there are various key objectives that have been set. And one, I'm raising this so that you can see where M-Pesa is filling the gap that have been mentioned. One was to enhance financial inclusion. And more importantly, at the foundation of M-Pesa was the issue of also poverty reduction element. And in saying that you want to enhance financial inclusion, it's not saying that the platform of M-Pesa is the one that is actually bringing in financial inclusion, but it's saying that it's providing a platform for enhancing financial inclusion in the sense that it's just not a means to an end. It's not a means to an end on itself, but it's facilitating, achieving that objective. Two is to say that vision 2030 aims to increase mobilization of deposits to about 80 per cent by 2030 and at the same time to enhance the channels of savings to investment by about 30 per cent. And at the end of the day, also financial stability. So when you look at M-Pesa, and you think about it is like a mobile network operation, you find that it works with the other banking institutions, banks especially. And more so with working with these banking institutions, what we find that it's able to provide the users, yeah, to get or to complete some basic banking transactions. Say for example, opening an account, what we've seen is that there are all these sort of requirements that are needed, but now you can open a bank account with your mobile phone. And the thing is that what is in built-in net is that in recent period, you have to kind of go through a vetting process for you to register your SIM card and the like. So it's also facilitating the fact that you are doing due diligence to the customers. You can get money from money transfers even between your bank account and M-Pesa account, which means that you don't need to go queuing in the bank so that you can get money and make your payments. But at the same time, there's a very new element with M-Pesa and that is that you can borrow from as retail as I think 100 as much as you want to borrow. But more importantly is to say that when we think about the mobile money and the arguments, you know, whether there are risks to having the mobile money is to say that mobile money is equated to some cash which is deposited with banks in the sense that this mobile provides us the work with the various agents who take the deposit as whatever point. And this is what facilitates to make up the mobile money units. Thinking about the population density and what has been brought out, SafariCom has kind of about 17 million or above subscribers. And out of this, we find that 15 million or more half M-Pesa accounts, which means that we have quite a wide coverage in terms of usage of M-Pesa. And also to say that we have evolved from being a money transfer because that's how it started to being a payment platform. And as a payment platform, it means that you can use it to pay for your utilities. You don't have to go queuing to pay for your electricity. You don't have to go queuing for your cable, TV or water. And this has reduced the cost. In fact, one of the things we were told by one of the banks is that this could have reduced the cost by about $3 per transaction, which can be used by the households for doing other things. If you look at the period when M-Pesa has been in place, and I'm not going to attribute all the achievements to the M-Pesa, you'll find that in terms of financial inclusion actually we have achieved quite a lot, access to form of financial services has increased from about 18.6% in 2006 when the first FIIN access survey was done to 22.6% in 2009, again the second time of FIIN access, and now to about 35% with the recent 2013 FIIN access. But looking at it from the exclusion point of view, we find that at the moment we have an exclusion of about 25%, which means that taking care of both the formal and informal, we have increased the financial access to about 75%. Now we're having issues in terms of maybe impact on financial stability, and are we regulating this mobile service. The arguments that, well, this is just taking about 0.2% of the total deposits, and so it is not as vulnerable to the banking institution as one may think. But after 2008 when banks raised issues and said, oh no, the platform may have its own risk, and that was not found to be the case, we've seen several attempts to ensure that there is no risk as far as financial stability is concerned. And one of the things we find is like a self-regulation. ZafariCom has a well-inbuilt surveillance mechanism to deal with the anti-money laundering and terrorist financing kind of activities, which it trains its agents and also its staff on how to manage, and you find that there are all these kind of restrictions that are given as far as sizes of transactions and the number of times that you're going to start in a day is concerned. At the same time, ZafariCom also has a practice of know your customer element, which again, it gives training to its agents and again to staff, and this in itself kind of protects it from getting into issues of being misused as a process. But in addition, in recent period, you find that central bank has come up with the regulations and guidelines, we have the e-payments guidelines of 2011, and we also have the retail electronic transfer guidelines of 2011. And these are inbuilt in the national payment system Act of 2011. And within it, or rather with this, regulations were brought in, regulatory framework was brought in in 2013, and this in itself is supposed to ensure that it brings issues of payment system, issues of payments to one regulator, and that is the central bank. Of course, one element with the micro loans is this increasing the level of NPLs, and a comment from the banking institutions, especially those which are operating in collaboration with the MPSA is, yes, we are on a learning curve, and initially there could be a slight increase in NPLs, but the argument is that you need to give time to, because you are including those people who have been excluded, so they have to learn through the curve and understand how to manage their loan accounts, but at the same time, they want to revisit the credit bureau regulations to ensure that you don't scare out this new team that has entered into the banking system.


Model Predictive Control, MPC, has gained significant attention from the research community for energy management in buildings due to increased computational power and availability of building data, finding successful implementation in thermal regulation, active energy storage systems, and renewable energy sources. A unified framework that fully describes and formulates MPC implementation is lacking, and this work introduces a common dictionary and taxonomy, defines the MPC formulation framework, critically discusses existing algorithms, highlights potential benefits of MPC in improving energy efficiency in buildings. This article was authored by John Lucas Aerial, Massimo Fiorentini, Alfonso Capozzoli, and others.


Hello everyone, I'm here with Joshua Collins running against Denny Heck in the 10th congressional district of Washington State Joshua Thank you so much for coming on the program. Yeah, thanks for having me Mike. How's it going?  What made you want to run? Well a number of things The biggest thing is just in my district. We are one of the most progressive and safe blue districts in the country and we have representative who Just won't budge on pretty much anything. He's a conservative Democrat and you know, he won't support Medicare for all ever He already said he'll never support it He won't sign on to the Green New Deal and just the giant issues that we're facing in this country are too important and too And we're in too much of a crisis to have someone who's not going to actually Help with an end it. Yeah, we've actually been following Denny Heck for quite some time on this show Back when he was asked at a town hall whether or not he'd support Medicare for all and he very bluntly said no So I've kind of watched this district for a while I brought on tambourine Borelli who ran against him as an independent in 2018 and now we're interviewing you so I Really hope that You're successful here because we've all been watching this district and Denny Heck is really one of the worst Democrats Like I don't think it's hyperbolic to say that he's extremely concerned if he takes corporate money And he doesn't represent the people of that district who as you said are incredibly progressive So let me ask you this there is a lot of candidates running in 2020 what sets you apart from other progressives? What are some key policy issues that you really will go into Congress fighting for guns blazing? Well, some of our biggest policy issues, I mean, I guess we have a lot of them Because we are pushing the Overton window with almost every issue When it comes to marijuana, you know, we don't just believe in legalizing it We don't just believe in you know Expanding the records of people who have been convicted of marijuana offenses we also believe in paying reparations to people who have spent years or sometimes decades of their lives in prison and That is so important to us Because you know this government has stolen Lives from people that is you know relationships ruined people's careers ruined and that is you know trauma that they will never recover from And I think it is only fair that the government pays for what it has done to these people and their families Yeah, that's actually really interesting I hadn't thought about that previously and my you know sense of what reparations Should be given out has kind of broadened like I'm definitely on board with reparations for American descendants of slavery I don't know how you feel about that as well. Awesome. Yeah, I I support reparations for the sentence of slaves and indigenous people both structural and financial Whatever we can get done. I I support it. That's great. Yeah So so people like you and also might revel to an extent have broadened my view of you know Who wish you'd be paying reparations to you know be at victims of war people who were victims of our drug war? I think that's really interesting So let me ask you about these things because you are basically a very staunch progressive But let's just go down the line here I want to put you on the spot and ask you some very specific policy questions And if you can give me a yes, no or a maybe on this This will kind of give people really good sense as to what you stand for so Medicare for all, right? Yes, and I also believe in erasing all medical debt. That's great. That's really great student loan debt cancellation I believe in free college. I believe in Giving stipends to students and canceling all student debt every single penny. That's great. How about ranked choice voting? Yes, I support ranked choice voting automatic voter registration, etc. And what is your stance on legalizing psychedelics? I Support legalizing psychedelics Same as many other drugs that we should have legalized for both medical and recreational use. That's that's excellent How about public financing of every single election across the country? I I support it fully. I They have a really good system in Seattle and I think we can copy that the rest of the country where they give you essentially a voucher where you can You know give it to whoever politician whichever politician you want and they use that and turn it in they get They get actually funding for it. So that's what I would like to reproduce across the country. That's great That's great. Um, how about Let's see here. I have a couple of different things, but I have it for Senate and House So I need to make sure I get the right one a federal jobs guarantee Yeah, I support a federal jobs guarantee and that can be a combination of things between Transitioning people in the military from fighting in wars overseas to actually bring them home and putting the work to work on our Infrastructure and also, you know getting people out and doing the work that is needed in this country to transition to green energy And you support a green new deal you support reparations for people who? Were locked up for marijuana possession and I'm assuming sales. So yeah, this is great I think that just looking at these types of policies you really see that you are different than Someone like Danny heck you're part of the new wave You're an AOC type of Democrat And I think this is really exciting for people But a lot of people currently they feel and myself included to an extent and I'm sure you as well Feel demoralized because it's really difficult to run a campaign against an incumbent Democrat because you are choosing to not take corporate money So it's a disadvantage that you're accepting but at the same time It's important because you're one remaining principal and to you're demonstrating to people that you're not going to be beholden to these large multinational corporations you're going to be beholden to the people So how do you run a successful campaign against someone like Danny heck who's backed by the establishment and you know financial interests when you Definitely won't be able to raise as much money as him. So strategically like what is your plan to beat him? The So of course, we're not going to raise a million and a half dollars But based on what I looked at with the other campaigns is you need about 10% to be competitive So our our goal is realistically we can actually raise about 300,000 But if we have a hundred if we have a hundred fifty thousand, I'm pretty sure we will win this So we you know we and we are on track to do that. We just announced Like seven weeks ago, and we're at over $20,000 already and this is Completely online. This is just people going on to my website and donating. We haven't held any fundraisers We haven't sold any merchandise anything like that and we already hit 20 grand and I'm not a particularly well-connected person So this is all just organic people go into my website and donating, which is You know, I think the new model where people Go straight to you. They they hear your message and they want to donate to you And if anyone watching does want to donate it's at joshua2020.com And you can also sign up to volunteer and get updates as well As far as our strategy our strategy is to build a coalition And that is you know, as me as a truck driver and blue collar worker I don't have the same perspective as everyone But I can bring people from other perspectives into the campaign as part of our campaign and that means having a kitchen cabinet for every You know set of issues whether it's LGBT rights indigenous indigenous issues You know disability issues, etc. And that is what we are doing and you know making sure that everyone's Needs are addressed by this campaign because it isn't about me and who I am This is about like who I am going to represent And so far we've had a lot of success and a lot of it goes to me you know making a lot of noise on Twitter about these issues and And that has brought The attention of you know people all over the country on to our district, which is very difficult to do So, you know, we are Getting people activated. We're also bringing a lot of young people into the process people who were too young even vote when Bernie Sanders ran for president and you know, we are activating people and You know, I the fact that we have well over 300 volunteers signed up already. I think speaks volumes for you know, how Far we can go, you know, we're gonna need a basically a small army to defeat Genesek And I think we're gonna get there. Yeah, that's impressive. You have 300 volunteers that really is Relatively large like it doesn't seem large in the grand scheme of things when we focus on like presidential campaigns But for just someone running in a district who is grassroots funded that really is impressive So kudos to you and I think that your Twitter game is helping honestly because I've already seen you dunk on Ben Shapiro You are calling out Democrats and one thing that I really like is you've been incredibly vocal about the weakness of Democratic Party leadership I know that you've talked a little bit about Nancy Pelosi's unwillingness to pursue an impeachment inquiry to Donald Trump I find this infuriating. So in the event you were elected, what would you do to help push? I mean, hopefully when you're elected Trump will already be out But how would you just in terms of putting pressure on Democratic Party leadership? How would you get them to do what progressives want if you're also balancing out, you know Committee appointments and you're balancing out, you know, trying not to offend them to the extent where they can marginalize you in Congress Like what's the right way that you think you can hold people accountable in power in leadership and actually get them to listen I Think the most important thing is first of all having a large voice online to give myself a way to bypass the media Deciding what the narrative is and that's why I'm putting so much effort into my Twitter account In it doesn't sound like a lot, but in six months I went from 34 followers to 10,500 and that is just me tweeting and saying my views I think that is an important part, but also just make the entire conversation public that way there isn't any any doubt on where people stand on this and Part of that is bringing up like who doesn't support something and who does on Twitter But also if if someone is going to oppose Incredibly popular legislation like Medicare for all X for example I'm going to go in their districts and hold town halls and their district talk to their voters Let them know this is where your your representative stands if they don't like it then I I guess I mean That's democracy right you if you actually talk to people and let them know where they stand because this is like their entire Plan is to hide behind key issues where they are good like LGBT issues, etc And then just completely hide from the media never talk about it or be very vague when they talk about things like Medicare for All like the Green New Deal and and just kind of waffle on it and be weak on it and just hide from it So I think someone like me who has no problem making a lot of noise and actually Doing everything in the public arena is what it takes to actually get people to feel at least pressure to support stuff because you know I I think these issues that we are facing you know climate change We're facing an extinction level event this is the actual apocalypse like coming for us and we have politicians who are You know too worried about the existence of the fossil fuel and industry and the profits of you know shareholders, right? And then we also have Medicare for All 45,000 people dying every year And they're too worried about the lives of the insurance companies rather than the people dying Um, and so I think you know, it's very clear where the people stand on this stuff There's polling um, and it's and it's just obvious on its face that these are good for us um, and so that is that is my whole plan is just to make everything public and keep everything out in front where people can see it so we actually bringing people into the conversation and uh Yeah, that's that's the whole plan essentially Yeah, that actually is a great plan because I think that if you kind of have your own like mini bully pulpit Then nobody wants to anger the person with like millions of twitter followers like aoc Even if she's a target of the right wing like you can see that Democrats when they often take like shots at her It's anonymously in a political article. So I think that kind of emulated that strategy That's a good strategy, you know, and it is a way to kind of move the needle in your direction And one thing that I find fascinating about candidates like you is that you're bringing in this new perspective You're younger. So like people like you and I like when we're older, we will witness Possibly the end of you know the habitability of our planet if we don't take action So this is a serious issue right whereas people in congress, you know, it's mostly Older people who don't really have to see the consequences play out I mean we're already seeing the consequences play out, but they're not going to see the worst of what climate change has to offer So I think that that is such a crucial thing that you're bringing You know in terms of just this perspective and also, you know being a blue collar worker talk about you being a truck driver because Um, if I'm a truck driver, I mean, I'm I just wouldn't want to run for congress in general So maybe I'm just biased but like I feel like you're you're going to be busy. You're traveling the world So wanting to run for congress would be like the last thing on my mind So what is it about truck driving and being a blue collar worker that made you feel as if this is what you need to do The biggest thing is France what happened in France with the yellow vests They we saw what happened when you have a liberal government try to um, you know transition to green energy without You know inconveniencing the rich and what that did was put the entire burden on the working class And it was specifically in France truck drivers who started Getting in the streets because they were the ones getting screwed over And I don't want to see that happen in this country. I don't want to see Um, you know a liberal government put all of the burden on the backs of truck drivers Welders and nurses and teachers rather than the extremely wealthy people who have most of the wealth in this country Who have profited off of things like, uh, you know burning fossil fuels And so that that's my whole purpose is to actually make the point that like If we don't address this and make sure that we are taxing the rich And that we are spending on our people and actually setting things up in a way that benefits the working class people in this country They're going to do everything they can to put the burden on us And I would like to oppose that now as a truck driver driving all over the country I've been all to 48 states the other two. I can't really get to with the truck But I've uh, you know, I I see right now automation is coming for us, right And it's being celebrated like this really great thing um Meanwhile, you have truckers, you know, some of you know in raging anywhere ranging anywhere from 20 to uh, you know 60 70 years old right out on this road They have put, you know years in some case decades of their lives into this industry They have put their bodies on the line. They have, you know, sacrificed their personal and family relationships to get people's freight across the country And then you have these companies like tesla Coming in and they just want to scoop up the entire industry and say, okay. Forget about the truckers. Let's uh Now all of this all of this money all of these jobs that were existing now All that wealth is going to be funneled straight to tesla straight to uber or whatever company automates the jobs away first and That is something that I think is just fundamentally unfair and that is what they want to do with Most industries in this country, um, you know low level coders You have uh, you know the entire customer service industry um, where you know companies are going to replace people with ai and That just basically leaves millions of people with no plan mostly high school High school educated people with no plan no jobs. No like no way to go forward And I think it's important that we have that perspective going to congress So that we don't have the same thing happen that happened with uh, you know the industrialization era where, you know A single factory could do the work of you know, like 10 factories and you know, people were just left with no options I think we need to address automation on the scale that it is necessary The same as addressing climate change on the scale that is necessary the same as addressing, uh, you know The health health care crisis on the scale that's necessary the housing crisis, etc Um, and that's I guess that's my my perspective as a trucker. No, and that's really interesting I find that fascinating because automation is something and particularly like with respect to truck driving You know, this is an industry that could be automated away 10 15 years Um, so let me ask you this in terms of dealing with something like automation What type of approach would you favor just broadly speaking? So I mean there's there's the universal basic income approach where you know, once these jobs go away We do ubi now there's various ways you can implement ubi You can do a ubi in lieu of social safety net programs Which I don't support or you can do a ubi in addition to social safety net programs Or do you kind of agree with this more democratic socialist model where you know if Automation is going to be the future, which it seems like that will be the case We should be reaping the rewards of that not these large multinational corporations Like what do you think just broadly because this is a really loaded question. But what's your take on that in general? So I guess I'll start with the ubi Um, I mean, I'm a fan of redistributing wealth back to the working class Um, I am not happy with um, Andrew Yang's ubi as a truck driver and I've talked to other truck drivers They typically have the same sentiment Um, the whole point of his idea at least the way he's marketed it as being universal It's something that addresses the needs of everyone But he made it originally exclusionary of you know people who are unemployed who are, uh, you know elderly on social security who have disability etc and That was you know problematic for most people and they they addressed one Issue which is social security. So it no longer deducts from social security But that means that they recognize that it was exclusionary and they're still leaving everyone else out So it's still deducts from you know, your disability, etc. And that is why I don't support it I don't think something a universal basic income that doesn't actually benefit the people who are struggling the most I don't think that's a really good way for this country to go because it's not really universal in that sense Which is kind of my gripe with it as well Right if you just gave everyone, you know a thousand dollars a month Um without any stipulations of it subtracts from your social security or your disability, etc Just or your unemployment, then I would be you know all in in support of it But ultimately I think in this country what we need to do is address the unfair dynamic between you know workers And their bosses right and I don't think you can really get to the root of any of these problems without worker empowerment Um trucking is such a perfect example of this. We are pushed and pushed and pushed and no matter how Uh big of a shortage of drivers there is they don't want to increase pay So they just want workers to work longer hours for lower wages And that is why you see a truck driver making um, you know 40 thousand dollars a year now Where they were making that 20 years ago. Um, even though the flight Exactly, um, and you know nurses deal the same stuff You know, well, there's deal with the same stuff. It's the entire country that's dealing with this And I think that requires um, you know a full scale Change in the culture of our country And it requires empowering unions not just to continue Maintaining at the level they are but actually reverse it and get on a level of countries like sweden and denmark You know, a lot of these countries we look at who have these You know programs like, you know single payer and great education system, etc They also have a very robust, uh, you know union Unionization in those countries. I think that's what we're missing partially. Um, we need to strengthen workers And in one way I would do that, um to get people to be more willing to strike against the workers and to stand up Against companies like amazon would be providing, um, you know, unemployment benefits for striking workers Um, it would be, you know subsidizing union, uh dues to completely, uh, wipe out the entire argument against, uh Unionization that these right to work Uh supporters have have created. That's a good idea And also provide the infrastructure and the administrative Um support for newly forming forming unions and that should be all from the government and I think that would be a way to send Um a message to, uh, you know the country and the people in this country that, um, you know Here we're going to support workers We need to do that. Yeah, that's fantastic really great ideas with the subsidizing union, um dues I didn't really think about that but I like how you're bringing all of these new ideas to the table Like you're one candidate and you've gotten me to think about reparations for victims of you know marijuana being illegal in the past And subsidizing union dues. These are great ideas. So I know that a lot of people are going to be enthusiastic about your campaign One more time before you go tell us where we can donate what we can do to help support you and whatever you want to end with Make your pitch, man Okay, got it. Um, well The number one thing you can do is, you know, follow me on social media and, uh, you know Just keep an eye on my campaign. You can also go to joshua2020.com We need an army of volunteers and like we need we have we have hundreds. We need thousands And if you sign up there, I promise, you know, we will reach out to you and we will have something you can do for us Whether it's uh, even if you don't live in in washington, you know, we will have phone banking text banking events And just generally keeping in touch with the with uh our campaign and uh, you know helping us get um In touch with the media and and actually get people to cover our race And that has been, you know, a huge help from, you know, what i've been doing on twitter Um, and my twitter link, uh, or my twitter handle is uh, joshua the number four congress So joshua for congress, um, and yeah, so that is what people could do to help Um, and ultimately our our ideas. I think that is the most important about the thing about this, you know, i'm You know, it's a meme, you know, uh Dave rubin He loves to talk about ideas, but my brain is still in recovery mode from taking in so many high level important ideas I really am someone who's about ideas. You actually do have ideas. So yeah I have a lot of really good ideas a lot of plans that are, you know, pushing the overton window to the left Where it needs to be and you know, just follow us, uh, you know follow this campaign sign up And you know, we will actually win this race And you know, if you want to be part of that again, it's joshua2020.com Look, you've dunked on Dave Rubin now, which you get bonus points for you've dunked on ben Shapiro I mean, what's not to like so joshua collins 10th congressional district of the state of washington Uh, good luck hope to see you back on the show and we'll be following this because I think that um You know, denny heck a lot of people know he's a corporate democrat And I think that as time, you know continues on people are getting more and more frustrated So I hope that you know, you can be the catalyst to get him out. So good luck, man Yeah, thanks


Americans from all walks of life, from inside and outside the government play important roles as peace builders. American diplomats have helped to create peace agreements that have ended some of the world's longest running and most deadly wars. Former Senator George Mitchell, who has worked with the Institute, used the skills of mediation and his personal prestige and persistence to end the long-standing conflict in Northern Ireland. Here is his story. I'm George Mitchell, former United States Senator from Maine, Senate Majority Leader. And after service in the Senate, I went to Northern Ireland where, at the invitation of the British and Irish governments, I served as chairman of the Peace Talks, which led to the Good Friday Agreement of 1998, ending decades of conflict in Northern Ireland. The conflict in Northern Ireland was fueled and conducted by paramilitary organizations on both sides. Catholics and Protestants, Nationalists and Unionists, the level of violence was very high and quite brutal. In the mid-1990s, the British and Irish governments concluded that the only way this could be ended was if they cooperated to try to establish negotiations to bring the conflicting sides together. The principal negotiations lasted two years. I devised what are called the Mitchell Principles, which required the parties affiliated with paramilitary organizations to use only democratic and peaceful methods for advancing their political objectives. It was very tense and highly uncertain. I was able to establish a sense that this was going to be a fair proceeding in which everybody could be heard. And I think in the end, that's what helped us to reach an agreement. After many years of negotiations, the deadline for a peace agreement came, and it was dramatic that last day that we were up all night. There was very little sleep. The principal unionist party didn't reach agreement until about quarter or five in the afternoon. When the party leader called me, I said, look, I want to vote right away. I'd learned as majority leader of the U.S. Senate, when you get the votes, you vote. If you delay, something bad might happen. We assembled at five o'clock, and the parties all made clear their assent to the agreement. And so finally, peace came to Northern Ireland. The most difficult obstacle to overcome is the lack of trust. You can rebuild buildings. You can replace vehicles. You can put bridges back up. But the really important thing to change what is in people's hearts and minds takes much longer. It takes generations who didn't see innocent members of their family blown up by a bomb just because they happened to be in the wrong place at the wrong time. It's hard to restore trust. Easy to lose it. It isn't there yet in Northern Ireland, but it's on its way. Hope and opportunity are essential to political stability and peace in every society. Whatever people's differences, they want the same thing. They want to get their children off to a good start in life. They want to have a chance for a decent job. And so what is necessary in all of these conflict societies is to create a sense of hope, vision, possibility for the future. Without that hope, without that opportunity, peace is in peril everywhere.


At Stanford University's Hoover Institution, we have the Schultz-Stevenson Task Force on Energy. Our objective is policy-oriented. We seek those policies that will help improve the environment, particularly address the issues of climate change. They will help promote economic development and will be good for the security of our country. The way we work is to collaborate intensively with the rest of Stanford in its engineering and scientific work, and the same at MIT, to know what's going on in the R&D field. I have a long history of work on energy, so I look at our current scene, and there's arguments about climate change, but you do agree that if it happens, it would be a catastrophe. So let's take out an insurance policy. And the insurance policy is pretty clear. Number one, have a revenue-neutral carbon tax. A tax puts a price on carbon, and people have to take that into account as they consider how to produce and what to produce and what to consume. And number two, give strong support to energy R&D. Those are the two things that will get us out of the hole. So these are the objectives that we seek.


The armed forces of Ukraine are continuing to counter-attack on the Melitopol front in Zaparizhya Oblast, but the situation remains difficult due to additional Russian concrete fortifications and dense minefields. US-based Institute for the Study of War, ISW, reported this. The Ukrainian general staff reported that Ukrainian forces conducted offensive operations in the Melitopol, western Zaparizhya Oblast, direction. Russian millbloggers who have recently maintained that Russian forces hold positions in the southern part of Robatine claimed that Russian forces withdrew from the southern outskirts of the settlement to unspecified positions further south, ISW said. Analysts note that Russian troops are scattering flammable substances in minefields and setting them on fire with drone grenades in an attempt to thwart mine clearance efforts. At the same time, the commander of the Estonian Defense Forces Intelligence Center, Colonel Margo Grosberg, said that Ukrainian artillery capabilities are equal or even better than those of the Russian forces, and they were able to push Russian artillery units from the front line, not giving them the opportunity to support Russian troops. This observation is not universally true across the front line, as Ukrainian units regularly report coming under heavy Russian artillery fire corrected by Russian drones, the ISW report notes. Grosberg also said that since July, Ukrainian forces have successfully disabled Russian artillery radars. Analysts recalled that Russian sources have repeatedly expressed concern since mid-July about Russia's lack of counter-battery artillery, especially in southern Ukraine.


Hi, hello, thank you for coming to my talk Maslow's particle system It's gonna be a little bit about Abraham Maslow pictured here and a lot about particle systems You probably know Abraham Maslow from his number one smash hit the hierarchy of needs But he also has this absolute banger Maslow's hammer also sometimes called the law of the instrument You've probably heard it paraphrased when all you have is a hammer Everything looks like a nail. But this full quote here is from this book the psychology of science. It's a truly lovely book in which he makes a kind of a plea to the psychoanalytical community for a more holistic more humanistic approach to the cycle psychoanalytical project but also to science in general I think and I'm gonna read this little excerpt that I think is kind of Irrally prescient I have been disturbed not only by the scientists and the dangers of their denial of human values in science Along with the consequent a moral Technologizing of all science just as dangerous are some of the critics of orthodox science who find it too skeptical To cool and non-human and then reject it all together as a danger to human values So that is a very lofty and philosophical introduction to what is really going to be a pretty silly talk about Using particle systems as a way of getting Very high-performance very natural feeling interfaces and also hopefully Bringing some joy to your users So this is me my name is Matt Hayes. You can find me as mystery command on the internet pretty much everywhere my pronouns are he him and The slides will be available online and the repository for all the code that we're going to look at will also be available online so let's look at the So this is my little sort of chatbot messenger app. I can Type a message here and it shows up I can tell it to say hello, and it will say hello back I can say be movie and it will begin reciting the be movie one line at a time every two seconds Now I'm just going to use this to sort of fill the window with some messages I can also say Congrats, and I get this cool fireworks particle effect and then if I Send it some love I get this other cool sort of sentiment, you know, like what you would see if you're live-streaming Facebook event or something like that I'm really sure what to call it. We'll get to that later one thing. I do want to point out here is that this Scrolling window of messages is its own kind of particle system where I'm using the bounds of the window to Filter messages that get shown or not. This is sometimes Referred to as virtualization or wind doing but modeling it as a particle system It gives us a pretty Efficient and like easy to reason about way of approaching the problem So that's what we're going to build. That's what we're going to sort of tour and Just get back to my slides here Nice a little bit of history about this talk the reason that I took inspiration from Maslow's hammer as a sort of a little self-criticism I've been thinking about particle systems and using and reusing them since sometime around 2007-2008 I saw Seb Lee Delisle give this talk as three particles a thousand percent extra free At I think it was flash belt in 2008 I was recently out of art school and Had found my way into the advertising world and was building a lot of banner ads and micro sites and looking for ways to Add pop and pizzazz and this was really inspirational to me Just as like a kind of clean clear concise way of organizing the problem the first implementation I ever did was an action script class called bedazzler and what it would do is take a color and Time duration and it would just sort of scan the flash movie for Pixels of that color and then put a little sparkle on them and kind of bedazzle it for some silly banner it I Gave a talk about the similar kinds of things this was more sort of canvas based and just looking at how to break up some of the some of the parts of these kinds of systems in forward JS in 2016 I was working at Yahoo, and then in 2017 I was working at tumblr And I got the opportunity to give another version of this talk at Liberty JS where I'd had a little bit more Sort of practical experience putting some of this stuff to work in some experimental UI For tumblr in that talk is the first time I really kind of introduced Sort of more practical Application some of the feedback I got from the first talk was it's really fun, but I need to like do work so in this second iteration I Focused a lot on a Google Developerist article called complexities of an infinite scroller Where I kind of looked at it as a one-dimensional particle system and that same kind of the inspiration from that is also in this This app that we're going to tour and then late last year Actually after the Liberty JS talk Some feedback I got was I think you're kind of building up towards an entity component system And that really set me off in the direction of entity component systems Unity the game engine Came out with a thing called project tiny and a thing called dots or the data-oriented tech stack Which are both any component system kind of rewrites of some of the core framework functionality with the goal of doing higher performance work and also being able to sort of Dynamically scale it down to what mobile devices can handle or like a web browser Being able to launch unity games as WebGL apps on your on your device So we're going to use some Patterns here. The first is just a handful of interfaces The main one being the the particle, right? I'm going to use Verlay integration if you've ever like looked into physics of any kind. It's just a way of Modeling physical behavior without needing to track velocity and now acceleration So you you wind up mostly doing addition and subtraction. So it's a little bit cheaper It's not quite as realistic as Euler or semi implicit Euler, but it is cheap and Very stable So it makes it a good candidate for for these kinds of like fun silly particle systems because it's using vectors for our position in previous position. We know the vec interface and The field here is a little bit hand wavy What I really need is some kind of like world state or global context There are sort of conditions under which you want to emit a new particle conditions under which you want to sort of deactivate or clean one up and those generally depend on some sort of World context you might in some other implementations see this described as a world or as a universe or As global state, then we have an object pool and a property initializer This we will get to sort of midway through the tour of the code, but it is just a sort of more memory efficient way of Keeping a keeping track of a fixed sized list of particles and recycling them when we're done instead of sort of just throwing them away and letting the garbage collector clean them up and then Effects and the command pattern the command pattern comes from Design patterns the gang of four book in the book They call it a reified method call They're kind of approaching it from a Java or C++ sort of background and in JavaScript all functions are reified We have these sort of first-class functions. So really the command pattern here is just Functions that we're gonna pass around callbacks essentially So this example is an updater, which is you which is basically an implementation of that verlay Integration scheme we get the current velocity by subtracting the previous position from the current position And we add the current velocity to the current position that to the current position to get the next position We cash the old position and move on in my actual implementation There's a sort of a gravity vector that we also add in there the two other kinds of effects that we're really gonna Make use of here are a kind of create or activate effect and a remove or a deactivate Effect and we'll see that In a minute. So let's look at some code if I check out 1.0. I really just want to Show you that this is a Pretty vanilla create react app setup. I'm using the type script Template oh, and I am adding some semantic release related stuff just so that I can get these these releases as tags in get hub and I Get this nice changelog that uses my commit messages to Sort of move things along But other than that, it's it's pretty much straight up just a just a react app, right? I use the component folder pattern CSS modules, but really nothing out of the ordinary in here So here I'm starting to build out mostly just the interface my app has a reducer for actions I have this kind of a knit which is sort of a measure the size of the Window an ad message and then a render message which also kind of just measures the size of the the message object itself and In here, you'll see I Have this effect which fires whenever it renders and if we don't already have a top and height for this message We're going to Generate one and render it and if we do have a top and height for this message We're going to scroll that message into view And I also think at this point that Yeah, in my sort of form my submit bar here What I'm doing is just echoing Everything I say so if we look at this Here I can say hello So it's it's got some jank right it's early But you get the kind of basics of the layout of the interface and kind of what we're Going for in 1.3 You see I sort of stub out my fireworks effect, but really I just I'm starting to kind of organize things a little bit better We see that this big reducer in the top, but now we have a messages component that kind of represents the window and here Here you see the actual sort of Filtering right so and we have a kind of an update effect that's being called as part of this on scroll event whenever of the whenever the messages window scrolls and We have this kind of cleanup effect happening here, which is just really just this Messages that reduce that filters out messages that are that have been rendered but are now outside of the windows Bounce so moving on if I go to 1.4 you can see where I am Implementing this fireworks thing. So here I have a new state Key called is showing fireworks and it just conditionally renders this fireworks Component the fireworks component if we look all the way down at the render is a canvas and If we just quickly look at the CSS It starts out at opacity zero and has an opacity transition of point four seconds or four hundred milliseconds that's going to come in handy for transitioning in and out when we Render this fireworks thing. Yeah, so there's an effect that fires the first time at render is right It's got no dependencies. It just gets a ref just grabs the the canvas ref And then creates a state variable for the rendering context It also does some measurement and width stuff and then sets the opacity to one so a Point four seconds after it's rendered. It is fully opaque And then this effect fires when the context changes And it really sets up our Frame handler, so we just kind of step through this We capture the frame ID so that we can cancel it if we on render for some reason We do some stuff with time to normalize it And then we have an emitter here, which just pushes on to Particles array then we have kind of some Context setup we have an updater which we'll look at is is just the the Verlet integration thing I described earlier and a renderer which takes the context and the particle And then finally we have this reducer which just Resets the the particle is a kind of mutable array at this point by Filtering out anything that's outside of the bounds So we scroll up. It's all just in this one kind of module at this point here you see our Beck and particle interfaces props for the component. I'm pulling some Stuff off the window just a shorthand it this character here You can get with option P It's Great. I love it. Here's our particles array. This is pre-object pool optimization It's just a list. We have some some configuration state here a P function which Generates a new particle or emits a new particle Some vector mass stuff an updater, which is the Verlet integration thing I described And a renderer call which draws them into the canvas context if we look at that Do I say congrats? Yeah, it's okay. I mean I think this is sort of as far as I can push it with the Performance characteristics. We have as you'll probably note here We're just creating new objects every time and and we're in the sort of create emit sort of step we're just pushing them on to this list and then We're pushing the ones we want to keep on to a new list and throwing the whole list and and everything We don't want to keep away. So we're creating a lot of references. We're creating a lot of objects that the potential for garbage collection is Very high at this point, but forward Yeah, so in 1.5. I add a Similar kind of a sentiment again. I didn't wasn't really sure what to call it and it's very similar to The fireworks display. I guess let's look at this too because we just Made some updates. So so here I've moved some of the interface stuff out into a little lib folder So I can focus on just the sparks and particle effect here I pee has become create spark and I have an update spark and a render spark and then I moved these Create many kind of functions Into their own functions, but it's it's pretty much just like moving it out of Out of being in line and in the frame callback. So So yeah, here you see the kind of setup Here is the create render and remove some optimizations, right that are kind of obvious at this point is that each of these Do something with many calls is is iterating over a list Every frame in fact the render sparks is iterating over the entire list and then Then we're reducing over the entire list in the very next call And if we look at the sentiment thing that lets us some get that heart effect. It's a very similar setup, right? It's a lot of copy pasted, but we have sort of unique Opacity and scale properties on the on the heart We don't have a render heart here because we're just going to set visible hearts as state And then let let react do the Do the diffing and the rendering and so we can check that out here I'm trying to overwhelm so this sort of limited in terms of the number of particles the effect and The performance I if we sort of throttled this up very much from where it is You would see Significant amounts of sort of jank and lag in the system whenever the garbage collector kicks in So let's see if we can clean that up here. Let's look back at our our fireworks Here so now inside of our frame handler. We have a single sparks dot for each So we're only going to loop over the list of sparks once and as a matter of fact if we are Looking at a spark that is currently Not active and we should emit we will do the kind of activating step and Otherwise we'll bail early and then we do this is kind of the new deactivator of the remover step and if we've Deactivated a spark in this step We're just going to return so that we avoid the update and render steps and kind of similarly in the sentiment thing We're just going to loop once over all of the hearts And bail as early as possible Throughout and I think also at this point. Yeah, we have the pool So if I go back here, I've moved the particles out to their own module So they kind of have their own domain So you see here we have the hearts are a pool of heart interfaces There is a fixed number of 50 They get their uuid ones at the beginning and it's kind of preset their Values and then the activate and update step are really what kind of like Resets them at the beginning, you know, if they're if they're sort of moved out of the frame they get become inactive and eligible for redrawing and then the update step adds gravity and moves everything along a similar setup in the fireworks display with the addition of render, right? We pass the context in and we draw it an optimization here as to use Phil wrecked. It's a little bit cheaper than ellipse and fill and we'll talk about some further optimizations that could be had there and the end so any other I Guess the only other really significant change here is that the reducer is kind of moved up into its own module and it is just Setting and and adding items in the state and we actually Have a wrapped dispatch callback that Handles the sort of special cases for us so that we can have that all in one place So again, you'll see if I do Congrats here. We get like a lot more particles and We can do a lot more hearts at the same time and it's pretty smooth Yeah, if I get a bunch of stuff in there, then I do Congrats, and then I do the heart And then I scroll You see we're not getting too much jank at all and I'm running a screen recorder, so this will like a lot going on and it's Highly amenable to kind of tuning to whatever performance characteristics you might be targeting So I think 1.7 is where I add the B movie enhancement And I'm actually I fixed a couple bugs this morning. So my extra credit branch And now we're we're back at the kind of full Full featured App and we get, you know pretty solid performance with just a little bit of a little bit of organizing our code and in a sort of Set of a particle system like patterns Okay, back to slides We are Almost done So where to go from here as I mentioned we're creating a lot of vectors those vector math operations are Immutables that they're returning completely new vector objects Every time they're run it might be an optimization to create a pool of vectors and do a kind of similar Activate deactivate sort of thing an optimization. I've made in previous incarnations of this of this Presentation which is kind of overkill for what we're doing here is a fixed time step Fixed time step would let you split the update and the render steps from each other Make it so that the update step can kind of play catch up if the render step takes too long Which means that the animation is smooth even if the rendering is not Yeah, you can ask me more about that if you have questions Another thing that's would be really interesting to me to explore and I'm still kind of working on is Message passing and how you do kind of interactivity and events In in a system like this, especially as it broadens out into an entity component system High-level overview of what an any component system means is if we're thinking about particles as kind of rows In a in a table like one column is the X position one column is the Y position one column is previous X previous Y active and so on an entity component system would be a way of organizing the code so you're dealing with columns and kind of running almost like queries on this Database of particles to get a certain set of like column our records and it is It is a very Efficient from a memory layout standpoint might be it might be need to explore in This sort of virtual machine that JavaScript gives us also. I think this is functional you might have noticed that a couple of instances were passing a particle instance and like some extra State along whether it's the field or the rendering context That is starting to feel to me like this reader monad pattern Functional programming is very new to me as I mentioned I came from art school So I have a pretty non-traditional path into engineering but a one really exciting possibility is that if you have a functional system that is Associative and closed over composition. It is parallelizable and maybe we could push all these particles into Multiple workers and just have them emit sort of Operations or positional updates or do something like that to you know run potentially You know ten times more something like that and then similarly on the rendering side, right? We're the real expense there is the draw calls thinking specifically of the the fireworks display It would be a cool optimization If we could batch all of the particles of one color draw all their rectangles and then fill one time I think that's it and finally black lives matter. It would be Weird and maybe even irresponsible to start a talk with the humanization of science and Abraham Maslow and not in these unprecedented times Mention that black lives matter if you find yourself thinking please keep Politics out of JavaScript. I have to say that silence is also a form of political speech And that inaction is action In the off chance that me talking about it is the thing that pushes you over the edge into action The equal justice initiative seems great and they accept recurring contributions so you can set up a Monthly donation black lives matter card and black lives matters card are both great highly Circulated just in case you haven't seen them this Twitter thread from Victoria Alexander is a sort of anti-racist reading list broken up into beginner intermediate special topics biographies, I mean, it's just a stupendous list there. I've read some of those books and they really moved me and I added all the rest of them to my Reading list on a more personal note this dismantling racism.org has a page on white supremacy culture if you Like me grew up in an almost exclusively white community Maybe rural or suburban Maybe in the Midwest and remember wondering well, what's what's my culture? I I regret to inform you that there is a strong chance that at least part of your culture Is white supremacy culture and I highly encourage you to Do some soul searching about that and finally If you're into indie games Humble bundle is doing a fight for racial justice bundle 100% of proceeds go to some great charities I have no affiliation with humble bundle whatsoever I just like indie games and think it would be cool if we lived in a just society That is my time. My name is Matt Hayes. Here are the slides. Here's the repo If there is anything I can do. I mean, I kind of only know JavaScript but If I can review your code or make some kind of connection for you I'm happy to try and help Thank you very much and I look forward to The rest of the conference. I hope you're having a great one