And I want to welcome you to TechSoup Global Network, especially for those of you who are new here. At TechSoup, we believe technology like smartphones, internet connectivity, training and more have the power to serve our communities better. And today speakers with their tech for good app demos will give you a good taste of what this looks like in action. Here today we have Alucera. He's a corporate development director and audience. Edward James Bass, digital and social media insight strategist for more light limited. And Emily McCoy, the digital specialist at WWF International. Let's thank them for being here with us. So first up, let's welcome Carlos Sera, the corporate development director at audience. And audience, Carlos is responsible for managing partners at integration channels, ensuring seamless commercial expansion. Prior to audience, he was a director of finance and corporate development at fits.me, a virtual fitting room. He was also an investment baker at Strata Partners and co-founder of iPlane, Inc. In 2022, Carlos is named a pioneer in the social intelligence insider 50. And so let's welcome Carlos. Thanks, Felipe. Thanks for the introduction. Hi everyone, I'm not gonna do a pitch up for the audience. So no worries, but just so you know, audiences and audience intelligence platform powered by social data. When we say powered by social data rather than just looking at listening and analytics, what we are trying to do is trying to tell brands and agencies connect with audiences by having better segmentation and trying to put cultural insights at the center of the study, which means what we are gonna see. One thing that typically happens is when we talk about audience, they say this is just for big brands. However, just so you know, we work with a lot of small NGOs, a lot of small brands and agencies, and as well some bigger brands. So don't be afraid sometimes when you look at some of these platforms or we talk about social data that shields a bit, it's difficult. What we are gonna see later with Edward and Emily is how brands can use social data and know what we are, what I'm gonna do is I wanted to leave you with one thought. It's the power of Twitter. Some of you might have or might not have already a good Twitter community and a good Twitter engagement. And that means that typically you're gonna think about Twitter as a channel. And that channel means do I spend more time in Instagram? Is my community on Instagram? Is my community on LinkedIn? And that's gonna be how you are gonna think about Twitter typically. And also because we don't have all the time in the world, we are NGOs, whether we are small or big, we don't have all the resources. Like I'd like to say we are not Coca-Cola and we don't have the budget of Coca-Cola to play around in marketing. However, Twitter is not just a channel. This is the most important lesson. Twitter's data is a compliant way for you to be able to research audiences, to understand how to connect with those audiences no matter what channel it is. Even to optimize how you plan your targeting in different networks, in your paid media. But if you chose, because you already have Twitter as a channel, because you know that the influential people are on Twitter, it's like LinkedIn. You might not spend all day in LinkedIn, but you still have a LinkedIn profile, don't you? This is the same with Twitter.  Even if you don't have your community on Twitter, maybe I have a 400,000 people strong army on Instagram, still I have a Twitter profile. And that means that I still get to play as an NGO, how to identify those people, how to go and acquire them and think about it. When we finish the next two slides, we'll think Twitter is the most powerful influencer marketing platform in the world. Big statement. Let's see if that's true. So if we want to be efficient, because we don't have time and we want to be efficient because we don't have the budget, then we should look at the world the following way. There are three types of communities. They are the creators that are creating the original content. So let's say the Justin Bevers of the world, the JLoves in the B2C world. Then there are the people amplifying that content. These are still influential. They are amplifiers. They are people that actually also create their own content. At the end of the day, more importantly, here it looks like they are the same size. However, 90% of the people in the world, they are just spectators. They are the mass. However, those are the people, typically we want to reach out to, right? So we are gonna talk to everyone. And as a brand or as an NGO, we are gonna talk to everyone and we care about everyone. Actually, the people we care about are the masses. However, the most efficient way for us to get to them is to do influence marketing. I'm not saying influencer marketing. I'm saying influence marketing. How do I actually identify and how do I actually going an efficient way quickly to all of these people to amplify my message to the masses? So that's why, particularly with Twitter, there is a very interesting way to be able to target them, which is creating lists, custom audiences or tailored audiences. They used to be called of these influencers and targeting them. So here at audience, part of what we do, we actually used our own tool to create lists of influential people that we outreach directly. This would be how it would look like a campaign plan for us. And in this case, I tried to cater it more to the NGO world. So I took the Olympics, the IOC. So if you've thought about the IOC, trying to jump on the hashtag, choose to challenge, they had a massive, there were what 320,000 people participating in that hashtag. And they have their followers that are good for them, they have millions of them. So there is an overlap there. That overlap would mean that it will to acquire the rest of the people, which is 336,000 individuals, users. So think about how do I go about that with paid media, for example, am I gonna pay, let's say $1, 336,000 in trying to get all of those? There is a more clever way, right? So I actually go, I use Twitter's data. Through audience, you can segment the communities who knows who, then you actually see who influences them. And that way you end up with curated lists or creators and amplifiers. So now we are down to 25,000. 25,000 people, don't be discouraged. Actually, some of them, they are already following you. They are already part of your community. So you can do a one-to-one engagement with them. You can DM them. Maybe you even know their email address. You can actually email them. So to those people, you might do a one-to-one interaction. And then for the rest of the people, you use the superpower of Twitter. You create a custom audience, a Taylor audience, or the other 25,000. And you just run one campaign. And with that, you are able to jump on the hashtag. How? Some of these people, they are not even in topic. However, they are influencers. They are influential to the overall audience. Great. So now a couple of clicks allows me to create a curated list and target it with Twitter ads. Asking them, please, we know that you are influential. Please expand, retweet this. We need your help. So you see how I'm already changing the creative for them to be more reactive? That way, I'm efficient. I'm using Twitter for what it is and what's actually powerful. It's already telling me as well, the biggest journalist to go at, the biggest influencers. I have two case studies for you. One in England. Thinking of Oscar is a small NGO. Actually, someone from IBM, he created for his son. And he was creating a cycling competition in the north of England. He created one of these campaigns. He invested something like 200 pounds. He even got some of the Olympian cyclists to retweet the message and get more funds over to the north of England in York. 200 pounds. And he had what? Olympians to retweet that without paying them money for that? That's what I call influence marketing. Without DR, it's cheaper. And the second case study is a smash in California that they used it for a one-to-one engagement. In this case, to ask people, not only knew who resonated with them in different segments, they went one-to-one to ask, please retweet this message. We need your help for this fundraising. And they ended up getting over the target they had. So I know sometimes we don't think about Twitter as data.  But that's what Twitter is for. And then it's a channel where it has the best capabilities for influencer marketing and paid campaigns to those people. So that's it. That's for me. Hopefully that was useful. And now I'm gonna take it to Emily and Edward, who, by the way, they will give you even more practical examples on some of these methodologies. I just gave you a little frame. All right, great. Thank you, Carlos. Very interesting stuff. We'll have information here that's very useful for folks. So up next is Edward James Bass. Let's welcome him. Edward has highly experienced digital and social media insight strategies with expertise in audience intelligence, social listening, and digital content and media strategy. Having worked with the world's leading brands over the past decade and these days his main focus is projects relating to sustainability, environment, electrical mobility, social good, and diversity. Using audience and Pulsar to understand the sustainability language of B-Corporations, his presentation will demonstrate how Edward used audience and Pulsar to identify the B-Corps who are most active on social media and understand which environmental and sustainability related topics they talk about the most in their corporate communications. So welcome. Thank you very much. Before I start, if any of this is of interest to you, there's an article which is of the same topic as this talk, which I'll share in the chat now. But if you've got any questions about anything that I have to say, I'm more than happy to answer those in the Q&A afterwards. Yes, as just mentioned, I am the founder of Insight Consultancy and I focused about 50% of my time at the moment with NGOs, sustainability focused brands. I've been using audience for about, I think five or six years now. And more recently I've been starting to use Pulsar, which is the kind of a social listening platform it's partnered with. And I'll talk about a little bit here as well. So some pretty good recent experience of using this kind of audience insight and social listening technology to help NGOs and sustainability focused brands really develop their strategies for communications, for media targeting, marketing. As mentioned, I'll be looking at B-Corps today. Now, B-Corps, as some of you may be aware, are there effectively businesses which have been accredited by the B-Corps operation as being focused or starting or already prioritizing their activity to focus on sustainability and environmental projects and social goods as well. Ultimately, these are companies who have been accredited for acting and focusing on those areas. What I'm going to be doing here just briefly is showing how audience can be used to understand how this audience breaks down into individual segments. The media that influences them, which is obviously very important if you're looking to develop a BR strategy and also the public figures which influence them as well. And that's really focusing as audiences very well on the aspect which say is finding out about who they are. If you want to learn more about who these organizations are, how they behave, then audience especially is fantastic for that. I'm then going to be moving over to Pulsar which integrates incredibly well really a touch of a button with audience. And using that, I'm going to demonstrate how you can take that same B-Corps audience and actually understand what it is they're talking about. So specifically what climate issues are they talking about and how the conversation around these has changed over time. Okay, so first up, if you look in the top left-hand corner, this is how I, this is actually, these are all screenshots from the platform. Top left-hand corner is how I've used audience to identify the B-Corps that I want to analyze. So B-Corporations, having that accreditation is something that they do tend to speak about very openly. And so the likelihood is, in fact, I'd say almost completely, B-Corporations are going to have B-Corps hashtag or mentioned there are B-Corps in their Twitter profile. And audience is fantastic at being able to search Twitter profiles and build audience groups from those. This is a relatively easy one in my line of work, to be honest. You've got a audience that's self-identifying around the topic or category that you want to understand, fantastic. So to lower down the screen, you'll see that there's a segmentation cluster. There's these kind of colored clusters of different named groups. This is part of the process that audience actually does automatically, which is to be able to look at the segmented audience, the B-Corp audience in this particular incident and break these down into kind of naturally segmented audiences. That is so useful in terms of actually understanding who these organizations or who these kind of broader group sites are really useful. I've then used audience to give them a little bit of labeling as well so we can understand exactly what makes them unique. With some organizations there, they're identifying themselves as being transformation focused. Your brothers and folks, you know, describing themselves as being purpose-driven. You've got ones which are identifying as being award winners. So that's really useful. And actually what's also fantastic with audiences is that each of these segments can be analyzed individually and also compared to each other and also other audiences and audience, the global audience and national audience, the gender audience. That's really, that kind of ability to be able to index against other audience groups is incredibly useful. Probably my favorite feature. Carlos was talking earlier about being able to generate lists from audience. That's lists of kind of influential accounts or just general accounts who were following a particular topic. What it's also fantastic at a bit is being able to identify lists of the media that the audience has an affinity with is influenced by. So unsurprisingly really, the B-Corp audience that we're looking at here, the Guardian, which if you're not aware of it, is kind of a center left-leaning, very kind of pro-sustainability and environmental action, broadsheet newspaper here in the U... That's top of the list or their environmental section is and their actual main is certain list. Huffington Post, which I'm sure you'll be more familiar with, their green section is also very high, National Geographic, Fast Company as well and their impact channels. So media that's very much reflective of kind of environmental action and sustainability is popping up there. This is really useful if you need to develop a PR and common strategy, if you need to think about the publications that you want to be reaching out to or partnering with. If you want to identify potential influences to work with, we're looking at a very top level here with Barack and Michelle Obama, Mike Bloomberg, Adelaide Lama, obviously that might be out of some people's reach, but you can filter down to much, much more kind of smaller impact and smaller reach influences as well. So it's not just focused on the kind of big players, you can get the very particular by nation, by audience size, by category as well. Okay, so here I've actually taken the audience from audience, so the B Corp companies that we've been analyzing. Now we've learned about who they are and the different segmentations they have. We can also learn about demographics and interests as well. I've moved those onto Pulsar, which is a social listening platform which integrates incredibly well with audience. And what we've done here is starting to look at how these B corporations talk about sustainability and environments, climate change over time. We can see for instance that during Earth Week of last year, sustainability saw a huge amount of resonance. Conversely, business saw a larger share of resonance during COP26. This kind of insight is really useful for organizations that want to anticipate trends and respond to them. So if you're looking to develop a strategy that's based around particular events in the yearly calendar, this kind of social listening is really powerful means of doing that. This is just some examples showing the kind of granularity that you can get down to. Obviously it's great to be able to see the sort of shape of the conversation and graph that, but social media data is made up or posts on social media. So what we're able to do here is drill down into the actual conversation. In this case, I'm actually looking at the Earth Day conversation and understand what it is these B-Cups are actually saying specifically. What's really clear is that during Earth Day the B-Cups are using this particular event and successfully, I might say in some cases to kind of amplify messaging about the activity that they're doing. So what they're actually focusing on in terms of sustainability. Yeah, useful to understand that's something that NGOs can actually, sorry, NGOs and sustainability focused organizations actually can do. It's a useful insight to understand what resonates. We can also look at the hashtags that are seeing most prevalence and that kind of thing as well. This kind of thing can be done in real time. It can also be done with historical data as well if you wanna look backwards. Okay, so this is just a final slide really. One of the things that's really useful is being able to break down the conversation and understand the sentiment that's coming out of it. So what we're looking at here is how positive or negative the sentiment is that's coming from these B-Cups when they're talking about sustainability and social good. So one thing that's quite interesting, I find quite interesting, is the majority of the conversation that you're seeing here is actually very positive. This kind of green that you're seeing is some kind of peaks around particular events such as COP and Earth Day here as well. Much of the conversation is actually very positive despite the fact that obviously a lot of the natural sentiment that you might see on social media around climate change and sustainability is often quite negative given the risks of climate crisis. So what this tells us, and this is reflected a little bit on the last slide as well, is a lot of the communications that come out from B-Cups, they are positively focusing on the steps that they're taking around sustainability and climate and less directly engaged about the risks, et cetera, which quite frankly is understandable because they are, it's a company account and they're going to be wanting to be posting more positive rather than negative messages. And that is really everything I have to share with you today. As I mentioned, the blog post, which I've shared in the chat, I can share again now, that goes into a little bit more detail as well if you're interested, but if you've got any questions, just feel free to fire them at me at the end of the call. Me, thank you, Edward. Great stuff, very insightful and strategic to say the least. So thank you for that presentation. Next is Emily McCoy, who is the digital specialist at WWF International at WWF Emily Works to advocate nature positive world through specifically tailored communications online, passionate supporter of standard development and the environment. She previously worked for the Fair Trade Foundation and the Soil Association, communicating to wide-ranging audiences from farmers to consumers to governments across the range of platforms and media. And her presentation, but using the lists of target MC, building audiences based on niche interests to advocate for a nature positive future. Welcome. Thanks, Shilidhi, for that great introduction. I don't need to introduce myself to her now. So I'll just dive straight into the presentation. So I'm going to talk to you as you can see about how we tailor or are targeting on social media and how we build a really niche audience. So everyone's heard of WWF. We're probably one of the most recognized NGOs in the world, if not the most recognized or one of the most social media followers, I have looked that up. And we have amazing brand recognition. I'm sure you recognize it. And this is built through a network of supporters, which is my million at the latest count. And with this branding, so we've worked hard to build the brand, but it's coupled with campaigns to build supporter numbers. And in the past, this has been traditionally focused around protecting endangered species. You can see the circle on the right with the dolphin as one of the campaigns run by WWF around the world. But of course we do a lot more. So I'll go into that, please. Next section. So my area of work is operating against this background, really strong brand recognition. And because we've built up such a big public awareness, we've got the space to operate in more niche areas and it allows us to influence policy and vision making at global and national. And so many charities, I wasn't sure many on the school know, have this kind of dual approach to campaigning on one hand raising public awareness and on the other advocating for change at political level. Although I do need to know that we are a non-partisan organization, of course. So I'm going to talk a bit more about how we target these people, because my area of work as I've said is specifically in the policy and advocacy side. So I'm going to talk about how we target these people and the value of the traditional comms channels that everyone will be aware of. As Philippe mentioned in my introduction, our big focus this year is Nature Positive by 2030. You can see my logo in my picture somewhere in my background. And the focus for this is on the POST 2020 Global Biodiversity Framework. And this is a plan for nature that will aid the foundations for the next 10 years or next eight years now. We've missed a couple of years with COVID and we hope this plan is going to reverse by a diversity loss for a future that is nature positive. So this Nature Positive mission, well, WWF believes that a Nature Positive mission is essential to achieving this. I would encourage everyone to look this up, because this is the main area of my work and I'm very passionate about it if you're interested. But now we're talking to my audiences. Again, this is the mission statement that we're pushing. So just for a bit more info if you want. And the meetings are actually taking place now in Geneva. So last week, this week, and next week. And the final Global Biodiversity Framework will be agreed later this year. So who exactly are these people? What and how are we going to target them? I would really like to know if anyone here recognises these people. I haven't put their names on the side. Please drop in the chat if you do. But I'm presuming people won't recognise these people. So we have from left to right, Elizabeth Marema. And she is the Executive Secretary of the Convention on Biological Diversity. And he is the Co-Chair for the Convention on Biological Diversity's Open-Ended Working Group. And Inga Anderson, who is the Executive Director of the United Nations Environment. And as you might tell from their titles, they are key players in instigating this global plan for nature that we're focusing on. So in a way, these are all influences. These are all celebs of the policy nature world. So these are the people that we want to influence. So you're probably asking at this point how does digital media fit into my area of work is again, I'm focusing on the digital side. Like many organisations and like pretty much everyone in the world, we use the same platforms that everyone will use to contact the people who we want to contact. But for this specific kind of targeting, looking at the people from the previous slide and the rest of some similar audiences that they would be include, we pretty much use just Twitter. Obviously, WWF operates across all channels. But for the messages we want to get across, these are the channels that we're focusing on. That we're focusing on. And that's because the people we want to target are on those channels. And just to add, we do have our own specific advocacy channel, which is at NatureDeal on Twitter. So please feel free to look at that if you want some more info. I'm going to drill down into our strategy a little bit. I'm not going to go into too much detail on this quite complicated infographic, but just point out that our influences fit somewhere in the middle of the triangle. So that's some influences that are relevant to our... And usually you'll find most accounts that have a lot of people... Most accounts have a lot of people with few followers. So if we look at a Twitter account, for example, or a social media account, you'll find a lot of them will be in... A lot of their followers are in the bottom where I've actually turned the triangle upside down, which doesn't make it very easy for me to explain this infographic. You'll find the most their followers are in the bottom, which means they have few followers and not so many of the high-reaching influences, which are those with a lot of followers. And one way to get more of the higher-reaching influences is to target those with fewer followers. So eventually you build up your follower numbers and then the higher-reachers, the celebs, will follow you then. However, we have quite a different audience. We're after quite a niche audience and this is potentially quite a little bit more tricky, although in principle a lot of the same. And another disclaimer, I won't be talking about audience, although we have got our last Edward on the line. So apologies if I repeat anything, but I think it's a slightly different... Hopefully it will be of use to you all. We use audience to work out what our target audience is interested in. Edward did a really good summary of how we can do that. And we look at who they're following and how we can engage with them, how we can get them to follow us and how subsequently, how we can get them to engage with our key messages, for example, nature-positive. So in summary, it's a focus on content and engagement, that there's lots of tools we use to back up this overall strategy. And if we look a little bit more into our audience, so you might recognise the style here, this is directly from our audience, our platform, audience with an S. It's quite tricky talking about our audience versus Indians, I'm going to try and balance that out. And we're pretty happy with our profile of our qualitative followers. As you can see on the word, on the right-hand side, nature and climate stand out as key topics. So this is a good sign that our strategy is working. And the quality of our followers matches up with what we're talking about. Again, so content is king. Yes, I'm sure you've heard that before, but what we use audience, that we use the audience connect feature and work out what kind of content people will engage in. And this is us looking at other types of things our audience is engaging in, working out matching it with the stuff we're putting out to our followers. And the other big benefit of audience is that we use it for building lists and similar audiences. I know Carlos mentioned this in his previous talk. So we spent a lot of time curating lists of the specific negotiators and the specific politic figures we want to influence. And then we use this and we link this with our Twitter ads platform. And you can do something similar with Twitter ads, but it makes it a bit more streamlined, a bit easier just to make sure we're talking to the very specific people that we're after. So in summary, our strategy is to what? Work out who we have following us. And when I started this wrong, we did a full social media audit of the followers we already had. And that's where that was the upside down triangle I showed you came from. Second, we want to increase the content that work. So this is possible through looking at things like the word cloud that I showed previously. So we can see what kind of topics our audience is interested in. We want to maximize partnerships. So we actually work in partnership with a lot of other NGOs. And this helps increase the air time for the projects and advocacy work. So basically if what we're advocating for is back by other NGOs as well, we can promote it across many channels and many accounts, not just WWF. So for these kind of global policy change campaigns, that's really important. And I'll talk about that in the next slide a little bit more. And finally, number four, more on content really. And this is the area we are pushing for continually. This is the area we're stumped with providing enough content in. More content is always good in my opinion. So we would like to do more commenting on current affairs, quick responses, experts, people to share their opinions. And we find all of this sort of stuff our audience responds very well to. So to bring it back to the example I used, nature positive, hashtag nature positive. This graph shows how much this hashtag has grown in the last two years. And this is from the strategy that we put in place. Again, we've worked with partners as I mentioned, but it's also shows that we've done really neat targeting of the people we want to reach and honing in on these individuals. And we also use things like follow a lookalike, hashtag engagement and all of the tools on the tricks of the trip really. This is a nice positive story for us to finish with or for me to finish with. And it's not through just advertising. And this is obviously integrated across all media. I work closely with colleagues on press and PR and events like the United Nations General Assembly, which takes place in September. So if you look really closely, you can see a big peak around these events. And also the launch of the Leaders' Edge for Nature, which coordinated lots of different countries around the world to endorse a pledge for nature. Again, this is all backing up the same kind of ideas and the same campaign. So it has a cumulative effect as well as this very targeted digital approach. And I've been banging on about it enough, but here is some of the content that we've been creating and putting out over the last years, couple years. And thank you very much. That's all from me. I'm looking forward to hearing any questions. Thank you, Emily. Great presentation. So let's thank all of our presenters before we jump into our Q&A. So thank you, Emily. Thank you, Edward. Thank you, Carlos. Reminder that we'll be sharing the replay for today's event, the slides, any likes shared and an email within a couple of days. And now it's time to jump over to the Q&A. So let me stop sharing the screen here. Yeah, let's see here. Let's see. We have a question here. And we wish something were answered. Let's go to the open one first. Okay, let's see. Actually, I'm from Washington. Had a question that I thought was interesting. I answered that. But Anne was saying, I found that these influenced groups are very volatile. Once they're outside their group think or any other topic that may come within their ongoing purview and their old jam sheep. In terms of following, isn't that a very unstable base? And that could be either for Edward or Emily. I'm happy to answer on this first. And if you want to add afterwards, Edward, mainly because I have some experience of working with different types of influences and one type is quite volatile, yes. So it depends who you're targeting and why you're targeting them. I think in general, if you want, and I know it was an example raised earlier in the webinar, which was the example class used to grab a cyclist and all the Olympians retweeting his comments on his challenge. And I think the key is to get something that they actually genuinely care about. And then they will, of course, be happy to share your campaigns because it's close to their heart. So that requires research and understanding of who they are as a person, as well as what their motives are. So that's where you get the kind of the non-paid for promotion to influencers. But yeah, it's very challenging and lots of organisations have a specific person who will work with influencers. I hope that's helped a little bit. Yeah, just to add to that, that's a great answer. I think it probably is worth beyond just generating a list any time that you can spend exploring what that audience is also talking about as well is really helpful. So that you're getting integrating social listening a little bit sometimes can help you just get a bit more of a steer in terms of what their passions are and where the sort of red lines might be as well. So yeah, it's worth kind of digging into to the audience groups and their online conversations just to make sure that you've got not just the right audience, but you're responding to them in a way which kind of reflects the way that they already behave. Yeah, that's a very interesting one. Edward, because what you're incorporating there is if you have a hundred people, you want them to retweet you in the future. It's not whether you outreach when you need them or you try to send them some emails from time to time. Social data is the only place where you can listen to every conversation those hundred people are posting and you can analyze it. The hashtags that they are using, you can analyze what topics they are using, but as well, if you are just on your community management tool, like a hood suite and you're monitoring their conversations, it helps you as well to jump on the conversations any time that it's relevant. So something I do is I have 50 people I really want to interact with and I have older tweets jumping on my screen as they happen. And it's a lot of noise, but the reality is that stream provides me two or three opportunities to engage every day and to understand what they are actually talking about, what's the sense, what's trending. So when I was thinking about the masses, think, forget about the mass. Think about these audience of influencers as the audience. And I always say it's like goals.  The small bowl, those influencers, understand them, nurture them, think what and then jump on them. But it's not just I have a list of 50 people and I shoot them to read with a particular content because that actually can be very successful if you are a WF, but if you are think of Oscar, they don't care sometimes, right? It's more difficult and that's also part of the problem with NGOs. Sometimes it's not an NGO that anyone knows or it's not as well known and they feel that they are fighting there for attention, it's difficult without the budget. You've mentioned something else there actually that sprints tonight. Is that what you're talking about that when you're following them in real time, a little bit like if you're analyzing their social conversations historically, I find that really humanizes the audience. So I think digital marketing people especially fall into the trap of starting to treat lists and statistics. Like we get that it's actually human beings, it's not robots or computers, it's genuine human beings and that it's amazing how much from my experience working in marketing agencies back in the day, it's amazing how much that gets forgotten about and I really, I think getting into the conversation, learning as much about those human beings as possible and as human beings and not a set of statistics is tantamount to effective strategies. And I really love how that kind of technology helps do that. Really great. Thank you for that great conversation there, back and forth. I have a question here from Andrew. Do you have any criteria to suggest as a minimum for an audience for deriving insights? By that I should there be a minimum number of Twitter accounts being examined. Does diversity of location and or entity versus person help with insights? Yeah, I'm gonna take that one very quickly. So without trying to compete with market research where you will have to actually get some of that, when we are looking at influencers as an audience and to nurture them, there is no minimum number. If you're actually looking at a particular audience profile to try to derive insights, that's a great question. So I'm gonna give you the following. If I analyze the followers of WWF in Iceland, okay? There might be people who are interested because of one particular subject or the other. It's just gonna give you a profile, right? Let's say there is 10,000, 50,000 people following them. There might not be the diversity that you are requiring for a proper market research of Iceland as a country or the topic as such. However, it is true that through the segmentation and now I segment their audience and I find there is a group of journalists, there is a group of people interested in nature, there is a group of NGOs and activists. And I look at each of those audiences. What am I looking at? Am I trying? Why am I doing that? That's what we need to realize. See that I'm going after the demographics to build the type of persona that we used to do for marketing organizations in the past or I'm gonna touch this, for example, for D.PR and I want to find sources of influence. If it's the latter, then on that, now you have for NGOs and activists what are the sources of influence? For the journalists, what are the sources of influence? And that's actually a statistic and for most of the times, in order for me to understand people working in WWF now as a whole, I don't need everyone and a representation between even genders. What I need is maybe 25, 40 people across the whole organization to understand their sources of influence. That's part of it. Sometimes also we need to work also with the data that we get but that also gives you an idea. Sometimes the smallest segments or just because it has not many people if the purpose is something like D.PR doesn't really matter. It's actually quite more than in a hundred is the minimum that you can create a report with audience. That's a different question, Andrew. Great, thank you for that. There's another question. Does audience only work with Twitter or with other social media platforms as well? That's a great question. Sorry, Ed and Emily on that. Great, did I say that Twitter has two superpowers at least and one of them is data? So everyone in the world, you might think that actually all the networks they are open and you can't get it. It's not true. You would say, no, a tool that actually you can do something on TikTok. Probably here is two things. One is compliant data. That would mean that a lot of platforms that they are giving you analytics, they are scraping data. If it's not an active platform, it's fine to use it. It's just how you want to use it. We need to be careful sometimes what we use. Still that's data. But all of that data, that typically is analytics of followers of WWF, for example, sorry, I'm picking up on you and that. That would mean account intelligence. That would mean who is the average person following this account. And it doesn't give you that level of granularity. What you're trying to work is audiences, which is a bit different to just people following a particular account. I want to see potential groups of supporters if there is another question for a library somewhere in the US, then you are gonna have to work harder than just people following a particular account. So Twitter is the only place where you can really do market research for audiences. It's different, but there are a lot of tools. Emily, I'm sure that you use some tools for Instagram and LinkedIn particularly, right? To find sources of influence and demographics. Yeah, yeah. We actually use a selection of different monitoring and social listening tools. I'm not entirely sure why. They don't all necessarily work together. But like you're saying, there's no data for each platform on one, they're not always in the same place. It can be site. Yeah, if Facebook disappears, marketers will find the next channel. If Twitter disappears, we as a community will be screwed up because there is no substitute today for Twitter data to perform marketing and market research. There is none. You might think that some of the tools that you used, they are more than Twitter data. And maybe they are not even just Twitter data and you're confused. You don't know how deep the rabbit hole goes with Twitter data. It's crazy. It's crazy. I hope as a market, there are market research that will never happen. Great, thank you for that. Another question here. Can you explain what a B-Corporation is? Yeah. Yeah, I thought I'd covered that on the may have been talking to you quickly. Yeah, B-Corporations are, which I believe comes from, I think benefit corporation was the original term for it. They are organizations which have been accredited for focusing on social good and sustainability. So they have been given a specific accreditation for that work. And I think every three years have to demonstrate that they are carrying out those actions as well. It's something I'd recommend any business really do, should be doing, especially given the very clear impact of climate change that we're seeing now. It's very important that businesses do that. And I think from sort of tapping into my experience with brand marketing, I think it helps the organization, it helps the planet. It also helps organizations, businesses, give themselves an identity and give themselves a kind of a direction and a North Star above and beyond just making money, which I think is probably, I'd like to think it's going to be something, like an organization that is purely there for shareholder value or generating profit is hopefully going to be something we see the end of, hopefully the end of the 21st century. Who knows? I'd hope so, I'd expect. So it's a great, in a sense, it's great to have an organization that's managing that accreditation as well. Long answer. Sorry. Great, thank you. Just going to follow up with that. So organizations that have a triple bottom line, people, planet, profits be considered, maybe not officially, but the way they be considered is a B Corp. Yeah, I mean, they have to go for accreditation in order to get that kind of stamp of being obese. Not something you can just play. You need to actually get it through a process of explaining and detailing the actions, which I believe is actually quite in-depth as well. So it's not like any organization can just suddenly start claiming that they're a B Corp. They have to be accredited for that. Got it, okay. Thank you. Another question here. Can you separate our hashtag mentions posted by your own accounts and others? It was answered already, but just other people. Anybody want to handle that one? Yeah, so you can do both. If you go to Hootsuite, if you are using Hootsuite on your monitoring feed, you can actually split comments that they are not being posted by a particular account. So I couldn't do it. Serita 22, it's me. So anyone who talks about Serita, mentions Serita 22 in the tweet, but does not actually come from Serita 22. So that will be one way. The other one for analytics will be that when Emily was showing that chart, she should have excluded any posts being posted by WWF themselves. And that way she will actually have taken her own post and just focus on her media. That is a very good point. I did not do that, but I also wanted to show that it had grown. So there was a reason. Yeah, and you can work on that slide. If you apply on top what Edward was saying of listening to influencers, they would be interesting because you will overlay your posts and their media of your posts and the post of the group of influencers and their media. And together, both those, you will actually see some sparkles potentially coming out and it will rebase how that engagement has been working over time. I love how Emily, you touch base on something because you see how that goes up and down. I'm sure there is correlation with when content is being posted. The way that you see influencer marketing being a digital function is it's actually, can I find as many partners as possible to get the biggest amplification where you work one by, and that's a very mature way because sometimes that's the biggest organic way of distribution today is doing partnerships on newsletters and publications. It's not just posting on social media. Is that what you meant by working with them like deeper than just pure posts? Yeah, exactly. So we touched on, we have quite an integrated comms campaign across different to PR, media and campaigns and advocacy. And the advocacy very much works with and that's why I started my presentation with these three hopefully unknown figures. So we work with, for example, Birdlife or the Nature Conservancy and they support this nature positive mission as well. So if, and then we have events or sort of news hooks that we would focus all of the activity around and this way we can really, we can both get people behind the campaign and we can also drive engagement on social or online. Interesting. So a tactic that even audience could apply today is that you work with Birdlife. So what you can do is now you can take followers of Birdlife that are not following WF, create a list with that and either you can engage with them or you can advertise to them. It's as simple as that. So if you know accounts that their followers should be following you, you can create those custom lists and you can advertise to them. That's different. I remember that you said something in your sentence. That's different to what Twitter ads does natively which is called handle targeting. So when you input handle targeting and you put Birdlife, what Twitter does is it takes followers of Birdlife, maps their characteristics and advertises to people like Birdlife followers no matter whether they follow Birdlife or they don't. So if I have a partnership with Birdlife, I could create a custom audience of those who are not already in my community to even be more efficient with my budget and I can advertise to only those followers with content about WWF and Birdlife. Coming back to, how do I actually even give more amplification next month after I Birdlife published it in the newsletter? Well, take that same content redistributed with Twitter ads to those people who did not already engage with you and that's why you are giving more bucks for the same partnership. Okay, great. Thank you so much. So what I wanted to thank our three presenters today, Emily McCoy, Edward James Bass and Carlos. This has been a great presentation. Hope you learned a lot.


