Well, I'd like to thank Peter and so as for organizing this meeting and everybody for coming to this meeting This is gonna be a very different talk from Chris's. I suppose that talks will vary, but isn't that exciting? So the title of my talk is who lives who dies and why ignoring and redecorating nature and species speciesism and I'm really interested in this notion of Compassionate conservation as Anna said in the real world and there were just some general messages I'll repeat these as I go through my talk, but I like to think of Beginning principle first principle first do no harm Animals are not property. We do not own them and really the major question that we're asking is who lives who dies And why do we make the choices we do about who lives who dies and why? and I want to talk to you about some real-world examples because we're faced with a lot of very difficult Situations in the wild Some general questions should individuals be traded off for the good of their own or other species what trade-offs must be made between ethics and conservation and I Want to encourage you to think out of the box about what we must do now I think Michael the biases talk showed us last night that and we all know this anyway, but time's not on our side There's there is a sense of urgency Just a whole list of questions That I'll just pick out a few but in my in my own research I'm interested in what animals feel about what's happening to them.  What does it feel like to be a hamster? What's their point of view? Why do we do invasive things in the name of science food clothing or entertainment? Why good welfare isn't good enough? I'll get back to that but my colleagues often say well I'm following the laws and we're following the regulations So I'm allowed to do whatever I want to do no matter how heinous it is to other animals And my big project that I'm working on now is called rewilding our hearts. I'm writing a book on that and the major Question is how can we build corridors of compassion and peaceful coexistence? And what can we do to expand what I call our compassion? footprint and I like to say that compassion is not weakness and it's not a luxury It's a necessity now and that's why we're all here In in biology in the sciences students are often told that they shouldn't be sentimental and you shouldn't be compassionate And I think that that's just completely wrong I'm just putting this slide and I made a few changes just because Michael talked yesterday about who we eat and who we wear The point I want to make about this is when we're deciding about how to deal with different individuals It's a matter of who We're talking about not what we're talking about So if there's an animal on a meal It's who we're eating and if you're wearing leather or other types of animal skins It's who you're wearing not what you're wearing. So people often Get surprised when they'll say well, what's for dinner? And I said no you mean who's for dinner and it changes in name of the nature of the conversation Because we're eating who's sentient beings usually not watts. So these are just some happy pigs But I think this is a really important thing because language really Controls if you will our actions and we have to have direct encounters I love what Chris said I make by living if you will doing field studies on lots of different animals So and I live in a forest in Colorado. So I've got lion Cougars mountain lions and bears and coyotes and foxes Right at my door.  They're actually ordering a babe lettuce and tomato sandwich It definitely gets people to think Now I'm a scientist, but I think there are other views of the world Sciences, but one of many ways to learn about animals other animals because we're animals and to access who they are So I just say this because a lot of people get intimidated by science But they shouldn't be it's just one way of knowing there's lots of ways of knowing about the world and science It's just one way to access other animals now one of the things that I rely on is Darwin's idea is about evolutionary continuity. This is a dog who's read Darwin and is bored by the whole thing But it's an important principle so Darwin's ideas about evolutionary continuity say the differences among species of differences in degree rather than kind their differences that are shades of gray not black and white and I like to think of the bumper sticker of Darwinian continuity is if we have something They have it too. So we have hearts and we have stomachs and we have brains most of us So do other animals we have emotional lives we have moral sensibilities so to do other animals So the challenge is to learn about them not to just say well It's really hard to know about them. So let's pretend that they don't have them at all Which a lot of my scientific colleagues do because they're threatened very much by good biology They accept continuity in biomedical research That's why animals are used and abused but they don't like to accept continuity in terms of moral sentiments or emotional lives So I don't I don't know how they live with themselves, but they managed to This notion of species Speciesism we have Richard Ryder in the audience who really developed the whole idea about speciesism and the point I just like to make is a very simple one that When we use words like higher and lower we're really misrepresenting animals There are no such things as higher and lower animals the words higher and lower translate into more valuable or less valuable better or worse Dispensable or important so it's just something we really need to remember in that I like to say that individuals do what they need to do to be card-carrying members of their species When a chimpanzee outperforms a mouse people like to say that the chimpanzee is smarter than the mouse But when a mouse does something that a chimpanzee can't do Nobody says the mouse is smarter than the chimpanzee and we now know that birds such as new Caledonian crows make very complex and sophisticated tools much more so than do chimpanzees But you don't hear people running around saying crows are the new Albert Einstein's of the animal kingdom When in fact they probably are Now One criticism of the work I do and probably that others of you do in here is people like to say Oh, you're just being anthropomorphic as if that's the great curse And you're guilty of being anthropomorphic so nothing you do has any value, but but really the way my Colleagues use it. It's really double-talk. So for example, if I say an elephant in captivity isn't happy They'll say oh, she's happy. You're just being anthropomorphic and then it gets really quiet Because they're being anthropomorphic too But it's okay for them to use words that they criticize you for using and if you believe in Continuity at the bottom. We're not inserting something human into animals that they don't already have it's very important So as far as I'm concerned really is if we never talk about anthropomorphism again, that's just fine.  It doesn't really help the animals and it's used in very self-serving ways So the arguments against anthropomorphism are used in very self-serving ways by people who like to harm animals Now it's really important. This is one of my favorite slides But working with animals and you all know this but when you're working with animals daily you learn that they have different sensory systems So we know that whales and elephants have Use infrasound very low-frequency sounds that can travel for tens of kilometers through the ground or hundreds of kilometers through the water Bats use ultrasound a lot of animals have very keen senses of smell. We don't so I like to say that it's very important to remember When we're talking about other animals to remember their sensory worlds who they are Okay, and it makes it easier to get into their place in the world and animals do show a lot of selectivity. I Like this slide I show it all over I've shown it in the state of Texas where the great George Bush is from And nobody has thrown me out But but the important point is that animals make choices just like we make choices and they make extremely fine choices of What to do who to interact with how to live their lives and It's amazing what we're learning about other animals Chris just mentioned George Shala and I do field work like he does and I love this quote Where he's basically saying that animals should not be seen as objects and that you really can't study and understand them unless you have emotional contact and intuition and Intuition comes in some people think intuition isn't part of the scientific process It's very much part of the scientific process. I I love this quote and I'm really glad that you mentioned George because he's a very He's just a really great Scientist now here's the challenge and we're going to skip through some slides in saving some time later on But the challenge that it would face today is people who are interested in animal protection You can animal welfare animal rights I like to call it animal protection because the animal rights and animal welfare have baggage associated with them But people are interested in protecting animals So those people who are focused more on animals are more interested in protecting individuals those who are more concerned with environments habitats and conservation are more concerned with Protecting species populations and ecosystems So that's where the questions of is it okay to trade off individuals for the good of their owner or the species comes in Okay, if you're working for the animals the answer is no So you've got to come up with solutions that honor Individual sanctity and the value of individuals it's a it's a big challenge and I'm working a lot with conservation organizations because They really do many of them want to know about more humane Solutions than going in and poisoning tens of thousands of rats or snakes or shooting animals or harming them But that's a big challenge so I tell my students that if this one field I'd get into and this is where compassion of conservation comes in this would be the field because These meetings on compassion of conservation. There was one in Oxford in September of 2010 We had one in Chengdu China in June 2011 it's gay it's gaining a lot of momentum particularly among young students because they don't want to kill animals They don't want to trade off one wolf for another wolf So I'm just laying that out there and I will return to this in a bit Just some general points. We are a very conceited lot. I mean, we're basically big-brained Big-footed invasive mammals. We do a lot of wonderful things. I'm a very I'm an optimist. I'm very hopeful about the future usually But we do amazingly good things and we do amazingly horrible things But we're really confused about our relationships with animals So when people tell me they love animals and kill them I say I'm glad they don't love me Because people will say oh, I love deer. That's why I go hunt them and I'm going. Oh, I don't want to be stuck in an elevator with this person When people say I'm not sure of dogs or other animals are emotional beings. I say I'm glad I'm not their dog and The one question that I ask people around the world is Would you do it to your dog?   And once again, it's a difficult question and they'll usually say oh no And then you ask them why and then they just flutter around here and they're making pretty bad excuses But once again, I think we need to ask the hard questions if we're going to make any progress And we should expect good answers So this one is good. It says I'm not a vegetarian, but I love animals and says you mean you love animals except for the ones you eat. I Mean, this is the kind of kind of situation a lot of people find themselves in So I think it's really important to come clean on the choices. We make I Mean, it's hard to be perfect and nobody is but but I think we need to come clean and Defend the choices that we make and since we're focusing on non-human animals here Those are the animals so back to this compassion that conservation had to be Rewild our hearts about who we are and what we do and of course who other animals are I Know so that's one of my favorite slides And I won't go through it all but basically a gorilla saying this land is my land and I'm a sentient being and All I've done here is just list some of the questions that we are dealing with But, you know, how do we deal with individual protection and the protection and the health of ecosystems? Should we be trying to restore or recreate ecosystems? We really can't restore or recreate ecosystems. Ecosystems were what they were, and they are what they are. But we just can't recreate in 2012 what an ecosystem was in 1912. Just can't do it. So how close can we come? Should we be doing it? And the big question I'll return to at the end is, can we do it all and maybe we're just trying to do too much? I mean, maybe we just need to focus our concern. We have limited time, limited money, limited person power, and we just can't do all that needs to be done in a very wounded world. How do we coexist? Just some pictures, because I think it's important to see animals at an animal conference. These are lions who I met in the Serengeti. Just totally ignoring us walking around a baboon who lived on top of a roof in Nairobi National Park who got very upset when human beings sat down to picnic to the point that he would urinate on them. Hyena, totally, totally unaffected by our presence until his friend came along and he kind of looked up and he said, oh, you boring human beings again. These are serious problems in the sense that these are very habituated animals and we have become part of their natural world. This was taken on Fraser Island off the coast of Harvey Bay in Australia, that's a dingo, and I was the only member of this group going there who knew animals, so I sought refuge behind these women because they thought this dingo was really, really cute. But we don't know who this dingo was, but there had been major problems of dingos biting humans on Fraser Island. We're the intruders, by the way. This is their land, this is their home.  And here is a picture of a town in my, of a cow meeting a bear. So in nature, too, you have these improbable relationships that form, but the animals are there, and these are some cougars right by my house. These are wild mountain lions. I've three times been as close to mountain lions as I am to my computer, not purposely. And I'm glad I'm here now, and it was lovely to meet them, but I don't need to meet them again. Because the fact is that when my house was built, I redecorated their living room. Okay? I mean, that's the facts. I can move if I want, but I never would want any harm to come to my neighbouring animals. And this is a cougar by a shopping centre in Denver, Colorado. Just hanging out, but they're there. And this is a bear, I do bicycle racing, and I was doing a very difficult bike race up a very steep mountain in Colorado. And I was ready to just say, this is just too hard. It's time to go home and drink a beer. And a bear walked out in front of me, and actually made me perform very well, so I did very well in the race. But I mean, I was riding, and I was delirious after three hours of riding, and I looked up and I see this big black blob walking across, and it was a bear. So it's wonderful because it was very inspirational. And this is my neighbourhood fox who comes by many mornings to say hello. So we have to have encounters with nature. I'm going to skip through. So my basic research is really asking questions about animal emotions. What are animals feeling? And so do you think this is a happy dog jumping into a swimming pool on a hot day? And what is his friend thinking? Now, a few years ago, the question of what his friend is thinking would have been, some people would have been thought it was silly to ask, but there's been a lot of research now showing that animals really like to be treated fairly. And the name of the research is called inequity aversion, or an aversion to being treated unfairly. And it goes very simple. I'll tell you one study, many studies have been done.  Very easy, right? If you then change the reward that you give one dog to be a more favoured reward, maybe a bigger treat, maybe a marrow bone, the other dog who still receives the little bone stops shaking, will not perform. So what does this say? And these findings have been, we've made these discoveries in other animals. It tells you that other animals are monitoring what other animals are doing and what they're getting and they don't like being treated unfairly. So it's not silly to ask what that dog is feeling, and this research is just hot off the press, but it's among the many amazing things we're learning about animals. You think that that's a happy dog? That's what I was saying, people who think that animals don't have emotions may have no emotions on their own. Do animals love one another? This is a fox couple who mated for at least five years. They raised their young together. They traveled together. They defended food and territory together. They missed one another. They sought one another out when they were apart. So these animals do love one another. They don't quote love one another like scientists like to say. I think people may quote love one another, but surely not other animals. And I do work with Jane Goodall, and this is a picture of a male chimpanzee doing a waterfall dance, and Jane has pondered whether these have any spiritual component. And I like to think of or ask whether animals exclaim, wow, as they ponder nature and the ups and downs of daily life. I think they do. I think they have an aesthetic sense, a spiritual sense.  We just need to discover more about them and not say, well, those are just silly questions. So once again, what's so exciting about the field of ethology is that there are so many wonderful questions that remain to be studied. A lot of people just like to answer them yes or no without data. What is this elephant doing? These are elephants in Samburu in Northern Kenya. Elephant is dying. Elephants come in to see what is happening. A baby elephant who has died. So this raises questions about do elephants grieve and mourn the loss of others? Do animals in general? Yes, they do. This isn't saying, and we could return to this in the discussion, this isn't saying they have the same concept of death that we do, but it is saying that they do mourn the loss and grieve the loss of friends and families. And when you see something like that, as I've seen in the wild, it's palpable. You feel it and you know that they're feeling it. So once again, these are very reasonable questions. This is not a happy gorilla. This was a gorilla who lost her baby in the Hamburg Zoo and carried the corpse around for eight days.  And I've observed magpie funeral rituals. I watched, there was a corpse in the road of a magpie who got hit by a car and there were four or five magpies around the corpse and one went in and pecked, stepped back. Another one in and pecked and stepped back. Another, then one flew off and brought back some pine needles and laid it by the corpse. Another did it. Another did it.  I was with a friend of mine who knows nothing about animal behavior and said, so I said, Rod, did you see that? And he did. And he said, well, you probably see that every day. I'd never seen it. But once I published it, I'm constantly getting emails now about people seeing these types of rituals in different birds. So once again, it's out there for us to study and we shouldn't be writing these things off. So why do animal feelings matter? What can we do to make the lives of animals much better? And I love this one.  So let's remember animals have a point of view. And I think the universal guiding principle for me would be first do no harm. And Michael mentioned this last night, but something I've written about. I wrote a book called Wild Justice. And I wrote a book called The Animal Manifesto. And I actually believe in the inherent goodness of human beings. We're learning a lot about the inherent moral sensibilities of young children. This inequity aversion, there was just a study done showing that 15-month-old children do not like being treated unfairly and are open. So this is just a smattering of books that have been written or edited recently on the evolution of fairness, cooperation, compassion, and kindness. Okay, we need to overcome popular media in which blood sells. Turns out that people say, well, animals go to war, Jane Goodall saw war. Well, she only saw it once in 50 years, by the way. And Bob Sussman, who's one of the co-actors of this book, has done an analysis of available data. And for every species that's been studied, more than 95% of their behavior is what we call pro-social or positive. We're inherently nice. Dr. Kellner's great book, Born to Be Good. So part of the paradigm and part of the revolution that we need in the mindset is to accept the fact that we and other animals are good. And that we should be tapping into that. That sure animals compete one another. We're sure we compete with one another, but it's actually rare. And I'm part of a project called Peace Ethology and deals with the science of peace. So I just think that this is something that we really need to tap into and we need to bring into early childhood education. So the problems around the world is that animals are still considered to be property like objects. It's very hard to enforce any of existing regulations or the few laws. I'll finish off by talking about some of the work I do in China. I work with a group called Animals Asia. And we rescue moon bears from the bear bile industry in China. And this is Cathy, and she is maybe about this tall. And she's standing next to a cage in which Franz, Franzi, a little bear was raised. Franzi was kept there for 15 years. That's me feeding Franzi. She never grew to be bigger than this tall. Jill Robinson founded Animals Asia. And that's me feeding a bear named Jasper. And that's Jasper. He lived for 15 years in that cage. There's a catheter in his gallbladder. And all he could do is move his head for food and water. We just rescued a bear who spent 30 years. I mean, you're talking about animals living in cages the size of this podium for upwards of 30 years. But I'm showing you this because there's hope. And that's Jasper today after his recovery, which is amazing. This raises so many interesting questions about animal behavior and animal resilience.  He welcomes other bears into the sanctuary. He breaks up fights. He comes when I'm there to his name. And he's an amazing bear being. So some bears who are only, if you will, in cages for one year, never recover. So it's really interesting to think about individual differences. We know that many animals suffer from post-traumatic stress disorder. Just like humans do. They show the same spectrum of symptoms. That's Jasper's girlfriend. She just had a pedicure. I'm just showing you this because it's amazing to see these bears. I've been there when they arrive. They all have liver cancer. They're all in horrific condition. It can take up to two or three years for them to be rehabilitated. So coming back to these questions, some of the questions I'm interested in, like should individuals be traded off for the good of their own or other species? I mean, we're constantly trading off other animals for food and clothing. People don't think of that. And that's what I think we really need to bring home is not only questions about conservation and compassion, but everyday choices that we make and compassion. So an example that shouldn't be done in the United States is a project to reintroduce black-footed ferrets, their little rodents, into ecosystems and now endangered. And part of the protocol is hamsters are raised solely to be practiced prey for the ferrets.  I think this is wrong and I would stop this project right away. I mean, it's surely open for debate and a lot of my colleagues prefer for me not to come to their meetings anymore, but the fact is, think about that. Would you do it to your dog? No, I mean, everybody who I know who works on this project loves their dog, but then I'll say, well, you don't love hamsters and I'll go, no, no, we love the hamsters. And I'm going, well, if you love the hamsters, like why are you raising tens of thousands of them solely to be practiced prey? And the ferrets are not good predators, so they're just tearing them apart very inefficiently. That shouldn't be done. Another real-world project is I've been consulting with some people studying tigers in Bangladesh where villagers kill or try to kill the tigers for taking and harming or killing their livestock. So there's tigers going around who are really injured and there's no veterinarians, there's no sanctuaries, there's no zoos. And so this woman wrote me and said, should we be euthanizing the tigers, killing them? And I said, yes. And that raised a lot of questions, but the fact of the matter is there's no alternatives right now. You can have these tigers languishing in pain or you can mercifully kill them, euthanize them like we do to our companion animals. So these are the real-world questions that I think we need to deal with. Another is, this is a cover from e-magazine that says, so you're an environmentalist, why are you still eating meat? It blows my mind that people who love environments don't realize not only the horrible pain and suffering that comes to factory-farmed and food animals, but the environmental degradation. Once again, this is a question that a lot of them wish would go away, but I think we should be asking them. I do a lot of work with Jane Goodall and I think kids are the answer to me having humane education early in school, so we did this book called Kids and Animals. It's available free online. It's actually been adopted in many school systems around the world because it is free online. And we had kids fill in the blanks of what they're thankful for or what they dream of. And this says, I have a dream that for every animal that there was a person in which loves and takes care of it, I'm proud to be an animal lover. I'll just show you a few drawings from it. It's a wonderful book. I have a dream that all the animals are safe from people. And the little boy who did this was actually named Darwin. We thought he was very well-educated for a five-year-old and we said, oh, you know about Charles Darwin. He said, no, that is my name, and I am thankful for cats and horses. So we need to go to the kids. I always enlist young children to do activism. I love organizing protests. And in the town of Boulder where I live, there was a move to kill prairie dogs, little rodents who were living on the school grounds because they supposedly dug holes into which kids fell. There was never a case of it. So I and other people protested and they never listened to us, so we got kids to protest. The nice thing is we also get very old people. So we had an 88-year-old woman protesting the death of elephants at the zoos. And when the police come by to break you up, they have no idea what to do with young kids and older people. So the point too is that, you know, kids are really naturalists. They're sponges for knowledge. I mean, you don't have to convince kids about the niceties of the world. It gets uneducated out of them. It gets they become unwilded, I like to say, by much education. So some guiding principles I like to think of as some kind of global moral imperative would be to the starting point would be do no intentional harm, respect all life, treat all individuals with respect and dignity and tread lightly when stepping into their lives or into their homes. And I've written a lot about what I call a compassion footprint, the footprint we leave by being compassionate to counter the carbon footprint. And just some little things, you know, that I've listed here you can read, but I think we all need to agree to do more, to add more compassion and peace to a world that really does need healing. And I love this line from Nelson Mandela that said, we must exceed our own expectations. I mean, it's hard to ask people who are doing all they can to do more, but we're really a tiny subset. I mean, we really are of people in the world. So we all need to do more. And the animal manifesto I like to say is treat us better or let us alone. Most animals have done very well without us. Thank you. And our companion animals and other animals do need us, but most animals don't need us anymore.  And I'd like to see this the century of global compassion and the era of empathy. And as a positive optimist is get rid of negativity. Stop worrying about what didn't work and concentrate on what does work. When you work with kids, you have to be positive. And I think when you're trying to enlist adults to work on behalf of animals and other nature, you need to be positive. You need to talk about the successes. And there are lots of successes, there really are. It's just that for some reason we so concentrate on the blood and the negativity. So I like to I always call local news stations and write to newspaper saying you need to start off your news with positive stories and not have the positive stories jammed into the last 30 seconds of a terrible news forecast. And I think that in terms of conservation biology, we need to move out of our comfort zones, personal and professional. And once again, I think we need to be much more choosy in terms of the projects that we undertake. I hate to say that, but it seems to me that we're spreading our wisdom and our money and person power too thinly. And we just might have to accept that some species and some projects have to go. I'm not saying that I can pick the ones right off hand, but I think we might have to do that.  This is Jasper on his hammock at the Moon Bear Rescue Center outside of Chengdu, China. So thanks for listening and I appreciate being here.


