So, hello, I'm Godfrey. You can find me on the internet as a change in code. You might have come across me on the internet as a Rails core team member, or I've also been making contributions to Ember lately. And like Leah said, I worked for a local company called Tether. You might have heard of it. In fact, I recently, like Leah said, I recently moved here from Canada, and Leah told me, oh, it would be great if you can do a talk at Ember Meetup because just, you know, move here from Canada. So I said, OK, great. I will talk about Canada. So I moved here from Vancouver. It's a very beautiful city. If you have not been there, you should find some time to visit Vancouver sometime. This is a picture of Vancouver downtown. As you can see, we have an amazing health care system. So there are a lot of five-star hospital buildings in downtown. And Canada is also one of the largest country in the world. As you can see, we are ranked number two right after Russia. As a result, we have a lot of land. And for example, our parking lots are very wide, as you can see. If you're familiar with the parking spots here, you probably won't believe me that this car is parked. So I took another picture with another angle so you can see there are no one in there. It's actually parked there. And of course, it will be pretty bad if I just show people's license plate on the screen so I make sure I blur it out as you can see. We also have very advanced technology. We invented the original smartphone. And lately, we have been working on self-driving cars. You've probably heard of it. When it comes to self-driving cars, there are a lot of moral issues involved. Because if a dog runs out to the road, the car will have to decide, should I hit the dog or should I pull to the side and maybe kill everyone in the car? So that's some very complex moral issues that programmers today have to deal with. Fortunately, we already have very advanced technology for dealing with accidents on the road. So that's our latest contribution to the technology. And you can expect a lot more from the Canada technology sector going forward. So that's basically all I've prepared. But today, I found out it turns out they actually want me to talk about Amber. So I've prepared a little bit about Amber as well. Literally, I've been working on the thing that I'm about to tell you up until two hours ago. The core request was just merged two hours ago. So I only have two hours to prepare this. So please forgive me if it's not very good. But OK. So the thing I want to talk to you about is fast food and beyond. So traditionally, when you think of Amber, you think of something like this, right? Like this is a skylight and app that we have been working on. But basically, it's like a full page app that takes over the entire page. And it's interactive and you transition within the same thing without having to reload and stuff. And that's great. And that's how Amber 1.0 works.  And then Amber waits for a DOM ready. And when DOM ready comes, it boots your app. And your app takes over the entire body, usually. Or maybe you can restrict it to a container diff in your app. But basically, it waits for DOM ready and boots the entire app. And it just takes over the experience from there. So that's what you want most of the time, right? Like a lot of people call it single-page apps or we call it ambitious web applications or whatever. That's basically the primary use case of Amber. And basically, it's like, take over the DOM. We have one true app. Let me do everything. I'll take control of the URL, the DOM events, and everything else. Thank you very much. But it turns out that this is what you want most of the time, but this is not what you always want. So for example, in testing, it would be pretty terrible that you need to test your app and you load your script tag with your app and you had your Q unit harness in there and you load it and boom, like your app took over the entire screen. You can't test it, right? So and obviously, since the very early days, well, Amber itself has a lot of tests, right? So Amber has to test itself. So you solve this problem somehow. And later on in the one point, it's really serious. It also adds a lot more like the ecosystem also caught on to the idea of testing. So that was a problem that needs solving. So basically, you need an emergency brick to stop Amber from like, please stop, please don't take over an entire DOM. I have stuff to do. And that emergency brick is app.setup for testing. If you have been doing Amber testing for a long time, you probably have typed this in your app many times. If you are more recent to the ecosystem and you're using something like Amber CLI, it probably does that for you, but you have to call it somewhere. So basically how it works is you have your script tag for Amber and you have just script tag for your app. And then at some point, you call in testing mode, you call app.setup for testing. And it's basically, actually never mind, I will take it over from here.  Let me boot the app and then append to a fixed area in the DOM. And then when the test case finished, I will tear it down myself by calling app.reset. Again, if you have been doing this for a long time, you probably have typed off that. Lately, some advancements in the CLI ecosystem probably means that it can hide some of these from you. But fundamentally, this is how it works. You have one true app that you can boot and you can have one at a time. And you can call reset to try to put it back to its original state. And that works most of the time, but it's pretty difficult to pull off. As you can imagine, there are a lot of things that your app could be doing in between this step and this step. And having to unwind all of those things when you call reset could be error prone to put it mildly. But anyway, so that was the testing story. And that's the solution the Amber community have improvised or developed to solve the one scenario where you don't want the one true app, which is testing. And it worked out pretty like there are problems, but it worked out OK for the most part. And then later on, there came fastboot. So what is fastboot? So it turns out every once in a while, search engines like Google might try to index your sites. And if you build your app with Amber that requires JavaScript and up until somewhat recently, Google doesn't actually know how to execute JavaScript when it cross your website. So unfortunately, that basically means you cannot return anything to Google, and Google cannot understand your sites, which is perhaps important if your blog website or if your news outlet. You might actually want people to be able to search for your stuff on search engines. So what you actually want is when Google talks to your web server and asks for a page, instead of just returning a blank page, you actually want to somehow return the HTML content of what your page would look like if you have JavaScript enabled. There are other use cases, like there are other places where this is beneficial, like if you're on a slower device, it might be good to return the render page to your phone and then wait for the JavaScript to catch up and then make it interactive. For now, let's focus on the SEO use case. Now, there are a lot of challenges involved with fastboot, like you have to somehow figure out how to run Ember in a Node.js or on a server-side environment that isn't actually a browser. So we will sidestep all of those problems for now and we'll focus on a very specific part of that problem. So you could imagine if you somehow figure out how to run Ember on the server, you could do something like this. When a request come in from the browser or from Google or whoever, you can boot a worker, which basically makes a sandbox environment like a browser-like environment and then you load Ember into a browser-like environment on the server and you boot your app and you render a page, extract the HTML, return it to the browser, return it to Google or whoever and then you destroy that worker. So this is obviously pretty costly because for every web request that comes in, you have to bootstrap a sandbox environment, load Ember, and all the things, which is presumably not very cheap. You can do something a little bit better. You can, for example, you can pre-boot a worker and then you can load Ember into it and you can boot your app and wait for a request to come in. When a request come in, you can render a result, extract the HTML, and then you can call app.reset like how we do it in test, really. You can try to reset the state of your app back to where it is. So now you're ready to serve the next request that comes in without having to boot your app and load Ember. Sorry, you still have to boot your app on every request, but you can avoid loading Ember and bootstrapping a browser-like sandbox environment for every request, which is roughly how Rails and a lot of other web framework works. But there is a problem. So rendering this page might not be cheap. So for example, you might have to make five or six Ajax calls to get all the content to render this page, and that could take perhaps like 100 to itself milliseconds. And while all of that is happening, your worker cannot serve other requests. So if you have a lot of visitors to your site, you would have a few workers or a lot of workers standing by, just in case there's a lot of requests flooding in. But there are actually something you can do better because we're running in JavaScript. Like if you have written any apps, like our server-side apps in Node, then you would know that usually you won't have to do this or you don't need a large number of workers because JavaScript is actually pretty good at handling, like doing multiple things at the same time, while the Ajax request is happening and actually do some work to prepare for the next request and fire off is Ajax request and do a lot of stuff concurrently or it feels like it's doing it concurrently. So because we're running Ember in JavaScript, it feels like we can take better advantage of that instead of having to boot many workers to process the request. So ideally, this is what you want. Basically, you would put a sandbox environment and you would load Ember to it and load your app into it. And for every request that comes in, you want to boot an instance and then use that instance to render. And meanwhile, you can boot many, many instances within the same worker process and serve many requests at the same time. They were just like when one request is blocked by IO or Ajax request, I would just use the CPU time to process another request. And it can do a lot more work with a lot less workers. So that's basically the goal. And in Ember 1.12, Yahuda and Tom and then did a lot of work to make that happen. So basically, the result is instead of having one thing called Ember to application, they split up into Ember to application and Ember to application instance, you might have encountered this concept if you have been using initializers. In that release, you have to break your initializers into application initializers and instance initializers. And they do slightly different things. But the way to think about this is Ember to application is basically the blueprint, or since we're JavaScript programmers, it's basically the prototype of your application.  In other words, all your application states live in the application instance. And the application itself is basically just like a skeleton step. So that happened in Ember 1.12. But there aren't any ways that you can take advantage of that. So from your perspective, perhaps you're just doing a lot of work for apparently no reason because you can't actually make those application instances to yourself. There's no public API for doing that. And frankly, you might not really have any reason to do that anyway. Because if you're using Ember today, you're probably in the one true app mentality. And you just have one app on the page. And in 1.12 and beyond, basically how it works is when on DOM ready, it will boot your app. And then it will boot a default instance for you. And it's all transparent. So from your perspective, it's basically still doing exactly the same thing. And now the reason that this actually happened is, as I said, to prepare for FastBoot, which is a feature that is in Canary behind a feature flag. What FastBoot did is basically they added an API called Visit. So on your application, you can call app.visit and give an initial URL. And it will boot an application instance and navigate that instance to this particular URL and resolve a promise with that instance. So this is great for FastBoot. And if we go back to this slide, you can imagine how it works. Basically, you have a worker. You load Ember. And then you wait for a request. When a request comes in, you call app.visit, whatever URL that request is for. And then it will return promise.  And it will return another promise. Whenever the promise resolves, you can finalize the request by flashing the response with the HTML. So that's great. And that's basically the FastBoot or slash application visit feature that is currently on Canary. So last week, I have been working on this feature to add some finishing touches. And hopefully, we'll be able to finalize this for the next, like not the release that's happening imminently, but the release after that. So I would like to show you some code of what I worked on last week. But before we proceed, I would like to warn you these are experimental APIs. If you use them in your app, like if you upgrade to Next Canary, they might not be there or they might be renamed. So these are strictly for your eyes only. Please don't type them into your computer. Or if you do, that's fine. But please don't quote me like three months later and like, hey, your code doesn't work. So basically, these are subject to change. And they're still in active development. But consider this a sneak peek. So the work I've been doing is in ProQuest 12394. It's called the Visit API FastBoot. Like I said, it has been merged into Canary two hours ago. So if you are really brave, you can look into that and maybe try that, perhaps. So as it turns out, I have been talking about application and application instances. And like I said today, they're only using FastBoot. And on the browser, there are no really any uses for them yet. But as it turns out, the idea of being able to build many instances of your app based on a skeleton or a prototype or a blueprint is actually useful in many other scenarios as well. So for example, testing, it would be great if instead of, let's go back to, right, so this is the API we have. Like we have today, the API is we have a global app and you can boot it once, exactly once. And then you can do some stuff to it and you can call reset to hopefully bring it back to the original state. But now that we have the concept of application and application instances, we can actually do something better.  And on the setup of every test, you can just put an instance and do stuff like within your test to poke at the instance, do whatever, like navigate to different URLs, inject stuff in the container, whatever. And by the end of the test in your tear down step, you can simply destroy the instance and you don't have to worry about rolling back in the state on the global app instance. And there are more use cases for the concept of instances. For example, menu boot. So most of the time you're probably working on a one true app that takes over an entire page. But perhaps you have a marketing website where you want to show off your app. But in that case, you don't actually want it to take over an entire page. You probably just want to restrict that into a tiny box on the marketing page that you can play around within the demo frame. So it turns out that the Visit API is also a pretty good way to expose the primitive concept of application instances publicly. So for example, on your marketing page, perhaps you can import your app file from your thing and then you can create an app that tells you not automatically boot itself and you can point it to the demo page you have written and then render that into a specific root element on the page. And that's all using the same app that you have been working on. Or perhaps you can do multiple instances of your app on the same page. Perhaps you are making a multiplayer game and you want to add a split screen experience. You can figure out how to do that within your app. Or perhaps you already have support for network gaming. So your app already know how to handle multiplayer. So perhaps you can just render two copies of the app on the same page. Like you can make one on the left side of screen, make one on the right side of screen, point them to the same game session and then they know how to communicate with each other. Or perhaps you have widgets on your app. You have many widgets on your app. So perhaps you are New York Times where you have most of your pages server-side rendered. But occasionally you have some data visualization and stuff on the page where you need something more, something more like Ember components to help you organize your code. So is Mitch here somewhere? Oh, he's there. OK, so Mitch, you should talk to him afterwards. He's been working on a project called Ember Islands which solves exactly the same problem. There are other people on the core team that is also working on something similar. Basically the idea is to make it really easy to just render a few components on like contained area within your page. And turns out that application instance is a pretty good primitive for doing that. And perhaps we can expose more of those use cases with the Visit API. You can go to pull requests. There's one more use case. So perhaps you are someone like Intercom where you want to ship a script tag and let people put that script tag on the page and render like an app chat thing on the same page. Obviously in that case, you're not in the one true app scenario. You don't actually want to take over the entire DOM. You just want to render a little mini app that's embedded inside another app. So application instances are probably a good primitive to get us there as well. We will see how far we can get with this. So again, the pull request is 12394. And there are a lot of documentation in there. So again, those APIs are subject to change. But you can start looking at that and poking at it and give me some feedback. And that's all I have prepared for you today. And once again, you can find me on the internet as chenkingold. And thank you very much.