Hi, everybody. My name is David. I work at META with BPF folks and on the scheduler. And I want to talk about multi-K func sets, which is a horrible name for what's essentially scoping specific K funcs to only be called from specific struct ops callbacks. So here's the agenda. I'm going to try to speed run this a little bit to get us a little back on track. To give a little background, struct ops are a way for BPF programs to implement callbacks that can be invoked from the kernel to implement certain functionality in the kernel. So we have, for example, HID BPF, which we've spoken about uses this TCP congestion control. And then for SCETI XT, which is the BPF scheduler that we've all been talking about, the BPF program implements callbacks that are invoked from the core scheduler. For example, in queuing a task and the scheduler and stuff like that. Just like the kernel can call into struct ops, struct ops can call back into the main kernel using K funcs. On the prior slide, we had this example in queue program right here, which is, again, the in queue callback. Well, that can call K funcs. The example that I gave here is an RCU lock. Sorry if the text is kind of small. But the point is you can call back into the main kernel using K funcs from struct ops callbacks. So what's the feature? Basically, it's that K funcs aren't safe to call in every context. So right now, we specify, when you register K funcs, you can specify what program type those K funcs can be invoked from. So you can scope K funcs to only be invoked from struct ops programs. But you can't specify exactly which callbacks you care about. So for example, for SCETI XT, we have this SCX BPF dispatch. Can you can you see this or is this too small? It's good. Okay. We have this SCX BPF dispatch K func. And I won't go into all the details about what that does now. We'll talk about that in the SCETI XT presentation on Wednesday. But basically that's you taking a task that was in queue to the BPF scheduler and putting it onto a dispatch queue or putting it right onto a CPU. And so obviously, from certain callbacks that would make no sense. If a task was waking up, there's this ops.select CPU callback instruct ops where you decide which run queue or which CPU it should be migrated to before it's in queue. And it can actually be unsafe to call certain K funcs because maybe the kernel is going to set some state call the the struct ops callback and expect that state to be set if it gets called back into from BPF. And then lastly, it gets kind of complicated because K funcs can nest. So you can you can have a struct ops callback get invoked by the kernel. And then you invoke another another K func, which itself calls a struct ops callback.  So there's a kind of delicate balance of of when you can call K funcs. You can deadlock yourself if you're not careful. You can have, you know, invalid memory also all sorts of things can happen. And so that's the request. We need to figure out a way to restrict K funcs to specific struct ops callbacks in specific contexts and more generally, if it ends up making sense to do that. We ideally could also maybe specify how K funcs can be nested. And it would be nice to be able to do that statically, because I think, you know, it really probably should be statically defined if if you can have a circular circular dependency, then you could potentially deadlock no matter what. And yeah, so let me just see here. Another nice feature, which isn't really as pressing, but would be would be nice is if you could have K funcs, which in different contexts in a BPF program actually called out to different functions in the main kernel. For example, I'll again talk about this when I talk about SCET EXT, but you can actually dispatch from different contexts. In one of the contexts, you can you can send a task to a different CPU. And in another context, you can only directly dispatch it to your own CPU. So it might give us a chance to simplify the kernel if we could we could specify, you know, which implementation should do what. And this is I think this is really important for struct ops and K funcs specifically because the kind of goal, the direction that we're going in for this at least use case for BPF is we want to allow developers elsewhere in the kernel that aren't, you know, core BPF developers to be able to integrate BPF into their subsystem and sort of gracefully extend use BPF to sort of implement different functionality instead of having to take you API dependencies or whatnot. And, you know, right now any K funcs they add you can call from your your own struct ops callback and it's totally unsafe. So I think it's kind of an important feature. Okay, so how do we do it? What ideas do I have? Okay, is that visible? I'm going to assume it is. In skedxt, we defined a set of a set of flags, which you statically specify when you in like a macro when you perform the K func. And in that macro we call some function in skedxt, which does a static check to decide if you're actually allowed to be calling it in that context.  This is the map. This is the mask of context where it's allowed to be invoked from. We record a mask when we do that the flags. And then if you call another K func later on and you know, you're invalid doing an invalid nest or something like that, we'll do a warrant a warrant so that we can figure it out. And so obviously the implication here is this is all static. And we should never we should never hit this warning if we're doing things correctly. And this is an example of Yeah, this is the where we check whether it's allowed or not. We have this mask here, which is again, corresponds to one of these. And yeah, you know, that's the basic idea. So this is just how we did it to be able to unblock skedxt from, you know, from being dependent on this feature, because again, it would be unsafe to use otherwise. But we can do other things, you know, when we when we generalize this to to BPF more broadly. Yeah, so we use a bit and global mass attract which K funcs can be invoked. And then in the K func again, just to be clear, that you would call this this KF allowed function and return rejected if you weren't allowed to be called from that context. So for SCX BPF dispatch number slots, if you're calling it from the wrong context, you will be able to make the K func call from the BPF program currently, but we'll reject it here and then we'll kick out the scheduler because it was doing something that shouldn't be doing. Okay, so this is I'm trying to remember one by this slide. Yeah, so when we specify, okay, I don't even remember, I'll look at this later. I'm sorry. So that's the basic that's the basic feature. Does anybody have any any thoughts or questions? This one in the back. Yeah, there's a patch set in a DT about the BPF salt destroy. So so one of the requirement that is only limited for only limit a K func to a particular expected attached type. So one of the patch that has a added filter light of call back during the verify to work. So what that filter does is it has it has a BPF program pointer. So you can try for why not only try for the expected attached type to that type, but potentially it could filter more things. But what you're suggesting here is more like runtime, putting it in the current task. Yeah, to track it in the runtime, which is which is certainly not preferable. Because yeah, I mean, this is it's all statically verifiable. So you should we should be able to do it. I think at that load time. That's some of the, let's say that block, right? I think you need you need to check whether like K fun a has been called before, before you allow it to call K fun a again, that will be something that need to be chatting runtime or in verify can also check that also. Yeah, yeah, that's true. Yeah, I mean, I don't know how we would do it at. I haven't thought really about how we would represent it such that we could be sure to verify nested contexts and whatnot in the verifier. For something like for callbacks, for example, that you would never expect to be invoked, or K funs, you would never expect to be invoked in like a non sleep in a sleepable context. Potentially, we could do some stuff like that.  So that boundary, I think it's probably not too bad. But, you know, even within the sleepable boundary, there's there's there's nesting rules, or rather, there's different contexts, I don't think you can nest for that. But there's different contexts, where certain K fun should be allowed and certain one shouldn't. But um, but yeah, I mean, having a I don't quite I'm not quite following the the explanation you gave about specifying the filters, because I haven't seen the code, but I'll take a look at it and see if we could if we could leverage that. Yeah, it's a good suggestion. Okay. All right. Thanks, everybody. Sorry, quick question. Is that is that online? No, it's back there.  But since we've been talking about btf tags a lot today, it just dawned on me that maybe btf tags could be used for this somehow. Because the struct ops definition, you can tag arbitrary functions there. arbitrary struct ops callbacks pointers there, and also tag the k funks with something similar. It's an interesting suggestion. I mean, I think you could you could use that to specify which specific callbacks you're allowed to be invoked from. But if we wanted to also have verification for like proper nesting and whatnot, I think yeah, I think that would have to be done at runtime. But maybe yeah, for for for just statically defining which which callbacks you can be invoked from. That's that's a possibility for sure. Honestly, I mean, I think we need something in the short term. It's not not critical, but but it's it's it will put a lot less burden on people implementing k funks if we have something like this that you don't have to you don't have to protect yourself and be correct. Okay, awesome. So the next one is is a pretty harebrained even more than more so than that one. It's it's kind of interesting. And it goes a little bit towards usability, which we were alluding to earlier. So the feature is called local storage user space mapping. And as you probably guessed, yeah, and it's it's this will be very complex and it needs a lot more thoughts and details. And so I wanted to talk about it in the room, because I wanted to get your thoughts and feedback on it. But it needs a lot more, you know, really thinking through all the implications and whatnot for this to work. But yeah, so we have maps, local storage maps, where if you have a kernel object, currently, I may be missing one, but currently, if you have a task struct, or you have a C group struct, you can define a map type, where you can implement storage for each of those types. So for example, in sketext, if you have a task struct that's passed to the in queue callback, you could have a task storage or a BPF map type task storage map, where you store something for that task. And then you can pass the task as a key, get back a pointer to some, some, some memory and then and then query or write to that memory. And so this is this is what the map would look like if we have like a bull, bullion will reinforce the the task to be local, meaning stay on the current CPU. And then we have a per task CPU mask, which specifies which CPUs we want the task to be able to run on. And we could get that by by querying it. And this is an example of how you can create create the the storage you can pass this this flag to BPF task storage get and then a pointer to the map and then it'll return a pointer to the to the storage if you're able to allocate it. And here's an example of it actually being used. Okay, yeah, great. So here we check if we on the left side there if we we can find an idle CPU for for the tasks to run on. We set force local and then later on on the right side in the queue callback. If that flag is set, then we just keep it on the current CPU. And we unset that the flag. So we have for next time. So it's a really it's a very useful API, especially for Sketty XT. It's been extremely useful. In terms of how it's implemented, I won't go into too much detail because I don't fully understand it. But the gist of it is that we have in the task struct and we have another one in the C group struct, we have this BPF local storage object. And in that object, we have a hash map where we cash, we cash the the local storage entries for the for that task. Otherwise, we have a list where we store all of them if it's not in the none of the cash because the idea is, if you have, you know, like, let's say, on the extreme case, you have like a thousand local storage entries because you have all these different maps for the task, you'd have a cash that you didn't have to do an O of n look up every time. And yeah, that's that's how it works. Don't need to look at the allocator. Okay, so the feature would be and then the last thing I should say which I didn't put in the presentation is that you can't access us from user space at all, at least as far as I understand. This is only for use in the kernel program directly. But that being said, a lot of people need this to access it from user space. So in at Google and Ghost, they use something, they define apparently this giant map type, this giant array, excuse me, map, which contains, you know, enough entries for every task on the system. And if they want to set some per task context from user space, they just index and do it by PID and set the set the context. We use something similar in Sketty XT and our kind of main scheduler, which you call Atropo, which is a load balancer and rust in user space. We set state in a hash map, essentially, which is indexed by PID. And then in kernel space, you do a lookup and that informs if you should load balance different CPUs and stuff like that. So the idea is, you know, there's ways around it. You can use, you can use array maps, you can use hash maps. What you really want is the map type that kernel space is using. So, yeah, you can use sadically sized maps, but it's wasteful. And I mean, the point of having these C group storage and task storage so that you don't have to, don't have to do this kind of thing. Yeah, so how would we do it though? I mean, it's a very, very difficult problem, I think, because, you know, we don't really have, as far as I know, like variable mappings in libbpf yet. And, you know, right now we're putting the storage directly in the task. So it would be an entirely different approach. The only way that I can think of for now is to have something like a local storage allocator, where for an instance, John, did you want to say something? Sure. I guess, did you mind if I interrupt your talk? No, okay, cool. Just one comment, I guess, about the size of the pre-allocated.  So like, I mean, if you have, so my point is I was really worried about the size of that map for a long time, it's actually not that big, right? Well, I mean, okay, yes, it depends on, context depends on context, right?  You know, if you want BPF to also be able to run on like VR devices and stuff like that, it might be less applicable. I agree though, I mean, it's not like you're taking up gigs in memory or anything like that.  Yeah, yeah, that's a good point though. And I think, yeah, for me, like the main thing is clearly this is something that would be useful to people, right? Like people are using it, we have per task storage in the kernel and we have per C group storage for a reason. And so it feels like if we can kind of connect those two, and somehow use it from user space, we would be addressing, we'd be addressing these use cases and kind of unifying the intention of the those local storage map types. But maybe it's not worth it because it's really complicated. I think you would have to have a local storage allocator where when you create a local storage entry in a map, we have an allocator that will allocate pages lazily and put these entries, you know, basically jam them onto these pages, which are then mapped from user space. I don't know how we, I don't think we would want to do any kind of like runtime remapping in libvpf, so I imagine that we would have to pre pre map some range of memory, make some of most of the pages unused and then as more entries are added, we would have to change the page table entries in a due TLB flush in order for user space to use them, and then otherwise they fault or we like zero map it or something like that. So can I, sorry, I don't know if you can, is the, is the root problem that you need a storage space that grows with the problem? Are you trying to build like a, like a, I guess I'm missing what the local part of that storage is. Is it just that you need a storage block that you can grow as time goes on or am I missing something? So the local part is, is that it's per task or per C group. So if you, so in this example, let's say that we did this out this harebrained allocator that I'm talking about. If you had 20 task local storage entries, that would be 20 entries across 20 different tasks and you would jam those onto the minimum number of pages that you need and that, that extent would be what was mapped from, from user space. And in order to do that, you would have to have some kind of IDR layer from user space because now you're not indexing, you're not just doing an index by the pit or you're not doing like an, you know, you're not just doing a lookup on the task. So you would need some integration with libvpf where you would be able to map a pitter or, you know, something to, to the offset into this mapping that corresponds to the local storage entry for, for that task. I mean, is the problem that you can't read the local task storage from user space then? You can't read it, yeah. I mean, this is what you're trying to solve. It's embedded inside the task, so you can't, yeah. I'm actually, one comment we can, you know, but, but, but you need a I'm not a task guy, but, but you, you need a pidfd, I don't know what it is, but, but you need a p, what they call pidfd to get to the, it's a, it's a regular map lookup, right? So task local storage is a, it's a map. So, so you say bpfmap lookup element, the key will be the pidfd. And you do that for every single task. Yeah. So that's the thing.  So for ghosts, they're actually, they're actually running the scheduler in user space for every task. So it's, I guess you're right. It is possible to map it from user space. I wasn't aware that you could do that. But a, we probably want to have writable entries from user space. So for, for the use case for ghosts and skedxt, that would be applicable. It is writable also. It is? Yeah. But how can you use a bpf iterator and for all this local storage, we already have sk local storage, you can get all the up to date information. And otherwise I would exceed consider and the task command to go, socket command to go, it will be really complicated to manage this in sync kernel. How would you, how would you do a writable mapping if you have like a k point or something? No, no, you don't, you, you don't do the writable mapping and you can just use an existing interface and do an update with FD, for example, the task FD and the PID FD and you should be able to write some information. Do you have to make a system call to do the right? Yeah. Okay, so yeah, I mean that's, so it's, it's not, it's not quite the same thing, right? It's, it's not like the same thing a little bit less, less performance and because memory map much faster, what I see just memory map seems more complex. Yeah, I know it's, see the second slide in the recent day, it's definitely complex. I mean it's, and it might not be worth doing, it's just the, the truth is that, there's a comment, comment back there. I'll say something while, oh you're good. The truth is that it's, it's not like it would never be okay for ghost or for atropode to be using like an iterator where you're making this call repeatedly or like doing something like that, I mean it would just never, it would never be usable in production I think with that kind of overhead. Okay, he said with, with iterators you can specify a parameter with an fd and just poke into that specific one. Okay, well I'll let you talk in the next slide. Is what you're suggesting implying that for every release of a task extract, for example, would you have to do a TLB suit down? Because like if you need to unmap the page, right, and whenever a task is released you would have to unmap a full page. So you would have to deal with, well so it wouldn't be one task per page, it would be multiple TLS entries per page. So you would need to do also a copy and write.  But if the task extract is freed, like you cannot keep it mapped, right? The task extract is not mapped, like so these entries are separate storage altogether, right? And yeah, so in the task extract, that's where we have the list head, but the actual storage is just allocated with a BPF mem alloc. How is it, this question? Then when a task dies, do you create a holes in your page? Yeah, we have to figure that out. So there's a, there's a few issues that I also didn't talk about, which is again the fragmentation. So you, we would eventually probably want to get rid of all the holes in the page and, and you know aggregate them. I don't know how you would synchronize with user space to do that. Andre? How frequently do you plan to access this task local storage? Very, very, very frequently. Like for ghosts, they're doing it literally for every in queue operation, like for multiple different scheduling operations. For a, for a SCETI XT, we do load balancing fairly infrequently, so it wouldn't be quite as important. It's like you can configure it, but every couple of seconds is when it's accessed. So it's not as bad. I mean, again, it's, it's doable in Martin as a comment. It's doable with a map type array. It's, it's fine. It's just this is another, like this is another example of multiple people kind of hacking around things, if you want to call it a hack with the same thing, Martin. So, so if I understand correctly, the use cases like once in a while, you will want to update the task local storage for every task in this, in this task local storage map. You do have to do iterate.  If like, if you're just doing it in queue for a specific task, you would just want to do like a read and then potentially write, you know, like which CPU should it be dispatched to or something like that. So it's, it's sort of both use cases. So if, if update often and it's more like a bachelor operation or maybe one comment would be like this, this socket map this local storage socket map iterator already. So it, it, it iterates, it run BP program to all the socket in this map. So maybe something similar could be done for the task local storage. Yeah. I mean, maybe it's a, it's hard to say. I mean, again, this is the scheduling path, right? So it's like, you're trying to get the scheduling decision done within like tens of microseconds at most. So having round trips to user, to, to user, between user space and kernel space could be problematic, but, but maybe not. It's, it's something worth exploring for sure. So, so if I understand correctly, the, the problem is that the interface for reading, to read and write is a syscall and that's too slow because you want to do stuff a lot from user space. That's right. Yeah. So why is not more of it in BPF, I guess? Like what's the thing that's preventing moving these parts that need a lot of like iterating or updating weights and stuff, why doesn't that exist in BPF where the overhead is a lot lower? That's a great question. So the reason that it doesn't exist in BPF for ghost is because ghost is, is specifically a user space scheduling framework. In general, so for SCET-EXE, for Atropo, the, the one that we were talking about, we do only load balancing in user space and you could do it in BPF, but the idea, we're trying to find like a layer where we push the really complex stuff out of BPF and into user space when it's not run quite as frequently. And then in, in BPF we do like the hot paths like in queue and stuff like that. So they, they really need like the extremely fast lookups in user space for, for ghost. But even then, I mean, we like, we, you can't like the correct abstraction for, for, for SCET-EXE, which isn't being done very, very frequently. In my opinion would be using the, the local storage map type, right? Because that's, that's like what the map is sort of designed for. So it's, it's not really performance as much for that case. All right. Okay. I, last comment. Yeah. For the BPF iterator, you can do a lot of aggregation in your BPF program and summarize all crucial results in a map, for example, or per CPU or the global variable, global array, and then user space can use that global array with your, your partial analysis results and in user space to make decisions. So you have two layers, right? You have a global array and the BPF program will iterate all the tasks and then give some partial information in this global array. It's a memory mapped and the user space can use that global map memory mapped stuff and to do a quick decision. Is that map writable as well? I think so. Okay. Read the writeable, right? It's a global variable, right? Yeah.  Yeah. It should be also readable, writable, and then BPF program has access to that global array as well. Yeah. It's worth exploring. Okay. Thanks, everybody. Thank you.


