All right, well, everybody, welcome to yet another OpenShift Commons briefing. Today, as we like to do on Mondays is take deep dives into new tech, and today is no different than most Mondays. But we have a trio of folks here. We're going to talk about integration in OpenShift, specifically integrations using Apache Camel and Apache Kafka. We have Zanib, Rachel, and Maria are here. And I'm going to let them introduce themselves and tell us where they are in the world. And then there's going to be a whole lot of demoing going on today. So ask your questions in the chat wherever you are, whether you're on Twitch or Facebook, YouTube or here in BlueJeans with us. And we will relay the questions and try and get them all answered for you. But without any further ado, please take it away and let's we have a full hour. So let's get started. Thanks, guys. Thank you. Hi. So, yes, we are three software engineers that are working in Apache Camel some way or another. We three work for Red Hat Engineering. And we want to tell you things about how to do good integrations in OpenShift or any other Kubernetes-like cluster canative. So let's start with what our integration frameworks who are how to do integrations the proper way. So usually when we talk about integrations, what we are talking about is when you are building a software architecture and you have different components, maybe databases, it may be APIs, it may be, I don't know, maybe you want to connect to some FTP to some custom service. And you have to define in your architecture what is going to be the workflow of data between one component to the next. Maybe you have to connect to some component to go to another component and then go back, maybe it's a flow that it's more linear. But in the end, you have to define or consider for your software architecture not only the specific logic of how the data or the flow is going to go from one component to the other, but also you have to consider how to connect to these components. And if you take, for example, if you want to connect to Salesforce, you have to learn how the authentication works, how the API works, what are the formats, what are the protocols. And then maybe you have to go to a database and then you have to learn how the authentication goes, how what are the pool of connections to connect to a database. And all this is usually a task that is repeated over and over again by many, many software engineers, by many, many developers. And we write and rewrite the same lines of code to how to connect to some component, how to connect to another. And yes, it's true that usually it's type of component has their own client library they can use. But even then, you have to learn how to use that client library. And you have to consider monitoring if you have to upgrade that client library, maybe because the API of the component changed or maybe because there is some security issue that forces you to upgrade the library. And then your architecture starts getting bigger and bigger and hard to maintain and very coupled one component to next. So this is what integration frameworks are for. They are the things in between components, so you don't have to worry about all of these things. You can forget about how each component works or how to interact with each component or if there is any issue you have to consider, for example, when you connect to some database, any considerations you have to do about encoding the authentication security issues. And integration frameworks, or at least good integration frameworks, should not only help you connect to the components, but also they should help you define the workflow. So for example, you can define that first you go to the A component, then you go to the B component and now you have a conditional and maybe you go to the B, C, maybe you go to the D component and it depends. And this is what the enterprise integration patterns are, different ways of defining workflows, maybe it's a loop, maybe it's a conditional, maybe it's a broadcast. There are many different patterns for communications or for creating workflows. And this is what a good integration framework should give you, a way to connect to components transparently on a decoupled way, easy, of course, and also offers you the way of defining the logic of the workflow on a good way. We want to talk to you about Apache Camel and this is roughly how Apache Camel works on the inside. You have different endpoints that are specialized into connecting to external systems. It may be an endpoint that connects to our database, Twitter, Facebook, LinkedIn, whatever. This endpoint, when interacting with an external system, generates a datagram, which we call the exchange, which is the message. This message can have all kinds of data inside and it can have headers, attributes, not only the response from the external system, but also some attributes to give context. And this message goes to the router, which decides what is going to be the following step and sends this message, this exchange to the next endpoint, which will interact with an external system, return, generate a message, go again to the router, and the router decides which is the next step, et cetera, et cetera, until the flow finishes. Why do we like Apache Camel? Well, it's open source, which is always a good opportunity of good software, but also it's very, very lightweight. It has more than 350 different types of connectors, which means it's difficult to find a use case. It's not already covered, and if you find a use case that it's not already covered, this is open source, you can create your own connector. And the idea is that Camel offers you the main specific language to define the workflows, which is very, very simple. For each step, usually it's just one line of code. And you can forget about most of the implementation details on how to connect to that component. Even you can easily replace one component with another. For example, at some point, instead of using an FTP, you want to use an S3 storage system. And it's very easy to change it, because Camel is prepared to think on how to connect easily different steps. This is why Apache Camel usually gets called the building blocks of software, because you can easily define how to connect one component with the next. You can connect this easily, but you can also replace this easily with another component and maybe have different flows. This allows you to focus on your use case logic and focus exactly on what is what you want to do, not focus on how to connect to some external system and learn how this external system works. These are hello world examples of Camel. Camel allows you to define it has the DSL, but it allows you to use different languages. For example, here in Green, we see how it will be in JavaScript, which is just a timer that every second it prints a hello world in a log. In blue, we see the Java version, which is exactly the same as the JavaScript, because it's the same DSL, but it has all the decorations of public class extend root builder that it needs to be interpreted as Java. And then on the orange, we have a Jamel version of the same thing. You can see you also have from a timer a step that is setting a body that is hello world and then log to an info. So it's very, very easy to define any type of workflow in Camel. And you can choose the language of your preference, the one that you are more comfortable working with. When to use Apache Camel, I would advise you to use it always, because unless you have a very, very contained application that doesn't interact with anything else, it really helps you to keep the coupling very low, and it helps you to keep your system very easy to maintain. But also, this is especially useful when you have very complex architectures with a lot of different components, so you can forget about caring how to interact with all these components. But specifically, if you have a very dynamic architecture, so you have to add and remove steps of your workflow, or you want to be able to add and remove steps of your workflow easily, like replacing an FTP with S3 or replacing a database with Elasticsearch or whatever you can think of, seriously, using Apache Camel will help you a lot in making this very easily. And now, Sinep is going to talk to you about Melcoercos. Sinep? So you stopped sharing so that I can share my. So let me know if you see my screen, because I don't see it. I can see it. Oh, cool. So here comes my part. I'm going to introduce you to the Kamakwakus project. It's an Apache Camel sub-project that brings all the awesome integration capabilities of Apache Camel and all the components that are available in the Apache Camel project in the Quarkus platform. So to explain how awesome this project is, let's have a quick overview of what is Quarkus and see how Camel fits into this platform. So Quarkus is Kubernetes native Java stack that is tailored for GraalVM and OpenJDK hotspots. And its main goal is to make Java run better in those modern cloud native microservices and service-less architectures. It really focuses on Kubernetes ecosystems and how things run in containers. We say that Quarkus is a supersonic subatomic Java because it addresses the two main problems that the Java language has in those container-based architectures, which are the memory footprint and the startup time. So it's supersonic because it's way faster at startup than traditional Java projects. We can see here in the slide, we have two example of a comparison between a traditional Java application and a Quarkus on JVM and Quarkus on native for the time-to-first response, which actually includes the boot of the app plus the first response time of the rest endpoint. So here we have an example of rest endpoint and here a rest that does something in a database. So we can see that when we are at Quarkus with JVM, we already have a big difference in the startup time. But when we are on native mode via GravVM, the difference is so impressive. So when we are on those environments like Kubernetes and OpenShift, we can really gain a lot in those environment and style of architectures when we have to deploy our apps very frequently and also that we need actually to scale up and scale down very quickly our apps. And it's subatomic because of the lower memory footprint. So here again, we have a comparison between Quarkus native and Quarkus JVM and a traditional Java stack. So we can see that we really gain a lot in the cost of the memory footprint. Another benefit is the developer joy. In the Quarkus ecosystem, they make a lot of focus on the developer experience and to make things very easy. And also there's this awesome live reload that is game changing for a Java developer point of view when you can just run your code in developer mode to save your code that you just edited and it just automatically refresh without you do anything. Again, in a Java ecosystem, it's really something amazing. And it has a very large bench of standards and lots of libraries, all the well-known libraries. You can find them there. And you can really find your joy to do a Quarkus app. You can find very large. You can do everything you want. And of course, there is our project, which is Camel Quarkus, that is available there already in the platform. You can have all the integration capabilities of Apache Camel that are available already in the Quarkus platform. And you can do your integration with Quarkus. And your app with this integration would be well suited for a Kubernetes environment. And it would take advantage of all the performers that comes from Quarkus. So you will have your Camel connectors that will have a faster startup, faster scale up and down, lower memory usage. And there are already lots of extensions. If we go to the Apache Camel website in the Camel Quarkus section, there is a page about all the extensions that we have. And you can see here that we have already more than 300 extensions. And you have all the information about every extension that we have. So you can like we have like in Camel, there is 300 somethings that we have already like a bunch of extensions there that you are already available to use in the Quarkus platform. And of course, we benefit from the same developer experience for Quarkus development. So now it's the demo time. So with Rachel and Maria, we build a demo that we're going to build in different steps during this presentation. And what we're going to do is to have three different connectors. One of them is going to pull data from Telegram and push it to a Kafka topic. And I don't know run from Twitter to a Kafka topic. And then we will have another one that will take the aggregated data from Kafka to Elasticsearch for future data science usage. The idea of the whole demo is to show you different types of Camel connectors that we can build for OpenShift. So for the first part, I'm going to show you the Twitter to Kafka. And I'm going to use Camel Quarkus for this. This is going to be the part where I'm going to do some Java code. But if you are not a Java developer, don't worry. It's super accessible. And stay tuned for the rest of the presentation. So now let's go for some coding. So I have my application here. And what I wanted to demo is that I created it from the code that Quarkus.io. And I just selected the extension, the Camel extensions that I want, which are the Twitter, the Kafka one. And I need some logs. So I took also the Camel log. And I just downloaded the zip. And it's created me an app. And the app I have already all in the Maven.com file. It has already all the dependencies that I need. It has also the build info that I have, like the native profile to build my native app. It has also the Docker file. So I don't have to care about everything. Like I can just pick the app. And I have a first rest endpoint just to test. And I can actually just run the code. And I will have my first resting point. So I don't need this resting point. So I just going to delete this class because I don't need it. And what I want to do is to build actually a Twitter route. I just have to mention that I've already added, I don't know if I hope I don't go fast. I have added some properties here. Here I have what the Twitter component needs as key so that it accesses my account, my developer account at Twitter so that I can go and do some search on the tweets. So what I'm going to do is that I'm going to start the Camel route that is going to do some search from Twitter. And I'm going to do it in Dev mode so we're going to see that the code is going to refresh automatically.  And here it's Twitter search. If I do some mistakes, let me know. And what I'm going to search is the Apache Camel. And for a first step, I'm just going to log the result that I have from this consumer. So if it gets something new, I will know it. But generally, the consumer takes like the five last tweets that have the Apache Camel. And then if there are new tweets, we will see some new tweets coming. So that I have a bigger terminal, I'm going to my terminal. So I'm just going to do the maven common, maven compile, park is dev. And it's building my app. And now, so here, yeah, it was quick. So here, the app started, it searched for my environments variables that I put. Because actually, what I didn't say here in the properties that those ones are already available as environment variables. So I just put the names. And I have them already available in my environment. And so the root Twitter search already started. And here, it logs actually the last tweets that have Apache Camel in them. What I want to do actually for our demo, I don't know if I have it here, is that to know on the Kafka topic if the message comes from Twitter or Telegram, I'm just going to change the body of the message. And I'm going to leave my app running here. And I'm going to go back to my route. And I'm going to do a step body. And I'm going to transform it. But here, I'm just going to copy pass so that I don't do any mistakes. And here, what I'm doing is that I'm building a JSON message. I'm putting the body in the tightening property. And I'm telling it that it comes from Twitter. So now, if I go back here, IntelliJ will autosave my code. And here, we saw that it started without me doing anything. And now, my messages are in those JSON formats. So now, what I want to do is to push this data to my Kafka topic. So here, I'm going to do two, which is my last part. And I'm going to say that is Kafka. And I'm just going to be past the name of the topic so that it works. If I go here, actually, it's reloaded. But I have an error because I don't have access to my Kafka topic here on my machine. So what I'm going to do is that I'm going to stop it. And I'm going to build this time and deploy, actually, to my OpenShift project. So just to show you, I am already connected to my project here. So I can do a MavenClean package. And I tell it that I want to deploy on Kubernetes.  So what I've done is that I've added, actually, two dependencies. One, actually, that is the Quarkus OpenShift that will let me deploy my app to OpenShift. And I also added the container image Docker because I personally want my app to be on the container before I just push it. And here, I have some configuration about how I'm going to build my image and some Kubernetes stuff like the name that I want to give to my app. Oh, so it actually already built my image and sent it to my OpenShift. So let's go and see. So here, I am on my OpenShift view. And here, just on the administrator, I wanted to show you that we have already installed the StreamZ operator for Kafka. And if we go here, we have a cluster. And we're looking for the topic. And here, we have the topic that we're going to use. So I'm going to go to my developer view. And my app is failing. Here, I just put a container. I have put an application that is just consuming from this topic so that I can get the logs there. And the code is here, actually. I just did the consumer that consumes from the Kafka topic to log. This is just for me, actually, to see if everything's going from my other app. And if I go back to the topology, here my app doesn't want to start. If I go to the logs, it's actually the problem of the properties that I have, like the Twitter access token and everything that are not available. So what I did is that I've already created a secret with all the variables that I had on my computer with the Kafka, Bootstrap, Broker URL, and the four keys and secrets that I need for my Twitter account. So I'm just going to add it to my app, David. And I go back to the topology. And here it's running. So if I go to the log, this time there is no error. I don't know if you can clearly. And I have five tweet search that I pushed to Kafka. There is something that I wanted to show here is that the app with the Twitter camera route started in 435 milliseconds. I'm just going to write it here so that we can see later when we will do the native mode that is going to start quicker. So I didn't expect that the consumers has already some Kafka things, but this is why, because we are. So I don't know if it got some new tweets, maybe I can tweet something. Yeah, I am tweeting on the back. So that's why you have things there. So I'm going to just put the native build. I'm not going to push it because it's going to take some times. But actually, it's the same command. And what we do is that we give that native profile that we have already in our app. And it's going to take more time to build because like we saw in the slides when we are on the native, we have lower memory footprint and faster start-ups. So there is a whole work done in this phase so that we analyze the code and put just what we need for the app. But I have already created a Docker image for it. So I'm just going to stop this one, maybe. And I'm going to copy the name. So I'm going to go here. And this time, I'm going to add it as a container image. So it's got it from Docker Hub. And it is a Quarkus app. I can create it. So this is the native app. It has the same problem that we had with the secrets. So I'm going to add the secret to my new app. I'm going to save. And the deployment was very quick. And like you can see here, it's the same app, the same camera roads. But instead of starting in 435 milliseconds, it started in only 7 milliseconds. And it's already getting some tweets. So this is it. Instead, if someone wants to tweet something and we see it live, I can stop sharing. And it's for Rachel now. OK, thank you, Sena. OK, can you see my screen? Yes. OK, great. So just a quick recap. So far, we've learned about the benefits of using an integration framework. We learned that Camel is the absolute best and most robust integration framework in the whole wide world. We also learned about writing crazy fast Java applications using Quarkus and how we can use Quarkus extensions to leverage all of the benefits of Camel. So where does that leave us? Well, when you look at the big picture, mainly the development processes, it's a lot. It's a lot to learn. It's a lot to do. Because if you think about it, the majority of the time I spend handling dependencies and doing things like preparing for deployment to OpenShifter Kubernetes. You have to configure Docker or S2I. You have to create a container, build the image. All of that can get pretty daunting. So we wanted to create something specifically made for serverless that is also smart enough to do those repetitive and time-consuming tasks for us. But at the same time, we also wanted to work natively on Kubernetes. And even more importantly, we wanted to lower the barrier to entry and to eliminate a lot of the associated complexity and to make it easier for people to learn and to pick up on it. So naturally, the thought process behind all of this was that the Apache Camel project needed to evolve a bit to accommodate these requirements, mainly to be able to work with serverless and microservices architectures. The thing is that we didn't want to reinvent the wheel because Camel solved already a lot of the problems that integration developers have been facing for years. So one of the thoughts was, well, how can we modernize it for these architectural trends and changes? And just like with the Quarkis project, a sub-project of Apache Camel was created so that you get the same benefits from it. Except this is native to Kubernetes as well and specifically for serverless. And as a result, it's called CamelK. So what exactly is CamelK and how does it work? CamelK runs on top of Quarkis. First of all, it enables developers to write very small, fast Java applications like you just saw. One of the biggest benefits, I think, is that CamelK handles Camel dependencies for you, which is a huge win. And of course, it removes also the need to configure Docker or S2I before deploying to OpenShift or Kubernetes. That means that you can then continue to focus on writing integrations and just using the pretty much already really simple CamelDSL, or domain-specific language. No need to worry at all about, you know, how am I going to package it, redeploy it, and that kind of thing. So it's straightforward enough to make a Kubernetes native integration application using something like CamelK. So operators, as probably everybody here knows, but operators are commonly used to install and configure applications or platforms, whether it be on Kubernetes or OpenShift. And they're the digital version kind of of the traditional human operator that they used to just do all of this manually. So they would have to install dependencies and everything for applications, whether it be in a legacy environment and that kind of thing. Just making sure everything's in place for the application to be able to run and to do its job. So it's the same in CamelK, except it was really taken to the next level because the operator is quite intelligent and it knows what you want to run. It can understand the CamelDSL. So this kind of list here is just to give you a general idea of all of the things that the CamelK operator does and how much time it will really save you. And actually the main responsibility of the CamelK operator is to look for CamelK integrations deployed using Camel and to build and deploy them as Kubernetes applications. Just a straightforward start. And all of that is really possible because of the operator SDK. So it basically performs the operations on the Kubernetes resources that are needed to run the CamelDSL script. And part of that is just it defines several new Kubernetes APIs that extends the custom resources. So in other words, the operator scans your application and creates the resources that you need in the cluster automatically. The three kind of main concepts of CamelK, well, we already discussed mostly the CamelK operator. It's basically the intelligence that coordinates all of the moving parts where each custom resource has its own dedicated state machine that orchestrates their phases. And there's also the runtime, which provides the functionality to be able to actually run the integration. And then there's traits. Traits, I won't get two in two as some more kind of advanced concept, but the general idea is that you can just, you can customize the behavior of the operator and the runtime. But typically for most people, the defaults are sufficient, but just so that you know it's possible for an experienced user to modify. So to get started with CamelK, first you need to be logged into a cluster you have access to, you have to install the CamelBinary, put into your system path, and you need to run CamelInstall to install it. And that will configure the cluster for you with custom resource definitions and install the operator in the namespace. And that's it pretty much Bing Bang Boom you're done in under five minutes. And actually if you don't want to deal with the CLI at all, you can just use the CamelK operator from the operator catalog on OpenShift. So just through operator hub and it can be installed via Helm Hub. So writing your first CamelK integration is incredibly simple.  And that's quite important to somebody like me because I have to use JavaScript more often than not. And I wanted something that was going to be easy to work with and that wasn't like a joke. And so this was a very low barrier to entry for myself as well. So from there you just deploy your integration with a single memorable line of code, quite remarkable. And then from there you can view the integration in the console if you're using one at all and you can just check out the logs, monitor itself. But what's really cool about this that I should probably say is that it's able to just kind of materialize and start up the integrations within just a few seconds. That helps a lot during the development phase because you get like immediate feedback on code and you can make changes right away. So you may be asking yourself, why serverless? What is the big deal with it? Well, I'm not here to convince you yes or no but some of the thought it benefits are listed here that mostly nobody wants to have to be predicting their workloads. You can just scale up or down with a couple of commands or clicks of a button. And with the time that you save you're also able to get to market faster. If you need to respond to changes you can do it more quickly but let's see how CamelK handles this. So more often than not when you read about CamelK in an article or you watch a video you'll hear about it within the context of K-native and that's because it works really well with it. CamelK provides a lot of features when it's run on K-native.  And there are three major areas in K-native. There's the build area that provides you with the custom resources and the K-native serving area that's the part that helps you with the auto-scaling and scale to zero so that when there's no traffic then pods or containers can reduce to zero replicas. And then there's the K-native eventing area which I think is more specific to CamelK where you subscribe to a channel that channel pushes events towards your service. It just gives you an easy way to trigger your functions at the same time and to orchestrate services. But I think the thing that really makes CamelK shine here is that your service also just receives the messages through incoming cloud events which means that you don't have to actively connect to the broker. So the service ends up being quite passive. And actually the K-native trade automatically discovers the addresses of K-native resources and injects them into the running integration. And if you have an existing integration already CamelK integration then it's possible to run it as a K-native serverless service. So with serverless becoming a popular architectural style you'll see many examples. But it's important I think to remember that you don't need to use CamelK for serverless just using it alone or even to deploy a Quarkis app is very common and useful thing to do to not get overwhelmed with all the technologies just because they work really well together doesn't mean that they're dependent. Also for CamelK is the possibility to set up monitoring and so that can be done for both the integration and the operator. And I believe for the integration if you have OpenShift already then it's the Prometheus operator is already deployed as part of the OpenShift monitoring. And so to monitor the operator you would just do it at the moment that you're installing CamelK. And then of course you can then you can set up alerting and you can visualize collected data using something like Grafana or some other API consumer. And quite important is also that CamelK helps with transformation. So adding a transformation is as simple as you just add a line or two to your CamelDSL or to your integration. Something like converting the outgoing body to uppercase would be an example you would just add it to a step and you can have as many steps as you like. So I'll be doing just the teensiest time in the demo is following the theme of adding CamelSightings that will get eventually end up in a Kafka topic or not eventually immediately end up in a Kafka topic. This time I'll be reporting my sightings through Telegram. So I've already created the Telegram bot but it's very easy to do. You can create it in under a minute or so. I'll leave the link in the slides. So I've already kind of laser levered in the integration here. It's written in JavaScript to kind of change it up but don't get too jealous. They look almost exactly the same in Java. And so here this is just showing that where we're starting from. So the input is coming from a Telegram bot with our authorization token here set the body. And here we're marshalling it to converting it to JSON but with Kafka which is going to be where we're sending it to. This is not really necessary because it does it automatically. But then over here this is where we're piping it to the Kafka topic setting the body and then we are sending back to Telegram. Thank you for reporting your camel sighting. So it's as simple as we would run we would just do a camel run dash dash dev and telegram sightings dot JS if I spelled everything properly. So the dev flag basically it just means that you're going to get tail logged output from integrations the integrations Kubernetes pod. It also synchronizes this source changes and reloads the camel context automatically which I'll show you. It's doing a lot at this point and building an integration case and so on. So from here we go to the the OpenShift console we're in the administrator view let's go to developer apology view and we can see here that the integration is running. Okay and actually so we can we have here the logs right there's not much going on so what we'll do is we have Telegram open right and I've opened the chat with the sighting spot and I'm just going to type something and say oh my god there's a camel in my house. Boom thank you for reporting your camel sighting I've contributed. So you can see here that in the log that it does get sent right away and if I have time I want to do just a quick I just want to show you about the camel context being reloaded so if I were to do go back over here if I were to say have a nice day right then of course it's not a user cannot update all right that's okay that's okay but yeah you're going to have to take my word for it it will it will update here and say have a nice day I will not I will not stop this integration now just to show you that and so but yeah another thing is that you can also just get the status at any point so this will show you the running integrations and of course I'm not going to do it right now but you can also camel delete and it will delete whichever integration you specify and with that I will just leave you here with just to point out that I've left a quick summary and some and some resources here and I'll leave it to my colleague now to continue thank you I'm going to share my screen again so I hope you're saying my screen so we have seen that if you want to build complex software architectures you should use Apache camel because it it makes very easy to interconnect things you have seen that for example creating a telegram bot is really really stupid in four lines of code you can create a telegram bot and that's it you don't need anything else well you need to add the the code for your logic obviously if you add commands to the telegram bot you will have to generate the code that reacts to those commands but the the part of how to integrate with the telegram bot how is the telegram bot API I don't know we don't really need to know we just rely on camel if a telegram updates their API on or how they interact with the with the bot you don't care you just upgrade camel camel will take care of it it will work so it's really really makes it very easy to develop things that different third party components interacting it then we saw that well camel is running over java java sometimes is not the most fastest the not the best for serverless don't worry we have camel quarkus we can run camel over quarkus so it's serverless it's fast it's amazing and now Rachel told us that camel can help us with all the DevOps side of even also the development side so it's very easy to deploy on OpenShift or Kubernetes kind of cluster so what else what can we do to make our lives even easier well that's when camel let's appear camel let's is a concept that appears I think it was in October last year so it's very very new the idea is that well for creating a camel workflow or a camel integration you usually use a lot of different pieces and maybe if you are focusing only on your the logic of your use case it may not be as nice as it could be for example if you are a scientist analyzing camel side things in all over the world through a telegram bot and a twitter api you want to be able to integrate that with your machine learning platform or whatever easily and you don't want to worry about how to interact with it maybe what you want is that some nice developer creates some camel let's root snippet a camel that helps you create workflows faster for example imagine you have an api that is the api that your scientist is using to add new data or run analysis or whatever but your scientist is not a developer it's a scientist so they don't really know how to call the api well don't worry you can create a camel snippet that in a transparent way simplifies a lot all these calls to the api or whatever is the work from maybe it's not one step it's more than one step but you can simplify it so your scientist can build their own workflows on a very easy way with not so many building blocks so it's like a meta block this is a very cognitive concept I think so it has camel usually has this consumer producer definition depending on if the endpoint is reading data from the outside or writing data and here camel let's have a similar idea so you have source camel let's which takes data from the outside and sync camel let's which write data somewhere so it's like two different types of steps and you usually create a source camel let's snippet that reads the data and a source camel let's snippet sync camel let's snippet that writes the data and you put first a source then a sync and join them and you usually have only two steps on the on your workflow so you are painting a source with a sync the idea is to simplify workflows even more to be able to at the beginning I told you this open source if there is some connector that is not available maybe you want to create your own connector but that means you have to implement it in Java maybe you are not Java developer maybe you are a Jamal DevOps maybe you are a JavaScript developer and you don't want to work with Java but if there is a way of defining how this connector would work for example telegram uses HTTP APIs behind so you could create if you have the HTTP camel connector you could create a camel let that wraps how the HTTP connector interacts with the telegram server and say this is the camel let's to interact with telegram so it's like an abstraction layer snippet of code a meta block and with that in mind I'm going to show you how to define a camel let binding so as I said it's just a Jamal file very very simple this is split in three columns but it's one single file you start with a header in the Jamal file defining this is a camel let binding I'm going to bind a source and a sync and then you define which is going to be the source and maybe some properties authentication properties and what is going to be the sync and some authentication so in our use case we already have the telegram to Kafka the Twitter to Kafka and now we want to collect everything that is sent to Kafka through telegram and Twitter and store it in an elastic search and that's the part I'm going to do with camelettes the elastic search camelette is not yet it's only on the snapshot version is not on the release version but it's going to be on the next one because it's already committed so it's there and this code you see at the left is everything you need to write on your file to connect from the Kafka to elastic search the first is the header saying okay this camelette binding the name is going to be Kafka to as binding then you can you define the source which is going to be a Kafka source to define the URL on the topic no username or password in this case and then the sync which is where I'm going to write the data which is going to be elastic search and here I have to define the URL the cluster name the index name which is how elastic search defines the index and the cluster word you want to write to and then the username and password and this is the file I think it's been better here with more colors of course I'm not going to show you my password but what I'm going to do is just use this file with the proper password and add it to the cluster this is the current apology so if I add this it should appear here any moment now here we have the new Kafka to elastic search binding which is already running and I can see the logs this is not going to read from the beginning of the Kafka so everything that has been sent up till now is lost but what I can do is for example tell the telegram bot I I see a camel in my desk and here is almost instantaneously I see a camel in my desk and I added some logging here connecting to the cluster can you increase the font better yeah I see a camel in my desk it comes from telegram I connected to the elastic search and I stored it with this ID so if I for example retweet something with Apache camel I should see that here when the Twitter thing queries it which I'm not sure it's going to be here it is from Twitter I have this tweet so let's check that this is really on elastic search well I have here things from last week when we were testing things but if for example I search telegram late test I see a camel in my desk if I search for Twitter late test the one I just retweeted with the pineapple and I don't know if we have been already one hour talking so maybe it's time for just opening questions or chatting a bit about this about camel we can talk hours and hours about this topic but I think it's better if just we do like we did just review a bit the state of the art of camel starting with trusty classic traditional camel moving to camel quarkus then camel k then camel heads and then let's see what people want to hear about I think the recap of where it's going is would be great so go for it well um what I see right now is that um we are we are pushing a lot in the serverless side much more than in previous years the camel quarkus is very active I think Sinev can talk there more about how active it is camel quarkus uh I'm right now working on the camel head side which is as I said the concept was born last year at the end of last year and um there is some very good articles from Nicola explaining uh where this comes from and where this is going and we only have like 20 camel heads comparing with the 350 something connectors on camel so this is a very small subset of camel heads but I think it's it's improving a lot and it's going to be very um visual with this topology view in open shifts so you can very very easily connect um different snippets of code and and I don't know in my experience or what I feel is that some people still think that camel is not as easy to start with even if I see it very easy now but okay maybe not as easy to start with and the camel head thing is going to push a lot on on making it even easier because you can now separate your development team that can create the camel heads from the people that are going to use those camel heads that maybe scientists maybe analysts maybe I don't know whoever needs to build integrations that that sounds like it's going to be a really interesting community to work in too is creating the new camel maybe um where where should people come to find a space to collaborate on creating new camel heads that might be a good thing to the tweet or put into the yeah so we have um of course we have everything is open source so we have their patch camel let's let's put it on the chat so we can tweet it later this is the community repository of all the camel heads that are there I see that there has been many in the latest days even hours ago so this is this is uh this is getting a lot of speed in increasing more camel heads every day and of course the the apache camel website is a place you should go first to see any kind of documentation we have we have different top places for quarkus camel heads and camel k and even apache kafka connector camel kafka connector which is something that is also merging kafka and camel and is there and has its uses but we prefer not to introduce that also on this talk because it will be just too much yeah well I think that means we're going to have to have you guys back to do another one and um because this has been like it's this is amazing um the the demos of like some and shining the light on um these future integrations and what's what's available now is pretty amazing um and you know you shouldn't hesitate to get involved in the camel universe um and quarkus universes um I think we've it's time has arrived zinib did you want to add any final words around where's your you see things going these days what's next for your adventures uh for me I'm on the camel quarkus side for now there is this quarkus 2x that we were working on and of course like the whole team did an amazing job to to have so many extension there and there's still some work because some of them are not ported now on native and there's always so much work and if you want to get involved in the community just come and see and talk to us on the mail on the zulip chat and yeah there's lots of work to do there always is and how about you Rachel any final words that you want to slide in here to get people more involved or inspire them thanks I think um well a recently 1.4 was just released a lot of the focus has been around camelettes actually so a lot of what Maria has said is kind of where camel K is moving towards as we just added the bind sub-command as well which helps you to use camelettes and directly whenever you need them but um but yeah and also we're exploring kind of the user interface side of things like seeing what kind of tooling can be beneficial to to people that maybe it's not less tech savvy but maybe maybe don't want to code maybe want just kind of like a visual way of of working with the integrations that's about it well as the camelette world spins and and in develops we'll definitely have you guys back um and maybe even a walkthrough of creating and contributing a camelette um might be a great thing a future topic to have you guys back back on and um I'm thrilled with with the depth of the content and the demos so this is really good it's one of the best overviews I've seen explaining the whole camel universe so um thank you very much for this I'm not seeing thank you questions in the chat I'm just going to pause and see if Chris has found any in all of the other places where we're we're testing none yet so you have answered all the questions or you've left them with just enough mystery that they'll go off and explore for themselves so thank you very much for taking the time I know you're in London and Spain and France and time zones are always a fun thing but we totally appreciate you coming and we'll definitely have it back um yeah this is a big it was a big demo um but it's a great thing um to to try and break camel down into these pieces and parts very digestible so thanks and we'll talk to you all again soon thanks everybody for coming thanks for having us