And it's Rondo, director of the Future Frontlines program and a professor of practice at the Center of the Future of War at Arizona State University. And I'm Ben Dalton, I'm a fellow at the Future Frontlines program at New America as well. We wanted to talk a little bit about oligarchs and oligarchy, specifically as they pertain to Russia. And I thought maybe we could start just with a very brief history lesson for those who are not clear. When you say oligarch in the Russian context, what does that really refer to and how did that sort of come to be? The oligarchy in Russia is roughly 30 years old. It starts really with a collapse of the Soviet Union, where you saw an accumulation of capital and power kind of come into the hands of a lot of Communist Party elites, in particular, Communist Party elites that were associated with the security agencies were some of the first to get their hands on major levers of capital in the country as the Soviet collapse happened. There was a major reorganization of the entire economy, you know, factory managers, industry leaders who were clever enough to figure out that their best route to power and wealth was to take essentially the shares of state-owned property for their own good and then consolidate that into value that could then be transmitted as money, right? Those folks became the power brokers inside Russia very early on in the 1990s. Right. So you mentioned that a lot of these were connected to state security services, the Communist Party. You know, could you talk a little bit about the specific positions that enabled them to sort of get these former state-run industries at bargain-based rates? Well, a good example, actually, one of the most famous examples who, you know, is Mikhail Korokovsky. He was, you know, an oil baron, oil magnate who now, of course, resides outside of Russia, is probably one of the most well-known dissident oligarchs out there who started his career in the youth wing of the Communist Party. So he was kind of a pioneer, as they say. He worked his way up in this elite functions of the youth party. And he also was very clever in his consolidation of his understanding of how to use state-run companies or enterprises. Probably a better way to describe them rather than companies and convert value from those companies. So theoretically, anybody who was a Communist Party member and worked in a factory or an enterprise of some sort was a joint shareholder in some way or another. And all the property was collectively owned by the state. But the people were theoretically the joint shareholders. In reality, as the collapse occurred, the question became, well, what is the value of this particular enterprise or industry? Right. Let's say a pipeline factory or, you know, some sort of machine-making factory. You might have lots of different parts and products that would go out into the market, right? Technically, those would be controlled by the state. When the collapse occurred, then it became a question of, well, how do we privatize this property that has been basically collectively owned? And the leaders of those enterprises typically were the ones in charge of that reorganization process. And so, of course, they naturally understood that they kind of were sitting in a catbird seat in terms of taking the most shares, right, or perhaps redistributing them to friends and family members. And that's really kind of the origin story of the oligarchy. Khodorkovsky is a good example of somebody who kind of did that early experimentation. He was, of course, very close to Moscow power brokers that kind of gave him the leeway to do that. And that eventually led to the formation of a bank and an oil company known as Yukos. There are other stories like this, of course, Boris Barzovsky, very famously built an entire media empire similarly out of state-run enterprises that were reapportioned and reshared out as a result of the privatization process. Yeah, see, I'm glad you mentioned Khodorkovsky because I wanted to ask you about the relationship between oligarchs and the seat of government power as represented by Putin himself because Khodorkovsky and Putin had a very famous falling out that that resulted in Khodorkovsky spending several years in prison and now lives in exile. Are there still multiple poles of power in Russia represented by Putin versus the oligarchs? Or has he managed to successfully sort of fully put them under heel, so to speak? That is a really good question. I think the jury is kind of out on that and I'll explain why. So I mean, we have to go back now to like the late 1990s, early 2000. So Putin now, you know, is being elevated as president in 1999, 2000. He has been the chosen one. And part of the bargain there is that the oligarchs, the early days of oligarchs that supported Yeltsin would support Putin in exchange for not being prosecuted under anti-corruption laws, right? Or any myriad of laws that could have been applied in the instance of like a Barozovsky or somebody else who was close to Yeltsin, tax fraud, you name it. There are many options available at the time, of course. So the bargain with the so-called Yeltsin's family, the family they're often called was, you know, Putin will be elevated to power. Those kind of who had supported him along the way, particularly wealthy, you know, oligarchs who were kind of pulling away from Yeltsin were maybe reluctant backers of Yeltsin because he was, of course, kind of in ill health, mentally and physically, had decided to sort of switch tack and move on to supporting Putin. I kind of count Mikhail Korokovsky as among them at first, although kind of one of those distant stars in the constellation of oligarchs. There are many more powerful insiders who were responsible for Putin's elevation very early on. But progressively, they lost their empires usually from some sort of scheme in which the taxation authorities of Russia would be brought to bear on a given company, right? Barozovsky is a very famous example. There are so many others where that ultimately resulted in a total reshuffle. But the place that, you know, there was the greatest reshuffle, the two, I think, places where you had the biggest reshuffle was in the energy industry. And, you know, in the early days in the 1990s, obviously, energy still mattered for the Russian economy. It was very of the central pillar of the Russian economy. And that reorganization of, you know, several oil and gas majors that, you know, basically resulted with Putin's closest friends ending up as the CEOs of Gazprom and Rosneft, people who had been with him since, you know, his days in the KGB, who had been close to him in one way or the other, ultimately were elevated to power in those positions, smaller scale Russian oil majors that had perhaps done deals with BP or Shell or other outside foreign oil industry magnets and empowers basically found themselves now in a very weak bargaining position when it came to joint sharing and production agreements. So that reconciliation of power was a pretty big one. And it kind of went on for a very long time. I think, you know, you could sort of say it started in earnest around 2002 or three. So only just a couple of years after Putin took power. And then, you know, its completion ended really, you know, I think with with Khodorkovsky's imprisonment. And and I think you could also say there are probably some other way stations. There are some other points along the road where there are important pivot points where Putin was able to consistently bring his inner circle of sort of wealthy power brokers closer and closer and to tighten the net, basically. He's been very successful at that for a variety of reasons. Yeah. And although this is a different story that we can't really get into right now, he's done similar things just in terms of appointing some of his oldest cohorts to very prominent positions within the Russian military. Absolutely. Absolutely. So I mean, so oligarchs are very much in the news right now because the other thing that they're kind of notorious for is stashing, you know, untold sums of wealth in various foreign instruments all around the world. Can you talk about some of the strategies that that Russia's oligarchs have used to protect their wealth, why they felt it was necessary to do so? And then maybe we can get into what Western authorities are beginning to do to kind of crack down on that. Well, this is actually a really interesting, I think, untold story. Right. One of the things that some scholars like Karen Dowisha, you know, the late scholar from Indiana University, who wrote very famously about Putin's kleptocracy, she has done a great job of documenting how actually, even before the collapse of the Soviet Union, upper echelons and the KGB and the SBR, which are the two main intelligence bodies at the time, they fully understood what was about to happen. In fact, like many party members among the elites anyway seem to understand that the economic collapse would then lead to the political collapse. And there's plenty of historical evidence to show that, you know, there was a bit of planning that took place, you know, two to three years before the actual collapse actually happened. And Dowisha writes about this. It's quite interesting, actually, that some members of the KGB, again, close to Putin, made a concerted decision that a strategy for protecting the state wealth was to purchase, you know, things of value abroad, in particular in the United States, interestingly.  You see that evidence of that kind of Russian footprint now starting to kind of come up to light. But this, I mean, that's not 30 years ago, but that whole kind of strategy was deployed by, you know, elites within the security services as a means of protecting the state wealth. And the idea was then that it would be recalled once things were reconciliated. But once things were reconciliated, you know, Putin was in power and the strategy was to reconciliate to his friends. And so that's why we talk about some Putin's wallets. Really what we're really talking about are this, this other sort of secondary strategy where to ensure that Russian wealth is not targeted for sanctions, for a variety of reasons, either because of accusations of organized crime, involvement of, you know, in some sort of international illicit scheme of some sort to ensure that that kind of, you know, targeting doesn't occur, Putin adopted this secondary strategy of developing friendships or cultivating friendship ties that would allow him to park money in other locations in other people's names. And so when we talk about that, you know, Putin's wallets, we're not just talking about like, oh, that's, you know, that's just his personal wealth. It's really for also moving the levers of state, right? Like it's a really important thing, you know, that you have like Igor Sechin, the head of Rosneft, right? He has properties all over the world. And it's assumed, I think, widely that some of those properties are meant as fail-saves or when the state has a situation like it has now, where there is the imminent collapse because of default on debt. We've talked a lot about, I mean, you've heard a lot this last couple of weeks about these sort of skepticism that this will, will this work, you know, will sanctions on oligarchs work. That depends what you mean by work, right? If you mean by, you know, that if sanctions are only effective, if we see the likes of Oleg Deripaska, you know, who famously, of course, was the head of Russo, one of the largest aluminum export companies in the world. And if we see the likes of Deripaska or even Roman Abramovich, right? Crying out, you know, against the war publicly, that that is evidence that the sanctions are working. I disagree with that definition wholeheartedly. Sure. I remember when the Panama Papers came out however many years ago, and it was found that, I think it was like a professional concert celloist, some elite musician who had close ties, yeah, had like hundreds of millions of dollars stashed somewhere. How does a professional musician get that kind of wealth is obviously an important question. I did want to ask you, you mentioned Abramovich. He was in the news actually just today because he seems to have been caught in some kind of crossfire. He, you know, alleges that he was poisoned early March when he was in Kiev actually, meeting, discussing some kind of basically just engaging in political talks between Kiev and Moscow acting as a vector. Could you talk about their political utility to Putin apart from just sort of being places to sort of stash money or as a backup? Like they're clearly like important political actors as well on top of that. Absolutely, absolutely.  You know, there are properties in Ukraine that are important for his empire there as well as in Russia and outside of Russia. He uses that wealth and has used that wealth historically to gain influence in the United Kingdom. And obviously in the United States, we know that obviously from the more recent history with the Trump administration that there was of course a lot of intimations about these overlapping ties between the K Street lobbyists like Paul Manafort who serviced those oligarchs on both sides of the Ukraine-Russia border. So they're extremely important because they can go out into the world, they can hobnob with wealthy politicians, influential politicians outside of Russia, influential business people outside of Russia who can change the political calculus of whole governments, right? Brexit is a very good example where we saw the influence of Russian oligarch money having a real effect on how that perceived choice over whether or not to remain in the European Union or not was actually kind of shaped by money from wealthy oligarchs who had very tight relationships with wealthy British elites for a variety of reasons but not the least of course because that's a system that is very well protected inside of the United Kingdom. So if you're a caviar eating, champagne loving, yacht, globetrotting kind of guy or girl, although it's mostly guys, good chance that you're going to have a little bit more political influence than this very towering figure that Putin is, right? And Putin can't just go out there and jump around and say, hey, what is that, the other thing? Because he has to maintain this fiction and that he is a humble servant of the state only. It does seem that for the month plus that this invasion has been going on, it has uniquely kind of unified both sides of the aisle in this country in the United States, maybe more than we've seen for a while. But I'm wondering, have you seen any sort of maybe cold feet at efforts to, for instance, South Dakota is kind of notorious for being a place where people like to stash money because it has very strict privacy laws. Are you seeing any kind of hesitation perhaps from some domestic actors about taking certain measures that might, on one hand, dig up ill-gotten gains, but on the other hand, maybe reveal more than people want? Well, I can't speak to specific people. I will simply say we're already hearing rumblings from certain sectors of the Republican Party, certain leaders within the Republican Party complaining that there are some potential unintended consequences of going after Russian oligarch wealth that the Biden administration may come to regret. We'll see its early days. I do think what's interesting is this multilateral task force, I think bodes very well for the potential success of these sanctions in uncovering more webs of interconnection than most people are probably aware of. One of the things we have to understand is that in order to build and hide money, to sort of build money laundering empires, right? You need multiple different localities and you need multiple different kind of vehicles with which to do that. And so what's been really remarkable about this particular turn of events in last month or so, what distinguishes this effort from past efforts to come crack down on Russian oligarchs is that now you have about a dozen nations, Japan, Australia, France, et cetera, et cetera, along with the United States and the United Kingdom who have bonded together and said, we're gonna set up a task force to actually track down assets that are tied to these individuals. And I mean, it'll be interesting to see how they prove the case. I think that's now the work ahead is trying to develop new theories and new methodologies before surfacing these types of connections and understanding the vehicles that are used. Of course, people are very concerned about crypto as an escape hatch. It would take an awful lot of crypto to migrate all of that wealth that we're talking about. We're talking about dozens of Russian oligarchs. So actually, I think it's something that we would actually see and feel in the crypto market pretty quickly. We're not seeing that yet, but it's possible that we will see it in the next couple of months. What do you think about that actually? You're the crypto guy. Well, I mean, so on the one hand, crypto is very good at anonymizing things, but on the other hand, it's extraordinarily hard. It's almost, it's very transparent. So everything is out publicly on the blockchain. And I think it's actually quite a bit easier to, for instance, block wallets, wallet addresses than people imagine. So for instance, we saw this recently with what happened in Canada with some of the donations that were coming in to support the trucker convoy there. I believe the Canadian government actually was able to freeze transfers from a variety of wallet addresses that it was able to identify or donating to exchanges in Canada, which effectively makes it possible to actually complete that transaction. So with the exception of a few kinds of technologies, Monero, for instance, most of these are actually quite easy to track, almost uniquely easy to track and therefore uniquely easy to track down and block. And on top of that, I think that crypto has grown a lot, but there's not really liquidity large enough to disguise or hide a couple billion dollars that are trying to get sort of shuffled out of the country. Right, and in this instance, we are talking about tens of billions of dollars, most likely, right? I mean, let's just, we wanted to count like every yacht, every known yacht that might be targeted and intercepted because of these sanctions. Some of these are a hundred million, some are more than that, some are a couple hundred million, right? So let's say that there's, I don't know, 20 of these. And that's a, that is a huge wave of cash value, right? That's trying, you know, that's looking for a place to land. And I think what's so interesting about this approach is the kind of all the different avenues that have been cut off for the Russian oligarchs make it almost impossible for them to be stealthy, right? They might want to transfer wealth in some way or another. The question will be, what are the corresponding banks, right? That own that wealth, right? Or have access to have lines that are connected to the empire of a given Russian oligarch. There's that, there's also, you know, can't get certain types of cash, right? Can't get dollars very easily. Maybe you have a lot of dollars, maybe that's been a strategy for you is just to bank a lot of cash. That could be useful, but only for so long, right? Eventually you'll run out of cash if you're not able to take in more money. So this kind of starvation strategy is pretty unique, I think. I mean, and I think that one thing that's worth raising here is, you know, I was talking to a friend actually the other day, he spent some time in Russia and it was a bit skeptical. You know, again, it's sort of, well, little sanctions work. Is it, is it enough to seize the yacht or a $20 million mansion in Park Avenue or something like that? I think if you think in the short term, you know, that this is a short term conflict between Russia and Ukraine and then therefore between Russia and the United States and NATO partners, then sure, it might look a little bit like, same old, same old, but if you really kind of step back and I think recognize the seeming intent of these sanctions and the overall strategy, which is sort of economic war against Russia, it really seems to be that the objective is to ensure that Russia is never able to resurrect itself from the grave that it is digging for itself now. Right, yeah. It's going to be very hard to turn some of these systems back on or to even try to, if that is something that people want to do down the line. Right. It's not to say that people are not, haven't already been thinking about these strategies or that there isn't some sort of failsafe here, that there hasn't been a plan for insulation. There was a great piece by Benjamin Wallace Wells this week in New Yorker about Dalip Singh, who is kind of the man behind the sanctions, the brain behind US sanctions and how he was sort of faced with his problem essentially.  Right. And I think that there is a lot of maturity and a lot of sophistication within the United States Treasury and a lot of experience in dealing with Russia over the last 20, 30 years. And there's certainly a pretty clear-eyed assessment. But yes, of course, Russia has been preparing for this moment and that its central bankers and its financiers are very smart and adept at their work and at their jobs. So there certainly has been a lot of thinking about that. When we've seen other types of economic warfare failed before, I'd have to say this is pretty comprehensive. It does seem like one potential sort of pressure valve that oligarchs themselves may be looking at is the Gulf States. So I know Abramovich, for instance, back in when the prior round of sanctions was imposed, was actively sort of seeking out real estate investments there. How does that add to the already fairly complex, I'll say, diplomatically relations between the Biden administration and some of these Gulf States? Yeah, it's such a good question. I mean, I've been really thinking about and reflecting on the fact that the UAE in particular, we know, has been kind of this repository for all kinds of ill-gotten gains for many years from all over the world. I mean, warlords in Afghanistan, dictators in Africa, I guess it's kind of like most icely in Star Wars. It's like the place you go when you want to get deals done and a deal of pirates and cashing your chips and so forth. But the other thing that's probably maybe underappreciated is that the UAE is a place where gold refining is really a key industry. And I've been thinking a lot about the gold reserve strategy that Russia seems to have adopted in the lead up to this invasion. And I seem to kind of accelerate after the first incursion in Ukraine in 2014, which is go get more gold, figure it out and find a way to get it refined in the UAE and then convert it into reserves. Right. You know, my suspicion is that a lot of the things that we've seen in terms of certain types of actors like Russian mercenaries is really part of that larger strategy, which is to kind of manage the risks that will come from interdiction because of a sanctions regime that's imposed by the United States or the EU. And so and, you know, the UAE, I think, and other gold states have been a big part of that interdiction management strategy. So I'm certain that the White House is giving some thought to how to deal with the Emiratis, how to deal with the Qataris, maybe even the Omanis, right? On the other hand, maybe it's a small ball problem in a way since it is kind of all contained in the one region. What's really important to understand is that like every part of this schema of sanctions, you know, has a lever that then results in like a reaction somewhere else in the ruby Goldberg machine that Russia has pulled together in order to protect itself from economic warfare. So, you know, this debate now or this demand from Russia that the EU should pay for its gas in rubles. You know, is a pretty good sign, actually, that the right leavers have been pulled because now Russia really seems to have very few alternatives but to demand that money is paid in rubles. But it's kind of an interesting fit. It's a conundrum for Russia, if you think about it, pay me in this worthless currency so I can make more of this worthless currency. I don't know the I mean, there may be a logic there. It just seems a strange logic. What, you know, what will you do with those barrelfuls of rubles? Yeah, I will say some there was a government official who floated the idea that friendly nations could buy their their oil and gas using Bitcoin. So. Ah, OK. Well, this is interesting. I mean, so we know that, you know, India, of course, has agreed to extend the terms of an existing pre-existing contract that started before the war began so that they will buy 15 million barrels of oil from from Russia. But then you have to really think about what that means. Russia, on a given day, can export up to four million barrels. So what what India said is we'll cover four days worth of your losses at a deep discount. You know, and I get that, you know, it's not that Russia makes no profit because right now oil prices being as high as they are, of course, that discount is kind of offset, right? But still, then if you're moving to a situation where friendly countries pay in crypto, I mean, it's traceable.  Where does that lead you to?  I mean, ultimately, what it will lead to is those friendly nations will find themselves also frozen out because that's a traceable transaction. Right. Right.  What's the backup plan? Yeah, I mean, it's just like really big sweeping terms. It's very clear that all of this is a bunch of unintended consequences to an invasion that they thought was going to be over in less than two weeks. And there's a distinct feeling of them just throwing things at a wall and seeing what might possibly work. And it feels very much still like we're in that stage. And while they obviously did take measures to protect themselves, building up these large foreign currency reserves, although obviously some of those were then frozen, a lot of what is happening does not feel to me particularly planned at this stage. Well, I mean, I think there's a lot of planning, right? But there's not a lot of risk management or like the actuarial tables are not very well defined or, you know, the calculus is often some ways. It seems like it was almost like the system was overwhelmed with too many risk factors that had to be calculated for, right? And then it was like, oh, I forgot that like if this plank goes away, the entire castle collapses, it has sparked this debate, which I think is important to touch on, you know, not just in terms of Russian oligarchs, but just sanctions more generally in economic warfare. And of course, there's been this loud chorus of voices saying we should be worried about de-dollarization of the global economy, you know, being one of the trajectories for the outcome of this economic warfare. And I think that's pretty, I think it's pretty sound logic on some level. We certainly know that, you know, China, like Russia, has lots of ideas and plans and for mitigation of risks from the impact of any kind of economic isolation. But I think actually, you know, Russia makes a good case that actually it's pretty hard to do to mitigate those risks. And China, like, is so interwoven into the world economy and into the US economy.  Is it possible to have enough information to mitigate risks of isolation and to also have a kind of counter strategy of de-dollarization that would be actually effective that wouldn't result in the blowing up of your own economy? Right. Yeah. And also, if you're going to move away from the US dollar as like a global reserve currency, there's truly no still no candidate who's viable to step into that role. I don't think you can see the room and be taking that that role realistically in the short to medium term. Now, not having that available alternative, right, means for an economy as large as China's, it actually makes it quite brittle in some ways, right? Maybe they do. I mean, maybe crypto is that that alternative. It's very possible. I mean, I think the real race comes down to central banks issuing cryptocurrencies. That's, I think, bottom line when it comes to economic warfare, which I think we're going to see continue. This is going to be like, you know, this is one of the best weapons ever employed by the United States so far. It's going to have political costs for the Biden administration, but it won't be the first presidential administration to pay those costs. And it won't be the last. Yeah, the spread of central bank digital currencies is is already very much well underway. And ironically, Ukraine was one of the vanguard countries that was working on rolling that out. That's right. That's right. But then still at the back is the ever present dollar for all of this to work. You need, I think, a number of different conditions to apply.  I mean, you're not going to pull people away and people are going to start paying for oil and gas and renminbi and rubles any time soon. We just know that it doesn't make sense. So, you know, who in Texas would take renminbi for for oil? Right. I don't see it. So or or really Saudi Arabia, that matter, maybe there are some. Anyway, not in the near term, as we said, will we see that kind of conversion happening? So then you have to wonder, OK, what next? Then what are the other conditions? Well, the other condition is then the metaverse has to be a much more substantial place than it is now in the imaginations of the world, right? So that essentially the the fiat currencies that have dictated our social enterprise and exchange for centuries have to somehow become almost fictions. That is to say, the value of a digital world, a metaverse has to be so much more than that of the real world. Then crypto becomes something that can escape fiat currency, whether it's the dollar, renminbi or whatever. And then maybe that's where NFTs come in. Well, I have I have much more I can say on this, but. We have tarade, we have digressed away from Russian oligarchs. But I do think this is the thing to understand about Russian oligarchy and to understand the kind of the impact of these sanctions on the overall economic warfare outcomes and what it means for strategically for Russia. What it really means is that it's going to be really hard for Putin's inner circle to move cash fast and to move it in large amounts. And this is a situation where the house is on fire. The entire country is no more than two to three weeks away from default. And that's when I think we're going to see alarm bells going off. And I actually think that's also when we're going to start to see some pretty desperate measures on the part of Russia militarily. Right. Where if they need to force Zalinsky to the bargaining table or to a position, you might see some real horrors unleashed on the battlefield. I think that could happen. Yeah. But let's hope it doesn't. Amen. We've talked about a couple of oligarchs by name, but I think we'd be remiss not to mention an oligarch who lives very large in your work. You have any pregosin. Give us a quick sort of backstory on who he is and what his role is in the current conflict. Well, you have any pregosin is, you know, known as Putin's chef. He was close to Putin from his days in St. Petersburg. When Putin was, of course, deputy mayor, he was in charge of foreign affairs, licensing and foreign trade in St. Petersburg. And they're kind of their paths crossed in a number of different ways. But most importantly, just around the trade of food for oil, which was a big deal in the 1990s in St. Petersburg, the entire country really was starving to food. There was just a major food shortage because of the economic collapse, basically. And so this deal was, you know, brokered where a number of different oil companies, including one in St. Petersburg, would sell oil for food and so on. And it just so happened that pregosin, who was a convicted criminal, you know, when he got out of prison, he and his stepfather opened a sausage selling business, basically kiosks, you know, sort of fast food across the city. Anyway, that kind of cross current of, you know, wealth and food and power in the early days of St. Petersburg kind of grew this relationship between Putin, who became a frequent guest at pregosin's restaurants that he opened a few years later in the 1990s. And that, over time, went to another series of relationships that allow pregosin to grow a pretty sizable contracting empire. He catered to government buildings, you know, government agencies, but also most famously provided catering and logistic services for the Russian military for many, many years. And so that relationship kind of blossomed into what we now know today as the kind of the concourt consulting and management company that's been around for many years, but was, you know, according to the FBI anyway, responsible for financing the Internet Research Agency, which interfered in the 2016 elections. Now, pregosin is wanted all over the world, not just by the by the FBI, but others as well. You know, in twenty twenty one, the EU decided to put pregosin on their blacklist as well. So he's been an object of much speculation, much scrutiny and, of course, much targeting for sanctions. He's an important player, predominantly in the area of shaping perceptions and influence campaigns. You know, he kind of runs a package deal where mercenaries known as the Wagner group are, you know, deployed to certain locations, Syria, Ukraine, Central African Republic, most famously, as part of a military technical agreement with a local dictator or strongman. And then, you know, the other part of the package is we'll help you out with your elections and with your political problems.  Usually Facebook is the kind of chosen target area that's where they've kind of tended to specialize. So pregosin kind of plays this role of impresario of irregular warfare for Putin's regime on some level. But he's not, of course, the only one. There are many others like him who do similar services on behalf of the Kremlin. Yeah. And sometimes he was like, his role is to draw fire, to be so flashy, so sort of agro in his approach that, you know, some of the other people who are part of this broader network maybe don't come in for as much public scrutiny. Absolutely. I mean, he's really kind of a decoy, almost.  Right. It's not just pregosin. Pregosin isn't actually even a specialist in that. He's a military background. He just happens to have won one of the largest sort of contracting subsidiaries, sort of contracting enterprises willing to work. So it's been he's been important to the narrative around Russia's, you know, ability to project power. And he's also been important to the narrative about who's actually in charge of Russia's risk mitigation strategy when it comes to sanctions. And it's been quite effective, actually. Well, thank you so much. I do hope that you all who are watching or listening to this tune into an upcoming series of events that we are organizing at New America under the broad heading of aftershocks, which is looking at the various knock on effects from Russia's invasion, some of them obvious, some of them less so. And we will be holding these basically every other week throughout the rest of the spring. Hope you tune in.