Good morning, everyone. Thank you so much for coming to the global situation space. My name is Naomi Oreskes. I'm a professor of the history of science and technology at Harvard University. And I'm here today to present this collaboration between WEF and a group of scientists at Carnegie Mellon University. And before I plunge in, I want to shout out my colleague Harry Hawkins. All of the technical brilliance you see today is the responsibility of him and his team at Carnegie Mellon. So we're here today to talk about climate change. We all know about climate change. We've all heard the facts and figures. We all know about the 1.5-degree threshold. But sometimes climate change can feel very abstract. And sometimes it's hard to communicate to people why climate change really matters to them. What the Carnegie Mellon group have done is to take large quantities of global data, satellite data, data from the US Geological Survey and NASA, and to make it, first of all, visual and hopefully meaningful. So I want to start today by talking about temperature. We all know that global warming means that the Earth warms. That means it gets hotter. But what does that mean for us as people and businesses and industries? So this is a picture of a normal June or July day in North America. And we're just going to wait a moment to see, you know, so this is North America. There's some warm spots in July, but it's mostly not too hot. Now we're going to show you the temperature anomaly from the same period in early July. And some of you will know this is the period when there were devastating wildfires in the Pacific Northwest that killed over 250 people in the region of Portland, Oregon. And you can see a massive temperature anomaly, some parts of North America that exceeded 44 degrees Celsius. That's a kind of temperature that would have been unheard of 30 or 40 years ago. We think of the Pacific Northwest as being damp and cool, and it isn't any longer. And this is causing many consequences, many harmful consequences. And one of them is hurricanes. So one of the reasons climate change matters so much is that when the world warms, it doesn't just heat up gradually around the world equally. It heats up differently in different areas. And those temperature differentials drive big weather. They drive tropical storms, hurricanes, cyclones, typhoons, which then lead and turn to flooding. So this is a satellite imagery of Hurricane Maria. And some of you know this was one of the most devastating hurricanes to hit North America. Over here in the Northwest, we see the Dominican Republic and Haiti, just to give you a sense of the scale. And one of the things we know that the scientific evidence has demonstrated beyond any reasonable doubt is that hurricanes are getting bigger. This is just a huge swap of the Caribbean Ocean. And they are also getting stronger. We're seeing record-breaking high winds, record-breaking precipitation, and this is, I'll get a little geeky here, record-breaking low pressures in the eye of the hurricane, which is an objective measure of how strong the hurricane is. When Hurricane Maria hit Puerto Rico, as you know, it devastated the community. So how do we communicate that devastation? Well, there are many different ways. Obviously personal stories are very important. But one way to think about it is what this did to infrastructure. One of the reasons that climate change is so bad is that it damages the critical infrastructure that we need to deal with it. It damages the infrastructure that makes us resilient. So this is a satellite image of lights at night in Puerto Rico, and that reflects infrastructure. It reflects where people have and are using electricity. So this is before Hurricane Maria, and in the next slide we'll show you after. And you can see this is four months after the hurricane and major parts of the island are still without electricity four months later. In fact, two years later, major parts of the island have still not been restored to the pre-hurricane effects. And so you can think about this in terms of the loss of infrastructure, the effects on businesses, the effects on people's lives, and the inability of people to just go about their daily lives because they don't have a basic necessity of life, which is electricity and also in many cases running water. Next slide, Harry. Again, to make it personal and visceral, one of the reasons hurricanes are so bad is not just the damaging winds, but often most of the worst damages caused by flooding, which destroys people's homes, kills people. So here you can see a before and after picture. Here's a community in Puerto Rico before the hurricane, and here you see the entire community, all that's left is the rooftops of the buildings. And imagine what that would have been like to have been there as the water was rising and you had to climb on your roof, hoping that someone might come and rescue you. Next slide, Harry. But of course it's not just poor countries that suffer from climate change, it's rich countries too. One of the things I think a lot about in climate change is that we talk a lot about the environmental injustices of climate change, and they're very real and they're very important, but I sometimes worry that when we talk too much about how this will hurt poor countries, the people in rich countries think, oh, I don't have to worry about it, but that's not true. And we've seen in the last couple of years how climate change is affecting the rich and industrialized countries as well as the poorer countries of the world. So some of you will remember the devastating floods that happened in Europe in July of 2021, which affected large swatches of central and northern Europe. So we're gonna zoom in on some information that shows some of the regions of Germany and the Netherlands that were affected. So as water levels rose, nearly 5,000 people were forced to evacuate their homes in Rormond, sorry if I mispronounced that, in the Netherlands near the border of Germany. And these colors show regions in which people had to evacuate or take precautionary measures in order to avoid the flooding in one of the richest, most industrialized places on the planet. So even those of us who are very wealthy are not immune from the negative impacts of climate change. And here's just another example. There's Bonn on the right-hand side and you can see major areas of Germany affected. 47 people died in the North Rhine Westphalia during this period and billions of dollars of damage to roads, bridges, houses, hospitals, et cetera. Okay, so we're gonna zoom out and here come down to an area just east of Luxembourg, villages and towns, such as Cordell and the Trier-Sarburg area found themselves completely cut off by flooded rivers. And if you just think about that for a moment, imagine you live in Germany or Luxembourg or the Netherlands.  You have emergency services to help, but now those services can't get to you because your town is cut off by flooding. And in some cases, it was many days before people were able to get help. All right, so now we're going to, oh, here's one more picture again just to make it real, to make it down to earth. So much of this is satellite imagery, so we're bringing satellite imagery down to earth. Here's a before picture. You can see a beautiful agricultural field, some beautiful older homes. And then in the next slide, we see what happens after flooding. And it's not, so you see, it's not just the field is destroyed, but the flooding led to landslides. And imagine, imagine if you were in that building. So one of the things that's frightening about climate change and hard to get your head around is the way it creates these extremes of weather. And they're both extremes of heat and cold, extremes of flooding and drought. So in some parts of the world, we're now having to worry much more about flooding. In other areas, of course, we have to worry about heat waves and drought. Africa is of course one of the regions of the world that already suffers from heat and drought. And now we're seeing that that's being exacerbated by climate change. So this is a picture that shows seasonal rainfall accumulation in March to May, so spring of 2022. And you can see in the eastern, in the Horn of Africa and East Africa, a large swath of East Africa, which the precipitation was less than half of normal precipitation, less than half. And so in an area that already has to work and manage with in very hot and dry conditions as the norm, now we're seeing those conditions becoming dramatically drier. If we go to the next slide, we see again to make it real, to make it visceral. Just imagine living in an area where a lake is dried out, your cattle are starving because there's nothing for them to feed on because you're now experiencing weeks, months, or in some cases, even years of sustained prolonged extreme drought. And then there's fires. Fires are terrifying. We're all afraid of fire and rightly so. Fire destroys properties, it destroys lives, it destroys biodiversity. It undoes conservation work. And some of the most devastating fires we've seen in the world in recent years have taken place in Australia. And the point here, of course, is to point out these effects are all around the globe. In North Africa, sorry, in North America, in Europe, in Australia, also of course in Asia, which we won't talk about today. Now, one of the things that sometimes climate skeptics will say, well, there've always been wildfires. And that's true. I lived in Australia for several years.  So as some of you know, the 2019-2020 Australian bushfire season was the most intense and catastrophic fire season on record in Australia. So Australia had never seen fires of this scope, scale, and magnitude. And so these are satellite images. These are fires at night. And so what you see is that during this bushfire season, essentially all of Australia, where there was anything to burn, it burned.  And so all of the areas that were populated were burning. And areas that we might not, when we think of the interiors being extremely hot and dry, but the worst wildfires were actually in the moisture areas where there was more vegetation to burn. So you might think that if you lived in Sydney, you didn't really have to worry about wildfires, and we saw that that wasn't true. Next slide. Fires are bad in so many ways, and one of the reasons they're bad is because of the smoke. So this is an image from space of the smoke plumes that were created by the fires around Sydney and across eastern Australia. So you can see Canberra up there in the sort of center of the picture, Wongong in the far north. And so you can see that this thick, heavy smoke plume covered a large swath of populated Australia, lingered for days to weeks, and caused many hospital admissions of people who were suffering respiratory illness from smoke inhalation.   They suffocate. And I actually happened to be in Sydney right around this time. The smoke was so thick that you could smell it in the airplane when we landed at Sydney Airport before they had even opened the doors and windows. And just to leave you then with one more image, so many of you may be saw this iconic image. It was published on the front page of the New York Times. And I just, I love this picture because it just encapsulates, you know, they always say a picture is worth a thousand words and this one surely is. It encapsulates the way in which the fires affected infrastructure, affected people, and affected wildlife. No one is spared in fires like this, whether you're rich or poor, human or kangaroo. About 19 million hectares of land was burned, 12.6 million hectares of which were forests and woodlands, and more than 1,700 species of plants, animals, and ecological communities were officially listed as threatened as a result of this one incident. And this is particularly heartbreaking to me because I have a lot of scientist friends in Australia who have spent decades working on conservation, protecting endangered species of kangaroos, wallabies, wombats. The unique and absolutely incredible wildlife of Australia and over a million individual animals were killed and decades of work, decades of great work by conservationists and scientists were wiped out in a few days. So that's a sad note, but I'm gonna now get happy and introduce an amazing person, one of my heroes, the next former president, oh, sorry, the next former vice president, the former vice president of the United States, Mr. Al Gore. Oh, well thank you very much. Thank you, I'm so wired up here, I don't know. Anyway, thank you very much, Naomi, and I'm supposed to speak only for three minutes, and so I'll be very quick and very brief. I want to say I'm here because of my longstanding respect for Naomi Oreskes and in my first movie and 18 years ago, Naomi's research played a very key role and was spotlighted in the movie, and we've been friends and allies ever since then, and I want to acknowledge one of my former staff members, Himanshu Gupta, who is also working with you here, and I love a good slideshow on climate. And you know, the computer scientists sometimes marvel at the human brain, and I heard one of them a long time ago say, if you analyze the human brain and computer terms, you could say that we have a low bit rate, but very high resolution. When AT&T back in the years when it was the only phone company in the US did research on how many numbers to use for the signaling and connection system, they decided seven numbers was the most we could keep in our memory, then they added four after that. But an infant can recognize faces and there are many other examples of how high resolution enables us to absorb vast amounts of information very, very quickly. And so, as you said, a picture is worth 1,000 words and a good contextualized story told in slides and pictures and maps can really convey a tremendous amount of information. When I started giving, just to make a point about the progress or the progress is the wrong word, the rapid worsening of the climate crisis. When I was giving slideshows back 30 years ago, 20 years ago, I would illustrate the various issues that many of which you've seen here by saying, oh, well, here's an example of this from 15 years ago. Here's one from 10 years ago. Here's one from 12 years ago. Now I say, here's one from yesterday. Here's one from two days ago. Here's one from last week. And some of these same slides I have used in the past myself. And if we had them instantly available there online, we could show you images of flooding in Germany. For example, we saw that field devastated from two days ago. And similarly, these things are happening all over the world. Every night on the television news is like a nature hike through the book of Revelation, as I've said on previous occasions. And so, using the best techniques for trying to convey the meaning of the crisis that we're facing is really an important task. And I congratulate you, Naomi, on this new dimension of your work. It's really extremely important. I wanna mention a related project that I'll be talking about in another forum in the next hour. ClimateTrace, climatetrace.org, uses artificial intelligence to enhance images that show the 352 million largest point source emission sites for greenhouse gas pollution everywhere in the world. I'll announce in another hour that we are adding another data contributing organization to our network, which will also show every renewable energy project in the world with the metadata on the owner, the operator, the electricity output, and every project under development tracking it as it goes toward completion. We're now having large companies and smaller companies use this data to swap out suppliers in their supply chains and networks in order to get lower emissions associated with the same quality of goods and services. So, and it's all free, it's available online. You go to it right now, climatetrace.org and we update it regularly. So, what's this all about? Just briefly before I conclude, just to give the basics, we're putting 162 million tons of man-made global warming pollution into the sky today as we do every day. It lingers there on average. Each molecule on average stays about 100 years and so it mounts up and the accumulated amount today traps as much extra heat in the earth system as would be released by 750,000 Hiroshima-class atomic bombs exploding on the earth every 24 hours, every day, every year and it continues to increase. Now, here's the good news. If we comply with the latest mandate or document from the conference of the parties that was held just last month and transitioned away from fossil fuels, climate crisis is a fossil fuel crisis, that's what it is and they have used their power and wealth to capture the COP process. They've used it to capture many university research agendas, they have used it to, they're way better at capturing politicians than capturing emissions and they have used their capture of politicians to write the policies. One of the former heads of the European Commission, Claude Junker, said years ago, he said, we all know what to do, we just don't know how to get reelected when we do it and the reason it's hard to get reelected when we do it is because the fossil fuel polluters use a portion of their wealth from digging up dead things from the earth and burning them in ways that destroy the future of humanity. They use some of their wealth to confuse people. Just last week, the American Petroleum Institute, the largest lobby organization for fossil fuel companies in the US announced a brand new $100 million advertising campaign with the objective of convincing people that it's impossible to shift away from fossil fuels and to slow down and block the transition that's necessary. I get a little exercised about this because I've watched it for a long time and it's driven by pure greed, pure greed. And yet we have the ability to stop it. And here's the good news, if we get to true net zero, if we rapidly deploy the alternatives to fossil fuels, which are now cheaper in almost the entire world and don't cause the co-pollution that kills nine million people from lung diseases every year, if we deploy electric vehicles, solar wind, batteries, green hydrogen and the rest and we get to true net zero, temperatures on the earth will stop going up almost immediately. The lag is as little as three to five years. Metaphorically, it's like flipping a switch. That switch is hard to flip because it requires all of us in every country to use our political agency to speak up and demand with sufficient numbers and passion that our political leaders stop bowing down to the fossil fuel polluters and when they say jump they say, how high, yes sir, and instead care for the future of humanity. Here's the other good news. If we stay at true net zero, 50% of all of the human cause greenhouse gas pollution will have fallen out of the atmosphere in as little as 25 to 30 years. We can solve this and we have the means to solve it. All we have to do is to marshal the political will to make the policy changes that are necessary. And so I'll conclude by just reminding all of us that political will is itself a renewable resource. Thank you very much and congratulations Naomi. Great to see you here. Excuse me for running. Okay, well thank you so much. That was great. We have a little bit of time for questions. Unfortunately the vice president has to leave so I have to do my best to answer your questions. Yeah. Yeah. Can you give us a sense of how much El Nino and El Nino? Yeah, the El Nino and La Nina cycle doesn't disguise the long-term trends and the long run the long-term trend emerges. What it does is adds a kind of complication. So if you've looked at any of the charts or graphs that you can see about climate change, we know that the temperature doesn't go up like this. It goes up like this and then maybe it seems to stay stable for a little bit, goes up again. And the way I like to think about it, I'll get slightly geeky here. Imagine you have two mathematical functions. One is a straight line. You learned about that probably in school. And the other is a sine curve that goes like this. If you impose a straight line, I don't know what I'm supposed to do with all this equipment, give me a second here. Okay, if you impose a sine curve, a straight line on a sine curve, what you'll get, see now I need a blackboard, but you're gonna get something that looks like this.    And of course, the climate deniers have exploited that by taking the flat areas and say, oh, look, there's no global warming. And we say, no, this is arithmetic, right? Add a flat curve and a sine curve and that's what you get. So the La Nina, the cooler periods may add to those flat periods. And then the El Nino period add to the heater periods. And that's what we saw this past year. So that's one of the reasons why 2023 was so shockingly hot. It was the combination of accelerated global warming from burning fossil fuels and deforestation combined with the El Nino. So one thing that will probably happen, it's not 100% clear, but probably next year will not as hot as this year was. And we know the skeptics will try to exploit that. And they'll say, oh, look, 2023 was just an anomaly. Don't worry about it, it's all fine. It is not all fine. Did you have a question? That the US has passed the IRAs, that's what it's called. Yeah, the so-called inflation. And the other countries who've done amazing things too that you might be optimistic about. But is there hope there? Well, there's always hope. As long as we're living and breathing, as long as Al Gore is still doing his thing, there's always hope. And I love being around him because, frankly, this is a very difficult space to work in. And I didn't mention this earlier, but I also work on disinformation. I've written several books now about fossil fuel industry disinformation. It's very difficult. They're powerful, they're well-organized, they're smart. And as Vice President Gore said, they are greedy and honestly, they're evil. They do not care who they hurt. And we have so much evidence that that's true. It's all about short-term profits. So that's depressing. But the upside is the political will, which is there in many places. So the Inflation Reduction Act is a mixed bag. There's a lot that's good in it. It's definitely a step in the right direction. It's super important that the United States has passed a major climate bill for the first time in history. So I think President Biden and Democrats in Congress get a lot of credit for that. On the other hand, no Republican supported it, which means that if we get a Republican president, it will almost certainly be undone. No Republican has had the courage to step out and say this is real and we need to think about what solutions look like since John McCain, since the death of John McCain. And the very fact that it had to be called the Inflation Reduction Act shows how much the skeptics and deniers have poisoned the well of public debate in America. We can't call it what it is, which is the Stop Climate Disruption Act. That's what we should call it, Stop Climate Damage Act. Instead, we have to call it the Inflation Reduction Act. And I understand that that was real politic, but it's very, very sad that that's it. And then the other really bad thing about the RRA is the so-called 45Q tax credit for carbon storage. That's a long complicated story. Happy to talk to anyone about that afterwards, but most of that is actually a subsidy to the fossil fuel industry. And if people want to know more about why that is, I can be happy to talk about that offline. Yeah. What makes you optimistic? What makes me optimistic? I get that question all the time. I kind of am moving towards Roy Scranton. I don't know if you know his work. He wrote this book called Learning to Die in the Anthropocene. He fought in Iraq. He's an amazing guy. And he says, well, maybe we should really talk about constructive pessimism, or pessimism that mobilizes us to fight against the darkness. So I'm influenced by that way of thinking, but I don't want to make it sound like I don't have hope. Of course I do. So I think, as I just said, the Inflation Reduction Act is a really important step in the right direction. The key now in American politics is to try to build on that, and particularly, I think, to build on the state and local level, because we're seeing a lot of good things happening on the state level. Cities give me hope, because if you think about climate change, it's driven by fossil fuel use, which is tied to economic activity. Most of the economic activity we're talking about takes place in cities. And cities have been progressive forces forever. And so I see a lot of hope in the actions of cities and mayors. And then, of course, the cliche thing to say, but it's true, is my students. I mean, young people are all on this issue. They all get it. They all care about it. And they all want to know what they can do to be part of the solution, because they understand that this is their future. Yeah. Do we have a mic here? Oh, we're out of time? Can I take one more question? Or we have another? OK, one last question. Yeah. Yeah. Yeah, so it's a great question. Like, do we need to actually show people the stark reality of how bad this could be? I think the answer is absolutely both-handed. I wrote a book called The Collapse of Western Civilization that attempted to do exactly that. And the book was a bestseller in France, proving the stereotype that French people like stories with bad endings. But I got a lot of fan mail from people saying to me, OK, that was a great book. Love did powerful. Write the companion book of how we fix this. And honestly, I've been struggling with that for years, because it's very hard to figure out what the companion book would be that doesn't seem glib, naive, or misleading. And so I'm still working on that. My goal is a box set. Anyway, thank you all so much for coming. I'm getting the signals we're out of time. But it's been a pleasure having you here today.