Unified layer for logs, meters, and traces. Like six, seven years ago, we started pitching how to do a unified logging layer. That's how, well, maybe 10 years ago, how do we start it in this journey? And one of the challenges is when you're dealing with telemetry data, who is called today, it's really hard to concentrate and handle the volume. Even more when data comes from different sources and destinations. First of all, I would like to know who are your first timers using FluentBit or FluentD. Maybe you can raise your hand so I can get an idea. Oh, just a few ones. So I'm going to get more back reports or similar things. So I assume that most of you have some knowledge about what FluentBit does. But first of all, it's good to clarify where we came from. You know, CNCF as projects is a neutral place for all the projects around cloud native space, starting for Kubernetes, Prometheus, Jager, and so on. FluentD, our parent project, was graduated around 2019, if I'm not wrong. And FluentBit is part of that journey. Both projects are graduated. And while others are still in this phase of incubation, we are expecting to also get open telemetry graduated at the end of the year. So it's really interesting to see how the projects evolve from one stage to the other. And what is really important is adoption. It's adoption not just because somebody is using it, it's because they are using it, they are reporting issues, and their people contributing back to the project, which at the end of the day is more important. You don't want to deploy something that nobody is going to maintain it over time. You want to deploy something like this and forget about it, right? And when you get security issues, somebody will issue a fix. But at the end of the day, what is important is that this is a very vendor-neutral place. Despite their company like us on Chronosphere Calypia or Amazon using this project's development code, you will make sure that whatever you have here will be there for many, many years. So let's get started with locks, methods, and traces. In a nutshell, FluentBit as an agent, as you might know, can handle all of the telemetry types of data. And to be honest, it was not designed for that. It was designed for locks. But the way, and this was lack, the way that we designed how to handle locks was in a very agnostic way. We don't care how the data looks like, we're going to serialize it and provide some processing and be able to ship it out to any type of backend storage. And that's how FluentBit was evolving for handling just locked to metrics and now traces at the same time. What is, we talk about metrics support, we're fully compatible with open metrics and open telemetry. Also, for example, if you have Prometheus services exposing metrics, you can use FluentBit to scrape those metrics. Also, FluentBit itself generates metrics and you can expose them as Prometheus exporter or you can send them over remote write. And also, that's not enough, we can send that metrics to Splank so we know how to format metrics to Splank and send to InflexDB and other formats around. And when you want to do metrics with Prometheus world, so as I said, it's not just also how to, you can collect metrics but also FluentBit can, well collect remotely, I mean, can also get them from the host file system that you are running in. That means, are you using node exporter? By the way, in your systems from Prometheus? Okay, some years ago, and I think that this idea came from Europe, we always get really good ideas from here, from this version of KubeCon, I don't know why, but they told us, hey, I have node exporter from Prometheus and I'm using FluentBit. So is there a way that in FluentBit we can replicate the functionality of node exporter? Meaning like generate the metrics from the host? Yeah, because we're reading profile system, we're doing bunch of stuff. So we ended up replicating the functionality. So today if you're running node exporter and you have FluentBit, you can use FluentBit to replace node exporter, because we have a plugin that copy paste the same metrics, same levels, dimensions, everything. And node exporter works in our version support for Linux, Mac OS, and Windows. Yes, Windows is everywhere. And destinations for the Prometheus world, well, we support the two primary formats. In open telemetry side, as an agent, we support OTLP in the input, OTLP in the output. What that means? We are open telemetry compatible. So that means that in this journey where now you might think or instrument your applications to move to open telemetry, because it's a standard that all of us we're believing that will solve many problems and also for the vendors. So you can trust that FluentBit is having one of the best implementations also with the open telemetry tools that they are providing in the input and in the output. So with FluentBit, if you are using, you understand that you can collect data from many sources, many destinations. Maybe some of you are just using it in Kubernetes, but in the story, FluentBit was originally designed to collect metrics from embedded Linux devices. That means that it was designed to be very lightweight, to use a very low CPU, very low memory. Somehow ended up being used in containers like Tracy. And when you say this, it's important because before Kubernetes, everybody was running VMs, bare metal machines, and we have collectors for system D, for files to receive data over TCP, UDP. Many people collect syslogging messages from firewalls by using FluentBit outside of Kubernetes. So I just wanted to give you a bit of context. And the FluentEco system, as I said, it not tries to be a drop-in replacement. Actually, if you go to talk to any company that has any product, everything, they will say, hey, replace A with B. This is better because X, Y, Z, right? But in reality, in technology, and if you look at your production environments, you will notice that you don't have just one type of application that you need to replace. In our space observability, you have logs, metrics, and traces, plus syslog plus messages from system D, plus X, Y, Z. And you need a unified way to collect this information because your goal is to do data analysis. If you cannot have something that can be kind of plug-and-play to receive this information, it will be a mess. So in the FluentEco system, we always, that's what it's called Fluent, right? And actually, the principal project, it was called Fluent D because a Fluent name was taken. So everything, I don't know if you remember, everything was MySQL D, or something D for services. That was Fluent D. But the organization name is Fluent because I need to be fluent in talking to protocols, fluent to integrating with other projects, even competitors. And pretty much, you can create what is called telemetry pipelines. As I said, one family, one origin, and both are graduated projects. And the problem that we solve is pretty much this. We fit in the middle. We connect multiple sources to multiple destinations and we are able to adapt to every single use case from embedded Linux use cases to burn metal machines in the cloud, as Google, Amazon, and others use. And the way to deploy this agent is that you just set it on the VM, in your container, in the burn metal, and you think that there are some experiments if I'm not wrong as a serverless. So Fluent Bit is a C program, a C language program. It starts really fast so you don't have any delays, so which is a really good solution for something that needs to compute data pretty fast in a matter of less than one second. And when you collect data, you can not only send the data to one destination, we support routing, we support buffering, if something goes wrong, the data can be retrieved from that safe place that is called the buffer, the file system buffer, and you can send data to multiple locations if that is desired. But also at some point you would like to do some, what we call in our word, aggregation, sometimes called now collection, right? But Fluent Bit can be deployed as an aggregator or what is used to be called as a forwarder on the edge or a processor in the edge. So what that means, and when you are going to try to do something like this, imagine that, do we have elastic users? Elastic search users? Okay, please don't blame on me, but if we look at elastic search three years ago and you have like a few hundred nodes sending data to elastic, what happens? Boom. The JVM explodes because it cannot handle the load, right? Well, it can handle by text time because also it's doing indexing and many things behind the scenes. And one way to solve those problems was to put something that controls the data flow in the middle. So you will find that in the past, many elastic users were using even LogStash or Fluent D in the middle, same as this, in order to control the data that is being flowed from the edge or from the agents. And same as it can be used with Fluent Bit, you can receive data from OpenTelemetry or you can scrape meters from Prometheus and then send that to your own destination. And I'm going to do a really quick recap on how Fluent works in the Kubernetes login world. So, you know, Kubernetes is just a group of computers, right, a cluster, right, and you have two primary roles. One is called the master server or API server, and then you have nodes. A node is pretty much a physical or a VM machine that runs the operating system instance. And when you deploy an application, you deploy what is called a POT. A POT runs a container. And the way that login works in Kubernetes, in most of the application and kind of best practices, it does make your application write any type of login message to a standard output interface or standard error. What happened next is that the container engine, when it's running and it has it's piping these interfaces and receive those messages that are being generated, it writes them back to the file system. Yeah, maybe you can bypass the file system, I use a network driver, but normally what it does, it's writing the messages. And there's a typo because it says, Apache is writing NGINX, I just noticed that, but we will fix it. So every container has its own container log. But that is not enough, right? So when the data gets written to the file, the file gets encoded inside a JSON message because it has some metadata from the container engine that is the stream where it comes from and also at the date or the time where this data was generated. And this looks okay, school, but also our message gets encapsulated in JSON and it gets escaped because JSON say you have to escape your messages. But that is not all. When you deploy an application, you don't want to say, oh, show me your logs from NGINX from Apache. You might have a thousand, but the way that you deploy this thing is like you said, I'm going to set labels and going to add some context to this pod that is running. And those are labels and annotations. But that information does not leave where the application is running. It leaves in the API server, in the master server. So if you want to do login, you have to take data from two places, make them one, and then you will be able to ship it. So something like this, that is a simple message at the end of the day, gets expanded with a lot of metadata like this. So, yeah, login is really expensive. You might imagine that writing this to the x-ray from this decoding and coding is really expensive. And in our world in fluent, we try to do as more cash as possible, right? And reduce the number of API calls to API server, but also we can talk to Cubelet that if you're familiar with architecture, Cubelet runs on every single node and that has a copy of the metadata, so you can optimize. Just a tip in case you have access to the API of Cubelet, yeah, you can point Fluembed to Cubelet to avoid all your nodes talking to the API server. Now I'm going to introduce you a new concept that we recently were talking about, about filters and processors. As you know, historically, what filters does in Fluembed is like, imagine that you have a pipeline and that pipeline goes from left to right. In the left, you have all the source where you are reading the information that is coming from your files over the network. But after that, you have one face that is called filtering because maybe you want to drop data, you want to enrich data, meaning like you want to add some keys, remove some stuff, and then you have the output, meaning like a way to decode that information and send it out. What you have here in the screen is the architecture of the current Fluembed version on how do they work with filters. Imagine that you have thread one, which is a principal thread, that is the main event loop, what is doing buffering, scheduling, handling retries if something goes wrong, but also run filters. Meaning like if thread two is on the left, read information somewhere and code events for the main event loop, it gets buffered, it gets buffered, then it gets filtered if there's any filtering, and then it's passed to the other thread, which does only handle destinations. Handle destination means get the data, decode the event, format the data to the expected backend, and try to deliver. And I say try to deliver because things fails and when it fails, you have to retry. And if you cannot retry, you have to delete, you have to release the space. And this sounds, oh, yeah, it makes sense. This is the new version, so the current version from one year and a half ago because we used to have only have one single thread, Fluent Bit was single thread with asynchronous IO and just one event loop. Now we have three event loops per thread and we have different mechanisms around. Do you see any problem here? Or potential problem? Yeah, it works. Now, what about this? Who can tell me what will happen here?  This is what we had before. We were doing nothing, not much filtering, but now we have more filters. And the truth is that we have found users and customers were running 15 to 20 filters. Insane. I want this, like kids with a candy, I want that, that, that, that. Awesome. At the end of the day, you had too much sugar in the body, right? And the same happens here. When one thread is ingesting data and data is being filtered, that's delaying things. As you can see the main event loop, what it does, buffering, skating on a red trice. But what is the priority now? If you add more filters, you are adding more computing time and you are overloading the main thread. That means that you're not able to ship data fast enough, you're not able to read more because you need space for that. You don't want to blow up memory. We don't want to be a JVM or logstash. So this is what happens, contention. Meaning we are sending data but we have to wait until the whole filters finish so we can continue operating. And this has been a problem, but a recent problem from the last eight months because before that this architecture was pretty fine. Everybody was processing, I don't know, 40,000 messages per second, 50,000. But now we are in 2024, workloads are increasing and you will notice that in your environment. And this is what happened, you are more filters and we are not able to process the data fast enough and the things gets messy and you get contention. And the solution for this has been processors. Processor is a new interface we just shipped a few months ago that has a really interesting value. It's, as a concept, processors are a single chain of processing units. Processors can work over different telemetry types. For example, they are processor for logs, for metrics and for traces. They can run in a separate thread and process can do pretty much whatever you were able to do with filters. And this is the way how it works. Yeah, we give the problem to the other thread, right? But he's a guilty, right? If the user is trying to process more data on that thread, that's fine. But we are not blocking the main thread. Now you might imagine, okay, oh, I'm using filters so I should not using them anymore. And no, actually you can run filters as processors today. We made it in a way that we didn't want to break compatibility, right? So all the filters that you have to modify to the Kubernetes filter or there's some Amazon filters to enrich your metadata with the instance information can run as processors. And I'm going to run a typical FAQ and this question comes from this week at KubeCon because I had two, three questions here and that people was continuously asking, asking, asking. Why should I use FluentD? When should I use FluentVet? And I wanted to give it just a simple, simple summary of FluentD, it's written in Ruby language. Which it works fine, but it's a single thread. It can scale until certain level, right? FluentVet is written in C. And the difference that FluentVet has been designed in the latest years to be a multi-thread program, so nobody longer has one CPU in his computer, right? Her computer. Even if your phone's running more than one core. So why we're going to just use one. And we always keep the same philosophy to run with very low CPU and memory footprint. The other is that when you think about extending your pipeline, because everybody at scale want to bring the business logic into the pipeline, they say, oh, I need a new plugin, a new way to add my own behavior to the pipeline. In FluentD, you have to do it with Ruby, but in FluentVet, you can write in C. Yeah, people don't like it, I get it. But now you can do it in Wasm. So you can do it in Python, you can write in Rust, you can write input and output plugins in Golang, or you can do Lua scripting. If you're familiar with Lua or Nginx scripting that is Lua, so it will be something really simple that you can add to your config maps to add your own logic into the pipeline. And when operating with other ecosystem, as I said again, I want to be very clear on this, we try to integrate the best way possible and give the best solution available in the market for every single user. Every FluentVet is being used everywhere. So that means that whatever you go with any type of protocol implementation, we should be able to solve the problem on that ecosystem. And the question was, oh, can I use OpenTelemetry? How this overlap? OpenTelemetry is a protocol, OpenTelemetry is a specification. But also we have SDKs to instrument your application that they are able to ship telemetry data, right? Now, as you can see here, the overlap that exists is with the OpenTelemetry collector. Not with OpenTelemetry, that is a big difference. But that is fine. I think that it's good that the user must have choices for different use cases. HotelCollector is really good, for example, for tracing, for sampling. And they are getting into there with other features for metrics and logs. We're really good at logs, we're getting into metrics. Yeah, and we are new in traces. Yes, this adds some confusion where we can get started, but always my suggestion is use what works for you and will work over time. And I think that I like to do that emphasis. And same as you can receive from one to one, yes. You can use Flow and Bet as a main arrayator or collector for all your telemetry type of data. Not just OpenTelemetry, but for everything that you have. And as of today, we are 13 billion downloads. And this is insane. Maybe I say the same thing every year, because I'm amazed at CubeCon Amsterdam last year, we were 6.3 billion, right? So now we are two X of that. That means it's not because, personally I think it's not because the project is, oh, it's so great, we're going to deploy thousands. It's like, hey, people is moving to Kubernetes. People is, I don't know, using more cluster, the adoption is growing on the CNCF ecosystem. And now they need an agent to manage logs by default. And it's Flow and Bet. And that's why, and we are really thankful for our users. And this week, we released Flow and Bet version three. So a few things. So every time that we do a major release, and actually the last major release has been here at CubeCon Europe. And somehow we like that stuff. We do a new t-shirt, a new design. We try to give these t-shirts for everybody. But next time I will owe you one, as I explained you before. But let me tell you about what is new. So first of all, Flow and Bet is a small team, right? At least from our company, Caliptia, now Stronosphere, we are like four, five developers, right? Leonardo wrote one of our maintainers, wrote the HTTP to support for Flow and Bet. So thanks so much for that. What that means, that now, if you rely on any type of instrumentation or collect data from application that wants to use HTTP V2, now you can do it. There's no big change from the user's perspective, but you will notice that you will be more performant. Because with HTTP V2 was made for concurrency, something that didn't exist for HTTP V1. Also we get other internal changes on how to manage the data salarization that I'm going to talk to you in a few minutes. Also when thinking how to modify the data, because users always want to modify the data because of business needs, we said, okay, we have a bunch of filters, modify, modifier, grep, I don't know, we have like 20 or more. And we say, hey, most of them are kind of overlapping and functionality are doing pretty much similar things. So we are chipping today one more to just try to reduce the complexity that is called content modifier. But of course, this is a processor, not a filter. The good thing about this processor is that it operates on top of logs and traces. For logs, it operates on top of metadata or attributes plus the body content and in traces, of course, on top of the spans. And the operations are supported, insert, absurd, delete, rename, hash, extract, and so on. Somebody asked me this week, hey, why do you have a hash function? And in the product that we offer, also we got the same question, why you need to hash? There's many use cases where even in Europe with GDPR, you are collecting information but you're not able to send all the information in plain if you have sensitive data. For example, social security number, user password, but you have to send the key and some value. Hash works for that. Of course, the idea of hashing is like it cannot be a reverse process and so on. And the next one is a metrics selector. As I told you, flow embed can extract a metrics, it can receive metrics over the network, but at some point you would like to exclude certain metrics that you are not interested in.  You don't need all of that. So the metrics selector allows you to filter, to include or exclude certain metrics by its name and shortly by labels. That means that it could be really easy to manage. And the last processor that we implemented before in this release is a SQL processor. You will say, oh, why SQL? Are you using SQL Lite or my SQL unit? No. The thing is that we found that what users want to do with data is basically sometimes select certain keys and sometimes are thinking about expressions in their mind. Hey, I just want to hold the data that this value is greater than 10. And that's it. And our option that we have available before was to, hey, write a Lua script for that. I don't know Lua, I don't have time. Oh, maybe you can use some filters and this person waits five to six hours. Right, or more. So we said, okay, why we don't implement a SQL processor? We used to have a stream processor in FluentVid. It's still there, but it works different and it has its own issues at scale. So we said, hey, let's implement a new SQL processor that allows to select for locks primary specific keys, rename them and put conditioners on it. So with this new SQL processor, you can do that. And now I know this question is coming. Oh, does it support aggregation like count, max, mean, group by? Yes, that will be available in two weeks. Not today, in two weeks. So yeah, this is a new SQL processor. And one other part of the news is like, when you're thinking in an open telemetry, for example, in the ideal case of this, this works perfect, but what happens in reality, if you go to production environments, it's like on the left, you don't have open telemetry. You have syslog, you have UDP, you have TCP and any kind of protocol that you can imagine. And the structure of that data, it was not meant to follow an open telemetry schema. But you need that as an open telemetry schema. So one of the important updates in our open telemetry output connector is that allows you to customize in a very granular way the message that's going to be sent as open telemetry format. For example, you are getting a log message though you have five keys, but you know that two of them conceptually or logically are metadata or attributes. And you want to represent that in open telemetry. Hey, these two keys are metadata, everything else is part of the body content. So now you have that type of control. And before ending, I wanted to show you a little example of how this works and the new processors content modify. Can you read the screen or so small? Oh, you need glasses like me. That's better? Yes, okay. This is my sheet sheet here. Don't take a look at that, those are comments. So we have here, yeah, if you're looking at this, you are not familiar, we ship a new YAML format some months ago. So the classic configuration mode of Fluentbit works, but also we have a YAML compatible version. Okay, we encourage everybody to switch to YAML because there's more tooling for validation. Okay, so we have defined a pipeline here and now we have defined the input plugins or the input sources where the data will be received or generated from. The first plugin that I'm loading is called Dummy. Dummy, what it does is just send the same message over and over because we are doing a test and just to explain the concept, we're going to generate a JSON message like this that it has one, two, three, four keys with different values. Key one, key two, message and HTTP URL. And then we have attached a new processor. As you can see, the processor is under the plugin. Now you cannot use processors in classic mode. If you're using the other version of Fluentbit, you're using classic mode, you cannot use processors. Okay? And we want that everybody moves to YAML, that's right. So yeah, we have to force the user somehow, right? And well, here we're loading the content modifier processor and the action that we are taking is going to insert a new key on the record. Right? The key name, the key value. And what we're doing is to send this information to the standard output. I'm going to run this locally in my terminal so I'm not running Kubernetes, nothing fancy here. Very basic. Can you see it? Let me see if this doesn't break. As you can see every second, it's printing the same message but you will see that at the end there's a new key and that key is called new key, new value. And let me help you here. Maybe you can use JQ. This is really good for debugging so you can learn something about how to debug this stuff. So there you can see that a new key is being generated. Okay, it's not a big deal. But internally, this new processor, I don't know if you remember that I mentioned that we have a new serialization format, a new way to work with the API. Right here, new internal API for data manipulation. This new processor is using that, which is a new mechanism, a more performant to perform all these modifications on the records. Now, okay, and for example, imagine that now we want to hash message. Well, it's a value new, but anyways, you can hash it. I'm going to break, I'm going to start again. Let me close this one. As you can see the message now value has been hashed. And now we can do something more interesting. We can operate in an action that is called extract. Sometimes you have data that in your mind means something. You know that if you read an address, you will see, oh, this is a protocol, this is a domain, this is a subdirectory or path. And sometimes you need that information to be extracted in different ways. You used to write a Lua script for that or run a filter or a regular expression, but now this processor supports that. And that means that what we're going to do right now is to extract the value of that key by using this regular expression. If you don't like records, that's fine, nobody like it. And, but there, the good thing is that here you can have the group names and the values will be assigned it automatically. So the goal is to just get this key and expand its value as a key value per. So let me save this one. Let's go again. And now you will see that we have, oh, let me stop it so you can read. And now you can see that we have the HTTP URL has been split, split, oh, new key, well, this is an order matter, has been split in four new keys, HTTP protocol, HTTP domain, HTTP path, whatever. Everybody who's using a Splank or Elastic sometimes is running these queries when the data has been ingested. The value here is that you can do it before. And what is the gain with that? It's not the same running a query when you have ingested thousand and thousand of messages than doing this processing in parallel while the data is being collected and ingested. And the CPU cycles are very, very low. So we are always encouraging and also seeing some users that all these analytics queries or processing are moving from the left now, sorry, from the right to the left. They're really interesting.  So you can play with logs like with anything, right? It's pretty simple. And let's talk about SQL, the new SQL processor. Now we have a small version, right? Of the same, well, it's a small version of the same dummy message where we have a key, we have the HTTP address. And we're going to do first is to enable the processor and we're going to extract that key as a multiple key value pairs. But as a, what our boss asked us, hey, give me a list of all domains that are being scraped. I don't care about anything else. Well, at the end of the day, it could be IP addresses or anything that's more useful than just the domain. So we're going to do it in one round. So the first processor is going to extract, right? The message. And the second is what is it going to do? It's going to select the new key that does not exist here, but we can, oh, this is a type of, we can, okay, key one, we're going to select key one, but I'm going to rename it as key. And then we are going to select HTTP domain from stream. From stream means like it's coming from here. We don't have tables. Everything happens in memory, okay? And then we're just going to switch the example. And there you go. So every one second is creating a new message. So this is how you can extract messages. You can mix content modifier, running a SQL query. And of course, and today we've got the first question. Hey, is it possible to run SQL over metrics? I was like, not yet, but that's interesting. And then we were thinking like, hey, fluent bit ship internal metrics will be good to provide a SQL interface for the internal metrics. Interesting. So there are many things that can be done here. And lastly, maybe I can show you the not exported metrics. So I have one VM that is running here. It's a Linux VM. And they're going to run fluent bit from the command line. So when you run a fluent bit, and you put minus H, you will get a ton of information around the input plugins that are built in. Everything is built in. You can have external plugins, but by default we ship ton of good things. Then you have the processors available. Oh, we have a labels processor to play with labels. And then we got filters. They look old, but that's fine. They can be run as processors. And then they all put connector for Azure, or I call Google, forward, H2PM points, whatever you can think. So we're going to run what is called the not exported metrics. I'm doing it on Linux because we have more metrics collected on Linux than on Mac OS. Yeah, and I'm going to just, oh, we can expose it to, okay, let's send it to Prometheus exported. Let me see if I'm not wrong. Oops, I put something wrong. Red permissions from, oh, I should not, oh, it's a thermal zone. Okay, so we are running the Prometheus exported on 2021. What that means, fluent bit right now is gathering metrics from the file system and exporting in a buffer into the Prometheus exported metrics. So if you do curl H2TPs, 2021, and you put metrics, I just did a scrape of the metrics that fluent bit is exporting. That means that fluent bit can behave as a Prometheus exported. Okay. And if you can start seeing something similar, like I'm going to send these to the exporter, but also I'm going to send the data to STD out. So I'm going to see the data on both sides. I'm going to get a match rule. You will start seeing that on one side, the data is being generated. Not generated, oh, the buffer is ready. So from one side, we are sending the metrics to standard output while on the right, we're just querying this by using curl. This is a simple concept before you can integrate the things around telemetry, playing with logs and metrics. So I owe you the traces example because we just run out of time. But anyways, I would like to invite you to sign it up for the book, for the webinar and give some space for questions. Thank you. Just raise your hand. Please. The question is, if we support our own logs as JSON, yeah, internally in FlanVid, we don't do JSON. We do message pack, which is a binary version of JSON. But if we can ship our own logs as JSON, no. Yeah, it sounds like, yeah, we don't do it. Most of people don't need it. But if you are interested in that, into that, please open a GitHub issue and we'll be happy to support. Well, if you have more questions, oh, we have a more question here. Oh, you want to know about the architecture? Oh, he's asking if we can go back and see the comparison of that. Okay, I didn't get the last part. Sorry. Why do you stick to just press rights for this instead of, for instance, having a workflow for the filters? And so I was kind of wondering, where does the coroutine sits in those press rights? Oh, where the coroutines? Yeah, I mentioned that. Yeah, okay. Yeah, for the background. So we're going to go more technical. Yeah, Fluentbit, when it was created, it was a single process, right? A single thread. And in order to process data, and without blocking, right? You have to do something with the operating system. For example, when you are doing computing or doing something, there are always two contexts in the process, right? There's user space and there's kernel space. And sometimes through system calls, you want to achieve certain things. For example, I asked the kernel A, give me a socket, connect to this endpoint. But while I'm connecting or doing a DNS lookup, I send out a DNS request. I need to wait for the response. That will take some time. And coroutines help us to say, A, you know what, you have an event loop.  While I'm suspended, the event loop was still working, scheduling, reading data. And at some point, the kernel is going to signal back the event loop and says, hey, you got a response. You are ready. And that coroutine, that context, now can resume and continue operating. Okay, this was when we had a single thread. Now, in the model that you see in the screen, now we use coroutines in the output. So every output thread that you see can spawn 1,000 threads. Sorry, 1,000 coroutines. And everything looks really smooth. Let me check if I have, let's take a look at the code. Yeah, if you are here, it's because you have time, right? Okay, yes, but let me jump into this because we won't get it online. So this is the HTTP output plugin. This is called, okay, pretty quickly. Okay, plugins registered with a structure. We define callbacks when the plugin gets initialized set, when the plugin exits, and when the plugin is going, needs to flash information. Okay, the plugin doesn't manage any logic. It tries to get the data, process, and deliver. So if we go to the flash callback, oops, oh, oops. Let me check this. There you go, flash callback. Let's focus on this important part. Oh, I choose the more complex plugin for this. Sorry about that. This has changed so much. Okay, we have a function that is called HTTP post that is here. Okay, take a look at this code. It says FLB, which is a prefix for Fluent Bit API. AppString context get. Do you know what does behind the scenes? It does a DNS lookup when it knows the IP, it perform a TCP connection, and if it's a SSL connection, it will do all the TLS handshake. And once it's ready, it will return here. But imagine that the remote endpoint takes five seconds to respond. The program doesn't block. It runs under a coroutine, the flash callback under a coroutine. It just send the request, wait for the kernel for all the step that it needs while Fluent Bit keeps working on that output thread that we have keeps operating in other coroutines. I don't know if you remember if you are old enough as me when you were running Windows 95 or Windows 3.11, you used to have one CPU core. And how was possible that I can move the mouse, click and open Windows? They're running some kind of lightweight threads. You have one CPU core, how that's possible because what you're doing is doing a micro execution of code under a very small single unit of time. And with coroutine and the scheduler and the event loop, we do the same. I don't know if I answered your question, but no. Okay, sorry about that. Hi. So, when we're using processor to hash some GDPR data, can we hash it with some R-provident key to decrypt in some cases like legal requests, et cetera, et cetera in our backend for future? Today we support SHA-256 and it's hard-coded, but if there's any good use case to say I would like to show my hashing function. Since we use OpenSSL, we have a bunch of them to choose from. It would be great to know what would be these cases. Just open a GitHub issue, we can implement it. Okay, to provide some custom private key. Or to sign the messages. To decrypt it for some legal requests. Okay, so what we're doing in the hashing algorithms, hashing is not in reverse mode. So it's not encoding, what you're talking about is encoding. Code and be able to decode. So with a GPG, for example. So you want to sign a mess, encode it, sign it, and decode it. Yeah, we don't support that at the moment, but it sounds really interesting and just open a GitHub issue. Okay, thanks. Thank you. If I can do manipulation with Wasm plugins. Yes, but you might have to implement like a filter that does that custom hashing. You can do it in Lua too. Yeah, Lua runs, same, Lua originally is a filter, but can run as a processor because they're compatible. Yeah, you just write a function that takes a value, applies sign it with a key, import your Lua packages, and. Hi, thanks for the presentation. Is there a plan to add a Microsoft Sentinel output? Just like we have Forced Plunk, for example. It's possible? Yes. So you might open a request on GitHub, but it looks very enterprise use case. So I don't know if the product side has something about it, but I never use it. So I would not say, yeah, we'll be ready in two weeks. No, it's not like that. Maybe you can open a GitHub issue. The way that it works is like, most of the stuff that exists today in FluentBate has been because users feedback. And sometimes users don't get it, but it's real. You open a GitHub issue and you get a lot of people saying, hey, this is interesting for me for XYZ, I will need to use it for these reasons. It's a better way for us to prioritize it as a project. Thank you. And when you say it was first single-threaded, do you refer to FluentBate 1.x? I think until 1.x, yeah, I think that after two, we introduced threading, but in a very optional way. Now, most of plugins are by default running a separate thread. So every output plugin that you create in the configuration automatically runs in a separate thread. Okay, thank you. Yeah. Hello, as it is a new major version, are there breaking chains for the actual config in previous version? There's no breaking changes on configuration, on this new version. Okay, thanks. Okay. Okay, thank you so much, everybody. I hope you have a safe return to home. One.


