Let's go. I'm too good? Yeah? Okay. Hello. Hello, everybody. I'm really happy to be here. So thank you for being in this session, in this talk. Let's start, I think. It's time. Let me start the contour. Go. We're going to talk about Drupal 10, which is still a work in progress, right? But it's almost done. From a point of view, from my point of view, so I'm Nicola and, yeah, I'm basically one of the most active contributors on Symphony. So I started, I joined the community, the Symphony community almost, not yet 10 years ago, but almost 10 years ago. And I started sending requests by then and nobody told me to stop, so I just continued. And so I have almost 3,000 requests since the beginning. That's a lot. I like what I do. That's also why I can do that. I'm general manager at Symphony, the company, because there is the open source project, but there is also a company behind that. It's a very small company because we have one main product and it's free. I don't know about you, but it's very difficult to grow business with a free product. So we have conferences. So I invite you to come at Symphony conferences. We have one at Disneyland Paris in November and then an online one in December and then another one in France in Paris. And we're going to have more, of course. After COVID, we are starting again, organizing conferences. So we're figuring out where we're going next. Enough of introduction. Let me present you some core things in Symphony. I think it's always time to remind people how things work in Symphony. You're going to see that it's quite similar to Drupal and it's not by chance. There is a strong relationship between both ways of doing things. So Symphony, what is Symphony? Symphony is an open source software since 2011 for version 2. There used to be a version 1, but it was named Symphony also, but it was just different. So Symphony 2, the one we care about, is a bit more than 10 years old. It's built for the web, built in PHP. That's obvious, but it's good stating the obvious sometimes. It's a collection of the top most used PHP components. So if you look at Packages, the download statistics, you'll see Symphony there at many top ranking components. I say it's the second most used PHP framework after Laravel as a framework only because I didn't con Drupal, which is not a framework exactly, but an application framework. We have about 3,000 unique contributors to Symphony during... So we accumulated this number in 10 years. That's about 500 unique contributors per year. That's the stats we have. That's a lot and we are very happy with that. It's Symphony, all technologies included, back-end technologies included, is one of the most active, if not the most active open source projects in terms of number of contributions. And we are very happy with that because that's a goal, you know, having contributions in any open source software. So that's something that we kind of managed to do correctly and we always try to be better at that. So we created 60 core components. I'm going to mention some of them, not all of them. And we have 200 packages. So components are like, yeah, components, you can imagine what it is. Packages, there are many bridges like Mailer can interface with many providers. Notifier also has many providers. We have polyfills. There's a big list of polyfills. So that accumulates up to 200 packages that we maintain in the project. If we cumulate the total number of downloads, it's vanity number. It doesn't mean anything, but that's still huge. Like four billion cumulated downloads, all versions, all components included and it grows, it accelerates. So I think that's just because people are using continuous integration and these downloads packages all the time, but it's still nice to see that this grows, right? So Symphony is also using this releasing process since the beginning. We release based on the time schedule. So predictability. We decided to go with predictability as a releasing principle. Drupal does the same now and they aligned almost on our schedule. So this is today. Today we have four versions that are maintained, like the 4.4 LTS-1 is about to die in a few months. We have 5.4, which is the current LTS. Like you see, we're going to maintain it for two years. 6.0, 6.1, which is the current stable, and we're about to release 6.2 in two months. And you know that Drupal 10 is going to be based on 6.2, right? So maybe you wonder why Drupal decided to go with 6.2 instead of 5.4. I think that's because they're building for the future, because this future is going to be our past very soon. And so building on the most modern technologies is the way to have less technical depth to start with. And I think that's a very, very good decision. And it's also a very big shift for Drupal. Like if you look at Drupal 9, it's still running on Symphony 4.4, because they decided to go, I guess, with stability first. And now they have kind of years of technical depth to catch up. So it's better, even in your project, to start with the most modern, because modern is going to be obsolete in six months, right? So we have a few processes to help people follow this rhythm, because it's quite hard every six months to have a new release. And it's quite critical to allow the community to follow us and to be always up to date. So those processes, you know, but then the first one is called the backward compatibility promise. And this one is basically semantic versioning applied to PHP. So in, during the, within the same major release cycle, we won't break backward compatibility.  That's obvious, but that needs to be written somewhere. We won't do that, break backward compatibility. And the other one is a bit more complex. The other one is something that is not covered by semantic versioning. Semantic versioning would allow us to rewrite everything from one major to another major. And actually we decided to go with smooth upgrades. And to do smooth upgrades, we have a continuous upgrade path. I have a slide just after to show you what it means in practice, so that you can have a better understanding of that. The aim here for us, the wish, we wish to have everybody up to date as soon as possible, of course. So for people that do symphony, the things that they need to remember is run composer update every month. Every month that it's not on the table on the roadmap, but every month we do a bug fix release. Right? So every month at the, so we do that at the end of the month. So at the beginning of the month, you can run composer update and get the last bug fixes from symphony. Then every six months, run composer update, but just upgrade patched your composer JSON file to allow the next minor. And do that every six months, and then you have basically three upgrades for symphony dependency. So that's the continuous upgrade path. So we based everything on deprecations. We do not allow a backward compatibility break in the next major without first issuing a warning deprecation in the previous and the current, actually, the current major. That's kind of hard. We have quite often people that come to the repository and say, oh, this is badly designed. I have a better idea. Let's do something else in the next major. We can break everything, right? So I would call that a hard backward compatibility break one without a continuous upgrade path. And we say, no, that's not the way it's going to work. We say, send a request on the current major. Do the work to provide a forward compatibility layer with proper deprecations. And when this is ready, then we'll plan for the change. Sometimes there is no way to move from A to B because B is too far away and we refuse to do those kind of changes. We could, but we don't because of those processes. So that's the first thing. This screenshot is from a test suite report. Like if you run, if you have a test suite, I hope you do. And if you're using the PHP unit bridge, you can see these kind of reports at the end saying, oh, this test triggered those deprecations. So now you can fix them before I'm going to the before, yeah, finishing your upgrade. You don't have to fix them. That's also the deal with deprecations. You don't have to unless you plan to be ready for the next major. So they are not breaking changes on their own. So that's what I mentioned. We figured out this the hard way. Like when we started building the continuous upgrade path, we figured out that we forgot to ask people to raise deprecation when they planned to, when we planned together to deprecate something. And so we did this mistake once when preparing Symphony three. And we spent month rewriting all or adding back all the missing deprecation notices in the code. And so now we won't do the mistake again. So it's a bit harder to contribute to Symphony because of that. We ask people to contribute the forward compatibility layer. But that's fair. That's how everything works smoothly. And there is something that is also maybe not obvious. It's it's not obvious that is to me to convey. It's the last principle of the continuous upgrade path. And it says that you should be able to upgrade the Symphony XOR PHP. So you should be able to. So let's say you have an application, current application. It runs on one version of PHP. You should be able to upgrade the version of PHP without having to upgrade the version of Symphony. And or you should also be able to stay on the same version of PHP and upgrade to the next minor of Symphony. Right. And this is critical to make upgrades smooth. You decide to take the path that is the easiest for you. Symphony will not force you to follow one path which is like which could be like a you must upgrade your PHP infrastructure before moving to the next version of Symphony. Of course, that doesn't work across major versions. But within the same major release cycle, we won't force you to do that. And that's kind of critical. We don't have only code principles. We also have community principles. And I mentioned the 500 unique contributors per year because I think this is something we are doing correctly kind of. We always need to be modest on this topic. But we have a few community principles to make things smooth from a social and human point of view. So we have a core team, of course. So the core team is a set of 20 people that know the processes very well. That's their main skill in the group, in the community. They know all the processes in very deep details, everything I'm mentioning and more. So that's the root of the community. We have a security policy. So this one is technical, but at some point it's not technical because discussing about security issues is something that happens always behind the scene. Because, of course, security should not be public before the release is done. I'm mentioning that also because we receive emails from people that submit bogus or valid security issues. And we have a quite complex process to deal with that. It's complex because it involves also partners. And by partners, I mean the Drupal core team, for example. So when we have an issue in Symphony, we go to Drupal and we say, are you affected?  Yes or no? We do the same with a few other projects and then we have discussion, et cetera. So it's kind of super important for the Symphony ecosystem and the Symphony responsibility on the topic. Another thing that is critical is having welcoming spaces like on GitHub. We learned that that was not always the case. Being welcoming on GitHub, like people come with contributions and then there are reviews, feedbacks. And when we review for something, it's always to criticize, right? So it can be kind of hard because someone comes and put their best there and the first thing they get back is criticism. So it's very difficult to deal with that. I'm sure you have some experience with that or maybe some fear with that. So that's something we try to make as smooth as possible, including telling people how to correctly behave because sometimes that doesn't happen. So when we are extreme cases, we are able to handle that with the code of conduct, which is the set of rules. But from a human point of view, thanks to the care team, which is a group of trained people that knows how to deal with behavioral issues, either online or offline at our conferences also. We have Slack channels. We use Slack a lot in the community. So that's also a place where we need to raise people's awareness about sometimes just kindness. But yeah, that's something that is very important for us, being welcoming and making contributions easy on every aspect. The last aspect to being friendly to people to me is having a friendly continuous integration process. Maybe it's not obvious to integrate that in this slide for you, but I've contributed to many projects, not only Symphony and sometimes, honestly, most of the work is just pleasing a continuous integration for the sake of the fit. It's like, okay, I'm going to do twice the amount of work just to please a tool that is sometimes a bit stupid, but that's the rules it enforces. We try to have a smooth continuous integration to give feedback. And we count on reviews also, human reviews from the court team to catch many things also. Okay, so Symphony is also using cutting edge practices by that, I mean, boring things, but things we have to do because if you open the code base on symphony2.o, you'll see that it's using an old style. What does that mean? So for example, if you open the code for Symphony 4.4, you'll see that it works on PHP 8.1 and even 8.2, which is not yet released, but we have a job there to be ready and we are ready because the code is already stable. So this is modern code and that's part of the process I mentioned before. You know, you remember I said you should be able to upgrade Symphony or PHP. So because Symphony or Symphony 4 is old, but we are still patching it to make it run on the cutting edge version of PHP to allow things to move easily, deprecation less of course. So another thing we did, we are doing, actually we did, in 5.4 it's supporting new language features. Because when I mean supporting 8.4, it means just being able to run that code there. It does not mean supporting the new features of the language. Supporting the new features of the language is a new feature. So back then when we worked in Symphony 5.4, we merged features to have support for attributes, for example, for NMS and many things like that. Not that many actually, those are the main ones. In 6.0 we did that, so drop the deprecated code. That's super fun. It's sometimes hard, but that's fun. Removing code is the most, yeah, it's very enjoyable. And then 6.1 was when it was a work in progress. Because of version 6, we bumped the minimum version of PHP to version 8. And when you have PHP 8, you can start using modern syntax. So that's what we did. We received many pull requests to use modern syntax. I don't remember which ones exactly, but the match construct or things like that. We also improved the type declarations in the code. So either the native type declarations, so written types and argument types. But we also added types for static analyzers, so at salmparam or PHP Stam, so generics basically. So I'm kind of annoyed on this topic because when we prepared PHP 8, we were like, oh, we are going to be able to remove all annotations in the code and replace them with native types. And now annotations are coming back because generics annotations, they are not native construct. OK, I'm kidding, there is a good propose to generic types. So that's something that the community is contributing a lot. So as you can see, this is not about new features of Symphony. This is just about having a modern code base that works well with static analyzers and things like that. So Symphony 6.2, it's still a work in progress. We are adding support for more attributes, but I'm not going to dive into 6.2 now. If you look at the activity on the last year, I counted 8,000 files modified with many lines also, many 100,000 lines. We merged about 2,000 per request in one year, so that's almost six per day every day. So that's quite a lot. And we also split these in three groups, features, so 400, bugs, 700, and minors, 900. So in the change log, you read about the features, you upgrade for the bugs, and you don't care about the minor things. If you look at the activity, minor things are not the majority, but a big chunk of the activity on the repository. So that's what I do, merging costile fixes, annotations, typos, and that's what the community loves doing. Modernizing, this slide is a big amount of activity on the repository. And I think that's great. So this is a slide I borrowed from a Driss keynote a few years ago, and this is still valid, so it's perfect. You know that because of the slide I presented before, we released in May and in November a new made minor version. And you know also that Drupal is now releasing the next month and just after, so that they can release and build on the next version of Symphony every six months. So that's really, really great. We saw Drupal adopting these processes and aligning their release schedule on that, and that makes things so smooth that it just works well. I know how, I know. I can tell, I mean. So let's go, Drupal 10 from Symphony 4.4 to 6.2. So what I did there is I looked at what Drupal is using from Symphony, and I looked at the changelog between version 4 and version 6 for those components. And I'm focusing on the components that Drupal is using in core. There are many more. So this is the first list, so the console component. You don't use it usually, but it's there to provide the commands. Dependency injection is a core one. You are using it every day. It's wiring everything together. Even dispatcher, HTTP foundation, HTTP kernel, of course, you deal with request and restances. MIME, it's just a subset of HTTP foundation, the process component to run processes. You are also using the routing component to map routes to controllers, serializer in a model, like the JSON API model or the REST model. There is a new component, which is the string component that is not in Drupal 9 that you are having in core now. Drupal does not use it, but console is using it. But because it's there, you can build on it. The validator component, the var exporter component is going to be new also in your dependencies. So var exporter is a component that is kind of doing low-level things. So I'm not expecting you to use it directly, except maybe for very specific things, but I'm going to mention that at the end. Var dumper, you know about the dump function. Yarmul, of course, and twig, of course. I'm adding twig there. It's in another project, but it's still the symphony project, the maintaining that. And you are not using those components, and I wish you could. I mean, they are useful. So I'm mentioning them in case you didn't spot they exist. Right? So the cache component, Drupal has its own caching backends and infrastructure. OK, just dropping the ID. Maybe it could be useful. The clock component is a new one, in case you need to muck the time. The .env component is useful when you deploy using 12-factor deployment strategies, things like that. The error handler is part of the dependencies, but just as a transitive dependency, Drupal does not use it for error handling. There are some nice things in there, like throwing runtime deprecations when you are extending a final class or when you are missing an argument. Or basically, it helps upgrade a code. So I don't know if it could be used. HTTP Clients instead of Guzzle. HTML Sanitizer, which could be useful to filter inputs from rich text editors. Mailer to send emails. Messenger, I don't know how you deal with async background tasks, but that could be useful. Notifier to send SMS or chat messages. UID to generate UIDs or Uleads. And the workflow component could be a nice one also to deal with business workflows. So just dropping that, I'm not going to mention that more. And let me dive into some features of those components. So the first feature that is not in a component is the minimum PHP version. So Drupal 10 is going to require PHP 8.1. And the reason why is that we bumped the minimum version of 6.1 to PHP 8.1. If you think about what I told you before, maybe I didn't highlight that enough. But in symphony 6.0, we went with PHP 8.0. And now, if you want to upgrade to the next minor, you have to upgrade your minimum version of PHP. So I broke my promise. Before, I told you you should be able to upgrade symphony or PHP. And now, for symphony application, for 6.1, they have to upgrade PHP before being able to upgrade to symphony, right? So we did that not because it was fun, but because we had to. If you look at the reaction there, there are 140 people that are, yeah, not for the good reason. They are here because they like cutting-edge things. But I like our processes and the stability that comes with that. We did that because it fixes a bug. PHP 8.0 is just broken in a bad way when using preloading. And we had a choice, which was to either consider preloading broken or tell people to upgrade. And we decided to go with the upgrade so that we have less maintenance on our side. Because when there is a bug in PHP 8.0 and you are a symphony user, you go to symphony when there is an issue, right? And so we don't want to deal with the stream of bugs that are going to be reported if we go with PHP 8.0. So that's why we decided to do that. And I think now everybody is super happy to have PHP 8.1 features. So that's great, also. So in PHP 8, I mentioned that before, but just wanting to highlight that it brings native written types, union types also, things like that. It brings attributes. So we are going to adopt attributes more and more, nested attribute for PHP 8.1. It brings enums. And those are the three main features of PHP 8.0 that had a significant impact on symphony itself. And there is a last one that I'm mentioning, which is the serializable interface is dead. So if you read anything that is using it, it is legacy. Do not use that interface. It's broken. That's why it's appropriated. It's too easy to be on it. I say, oh, I want to serialize this. Let's implement serializable. It feels natural, but it's broken. So I want just to send you the message. Don't use that. If you didn't know about that, you know. So let's go. Nice animation, right? So that's a cat. And you'll see why it's there just after. So the symphony string component is an object-oriented abstraction to deal with strings. You know, strings in PHP, there is a list big like that of functions to cut, to split, to pad, to explore, to et cetera, to deal with strings. And in many languages, strings are objects. And we are badly kind of missing that in PHP. And so this component provides you with an object-oriented API. So there is just one line to show you what it can do, like slice a string, obvious. But then you can chain, of course, many steps and put things in uppercase. So it's super nice. The nice thing is that, OK, that's an API to deal with strings. It's just a different way to do something that you can already do, right? There is something more, which is that it knows about Unicode. So when you say split a string, it knows how not to cut in the middle of binary Unicode representation. So it won't cut in the middle of an accent or of an emoji or things like that, right? So if you ask it to give you the first character, it won't give you the first byte. It will give you the first semantic character of what we understand as a character, which is a glyph on the screen, one glyph on the screen, right? And that's not obvious. You can use MVString, Iconv, and you need to use all of them together to correctly deal with that. And that's what the component abstracts. Another thing in string is this, the slugger. So it knows the slugger is a simplification of the topic of transit iteration. So there, you see, we can slug and remove all diacritics accents on a word, on a title, and generate a URL, for example. And we also have the inflator, which is able to singularize or pluralize English words. It's useful in code to generate methods and things like that. So in the process component, that's old. You can already do that. But I like highlighting that when creating a process, don't give it a string, give it an array. This is mandatory now. You could use a string in Symphony 4. Now you have to use an array when you create a process. And the array contains as many items as there are arguments to the command line. If you want to pipe commands like LS, pipe, grep, then you need a shell. The pipe is something that the shell knows how to parse and interpret. And so then you need this kind of what I call prepared command line. You know about prepared SQL statements. So there, there is a placeholder. And the placeholder there is something you give when actually running that. This is safer. This is safe regarding escaping. You might be using escape arg, something like that currently. And you might remember about my SQL escape real escape string, which is something, a complete failure, right? So don't try to escape things. It's always broken. Use prepared command line or prepared SQL query. So in routing, we added an attribute. You can not use it in Drupal yet, maybe. So on the controller, you can control a method. You can give a root attribute and say, OK, this is the path. And this is the requirement for the placeholder. There you see, I have requirement ULIT. This is also a new feature in the routing component. This one you can use it. And it's basically a set of constants that provides regular expressions for common needs. So this is a regular expression for ULIT. And the next one is for a set of digits. And there are, of course, a few more of them for common needs. So you can use that. I wish you could do that in a model. So I'm looking at you. Alex, in case you have an idea how to make this work. So this in symphony would allow loading a directory and looking for annotations there and basically wiring the annotation into the routing system so that you don't have anything to configure any more in this routing file. On the HTTP foundation, it's super stable. So there is one thing I want to mention. And this thing is that there is an RFC which defines headers to tell a server that you prefer avoiding objectionable content. The server defines decide what it means. So basically it means that browser can send clients, can send a request saying prefer safe. So you can check if the header is there using request prefer safe content. And then if you have two different content, one for safe requesting clients and the other one for less safe content, you can say, OK, preference applied safe and very prefer. The body is different. So it varies by the header. Just dropping you the idea in case you have some kind of use case for it. HTTP kernel. In HTTP kernel, we did this rewording to use more inclusive wording in the component. So we deprecated the master word and replaced it by the main word. So that's one of them. There are a few more. This one is still a work in progress. So in stick.2, we decided to, so in HTTP kernel, we do not catch errors. We catch exceptions, but not errors. Like there is a try catch and the catch is not catch throwable. It's catch exception, which means errors pop. And we want to change that. And we did that with an argument to opt in into the new behavior because for what compatibility layer? You want to show that? So this is going to be reverted. I'm proposing to revert that because I'm talking about things that we are talking about right now, both in the symphony repository and in the Drupal repository. So this line is just here to highlight that there is tight communication and interaction between the Drupal core team, which has an issue on this topic, and the symphony core team, which merged something that we are now going to revert because Drupal raised a valid issue. And so that's kind of nice to be able to interact on this topic. We have an annotation on controllers so that you can declare a class as a controller. So you need to have this attribute. This does not work in Drupal because in Drupal attributes are not services. And this requires controllers be a service. That's for another topic. We have a cache attribute where you can define HTTP caching headers, so max age, things like that. So you just add an annotation on a method. And then the request or the response that is going to come back from this is going to be cacheable. And we also have more value resolvers. So this is a controller. You see it uses the root annotation. And it has one argument, which is a UIDv4. And then you see the root text for token. And the token is also required as argument to the method. The token is going to be a string in the URL, but the controller is looking for an object. And the thing that does turn a string into an object is a value resolver. And we have a set of value resolvers in Symphony. So there is one for dates time, one for backed elements, one for UID and a few others. You are already using them value resolvers in Drupal. Those are not working in Drupal yet, but they could very easily. So I'm just suggesting that they should. You'll consider that. And then the big part is the dependency injection component. So in the dependency injection component, we added as support for many attributes. The nicest one is the auto wire attribute. So you can use this attribute now on an argument and have this be injected for you. Instead of relying on explicit configuration, you can do that. I'm going to show you an example after. We also have an argument for tagged iterators. So there you see we have a service, which I call a delegating sneaker. It accepts one argument, which is a collection of sneakers. And this is going to be built by the Symphony DI component out of the list of all the services that implement the sneaker interface. So in one line, you have a collection of services that are going to be injected for you. We have the same for decoration so that you can declare something as decorating something else. I'm going to skip this one. Required is a way to say that a setter needs to be called to properly instantiate an object. So set logger, you add required on it and then you don't have to explicitly say this needs to be called because this means it. All these works in Drupal 10. This does not work on Drupal 10. Auto-configuration is something that does not work in Drupal yet, hopefully. So auto-configuration is some logic to automatically identify objects based on what they implement. And there you see I have an interface, sneaker interface so it relates to the previous slide. And I have an attribute, auto-configured tag. And this attribute says any class that implements this interface should get a tag, a DI tag, which by default will have the same name of the interface so that's why there are nothing in the bracket but I could put a string there. And then that's how we automatically identify and build a collection of sniffers in the previous slide. So there you see we just have a few lines and basically we remove the compiler pass or a provider or basically code we had to write by just explicit declaration. So in Symphony we use expression language and so in order to define some not trivial services so you can use them to build a service as a service factory. So sorry if doesn't mean anything for you, that's a bit cryptic sometimes. And we also are going to have a native support for lazy loading services. So in Symphony we used to require a dependency and a bridge to have services be really lazy. And now we are merging, we added to Symphony the required infrastructure to generate proxies that are needed to lazy load services. I talked with Alex just before the conference, the talk and you already have some infrastructure to have lazy services in Drupal. Maybe you could benefit from the code we have now in Symphony basically outsource that code to Symphony, maybe. So to ensure that all this is actually working I built a small application to just play with Drupal. So this is my model, my model is a barista. So it brews coffee. So this is the set of files I have. So you see at the bottom we have the YAML files to define the services, the routes, everything that is needed. I have a controller to map that to a route, a barista, which is using a coffee machine of course. And then I have a provider because I need to wire things together. So this is my barista thing. It takes a config factory. There you see the config factory. It's going to be auto wired and it's going to inject the config factory service that Drupal provides. So that's all I need to get the config factory. I need also a coffee machine. And then in the body I'm using this coffee machine and I have this comment saying pretend like I'm using the config factory, which I'm not, but just for the example, right. You write that and it works and you can try it on Drupal 10. It's going to work. This is the coffee machine. So the coffee machine takes one argument which is the number of scoops which needs to be brewed. There you see it's a constructor argument and usually to inject a constructor argument into a service you need to add explicit configuration in the YAML file. This does not need to be, this is not mandatory anymore. If you enable auto wiring, then the logic will look at the attribute and will map the parameter in this case and inject that for you. And then you brew things with using whatever logic you want in the method. This is the controller. So the controller is calling Drupal service to get the barista service. It's calling the barista to prepare the drink and it's returning the result for display in the output. There is something that is Drupal style there, the static method called there which is using some global states. I wish there were a way to not use that which would mean making controller services to use dependency injection. So in symphony, we don't do that. We have a constructor and we declare that the constructor accept an argument, a barista object and then we don't have to use any global states. So that's something that could be nice in Drupal. And this is the service YAML configuration that makes everything work together. You see it's empty. And that's the story of symphony in the last years. Figuring out a way to have no YAML configuration and always code, code, code, declare some attributes sometimes when it's needed and then just be in the code editor. And that's a wish you could do in Drupal and you can a bit more actually now. Well, okay, I'm cheating because there is this. I'm cheating. I'm cheating there. If you look at that, it's a Drupal provider and this one is using a finder to figure out all the classes in the service directory and it's loading them, registering them as definition. So basically registering all classes as services. This is something that symphony knows how to do without you writing any code. So I wish Drupal could do that. So my last slide is about, almost my last slide is about this. It would be nice to put services YAML files on a diet which would mean to enable auto discovery so that providers could have less use cases. To enable auto configuration so that symphony could add a tag automatically on services. That would be great. To register control as services to enable custom value resolvers or at least enable the new ones I mentioned before. Right now the list is hard coded so you can change it but you need to do the compiler pass or we write configuration for that. It would be nice to be able to reference some dynamic value. This is using ENV there as a parameter referencing an environment variable. An ID could be to be able to reference a Drupal configuration value. Something that you have already in the database using the config factory service, et cetera. So that you could decouple your parameters from Drupal itself. Could be useful to have the root attribute in case you like it. And that's something I figured I found in the code. There is still a place where service identifiers are forced to be lower case. So I think that's a poor request that could be done these days because there is a check to forbid lower case IDs but this check is in one place and there are many ways around. So basically this doesn't work. And that's another thing. When I built this application I had one tab open with the clear cache button from the admin backend and I had to click on it. So I know that there are better ways to do that. It would be great to have some kind of way to make a short feedback loop when developing a model. When I had a class it would be wired automatically because the cache would be invalidated without me caring about that. So I think there are all the tools on the internet to do that already, to monitor a directory and have this run a command, et cetera. So I'm going to stop on that. Undergo change or be the change. I think that the challenge of Drupal, the challenge of symphony, so always innovate but drop code. Really, it's critical. We survive Drupal and symphony and we are going to survive because we are going to be because we are able to remove code. I think that's the super poor that we have together. So congratulations to the Drupal team for deciding to go with symphony 6.2 to making it actually work. And thank you also for the interactions that we have together. I think both communities work very well together. So I'm really happy with the collaboration we have between both projects. Thank you very much. I'm not sure we have time for Q and A but are you available to stick with me? So yeah, if you've got any questions just come to the front and yeah, we do like that.