In one of our last videos, I made a bow and arrow using only my Stone Age tools. However, I wanted to explore two other primitive projectile weapons, the predate the bow, an Adelada spear thrower, and a sling, and put them to the test against some moving targets. However, the hunting and killing of animals is kind of a touchy topic that has caused some of my past videos to get demonetized. So as I stand in, we'll be taking aim at a more modern day prey, drones. So let's build some weapons. Invented at least 17,000 years ago, the Adelada works as a lever that has extra power in range to a spear or dart. Reaching speeds up to 100 miles per hour and a max range up to 120 to 150 yards, making it comparable to the power and force of contemporary bow and arrows. Spear throwers have been used by many cultures around the world, coming in many different varieties, but all functioning on the same concept. In Europe, it fell out of disuse after the invention of the bow and arrow, over many parts of the world continue to use it in addition to the bow and arrow, most notably by the Aztecs, from whom the word Adel-Adel originates. I reached out to my discord channel for some help, and one user, Adrian, dropped off some Adel-Adel and darts they had made to practice with before I make my own, and also explained the basics to me on making one. So I got a few suggestions from Adrian on how exactly to best make an Adel-Adel. The first one was to not actually start with the Adel-Adel, but make the dart first, make the dart first, and then the Adel-Adel so you can balance it to your specific dart. They also suggested using a cane for the actual staff, they're much more lightweight, they have a lot of flexibility that helps it, and they're pretty much already straight. I'm actually going to use some of the bamboo I collected in California last year, took the straightest one here, I'm going to put a wood tip on the end of it, that'll be a little bit more durable than the bamboo itself, and then fire harden it for extra strength, and then if it does break it can just replace it. In contrary to what you would expect, you actually want the fat end to go first, because you want the weight in the front, and then on the back put some fletching with some tricky feathers, and that's mostly just to kind of slow down the back end, so it doesn't tumble forward or anything, helps it, helps it fly straight. All right, so it should be a completed dart, it'd be good to go. No, just to make this be your thrower. Throw it. Next up I had Annalise make a sling. This may have been invented by at least 10,000 BCE, slings were popular around the world and work by extending the arm of the thrower, giving them additional power than just regularly throwing projectiles. Small stones, clay, or lead bullets were used as ammo options, because of its high density lead was by far the most effective, with a range past 400 yards, slings are known to out distance bow and arrows, and were used through to Roman times in war, however advancements in armor eventually made them obsolete for use in wars, as they are easier to protect against than arrows. In our last video I learned how to smell lead, and then cast some lead bullets, using a similar method like they used in this era, making a thumb impression into clay, and casting the lead into it. However, where we got the lead in the Galena Illinois area last time, we also had a chance to learn more about a more modern method that was used to make lead projectiles. In order to get it from this state to here, you had to sell it if you didn't have some sort of shot down the area. And one of the last remaining shot towers in the USA, there in Dubuque, Iowa. This is the historic shot tower. It was built in 1856 by George Rogers, one of the three remaining shot towers left in the world. There's only one of a very few west of the Mississippi River. This one's 120 feet, and that's without the room that used to be framed on the very top. The reason for the shot tower back in the day was they would take that lead and they would mix it with arsenic. They either melded it down in a building adjacent to the structure, and then even a furnace that was at the top, and after a certain distance of falling through the air and cooling, that lead would turn into a sphere. It would eventually fall down into the well system that's located at the bottom of the shot tower. They would scoop up all the shot, and they would run it through a tumbler that would polish it. Different size shot would be filtered through and then bagged according to the caliber or how thick it was. You know what size shot they would make? More like a bird shot than before they built shot towers and used this method. So they would cast a lot, make molds, and then they would inject it. They would open them up and then they'd have the tails that had to clip off. So they'd be able to manufacture faster because of just the large-scale production. Most of the shot towers you find out in order to make a good piece of shot would have to be at least 120 to 150 feet. The larger the shot tower, the larger the caliber of the shot you can make. Now for Annelies to make the sling. Using some of the hemp fiber we previously collected. After hand making the cordage I needed to lash the bundle together, which I needed to be pretty thin and pretty strong, I decided it was time to make a spindle for the sling because I'm going to need even more cordage that's even stronger and better quality. So a spindle is pretty much just a stick with a hook or a notch at the top or the bottom that keeps a hold of your thread as you spin it and then a weight at the bottom. I've made a clay disc for mine and the weight helps keep the momentum going as you spin it. Dubby approves of your string. She's going to eat it. Should see if there's any more money. That's where the dubby canoe came from. Like ideally it'd be something with like a thick base with a small branch for the notch. Also if it has a curve that's ideal. Gotta work. Cut it extra long so if I cut it right there myself plenty to work with. Sure seems to be pretty dead. So this is the little notch I'm looking for. Cut it long so I can cut it down. Or just snap it. So basically do like this. Put the dart in, hold it in and fling. I think that should work. So I've spun some pretty good lengths of hemp twine. I just measured this one and it's 24 feet which is exactly what I want. And what I'll do is I'll find the middle of all of these. Cut them in half and that'll give me six pieces of twine that are 12 feet long. And I'll braid those together to make my sling.  There we go. I'm like I made it too strong. All right I'm from the middle of all midpoint. Start double braiding. That's probably good. So I've got this braid in the middle of my cord which seems counter-intuitive to braiding. Normally you start at one end, braid down to the other end. But I did this because then I'll have like a nice loop at the end of my sling without any knots that I have to worry about coming loose. It was easy at the first time. I feel like it's gonna fall over dude. Nah, it'll be fine. So now to attach this into one cord I'll just mix up the pairs I have and then braid those down. That'll make the bulk of the length of my sling. Here's my finished sling. I just hold it by looping this around my middle finger and holding this part pinched between my index finger and thumb. And I'll load the shot into the basket here and then I'll just spin it and release the other end to shoot the shot. For shot options I have lead shot and clay shot that Andy made me. And then I have pebbles and then just little rocks. So first I'm just gonna cut this brand into a little notch that should hopefully fit the indent in the back of the dart and hold it there. It's a pretty simple setup. It's a stick that throws a stick. A little bit more. Pretty close. All right, so balancing it with the dart. So the balancing point is somewhere around here. So I'm gonna start trimming back, narrowing it in to just the necessary size. It's pretty well balanced right there. Maybe remove equal on each end. So it looks like the balance point moved up just a little bit, which is good because I left just enough. So it's actually just about right now. So I'm gonna carve a little bit indentation just so I know where to hold it. Should be pretty much that. And I just gotta learn how to throw it. Yeah, Adrian told me the basic concept behind trying to throw this is basically just eat it. Just kill some random person who steps out of the dark. Oh, I don't want to hit them. It's dad. Cook that for dinner tonight. It's got the allyle. Time to put it to the test.  Start throwing. See what I do. And we'll move on to shooting down some drones. Who wants to stand down there with an apple? All right, Andy, don't mess it up. All right, let's kill a man. The hardest part is getting it notched. This is pretty good. That was nice. It has some penetrating power. Hard to get out. Let's put the target down there underneath the arrow. Looks like all of them are bullseye. I feel like your first one every time goes over the pay up. That's the bad thing. That's pretty good. Die, cloud. All right, so we only get some pretty decent distance with the allyle. And for comparison, I'm going to try just throwing them and see how much shorter it falls then.  Not too bad. Actually do pretty decent, but not nearly as much force. Allyle definitely makes a difference. Next with the sling, we learned it had a much higher learning curve and was pretty difficult to figure out. Sorry if I hit you in advance. You should have brought the hard hat. We should have brought those. Round real hard. Right direction. Kind of. You think like good? Somewhat. This is definitely a learned skill. That hits the target. Definitely feel it. Any shoulder? Yeah. After that, we took some high speed footage to measure the speed of the different weapons. I was able to give between 66 and 70 miles per hour with my Ataladdle. For comparison, my bow and arrow only shot at 60 miles per hour. At its peak, an Ataladdle can reach up to 100 miles per hour. Then with the sling, I was able to get rocks up to 45 miles per hour. Throwing by hand, I could only get them up to about 36. Then the lead bullets went considerably faster at 50 miles per hour. However, a skilled slinger can supposedly get them up to 100 miles per hour. So there's some obvious room for improvement. Now to test out our primitive weapons in our post-apocalyptic drone swarm scenario. After the wind started picking up and stealing our drones, we moved back to the studio with a makeshift indoor range to see how our bow and arrows fared against the drones. Yourself in a scenario where you need to construct your own weapons against killer drones. Yes, it's possible, but to be able to use them with any effectiveness is going to take a lot of training. In the end, both of these builds were pretty quick. The Ataladdle and Dart took a mere two hours to make, while the sling, a little over six hours. However, the speed and building them is easily made up for with the skills you need to develop to use them with any effectiveness. While the bow took a considerably longer time to make, over 43 hours, I was able to get the most accurate results with it with the least amount of training, which is ultimately one of the big reasons the bow and arrow became so much more dominant. But even then, trying to shoot a small moving target is something that will take a considerable amount of practice to achieve, so the best defense might be a strong breeze, or a buoy trap, or to hope that the drones are made in China. If you enjoyed this video, be sure to subscribe and check out other content we have covering a wide variety of topics. Also, if you've enjoyed this series, consider supporting us on Patreon. We are largely a fan-funded channel, and depend on the support of our viewers in order to keep our series going. Thanks for watching!