What picture comes into mind when I say Buddhist monk? For me, the picture that comes immediately to mind is Tich Nhat Hanh, the kindly, compassionate, 95-year-old Vietnamese monk and peace activist. I'm guessing that many of you maybe had a similar picture come to your mind. Here's another picture of a Buddhist monk. This is a monk from Sri Lanka, the island country off the southeast coast of India. He leads a group called Bodu Balasena, Army of Buddhist power. He is an ardent Buddhist nationalist who verbally attacks Muslims and Hindus and has been implicated in violence against Muslims. Buddhist nationalism in Sri Lanka has been shaped by a sacred scripture called the Mahavamsa that dates to the sixth century of the common era. This tells the story of a young Buddhist prince in Lanka who led an army against the invading Hindus from India. He, at the front of the army, he carried a spear which had a Buddha relic on its tip, 500 monks marching beside him into glorious, victorious battle. This powerful myth has been a key foundation of the brutal civil war between the mostly Buddhist singles and the mostly Hindu tomos. The civil war raged from 1983 to 2009. The army of Buddhist power emerged a few years after the end of the civil war when the singles Buddhist won the war. And it attempted, it's been attempting to preserve and consolidate Buddhist power, which it's been quite successful in. Thich Nhat Hanh tells a very different Buddhist story about a different prince, Siddhartha, who gave up worldly goods and power to share a message of peace and serenity and compassion. Stories matter. Stories have power. A story composed 1500 years earlier helped propel a civil war in Sri Lanka. The Lost Cause story proclaimed by white supremacists around 1900 in our country helped propel Jim Crow segregation in a century later, the January 6th insurrection. Trumpists are using a new Lost Cause story, the story of an election stolen to propel a Trump comeback. Whether there is truth in a story does not matter. Stories can of course be used for good as well. I think of the story of Rosa Parks sitting on that seat in the bus, not going to be moved by the forces of segregation. A story that helped propel the civil rights movement. Stories shape, make, break. Not just nations and movements, but also communities and individuals. Stories can motivate, instigate, immobilize, or even curse us. I picked the key, the book Keep the Lights Burning Abbey today for the message of all ages because there's no doubt that that story that Abbey lived as a child was a source of strength. A source that shaped her for the rest of her life. It matters what stories we tell. Today through music, we're hearing part of the stories of Linda's and Heather's and Drew's mothers.  My mother's story began with a big mystery. She was adopted right after being born. And she never had any interest whatsoever as an adult in finding anything about her birth parents. The fact that she was adopted wasn't revealed to my siblings and I until each of us turned around 12 years old. There was this big revelation and then it was clear that was not a topic for continued discussion. I really never talked again to my mother about that. January 1st of this year was the 10th anniversary of my mom's death. I kind of thought ahead of that that once she died I might do some genealogical research and find out about her birth parents. But I haven't and probably won't and I don't think my siblings have either. There's a hole in my mom's story that is likely to always be there. My mom's adoptive family was not all sweetness and light. Reading between the lines it seems likely to me that her adoptive mother had an untreated mental illness. My mom had a warmer relationship with her adoptive father. But I'm sure he had his hands full as a newspaper cartoonist during the depression trying to keep his family together economically and emotionally. She had no siblings other than some imaginary ones called the dims. She blamed when she got in trouble. She had a grandmother who lived with her family and showered her with love. Grandma Fulton is one of the heroes of the story. Overall I have the sense that my mom had a rather rough start to her life. I think she probably learned a lot of skills in that difficulty that served her well in life. Perseverance, independence, a fierce loyalty to family. I'd say other skills that she needed to survive as a child maybe didn't serve her as well as an adult and in herself that she didn't easily share a stiff upper lip.  I was born on the third Sunday of Advent in December of 1962 around 6 a.m. My dad's brother-in-law was the first person to greet me as I came out of my mother's body. He was my mother's OBGYN. My dad was at the hospital when I was born but not in the room like was common in that day. He saw me through a window in the nursery and then went off to church where he played the organ at Children's Chapel Service at 11 o'clock that morning. I had jaundice so I stayed in the hospital for eight days. My mom stayed most or all of that time. I have the sense that with five kids now she was glad to have a little bit of respite in the hospital. To be honest my parents gave me even more information about my beginning that I really wanted when they told me one time that they went on a cruise about nine months before I was born. How different all this is from my mom not knowing much of anything about her beginning. The whole in her story is a major part of her story even if she wouldn't talk about it. Well a congregation is a place for stories. One of the things I love about congregational ministry is hearing people's stories. The power of people's stories was palpable when I returned to the Fox Valley UU fellowship in Appleton which I served for 25 years after an absence of about four and a half years. My successor invited me back to be part of a celebration of my being named Emeritus Minister. The receiving line after a Saturday night reception and the two Sunday services felt endless. People mostly moved along in the line but they very quickly updated me on their stories. They knew I wasn't their minister anymore. I didn't have the feeling that many of them wanted pastoral care from me. They just wanted to share the next chapters of their story with someone who had been part of their story or had heard their story for a chunk of years. It was pretty amazing to hear hundreds of next chapters in such stories during that receiving line.  We acknowledge that many of the stories are complicated. Some no doubt have a lot of pain and heartache in them. We make space today for the stories of birth mothers and adoptive mothers, for foster mothers and chosen substitute mothers. We also make space for those who want or wanted to be mothers but could not. We make space for mothers who had miscarriages and stillborn babies. We honor all of these stories and so many more I have not named. All of these stories, even the ones we don't share with other people, make us who we are in this congregation of souls. So this is a good place to think about how your interpretation of your stories impacts your life. Are your stories helping you live a whole and healthy life? Are some of them in need of refreshing, reframing or reinterpretation? That kind of reflection would help those Buddhist nationalists in Sri Lanka question the stories that have been guiding and motivating them. Here at First Unitarian Society in Madison, we are also part of a collective story that began in 1879. A story that stretches now beyond us, hopefully at least another 142 years. There are obvious milestones in this story, the founding of course and the bond of union that was adopted at the outset. The decision to leave the old building downtown and move to the west side to a new building designed by the world's most prominent and famous architect. The growth that began when Max Gabler was senior minister and took off when Michael Shuler was senior minister. The ambitious beautiful atrium edition where we're filming the service today. These are just a few of the stories, there are so many stories, big and little, that make up what FUS is today. The last three years have been a sort of interlude chapter in the story of FUS. All stories have these critical moments of transition. They are liminal spaces full of possibility and also danger. And even though they are interludes, they are incredibly important chapters in the unfolding story of a congregation. That's why I feel called to enter a ministry. This interlude chapter here at FUS has not been easy. You have done some difficult work together. You've done good work together. It feels like a lot's been accomplished this past year, but it's really important to say that these accomplishments are embedded in the work that you did during the first two years of the interim period. I know a lot of you were not happy about this transition period going an additional year. No doubt I'm biased, but I think it was the right move. I don't think that the kind of feeling and spirit and excitement about possibility that you had during Candidating Week and the parish meeting last week where you voted to call Reverend Kelly Weisman, asked Ruth Jackson to join Reverend Kelly Crocker as co-senior minister. I don't think all of that would have been possible a year ago. I think it's really good that you waited a year. So friends, this long interlude chapter is winding down. You are poised for a next exciting, wondrous chapter which is not to say it will be perfect or without some moments of challenge and even struggle. But you are ready. You are ready. I'll be here a few more months, but I feel moved this morning to share a good word from another really good story. Go, my friends, and fulfill your destiny. It made the Force be with you.


