Everybody forced here up in 2012 NT football hobby four box case random teams Check out the results anytime at late in sports cards.com. There's a link in chat.  I don't I don't know how we got it. All right I'm excited excited. Come on Josh Gordon. Oh, yeah I feel like Indiana Jones right now just like ancient It's like a scar box I made a cedar do you know she's what cigar boxes made out of smell dude wire that stickers on the side like Tree expert or something. Well, it's not that was like sometimes I'm somewhat of a botanist myself Ryan Samberg that is a good type of gin we're talking about Ryan Samberg earlier in that regards to Stevie Johnson bills are the basin numbered. Oh, it's an idea on the back Stevie Johnson bills Century legends is Warwick Don 25 at 25 for the state and Bucks legend Next door me that is Buccaneers work done Yeah, very much so got franchise favorites Jersey card Adrian Peterson Vikings all day to 99 Game war in Jersey Adrian Peterson Chiefs franchise legend Jersey Eric Berry 31 of 99 game war and Eric Berry. He was drafted like what right before he was this is like his second year or something He was only a long time then 2012 That's all good TW BJ Raji go Raji go Raji on the colossal Pro Bowl Jersey to 75 That one is event worn. I don't know if it's game one, but it's event worn Raji for the Packers Into the autos now Rookie auto Deontay Thompson Ravens to 99 2010 draft Wow, I thought I thought I thought it was I didn't expect to see him in this I thought I didn't know he was that old a long time Century legends auto Andre Ryzen for the Colts Andre bad moon horizon nine of 49 Colts Andre Ryzen bad moon That's all got a Ryan Fitzpatrick Bill's patch card century materials 17 of 49 game worn Go that's a pretty cool one right there Century materials patch auto Cardinals beanie Wells Wow beanie Wells 11 of 15 That is game worn Game worn patch auto beanie Wells Cardinals He was like 2011 or 10 right on the draft like that Legend patch auto is Ted Hendricks For the Raiders 11 to 15 that is sick.  Oh Yeah, this is sick Drew M with Washington We've got an RG3 That RPA right? 42 of 49 event worn hatch auto RG3 Washington Oh awesome hit Awesome hit Yeah, we put that. Yeah, that's fine Hold her card. I'm about it. That's sweet. That's awesome RG3 baby rookie year. That's the RPA design right or is it not? Dude he should have never played in that playoff game. He should have never been on the field to 99 Joe Nameth Legends card for the Jets Should have never been on the field that day He could still be slinging it today, dude. Oh, yeah, I blame damson.   That's what I'll say Okay, I'm gonna try to take the That damn Snyder Well, he's no longer there. Thank God. I just want to open the box Cards easy now. Good God All right, there's a Jason Whitten to 99 Cowboys Yeah, at least he's still popular and I'm using a credible college player to Devin Hester He was an incredible NFL player to 49 Devin Hester Jersey Bears Game-worn Timeline Jersey Eric Dickerson for the Rams. That is a to 49 Game-worn Eric Dickerson Jersey for the Rams RG3 is good at entertaining and like still Dinos and stuffs Darryl LaMonica legend patch card Raiders Darryl LaMonica to 99 NFL Gears Jarius, right Vikings Jarius, right triple relic Event-worn memorabilia to 49 rookie NFL gear Vikings Jarius, right? 49 oh Here we go. Here we go. We've got bills Ryan Fitzpatrick timeline patch auto Nice Fitz magic four of five That's pretty sick That's awesome game-worn patch auto Fitzpatrick bills four out of five That's awesome for colors on it too Very nice card. Oh Look at this name Dolphins Devon best patch card Game-worn Devon best Now when it's a 25. Oh This is actually really nice. Look at this Rookie auto T. Y. Hilton one of 25 Colts pretty so He was on the Cowboys last year Didn't play a ton. Yeah, I don't know if he's still going but nice hit Colts and Dude, this is just a solid case Matthew Stafford Lyon century auto at 10 of 10 Matt Stafford 10 of 10 Lyon century auto Good case so far. I must say Cowboys legend T. Y This is nice 14 of 15 David Wilson giants on the NFL shield laundry tag basically in ball relic auto rookie David Wilson He had a good start to his career before the what neck injury he had to retire. It was what it was He allowed a high though. He's like first or second-rounder to 15 David Wilson giants and Then legends 1099 Robert Newhouse Cowboys All right guys two more boxes fun stuff so far though good case as well Get relevant names good names. I know like not the biggest hits with T. Y. Hilton really good career Matthew Stafford obviously Best Lyons quarterback Super Bowl winner It's magic as obviously an icon So good stuff so far good stuff so far. All right guys two more boxes God came Newton Second-year cams and 99 It's 25 Hakeem Nicks century for the Giants Hakeem Nicks Jersey card bears Julius peppers bears peppers to 49 game worn Vikings game worn Jersey to 99 is Randall Cunningham Retired like three years ago He's a packer for a while a bear for a while did he go Panthers bears packers packers bear I forget Rams NFL gear rookie rookie NFL gear to 49 is Brian quick to 49 Brian quick Rams Rookie auto for the Steelers David DeCastro to 99 Yeah, that's nice There you go, this is cool one Patriots rookie auto Chandler Jones There you go 14 to 25 rookie auto Patriots Chandler Jones like the best Patriots first-round ever Chandler Jones and Dante Hightower same year The second most famous general Yeah, probably I'd say yeah outside of outside of North America. Yeah This one's pretty wild Elvis doomerville Pro Bowl colossal star patch Three out of four event-worn mem Broncos Elvis doomerville. He was a beast for a few years, too. He was filthy Three of four. That's awesome. What a patch. I wonder if event-worn means like they were it during the The actual game like do they consider the game an event? That's I was wondering yeah, because like it's an exhibition. So like I don't know Or if they just like Just wear it, you know, like you're like a photo shoot or something. I don't know very nice That's cool. This is rookie rookie NFL gear trio auto Dwayne Allen Colts. Whoa, dude. What? What is that? We're about to find out to 25 Colts rookie NFL gear triple patch triple relic auto There's a lot of these not him No, it's not Should be pretty easy. I just wanted to we'll see if there should be a team on it. It's about to think All right, this is cool souvenir cuts Patch auto cut signature Joe Perry for the 49ers to 25 That's why Joe Perry to 25 49ers. This has been a fun case, man Surprises here and there Yep Jersey and a cut Joe Perry Did he like pass away at some point like before this? 2011 yeah, okay. All right Yeah, I passed away in April April 2011. That's pretty sick. That's pretty cool, man check 25 Cut auto Joe Perry We got rookie Jarius right on the patch auto to 25 for the Vikings Jerry's right Vikings RPA and legends Dan Marino and To 99 dolphins last box everybody That's a fun. It's a great case Thanks again everybody for hanging out all day today. Today has been a wild ride I'm gonna hopefully sleep like 14 hours That's what I'm saying, man Big yon Sean that's what I'm gonna start calling him. Yeah, man big yon Sean big baby Just got that way for the drive home now. Yeah, that is a Darren McFadden. It's a 99 Raiders It's him he bothered as it is him he bothered now. It's official Chargers Phillip Rivers 25 out of 25 Jersey card Adrian Peterson Vikings again now 499 game warrant Drive home room. Yeah, that's right. That's right. You're rooming Brock Osweiler 7 of 75 Texans legend Brock Osweiler dual relic Alvin good morning. We waited long enough to meet Alvin to wake it up, dude Morning Alan Ready for a great Premier League day Jersey card John Brody. Good Lord John Brody to 99 Niners. It's also game-worn Rookie Otto Evan Rodriguez for the Bears Number to 49. What's it like 730 where you are Alvin? Rookie Otto Rhett Ellison for the Vikings Rhett Rhett is such a southern name. Good Lord takes it 49 Rhett Ellison Michael James. He was really hyped out of college to 15 on the quad relic rookie for the Niners What those patches right there like laundry tags. No Those are size probably probably older looking laundry tags. Yeah Had a full eight hours. Oh Dude, this is from like all the best fantasy team names right here rookie patch.  I voted for you Alvin Hey, we do have a redemption here. This is a Victor Cruz virtuoso signatures. That's gonna be Giants Victor Cruz expired what eight years ago nine years ago now, so I Doubt that they have that I guess you could check though. Sorry about that Giants. I Am glad we only had one it we could have had more I'm glad we only had one not the biggest either Victor cruises was an awesome player for a few years kind of a bummer, but I Do I do really doubt they have that foot? And we've got a there he is Brock Osweiler rookie patch auto L17 a 25 Broncos The only Niners expired I have milk all of that my fridge guys. Okay. It's not that bad And on the back is legends Ronnie lot Niners to 99. I'll do a quick recap y'all Yeah, I I've got I've got things in my freeze-roller than that No one ever told me that sour cream expired. Oh, that's what I thought Yeah, usually when it turns into like a solid, it's better. Yeah, then it's cottage cheese Pretty much Hi relics Michael James John Brody Rock Osweiler Adrienne Peterson Elvis do Merville Broncos. It's a cool patch Ryan quick Randall Cunningham Julius Peppers Devon Bess Jerry's right Eric Dickerson Daryl Lamanica Devin Hester Ryan Fitzpatrick for the bills BJ Raji Eric Barry Dude flyer he's probably used to chill out Right All right, anyway, anyway our Brock Osweiler patch auto expired giant redemption virtuoso signatures Victor Cruz Isaiah Pete RPA Brett Allison Evan Jerry's right We had a signature cut patch auto Joe Perry for the Niners. It's a pretty cool one Dwayne Allen Chandler Jones rookie auto David DeCastor rookie auto David Wilson rookie Matthew Stafford attend for the Lions T. Y. Hilton rookie auto. This was a pretty good a pretty good case fits magic patch auto four of five for Buffalo Ted Hendricks beanie wells Andre bad moon rising for the Colts Deontay Thompson and an RG three RPA There we go to 49 that'll do it everybody. Thanks again fun case. Hope it was worth the wait