This is stock number 9569. We are here at Summit Automotive in Fond du Lac Wisconsin. You're new and used heavy-duty truck headquarters. Remember we are the guys with the trucks on 41. Today we are checking out this super clean 2010 Ram 2500 mega cab short box. This truck has the 6.7 liter Cummins diesel. From this HD video you will be able to tell that this truck is extremely clean all the way around. No dents or dings on that front bumper, factory fog lights, nice clear headlight lenses, bright silver metallic is the color. We shoot all of our videos in 1080p so if you have HD capabilities on your computer tablet or smartphone device turn them on right now because it's like you're right here looking at the truck with me. It has the nice polished aluminum alloy rims. Corelli Scorpion ATR LT 265 70R 17 tires and these tires have right around a little over half the tread left. Frame and underbody is a nice condition. Very clean on that front fender. I didn't see any dents or dings on that. The hood is in excellent condition as well as we go down this side of the truck. First we'll take a look at this rim. That's in really nice shape. No scuffs or scrapes on that and as we go down this side of the truck you can see just how clean that body is. How reflective and mirror like that paint is. We take these HD videos so if you are far away or even if you're close by and just cannot make the trip down you can still see the truck, hear the truck and have confidence in the vehicle that you're looking at before you even get here. We sell a lot of these trucks out of state so we want to make sure that our out-of-state customers are getting the most accurate and informative description of the vehicle as possible. Back rim is in really nice shape as well and the back tires have about as much tread as the front tires maybe just a hair loss. It has all the remaining factory exhaust and frame and under body for being in the eight-year-old vehicle is about what you'd expect but as all the remaining factory exhaust all lower rockers look really good on this truck. I didn't see any corrosion there. Wheel wells are a nice shape as we come around to the back. Rear bumper is in excellent condition no denser dings on that and that tailgate is in really nice shape as well. It does come with the full towing package which includes the receiver hitch four pin and seven pin wiring and it does have a drop-in bed liner. It has a trifecta soft tonneau cover that's in pretty nice shape it's definitely not brand new but it's an okay shape. Only thing I noticed maybe one tiny little rip at the top there as we go down this side of the vehicle just as clean as that passenger side and for a full disclosure this back rim is in nice shape as well. Very very clean down this side and once again those lower rockers are in really nice shape. That's definitely what you got to look for on these older Rams those rocker panels can sometimes get a little rusted out but this one is really nice. Inside the SLT package gives you the gray or dark charcoal cloth interior there aren't any rips or tears in these seats. It does come with weather tech floor mats throughout has the factory brake controller auto headlamps power windows power locks and power mirrors and it has power pedals. Take a hop inside here and you can see that this truck has 52,234 miles instrument cluster is very clean it has the leather wrapped steering wheel no scuffs or scrapes or rips or tears on that six-speed automatic transmission the turned-out full-wheel drive this one comes with the climate control of course which will turn down for a second but it has the factory exhaust brake single disc CD player with AM FM and serious satellite radio capabilities and you do get an aux jack right there. Finally 115 volt 150 watt plug-in passenger seat is very clean as well no rips or tears on that and it does come with the 40-20-40 split bench seating you can see we have a weather tech format on that side and the dual glove boxes. Take a quick look at the back seats and then we will check out under the hood so the mega cab is definitely known for its vast amount of room in the back seats which is if you got big people that you need to haul around this is definitely the truck to do it lots of leg room you almost don't know what to do with all the room that's in the back of a mega cab power sliding rear window you see it's do fold down nice and flat so if you got pets or something you can put all the seats down and flat or you could even put both sides down and sleep back here if you wanted to and of course we have that weather tech format back here as well. We'll take a quick look under the hood like to thank you for checking out the video hopefully you can from the video can determine just how nice this truck is and make a smart buying decision. Under the hood we have the 6.7 liter Cummins diesel engine base very clean runs very smooth this truck has been fully safety and inspected by our service shop has a fresh oil and filter change all the fluids have been checked and topped off and this truck is 100% ready to go. To see more pictures of this truck or one of our other 400 new and used cars trucks SUVs minivans wranglers half tons we quarter tons one tons you name it we got it go to our website www.summitauto.com full pictures and descriptions of every single vehicle on our lot videos of every single used vehicle that we have all at summitauto.com if you want to check out just our used inventory you can go to truckson41.com that's trucks on 41.com go check us out there and if you want to make this truck yours give us a call right now 920-921-850 ask for one of our sales associates to make this Ram 2500 years today and if you want to check out more videos of this truck or any of our other trucks you can go to youtube.com slash summit auto remember to like subscribe and share on this video and all the videos that you see there in fact in a second you'll see link to subscribe to our YouTube channel on your left a link to more heavy-duty truck videos like this one on your right if you haven't been to our website on the bottom link to this vehicle on our website click those check us out we really look forward to helping with this super clean 2010 Ram 2500 mega cab short box thanks again