Welcome. I welcome you all to this course, Samasa in Paninian Grammar. And this is the first course on Samasa. We begin this lecture by recitation of the Mangala Charana. In this course, we are concentrated on the Tattpurusha Samasa. We have said that Tattpurusha Samasa is the most productive amongst the four Samasas in Sanskrit, namely Vyaibhava, Tattpurusha, Bahuvrihi and Dvandva. Tattpurusha Samasa also has got many subtypes in comparison with the other major subtypes and their varieties. We also said that Panini has composed quite a few sutras in order to deal with the features of the Tattpurusha Samasa. Be it Samasa Vidhayaka Sutra or Samasanta Pratyaya Vidhayaka Sutra or Samasa Swara Vidhayaka Sutra, the sutras composed by Panini are quite a few in comparison with the other Samasas. Now, the formation of the Tattpurusha Samasa can be shown in the following brief manner. We have two independent separate entities X and Y and they are independent and separate in terms of the meaning as well as the word form and also accent, but they are interrelated. So, the speaker of Sanskrit decides to merge them together and get the output in the form of XY which is one unit. So, XY is one unit in terms of the meaning, in terms of the word form and also in terms of the accent. However, as far as the Tattpurusha Samasa is concerned, this one unit XY has the head in Y. Y assumes the head position in this particular one unit. What it implies is that this XY is related to any other external word in the sentence only through Y and X cannot be related to any other external word without going through Y. This is the implication of making Y bold. Then we also studied some of the subtypes of the Tattpurusha Samasa, Vibhakti Tattpurusha, Karma Dharaya, Ekadeshi Samasa, Naya Tattpurusha Samasa, Gati Tattpurusha Samasa. And now we are studying Upapada Tattpurusha Samasa, a very, very productive subtype of Tattpurusha Samasa. Also profusely used to generate words indicating meanings by modern Indian languages. This is stated by the Sutra 2 to 19, Upapadam Atting. Upapadam Atting. There are two words in the Sutra, Upapadam and Atting. Both of them are in Prathama. Upapadam is Prathama Ekavachana of Upapada. The word designated as Upapada. This designation happens by the Sutra 3192, Tattra Upapadam Saptami Stham. Tattra referring to the Dhatvadhikara stated by 3191 which governs the section up to the end of the third chapter. Now because Upapadam is stated in Prathama Vibhakti, this becomes Upasarjanam because of Prathama Niradishtam Samasa Upasarjanam. And then Upasarjanam Purvam ensures that there is a Purva Nipata so that Upapada appears in the first position of the Samasa. The second word is Atting and what it means is which is not Ting, which means which is not a Tinganta. The words continued are Sup and Sahasupa and then Samarthapada Vidhi. But there is a question. So after having connected these meanings we get the following meaning. Any Subanta whose Pratipadikas are designated as Upapada is compounded with any other interrelated word which is not a Tinganta. This seems to be the meaning of the Sutra I repeat. Any Subanta whose Pratipadikas are designated as Upapada is compounded with any other interrelated word which is not a Tinganta. So the question here arises namely what is the need of the word atting in the Sutra? In other words what is achieved by this negation? Because if you say Upapadam atting you intend to say that Upapada of a particular kind is compounded and this particular kind is not Ting. Now when you say atting where a is joined with Ting semantically we have already seen that in such a scenario there is Pariyodasa semantically which means that there is the Bhinnat Sadrusha as the meaning intended. And so if a thing is a Pariyodasa then it would mean Ting Bhinnat Ting Sadrusha. So Ting Bhinnat Ting Sadrusha is only one namely Sup. So a thing eventually would mean Sup. But then do we need the word atting to state the meaning Sup over here? Because Sup is already continued. So what is achieved by this negation? When we make not a Tinganta a condition for this Sutra to apply the only other available option through this negation is that of a Subanta. And Subanta is available to us anyways because of the continuation of the word Sup and Sahasopa. So now we are forced to think that in this Sutra the basic condition of Sup, Sahasopa does not apply. What it means is that Sup one one applies but Sahasopa does not apply. Only Sup and Sahasopa they apply. What it means is that the Purvapada will contain Sup but the Uttarapada may not contain Sup. Rather the Uttarapada might contain just the Pratipadika which is made up of Dhatu plus Krta. And so at the end after we do the processing of the compound we get Pratipadika plus 0 plus Dhatu plus Krta as the compound output. Now this is captured in a magazine called the Tikara Upapadanaam Krtvisahasamahasamachanaam Praksbudpatehe. This is a meta rule discovered by the tradition. And this rule says that the compounding of the Upapadas takes place with the other words before adding the final Sup suffix in the Uttarapada. That is the final element of the compound will be compounded at the level of the Pratipadika only. This is the implication of the word a thing in this particular Sutra. I repeat the final bullet on the slide reads that is that the final element of the compound will be compounded at the level of the Pratipadika only. This is the implication. Now the Upapadas are stated primarily in the section 321 to 101. They are stated elsewhere also. But in this course we will focus on this particular section. All these Sutras are part of the Upapada Tatpurusha Samasa stating section. They will feed into the Sutra Upapadam a thing. The Sutras prescribing the compound is mainly one. But the Sutras describing what is Upapada are 101 primarily. A very weak section as compared to other compounds and even other types of Tatpurusha compounds is devoted to this particular type. Highlighting the high productivity of this type of compounds. The features of Upapada Tatpurusha Samasa are the following namely utilization of verbal semantics. The arguments of the verbs and those get compounded with the Krithanta forms. Similarly existence of argument structure within a compound. Effective utilization of the semantic relations. The Karaka relations also high degree of productivity. And therefore used in coining new terms for various scientific disciplines in India by the commission for scientific and technical terminology. Now let us study in detail the Upapada Saudhna. However we won't be able to study all the hundred sutras. We will be focusing on some of them which denote which state some of the important pratyayas. The first sutra is Karmani An 321. This sutra consists of two padhas Karmani and An. Karmani is in 7-1. 7th case here stands for Upapada. So Karmani means when karma is the Upapada. An is one slash one referring to the suffix a. Now the other word present here is Upapada. Through the sutra, Tattrapadam Saptamistham 3192. Karma is the Karaka and this word is mentioned in 7th case. So the word at the end of which appears a case which expresses karma is the Upapada. That is the meaning of Karmani. The words continued are Sup sah sah. Then samarthapada vizhi. Then dhato ho which means immediately after a verbal root. And of course pratyayaha 311. Also kruddatin 3193. And also kartari kruthvich is 3467. And which says that the meaning of the suffix an is kartha. Now Karmani has got the word karman. Karma means object. There are three types of karma stated in the Panayana grammatical tradition. With reference to this particular sutra nirvartya or vikarya and also third prapya. Nirvartya means yadasadeva utpadyate sadvajan manaprakashate. Something which does not exist before but gets produced at a point in time. That is what is nirvartya or what is gets manifest by birth. Something is already there but it becomes, it comes to light because of the birth. So we have kumbham karoti. Which means he or she makes a pot. So now kumbhadi kam hi avidyamanam eva utpadyate. So kumbha was not there. There was only clay and the potter brought together the clay and other instruments needed and then shaped the clay in a particular manner. And the output was the pot, the kumbha, which was not there before. So something which does not exist gets produced. Some scholar would say that kumbha exists within the clay and the kumbhakara's job is to just get it manifest. Even if this is accepted by this point of view as well, the karma kumbha over here will still be called nirvartya. And kumbham karoti is an example of nirvartya karma. Vikarya karma is one which already exists but which gets modifications. So this is different from nirvartya which already is but is manifest. Now here it already exists but it gets just some modifications. For example, kandam lunati. So the meaning is he cuts the stock. The stock exists but its form is modified, cut into pieces. Yasyatu satya eva. Kastit vikaro vidhi yate. Yasyatu satya eva. Kastit vikaro vidhi yate. Its form is modified. This is what is vikarya karma. This modification is sometimes perceptible. Kastit pratyaksha gramyaha. Like kastha kastthani bhasmakaroti. He makes the woods into an ashes. It turns the woods into an ashes. So kastthani bhasmakaroti. So kasthas were there earlier. Then some fire powers put on them. And then those kasthas become ashes. So there is modification of kasthas in the form of ashes. Similarly, Subaranam kundalam karoti. He makes gold a ring. So the gold metal is there. And then it is given some shape. And some ring is prepared out of it. So now the point is that this is a modification of the cause. Ring is nothing but a modification of the cause, namely gold. So Subaranam and kundalam share that relationship of cause and effect. Where kundalam is considered to be the vikarya karma. Sometimes the modifications are in accordance with the authority. Kastit sastra gramyaha. Kastit pratyaksha gramyaha. Kastit sastra gramyaha. For example, vrihin prakshati. Sprinkles the rice with water. Now in vrihin prakshati, although vrihin is titya and prakshati contains the verb denoting the verbal action, the vikara that has happened on vrihi because of this sprinkling is in accordance with the sastra. So sastra has stated this particular vikara. Now vrihis are considered to be pure, which earlier were not. So there is modification in the form of vrihi, which is stated by sastra. So this is also termed as vikarya karma. And finally we have prapya karma, which means which is to be related or which is to be associated. So this is a general relation with the action that is cognized and when the specific relation with reference to the action is not cognized. Kevalam kriya sambandha matram pratiyate. General relation is understood. Kriyakrta visesha bhavah pratiyate. But the distinction that is brought about by the action is not understood. So we have vedam adhite. He recites the vedha. Charcham parayate. He clears the discussion. In these two cases, the action of studying or reciting and also clearing is related to vedha as well as charcham in a more generic manner, where there is kriya sambandha matra is understood and kriyakrta visesha bhavah is there. So the adhena kriya brings about no modification as far as vedha is concerned and also the charcham is concerned. And so these two are called prapya karmaas. Now let us take the example of the nirvartya karma and see how compound gets generated. And see how compound gets generated. So the meaning is he makes the pot. Kumbham karoti is the laukika vigraha. Now kumbham karoti, the speaker intends to bring them together as the compound. So we have kumbha plus am plus kru plus anam. So there is samasa saudnya because of upapadam ating. And so there is pratipadika saudnya and so supadhatup pratipadika applies and deletes am. So we have kumbha plus kru plus anam and then anam is deleted by tasya lopah. So we have kumbha plus zero plus kru plus anam. And then because of this anam marker in anam, ru in kru gets the substitute r which is technically termed as vridhi. And so we have kumbha plus zero plus kar plus anam.  Similarly one who makes a city is called nagara karo, nagaram karoti. Similarly one who makes a painting is called chitra karo, nagaram karoti, chitram karoti. And one who makes an idol is called murthikar. One who makes a paper is called patrakar and you have so many words that are derived in this particular fashion, so many. Kumbha or pot etc are related to the action of doing as object and that too nirvartya karma. The suffix anam denotes karta of the action of doing whose object is pot etc. One of the important things to be remembered over here is that kara is a bound word. Which means that kara is always used together with something on the left hand side and never independently and alone. So for example we cannot say one can handle, one cannot allude to the same person and say that he is the kara of kumbha. This is not possible. Either you have to say kumbha kara haayam or aayam kumbha hum karoti. You cannot say this is the kara of kumbha and that is why this particular kind of vigraha seems problematic. Now let us go to the vikarya karma. One who cuts the stock. So we have kandam lunati as the lawukika vigraha and then we have kandam plus am plus lu plus anam as the lawukika vigraha vakya. Now there is samasa saudhnya over here. So there is pratyapadika saudhnya. Then suppodhatu pratyapadika yoga applies, deletes the am pratyajya and then anam is deleted by sasya lopah. And then this deleted anam as a marker brings about the substitution of aw in lu. So you have kandam plus zero plus lawa plus aw and then finally first of all aw and then awa and so you have kandam lawa as the finally derived compound output. And this is the example of the vikarya karma. Similarly you can get the forms. One who cuts the grass is the meaning and the compound generated is sharra lawa. One who makes the wood into ashes is called basmakara and one who makes the gold into a ring is called kundalakara. Similarly when you have the prapya karma and you have the meaning one who recites veda. You have veda madhite as the lawukika vigraha. So veda plus am plus adhi plus anam and then sups are deleted. So am is deleted.  So e becomes aw and then choi awa applies the sandhi rule and because of that aw is substituted by aw. So you have veda plus adhi aw and finally we get the compound output in the form of veda vihaya. This is an example of the prapya karma. Similarly one who clears the discussion is called charcha para. Same procedure is adopted and the finally derived compound output is charcha para. The tradition has also seen that the compound has not taken place in the following examples which is otherwise stated and available. Ramam gacchali for example adityam paschati or himabantam shranoti. In these cases at least there is no compound that is found observed. To summarize the upapadat purusha samasa is one of the most productive types of compounds in Sanskrit. It is an exception to the by default derivation process of compounding. It also involves the semantic relations with the action denoted by the verbal root. The suffix in the compound denotes the sense of agent. The compound thus generated can become a qualifier of anything. For its qualification to be a restricted domain, special conditions will come into being in the sutras. These are the texts referred to. Thank you very much.