No fewer than 63 cases of gender-based violence, GBV, have been reported by the Quora State Command of the Nigeria Security and Civil Defense Corps and NSCDC between January and November 2023. The state commandant, Umar Mohammed, disclosed this during a sensitization program organized by the command as part of its 16-day activism on gender-based violence aimed at addressing the alarming rate of the menace. The alarming increase in the cases of gender-based violence in the state is informing this sensitization program by the Quora State Command of the Nigeria Security and Civil Defense Corps and the civil society organizations to renewing their commitment to end all forms of gender-based violence against women and girls in the country, even as reported cases stand at 63 between January and November 2023. It is evil. It is a pandemic in our society. Let us work it. Guest lecturer, who is also the Quora State Coordinator of the National Human Rights Commission, Jumoke, Olawie and others, wants the government to be more committed to the fight against gender-based violence across the country. Government, when we say we violate your rights most of governments, and as a uniform person, you are also government. You violate, I violate, somehow, somehow, somehow. But we just want them to provide the necessary, the basic things that will make our girls, even when they are raped and they go to shelter, they will have enough things, equipment and medical facilities to treat them accordingly. Majorly, our traditional rulers, our religious leaders, because we find out some of these things are under our cultural practices. Look at genital mutilation, for example. They hide under cultural practices to do some of these things. So we must continue their awareness creation. It's very important. It's been said that prevention is better than cure. The theme for the 2023-16, the activism against gender-based violence is invest to prevent violence against women and girls.