So my name is Brian Stinson, I work on the community platform engineering team at Red Hat. Typically the thing I spend my day job on is working on CentOS Stream, which I'm here to talk to us a little bit about today. For the most part, I kind of want to want us to think a little bit about what happens, what happened before CentOS Stream kind of came on the stage and you may have heard one or two things about CentOS Stream before. And so I want us to kind of go back maybe, you know, think about a year ago about how the relationship worked between Fedora, Red Hat, Enterprise Linux and CentOS Linux. And it looked something probably like this, and sorry about those little transitions there. When you think about what Red Hat is doing to build Red Hat Enterprise Linux, you know, we always thought of Fedora as the upstream. You know, with the individual projects even further upstream. So we gather everything up into Fedora, package it together, and at certain points during the life cycle there, Red Hat takes the content from Fedora and turns it into Red Hat Enterprise Linux. And then down the road we would do CentOS Linux, which was built from the same sources as REL. And if you think of this in terms of interactions and code flows and things like that, there's a whole lot of arrows going around, right? Sometimes REL takes things from Fedora. Sometimes we found things out in the CentOS Linux space that people wanted to make changes, fix bugs, things like that. And so we've got these arrows kind of going around everywhere. We found kind of a few things that are interesting related to that. Mostly that this feedback loop of Fedora REL CentOS and then back and forth and back and forth, that loop ended up becoming kind of long. People who were using CentOS Linux would, they were only able to affect things after REL release is already done and baked and sent out. And then there's also the fact that a lot of REL development happens inside of Red Hat. And that's something that we wanted to kind of take a look at a little bit. And so I want to talk a little bit about some of the goals for the CentOS Stream project. And CentOS Stream was announced a while ago now. We're kind of in the middle of the bootstrap phase here, which we'll talk about in just a little bit. But some of the higher level goals that we're talking about, I just want to kind of go through some of those real quick. The first one is transparent development of the next REL minor release. And so what does that mean? If you think of where we are in terms of the lifecycle right now, you may have noticed that Red Hat Enterprise Linux just released the beta for 8.3. And we think that CentOS Stream is probably going to be a vehicle for where folks can actually get a preview of what's going into the next minor release of REL. So 8.3 and it seemed to be 8.4, things like that, before it actually comes out. And we want that for a couple of reasons. Number one, transparency is important to us. And feeding into the development of the next REL minor release is just important to get feedback as early as possible. So if you go back a couple of slides ago where we had all those arrows floating around, we want people who are actually consuming Enterprise Linux to be able to affect things on a reasonable time scale. One of the goals that are one of the ways that we actually make the transparent development of the next REL minor release happen is we want to collaborate directly with REL maintainers. And I know we're used to doing that in Fedora a little bit. REL maintainers participate actively in both in Fedora and then developers are also pretty active there in Fedora and in the upstreams of everything that makes it into our releases. But this is another point where we found a kind of a space that we needed to fill with a distribution that's focused on that REL minor release and pulling everyone together so that you can collaborate directly with maintainers working on the minor releases was really important. And then as part of the CentOS project in general, CentOS Stream gives us some interesting things. It gives us some layers of experimentation is what I call it. If you're familiar with the special interest group process in CentOS, right now we have folks like RDO, the OpenStack folks, who are building their content on top of the community build system and some other things. This lets us do some interesting things because if we have a preview of the next minor release, folks like RDO, even some of the other upstream projects can come and build on top of CentOS Stream and then get a preview of what's going to come out next. And so they have a pretty good indication of what's going to come out for the future minor releases. But one thing that we're considering too is expanding the idea of a SIG to kind of take some of the exploratory contributions as we kind of feed into this process. So CentOS Stream is very narrowly focused on feeding into the REL development process. But we want to take that content and allow some other places for people to do other bits of experimentation on Enterprise Linux when maybe Fedora has actually moved on to looking further in the future. And so if we have all these goals pulled together with CentOS Stream focused on a minor release and we do the same thing that we're used to about bringing up a REL major release in Fedora, the overall, and I know this is going to be kind of simple, and so I want you to know that this is a very simplified diagram, but this is what we're thinking here. Moving CentOS over here in the middle so that it sits kind of in the middle of what the Fedora lifecycle is and what feeds into Red Hat Enterprise Linux. This is kind of the like a really cartoonish picture of what we would like to see. And it puts things kind of in a better place so that we all have a viewpoint of what's coming next with REL. And I want to talk a little bit about what we're doing right now because again we're in the middle of the bring up phase with CentOS Stream and so we're not, we're working towards that ideal picture that we just showed just a minute ago. We're in the middle of the bring up phase and I want to talk a little bit about some of our constraints that we have because this is moving CentOS Stream sort of towards the middle to where it's upstream of the next minor version of REL, that sort of thing. That's a big shift in both mindset and then also process. There's a lot of stuff that happens when REL developers do their day to day work. They pull stuff directly from upstream and rebase packages, they pull stuff from Fedora and backport things into REL and we didn't really want to upset the, you know, a lot of the internal processes that they go through on a day to day basis. While we're in the middle of building the infrastructure to make this happen and so that's why I say, you know, there's some caveats here about being in the middle of the bring up phase and we'll talk a little bit about how the sources flow. I'm going to take an individual package and we'll just kind of walk through what it looks like here real quick. So let's say you wanted to affect something in the mudder package. This screenshot here is git.centos.org and you can see a number of different branches. If you've paid attention to the CentOS ecosystem before, you kind of know how this works. The C7 branch, all of that stuff is content that makes it into CentOS Linux 7. Same thing for C8. Those are sources that come directly from Red Hat after a release happens. So they push to that branch, it gets rebuilt into CentOS Linux and then shifted out that way. I don't want to focus too much on those because, again, this is for stream purposes. If you look down at the very bottom of that branch list, there's a C8S branch. That's where we basically build the content for each and every package that comes in. And to kind of lift the covers on how that process happens a little bit, we're still doing a little bit of work to actually take sources from internal to Red Hat and pull them back out into the public so that we can give that preview and stuff. I'll talk a minute about how we expected to address that a little bit. But yeah, for now the C8S branch, you can consider that at this point in time, August 7th, 2020. The C8S branch points at what we think is probably going to make it into Red Hat Enterprise Linux 8.3. So if you want to make a change, you can interact with these sources in here, see what's going on on each of the branches. And I know I see Carl George here in chat. He's our steward of some of these patches here. So he'd be a good person to double check with about how to make all this happen. But there is a version in Red Hat Bugzilla called CentOS Stream. And that's sort of the touch point for where we actually bring patches into the company and get them in front of the REL maintainers and stuff. So there's a couple of ways that you can do this. You can do patches directly against get.centos.org. And then I'm volunteering Carl to kind of help manage some of that process because he's already volunteered. But the idea is we attach a patch to a Bugzilla, and then it makes it through the normal REL process that happens today. And I promise I won't bore you with all of those details because that would be a few talks in and of itself. But attaching things to a Bugzilla gets it on the REL maintainers radar. And they do the things that they do in order to get a REL build internally. So internally there's a REL build of Mudder. And then we pick it up from one of the nightlies. And the way that we do that is you can see this is a list of the commits that we have for this package. And you can see that there's the 3.32.2-46 is the one that we pushed in. So this made it into a REL nightly compose at some point. And then we pulled those sources into get.centos.org to get them going for stream. And then we can see what the build looks like here. You can see that Carl did this build for us and tagged it in for a compose. And then it shows up on the mirrors. So this is mirror.centos.org slash centos slash 8-stream. And you can see that there's the regular repository layout. I could have dug in here and showed you the actual package but you'll just have to trust me that it's all in there. Our aim is to actually make this process transparent. We're working on a lot of automation to bring these sources from internal to external while we're in the middle of the 8-life cycle and stuff. But we're also looking to get this out as quickly as possible. And the last I heard, we have all of the sources pushed from last night's nightly. We're catching up on builds because that typically takes a while. But you'll see that stuff reflected fairly quickly out on mirror.centos.org that you can install on your machine today and trial this out. So this is how we're making it happen today. What's coming up next? There's a few things and again while we're in this bring up process there's a little bit of work for us to do just as a team to keep things going. I mentioned that we're pulling the sources internally. We're doing our best to keep ahead and make sure that we push the content both on a source level but also on a binary level on a regular basis so that we have a steady stream, no pun intended of content, that comes to your workstation as you do updates and things like that. We want to start building SIGs. And we've got some pretty well-established ones that are building against CentOS Linux. And we're going to start with some of those to kind of transition over to doing regular builds against CentOS stream. And we think that's going to help quite a bit with both catching things as they come in but also allowing us and the SIGs and Red Hat and the different maintainers to all have a conversation together about what does Enterprise Linux look like as we go over the phases of REL8. And those are important conversations to have and it's why we call CentOS stream the shared space because CentOS stream is meant to be kind of directed by Red Hat and by the maintainers. Those people are meant to be in charge of what happens here. But it's a place for us all to get together and to talk about bugs, features, anything that we want to see as we head on towards future versions of REL. And so we want to exit the bring up phase. This is not the end state for what we want to see out of stream because to be honest the whole pulling internal sources and bringing them external and then building them and then releasing them to the mirrors and all that stuff that's a little bit awkward to meet our goal. If you go back to that cartoon picture of CentOS in the middle we want to get out of this bring up phase and see what that means in order to be a true upstream of the next minor release of REL. So what does that mean? It means we need to settle in into our space taking regular handoffs with ELN. So ELN is meant to be the sort of the proving ground for building Fedora Rahide with an enterprise build route and talking about some of the things that that means. I think there's a good talk on Sunday from Steven Gallagher about how ELN fits in this picture. But we think that these will be controlling venues for different parts of the enterprise Linux space. And so ELN is very active during the bootstrap phase of a major version. CentOS Stream is active during the bring up phase for each minor version and we all interact together with Red Hat. Ultimately we want the REL maintainers to take over both in terms of dealing with content that comes in from pull requests or changes that you want to make as the community. We want them to be active in that process and making sure that they have the tools and everything that they need in order to make that happen. And we've got plenty of infrastructure to bring up in order to help them with that. But this is the ultimate goal is REL maintainers. When you interact on a package for CentOS Stream, you're interacting with the REL maintainers. And so I want to end up with a few of the different spaces that you can come and talk to us right now. First of all, if you want to download and try CentOS Stream, it's available for you right now. We've got install media. I think we need to re-spin some cloud images soon so that you have that sort of thing. But you can head to the download page. There's a link to the ISOs and things like that. We've got an IRC channel, half CentOS Stream on FreeNode. And if you hit up the CentOS Development mailing list, we're happy to take some questions there. And then there's some documentation and FAQs out on the wiki for that. So I ended up a little bit early in order to take some questions from the chat if we have them. And I'm just scrolling through. So if we have questions here, I am happy to look at them. Otherwise, we can end this up. And there we go. We have a good question. How much of Stream is still based on CentOS Linux and how long until it's self-sufficient? That's a good question. So talking about this in terms of how we brought CentOS Stream up in the first place, we kind of pulled together CentOS Linux and in order to kind of bootstrap a lot of the package content. In terms of content, CentOS Stream is well independent of the content that's in CentOS Linux. We're down to basically finding out pieces of the branding and notifying the user the fact that this is indeed CentOS Stream instead of CentOS Linux. And so there's a lot of tiny details now. But in terms of content, the two distributions are produced separately. Let's see. Are there container images available for Stream? Currently, we are not producing container images. We are re-spinning the install media on a regular basis. So we're shooting for at least once a week. And then the same thing with the cloud images. Those are a little bit further behind, but the idea is that we want to get those on a regular basis as well. I don't see any more questions here. So I'm going to wrap it up and thank you all for attending the talk.