One week after President Bola Tinobu announced the removal of fuel subsidy payment, the presidential candidate of the Labour Party, LP, in the February 25 presidential election, Peter Obi, has broken his silence on the much criticised move. He said rather than go through a forceful removal, he would have provided various relieving policies to cushion the effect of subsidy removal. Obi spoke with judicial correspondents at the Court of Appeal, venue of the presidential election petition tribunal on Tuesday. Right from the time I was a member of Jonathan's economic management team, I have consistently maintained that we need to remove subsidy, because for me it's organised crime. People were just stealing the resources of the country, and that crime has to stop. And I showed my own position in empirical data to show that the amount of fuel we consume is totally far ahead of what we are supposed to consume. I showed it in data comparing with countries like Pakistan, and it's very clear. So I maintained about this removal. The difference is that I believe it should be removed with conditions. And that condition has to be applied. If I was involved, I would have shown in empirical, statistical data, how much we are going to save, where we are going to apply it, the gains for the people, so they can. Just like I said, don't drop my campaign. Click the notification button so you get notified about fresh news updates.


From Austin, Texas, it's theCUBE. Covering DockerCon 2017, brought to you by Docker and support from its ecosystem partners. Hi, and we're back. I'm Stu Miniman and this is SiliconANGLE's production of theCUBE here at DockerCon 2017, Austin, Texas. Happy to have on the program, current committee who was CEO of ContainerX which was acquired by Cisco. And you're currently the senior director and head of container products at Cisco. And also joining us is Pradwong who is the director of product management at Docker. Gentlemen, thanks so much for joining us. Thanks for having us. Thank you, Stu. So Kieran, talk a little bit about ContainerX. Bring us back to why containers, why you helped start a company with containers and went to be acquired by a big company like Cisco. Yeah, it was actually late 2014 as when Pranip and I, my co-fighter from ContainerX, we started brainstorming about what do we do in the space and the fact that the space was growing. And my previous company called RingQ, which I sold the Citrix where we had actually built a container between 2006 and 2010. So we wanted to build a management platform for containers and it was, in a way there was a little bit of an overlap with Docker Datacenter, but we were focusing on multi-tenancy aspects of it, bringing in concepts like VMware DRS into containers, et cetera. And we were acquired by Cisco about eight months ago now. And the transition the last eight months has been fantastic. Great.  What brought you to Docker? Yeah, so actually before Docker, I was actually a veteran of Cisco, just interestingly enough. Many different ventures in Cisco. Most recently, I was actually part of the NCME Networks team focusing on software-defined networking and application-centric infrastructure. So obviously I saw a pretty big trend in the infrastructure space, that the future of infrastructure is being led by applications and developers. So with that, I actually got to start digging around with Docker quite a lot and found some good interest and we started talking and essentially that's how I ended up at Docker to look at our partner ecosystem, how we can evolve that. Two years ago now actually. Yeah, and I think two years ago, Docker Networking was a big discussion point. Cisco's been a partner there, but bring us up to speed if you would, both of you, on where you're engaging, on the engineering side, customer side, and the breadth and depth of what you're doing. Yeah, maybe I'll start. Yeah, so two years ago, networking was in quite a different place. We kicked it off with acquiring a company back then called Soccoplane, which helped us really define. And we know actually, Madhu and Brent are cubalums, and we actually know those guys. And talk like your company from the idea to starting the company to doing acquisition was pretty quick for you and for them. Right, and we felt that we really needed to bring on board a good, solid networking DNA into the company, and we did that, and they helped us define what a successful model would be for networking, which is why they came up with things like the container networking model and LibNetwork, which actually then opened the door for our partners to then start creating extensions to that and be able to ride on top of that to offer more advanced networking technologies, like Conte, for example. Yeah, and Conte was actually an open source project that was started within Cisco even before the Container X acquisition. Right after the acquisition happened, that team got blended into our team, and we realized that there were some really crown jewels in Conte that we wanted to productize. And we've been working with Docker for the last six months now, trying to productize that, and we went from Alpha to Beta to GA, and now Conte is GA today, and it was announced in a blog post today. And it's actually a 100% open source networking product that Cisco, TAC, and Cisco Advanced Services have offered commercial support and services for. It's actually a unique moment because this is the first 100% open source project that Cisco, TAC has actually offered commercial support for, so it's a pretty interesting milestone, I think. And actually also with that, we also have it available on Docker Store as well, and it's actually the first Docker networking plug-in that's been certified as well, so I'm pretty also happy to have that on there as well. Yeah, anything else for the relationship we want to go in beyond those pieces? Yeah, so we also saw that there was a lot of other great synergies between the two companies as well. The first thing that we wanted to do was to look at how we can also make it a lot, a better experience for our joint customers to get Docker open running, Docker Enterprise Edition open running on infrastructure, specifically on Cisco infrastructure, so Cisco UCS. So we also kicked off a series of activities to test and validate and document how Docker Enterprise Edition can run on Cisco UCS, Nexus, platforms, et cetera. So we went ahead with that and a couple months later we brought out jointly to Cisco Validated Designs for Docker Enterprise Edition, one on Cisco UCS infrastructure alone, and the other one jointly with NetApp as well with the FlexSpot solution. So we're also very, very happy with that as well. Yeah, great, always, our community I'm sure knows that there's CVDs from what they are out there. UCS was originally designed to be the infrastructure for virtualized environments. Can you walk me through what other significant differences there or anything kind of changing to move to containers versus what UCS for a virtualized environment? The goal with UCS is essentially considered a premium kind of infrastructure, server infrastructure for our customers. And not only can they run virtual environments today, but our goal is as containers become mainstream, containers evolve to being a first-class citizen alongside VMs, we have to provide our customers the solution that they need. And a turnkey solution from a Cisco standpoint is to take something like a Docker stack or other stacks that our customers adopt, such as Kubernetes or other stacks as well, and offer them turnkey kind of experiences. So with Docker Data Center, what we've done is the CVD that we've announced so far has Docker Data Center and the recipe provides an easy kind of way for customers to get started with UCS on Docker Data Center so that they get that turnkey experience. And with the MTA program that was announced today at the keynote, right? So that allows Cisco and Docker to work even more closely together to have not just the products but also provide services to ensure that customers can completely sort of get started very, very easily with support from advanced services and things like that. Great, I'm wondering if you have any customer examples that you can talk through, if you can't talk about a specific logo, maybe you can talk about, are there key verticals that you see that you're engaging first or what can you say there? Yeah, maybe I'll start off. We've been working with a joint customer of ours, actually a couple of them. Once again, I don't think we can point out the names yet, where we haven't fully disclosed and collated with their relevant PRs, but definitely in the financials, especially at the online financials, there's a significant company that we've been working with jointly that has actually adopted both Contiff and is actually seeing quite a lot of value in being able to take Docker and also leverage the networking stack that Contiff provides and be able to not just orchestrate networking policies for containers, but the other thing they want to do is to have those same policies be able to run on cloud infrastructure like AWS, for example. So they obviously see that Docker is a great platform to enable their affordability between on-premises and also public cloud, but at the same time, be able to leverage these kind of tools that makes that transition and makes that move a lot easier so they don't have to rethink their security network policies all over again. So that's been actually a pretty good use case, I thought of the joint work that we did together with Contiff. Some of the customers that we've been talking to, in fact, we have one customer that I don't think I'm supposed to say the name just yet, but has rolled out Contiff with the Docker runtime in five production data centers already, and these are the kinds of customers that actually take to advanced networking capabilities that Contiff offers so that they can get comprehensive L2 networking, L3 networking, their monitoring tools that they currently use will be able to address the containers because the L2, the L3 networking capabilities allows each container to have an IP address that is externally addressable so that the current monitoring tools that you use for VMs, et cetera, can completely stay relevant and be applicable in the container world. If you have an ACI fabric that continues to work with containers, so those are some of the reasons why these customers seem to like it. So, Kieran, you're relatively new into Cisco and you came, you were a software company. Many people, they still think of Cisco's, it's a networking company, I've heard people derogatory, it's like, oh, they made hardware defined networking when they rolled out some of this stuff. Tell us about, you talked about an open source project that you guys are doing, I've talked to Lutucker a number of times, I know some of the software things you guys are doing, but give to your viewpoint as to your new employer and how there might be different than what people think of as the Cisco we've known for decades. Yeah, Cisco has, of course, it has several billion dollars of revenue coming in from hardware and infrastructure and networking and security have been the bread and butter for the company for many, many years now. But as the world moves to cloud native becoming a first class citizen, the goal is really to provide complete solutions to our customers.   Customers have data centers on premises or on hosted private cloud environments. They have workloads that are running on public clouds. So with products like Cloud Center, our goal is to make sure that whatever they have from the applications that they have can be orchestrated across these multiple clouds. We want to make sure that the pain points that customers have around deploying whole solutions include easy setup of products on infrastructure that they have and that includes partnerships like UCS or running on ACI or Nexus. We want to make sure that we give that turnkey experience to these customers. We want to make sure that those workloads can be moved across and run across these different clouds and that's where products like Cloud Center come in. We want to make sure that these customers have top-grade analytics, which is completely software. That's where the app dynamics acquisition comes in. And we want to make sure that we provide that turnkey experience with support in terms of services with our massive sort of services organization and partners, et cetera. So we view this as our job is to provide our customers what they need in terms of the end-to-end solution that they're looking for. And so it's not just hardware, it's just a part of it. Software, services, et cetera, complement it. All right, Brad, last question I have for you. In the keynote yesterday, I couldn't count how many times the word ecosystem was used. I think it was loud and clear to everybody there that I think it was like Docker will not be successful unless it partners successful, kind of vice versa. When you look at kind of the product development piece of things, how does that resonate with you in your job that you're doing? Yeah, and we basically are seeing Docker become more and more of a platform, as evidenced by yesterday's keynote, and with every platform, the only way the platform is going to be successful is if we can do great, we have great options for our partners like Cisco to be able to integrate with us on multiple different levels, not just at one place, and the networking plugin is just one example, but many, many other places as well. Yesterday we announced two new open source initiatives, LinuxKit, and also the Movi project. You can imagine that there's probably lots of great places where partners like Cisco can actually play in that, not just only in the service space, but maybe also in things like IoT as well, which is also a fast emerging place for us to be in. And all the way up until day two, type of monitoring, type of environments as well, where we think there's a lot of great places where once again, options like app dynamics, titration analytics can fit in quite nicely with how do you take applications that have been migrated or modernized into containers and start really tracking those using a common tool set. So we think that's really, really good opportunities for our ecosystem partners to really innovate in those space and differentiate as well. Kieran, I want to give you the final word, takeaways that you want, kind of the users here and those out watching the show, to know about Cisco in the Docker environment. Yeah, I want to let everybody know that Cisco is not just hardware. Our goal is to provide turnkey, complete solutions and experiences to our customers. And as they walk through this journey of embracing cloud native workloads and containerized workloads, there's various parts of the problem that include all the way from hardware to running analytics to networking, to security and services help. And Cisco as a company is here to offer that help and make sure that the customers can walk away with turnkey solutions and experiences. Kieran and Brad, thank you so much for joining us and we'll be back with more coverage here, day two, DockerCon 2017, you're watching theCUBE.