Perfect. So I'll go to the policy reading of the Linux Foundation on Trust Policy. Linux Foundation Missings involve participation by industry can pass those and is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable and trust and competition laws. It is therefore extremely important that attendees at dates and missing agendas and be aware of and not participate in any activities that are pre-visited under applicable U.S. state, federal, foreign, and trust and competition laws. Examples of types of actions that are pre-visited at a Linux Foundation Missings and in connection with Linux Foundation activities are described in Linux Foundation Trust Policy. If you have questions about these matters, please contact your company council or if you are a member of the Linux Foundation feel free to contact Andrew of the GASME of the Grove LLP provides legal counsel to the Linux Foundation. Hyperledger is committed to creating a safe and welcoming community for all. For more information, please visit our hyperledger color of conduct. So welcome everybody. This meeting we're going to have a very special guest Rebecca Harding from Coriolis Technologies. We're going to talk about sustainability and data. I wouldn't waste much time and we'll leave it on to Rebecca to start his presentation. I remind you all the importance of being music while Rebecca is going to present. Rebecca. Thank you very much and thank you very much for inviting me to this session. I'm really privileged and I hope what I say is going to be of interest. I aim to talk for around 40 minutes and then because we're a relatively small group if there are any questions or any points that you'd like to raise do please do please ask through the chat. I'm going to share my screen because I have a presentation and if you just bear with me a second. So I wanted to talk about sustainable rebound reason why I've called this sustainable rebound is because we're coming through a pandemic now. We're beginning to see if you like the green shoots of recovery creeping through in a lot of the data. But I think it's an economist but also somebody who studies world trade and world trade finance. The big thing that's coming through for me at the moment is the fact that we shouldn't be going back to business as usual. After the last financial crisis I think if you look at what happened we all said during the financial crisis things have to change. Things have to get better. We need a new business model. That process through the immediate aftermath of the last global financial crisis and up to if you like the COVID pandemic didn't change anything and in fact what did happen was we saw increased economic nationalism. We saw increased competition between states and what's happened of course is that that has actually created a point now where we have another opportunity to change things. And what I want to argue today is really that sustainability is something that the digital community can care about. Something that the digital and data community should do something about because the problem at the moment for banks and for trade finance providers generally is that there's too much information out there and not enough clear intelligence and thought. So let's have a think first about what happened to trade in 2021, in 2020. The short answer is that not much happened in the long run and that's the problem. The risk is that we go back to business as usual. Yes, there was big drop in the volumes of trade. So the World Trade Organization and the IMF estimate that there was around a 5% drop in volumes. That's nowhere near the 9% that we saw during the global financial crisis. The Coriolis data says well it was around 18% in terms of a drop in values but by the end of the year we looked like we were coming back to somewhere approaching normal again. So 18% drop in values. We also had massive deflation. We also had currency volatility. So taking all of that into account, well trade actually looked like it was back somewhere near normal by the end of the year and certainly coming into 2021 with the rate at which things are picking up. Yes, we've got supply chain disruption. Yes, we've got one or two pockets where things aren't working properly. But the problem is that we could just slip back into our business as usual regime. What has happened over the last year though is that there's been a sea change in the way in which people are thinking about trade. It's actually altered the way we're looking at the role of banks, the role of trade finance professionals because the crisis itself, apart from this short term issue of trade falling back, the crisis itself made us all look at what was actually going on. We have more time in front of our computer screens. We could see that a lot of what was happening was actually happening before the pandemic struck. So I've already talked a little bit about competition between states. We now have as a dominant theme of world trade and we've seen that with the G7. We will see that with the G20. Trade wars actually having a big impact on the way in which we're formulating strategies towards trade and where trade sits in foreign policy terms. We've also got supply chain disruption and we're seeing that in the semiconductor sector, but we're also seeing it in vaccine nationalism and the way in which vaccines are being distributed around the world. Some parts of the world getting good supplies of medical equipment, PPE equipment and vaccines, other parts of the world definitely not. And this is something that in terms of sustainability is something that the trade sector really should be thinking about all the time. The other thing that's happened during the crisis and this is something that we've seen over the last 18 months in particular, but was also a major theme during the conferences when we used to all see each other of the past five years, is a discussion around digitization. I don't need to tell this audience just how important digitization is. We're beginning to see ways of shortening decision making, widening access to parts of the trade community, particularly in the small and medium sized sector, in emerging economies that are now reachable because there are digital processes out there that will enable them to participate. And a lot of that, the big risk again, is that everything it becomes non-standardized and we increase the amount of digital islands. I think what's happened over the last 18 months is that people have begun to realize we can't do that anymore. We've got to have standardized processes and we've got to be doing all of this together. So the fourth thing that has really accelerated during the last 18 months is the theme of today, which is sustainability. Sustainability means not having trade boards. It means not competing. It means having a multilateral approach to what is a planetary problem. It's not something that is just Chinese or just American or just German or just British.  We have to think about decent work because there's not enough of it around the world. And sustainability is something that we really need to think practically in terms of being the thing that trade by itself can deal with. And let me explain why. When I first started studying trade in detail around 12 years ago, I was really struck by the role that trade played in multilateralism and in terms of the way in which we could think about decent work, jobs for all opportunities. Over the last 12 years, what's happened is we've become less generous with our rhetoric around trade. We started talking about competition and strategic competition. But if we go back to the basic benefits of trade, all those years ago, trade should be about increasing opportunities. It should be about economic development as well as economic growth. It should be about solutions for emerging economies that are appropriate to those emerging economies. That's what we as trade professionals believe we are doing. It's not about exploitation. It's not about human rights abuses. And it's certainly not about climate destruction. So in other words, sustainability should be used almost synonymously with trade or certainly in conjunction with trade. And what we're beginning to see is that trade is beginning to come under a regulatory and compliance agenda that means that there's a lot more confusion around what sustainability means. And I think there's a real risk, and this again will be one of the big themes of this talk, there's a real risk that as we move more towards sustainability disclosures in the EU, the UK and the US, we start to get more of a compliance driven move towards sustainability and less of an opportunity driven and incentivization driven move to sustainability. So at the moment, you could argue that trade finance is almost the foot soldiers, the boots on the ground in the new war, which is on sustainability and making trade sustainable. And my question for today and for everyone listening really is, can we build back better? Let's hope so. And let's hope that what I say gives you some idea of how we might do that. So I think it's fair to say that trade finance links everything together. Sustainable trade, as I've already said, is absolutely key. So one of the things that we've done in Coriolis and I can demonstrate our data to you at a later stage if we have time. But one of the things that we've done is we've looked at all of the products that are traded all the way around the world and we've mapped them against whether they meet sustainable development goals positively or negatively. And what we found is that for the top 20 countries around the world, for every five million pounds worth of goods that are traded by the top one million aligned with positive sustainable development goals and four million do not. In other words, unsustainable trade outranks sustainable trade in a ratio of four to one Cargo ships by themselves contribute between two and three percent to global emissions and 18 percent to overall pollution. The sustainable development goals that I've talked about that matter the most for work and employment and economic development don't even feature in the top 10 trade flows. So we're looking at something in trade terms that that should be addressed and should be addressed very quickly. It's fair to say everyone is talking about it. Everybody is looking at how to implement taxonomies, how to make their trade more sustainable, how to make their decision making and their credit allocations more sustainable. And the problem when everyone starts talking about it is you get a proliferation of research, of metrics, of money going into all of these things. And let's just have a look at the numbers that I've put here. In the U.S. alone there's 17 trillion dollars worth of assets under management in sustainability related investment funds. That's ballooned over the last three or four years because suddenly everyone is wanting to have a little piece of sustainability. Globally it's 30 trillion in terms of assets under management. That's nearly twice the size of the global trade finance sector. Trade finance really needs to catch up because we should be doing this. We should be doing this automatically. And there are ways, but the problem is that because it's being bunkered in a compliance framework, there are a lot of difficulties with how we go about it. So there are changes that are already happening. But let's avoid greenwash. I think this is the most important thing. EU sustainability disclosure reporting. A lot of sustainability in EU frameworks, including the taxonomy, which is being agreed and has been agreed. All of this is about green and climate change protocols. Nothing wrong with that. But we have to make sure that we're talking about income, that we're talking about human rights, that we're talking about decent work as well. The EU has done a lot in terms of its taxonomy. I'll talk about that in a little bit more detail in a second. It's done a lot in terms of its taxonomy to enable the measurement of sustainability. But again, it's all about green. It's not necessarily about other areas as well. The UK sustainability disclosures, those are similar. The US has very much along a climate change route with its cross-border carbon tax. Interesting thing happening there recently with the United States in terms of how it's trying to build back better. Its supply chain review for the first 100 days in Biden's administration, its supply chain review is actually prioritising human rights abuses or addressing human rights abuses and sustainability in a more social sense within supply chains. But you kind of get the feeling that that's a way of isolating China rather than something that's going to apply across all supply chains everywhere in the world. The other encouraging thing is that a lot of the recovery packages that have been put together during the COVID pandemic have actually had sustainability criteria attached to them. So the EU recovery fund just under a third of the amount is actually committed to sustainability through green bonds. But again, this is all about green. There are other areas of sustainability that are just about the way we run our businesses and the way we treat our people. And those have to be built in as well. So I've looked at the role of Europe just a little bit here. Now the reason why is that the European Union is a regulatory superpower. It accounts for around 32% of world trade and the taxonomy itself is a game changer. Why have I called it happy families? Well, because if you look at the big conflict that we've seen over the last four or five years between China and the United States and the United States and Russia to some extent, which keeps bubbling up from underneath the surface. You can say the United States is trying to outmaneuver in terms of the game of chess, both China and Russia. Russia also plays chess, tries to outmaneuver and disrupt everybody's moves on the board. China doesn't play chess at all.  It's trying to gain influence around the world. The EU in contrast plays a card game called happy families, which I'm sure everyone knows you collect little groups of happy families together. It's not strategic as such. And the EU has only recently realised that it does have that amount of power as a regulatory superpower to make a difference in the sustainability space. And I would argue that that is actually the most important thing that the EU can do. It can actually lay down frameworks because although it accounts to 32% of world trade, it's reaches far wider in terms of where it's importing from, how it imports and the types of products that it imports and the extent to which it can lead the way in terms of the world trade organisation can lead the way in terms of frameworks like the G7 and the G20 as well. So the EU trade strategy is also really interesting because it is a very different perspective on trade compared to the way in which the framework is happening in the United States. So the EU's trade strategy acknowledges the fact that it wants to be autonomous. It's quite assertive in terms of its language in the same way that the one from the United States or the United Kingdom is. But what's interesting about the EU trade strategy is that it also focuses in international labour organisation in terms on decent work and social justice as well. So there's a lot around sustainability in the EU's trade framework that's beyond greenwash. As I said, the EU taxonomy is very focused on climate and biodiversity. There's still a risk and I think what's been clear from these first few slides is that we're seeing big growth in intra-regional trade in terms of some key sectors in sustainability. But a lot of this is still focused around the environment and if the practitioners don't have the tools at their fingertips to be able to move forward in a sustainable way in every sense of the word then it's going to be very difficult to avoid greenwash. I just want to dwell on a few numbers here because I've been looking at intra-regional trade via our Coriolis data. Intra-regional trade between the EU 27s I've taken the United Kingdom out and if you look at what's going on you're beginning to see a pattern that's common across the world which is more intra-regional trade and particularly in these sustainability products so there's a lot of self-sufficiency that's been going on within the European Union. So if you look at electric cars for example it's been growing at a trade in electric cars within Europe has been growing at an annualised rate of 7% since 2016. This is since the Brexit process. Similarly wind turbines nearly 7% 6.5% and in solar panels where there was a lot of Chinese influence for example trade's been growing at 9% since 2016 within the European Union itself so there is a sense in which there's going to be and trade did fall back in 2020 there's no doubt about it but if you look at the patterns that were there before the pandemic this is actually sustainability is a way that intra-regional trade within Europe can grow. But let's go back to this compliance question because unless we talk about this and unless we find a way of dealing with all of this from a sustainable perspective using the digital tools that are at our fingertips this growing regulatory pressure is risky for trade. What it'll do is the more regulations we have the more likely we are to exclude small and medium-sized companies and exclude emerging markets from what we're doing. And let's have a look at legal and regulatory risk first of all the pressure to comply and maintain a license to operate these are the pressures that banks are under at the moment operational risk and what are clients doing what are they doing in terms of rainforest risk climate change risk and what are the consequences in terms of the legal and regulatory framework that the banks are operating in and then in terms of reputation support for environmental and social causes of course it's something that everybody wants of course it's a motherhood and apple pie statement. The countries might be doing something negative. Is there a chance you could put on mute please? Sorry could you please mute yourself we can hear you background. Thank you and there's obviously an opportunity to leverage the MESG profile in terms of reputation corporate social responsibility but this has to change behaviors this isn't corporate responsibility anymore so these are the risks that a bank is facing a trade finance provider is is facing and the problem is I remember sitting on a committee a few years ago or a presentation a few years ago when a bunch of lawyers were talking and they said oh well we we're going to find it really difficult to measure sustainability and it's just going to become another thing another check checkbox exercise a box sticking exercise and it's just going to add to the compliance nightmare that we have that doesn't mean we shouldn't be doing it it means that we have to find a technological way of solving that problem and here is the problem there's no easily accessible and complete data set up to this point to date to support commercial banks so there's nothing that's simple out there the more I dig into this the more I realize that the problem we've created for ourselves is actually that there's just too much information and getting all of this in one place and taking it down to a solution that is really simple and obvious is is something that needs to happen now I have a huge advantage here I'm an economist so I'm very used to reducing things down for their supply and demand and their product basics but let's have a look at what the problems are for banks at the moment companies are currently not required to report by ESG by law so the data is patchy so until that actually comes in where a company is required to report and there are changes that is beginning to happen in across the EU and the US and the UK it is beginning to happen but the benefits of reporting aren't clear so there's no incentivization there at the moment there are one or two green bonds there are one or two credit incentives out there beginning to emerge one or two banks beginning to put this into their framework but the process but the benefits are still not so widely known that companies do it automatically and this is part of the problem there are supply side incentives there are as I said a one or two credit incentives out there that can solve the problem but the problem is that there's no standardized or default process for allocating ESG scores and that's the biggest one which is that we we don't have a standardized digital automated an independent way of doing this at the moment that's going to enable us to take this through in a standardized and uniform and autonomous way so it means that the net the it's almost a vicious circle the incentivization mechanisms are always going to be weak until we've created a digital solution to this and it means all of us working together it's not just blockchain it's not just it's not just data solutions it's everybody working together so let's unpack it there are three ways and this is the problem that Coriolis has been trying to solve if you like so I'm going to talk a little bit now about our our solution you can understand shipping and logistics through trade flows and a lot of the data that I've collected has been about in in this present together in this presentation has been about the shipping and logistics flows that we see in our data so we can understand if you like the the the likelihood that a country overall it has a sustainable approach to its trade so we can look at the regulatory framework but we can also look at physically what comes into the country and goes out of the country or region and what's traded in terms of sustainable goods in order to understand the propensity if you like of a country to become more sustainable second thing we need to do is understand the business and its trade and its esg behaviors now that means looking not just at the company in terms of the eu taxonomy but also understanding this third thing which is the product and its components and so if we can unpack all of that and if we can boil something down to a very simple solution which ultimately is the product because we can identify trade flows by product and we can identify what companies are doing in their trade focused by the product or the service then that helps us enormously understand exactly the sustainability and supply chain behaviors that that are out there so these really what we did was we boiled down and I mean it's we boiled everything down from a from a sustainability point of view from all the complexity that's out there including how many pieces of rubbish you recycle and so on and so forth and how your sustainable reporting goes if you boil it down to the very very very simple basics what we need to know here is actually more about more about the the product and the HS code and the product that's traded and if we can know that then actually we can map that as we've already done to sustainable development goals we can map it to trade in things that shouldn't be happening meaning that we can provide a country a supply chain and a product level indicator so let's have a look at how this works let's have a look first of all at Tropical Harboard it's one of the one of the big areas of concern so the way in which Coriolis goes about looking at Tropical Harboard and we can only look here at countries the way in which we go about looking at this is to look at the difference between what a country says it's reporting officially in its statistics exporting in its statistics and what it's actually reporting when you mirror the data on a trade flow so instead of looking at the USA's trade with Brazil we look at Brazil's trade with the USA and look at the reporting differences between those two numbers and if there is a big difference and you can see for the USA here in in in terms of in terms of oak you can see here that actually the USA is under reporting what are exports and everywhere else there's a big difference so Denmark you've actually got nearly 600 difference between what it says it's doing and what it's actually doing Canada over 200 percent France nearly 100 percent Germany round about 65 percent you can see that all of these countries actually in terms of in terms of in this this figure here is in terms of oak it's actually creating a big difference as some of the biggest economies in the world are actually over or under reporting the amount they trade or misreporting anyway suggesting that there's a huge amount of illegal trade and this divergence figure gives you an idea of how how the countries themselves see their own trade and if you look at different sectors this is untreated oak the graph is for untreated oak but if you look at tropical hardwood there's always bigger divergences in in exports rather than imports because of the tariff regime Vietnam and Indonesia which are two major culprits barely report i mean you get exponential differences between between what they say they're doing and what they're actually doing when when you mirror the data the biggest culprits in tropical hardwood are in emerging markets in Asia but interestingly in the developed world in tropical hardwood Germany and Austria aren't doing very well at all so Germany is actually the divergence on exports is around about 170 percent which is colossal so you can see in terms of just a general indicator of what's happening at a country level if we go down to this product and look at some of the things that are happening the consequences of trade finances that unless you can match to these very detailed sector levels there's almost inevitably going to be a process of misalignment of of of what's being financed so it's almost inevitably going to be financing stuff that shouldn't be financed we need this data to understand what's going on let's have a look at second hand clothing and this is one of my favorites we have a worrying growth in trade in used clothing and the united kingdom is one of the worst over the last in fact in terms of its rate of growth it is the worst if you look at the period of time between 2014 and 2020 UK's trade in illegal clothing imports of illegal clothing of second hand and used clothing have grown by over 20 percent if you look in terms of exports as well China is also exporting large amounts of used clothing as well if you look at these figures there's a huge amount if you literally the rag trade going on around the world and what was really interesting was when I looked at this data on our systems when you look it's actually the 2020 figures that have grown most substantially so during the COVID pandemic where we might have been locked down in terms of what we were doing we were buying cheap second hand or non-recyclable clothing all the way through there was an exponential increase even though trade everywhere else in a lot of other sectors went down so this second hand clothing this sort of cheap non-recyclable clothing is a real issue for the trade sector and it's something that we need to be watching so this just tells you a little bit about what's going on you can see as well that the countries that are at fault here and growing most they're all developed nations so we're importing loads of this stuff and the countries that are exporting China, Vietnam we need to be watching those particular trade flows in order to see where we might be financing something that is not necessary compliant with sustainability I want to move into something that's a little bit more positive though can we also change the way we do things not just about compliance but can we also change the way we do things if we can provide a passport type approach to a transaction then what we can do is give an ESG score to every single contract every single product every single relationship meaning that if we can do this across the whole world and for every single transaction then it could transform the way in which we price trade finance because we could start to bring in all of these different types of incentive now the problem here of course is that the world's really big trades really big you handle billions of data points at any one point in time so we have to be looking at a digital solution to this it has to be automated and it has to be independent because it can't be fixed by the companies themselves but if we can do this what do banks need to know they need to have product and transactions level ESG scores they need to know company ESG status akin to an AML or KYC the EU taxonomy does a lot of that they need to know the supply chain ESG status and then obviously the country as well so again taking it to the level where we can actually start to measure things it's that product and transaction that matching of products every single time that makes this the very simple thing that we should start with it's crazy to even try isn't it well my answer to that and Coriolis's answer to that is always no never never try boiling the ocean let's take it down to something very very very simple we can map products to sustainable development goals on our website you'll see how we've done this for the top 20 trading nations the ones that are positive the ones that are negative against sustainable development goals it immediately means that because we have mapped the HS codes which are the goods that ever the codes that every single exporter has to have and every single importer has to have against their product as their trading because it goes through customs and excise that has to be tracked that is tracked so that's a uniform measurement the second uniform measurement is the United Nations sustainable development goals we can map all of this and we can score it according to their negative or positive impact on sustainable development goals now I've put I've put some links there because of time I won't go through and demo now but if anyone's interested at the end of the session I can do but then we can also take that product level and that product level scoring and a match to sustainable development goals and because we've got the product level information we can also match to dual use goods in other words goods that are used for sustainable goods that are used for military or civilian purposes bill of lading data and Coriolis has access to bill of lading data as well as trade flow data around the world gives the product codes so at a company level and a supply chain level if we have those product codes we can match them and then we can match the company and score the company for every single aspect of sustainable development and that then becomes very powerful so it's a mind-numbingly simple process that we have here it's simply to match the product or the service by in terms of what it's doing to either dual use goods or sustainability through sustainable development goals it's uniform it's standard it can't be gained by the company and what we've done here is develop a product which actually scores the business automatically from outside by checking for governance things so it checks every single company for governance it checks every single company for whether their directors are sanctioned whether the company is sanctioned what currency it's trading in whether its website is valid is valid or not or prone to fraud but then most importantly of all it provides a score for sustainable development and dual use goods it's automated and it doesn't need any intervention from the company at all so it's something that banks can actually use now this is a Coriolis score actually 313 the maximum score we can get is 330 but if you look the reason why down here I've got lower scores for Coriolis is because the company address doesn't quite match Bureau Van Dyke and we couldn't find ourselves in one of the other company databases so we need to go back and check that but it gives an automated idea of the sustainability of a company and it can be taken down to every single transaction automated in exactly the same way so we've scaled this we've taken it through the world is our cosmos we call our sustainability ESG monitoring tool cosmos and this so what we've done is we've scaled this whole approach from the product to the company to the supply chain to the country we've started working on this with the UK we can see where the most sustainable suppliers are country-wide we can see where the most sustainable supply chains are Andrea will be delighted that Italy is at the top there and we've looked at the most sustainable companies as well so this is just a way of using the product and what the company is doing to score a company and score a supply chain and score a country so just to conclude and then I'll take questions is sustainability another digital island can it afford can we afford to make this another digital island I'd say the answer to that question is absolutely no the solution is in data aggregation and standardization and the best way to standardize something it's obviously through the things that we know not the things that we don't know or the things that we could make up we know about a company's product that data is available in customs and excise data we know that the product code is standardized and we know that the SDGs at a united nations level and dual use goods are also standardized we need to scale this quickly if it's going to work we need a collaborative approach we need to hook up with with digital frameworks and hyperledger excellent and excellent starting points we need to we need to think about e-bills of lading how we include products in those e-bills of lading but it means that we could actually start passporting ESG very soon at a product level for trade finance compliance it's independent that's a prerequisite for the sector and it must be interoperable we have a web-based platform it can be built in through APIs as well the problem is universal we have to work together on this and the problem is universal so is the solution B and thank you very much indeed for listening thank you so much Rebecca it was a very compelling presentation I really enjoyed it I'll leave it to the attendants to to make questions to Rebecca this is a unique chance to to hear from her directly I'm going to particularly enjoy this to stop it because I'm deeply interested in ESG and in climate change and you know we just launched two weeks ago a project which is called breaking silence for coming up together with blockchain based solutions that integrate trade trade finance with other you know disciplines supply chain climate change coming all together for delivery and interesting projects I can see a question there from Thomas that yeah that it should be as simple to understand as the energy efficiencies go absolutely I agree with you completely and the idea that we're working on now is that this is totally simple because it's it's HS code it's related so the advantage of an HS code is that it is a it is a tool that's out there already it's a matching product that's already there so it either is a sustainable matching a sustainable development goal or isn't what zero one and it's if it's matching a sustainable development goal then it's either doing that in a positive way or a negative way zero one so the idea is that if you use already existing frameworks and coding and the EU taxonomy we've looked at that in detail the EU taxonomy actually does the same thing it matches by sector and behaviours to sustainable development goals and says where they think it's improving or or or or damaging so what we can do is then scale that into a score that's very very simple zero one it either is positive or it's negative it matches or it doesn't match and so the idea with all of this is yes it's it's as simple it's intuitive anybody in trade trading products and anybody in trade finance understands the need that this has to be at a contract level and has to be at a at a transactions level that transaction is always associated with a product going across the border that metric is always there so it's desperately simple I mean I'm I'm in in winning the poo terms I am a bearer very little brain I'm an economist and I like reducing things down to their very very very simple levels you start with the product because we know that we start with sustainable development goals because we know that and we can take it out and make it more complicated from there but the basic premise is a very simple one anybody else would like to make questions to Rebecca this is Pascal Endres say blockchain will have a massive impact on trade finance sector within the next years what is your outlook for the next decade regarding implementation of new technologies for the supply chain industry okay I mean I think blockchain is incredibly important as a digital tool within the framework of within the framework of trade finance and I agree it's going to become incredibly important I think blockchain solutions are are most important where it's handling data from the user or from either either on the supply side the banks or the demand side I think the big area where we haven't really started to think about blockchain across any supply chain is from the company perspective rather than the bank perspective and I think one of the things that we're trying to do in Coriolis is actually start to look at the demand side in other words the companies rather than just the supply side because there's this huge I mean the big blockchain problem the big digital problem the big the big problem that the banks have in terms of standardization automation through blockchains and through supply chains is the fact that there is this 3.4 trillion dollar gap in SME trade finance you get you can you can do blockchains with very large very large organizations but once you start getting down to the demand side in small companies like Coriolis like a lot of us around on this call once you start getting down to that type of level it's very very difficult and so we have that gap that 3 that that 3.4 trillion that gap is there because it's market failure so what we're trying to do without solution actually is is inject the demand side into this so that we begin to understand now ultimately we'll be handling so much data that we will need blockchains as well I think blockchain becomes a critical part of that data infrastructure the problem that blockchain has is that the data gets locked in it and we need to be able to find a way of analyzing the metadata within a blockchain to be able to understand because actually that then makes tokens easier it makes digital currencies easier it means that we can start to release all sorts of potential within the blockchain world and into a blockchain universe once we start being able to understand the the metadata within a blockchain and you know as a data scientist that will be my main my main challenge in terms of blockchain over the next five years how do we start using that information for good because with that that's actually what we need to start doing I think blockchain will grow I think it's important but I think what we're beginning to see is data coming into this framework as well and if blockchain and data can work well together then I think I think we have our solution. There's one thing Rebecca I wanted to ask you what about the sources of data you know one of the main arguments with sustainability is also energies as you said how to capture some data take for instance the renewable energies that I see there is how to capture real data the one that is close to reality and how to bring them to blockchain space. I think I think again I'm going to reduce this down to something we can measure rather than something we can't if you are trading let's say washing machines and they're leaving Southampton port in the United Kingdom and they're going to China you know that that washing machine has a certain distance that it's got to travel on the ship to China so you can measure the co2 emissions you can measure the you can measure things attached to that particular that particular product you know the distance you know the type of ship you know all of the you know the information that's in there because you know how far it's got to travel and you know ultimately as well I mean if you you know trade lens for example knows what type of container it is and what type of what type of ship it is as well so I mean all of that is in the bill of lading data it's all there all of that information again if we start with that product level and we start with what's being traded rather than start with the environment because it sounds crazy but but if you start with something you know you can build out to more complicated as measurement techniques improve the problem with trying to understand a planet in another solar system is that you can't actually see it at the moment you know it's probably there or you're trying to understand a black hole it's kind of a quantum problem if you like you know there's something out there we can use artificial intelligence to try and find it but let's start with something that the essence of artificial intelligence is that it starts with intelligence you start with something that you know and then you mirror and then you use like we have done with trade data you mirror to find out the things that aren't happening that's how we know that that actually developed world g20 countries are worse at sustainability than some of the emerging companies when it comes to untreated oak for example it's how we know that um used clothing is a real issue for um for developed countries and I think it's that mirroring process and it's that artificial intelligence we need to build the phrase we can't boil an ocean well the ocean's boiling itself at the moment we don't we don't need to worry about boiling the ocean let's start with something that we can measure and then go out from there and it sounds it sounds it sounds sort of almost glib but um if we start with something we can do then we're more likely to get something up and running quickly we can build from there and then once we're building from there we're going to be able to have a we're going to have a more intelligent conversation about what we need to do next um because there are gis systems I mean if you look at um the work sorry uh the world wildlife fund for nature has um this spatial finance um tool that it's built um if you were the world trade organization the united nations and the IMF and the world bank together you would not be able to build the world wildlife fund for nature's technology system um for for spatial finance immediately but we've started the process of doing that because we know the product we can take it down we can solve that most difficult problem we can then build out from there and I think that's the way we have to go we you know the technology's out there it's a question of taking some time to do it properly there is another question and Rebecca is there from Varagi how to let user trust blockchain seems to raise so many negative news about blockchain I wouldn't say negative news but a little confusion maybe so I mean blockchain crypto um crypto um all of those types of things they're kind of I listen to a consumer program on the radio the other day and they were talking about blockchain and crypto as if it were something that was creeping into your creeping into your living room and you should be very scared of and I was really cross because you're absolutely right it is an issue about getting people to trust blockchain but it's not blockchain they need to trust it's open data and if you can reassure people that actually on a blockchain the user owns their data nobody else can see it I mean it goes back to the point I made about trade lens um you can't see trade lens data you can't see r3 data you can't see uh trade ix data there's nothing boltron data there's nothing there you can't see it um it's owned by the user and I think that is the message that needs to get out actually you know the the issue is about who owns your data and on a blockchain the user owns their data if you're looking at open banking implementation or you're looking at uh pds2 or you're looking at any of these things it's all about data it's not about the technology behind the data so that's where the lack of trust comes in you know if data is um you know the new trade war which to some extent it is um then um you know the the risk at the moment is everybody's saying oh Huawei owns all of all of our data and so we need to take Huawei out of 5g systems and we need to take Chinese interest out of 5g systems but if there are blockchains there actually the user still owns their data nobody else can see it and that's what we need to get out it's about promoting open data it's not about um it's not about promoting the technology it's about helping people understand what using their own data means and I can see a question on on use of data where we get data from so um the days we don't use we we don't use trade lens data um I would love it if we could um we don't use trade lens data we we we've curated our own data so our data comes from national statistics offices it comes from uh bill of lading data comes from a supplier um a supplier of bill of lading data and it's very crude and we clean it and we refine it um it comes from a supplier based based um based in um in Egypt and they have they have bill of lading data actually for 60 odd countries so it's it's not as detailed as some of the bill of lading data that you get for from um from countries uh from companies like IHS or or Pangeva um it's not as detailed but we can infer it because we're matching it against the trade flows that we pick up from the United Nations so we have got um we have got um a data source that we've actually curated ourselves and we've cleaned it and we've harmonized it and it it's monthly um and it goes up to the end of the last calendar month so it's actually better the trade flow data is better the other data um that we're collecting around our Atlas product which is our scoring product and our um our Cosmos product um that data comes from publicly available sources it comes from web scraping it comes from it comes from uh checks against sanctions it comes from checking the product itself against dual use goods and um ESGs sustainable development goals so all of our data is curated ourselves we've been going now for four years before that I ran another um trade trade data company so um the data has been through been through every single possible testing mechanism and we use artificial intelligence to create data where there isn't any so for example Africa the data is absolutely pooling everybody would admit that um and so we this mirroring process this quantum process if you like um we know there is trade happening in Africa once you mirror it and once you begin to build up patterns using other data sources you can begin to create data for countries that aren't aren't in in com trade or or the um international statistics this is not the question Rebecca how will blockchain help fast-moving consumer goods industries um I think the only way that blockchain can help is by providing swift mechanisms to get finance to companies where um where um there's very fast growth um one of the things that happened during um lockdown was that um was that we had a situation where um the money wasn't getting to companies quickly enough because bills stopped being paid and everything kind of shut down and at that point if we'd had more secure mechanisms for being able to get money to organizations more quickly um they'd have been able to keep on growing and I think I think it's really it's it's accelerating the process of access to finance because one of the problems with fast moving any company whether it's consumer goods whatever it is is it's usually younger companies um that are involved in all of this it's usually younger companies that have less track record um and so blockchain is a way of providing that degree of security to those businesses um and reassurance to the banks as well that there's that there's nothing going on there's nothing um no suspicious activity so I think I I don't see blockchain as an enabling tool for currencies I see blockchain as a security mechanism and as a way of providing greater security both to the user and and well to the company and to the banks on the demand and supply side well thank you so much again Rebecca he's running out of questions from the attendance there's a stop us for self as good to hear something perfect Julian are you still there hi hey yes great great thank you Rebecca that was a wonderful wonderful um presentation a lot of learned a lot thank you wonderful thank you very much perfect so if there is any other question I would close the meeting and I would love to thank Rebecca for this presentation we'd love to hear from all from her in the future let's catch up again in two weeks time and thank you so much again to everybody thank you here today with us thank you for listening welcome Rebecca thank you so much thank you and see you soon bye bye bye Julian bye everybody bye