Welcome everyone to our panel on greenwashing. My name is Someni Sangupta. I am the International Climate Correspondent for The New York Times, and I'm the lead writer for our climate newsletter called Climate Forward. So you've seen all the buzzwords. One company says it will become climate positive, another promises to be carbon free. Many claim they'll be net zero by 2050. Including, by the way, some oil and gas companies. As citizens, consumers, investors, holders of retirement accounts, we rarely know what they mean. So much so that a couple of years ago, a survey asked shoppers about company sustainability claims. Guess what percentage said they trust those claims? 20%. Another survey in Europe, half of respondents said they couldn't distinguish between true and false green claims. And when a research group called the New Climate Institute recently looked at the promises made by 25 large multinationals, most of them got very low marks at actually reducing their emissions. So companies have a climate problem as well as a trust problem. So green, that's what we are here to talk about today. Greenwashing, a term used to describe unproven claims about a company's environmental record. We have a stellar panel with us. Vice President Al Gore, to many of us, you're known as a former vice president of the United States. I suspect to many more, you're known for your Oscar winning documentary and Inconvenient Truth, which truly changed the global conversation on this subject of climate change.  You're also a Nobel Peace Prize winner. Welcome. Lea Vermelin, you were elected to parliament in Denmark at the age of 30. You've led your parliament's energy and climate committees in the past. You're now minister for the environment in a country where voters are very, very concerned about climate and environmental issues and where two thirds of your country's electricity comes from renewables. Next to you, we have Ronald Voster. You're the CEO of APG Asset Management. You manage about 600 billion euros on behalf of your clients who are pension funds. You look out for what companies are doing to manage climate risk, not just now, but in the future when those pensions are needed. And finally, next to you, we have Dr. Andrew Forrest. You're the chairman of Fortescue Metals, an iron ore mining company in Australia. When my colleague Damien Cave wrote a story about you, he said last year Fortescue had burned through 700 million liters of diesel and released 2.2 million tons of greenhouse gases. But that you, Dr. Forrest, intend to fully decarbonize by 2030 and pivot to renewable energy.  So welcome to all of you. If you are planning to ask a question, please do stand up. So we can film you, we can see you better. And if you're sharing on your social media channels, you can use the hashtag W-E-F-22. So let's jump in. Semeny, I apologize for not alerting you to this in advance I meant to. But as an American, I have to say something about the horrific events in the United States. I worked on gun control legislation for much of my career. Nearly 10 years ago, 20 children were slaughtered in their classrooms in Newtown, Connecticut, and now nearly 10 years later, it has happened again in Uvalde, Texas. As a parent and a grandparent, I cannot imagine the pain and horrific loss that the families of that community are feeling today as they wake up with an empty bed where their child should be. And once again, we're confronted with this uniquely American form of devastation. Doesn't happen in any other country as it does in the U.S., yet another mass shooting. And once again, we'll go through a painfully familiar cycle of grief and outrage. And after 19 children in elementary school are shot dead in their classrooms, is enough? Enough?  How many children, mothers, fathers, and family members and loved ones will it take? Will be stolen from us before there's an action that's appropriate? From Columbine, where I personally went after that tragedy to meet with the families of the victims to Uvalde yesterday, America has failed to keep our children safe. And why? Because of the absolute strangled hold that the gun lobby has on our democracy. It's time for those who have obstructed the common-sense measures that all reasoning men and women know are necessary to keep dangerous weapons out of the hands of mass murderers and put the lives of their fellow Americans over their quest for campaign contributions. It's long past time to pass common-sense kind of legislation. And I thank you for giving me the courtesy of saying that. It's in my country. This is top of mind and occupying our hearts. And so thank you. We'll turn to the subject at hand. Thank you very much, Vice President, for noting that. And I can tell you that just hearing about it, reading about this incident, shakes me again to the core because I'm a parent. And I send my child to school to be safe. So thank you for saying that. The connections to what we are talking about are also abundantly clear because we have known the risks in both cases. There are common-sense measures in both cases. There's the influence of certain industries in both cases. And there is public safety involved in both cases. So that is one of the things that I would really like us to engage in when we're talking about policy issues and sustainability issues. It's not its own box. It has to do with many other things. Some of the same reasons why the United States has been incapable of responding to these tragedies are the same reasons, lobbying, campaign contributions, the capture of policymaking, the control of politicians with money and lobbyists that it has been impossible to pass climate legislation. Our democracy has been paralyzed, bought, captured. It has to stop. It is tempting to dismiss all of the climate pledges one hears from companies as greenwashing. So can I start with you, Vice President? Do we have any reason to believe that all these promises aren't just greenwashing? How can companies assure the public and regulators that they're legit? Well, some of these pledges and promises are legit. No question about it. More than 2,000 businesses right now are working with the Science-Based Targets Initiative to create meaningful action plans to reduce their emissions. And they should be applauded. I have no doubt that Andrew is absolutely committed. I have gone over his plans. Just stand by and watch. And there are some others who I know are committed. However, that is, unfortunately, more the exception than the rule. According to an S&P report on more than 5,000 companies, only 37% have any emissions target at all for their Scope 1 and Scope 2 emissions. Only 24% have net zero targets. And of the companies that have set emissions targets, less than half are aligned with the Science-Based approach to even 2 degrees, much less 1.5 degrees C. Only 17% of the companies responsible for the most emissions have medium term targets aligned with a 1.5 degree pathway. 58% of companies do not even report their Scope 3 emissions, let alone have a plan to reduce them. And in a recent poll of 1,500 business executives from 16 countries, only 36% of them said that their companies have tools to measure their progress on sustainability. Only 17% are actually using tools to actually make progress. Almost 60% say that their own company has overstated its sustainability efforts. They frequently refer to their own companies as being engaged in green hypocrisy. Greenwashing is a major obstacle to solving the climate crisis. It is made up of falsehoods, clever PR, and it has to stop. Ronald Vaster, yes, please, yes. I agree. And also, I think we should not be too cynical about it. And some other numbers, we invest a lot in green sustainability and social bonds, and we analyze those bonds ourselves. Yeah, roughly a quarter of it would not qualify according to our own standards. And I know we are talking already about some segmentation before that. I'd like to introduce some optimism as well. I really do see companies we invest in that are starting to make a difference. Sometimes it is also difficult to see the overall system of things. We don't have uniform standards, integral solutions, and some things are really actually happening. Companies that are doing well are usually modest about what they're doing. Companies that tell great stories, great narratives that you should be careful about. Big pages in a newspaper, we do this, this, and this. Yeah, maybe they do a project like that. But if you look at the integral company, you should be careful. So you look at different things. Talk with the stakeholders of a company. Is it consistent? Do companies walk the talk? Are they modest? And how we analyze companies, we always make a combination of different data sources. Never trust the claims that rating agencies search make. But we can use the data input to do the analysis. I do see improvement. We have a full portfolio of what we call SDI, Sustainable Development, Calls Related Investments. That's a great portfolio. In the overall portfolio, we have an inclusion policy, where we include companies that, according to us, are doing well. Yes, I agree with some negative things you often see. But I don't want to give up hope here that we are improving. Time is running out. Fair enough. I just want to follow up on one thing you said. There are no clear standards. So for you, as you're looking at a portfolio of companies that you've invested in on behalf of your clients, is it straightforward to figure out what emissions a company is actually reducing and how much of it is offsets? Is that straightforward? It's definitely not straightforward. But you can use different sources. Accounting, different data sources of research institutes. And you can do your own analysis. And of course, when you follow the chain, you can see whether things are consistent or not. So it's not straightforward, but it's coming right. I just want to say that, as a young portfolio manager, I was looking at annual reports, looking at financial numbers, according to a certain accounting standards. And I needed to correct that to financial numbers that made sense to me from an investment perspective. When we look at GDP growth of a company, we know that the statistics are not always that good. So, yes, be careful, but also we are becoming better. The data are improving. And I think for climate, we're sort of maybe not halfway. There's other things like biodiversity that we're only starting. So we're going too slow, I agree with that. Right, Andrew. Well, I'd like to hear from the minister, actually. I think you're really in the hot seat, minister. You're a minister for the environment, but I don't see your responsibilities different to anyone here because we're all slowly cooking. And I hear the argument, but our measurement is improving. I can just tell you, as an ecologist, looking across the entire world of threats to the end of global warming, the primary threat to the end of global warming is greenwashing. It's becoming more sophisticated, using better and better lawyers, using these sleaze words like lowering emissions. Yeah, well, in one project, in one part of the country by a molecule, but that will stand up in a court of law. So I think it's the intent, which should be held to public trial. If your intent is to deceive, oh, my goodness, have I got a few here? How many do you want if the intent was to deceive to, say, extend the fossil fuels sector by talking about hydrogen? You know, I've had to explain so many times, I'm not in favour of hydrogen. Hydrogen is cooking this planet, but there's one, and only one fuel, which will stop global warming, and that's hydrogen made from renewable electricity. Green hydrogen, that's our only fuel.  I want to come back to you on the hydrogen. Minister Vermelin, you represent your citizens. What is the government's role in ensuring that citizens aren't misled? You know, in Europe, there's been some notable examples of companies that get called out for greenwashing, for false advertising. Recently, there was an announcement that a climate activist group plans to sue an airline for its advertising slogan. What kinds of regulations, policies do you think would be helpful for the public, and what do you think would be realistic? Well, it's good to know that I'm in the hot seat, having to show the way, at least for our consumers in Denmark, but also in Europe, I would say, because we collaborate closely with the other European countries. And my big worry is that we see a population in a lot of countries wanting to do the right thing, and we need the demand side in order to get the businesses moving. And so that is also why we are seeing all of these green claims. And of course, that's a good development that we see so many businesses also here, showing that they want to transform the way that they do business. But what we need to do is hold them accountable. So in the European Union, we are trying to build with the taxonomy a way to not lose trust in our population so that they can trust the labeling that is there, so that they can trust that when we do finance and say it's green, we are not just shifting the burden from, let's say, climate to biodiversity. So I think for me, it's two things, getting away through the jungle for the population, but also making sure that we don't just look at one thing, like the climate, but that we look more broadly on how we do it.  Imagine an ordinary member of the public, like me, as a citizen. I am going to buy a pair of jeans for my child. I not only want to know what percentage of that is using recycled fabrics. Maybe they'll tell me that, but should I also have the right to know whether this company is using renewable energy in its supply chain? Whether this company is using its influence to lobby for more renewable energy in its... Yeah, and I think regulation helps, but it's not the only answer to the problem. So, happy with the European Union coming up with strong rules about things. And at the same time, we know that many pages of rules are not necessary changing behavior. So, I think it's necessary, but it's also important to start to move, I think, from a belief and the belief that we are trying to get that into the companies by engaging actively with the companies and talking a lot together with other investors. And there's more and more investors joining forces. I think many years ago, we were sort of one of the few investment managers that asked the attention. Now, there's so many, and I think the pressure is increasing. And that adds to the regulation. I think it's needed. It should not become a box-ticking exercise. And it doesn't, so I think it's well thought out, but it's a combination. Minister, yes, please. Well, I just wanted to add that, of course, as an individual, you have the right to know. For instance, on textiles, I think that's going to be one of the next new things compared to plastics, where we really also see an uprise in people demanding better regulation. And so, it all comes down to circularity. I think changing the business model so that it's accountable not only on one thing, one measurement, but that we get that systemic change that we really want in our economy. So that is why we need to see the interlinkages between climate, not only the carbon footprint, but the total global footprint that we have. And so if everyone lived like we do in Denmark, we would need four planets. And so that is why we cannot put it on the individual itself. So I think you should do informed choices. But we also have to take the responsibility as governments to make that structural change. So I have good news on this front. We are about to enter an age of radical transparency. I have been among those who have formed a new coalition called Climate Trace. TRACE stands for Tracking Real-Time Atmospheric Carbon Emissions. It's a coalition of artificial intelligence, technology companies, NGOs, and universities using data from 300 existing satellites from multiple countries, ground-sea and air-based sensors, and internet data streams to use machine learning to create algorithms for every single subsector of the economy. This October, we will publish the world's first inventory of exactly where the greenhouse gas emissions are coming from and in what amounts. Last year, we published the first global inventory on a nation-state level. This year, we will start with the 500 largest emissions sources in every sector of the economy, in every country and region. Many firms have given us access to their monitoring of their emissions so that we can ground truth the algorithms. We don't use what they give us, but we use it to perfect the machine learning. It is going to make a dramatic difference so that investors, supply chain managers, NGOs, prioritizing their campaigning activities, financial institutions, if they want to know where the emissions are coming from, scope one, scope two, scope three, upstream and downstream, it is all going to be laid out for the world to see. It will help us truth squad whether what the trend line is based on their promises. You've mentioned these scopes for a while. So I want you to explain really what we mean by that. So a company can have emissions associated with its own operations. So a bank, the energy that its headquarters uses or the emissions associated with extracting iron ore, in your case. But then that's fairly small. The bulk of emissions are coming from outside these company operations. So what are the portfolio of companies doing that a bank is investing in? Or what about the emissions from the steel that your iron ore produces? So that's scope three. How are we doing on that? And why is that important? Scope three is very important because, as you say, it's the bulk of the emissions. And to be candid, that is a challenge for many companies today. And it's further complicated because it has two parts. There's the downstream and the upstream. But responsible companies have organized themselves to begin calculating precisely. Now, climate trade is going to make it an awful lot easier. But there are companies who go out and say, we are net zero. And when you ask them what they mean, they're only talking about their scope one emissions. I've heard oil companies say that they are net zero and they're reducing their emissions because the energy they use to produce the oil or to refine the products, they become more efficient at that. But what about the emissions from all the product, all of what they're doing? Burning what they make. They're selling. Absolutely. And what about the banks that are financing it? Now, in Washington, DC, you're too young to remember a writer named Michael Kinsley, who was a brilliant writer. And he once said that for politicians in DC, the definition of a gaffe is when they accidentally tell the truth. Well, last week, an executive in charge of ESG and sustainable investing for one of the largest banks in the world committed that kind of gaffe. He said, who cares if Miami is under six meters of water later this century? Well, who cares? It's a relevant question. And he's not the only one who is committing hypocrisy because if you look at the 60 largest banks, last year alone, they financed another $742 billion to develop new oil and gas deposits. And 44 of the 60 had signed the net zero banking alliance pledge. So with great fanfare. With great fanfare. I mean, this is, now, he was suspended. This executive was. But there are others who are in the same boat. Yes, I wondered at the time whether he was saying the quiet parts out loud. Yeah. Madam, can I give you some really seriously lived experiences? Please, yes. So my lived experiences, bad, p, rare, tend to a fortiscan mental group and valet. We're huge shippers. We ship our iron ore all over the world and it's probably holding up this building we're in. That shipping industry, if it was a country, would be the eighth largest emitter in the world. But if you just take those iron ore producers, the top four, our scope three emissions are greater than Russia. So I feel a very deep responsibility here. And the reason why I'm so intolerant of greenwashing is because when I speak to my fellow chairmen and chief executives and I've seen their advertisements, I said, just tell me what you're doing different. Don't tell me about a little project you've got running somewhere, which is a fraction of the size of your advertising budget. Tell me what you're actually doing differently. And I run into a stunned silence. Therefore, advocated to the mining industry, we have the technology right now to run our ships on Green Ammonia. That can happen. We'll have the first ship in operation, pollution-free November this year. We have the technology right now to run our trains without any emissions whatsoever on Green Ammonia or Green Hydrogen. We have technology right now to run our trucks, our fixed plant, everything on green electricity or green hydrogen. Now, why aren't we doing it? We're not doing it because you're getting away with greenwashing. You're getting away with not being held to account until companies are really seriously held to account by friends like all of us. Then they're going to keep on doing it. You've got to ask the question, what are you doing differently? And if the answer is some paltry little example or planting some trees, say you're not doing anything differently, show me the difference in your operations. Show me how you're reconfiguring your operations entirely so you go pollution-free. And I need, you need, we all need these companies held to account, which is why I find it so abhorrent that we look the other way on greenwashing. I want to come back to you, but I want to just remind the audience that we're going to start taking questions. So please prepare one. Keep it a question and please stand up. So the mic can be handed to you. I want to come back to you, Andrew Forrest, just with one thing. We're hearing a lot about hydrogen, even in these last few days. So can you tell us what your concerns are about selling hydrogen as the clean fuel of the future? I gather you have some strong feelings about this. Look, I do, because part of the extension, which I'd like to speak to Vice-President Gore about, is to measure methane emissions.  So if you produce hydrogen from any other source than totally renewable, you're cooking our planet. It doesn't matter how you advertise it, blue or gray or whatever. If it's not renewable energy at less than a kilo or a kilo of carbon per kilo of hydrogen, then you're cooking the planet.  And I know every single kilo that they produce will have zero emissions in your car or your factory or your ship, but cook the planet where it was made. And we've got to stop that. We've got to all recognise the science is clear. Carbon sequestration or carbon use in sequestration is a flat out lie. It produces way more emissions than it ever saves. It works one in 20 times, which as a statistician, as an ecologist, is called an anomaly. It doesn't work. It works in a soundbite. It works in a political ad or a corporate ad, but it doesn't work in science. So every time you're here, oh, we're going to do carbon sequestration, I think you're just lying to your shareholders. There was a question. So please do stand up so the mic can be handed to you. Yes, please. Thank you, Val. I took off to you and found the Ziravia. We're a hydrogen electric aviation company. And my question is about a... About hydrogen. A green hydrogen. Thank you. That question is about the form of greenwashing that I think is subtle but important. There are a number of industries. My industry included for which carbon is only a small part of the climate impact. So there is research out there that says aviation because of the high altitude NOx and other emissions is actually three times more impacts than CO2 alone. And Andrew, you mentioned the methane emissions for some of the process out there. So how important is that problem and how do we solve it to avoid that type of greenwashing? Let me say what Andrew said about methane as an example of something other than CO2. CO2 is by far and away the biggest source of global warming pollution. But methane molecule for molecule captures 84 times as much heat as a molecule of CO2. However, it only has a 20-year or 12-year lifetime in the atmosphere. If you're constantly replenishing it, then it doesn't matter. It's really the worse than CO2. Nitrous oxides also. Climate trace is going to measure all of them. Now let me say there is another form of greenwashing as well. Last year, the largest oil and gas companies shouted from the rooftops that they are tripling their investments in renewables and carbon capture. And sure enough, they did. They've tripled it all the way up to 4% of their spending, which means 96% of their spending is still going to develop more and more oil and gas deposits. Now the International Energy Agency has said repeatedly if we want a chance to save the future of civilization by staying below 1.5 degrees, we have to stop this development of new oil and gas deposits. We have all that we need. And renewable energy is coming down steadily in cost. It's already a cheaper source of electricity than burning fossil fuels. Electric vehicles within the next one to three years for all models will be cheaper in the EV version than their internal combustion counterparts. But the oil and gas industry wants to greenwash by saying, oh, they may solve this for us. Well, it's like the cartoon hippopotamus in the Walt Disney movie that danced ballet. In real life, a hippopotamus can't stand up on its hind legs. And in real life, oil and gas companies have different cultures, different capital flows, different histories, different personnel, different margins. They're not going to do it. Only one oil and gas fossil fuel company in the entire world has made the transition to renewables. And that's Orsted in Denmark. And once they did, by the way, their value went up 5x. But the others are just still engaging in this insidious effort to fool people into thinking that they've got this and that the problem is not so bad and that they're even selling zero carbon oil and gas, some of them. Well, you can call that greenwashing or you could call it just a flat-out lie. It's a very interesting question. What some of the oil companies are going to do with these record high profits? Whether they're going to use those profits to invest in renewables or simply buy back their stock. They do to a certain extent. Yes, we have a question here. So Guy Roelnik, University of Chicago. So to reiterate what we heard from some of the panelists, should we just call any carbon offsetting greenwashing and when? That's an excellent question. Yeah, I think, look, as a company who right now is using carbon offsets, I am getting out of them as quick as I can. I've studied them and studied them and I can tell you, I think they're on the edge of fraudulent or they are fraudulent. It's one or the other. If you're planting trees, where trees are going to grow anywhere, anyway, don't think you're doing the world a favor. I disagree in part. I disagree in part. Essentially, I agree. But the Science-Based Targets Initiative, which is the most respected organization studying this, says that they can play a minor role if they are evaluated very carefully. And what they say is, a company has to reduce its emissions by 90 to 95% and then if there are validated offsets, then they may play a role. There is a lot of capital going into the development of low-head hydro and different renewable energy sources in developing countries that is coming from funds that count as offsets. So they've been way overused. They are oversold. You have to have additionality. They can't be something that wouldn't have happened anyway. You have to have permanence. One big forest just burned down that was used for offsets. They can't be duplicative. They can't have a situation where the company cutting down the forest just moves over to the adjacent track and continues the destruction. But with those safeguards, I think they do can play a limited responsible role. Just the complexity of that description doesn't give me any confidence. Fair enough. And also, there are offsets and offsets. So tree planting is one form. Depends on what kind of trees you're planting, where you're planting them, but there are other forms. So again, it's a lot for an individual taking a flight to take in and absorb and distinguish between whether those offsets are going to do anything or not. Next question, please. Yes, someone who is not a man, please. Thank you. I'm glad to represent and glad that there are two women on the panel. Hopefully next time we'll have even more. So we're talking about big companies, huge companies, but also there are the SMEs. And SMEs are similar to individuals. Even when they're trying to be more environmentally friendly, sometimes they end up greenwashing because of issues that they don't understand. Unintended consequences mainly. So are governments doing anything to try to educate SMEs or support them in their move towards becoming more environmentally friendly? Another issue is I own an SME. And it's really expensive whenever I want to shift to sustainable packaging, whenever I want to do something towards that mission. So what support are you offering SMEs or do you suggest to offer to them? That's a great question for either a government person or an investor. I'd welcome what investors want to see their businesses do. Well, I'll just say that quickly, that climate change is going to make it easier for SMEs to accurately trace exactly what the emissions are. But go ahead. Well, I think what we've been trying to do in Denmark at least is go sector by sector. So doing climate partnerships on each sector so that we can have SMEs on board as well as the big companies, saying what is actually the barriers for us to go into a more green future? So what can the government do and what is on the companies to do? And part of that is also removing some of the incentives that are there to stay on the same path that you've always been on. And so for instance, now we're discussing EPI a lot and we are in Denmark as well. So trying to build in that model where the incentive is to do it the green way. And then you have to pay up if you do it the old way. So I think we can do a lot on the government side to make it easier for SMEs to follow the green path. And there we really also need the big ones to lean in and show the way together with governments. And I think our climate partnerships has been a very good way for us to know that we go through every sector and not leaving one out and thereby maybe causing more harm because we only look, for instance, on the carbon footprint. We have less than six minutes left. So a show of hands from one... Can I add something from the investment side? Yes, please, very quickly. Of course, we do not only invest in big companies but also in financial capital, private equity, smaller companies. And the same ESG standards apply to those companies and we try to talk with those companies as well. So I think, yeah, we would like to offer help through our portfolio there. You don't see it quite often. Usually, indeed, there's a focus on the large companies but there are more and more investors, impact investors, particularly but also the larger investors that do offer some help to smaller companies as well. Okay, real quickly. One, two, three. Okay, yes, please. Thank you so much. So we've seen recently at Tesla getting kickoff out of SCP-500 and also the problem with HSBC. And I think there is a huge disconnect between public perception of ESG and I'm talking about ESG globally and what this actually means for our company perception. And the biggest problem is that journalists, CEOs, politicians and investors are not scientists and we don't know the deep science or the deep jargon around all of this stuff and we are communicating poorly. So I think my question to you is, should we all be deeply educated about these topics that we care so much or is there an alternative solution to how we actually are communicating about this? And in addition, I would just love to know about your perception about how satellites can actually track emissions across the supply chain and allocate these emissions at the company level because we know how hard this is to be done in other measurements. And I'm just wondering if this actually solves the problem or brings more confusion to this market. I'll take the last part at first and then turn the ESG question over. Satellites can directly measure methane emissions and that ability is improving. CO2 emissions cannot at present be measured directly but they can because the column of air had the noise to signal ratio is very large. However, we can see the smokestacks, we can see an invisible light, we can see it in infrared, we can see the ripples in the cooling pond, we can see the internet data streams and then we can ground truth the algorithms and test them with machine learning to verify that they are giving us an accurate read. We get data from 300 different satellites. Planet Labs is one of them but we also have satellites from China, from Korea, from the European Union and it gives us a complete line scan of the planet every 24 hours and soon it'll be down to every six hours. On ESG, I know the SEC is trying to set up some standards. It's been delayed. But for me, I think it's a personal goal to make better use of the knowledge that is available. We know too little as investors. For instance, about biodiversity, we try to use knowledge from Cambridge University, knowledge from indigenous people. I think we are indeed too arrogant in a way not to incorporate all the knowledge. We don't know everything as investors and we should make better use of all the knowledge that is available, so you're right. Question, please. I'm from South Pole. We work with a lot of companies who are doing science based targets and it's zero and I can tell you a lot of companies are very scared of being accused of greenwashing. And so my question to the panel is, what are we doing with the companies who are doing nothing at all? Because if the alternative of doing something and being accused is doing nothing and you're getting away with it, I haven't solved anything. So greenwashing is an important topic but what are we doing about all these companies that you, President Gore, mentioned who are doing nothing?  And can I just add? I'd rather a company burn its fossil fuels and be honest about it than greenwash and say I'm converting it to hydrogen than selling something which is a carbon-free fuel because that's a straight greenwash. It's much better that they're honest and shut up and do nothing because I think duping the public is worse. We have one minute left. Is there a very quick question here, sir? Yes. Thank you very much. My question is specifically around Beath and Glasgow in Paris, the commitment for emerging markets from governments saying we're gonna commit $100 billion every year. The greenwashing that is coming from developed countries in supporting developing countries in transition. How do you address that and how can we make sure that there is capital available for that transition? It has to come mainly from the private sector. The developed wealthy countries have had trouble even getting $100 billion. We need $4 to $5 trillion per year. Here's the problem. If you're in Nigeria and you wanna go to the capital markets to build a new solar farm, the interest rates you pay will be seven times higher than the interest rates paid by rich countries. The World Bank and the other multilateral development banks are supposed to take the top layers of risk off. The World Bank has been missing in action. David Malpalas, I'll call out his name. He is the equivalent of a climate denier. He has done nothing. And the Secretary General of the UN, his climate staff has publicly called him missing in action. President Biden ought to replace him and he can if he musters the vote among the shareholders. Well, I'm glad someone on the panel made news today. Yes. I'm afraid we have to call this to a close. I thank you all for your fine questions and for your deep engagement on this issue. As it happens, Climate Forward devoted last Friday's letter to how to spot greenwashing for ordinary people. So I do invite you to sign up for the newsletter. How can we get climate forward? You can go to my social media feeds and get a sign up link. Thank you very much. Thank you.


Hey everybody, Steve McFarlane here at Montview Dodge. What do I have here? A 20, 20 Jeep Wrangler Sport with a 2-meter terminal in it. Beautiful little car. A nice $2. Automatic headlights. Nice screen. Lots of room back here. Seats folded up. You can actually take that seat out of there if you wanted to. So, when you're ready for your Jeep, where are you going to go? Montview Dodge. Are you going to see me, Steve McFarlane? Have a great day.