And now it's time for business news. The governor of the central bank of Nigeria, Mr. Godwin-Amir-Fle, has continued his message of diversification, input substitution and self-reliance. He helped and these are the annual bankers dinner that took place in Lagos. The event was well attended by top bankers and the governor of Lagos State, as plus TV Africa's Hillary Narukah reports. We have severe issues. We've gone through various socioeconomic events resulting in severe economic contraction, but no one could have foreseen that was in a lifetime virus or pandemic. The banking industry's reaction to COVID-19 dominated speeches at the 56th annual bankers dinner in Lagos. Banks recorded losses after the economy was shut for months during the lockdowns in Nigeria. In spite of this, the industry led the private sector in forming the coalition against COVID-19 or KACOVID. The coalition opened several more PCR labs, supplied about 390,000 test kits and many other critical supplies, including protective, personal protective equipment. We worked with the government and supported the Federal Aviation Authority of Nigeria, the Civil Aviation Authority and the Port Health Facilities in reopening our airports. The Lagos State Governor Babaji Desong Wulu used the opportunity of his speech to express his gratitude to the bankers and the governor of the Central Bank of Nigeria. Even at the very recent G20 meeting that was held in Rome, I was privileged to be at the side meeting and the questions were asked, how did we do it in Nigeria? I said to them that there were the lessons and the support that came from the organized private sector that was made by Mr. Governor of CBN himself. International flights were suspended for most of 2020 and countries enacted protectionist policies, including export restriction of agricultural and medical products. This led the Central Bank to think deeply about national self-reliance. We reflected on ways in which we could turn the crisis into an opportunity, one that will reset the trajectory of our economy from its dependent, unimportant items to one that is more resilient and productive. And that is the journey that we are determined to be that we must continue, that we must diversify our economy. The bankers did not end on a high, with awards, including that of the COVID-19 response banker of the year, which was won by two bankers. We were on the outdoor, we were on the radio, we were on the billboards, we were on the press. We also had activations in communities, so we used influences like religious leaders to spread the message. COVID-19 may have taken center stage this year, but the bankers here wanted to be a different issue when they gather again next year. For Plus TV Africa, Hillary Noroka.