Good afternoon everybody. I'll go ahead and get this started right at the top of the hour as planned. Good afternoon. My name is Lance Albertson. I'm the director of the Oregon State University Open Source Lab. And today I'm going to give you a brief introduction to Test Kitchen and Inspec. Before I get started, how many of you have never heard of Test Kitchen or Inspec before you read the stuff today? Okay. How many of you are currently using both? Okay. So great. That gives me an idea. So first off, I'm going to go a little bit of an overview of what we're going to talk about today and then I'll dive into Test Kitchen itself, Inspec afterwards, and then we can open up some questions from there. A little bit about me. I've been at the Open Source Lab since about 2007. I'm mostly a Sysmin by trade. I manage about 10, 7 to 10 undergraduate students at any time doing Sysmin type tasks. I've been active in the open source community over the years quite a bit. So I know pretty well a lot of the projects. What we do at the Open Source Lab, you can think of us as like a co-location hosting company for an open source project, but we're a bit more than that. On top of co-location hosting, we also have our own private clouds, whether it's on Open Sack or Gennetti. We also have our popular FTP mirror that people download a lot of our stuff from. And we also do some manage hosting for some projects that don't want to deal with the Sysmin tasks of managing stuff. The other half of it is that we're an experiential learning environment for a bunch of undergraduate students. They get hands-on experience doing production type activities. They work closely with all of the open source projects, the setup, manage, troubleshoot any services that we set up for them. And we also do our best to try to teach them new and current DevOps practices and technologies. And many of our alumni have been well known through the community. Some of our more notable ones are the co-founders of CoreOS. We're both OSL students. Right now I'm currently the only full-timer and I have about eight undergraduate students that are working for me. So I'm going to be talking about how you can make your life a little bit easier if you're working on developing infrastructure code. So one thing is that developing and testing your infrastructure code, whether it's Ansible, Puppet, Chef, you name it, can be difficult. And if you do something wrong in production, you're in big trouble. Also, how do you easily deal with issues that may happen with a platform you're using? Maybe they upgraded a couple of packages and you don't know what's causing it. How are you going to be able to replicate that and then fix it? There's so many ways you've got to work around that. So what are some ideal ways of working around this? Well, really what you need is a tool that can spin up that test environment that can mimic production in some sense. And then after you spin that up and get that environment configured, set up like you want for production, you need a tool that tests and verifies that state is exactly what you expected to be. So that as you make changes, you can see what's going on and what's happening. And in theory, you would like to use those same tests actually on the production system to make sure that it's correct as well. And getting all of this together really adds another layer of testing and ease to production deployments that you really need to have in this day and age. So the two tools I'm going to be talking about are both products from Chef Incorporated. Well, actually first I should step back. Test Kitchen is actually a community created project that's maintained by Chef. Test Kitchen is used to create self-contained environments. It executes configuration management tools, and then it can run a test suite and verify. Initially, when Test Kitchen was created, it primarily used server spec. And as things went along, server spec kind of had its limitations on doing infrastructure integration testing. And so Chef created something called InSpec. And it's an open source framework for testing and auditing your applications and infrastructure. If you look at the syntax for it, it's very close to what server spec or RSpec is. So if you're in the Ruby world, it wouldn't be that hard to understand. And the nice thing about InSpec is that it works completely independent at any other tools that you want to be able to use. You don't have to install InSpec on a server to test it. You can have it on your workstation or your bastion host and just run InSpec and run the profiles that you want to run on it. And as I mentioned, you can also use this on production system for auto purposes. Say you have some mandate from your employer that you need to have PCI spec, or you need to make sure these things are done. You can continually run it to do that. But that's kind of a synopsis between the two tools. How we use Test Kitchen at the lab is really kind of why I wanted to talk about this, because this tool for us has been really amazing. And it really works well for us because we use Chef quite a bit for configuration management, which is a first class citizen in both of these tools, but it can work on many other things. So what we primarily do is in Chef you have cookbooks, and inside of those cookbooks you have recipes. And those recipes can do things like set up a daemon, install packages, and so forth. And so what we do is we use Test Kitchen to deploy actual virtual machines and use the same code, Chef code, that we use in production to test things. And then as we run through that, we can write tests on that to make sure that the system as it's configured is exactly the way we want it. And this is really great if you start getting into complex systems. If you make one minor change, you may not think it's going to affect something else. It'd be important to know that. The other thing is, once you have something deployed and you want to make a minor change, you like to be able to ensure that it's going to work the way it wants. And so you can make a minor change, add, adjust the tests as needed, and then you can run it and make sure that the full suite works exactly as you intended. Some other things that we've been using it quite a bit for is testing major software upgrades. Excuse me. So we have OpenStack and Chef in our environment, which are both very complicated systems. And OpenStack has a six-month release cycle, and doing in-place upgrades is a real pain in the rear. There's a lot of moving parts, there's a lot of things going on. And I've developed a way in our test kitchen environment that we can test this. So I can have one branch that's using the current code base, I can have a new branch that has the next version, and I can make sure everything works. And then if I really want to, I can test, I could spin everything up in the old environment, switch my branch, run my converge on test kitchen, and I can see what happens in theory on a semi-production environment. So I can catch a lot of these major issues, maybe not all the nuances things that you don't quite catch in a real production environment, but most of them. And we've actually gotten to the point where we've used test kitchen in a multi-node environment. So I can have a controller node, I can have a compute node that acts as part of the cluster and make sure that they can talk to each other, the firewalls are set up properly, we can run commands as we want between them. And the same thing with Ceph, we could do the same thing with there, we could have a node that spins up that tests that it can mount the Ceph FS file system, for example. And the other major thing is if we're dealing with operating system platform version upgrades, so for example, Cento S8 is coming out weeks from now probably. We're currently on seven, once eight comes out we can start using test kitchen and inspect to ensure that all the changes that happen between seven and eight, we can deal with it and we know ahead of time that we have everything sane. So test kitchen is YAML driven, it works on a variety of platforms. It primarily, I'll be showing vagrant here, but there's other things you can use it with, it actually works with Windows as well. I don't have much experience with it, but I know it works there. And it's really, really awesome. So the basic workflow is, is that you configure it in the YAML file. Initially it was the .kitchen YAML, but now they've created just the .kitchen YAML. You can set up VMs or containers or EC2 instances, you can connect it to, they have various drivers that allow you to do that. And then after it spins up that in VM, it installs the configuration management tool, whatever that might be. It copies any files to that node, usually the files that you have that define what you want to do, and then execute and converge that config management tool to the state that you want. And then after that it runs the test suite. Inspect is what I'm talking about today, but it also has support for server spec and baths if you have experience with that. And then after everything happens and everything works, if the test passes then it destroys the VM or the container or the EC2 instances and you're done. This tool can be integrated into your CEI environment. A lot of the upstream community cookbooks have this integrated end using the Docker side of it with Travis CI or Circle CI and it works really, really well. Installing test kitchen and inspect, there's basically two ways. The easy way and the semi-hard way. The easy way is you can download the binary packages that Chef Incorporated actually has. And that's what I would recommend. Chef Workstation or Chef DK, they recently changed their licensing, so the latest versions require you to accept the license. You can read through what that all means. If you don't want to deal with that, you can just install it with the RubyGEN environment and just bypass that completely. I recommend using something like RVM or something similar and then you can just run gem install, all this, and then it will just be there. And you don't have to worry about the ULA because the ULA doesn't apply to gems or anything like that. And also in our case, if you want to make sure you have Vagrant or whatever hypervisor you want to have set up on your system, make sure that's configured already. So here's some common commands you might see. You're in a new repository. You want to initialize it. You can just run kitchen in it. If you want to see the list of suites that you want to have, you can run list. And here you're seeing that there's one called default. That's the main suite that you have. And then you have two platforms on it. And so it kind of branches out from there. It's using the Vagrant driver. By default, it's going to use Chef Solo. Here it's not actually using InSpec. It's using probably server spec in this case. And it's using SSH to connect to it. And you can run a variety of commands by default. You can converge, which basically spins up the VM. It runs a configuration management tool, and then it's done. If you want to log into the machine easily and just poke around and like you're doing some development saying, okay, this is working the way I want it, you can just log into that. There's also the verify command that you can run to run the actual test suite and then destroy it to destroy it. If you want to do all of those steps, of course, excluding log in, you can just do tests instead. So test as converge, verify, destroy automatically. So configuring it is pretty simple. In this case, you want to define a driver. In this case, I'm defining the Vagrant driver. The provisioner is what you need to have defined. Here I'm using Chef Solo. And then what platforms you want to have. Kitchen already maintains several Vagrant boxes that are intended for this. So for example, putting these in here, it'll automatically pull it from that repository. So you can list as many operating systems as you want, or you can configure how you want to pull that from exactly if you want to as well. And the suite is where you actually get to this integration side of things. So in Chef World, we typically do it by recipe. In puppet, it might be per module or manifest or however you want to do it. And each suite can have its own specific configuration as well if you have that. And I'll show some examples of that later. But this is a very, very basic configuration of the YAML of how you're going to do it. And this actually shows on the previous slide what it looks like when you run Kitchen in it and List. Now the first example I'm going to give is just a simple Chef with Kitchen. Here I'm installing, I'm ensuring that I'm installing Chef 14, which doesn't have a ULIS, so I don't have to accept the license every time I run it. And I'm running it on two platforms. And I have a simple recipe that all it's doing is installing the Git package. Also, I have all of these examples in a Git repository on GitHub, and I have a URL at the very end if you want to check that out. So when you actually run it, this is what it's going to look like. And here I'm showing you how you can actually run individual tests. So this first one is running Create, and then it'll eventually run Converge. Now I sped this up a little bit so that this isn't real-time how fast it's going, but you can see here now we're converging. It's installing the Chef binary, and it converged it, installed Git, and then I verified that Git was there and it destroyed it. This one is running Test, so it's going to run all of the suites. And you don't have to run any other command. This is the only command it's running, and it's doing it on the CentOS 7.1. So you can kind of see how differently this is working. It's doing the same thing, installing Chef, it runs Chef, it installs the package, and then Inspect runs. And here it's doing iterating through every... Yeah, this is just doing one suite. Now another nice driver that's included with the kitchen is one integrated with Docker. It's actually called Dockin. I don't remember why, because the original Kitchen Docker didn't work very well. This is very integrated in with Chef. There's probably ways of making this work with other platforms, but I wanted to at least show that. The nice thing about this is that once you have all the images downloaded, it's really fast. The problem is that if you're running recipes or code that doesn't like being inside of a container, this doesn't work very well. So here there's some upstream images that are already pre-created, and it's doing the same thing, but in Docker. So here I'm doing Chef Docker, and it's actually going to do both suites. It's going to do a bun two first, and then it's going to do CentOS. So one thing you might wonder is, do I have to run them all serially? No. In my next slide, I'll actually show you running it concurrently. And you want to be careful with how many concurrent ones that you do, depending on the machine where you're running it. Any questions thus far? Okay, so there's that. There's that example. This one uses a concurrency of two, and I'm enabled to color, so you can actually see it running concurrently at the same time. Now at the lab, we actually integrate all of our test kitchen instances through our OpenStack cluster, so nothing runs on the local host. So there's times I can spin up 18 VMs all at once to test a really big suite of things in our infrastructure and get a really quick feedback on stuff. Now we get to the more interesting part of the talk, and that is making kitchen work with other configuration management tools. Like I mentioned before, test kitchen really... Chef is a first class citizen, but community members have extended kitchen to include other platforms. So here's an example with Puppet, where I've defined the provisioner as Puppet Apply. I describe where the various paths are in this particular suite. I'm pretty sure you can define this up higher, and so that you can have individual manifests for each suite, and that's the only thing you define. And as an example here, you can say, for example, I don't want the Chef RPM or anything to be installed because we're doing Puppet. And so this full example is also in that repository, and this works a little bit differently, but it works. And I'm not sure... When I ran it the first time, I noticed it seems like it worked a little bit differently than I expected, but it seems to do exactly what it's supposed to do. So here it has its own method for installing Puppet. Basically, it installs the repository for it, and then it installs it, and then it runs Puppet itself, and then it runs the verification from InSpec. And then the same thing happens with CentOS as well. It works the same way. So this is a great example of using test kitchen and InSpec to test your Puppet manifests and so forth. So you can just create a kitchen YAML file in your repository for it, and you can start testing all of your infrastructure right there. What if you're using Ansible? Well, there's another one for that. So here's an example that uses Ansible. You define it as an Ansible playbook. You have some other attributes that you want to have. And if you look at the upstream documentation for this particular driver, or this provisioner, I should say, it'll explain all the different options that you need to worry about. For my example, those are the ones that I use to kind of make it work the way I want it. And so I'm still doing the same thing. I'm installing Git. And so here's, oh, of course, this worked the other day. I'll skip it. But it basically goes through, let me see if I can refresh this, because it did it the other. Let's see here. Let me add it one more time. This was doing it before. Nothing like having it break on you. So here we go. It's spinning up Ansible. It's spinning up the VM. It'll install Ansible. I've noticed this one takes a little bit longer. So there might be some adjustments that could be made to how Ansible gets installed with this particular driver, or this provisioner, I should say, or I could have changed it in a different way to make it work. But it works. It runs the manifest, and you can test it and verify that it works the way you want it. Any questions? The test results? They just get sent to standard out. So in theory, if it fails, the command returns like an exit value. And so if you have it in your CI system, that would show a failure. But if you have it in your CI, you would basically just look at the output there. I think there's some different ways with kitchen, at least. You can change the output. But I'll talk more about InSpec later about the test results, because you can do quite a bit with that. So here's the example going with, oh yeah, this is with CentOS. I did these images in GIF, so I can't exactly pause them. So I wish I could. Here we go. We run it, installs it, and it verifies it's good. All right. Now we're getting into an interesting one. You can actually use kitchen to test your terraform. This particular example is just doing a local docker. But I'll show you briefly what it looks like if you do it in a more complicated way. But basically, if you want to make sure that your terraform configuration works exactly the way you want it, you can do that. You can run InSpec tests to do that. It works in a very interesting way with how Test Kitchen works. So here's an example of doing it. It runs really fast because it's docker, and it's just spinning something up, creating it, testing it, making sure that it's there, and then destroying it. When you do more complicated things, it works a lot. It takes a lot longer. Now, what I'm interested in terraform is actually multi-node testing. So Test Kitchen currently does not have a concept of if you need to have a service that has multiple nodes and testing and interacting between each other. I've had multiple discussions with the upstream authors, and they basically all kind of agree it's kind of outside the scope of Test Kitchen. The intent is you do one small test on a single node, and that's all you need to do. But I have a need as a system administrator that I need to find a way of testing my more complicated systems. And so one way that I've been working around it is actually using Kitchen Terraform and tying it with our OpenStack provider. You could easily tie it with AWS or whatever else that you would want to do. But what we've done is we've done it to mimic a OpenStack cluster. We actually run an OpenStack cluster inside of an OpenStack cluster. It's funny as that sounds. And then another one is simulating a Ceph cluster as well. And when we do that, we actually have to spin up a ChefZero node because Terraform expects a Chef server, which is its own thing. And we don't want to set that up every time. So there's this in-memory only Chef server that we can use. And so we spin that up, and then we configure our nodes in Terraform to talk back to that. And I spin up three storage nodes that are acting just like a regular Ceph cluster, but they're VMs. I spin up another node that's set up as a Ceph FF client. And then I can write tests that either test all of the nodes, the same test. I can test individual ones. I can run commands on them. I can make sure everything is working the way I want it, which is great if I go in between one version to another to make sure everything is working the way it's supposed to do. So that's been a really awesome, amazing way. I couldn't get the GIF to compile in enough time because it was so big. But here's I'm speeding it up quite a bit. But this is spinning up all of those. This is doing the Ceph FF, the Ceph version here. So I'm spinning up the node that runs Chef zero and then this is installing the first node. It's going to install Ceph. It's hard to say those back and forth. Ceph and sets up all the OSDs and it goes on to the next one and keeps on going and going and going. This took me a while to figure out. And once I got it going, I was so happy. It made testing our upgrade so much easier. And when I did the upgrade on our production stuff cluster, I didn't have any issues because I could actually simulate issues potentially like, okay, what happens if I do this one upgrade here and I don't do the other one? How does this work? And then one more node after this. And the nice thing is is when it destroys everything, since it's Terraform, it just destroys everything in the background as well. And this assumes you have Terraform installed on the machine. So shortly here it should run the integration test. It'll probably go by so quickly that you couldn't see. But here you see you're seeing it going through each node doing its tests and now it's destroying everything. So that's one advanced example of using Test Kitchen in a multi-node environment. Now let's move on to Inspec. So Inspec is an open source framework for testing and auditing your infrastructure and applications. It works with testing your system and making sure it's in the state you want it. It can display violations and it creates a report. The report can be done in a variety of ways. It can be in JSON. It can be in HTML. It can just be the standard out. It can just show you only the errors that comes out and so forth. It's created by Chef and it works completely independent of Chef. You don't need Chef to run Inspec. Inspec does its own thing. And as I mentioned, Inspec foreign later have the new Yula. It runs remotely and you don't have to install an agent or anything on the remote hosts, which is great. It runs everything remotely. And the other part is that there's some communities around that on creating a collection of tests that can be managed and done with the community. And this integrates really well with Test Kitchen, which is what you were seeing in the previous slides. But you don't need to use Test Kitchen to use Inspec. So some basics. You create a profile, which you don't have to do when you do it in Test Kitchen because it just does it magically. And a profile can be just a complex set of tests. So you want to say, my application X, I expect these types of things to happen all the time. And so you would write individual tests. You would set some of the tests at some kind of a score. Like, if this really fails, this is really bad. If this fails, it's not so bad to make it more of a warning. You can also set dependencies. And you can point to public repositories or private repositories. You can say, well, this actually needs to have this baseline for our company that we want to have and make sure that this node has that all configured and everything. The next part is actually adding your tests. So there's over 80 resources that you can use that are useful to create and construct tests. So several of them are just going through files. So there's actually one specific for Apache Comp. There's one for any files. Or you just want to be able to see specifics about your Docker. Or you want to see how your FS tab is configured or files. Or the really useful one is just running a command and checking the output of that command and making sure it's right. All the actual tests that you do are written in Ruby in an RSpec syntax. So it's pretty readable. Adding resources is pretty easy. You can include it yourself if you want. Or you can extend it. Actually, I added the IP6 tables resource because they had IP tables, but they didn't have IP6 tables for IPv6. And that was easily added and got that incorporated in a release version, which I think is actually included here. And then after that, you target your system. So you run the tests on the infrastructure however you like, whether it's locally or remotely into the cloud or however you want. You can run it apart of Test Kitchen as well if you want to use the same tests. Or Chef actually has a product called Automate, which can integrate all of this. So it can run, basically it runs InSpec with a set of profiles continually and reports back to a web application to give you nice, pretty generated reports. So you can see what's going on. You can click buttons to make it go do and fix things if you want to. I haven't had experience doing that. They've open sourced that product, but that's also under the new ULM. But that's something cool you can look into quite a bit. So here's a very basic test. We have this any file off to the left. It's very simple. And then on the right, we have a very simple test. So here we're describing the path to the any file. And then here we're setting if you read the documentation for the any resource it describes, here's how you do it. So for just a simple port or for the syntax up at the top, you just put the name of the variable and the key on the right side. So here you can say it should be equal exactly to this. There's also a compare, evaluate or match, which means you can do a full regular expression if you want to have that fun, which we use quite a bit. You can also do values of less than, greater than, all that fun kind of stuff if you're expecting various things. If you're getting into a section and part of the any file, you can just, there's a syntax for doing it where you just do the section dot the name of the setting and return that. So here's what it actually looks like when you run it locally on the system. This just runs, I had a file locally straight there and I just ran it. And this is what the output looks like. By default, it shows it in a nice colored output. If it's all green, it means it's good. If there's red, that means something failed. The inspect executable has a variety of commands. The most useful one you're probably going to run into is the exec command. And as I mentioned, there's a variety of ways if you can do it. You can point it to a specific test that you want to run. You can point it to a profile. You can point it to a remote SSH repository or Chef has a supermarket where people can publish them where you can grab it from there as well. If you look at the man page or the documentation, there's a whole bunch of other settings you can do. There's even settings for setting a bastion host and a way you want to log into a bastion host and then from there you can run the command outward. They wrote a really awesome library to manage SSH connections and with Windows it uses WinRM. And it's very stable from what I understand as well. So this works really well on Windows as well. Here's a little bit more drawn out example of a target. So here I can use the target URI method. So I say I'm going to SSH as this username to this host. Since I'm not logging in as root, I need to enable root. This assumes that sudo doesn't require a password. But if you do require a password, there's another parameter you can give to do that. Here I'm giving it to a path to an SSH key that I have and then a path to the test of the profile and it runs it. I'm not going to do a deep dive on profiles, but I wanted to at least show you what it looks like. It has its own metadata structure. So you have a YAML file that describes it and the dependencies that are there and other various information. Controls are actually where the individual tests are. You can have different controls for each type of test and each control can have its own setting that you want. Libraries are anything that you've kind of wanted to extend. So if you wrote your own type of resource, you would put it there and it would get locally sourced. And then there's a files directory. If there's any files that you need to use to have the profile access while you're running it. As I mentioned, there's a community behind a lot of these profiles. There's one dev-sec.io. They provide a lot of baseline tests for your typical environment, whether it's an operating system application or specific components that you want to test. And the cool thing is they also provide remediation examples for Chef Ansible or Docker. Yeah, it was the Docker I was supposed to put. I think I might have had something puppet. Oh, it should be saying puppet there. I made a mistake. And it's really, really, really useful. You can contribute. It's all in a GitHub and you can contribute to it. So here's an example that I've spun up a standard vagrant VM and I'm running the baseline, the Linux baseline test on it. And I'm kind of slowly going through showing you the output of all the various areas that have gone through that's happened. So this has a whole bunch of tests that are community driven. And the default VM that comes from this particular box that I use has all of these issues. At the very end you'll see how many tests to have and where things are set. And I guess I didn't show it. But there's a lot of failures. So the great thing is, that's awesome. I have all these failures. How do I fix it? In this case, on the dev-sec one, I can actually go to their website and I can download specific examples. So they have Ansible, they have Chef, and they have Puppet. And you can run that and then rerun the test and see how it looks. And that's basically what I have this example as here. So in this example, I'm logging in to the system. Let's see here. Oh, this is actually showing the same thing. So this is all the errors. Any questions while this is running? So now I'm actually logging into the system and I'm running a script that basically will run the Chef remediation for the Linux baseline. Say that again. It runs commands using standard Unix utilities through Ruby library, I think called train. Or Windows types of commands that use the standard commands to kind of get all that information. It's inspect based. So it's all written in. So there's Ruby code and inspect that does that. And it doesn't run Ruby on the remote node, but it runs standard Unix commands or Windows commands to get the information it needs. And then based on the output of that, it uses Ruby on the local host to determine what's going on. It's all part of it. Yeah. So, and I don't know if this got locked up or what, but basically here it would be running through all of the various changes and it doesn't look like this example is working the way I want it and it's not showing the end. But the end result is that all the tests pass except two that were marked as skipped as their minor issues. So that's one example. Coming back to here, another example, if you're not wanting to use the upstream one and you've written your own one, this is a great example of, hey, I wrote something and something changed. I want to rerun it and make sure it's fixed. So in summary, Test Kitchen is an amazing tool. I love it for developing our infrastructure code. It has a wide range of drivers. Even though Chef is a first class citizen, it has some extensibility in other providers. Inspec by itself is also an amazing tool. You can make sure that your infrastructure is working exactly the way you want it. And if you want, you can tie it in a shop automate and have even more amazing reports. And when you tie them together, it's an amazing set of tools. So with that, I'll open up for any questions.  Are there any questions? All right. Thank you for coming out.