I'm with Brian and Jamie Johnson from Frankfurt South Dakota and we're just here to talk about your lands and what you have here. We've spent a little bit of time in the field looking at some of the things that they've been doing and it's been pretty impressive. I'd like you to tell us a little bit about what your system looks like and how you're integrating everything in to that system. Well in several decades ago there used to be a lot of small grain in this part of the state and in this county and then as time went along we wasn't as profitable and this became more of a corn and soybean area. I think kind of continues with the theme that the corn belt moved west in a way so we can produce some great corn and soybean around here but then you don't have the diversity in your crop rotation that I think we're seeing the benefits of now and so we've been trying to bring back as much wheat as possible on the fields that require that more diversity in our operation and so instead of just corn and beans we've got some spring wheat corn and bean rotation. We grow some oats and occasionally some barley you know it just depends on what our feed needs are for our livestock as well and so by using the small grain we're able to really shine with our cover crop behind that rotation and because it can grow for two plus months in the fall after spring wheat harvest and so it's another avenue to add some diversity in our soil for our crops and it's now that we've also incorporated our livestock back into certain fields that are near the farm during the winter season it's a little bit more diversity there as well. The economics of farming have to work and that's where you know you still have to be able to pencil a profit. We've found that we can produce the yields for our wheat that can make it profitable and then by following with a cover crop our corn and our soybeans are more profitable the next year.


Ireland was number one in Europe for plastic waste in 2017, according to Eurostat figures. Each person produced 61 kilograms of waste per year. DCU have started a petition to eliminate the use and sale of single-use plastics on DCU campuses. This includes coffee cups, cutlery, bottles, straws and bags. There's two Euro-reusable cups on campus. Environmental lecturer in DCU, Kieran Fagan, said he is in favour of the reusable cups. We ask students if they think they are a good idea. I think people use them for a while and then kind of forget about them and kind of, I don't know. I think it's a really, really good idea. I think we really need to be more conscious of the environment in every little aspect of our daily lives because it all really adds up and especially when there's so many people on campus it really does add up big time. So I'd say if everybody gets on board with it and doesn't throw them all away every time they use them it could really be a really good initiative. Definitely, I'd be off for that. I'd just be afraid that I forget it and then I have to buy a new reusable cup, but it's great. It's definitely a good idea. I mean, with the amount of waste that we contribute every day of life anyway. There's nothing wrong with reusing a cup a couple of times.