Welcome back to Think Tech. I'm Jay Fidel. This is Keeping the World Company. Today we have a Chief Judge, retired, shacklery refetter from the Second Circuit, and Vicki Caetano, interested citizen from the First Lady. Wow, what a panel, fabulous. I'm going to talk about the diaspora, which is the Chinese diaspora, which Hawaii is definitely included in that. Welcome to the show, you guys. Thank you, Jay. Thank you. So I just want to tell you a couple of things that caught my attention this morning. Number one is that Chinese and Russian ships and bombers are flying together in joint formation all around the world, including in the Pacific. That's very troubling. The other thing that's even more troubling is an article that appeared in SWP, which is a German newspaper, some repute. It talks about the diaspora, the Chinese diaspora, about around the world, 60 million people are in that diaspora. And what is happening, what we see happening here in Hawaii and in the mainland, is happening in Germany the same way. And it's very scary. This article is very scary because it sounds so similar, so familiar with what we see and understand here in Hawaii. How Xi Jinping is using the diaspora in order to gain advantage technology, diplomacy, business, what have you. And to the extent that a few years ago, this was kind of a loose movement using the diaspora. Now it's not loose at all. Now it responds to the top echelons of the Chinese government. Okay, so let's start with you, Shackly. What to your knowledge is happening and how is it revealing itself in Hawaii? Okay, I think we ought to take a step back though and define what we're mean by the diaspora. I did look it up a little bit and what I found is this is that the Chinese diaspora is there's 10 million plus in Indonesia, 7 million in Thailand, almost 7 million in Malaysia. And next in terms of numbers is the U.S. with about a little over 5 million people who and that's a U.S. census people who identified as being Chinese. So that that's the number of people. They're largely about 80% is spread through five U.S. states. California is about 40% of the total. And then after that, New York, Hawaii, Texas and New Jersey. And I have a friend in China tell me once that the only not in the Chinese restaurant is in Antarctica. And maybe if you look hard you find one there. So Chinese diaspora is all over the world. The Chinese Communist Party and the Chinese government operates primarily through the United Front work department to influence that diaspora overseas and also the state security service of the PRC, which is basically like the CIA in America, which which runs spies and and clandestine efforts and so on. But the United Work Department sponsored the organization like that. Anyway, United Work Front work department sponsors things like the Confucius Institute of American Universities, which are used to influence students and university programs. They also influence or they provide I guess Chinese language training. And one interesting side note on that is when I was in China a while back, a friend of mine told me that when Chairman Mao was in charge, he changed the written Chinese language. And I said, why would you do that? You know, because one of the things that someone who can read the written Chinese language can do is read the ancient texts. And he said, well, is to make it easier to learn. But if you look at if you look at how it stands now, it doesn't look very easy to me. But in any case in Taiwan, they didn't make those changes. So they're they're actually teaching a version of Mandarin really, that's been altered by the by the, you know, Chairman Chairman Mao and and the and the party, which is I thought interesting. And I had I I ascribe a a, you know, a suspicious reason for that.  But that's just my supposition. Anyway, they make political contributions to famous instances are the representative Swalwell, if you remember, he had a Chinese Chinese spy on his on his staff who was involved in fundraising to support his campaign. And the other one that comes to mind is Diane Feinstein, Senator Feinstein had apparently had a Chinese spy on as her driver for 20 years. And so they they they do many other things, film festivals, cultural festivals, Chinese National Day visits by Chinese officials, sponsoring research at American universities, and keeping track of Chinese students who are here studying at different universities. And and and then keeping track of Chinese dissidents who've come to America, such as people who are in Falun Gong, as you know, an organization that was horribly oppressed in China. And that's kind of the general field that I'm aware of. Yeah, let me let me just add that in that article in the German newspaper. They said that the when we talk about the diaspora, we're not just talking about people who were born and raised in China. We're talking about people who are Chinese. And they, they may have lived overseas for a long time, but the the PRC is, you know, considers them part of the diaspora and reaches out to them in the same way. Vicki, you're familiar with the police station affair in Brooklyn, how the how the Chinese government actually had a police station. And they were monitoring the movements and the conduct of Chinese people in Brooklyn. That was really, really scary. It is scary, Jay. And you know, look, we're living in an extremely precarious time right now. You've got two very powerful countries led by two extremely powerful leaders who seek to change the world order. I mean, I think Putin and Xi Jinping want to show America that there's a new world order. I think one of the great points to discuss is whether they would want to collaborate together. And I don't think there's collaboration between the two of people like them, but to combine forces in order to teach our European allies in the United States a lesson or whether they feel independently they can do that. Regardless, we're really living in a very precarious time. I think they will use all means and they call it strategic placement of their intelligence in order to penetrate and create the influence they need to gain a stronger level of confidence and to be able to win whatever war, however they are going to engage in that definition of war against the United States. You sound concerned, as I am and Shackley is. So it seems clear that they're surveilling and doing cyber-runners. Just a couple of examples of that. We have Chinese ships off the islands of Kauai, for example, on a regular basis, looking over the Pacific Missile Range, trying to figure out what our missile traffic is over there, what our technology is. We have those balloons. Nobody can tell me those balloons are innocent balloons. They're not. We have on the college campuses, we have perculean efforts not only to recruit people who would report back, but also it doesn't always work, but they try also to do cyber espionage on our work product, our science, in the universities. In fact, a couple of years ago, there was a significant conference at which UH attended to again handle on the Chinese efforts around the country to take our intellectual product from the university. So it seems clear that there's a comprehensive effort going on to find out everything they can find out, including every manner of technology you can think about. And where I get stuck is Joe Biden sends Anthony Blinken over there. He sends Janet Yellen over there. We have a regular pathway of senior diplomatic officials going to China, trying to talk to the military, but not succeeding in that way, but making friends. Query, is that helpful? Is it got a benefit to it, or is it naive? Vicky? Well, you know, I have some friends who spend time here and also in Singapore, and very interesting. They're Chinese Americans, and they actually believe that the United States needs not to feel so threatened, as you and I perhaps feel, but to simply acknowledge that we're no longer the world power, and to understand that there are others in influence now, including China, Russia, Russia, and to create a more collaborative effort. So it seems like their approach of brainwashing is already starting to have impact even on my friends. So I do think that it's very challenging, because I think President Biden is trying all diplomatic means to try to engage China. As it is, we are already at war indirectly with Russia. We're not their friend. Do we really need to take on another enemy? So I think he has to try that what he is doing. We don't want to be in bed with them, but do we really want to go up and fight another country like that in another way of war? Either way, and as the United States, are we prepared? We've had people for so long, perhaps we're a little bit more complacent now. Yeah, exactly. It doesn't seem equal. It seems disparate somehow. On the one side, they have a very specific obvious intention of winning this competition, if you will. Competition may be a light word for what I'm thinking. And on the other hand, we need to have a relationship with them, as Joe Biden understands. But how do you handle an imperfect situation like that, where one side really wants to be aggressive and the other side more and more finds itself on the defensive? Well, one thing we could do is set up a U.S. cyber command. Didn't we do that already? I'm thinking on the size of the U.S. space command that we have now. The reason I think that is, and Vicky and I were talking about this before we started is, according to Sun Tzu, who is the man who basically spells out the way the Chinese think about warfare, winning without fighting is the best way to go forward. And this whole business of influencing the diaspora and cyber warfare and all the different ways that they come at us is, I think, aimed at that. Now, whether they'll attack Taiwan or not, I don't know. I do worry about that. But I think that they're going to try this first. And how do we protect ourselves? Well, I think we have to be sophisticated and work in new ways to do that. On the police station issue, there is a virtual police station that I understand on WeChat. WeChat is the common internet, I guess it's like Facebook in China. If you travel around China, you use WeChat to talk to people. And they monitor that. In fact, I canceled my account because they wanted to change the privacy agreement. I said, oh, no, I'm going to agree into that. Not that I have anything that they'd be interested in. But that's the best I can think of is to, you know, when I read the other day that the Chinese had hacked our government information again, you know, that really depressed me. Can't we do better than that? Well, we're an open society. And that's, you know, that's the way it is. That's the way we've come up. And as an open society, there are ways to get in on us. I read that there's a Chinese fashion website that sued an American fashion website for some kind of claim of unfair competition in the state of New Jersey. So here's a Chinese company taking advantage of our legal openness, if you will, our rule of law, to sue an American company. It just doesn't seem to just try that by going into China and suing, you know, the Chinese website, just try that, not likely. It just it seems terribly unfair because we're open. Well, there's another, but I think there's an effort in Congress now, is there not to prevent Chinese nationals from purchasing American farm property? I don't know how far that's going to go, or whether that even be constitutional, but there's an awareness now of this sort of thing. Yeah. So, Vicki, you know, how about Hawaii? Where does Hawaii stand? I mean, we have a lot of military here, as I mentioned, Pacific Missile Range, but this all of Pearl Harbor, there's a lot of, what do you want to call it, signals going in and out of Hawaii about the secured things. And although we may not care enough, we certainly should care about national security. Hawaii somehow becomes, shall I say, a target. Yeah, Hawaii is a very strategic location, you know, and I think that we need to recognize that. I think sometimes that as residents, we don't. And I think that's a very good starting point, really, among the American people. We don't need to go from not even discussing it to becoming paranoid, but we really must enlighten and be much more cognizant society of what threatens us from outside our country. I think for many Americans, we're just not engaged enough in matters that pertain to national security. We've had democracy enjoyed it for so long, and we don't realize the threat to democracy. And I think that's a very important starting point, to have those conversations and to be aware of these threats from China, from Russia. How do we, however, how do we cross, yeah, how do we not cross that line? Because as a country that really has the rule of law and appreciates our democracy, how can we clamp down on any threats to our, you know, cybersecurity without losing our democratic values? I think this is the thing that we struggle with, right? Absolutely. What a perfect way to put the question. So, Shackley, you know, in terms of the military, seems to me that we are exposed here, and the question is, what is the messaging? You know, I saw a piece by the relatively new Indo-Pacific commander, and it was not encouraging. He spoke in fearful terms about what China was doing. But on the one hand, if you read that kind of rhetoric, if you hear him speak, and he's a very influential man, obviously, you know, at the top, really the top of Indo-Pacific, you get worried. On the other hand, as Vicki says, you know, we have to, we have to cool it. But you have to be careful about cooling it because, you know, China is very good at cyber. It's very good just as Putin is at doing subtle propaganda, not only to members of the diaspora, but to all of us to make us think, well, you know, we shouldn't be too excited about this. Let's try the open government democratic way. Let's try to make peace. Let's do a Joe Biden approach on this. And so you have two forces at play. One force is the more paranoid force, and the other force is don't worry about it force. How do we handle that? Well, I subscribe to the Theodore Roosevelt view of speak softly and carry big stick. What a guy. Deterrence that they can see. If we'd have had adequate deterrence in our dealings with Russia, Ukraine wouldn't attack. That's my view. But I think they get away with it. They got away with it in Georgia. They got away with it in Chechnya. And so she thought, you know, and he got away with it in Ukraine in 2014. So he went for it. And if you conduct your foreign affairs in that manner, you have to expect that somebody is going to try to take advantage of it, especially these nations that are aggressive and, you know, wanting to increase their influence across the world. So I'd say military deterrence, for sure. Well, Teddy Roosevelt did not actually define what the big stick was. I think it's incumbent on us to talk about what the big stick is. I was really unhappy to find that the Chinese navy has more ships than we do. And that the Chinese naval technology is ahead of our ship. In some ways, the ships we have are old. The technology we have is old. And we may not be up to the, you know, up to the level that they have spent a lot of time and money developing. I mean, one of the reasons they do their espionage is to find out, you know, what our technology is. And you know that in the Federal District Court of the state of Hawaii, in the state of Hawaii, there was a case not 10 years ago about a guy who sold the stealth bomber plans to the PRC. And they have that, you know, and they didn't participate in the litigation. But a few weeks after the case was over, presto digital, the Chinese are flying their own stealth bomber. And that's how it goes. So, you know, the question is, what is the big stick exactly? Well, as a military person, one thing I'll say is we have the best submarines in the world. And the submarines will tell you there are two types of ships, submarines and targets. And although, Kenny Roosevelt did not say that, did he? The ships make a target rich environment and closing some of the straits to access China would have an immediate catastrophic effect on their economy. So, we do have deterrent. I think what about, you know, other countries in Asia? I mean, we do have the advantage, call it the soft power advantage, you know, the legacy of good relations ever since World War II with a lot of these countries all around, you know, all around China. Does that play here that the United States can have not a big stick, but a soft power stick by having good relations with other countries in Asia? I think that's certainly helpful. And I think the Chinese government, they know that, you know, whether it's Japan, South Korea, I think that, but I think they're playing to the weaknesses that we have within our own country. And I would ask the question, is this why we are such a divided polarized nation as we see now? You've got the extreme conservatives that, you know, feel like we are being taken over by everyone. And then you've got others who say that that's not the case. And in fact, are even more liberal about the rights that people from all over the world who come to this great country should have. And I think this is creating one of the biggest challenges and threats to us as a nation, because divided, we cannot stand, we cannot be united. So I think we've got to look into our own country to see what we can do to pull people together. I think that's really important to counter the threats that we have with China. So, Suneckli, what do we do with the diaspora problem, as reported in the German newspaper, where, you know, we have lots of people who are on Xi's list, who he's trying to influence and get to report back and all this. What do we do in this country? I mean, we're not going to be racist. We're never ever going to have racist policy, not at the national level, aside from what we have now. But that's a pariah to have, you know, kind of a racist approach to this. If you're Chinese extraction, somehow we don't trust you.   But so my question is, how do we handle the fact that there are a lot of millions of Chinese in this country? How do we handle the fact that she wants to reach all of them and have them help him? What do we do to defend against Taiwan, a takeover of Taiwan and more bases in the ocean at the South China Sea? What do we do to improve our posture? That's a big question. A big question, I'm sorry. Well, I think deterrence from a military point of view, they have to know that they'll lose if they take military action. And I think they would. But with regard to the Chinese diaspora and influencing them, I think we have to just depend on our American values. One of the challenges, of course, is we have pre-speech and we also have a right to privacy. So there are limitations on what the FBI, for instance, can do as far as surveilling people. And we have laws, pretty good laws about that. So we're limited in that regard. But I don't think there would be a law that would stop us from finding out more about what the Chinese government is doing in our country. And that should be a high priority, because if you don't know, you can't do anything about it, right? And it doesn't seem like they know everything. I mean, we have some general ideas about what's going on, but then we have the hacking of our government official records. I mean, the first time they did it, they got records, which included the applications of people in the military and the government for security clearances. You know what that information is. That's incredible information on people who have top-level security clearances in our military and government. I mean, do you want the Chinese having that? Let your mind fly about what they could do with that. But I want to give you a kind of case study hypothetical, exactly. She has said that he wants Taiwan by 2027. 2027 is what? Three years in a change away. So we're on the brink of something with Taiwan. And let's say he is unable to get Taiwan the way he wants. I mean, obviously he's going to try to affect that election next year, isn't he, in Taiwan? They have an election. And he's going to use his social media propaganda to reach the people in Mandarin in Taiwan and try to change the effect of that. Maybe he'll talk to his friend Putin about it. Putin's a past master about propaganda. Okay, so let's assume that that does not work. And then he has to go across the Taiwan straits and fly over them and scare them and even use kinetic war against them. Now, here we are in the United States just off a very unpleasant experience either supporting or not supporting Ukraine, where we have a divisive environment in our in our Congress and in our government. And we are faced with the issue of whether to do anything about protecting Taiwan or not. 1979, the United States, in order to improve its relations with China, deregognized Taiwan, which was kind of a stab in the back to Taiwan, query, you know, whether there is unanimity on protecting and defending Taiwan right now among the people in the country and among the people in Congress. So there would be a debate, I suggest to you, about whether we should defend Taiwan or let it go. And of course, the diaspora might be a weapon that she wants to use. He might want to do social media. He has enormous capability in that area to try to affect public opinion to say, you guys, we don't want another war. We had enough supporting Ukraine. We're out of Taiwan. What happens? Well, that's a good question. President Biden has said we would we would protect Taiwan. So I assume that that's the administration's position. I think we could, in fact, do that. But but China has to be convinced of that in order to prevent an actual war. If there was an actual war, there's lots of ways that China could be degraded very substantially and very quickly. You know, from a military point of view, but you know, we don't want to really get there. We had this idea for a long time since Nixon and Kissinger went over there and reestablished relationship. Chairman Mao was still alive that if we just did business, China would change and everything would be OK. And that that approach has never worked with an authoritarian regime. Didn't work in Russia. Just didn't work in China. I had high hopes for I thought it was going to work. Why wouldn't it work? You know, there are more billionaires in China, I think, than any place else. I mean, it worked really well. But would you say that it didn't work or that it did work for a while? Well, leader changes the narrative. Yes, I remember when he came into office and things changed immediately. I was there at the time and you could see the changes. And of course, I didn't know where it was really going to go. But you're right. Before that, times were very interesting in China. So, Vicki, let's take off on that, though. You know, what could we do to get around this aside from the kinetic war? What can we do to improve the relationship, really legitimately get around it? And maybe it does involve business. Maybe it involves a fresh look at business. I mean, I think we lost our mojo there somewhere around 2010, where we stopped doing business and stopped doing these entrepreneurial things in China. We weren't up to the task. A lot of people feel we were not as sharp in making those deals. And you weren't just dealing with your opposite across the table. You were dealing with the PRC every time you try to make a deal. But you think it's possible at least logically for us to get back in on the side door that way and do deals and achieve what Shackley thought was going to happen and what I thought was going to happen back 20 years ago? Well, I think we have to be very careful of that because I think the Chinese are extremely shrewd. And if you think about it, they opened the doors. Everybody went there, invested capital, things that they're running. And they are running very successful businesses only to then find that all of a sudden their business is threatened. And the Chinese in essence used our capital and our know-how to build these businesses. And now the government owns it. So I think we have to be very careful that starting a business in China is totally different from starting a business in the United States. So I'd be careful given the leadership mindset of what they're doing, that everything that is done there is done with the mindset of how it's going to benefit them. I think we need to watch that, being aware of that. I think diplomatic approach as much as can be. But at the same time, I see nothing wrong with really taking a harder look at what Shackley said, which is how access is provided. There's just no reason why some of these cases that have come up, why the United States, why did we fail in these situations and provided for the Chinese really an ultimate jewel of information that they're able to hack into or people that they plan to Senator Feinstein's office, that's just unacceptable. So I think we have to be less naive and much more, and I don't think that's racist in any way. I think that's just smart national security being much tighter about who we put in key positions that threaten our national security. Yeah, it strikes me when Diane Feinstein's driver was outed. There wasn't that much of a reaction by the United States. And when the stealth bomber plans were stolen, there wasn't that much of a reaction. We never really faced them down on that. And Shackley, don't you think there's a better way to say, look, we got your hand in the cookie jar. We're not going to allow that.  But we don't do that. We let it go, and then we send a half hour diplomatic staff over there to genuflect. That's not the right message, is it? Well, what Vicky was saying, there's no way anybody that has any sense would go over there and start a business now. They just passed a law that allows the Chinese government to confiscate foreign assets and take foreign employees and put them in prison. That's a happy thought. They think that it affects national security. And they also shut down these, there was like three or four organizations in China that did do due diligence on Chinese companies. So if you wanted to invest in China, you would go to these companies and you say, look, is this a, you know, is this a Tong society organization? Is it mafia? Or is it a real company? And these organizations would, well, they've all been shut down and their computers taken away by the Chinese government. How could we possibly, how could anybody sense make an investment in China now? Let me add to that. Let me add to that. I just heard Kyle Bass make a presentation on this. You know, the Evergreen and the big real estate companies in China that are in financial difficulties now, apparently they issued bonds both in yuan denominations and dollar denominations, which were sold to foreign investors. Well, they're not paying the dividends on the dollar denominated bonds, but they're paying the dividends on the yuan-dominated bonds. So anybody who invested in Chinese real estate is probably out of luck. What happened here? You know, a few years ago, a fellow at the East West Center, Simon Winchester, wrote a book called Pacific. They have various chapters in the book about various places around the Pacific, their history, and what was remarkable about their current contributions to the Pacific. And this was before, as I recall, this was maybe just around the time that she was taking power. But one point he made in the chapter on China was, you know, they have stood up. They are compelled. They are determined to stand up. And they don't like the West that much. And in the long term, they are always going to be not competing but fighting with us and trying to get on top. And we, we're a long way from that. And we don't have the presence or maybe quote the political will to engage close to them the way we might have had we seen as coming. And Winchester's closing thought on that, and this is my closing question to you, is, you know, just got to deal with the reality. We may not be able to compete with them and they will, they are determined to compete with us and they have a certain, you know, advantage in being an autocracy. It can make decisions overnight and implement them without any arguments. So query is Winchester right to be just like fall back and let them do what they want. Now authoritarian regimes last until they don't. And that's usually pretty good. I'm betting on our democratic society where people can, can become, say crazy things and, and, and act crazy and, and they're not putting jail for it. And they, but it, we have, we have a society that has, that has developed incredible creativity, incredible. There's no place in the world like Silicon Valley and the things that have been created there, or SpaceX, or, or, or Tesla, or these, I mean, Tesla is apparently the large, the past or the largest selling electric car in China now. So I wouldn't bet on China, I bet on the US. Did you also hear, did you also hear that the Chinese electric vehicles have now surpassed the ones made in Japan? And guess who's buying them? The Europeans. Well, that's the shuttle to me. Your courtesy of the Europeans. We were brought World War One and World War Two. So consider that one. And on that, I just, I want to offer you a, the last story for your comment, and that is this, you know, the Hawaii Bar Association organized a program which doesn't exist anymore, where we were going to exchange lawyers. We're going to send lawyers to China and we're going to take lawyers from China. And, and one of the revealing features about this is we never sent a single lawyer to China, not in that program. But we got plenty of lawyers who came from China. And of course, they had to be approved to come here. There was one lawyer who made all kinds of inquiry. This is in the early, early ought years. All kinds of inquiry about, about renewable energy, clean energy and what we were doing. And solar, solar cells and, you know, all the hardware that goes with, you know, the inverters, all that. And she was very, very, very curious. And she spent her time here, which was like one semester. Learning about that. And I realized over time that she was on a mission. Later on, not long after, we see China's solar cell industry, its solar panel industry, goes skyrocket. Because that was their mission. Their mission was to be number one in the world on manufacturing solar cells and panels and inverters for that matter. And so they are. Now, they are. And so it was all very friendly, you understand. There's a lot of questions from her about solar panels and cells and what Hawaii, which was ostensibly a leader in the area at the time, was doing. How can we deal with that? It's all very curious. And the notion of exchange, right? I don't know if we still have exchange, but we had a lot of exchange for many years about, you know, how Chinese students and business people would come over and you'd show them through your factory and you'd answer all their questions and show them your technology and they would take it right back. So query, is that still alive? Is that something we should continue to do, Vicki? I think that given the situation now, you know, and I'd like to step back and say, as a country, we should not change our democratic values. That's not what I'm saying. But I think we need to be much more diligent about who we give access to these, to what we have in our country in all industries. I, for one, would not welcome anyone from China. Even a Caucasian doesn't matter if you're from China to come visit our business. I would not welcome that. And it's not because I'm racist, far from it, but it's because I have to protect our company. And so it's the same thing. We have to protect our country. We have to get real and recognize that there is a serious threat to our country. And in order to not have to, you know, be on the defense and play ball when it's too late, we need to step up our I think guardrails now. And so I just be very careful about who we put in certain positions, especially in the computer world. You know, I totally agree that TikTok should not be available in the United States. I support that. Given the times that we are in, we need to be more realistic and more diligent. Oh, thank you. Thank you. Your thoughts on the same question? Well, I totally agree with what she just said. I'd like to sort of, if we're getting towards the end here, make one final comment or observation. I was looking at the waves of Chinese immigration, which is the diaspora. The first wave was in the mid 1800s. And those Chinese people came to America and they built the western half of the transcontinental railroad. And they contributed hugely to the progress and success of the United States. And they did the same here in Hawaii. And now those folks have been very successful and made huge contributions to our country. And we shouldn't forget that in what sometimes sounds like anti-Chinese attitudes. No, we can't forget that. They're part of our country just as much as any of us. It's just that I think we have to recognize what she is saying and what the diaspora means to and how it functions in other places so that we can get a more sophisticated view of things. And I think Hawaii is not a great risk honestly, but there are other places in the country and the world that are at greater risk. Suffice to say, this is a dynamic issue and it will change. The only thing that's constant for a while is he. Resitator for life, huh? That's not like that. Okay, I think we're out of time. Vicki, can we go now? Thank you for having me. Thank you, Vicki. Thank you, Shackley. Great discussion. Aloha. Thank you so much for watching Think Tech Hawaii. If you like what we do, please click the like and subscribe button on YouTube. You can also follow us on Facebook, Instagram and LinkedIn. Check out our website, ThinkTechHawaii.com. Mahalo.