He was sharing with us, you want to share a little bit about your experience with your phone call this morning? Because it was such a, I don't know if people know the whole story of coming here, but it was so precious. Oh, but you can understand this movie. It's so relaxing. You want the microphone or? I don't know. I broke my partner this morning to check in, which I normally would bring. My partner and I have been together for six years and have not spent one day apart for one night. And coming up here was something that I really, really knew I needed to do. Susan addressed it in the office on Tuesday and I went, yes, I'm going to do it. And then I went, oh, I can't. I can't leave my family for a night, for two days. And so I went through the whole process and I didn't talk to Todd about it and left it for a day or two. And then all of a sudden, one morning it was, I felt like I, and I said it and he just didn't want a bar of it at all, whatever. And then we, and then I was speaking to him on the phone and I said, I really want to go. I really need to go. And I think it's great for you and Tamaki to be together, you know, for Tamaki to know that that mummy around you're safe. You know, your daddy and you'll always be safe and my mum was there. So anyway, the full roll along all week and weekend and that's a massive fight. Massive. I found myself, I was telling myself screaming in a car park and I thought, well, what am I doing? And then I said to Todd, go, you know, and then the ball turned and turned and then, and I held on to, I was definitely coming, no matter what. And I locked it in by, I said, yes, to picking up boxes for David to bring up here. And then on Sunday, I thought, I'm not going to go forget it, you win. And then I thought, no, I've got boxes to take. I have to go. And then I thought, no, I'm going, there is nothing stopping me. And then Sunday went and we worked through our stuff and Monday came and, and Todd was really moving into it was fine. And it was great. And then I came up here on Tuesday and yesterday at lunch, I went to a slight moment of I should be calling. I hadn't spoken to him all day. Todd would bring me 12 times a day just to talk nonsense and that's fine. And anyway, so you should be calling. You have a call. And so I went through this whole massive thing yesterday.   And then this morning I rang in to check in and Todd is, Todd is a married man who's, I don't know if anyone knows Quite hard people and he's not, Todd's very in tune with himself and his whole family background is born again Christians. And he's been going to church which he says is for him and it's not, I mean he hasn't done that. He just goes every Sunday for him. He sits there, he comes home and he shares with me and we bounce off. Wow, I really agree but I don't need to go to a building to do that. And this whole, this whole thing was going and then he went into this major thing with Parnia's partner. I love you to know Parnia. That am I going to a cult? Am I going to run off with a more spiritual man and all of this came out in him and then this morning I rang. He was so calm, he had this soft voice and I said, the phone was ringing and you're ringing and ringing and then that beep beep. And he went, hello my girl. And I was like, I thought I called the wrong person. And I was having a wonderful sleep and I said well getting there was a bit hard but once I fell asleep I slept the whole night. I had to tell everybody I slept the whole night. I didn't even have to wake up once. And I didn't have my son leaching off me somewhere. It was my total space in my single bed. And he said, he said, you sound so relaxed. And I said, I am. I am so relaxed. I am so happy. And he said, that's wonderful. He said, here's your son. And then he got the phone and rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang rang. Hello and my mum's in the background cooking breakfast and Todd and my mum were talking and my mum and Todd get on so well but Todd doesn't talk much. And when he talks all the moment, it's like, what? And my mum's partly deaf so it's like, what? And so he gives up talking to her and she gives up trying to listen. They love each other dearly and she lives with us at the mate walk. She's living with us. And they were talking in the background. Mum was like, where did you learn, Todd? I was like, where did you learn? Todd is walking around with me on the phone and talking. And it was, I kind of stopped from talking and heard mum and she said, how do you want your eggs? And I went, I'll just get you Todd eggs. You know, and then Todd got back on the phone and I was waiting for this conversation to drag out and drag out which it does.  And I was waiting for work. I turned on the pen myself. I walked out the back and I sat down in the cafe and we got ready. And he went, all right then darling, well you have a fabulous day and if you don't need to check in the call we're going to do a few things and I'll see you when you get home. And I instantly went to, like, I was like, wow. But then I was like, don't you care what I'm doing? She's going to her home too. She's going to run off with a spiritual man. And all of this stuff went on for him and then it was, you don't even, you haven't even asked me what I'm doing. And then I was like, okay, I love you. And I was like, I love you too. And he hung up the phone first and I'm always the one that hangs up the phone and it was just amazing that giving, and David said it to me this morning giving myself the permission just to go and do what I had to do with me and the snowball effect that went through my home. And Todd, I'm going to share this, I don't know, it just came to me to share.  And then he goes, well, I'm going to church and I say, well, I'm sorry honey but no one's going to come with a magic wand and wave it and then you're going to be better. And then it turned out, well, maybe I should go when you're in retreats and then I'll be better. And I was just like, whoa. Anyway, this is a time we had a fight and I was trying so calmly to stay soft and calm and just talk to him on my beliefs and turn what he was so frustrated with that it was okay to be angry and it's not going to change and he didn't even want to help himself, you know. And I said to him, would you read a book? I had no idea what book it was going to give him and I was going to go to the office the next day and say, what book should I give Todd to read? And he said, I don't read books. And I said, okay. All right, then I said, he goes, no, I just throw him away. I've never been able to finish on my dark mic and I don't want to read. I kind of sit still to read. And I said, okay, well, I don't know what to do anymore to help. Anyway, he stormed off and he went for his drive and he came back and, you know, the slammed door and I slammed this and you still know I'm angry and I'm banging this. And then all of a sudden he went into the room and I just stayed away and it would have been two hours later I walked down to the room and he was laying in bed with Eckhart Tolstoy. And I put a long list of books like there's Raj's book and there's Eckhart Tolstoy's book and then all these books and he picked that one and I walked in and he said, is this the one you want me to read? I said, I didn't know what I wanted you to read. I said, but obviously I meant to read that one and he read and he was so proud like I'd get a report I read 32 pages. I'm up to page 56 and then I'm thinking and then I'm like, okay, so I picked up the power of now and I couldn't even get through the first five pages.


Hi, my name is Crystal Carter. I'm the head of SEO communications at Wix. And today I'm going to talk to you about SEO tips for 2024. Anybody who's been paying attention to the SEO space, to the tech space, to the world at large has probably noticed that AI has been on the top of everyone's minds in the last sort of 18 months or so. So it's no surprise that in 2024 the main theme that we're going to see is lots of reasons and lots of ways to manage SEO in an AI landscape. I think that this is something that we're going to see coming to more maturity this year because in 2022 it's kind of storming. We had lots of new ideas from AI. It's been in the landscape for a while, but in 2022 it became much more mainstream and much more available to most people. And so has become a lot more of a hot topic for lots of marketers and people were figuring out what we can do and how we can manage that. In 2023 we started seeing AI becoming a more commonplace and becoming something that was integrated into lots of tools that we use really regularly and becoming something that both customers and marketers expect to see in their day to day work. And I think in 2024 we're going from a storming area to a norming and now to performing. So we're going to see lots of marketers who are really savvy with some of these SEO tools and who are doing some really sophisticated things with these AI SEO tools. And I think that it's going to change the way that we manage SEO. So here are my tips, my predictions for this new landscape. So first of all we're going to see a lot more AI content optimization strategies and they're going to be mostly around bulk publishing. Bulk publishing was something that was previously something that bigger content teams were able to do and smaller content teams maybe didn't have as much facility or resources to do, but pretty much everyone has the ability to do that now. So as well as being able to bulk publish people are going to need more strategies for how they bulk publish and how they create new content at scale. This will also mean that people will need to learn how to update at scale because if you're able to publish 20 articles at once you're also going to need to be able to optimize those articles at once and make sure that you're optimizing all of your links and all of your keywords and all of that stuff to know that it all works really well together. So building those skills will be something that you should think about, but within that my top tip for that is to learn how to balance bulk content creation and optimization with differentiation because while you're going to be able to create content try not to make it just copy and paste cookie cutter content, you want to make sure that you are still emphasizing the differentiation that's really important for SEO and for SEO to perform in the in the search. Along with this content bulk content optimization thing you're also going to see a lot of your competition are doing this as well. So AI powered competition is going to change the way that that SEOs are able to are able to rank and how often they're able to rank. So we're probably going to see more content volatility from your competitors. So for instance if you had a piece of content that maybe you had that maybe you were updating maybe every six months or something it might be that because there are more competitors coming into into your space into your particular SERPs that you need to update it more frequently. It's also the case that other competitors are going to be able to update their content more frequently because they have access to so many new AI tools. So within this landscape I think it's important to think about trending topics. Trending topics are really really useful because they offer opportunities to differentiate but also because trending topics are less covered by LLMs. LLMs tend to rely on on historical content. They tend to rely on historic information. So if you are able to lead the conversation to become a primary source of information then you're more likely to be able to manage in this newly competitive space. The other thing I think it's worth thinking about and when we think about differentiation and competitors is cyborg content and what do I mean by this? When I say cyborg content I don't necessarily mean that you need to be RoboCop. However I think that we should be thinking about the way that we balance user generated content, UGC and AI content in the SERP. It's going to be something with hidden gems that becomes more apparent as user search. It also means that users are going to see different ways of connecting with user generated content. I've seen this on Quora for instance where they're able to use a bot and it says at the top of their content that there's a bot that's sort of summarizing the conversation that people are having. So that's one way to do it. I've also seen on LinkedIn they have their advice articles where they say you know here's a piece of content that's created with AI and the AI will give the prompts and the questions and then they'll have users who are answering the questions with their own human experience and when people are able to balance that UGC with AI content they're getting some great results. So if you're able to do that with some of your own content that's a great win. Additionally communities are going to be driving content distribution and content creation with the rise of so much content coming through AI and the competitive landscape changing so rapidly. People are still going to need answers and people are going to be looking for answers in places that they trust. Communities that they know are going to be great sources for that and whether the content itself comes from an AI source or from your handwritten bespoke artisanal content. I think that the fact that you're able to share it within the communities and for people within the communities to be able to vouch for that content is going to mean a lot more in this space and as a result of all of that I think EEAT is going to become a bit of a blueprint for human led AI content in this next the next few months. The reason why I think this is so important is because Google's pretty much told us this. They added the extra experience on to the EEAT information last year and I think that that's not a coincidence. So the experience that people are able to illustrate is really really important because bots don't have opinions, bots don't own bicycles, they don't have pets, they don't have actual real-world experience. So I think that where we're able to demonstrate that real-world experience and able to format it with great AI tools I think that's going to be a great win for content creators in the next little while. So that's content creators and how they're going to be managing this AI space. There we should also be thinking about how search itself is going to be changing in this in this time and how we can respond to that. So with AI content and all of this bulk content that's a lot of new content that's coming online this year and Google is trying their very very best and lots of other search engines are trying their best to keep up with the with this tidal wave of content. So they're doing this in a few ways. One of the things that they're doing is indexing by type. So you'll notice that there's a lot of content within Google search console which is now managed by feeds. So if you think about for instance like product feeds, blogs are managed with RSS, they're also at managing jobs with different feeds and they keep adding more and more content. Video pages are now being indexed in this particular way as well. So when you think about that that's because they're trying to help you, they're trying to have you help them with organizing your content by type. So think about how you can do that, how you can organize your content to make it easier for search engines to find it amongst all of this other content. I think also within the space I think domain age is going to be carrying a little bit more weight during this time. So this is something to consider with your backlinks and with the sort of partnerships that you might be creating. This is because those are going to have more pages that have been historically ranking and have historically have been historically indexed. So I think that that's going to be very important during this space. And as a result and when you think about your own domain, the thing that's really important to think about is your pillar pages. So pillar pages if people aren't aware or have to do with topic clusters and things like that and you should use those strategically. So if you are having a situation where maybe you're not having so many pages be indexed because there's so much content and Google's trying to index it all, think about your pillar pages and try to make sure that you're able to organize your content in a way where the pillar page is definitely indexed and everything comes off of that in a nice, tidy, organized way. This is something that will allow you to get great value for your customers and also to balance the way that the index is sort of changing right now. AI in the SERP is also evolving this year. So we've heard about SGE and there's BARD and there's New Bing and there's all of these different things that have been happening in the last year. And I think that going forward, Google keeps making more announcements. They recently announced about Gemini and other things that are coming through to the SERP. And I think that the way that people are going to be searching in this SERP is going to be very, very dependent on user journeys. So the way that people talk to something like BARD or talk to the SGE, they ask follow-up questions and follow-up questions and follow-up questions. So if you have a cohesive user journey within that, then you're more likely to show up as part of the journey for a particular, for a particular query. And I think that also with this brand entity will impact your visibility. What Google and what LLMs understand about your brand and the entities around your brand will make them more likely to surface your brand, your products, the things that you do in those conversational SERPs as we go forward. So it's worth doubling down on long-tail queries that are associated with your brand because of this conversational space and because of this user journey as we go forward. The other thing that's worth thinking about is that users are now having more opportunities to use search and use AI tools as search engines. So we've started to see a more platformization of chat GPT, particularly chat GPT-4 with custom GPTs and other tools like that. And essentially, that's going to change the way that users think about how they search for information. Users can search more conversationally. They can say, hey, what should I do about this particular situation because I don't know what's going on? That sort of thing. So they'll be able to have more conversation and they'll expect to be able to have more conversation in this SERP. So think about that when you're thinking about your long-tail queries, for instance. And users are also going to sort of expect UGC as a sort of parallel to that. So we talked about the cyborg content and I think that users are going to expect to be able to see like, okay, this is the polished content that's maybe generated by AI and maybe solves my query and that sort of thing. And this is the more sort of user-generated information.  So I think that when users are using AI tools as a search engine, it means that they're going to expect user-generated content on the site in order to validate the information and in order to act as a sort of foil for them to find the sort of balance in between. So I think that platformization will offer new opportunities to unlock value within some of that space and it also will offer you opportunities to unlock value from your own corpus of content. So I know, for instance, there's a lot of companies who have a lot of legacy content that's still on PDFs, for instance. It might be that you can use some of these LLMs, some of things like custom GPTs, for instance, to unlock some of that content and to make that content more available for people who are using AI tools as search engines. I think it's going to be a fascinating year in 2024 and I wish you all the best.


I'm writing my thesis about cannabis policy, so it will be helpful a lot. I got a broad view about drug policy and drug-related problems in Europe. And that will help me a lot in my future life, I think, because that's the way I want to go in my professional life one day.


It's really kind of funny to watch when you start playing with us. You're gonna start seeing it's like almost again the subconscious like Think she can't control she starts try being different She just realizes oh, I have to answer this and then she goes back Oh, well, I have to answer this as well and gets in and then all of a sudden you just get into this conversation And from there we can break into attraction All right commandment number seven Thou shalt use intrigue This done correctly is deadly This will almost always turn a different set around Now the problem is it's really hard to improv Entry type stuff you may want to use some routines that bank on this again only but a goody one of the most famous ones was the best friends test How does that get an open up? Why was that used right off the opener? Because it's intriguing. Have you guys took the best friends test? Do you know if you're really best friends? Well, no, but now I want to know Like what the hell is that I've never even heard of this before right it bates that chase response That's all I'm trying to do here. I don't again not about traction. It's just can I get hurt chasing? So you might want those specific routines But if you don't have them there is a way a natural way to do it every time and that is using open loops Open loops are one of the easy way to trigger that chasing switch that makes conversation just instantly easier All right, and it's a really easy way to make open loops happen All right, so let's go on the next slide command-minate Hope you saw that open loop All right I'm gonna give you some examples of how to make that happen. All right. All you have to do is cut off what you're saying Leave that intrigue there and then just move on and ideally what's gonna happen is they'll start coming back and chasing after you If anyone's used an old school routine like the cube for example You start telling all these interesting things about herself use that that cube stuff and then all the sudden You just used that you get a DD and you realize. Oh, yeah, what's going on with here? I by the way, I want to ask you something What happens? She goes, what don't know go back to it would tell me what does that mean? You never told me what it means. What was the next question? That's baking on its intrigue principle, so But again the cubes that's that's something you couldn't use till later on What's something we can use right off the bat within different girls? How can we spark it then? Some fun open loops are you do realize there's a guy here. He's been like staring at you for an hour, right? Even if the girl was literally like what nothing to do with you. She's she has to know who what guy She's instantly intrigued at this point Another one, you know You're actually really cute, but there's something about you that makes you unapproachable. I don't know if you knew this Doesn't matter how how hot she thinks she is or what they do what I have to know now What what makes me unapproachable? Why right? She's now invested It's one of the quickest ways you're gonna get from nothing to her. Okay. I need to converse with you I need to have this conversation and With that we can then move on we can then progress it and bit by bit build that compliance All right commandment number eight now shut cycle through topics. She may find interesting All right So many guys plow and they do not use this. They don't they just talk about whatever right again I could talk to a wall, but it doesn't make the wall want to talk back We need to get her to Want to be part of this to want to engage So for this we're gonna instant change interaction Sorry when this happens the interaction will instantly change. It's just a boom effect. I'll be talking about random stuff random stuff She's nodding. She's looking away. She's bored random stuff all of a sudden I see some in the hits and she steps around you know about that You've seen this Holy shit, I love that.  It's one of the freaky things So to do it though, you're going to kind of kind of leave kind of be changing topics blind You're not really gonna know where it's going The only way to know which topics might hit or what might not is a just no bunch of topics that women find interesting and be Elicit the girl you're talking to how is she dressed? How does she talk? What's her look? What's her vibe like? Right? What kind of girl am I dealing with? If you go out a lot enough times you can literally tell a girl's personality before you even approach I could see a girl. I'll know if she's gonna be really receptive She's gonna be rude if she's gonna be a rocker chick I could just I know this girl's personality about like 90% success rate I can just call it is you're gonna get an intuition for this Ideally what you want to happen have happened is as you're saying to these topics and one hits You're gonna want to be something that you have in common If you realize all friendships are based on commonalities It's how we can vibe so easily off with one another We're all here. We have one great commonality. Don't we? We want to get better with women. We want to better our dating lives If anybody comes up to talk to me, they're not gonna come up and be like so do that basketball game the other night Yeah, did you see the score? No way it's gonna come up to like all right, so do I'm working on this approach, right? But I don't really have a good transition off. I was wondering what you're thinking about this Like no anyone who comes and talks to each other You're gonna talk about game because we all know that's a commonality and through that commonality. We can become friends It's easy. It's easy to go off of right So we want to stop start with the girl because vibing talking just becomes Insanely easy again and it's something we both like What happens if we don't have that what happens if I hit a topic that this girl loves and she's Well into invest now, but I don't know anything about it. Don't fear if this happens. We can then use curiosity All we have to do is show that I am curious about this thing. You're interested in I want to learn more Tell me more about it and we get her talking a lot of times keep in mind a girl's favorite topic is going to be herself That's why most of the time when I'm talking to women. I'm keeping the interaction on them I'm keeping about either them myself or us together. I'm not just going to factual information has nothing to do with us It's not stimulating Here's a key point though Remember once she's engaged don't become our girlfriend a lot of guys get too trigger happy with us They're trying about indifference your girls like giving him anything They're cycling the three different topics and then all of a sudden they find one that hits and then they'll spend the next two Hours talking about this thing. They don't care about it means nothing Once you get in the friendly vibe with the girl and the indifference is over you have to break out of it You can't go from indifference to her just being all attracted and wanting you but you can take that extra step indifference to okay I like talking to this guy. I can talk about whatever to now. I'm teasing you playing around with you sparkly attraction So you have to break out of that and now I'm gonna give you a few female-friendly themes So one would include outdoor activities That I've honestly found the hotter the girl or the sorry the higher quality of the girl The more she likes outdoor type of activities whether it's scuba diving whether it's hiking or running Whether it's the beach, you know, I'm from Florida. We always love the beach beach on life Anything you could talk about those topics the better a party life the best clubs out what upcoming concerts are going on Favorite music and you know the best drinks, whatever other things pop culture I Really great. This is actually this actually hit in the girl. I used about two or three weeks ago Where I was battling this indifferent I was throwing random stuff out there And then all of a sudden I just brought up the bachelorette The pop culture is really flew open. They started role-playing which we're gonna give each other a rose all this stuff Lucky I knew about it because one of my roommates is a girl and she's always playing the bachelorette So I just started watching it you got another girly stuff that's going on pop culture Another thing going on right now fifty shades of gray You don't talk to any girl. They're basically reading it one out of two girls is reading fifty shades of gray


We are continuing with IFRS which basically is the International Financial Reporting Standards. We talked about the IFRS in our previous session. We looked at what it is all about, how the different stakeholders tend to integrate the standards into the Pakistani corporate market, what is the role of SECP, what is the role of ICAP, what is the role of IFRS itself, what is the role of the International Standards Accounting Board. So, all of these stakeholders basically came into consideration and we were seeing that how they integrate to ensure that the IFRS standards are applicable in Pakistan across its corporate world. There are issues definitely with any financial standard even if we talk about financial standards like ISO 9000, ISO 14000, ISO 17000, ISO 25000, ISO 22000, ISO 27000 or if we talk about the different social accountability standards and even the kaizen management standards. So, I mean there are different standards around the world which basically tend to internationalize any activity within an organization or within a particular country or within a particular region and it tends to standardize things so that everyone can understand what they are doing. From an investment point of view and from the point of view of economics, finance and accounting have become extremely important and we see that through the IFRS standards Pakistan is getting more acceptability across the globe and more financial investment is coming into the country because of the prudent systems and mechanisms which are being followed and enforced through the Institute of Charter Accounts of Pakistan and the which is played by the Securities Exchange Commission of Pakistan. Now when we are looking at IFRS, it is not always economical, it is not always effective, it is not always something which is going to benefit every organization because there is a cost to it and that can sometimes be borne by an organization and many organizations face a lot of financial constraints in it and therefore in the case of Pakistan, there should be different standards for different types of entities because in Pakistan we don't have very large industrial entities or very large business or corporate groups. There are a few who can follow these standards but most of the companies in Pakistan are basically SMEs, small and medium enterprises. Now when we have such a large bulge of SMEs then it is extremely necessary and vital that there are different standards which are applied to the different segments of the market and it is nearly impossible for an SME to follow those regulations which are followed by a particular business group. Now in the case of SMEs, we see that the IFRS should be according to its expansion area and the level of the organization just like I was mentioning earlier that is extremely important and only then can we see the influx of IFRS in Pakistan and its broader acceptability, its broader implementation and its broader regulatory coexistence within the system of finance and accounting in Pakistan and therefore that would transcend into the economic market of Pakistan making it a favorable destination for different countries to invest in. So again these are very important. At present the IAS, the International Accounting Standard 39 is not affected due to the inaccessibility of information, moreover it is not affected due to the data quality as well as the decisions and estimates that differs across these businesses. So again what we see is that depending upon the size of the business from small, medium to large, there are different dynamics of data, there are different dynamics of decision making, there are different dynamics of standardization, there are different dynamics of accessibility or inaccessibility information. So all of these things are very important for the IFRS especially because when we are talking about the smaller organizations then they cannot endure the impact, the financial impact of having well qualified individuals who would ensure that the IFRS standards are being met which are globally acceptable. So there has to be this customization and there has to be this size orientation and market segmentation in the IFRS to make it more effective and much more applicable not only in countries like Pakistan but also other underdeveloped and developing countries across the world. There are issues in implementation, the techniques of predicting the forthcoming cash flows contrast which brings about the usage of different procedures for the evaluation of financial declaration. So again depending upon the texture of the organization we see that there are cash flow contrast, we see that there are different procedures and there are different evaluation of financial declaration. So all of these things tend to make it much more complex and complicated and therefore there is a great need of its contextualization and customization. According to SECP, mutual funds should not be taken as entities so its financial reports cannot be amalgamated with the organization's asset management. So again what we are seeing is that in Pakistan even the stock market is managed differently, organized differently and therefore the Securities Exchange Commission of Pakistan would face many things in asset management. The international accounting standards involve the merging of financial reports so IAS is also in question for implementation by the Securities Exchange Commission of Pakistan. So again we see these undulations and the indulations in the process of financial reporting of accounting amalgamation and also of the reporting standards. Now to make them all homogenous and coherent with the international financial reporting standards is a very uphill task but not an impossible task but there is a great need to improvise, there is a great need to segmentize, there is a great need to ensure that the standards are tweaked so that they can be accepted by the different segments of the Pakistan economy. There are also flaws in the IFRS regulations and the company's ordinance for instance in the conduct of revision space in the balance sheet in the duration of financial statements merger and other things. So again what we see is that there are time lapses, there are different mattresses, there are different templates, there are different financial integrations which are taking place and all of these make the IFRS sometimes very difficult to implement and can be looked as flaws because of the straight jacket approach it basically has and the straight jacket approach in which one size fits all does not work at least in a country like Pakistan and therefore we have to be more innovative, we have to be more flexible and we have to see how those standards can be customized according to the ground realities of the corporate sector in Pakistan. Thank you so much.


Hello, I'm Mark Roth, and I'm here to talk about XDS support in gRPC. Here's what we're going to cover today. We'll talk about why we're doing this, what changes we needed in the XDS APIs to support non-proxy clients like gRPC. We'll talk about some gotchas we discovered in the XDS transport protocol, and we'll talk about what management server maintainers need to do in order to support gRPC alongside Envoy, and then we'll cover our current status and roadmap. Let's dive in and talk about why. As you know, Envoy is commonly used as a sidecar proxy in service mesh deployments. There are two main advantages that Envoy brings here. It provides a whole bunch of really nice traffic management features, and it provides centralized management via XDS. Here's a diagram of a typical service mesh topology. Every node in the mesh has an Envoy instance running as a sidecar right next to the application. The red lines here are data plan communication. You can see that Envoy intercepts all traffic in and out of the application and manages communication between the nodes. The blue lines are control plan communication. The Envoy instances get their configs from the XDS server. So what's the problem with this approach? Why not support XDS in gRPC? Well, the proxies add overhead. My team did a gRPC benchmark comparing the proxy and proxy list approach, which showed about a three times improvement in queries per CPU second. So there's a significant CPU overhead to running the proxies. There's also a significant latency improvement. I don't have specific data on that. Istio does have some data that shows that request latency is significantly higher with the proxies, although their benchmark is not exactly the same as the one that we did in gRPC. It's not exactly the same scenario. So it's a little bit of an apples for oranges comparison, but that's the best data that I have to share. But certainly, I don't think anybody would doubt that there is additional latency by adding those two hops for all the communication. Now, for a lot of applications, it makes complete sense to pay the cost of the overhead of the proxies, right? It avoids having to implement the traffic management features and control plan integration in the application. And this is especially true if there's a large number of applications that are all going through Envoy, right? You'd have to pay that cost multiple times of doing that implementation for each of those applications. So it does make a lot of sense to do that for those applications that you don't want to have to add these features separately. However, by supporting these features in gRPC, applications that use gRPC can get these features for free without the cost of the proxies. And so that's really the motivation here. Now, I should note that we are, you know, the motivation here is not to try to put Envoy out of business, right? We're not trying to replace Envoy. There's still going to be a whole bunch of non-gRPC applications that will need Envoy. And frankly, there are still going to be, you know, a number of use cases where it'll still make sense even for gRPC traffic to continue to go through Envoy. So the goal here is really for Envoy and gRPC to be able to coexist in the same service mesh. So here's that same service mesh topology diagram as before, but this time using proxyless gRPC. Instead of having a sidecar proxy on each node, the application just links against gRPC, and gRPC directly provides the traffic management features and the control plan integration by taking in the configuration from XTS. So there's no need for the sidecar proxy. All right, let's talk about what changes we needed to make in the XTS APIs to make this work. Now, the XTS APIs were developed specifically for Envoy, so they make the obvious assumption that the client is Envoy. And this caused some challenges for us because not only is gRPC not Envoy, but it's not even a proxy, right? It's a client and a server. Now, we've generally tried to minimize the places where we needed to make changes in the API to support gRPC for two reasons. One, we want to make it really easy for existing Envoy service meshes to make use of gRPC without having to duplicate all of their XTS configuration resources. And also, because we want to allow gRPC and Envoy to easily coexist in the same service mesh, as I mentioned earlier. So the more that we can use the existing infrastructure and leverage that rather than having to create new stuff, the better. So we really want to minimize these changes. But there are two places where Envoy and gRPC are sufficiently different that we did have to make some changes. And we'll talk about each of those here. The first thing we changed was the way that the gRPC client handles listener resources. Now, as you probably know, the main XTS APIs are LDS, RDS, CDS, and EDS. They're generally chained together in that order, describing the path that a request takes as it moves through Envoy. And it all starts with a listener resource from LDS, which tells Envoy what port to listen on. And that concept simply doesn't apply to the gRPC client, right? The gRPC client doesn't listen on ports. It was told by the application to send requests to particular virtual hosts. Now, when we were first looking at the XTS API, trying to understand it and trying to figure out how to make it work for gRPC, our first attempt to build a mental model was sort of, okay, let's figure out which parts of the API apply out of the server and which parts apply to the client, and we'll use those in the appropriate places. So we thought, well, okay, maybe LDS and RDS are really about configuring incoming requests. So we'd use those on the gRPC server. And CDS and EDS are configuring outgoing requests, so we'd use those on the gRPC client. So it turns out this doesn't actually work. Most of the configuration that we actually need that's really interesting to configure things on the gRPC client is actually in LDS and RDS. This is things like traffic splitting, retries, timeouts, that sort of thing, things that we really do want to set on the client, but they're in LDS and RDS. So we were talking with the Envoy folks and trying to figure out what the right way to model this was, and Matt Klein suggested a new approach, which is something called an API listener. So what is an API listener? The idea here is to generalize the concept of a listener such that there are different types of listeners, and each type of listener configures a different type of interface for the application. So you'd have two main classes of listeners. You'd have your existing socket listeners, like the TCP and UDP listeners, which basically configure a TCP or UDP socket for the application to use. Or you have API listeners, which will configure some sort of API for the application to use. And the one type of API listener that we've added is an HTTP API listener, which configures an API with HTTP-like semantics. This includes the gRPC API, which is basically a subset of HTTP functionality, because the gRPC protocol is actually built on HTTP2. The hBAPI listener, it should be noted, is also intended to be, it's not gRPC specific, it's intended to be used by Envoy Mobile in the future, and there could be other HTTP XDS-aware clients that might use it in the future as well. You could also have other types of API listeners in the future. For example, it's easy to imagine that there could be an SQL API listener that would configure some sort of SQL-based API for an XDS-aware SQL client. Now, the configuration of an HTTP API listener is a subset of the socket listener configuration. So a socket listener primarily contains a list of L3, L4 filters, where the HTTP connection manager filter is the last filter in the L3, L4 filter chain, and then that's where all the L7 functionality is configured. But in the case of an HTTP API listener, we don't need any of the L3 or L4 functionality, we just need the L7 stuff. So an HTTP API listener's configuration is essentially just the configuration for the HTTP connection manager filter. Now, the second change, other than introducing an API listener, the second change that we made for GRPC and XDS is related to the special way in which Envoy uses LDS and CDS. Envoy uses those two APIs differently than it uses the other XDS APIs. And the special behavior doesn't really make sense for GRPC. So the general XDS flow for Envoy is when it starts up, it immediately sends both an LDS and a CDS query in parallel. These basically act as sort of dual routes for Envoy's configuration. All of the other resources are sort of chained out from the listener and cluster resources. So for example, when Envoy receives the LDS response, that tells it what RDS resources it needs, so it goes and requests those resources by name. Similarly, when it receives the CDS response, that tells it what EDS resources it needs, and it goes and requests those by name. And all of the other ancillary XDS APIs work the same way as RDS and EDS. For example, VHDS is chained off of RDS, and again, Envoy asks for the specific resources it needs by name. So the only two APIs that are really special here are LDS and CDS. The rest of them are all quite uniform. And LDS and CDS are special in sort of two main ways. Number one, instead of asking for the specific resources that it needs by name, Envoy makes what we call a wildcard query. This is represented as a request where the resource names list is empty. In other words, the client is not telling the server, here are the specific resources I need. It's instead saying, I don't know what I need, you tell me, and the server is expected to sort of magically figure out what resources are appropriate to send to the client, typically based on the client's node identity, and then it just sends a whole bunch of resources to the client and whatever it sends is what the client will use. And the other way in which LDS and CDS are special is that Envoy automatically makes both of those calls at startup. This kind of makes sense for Envoy because as a proxy, not something that's built into the application, Envoy can't have any way of knowing a priori, what ports to listen on, or what upstream clusters it may need to talk to. And so it needs to know about everything it might ever need. So making these queries up front sort of makes sense for Envoy. But it doesn't really make sense for GRPC, right? GRPC is built into the application and when the application creates a GRPC client channel, it creates the channel to a particular virtual host. So the application knows exactly what virtual host it's going to be talking to and it knows it's not going to need anything other than that. So we don't really want to send the client info for virtual host that it's never going to use. So in GRPC, the XDS API flow is a little bit more linear. When the application creates a channel to a virtual host, in this case server.example.com, that triggers GRPC to go and make an LDS request for a resource of the same name. And this resource will be an HTTP API listener and it acts as basically a single route for GRPC's configuration and everything else is chained off of there. So the LDS resource tells us what RDS resources we need, the RDS resource tells us what CDS resources we need, the CDS resources tells us what EDS resources we need. So in effect, GRPC uses LDS and CDS exactly the same way as the other XDS APIs. It doesn't do the special stuff that Envoy does, right? We request the specific resources we want instead of making wild card requests and we don't proactively make LDS and CDS requests at startup. The LDS requests happen when the client creates a channel and the CDS requests happen when we get an RDS response. All right, so we've talked about what changes we made to the API to support non-proxy clients. Let's talk about a couple of other gotchas that we ran into related to the transport protocol. Now, very simple XDS servers. The simplest possible XDS server implementation is to basically just say, okay, when the client makes a request for a given resource type, I'm just going to send it every resource I know of that type. Whether or not it needs it, I don't care. I'm just sending it all those resources, right? And if you do that, you can actually get away with that and that should work pretty much fine with GRPC. But it turns out that for protocols other than LDS and CDS, the XDS API, the transport protocol is actually designed such that the server really only has to send the resources when they've changed. So if the client is subscribing to four different RDS resources and only one of them is changed, the server really only has to send the one that's changed. It doesn't have to resend the other three. Now, in GRPC, we try to make things easy so that we can work with these very simple XDS servers. Even though we're requesting the specific resources that we need, we're going to ignore any resource that we received that wasn't one of the ones that we asked for, right? Which is fine. That works pretty well. But there are a couple of implications about this that you need to be aware of if your management server is trying to be more intelligent and only send things that have changed, right? So number one, the client doesn't validate the resources that it's going to ignore. So even if they're invalid, GRPC is not going to enact them. And number two, GRPC is not going to cash these resources, right? Which means that if a resource is requested later, the server must resend it even if it thinks the client has already seen it, right? So to take an example here, let's say that initially the client is only requesting resource A, but the server decides to send it resources A and B. Later on, if the client requests A and B, the server needs to resend B instead of assuming the client already has it, even if B hasn't changed, right? So the server has to be aware of what the client has actually subscribed to and make sure that it's sending it what it needs when it requests it. This isn't much of an issue for LDS and CDS since they actually require that all resources are present in every response anyway. But for RDS, EDS, and all the other APIs, because the server can send only those resources that have changed, this is something that you have to watch out for. Unsubscription is also kind of interesting. When the client is no longer interested in a resource, it can unsubscribe. It does this by sending a new request with the resource name no longer present in the request. So for example, if the client previously sent a request for both A and B, and now it wants to unsubscribe to B, it'll send a new request that includes only A. Now there's an edge case here, which is sort of interesting, which is what if the client has subscribed to only one resource of a particular type and it wants to unsubscribe? Well, so then it's going to send a request where the resource names list in the request is empty, which is actually also the same way that it's exactly the same way that the protocol indicates these wildcard queries that Envoy uses for LDS and CDS. So the answer is that the way you deal with this is that a request with no resource names is interpreted as a wildcard query only on the first request for that resource type on a stream. So the decision to use wildcard query can only be made at the beginning of a stream. If a client has previously sent a request with non-empty resource names list, a subsequent request with an empty list means unsubscribe to all. It does not mean wildcard. So management servers need to be careful to get this right. There are a lot more gotchas in the transport protocol that we ran into as we were trying to understand it. There were actually quite a few edge cases and interesting things that are sort of emergent behavior of some things that have been put in the protocol. So I'm not going to cover them all here. I don't have time to get into all of them, unfortunately. But what I did do is, as we ran into these, we worked with the Envoy community to update the XDS documentation to explain how these various edge cases are supposed to work and how clients and servers are supposed to react when they encounter them. So for anybody writing your own XDS server, or it's just client, for that matter, I strongly encourage you to read the XDS spec. We've got a lot of good information in there about how to handle these various edge cases. And if anything's unclear, you can inquire about it and we can clarify the documentation even further. All right, so let's talk about what a management server needs to do to support GRPC. Imagine that you have this existing configuration for use with Envoy. We've got a TCP listener resource that's pointing to a route configuration and that route configuration defines three virtual hosts. And let's say that you've got GRPC traffic that's currently going through Envoy to those virtual hosts. And now you want to switch to ProxyList GRPC. How do you do it? So to do that, you need to add an HTTP API listener for each of the virtual hosts. Now, as mentioned earlier, the HTTP API listeners don't have L3, L4 filters in their configuration. It's just the HTTP connection manager. But the configuration in the HTTP API listeners can point to the existing RDS resource, which can be shared between GRPC and Envoy. You don't have to duplicate that in most cases. And once you have the new resources set up, all you need to do on the client is there's a bootstrap file that needs to be created that tells the client where the XDS server is. And then you need to just tell GRPC to use XDS by using an XDS colon URI when you create the channel. And then it just works. It's magic. Now, GRPC does validate and cache the entire route configuration, right? So it can't ignore virtual hosts other than the one that caused it to look at the route configuration, because the application might later create a channel to another virtual host that might refer to the same route configuration, right? And the example on the last slide, if initially the application only opens a channel for service one, it'll get the route configuration that has all three virtual hosts in it. And then later, if it opens a channel to service two, now it's got a new listener resource that's pointing to that same route configuration, which already includes the information for service two. So we have to cache this and validate it up front so that we've already got it when it actually, if it's going to be used later. Now, it does take up a fair amount of memory in GRPC to store all this information. So if you're in a situation where the route configuration includes a really large number of virtual hosts, but GRPC is only ever going to use a small subset, one way you can avoid giving GRPC all this information that it doesn't need is to just inline the relevant part of the route configuration into the HTTP API listeners. That way, each listener only grabs the information for the one virtual host that it cares about and everything just works. You might also run into a case due to a bug or a mismatch in behavior or something where GRPC might reject to config that Envoy would be okay with. So let's say that you have a route configuration that has one virtual host that is used by GRPC and another virtual host that's used only by Envoy and GRPC is, for some reason, rejecting the config because the one that's meant for Envoy, even though GRPC will never use it, is somehow getting rejected. If that happens, then moving the relevant part of the route configuration into the HTTP API listeners is also a decent workaround. We hope you shouldn't need to do this. I only know of one case today where it's a problem. I'll mention it later. It's something that we're going to be fixing. So if you run into this, this is a possible workaround, but also let us know because we want to avoid the need to actually do this. It's just something to keep in your back pocket in case you need it. And you do, of course, need to support non-wildcard LDS and CDS requests, which Envoy will never make, but GRPC does. This will mostly be a no-up for CDS because even if you're doing a pure state-of-the-world response where you always send all the resources, that should work just fine. In LDS, the one thing you need to be aware of is that you need to make sure not to send the API listener resources to Envoy when it makes its wildcard requests because it won't know what to do with them. All right. And so finally, let's talk about our current status and roadmap. For those that may not know, there are actually four variants of the XDS transport protocol. There's two different dimensions, aggregated versus non-aggregated and state-of-the-world versus incremental. So every combination of those yields four variants. GRPC currently supports only the aggregated state-of-the-world variant. We will likely support the incremental aggregated variants in the future, but we don't have any plans, at least right now, to support the non-aggregated variants. We support XDS right now in the GRPC client only, not yet in the GRPC server, although that's, as you'll see on one of the next slides, that is in the works. And you can see the list of features that we currently support here with a few noted limitations. The one I will mention, I want to call out, is in route matching the case-sensitive field. As I mentioned earlier, this is the one case where GRPC will currently reject to config if case-sensitive is set to false. We are going to be fixing that so that you will be able to use case-sensitive false if you want, and we will not reject configurations that have that. So we do plan to fix that in the near future. Here is a list of features that are on our roadmap. We've already started implementing timeout and circuit-breaking support, and a bunch of others shown here are in our pipeline. You can watch our proposal repo to get notifications when we post GRFCs, which are GRPC's design proposals. The one thing that we know is coming in the not-too-distant future that we don't yet have an answer for, but we're going to be really thinking about hard, is how do we support HTTP filters in GRPC? The reason this is challenging is that GRPC already has a sort of plug-in mechanism called interceptors, and GRPC interceptors have some architectural differences both in terms of where they are on the stack and in terms of what their capabilities are relative to Envoy's HTTP filters. So we're going to have to figure out how to sort of bridge that gap in the API here. And that's something that we know we're going to need to do both for fault injection and for observability. I would encourage you to file bugs in our repo if there are features that you need that either we haven't done yet or aren't on our roadmap. I can't promise that we will prioritize whatever you need, but it will be very useful for us to know what features users want here. That will help guide our development. And of course, if you want to contribute to the implementation, we can help guide you in doing that as well. GRPC has three main implementations. We have native implementations in both Java and Go, and there is a C core implementation which is used as the underlying implementation for all the languages that you see here. I should note that in C-sharp there are actually two different implementations. There's the one that we provide that is wrapped around C core and there is a separate native C-sharp implementation for .NET that is written by Microsoft. That implementation, as far as I know, does not yet have XDS support. GRPC also has a native node.js implementation that has just recently started adding XDS features. This is lagging a little bit behind other languages in timeline, but they are working on catching up. There are a few control planes that work with Proxilist GRPC. Google's traffic director control plane is the main one that we develop and test against. And you can look at this. The link here goes to a blog post that talks about Google's traffic director product and how it works and what it supports. Istio also has some basic experimental support for Proxilist GRPC. They don't have any documentation for it yet, but they do have a test that shows that it works. So I would encourage people to file bugs against Istio if this is something you actually want to use in production. The more bugs you file, if you file bugs on that and express your interest in it, that would help them prioritize, no doubt. And there is a bug open requesting GRPC support and go control plane as well. So I want to leave you with one final thought. Until now, there was only one XDS client, which was Envoy. Now with GRPC, there are two, but I think there's going to be more in the future. I don't think this is the last one. I've already heard of a couple of cases where people have been talking about building an XDS aware HTTP client library. And as I mentioned earlier, there will likely be cases where people will want XDS aware SQL clients. So, and I suspect that there will be even other use cases in the future that we haven't thought of yet. So, I think this is a really exciting time for the XDS ecosystem. I think it's becoming richer and more varied and I'm really excited to see where it goes. So, with that, I will take questions. Thank you.


Hey guys it's Liana and I'm here today with my April wrap up. I read a lot of books in April. I kept telling y'all that my April TBR was madness and I was not kidding or exaggerating. I mean you saw my TBR and you knew there was books in addition to that that I was scheduled or set to be reading. So as is now public the TBR or the the wrap up of the booktube where chooses my TBR where Bethany sent me books to read and I sent Bethany books to read and we vlogged it so that's already on my channel. So like the four books on here that are from that I'm not going to talk about too much because like I have a whole lengthy video or I went quite in-depth about what I thought about each of them so I don't want to like waste your time. So I mean I'll mention them. They're in this stack but I won't be spending too much time on that. Anyway how many did I read? One two three thirteen books. The last time I read thirteen books in a month was last October. I know because I had 26 Halloween-ish books on my TBR and I read half of them and I was very proud of it at the time. So the first book I read was Destiny's Captive by Beverly Jenkins which I loathed and despised entirely and like probably the majority of the runtime of that booktube or chooses my TBR vlog is devoted to this book. It's like the first half of it is just this. So the new list to say I don't recommend. It's just in a nutshell. My response to this book is yikes. The next book that I read was The Lost Apothecary by Sarah Penner. I read this because as previously stated my plan for the month, no my plan for the year to keep up with my Book of the Month Club books is to read the previous month's Book of the Month in the subsequent month. This was my March Book of the Month so I read it in April. I am on track with this plan. I was very concerned about this book letting me down because I think this cover was real pretty and I have recently begun to identify with apothecary as ever since Alan declared that I look like I live in an apothecary or not that I look like maybe he thinks I look like I would live in one regardless of my living situation but where I live he thinks looks like an apothecary. It just it spoke to me on that level despite the purpliness of this cover. I liked it. I really did. I was I was hearing mixed things and I put it on my TBR people were like oh it's so good I can't wait for you to read it and other people were like oh good luck with that one and I was like uh-oh because when things are polarizing I'm already tough to please. Even the most popular books of the year are books that I often hate so I was like uh-uh. I quite liked this. I did not think it was groundbreaking. I would not say it's a favorite of the year but I really liked this and I don't really know I haven't bothered to investigate. I don't really know what problems anybody would be having with this like it very much was kind of what I would have expected it to be. People had me worried. They were like oh yeah I was excited about that but it was they let me down. I don't know what were you expecting. This book is exactly what it purports to be so if you don't know anything about it it kind of takes uh it's like a dual timeline uh present day and in the past and they kind of like are connected because of an apothecary. So in the present day there's a woman visiting London and um she kind of stumbles upon this like what was this apothecary at one time but it's kind of like it's this like back alley and it's been forgotten and like I mean there's like more to like how she stumbles upon that but that's basically like her like how she's involved with this or how she's connected to this because she stumbles upon what was once this apothecary. She has her own kind of personal life issues going on that in like not exactly not precisely but in their own ways mirror the events of the past and in the past then we're following like this lady who owned this apothecary as well as this young girl who sort of like came to uh came to the apothecary and ended up kind of working with and for the apothecary and this apothecary is one that like while it did sell regular stuff that one which is generally need it kind of specialized in kind of like not off the books because it did keep its own record of this as well separately this secret underground trade of like poisons and like women's remedies basically like for women who are in trouble somehow that they could come here and like if they you know the law didn't really protect women back in the day so like if a woman was being abused or something and like there is no recourse via the law to get out of this this apothecary would sell her a poison to kill her husband. So yeah I thought the intermingling of the plot lines was cool the way they kind of mirrored and paralleled each other but you know it wasn't this like on the nose where it's like exactly history repeating itself it wasn't but it was interesting like the kind of ways it's connected and in the ways in which it kind of comments on women's kind of like the place of women and women's rights as it was and has it is now and the ways in which women can sometimes still be second class citizens in the present day but the book isn't being just like angrily screaming at the reader that women should be treated better by the modern society it's not doing that like it's not like aggressively soap boxing or anything but it's kind of like pointing out ways in which society's biases and the role of women in society that like is presumed by society and this presumption is kind of projected onto women how that can affect women even to the present day. So I thought it was interesting I thought it was fascinating I was quite invested in all of the women characters that you know both in the past and the present it's not very long it kind of like it tells its story it's this little like slice like we're not doing the life story of the woman in the present day we're not doing the life story of the owner of the apothecary it's just this like little kind of slice of their lives that kind of is this paralleling chunk of it. So I think it handled what it was trying to do very well and it was interesting compelling cool atmospheric in short it it was fine like this is what I wanted out of it it was exactly what I thought I'd get out of it so I would recommend it I don't think it's like the best book ever but like it's quite good and it's exactly what the bookjack it says that it is so like that was great. Next book was a reread and that was Stone of Tears by Terry Goodkind I love the sort of truth books I recently did a podcast with Bethany over on the chapter through podcast I'll leave that link down below because she and I both love the sort of truth books and we kind of read them pre booktube pre books to gram pre or online bookish life and we've kind of been like revisiting them together because we're like there's not a lot of love for sort of truth there's there's not a lot of like for sort of truth there's a lot of derision for sort of truth so she and I kind of like bonded over like we like these books though and like aren't they the best thing ever no are they perfect god no was Terry Goodkind's like yes but they're pretty good like we had a lot of fun reading them back when we read them and like now rereading them we were like oh like were we just young and we like didn't know what good books were but like rereading them she and I were both like they're still really good like they're a lot of fun to read and like they're they're good best ever no have problems yes but they're just a ton of fun to read and she and I maintain that we like them and recommend them so I had a ball reading stone of tears um genuinely sincerely very possibly my highest like reading enjoyment level this month was stone of tears just because it was fun nostalgic escapist fun and like I talked about this a lot in the podcast maybe it where did I maybe I thought about it a lot I don't know but like there's very few fantasy series like since this was like kind of my first there's very few that I've read since then that have delivered the like pure whole mind and body escapism that the sort of truth books delivers where like I for the duration of this read am transported to a different world there's a lot of great books that have a lot of great world building fascinating characters that I love a lot and that I think are better written like do I think Robin Hobb is a better writer do I think Patrick Roth this is a better writer do I think uh Joe Abercrombie is a better writer yes I do 100 no question about it but none of them really transport me to like this like fantasy adventure that I'm just like living the way Terry Goodkind's books do and again they're they're not the best written we'll not say that but I am transported to a fun fantasy adventure that I feel like I'm like living with these characters and going on this quest and like it's exaggerated it's ridiculous but it's fun it's so fun so I had a ball rereading Summer Tears and like I maintained that like if you've just heard that Terry Goodkind was like a freaking weirdo he plus I'm sorry tear you know you were but you know get him from your library you don't want to spend the money they're they're fun next was another reread and that was Ruin and Rising by Lee Bardugo this wasn't such a fun reread um and if you want to see the live show on Jesse's channel because me Jesse and Joshana concluded our like reread of the Grisha books in anticipation of the Shadow and Bone show dropping um so you know the live show for Ruin and Rising is on Jesse's channel I will also leave like that link down below and like mild spoilers like this is a YA adventure romance fantasy so I don't think this is very spoilery but like I'll put a little something to indicate that spoilers are occurring and when they stop but basically like the first time that I read this I was so panicked about like the fact that I thought that Mal wouldn't be endgame and so then like I was so relieved when I finished Ruin and Rising that Mal was endgame and that she did end up with Mal and he was like the the ship that like I gave it five stars because I was just like oh they are together oh so this go around like I'm actually like paying attention to everything else because I wasn't worried about it I wasn't sitting there going this is probably the last time they'll talk or this is basically goodbye or like that's the closest they'll come to being together this is heartbreaking like I wasn't stressed about that I was just like yeah I know they'll be together okay so like let's do this adventure and I was actually paying attention more to the adventure and to like the magic and the actual story and I was like this doesn't make a whole lot of sense like none of this makes like any sense so I still had fun the characters are fun the world is fun I like it I have a good time with it but it is no six of crows oh next up is fireborn uh fires are amundas oh fuck fuck ow I enjoyed this I heard a lot I think it was over hyped for me to be honest then again I don't know I don't know um I did go into it I think I maintained tempered expectations because even though it was so hyped I was just like is it though I also don't like the new covers so I'm just like I would like almost prefer not to be into this because like if I'm really into this then I'll be even angrier about the fact that I won't have a matching set with this style of cover and I did like this so I am upset about that but I'm not like this isn't like my new favorite series of all time so like this isn't like if six of crows had a cover change in the middle and I'd be like this is more just like I do prefer this style of cover and in my perfect world because I would like to read flamefall which is the second one I would prefer the cover of flamefall to be in keeping with this style but no one asked me so fireborn is a YA fantasy that like I think was like it was underhyped to me a lot when it came out which is why I didn't really like prioritize it when it came out and then it was overhyped in the interim so I approached it with like with like we like leveled out at neutrality because it was like way underhyped and then it was overhyped and I was like these like average out to neutral so I went in neutral and it is I think I think it's good I definitely think it's good and I think it's definitely better than like a lot of YA that I've read recently that's like come out more recently because like I mentioned before that perhaps this is merely my impression like I don't have data to back this up but I feel like there's just like so much YA that's just being churned out by publishers that there is very little attention being paid to actual quality and again like that's a feel fact I have no data to support this beyond my own anecdotal experience but that's how I've been feeling when I've picked up new YA and I'm just like oh this sucks this is just like everything else they just put a new cover on basically the same old story and the other the time they did it was better that's how I've been feeling so this reminded me more of like older YA that was back from when I still liked it like back in the day when we had ember and the ashes and six of crows and strange to the dream or these were the YA big hits this was more in keeping with that era of like era which was like four years ago uh it is I think the latter half is much better than the first half the first half is insanely info dumpy it's a lot of telling and not showing a lot a lot of that and I feel like there are more subtle and organic ways to introduce us to this world it's doing a lot of catching you up to the political situation catching you up to who everyone is how this political system is supposed to work who the sides are how they all feel about those sides what the dragons are how they work and like there's a lot of interesting information there like I like this setup and I think it's an interesting us interesting setup to have to be telling the story in and to be had it introduced some interesting themes to play with it I would actually see in YA very much I just feel like it was delivered to the audience to the reader in a very like info dumpy way so I just I felt kind of annoyed and exhausted by the beginning of it where I was just like okay like please stop lecturing me like please stop encyclopedia spewing at me about the world and I would just like to kind of like learn it as I go but I just generally prefer to learn as I go a lot of books info dump and I always hate it the latter half really now like you got to pay off so all this setup for like this political situation um is actually like paying off in some very interesting character dynamics and some very fascinating kind of uh conflicting priorities and like gray morality etc etc so I ended up quite enjoying it and I thought a lot of those themes were handled in a very much more subtle and nuanced way towards the end where the beginning was again a lot of telling and not showing and I was like whatever but it like it got good so I feel mixed about it because like by the end I think like if I was rating them separately like if not that I think they I don't think this should be split into two books I'm not arguing that like all this this should have been two books I don't think that but if I was like you know rating the first half separately from the second half you would be like three and five and so I ended up giving it a four because like I think that that's fair right uh because the ending is like five star quality the beginning is like a three at best so I would say if you are picking this up if you're interested in the world that it's set up if you're interested in the types of themes that are necessarily introduced by the setup that's being info dumped at you that you there is payoff for that like she ends up doing cool stuff with that it just it takes a while to get there for this to be a truly excellent book like I would have preferred my introduction to this world to be just as good but overall I think it was a good book and I recommend it I would like to read playing ball next up was 100,000 kingdoms by NK Jemisin this was the patron buddy read for April and I had a ball reading this um I love love love love love the broken arts trilogy and it was actually really interesting for me going back to reading the first book that she wrote because I believe this is her debut and it was interesting seeing kind of like um like the prototype version of like a lot of themes that she actually ends up exploring in broken earth so it was kind of like seeing the like like the drawing board version or like baby Jemisin kind of like nudging those concepts and being like this is a thing that I kind of want to be doing and then she like full on does it in broken earth so 100,000 kingdoms was like I might maybe enjoyed it more because I was going the reverse order if I'd read this first it was my first ever exposure to Jemisin I still would have liked it I think she has a very distinct authorial voice which is like impressive that that voice is so clear and so distinct in even the very first book that she wrote you're like you open it you read the first like sentence you're like this is the Jemisin book just straight up but because like it wasn't just this story and these themes that I was like engaging with I was also engaging with like the metatextual like Jemisin catalog where I was like ah this is interesting to see you doing this like I in my mind till now this was unique to the broken arts trilogy and now it is unique to Jemisin in my mind but it is something that she has now done more than once this isn't something that is only done in broken earth this is a thing you clearly are interested in and like to do and we're already trying these things out here so I don't know I recommend I don't know which is the better way to experience it I can only tell you how I've experienced it but I think there was something to be said for reading broken earth first and then giving this ago because it's it's interesting to see and actually I mean I have a similar recommendation for Six of Crows and Grisha trilogy because I read Six of Crows first and I think it's truly excellent and then went back around the Grisha trilogy and if I had only ever read the Grisha trilogy like I wouldn't be all that impressed with Lee Bardugo as a writer like I still think the Grisha trilogy is like a lot of fun but it's like it's fine but because I read Six of Crows then I just kind of like had a lot more love for the world and also knew that Lee Bardugo like her ability to like tap into like character messy characters like she really like leans into that later so like reading the Grisha trilogy after you're like starting to see how she's kind of like going in the direction of being doing more introspection with characters but is like kind of sidelining that to tell the adventure story and she like must have realized that like her strong suit is this like character introspection which she really leans into in Six of Crows so in that case too I would possibly recommend reading it the reverse order. Any of you who's back to 100,000 Kingdoms I really enjoyed this I immediately went out and purchased the next two books in the series which are not so much this isn't a series where like this is like one story that's broken into three parts the other two books are like tangentially connected to the events of this book but it's not like a direct sequel in the traditional sense but I am fascinated by these themes I love Jemisin's writing style like now having seen that this voice carries over again it's not unique to broken earth this is just kind of like Jemisin's voice is a voice that I love and I'm excited to read more Jemisin and I'm I just chewed through this absolutely loved it can't wait to read more. The next book I read was The Lord of the- no if I wasn't this is my kindle um I read the Heart of Blood and Ashes by Mila Vane or the Blades and Bodice Rippers book club and I hated it I did like the heroine in it which again if you want to see my full or more thoughts then go check out the live show that was on Bethany's channel um where we all four of us discussed the book I liked it I think least per usual it was a barbarian romance emphasis on a barbarian and uh I think all of us agreed that we liked her a lot more than we liked him even like the people in the camp of loving the book it was too long I think all four of us agreed that we liked her better than him and that the book was too long I wouldn't now recommend but it is apparently quite popular in the romance space for people who like barbarian romances like people are like this is the one so like I can't claim to understand it but apparently people are loving this so if it sounds appealing to you maybe give it a go because people love it I don't know why next is another reread and that was Besser of Cold by Joe Abercrombie this uh was my favorite Joe Abercrombie book until the new trilogy started coming out so a little hatred dethroned Besser of Cold and then trouble appeased dethroned a little hatred this was my like nearly third time reading this I have I think already posted my review I was a little more on the ball with actually reviewing it like more quickly after having read it so I think that's already up non-spoiler I still enjoy this book I still think it's fantastic I still think it's great Call of Shivers is like one of my favorite character arcs in all of fiction and a very large chunk of his character arc is in this book it's not all of it but his character arc over the over the across the first law books like is a is a fantastic one and you really get a lot of them meet of his character arc in this book so I just I'm always here for that the main thing this book is missing is Glockdown but every book is missing Glockdown so yeah I again I talked about this in my my review I'm I I'm almost wanting to say I'm disappointed with it but only because of the first law books that I have reread this is the only one that I feel like is the exact same experience every time you read it it isn't different the other first law books like you've learned something along the way or you've learned something by the end that completely like recontextualizes the previous events so then upon reread you are now like experiencing this story and these events through a completely different lens because your like your view of it is colored by what you now know best of cool doesn't really have anything like that about it it doesn't end in a way where you're like oh oh um so rereading it it's just like a fantastic book so it's a good book and it's good to read a good book but it isn't a new experience rereading it and like having loved how fun it is to have that new experience reading other first law books it's kind of disappointing to not have that but I guess like the first time you read it like you'd know I I should have expected that because like yeah there isn't really anything about the ending that reframe is the beginning so it's a great time it's well written I love these characters love being in this world I enjoy it but it's not it doesn't have kind of like those layers of experience that the other books have so I guess that's a weakness in a way it's not an immense weakness but um that was my main takeaway next up I read rain and ruin this was another book that Bethany picked for me and I ended up really really liking this one in terms of just reading enjoyment out of the four books she sent me this was the one I probably enjoyed the most had the most fun reading this is a fantasy romance it is like 50 50 mostly like me or 60 40 maybe I don't know it is a strong fantasy story with a lot of politics and battle and a magic system and like all that kind of thing but it's kind of almost like the style of YA fantasy because YA fantasy tends to like put in a lot more of a romance plot than most like adult fantasy does so this is in that and keeping with that kind of style but it's for adults so it's not YA it is definitely adult but it's like YA and the like emphasis on romance and then it does have like adult content um related to the romance but I think I really enjoyed it for that reason because it feels like the best of like old school YA where it just feels like a great fantasy story but with this like strong romantic current and then we've like aged it up because like these aren't 16 year olds like they're adults making adult decisions um about their love life and I had a really good time it's a Middle Eastern inspired world which is really like kind of lush and the author is like her prose is very evocative so it was it was a good time and I really liked main characters and I would definitely read more from this author I enjoyed this another Bethany book uh fledgling by Octavia Butler I had uh I own parable of the sewer and had thought and intended that to be my first Octavia Butler but I haven't read it yet and Bethany sent me fledgling so fledgling ended up being my first Octavia Butler I overall also enjoyed this one this was of the ones Bethany sent me the one that I think is probably the most impressive the best like the best book but I had some problems with like the way in which the book is structured I thought were less quality than like the themes like the story itself the themes present in it what like the characters are doing the like concepts she's exploring etc is fascinating and unique but the the structure of the book is very kind of like info dumpy and kind of rushed and and things like that about it so like as like a reader like the reading experience like I thought it could have been done better but like what the thing that is being explored here and like the themes that are introduced and the concepts that are being played with was fascinating and really cool and really interesting so I definitely want to read more Octavia Butler again I still want a repairable of the sewer I own it so like now it's next up unless somebody again like scoops it and gives me some other Octavia Butler there for some reason I have to read so I intend that to be next but yeah I definitely recommend this um I had zero issue with this I don't super super duper get why anyone would have a mega issue with this but I'm informed that people have an issue with this so I'm like paying it forward giving you the warning that people take issue with the fact that the main character in this who is he like a vampiric other species and not a human person it is not and vampires in this world are not humans that are like turned they're just a different species it's not a human she looks kind of like an adolescent she looks like a kid but she is not a kid because when she's not even human and too she's older than she looks so like on the inside she is an adult making adult decisions so people take issue with the fact that this childlike looking thing does very adult things again I have zero issue with this because of like how it's framed this isn't a kid doing doing these things it's not even a kid that was turned into a vampire doing these things this is not even a human so like I don't care at all but again I understand that there are people that really are bothered by that so FYI next is another Bethany book and that was American Hippo these are kind of backed back because I was like coming up on the deadline to like be posting the video and I was like I gotta finish these I hated American Hippo very much don't recommend this this is actually a bind up of two novellas and two short stories so four all together that all take place in this world it is an alternate history America where the American government this is a real thing that was considered by the American government that is to import hippos and ranch them obviously America chose not to go with the hippo plan but in this book America did decide to go with the hippo plan but these stories don't really like explore that at all beyond just like FYI there's hippos like we're pretending like that did happen but we're not gonna like actually like go into that at all so that's these books aren't about that they just take place in a world where that happened if that makes sense and I would have much preferred a book that actually is about that and the repercussions of that which would have been immense there would have been incredibly like they're far reaching repercussions for if the government had done that book isn't concerned with that the book is a bunch of like it's a whole bunch of characters that in my opinion are very surface level and aren't like it I didn't think this was fun I didn't think it was interesting but it was boring as hell so would not recommend the second to last book that I read was a buddy read with Mara from Books Like Woe and Alan from the Library of Alan Sandria and that was Jamaica Inn by Daphne Jemaurier I think I mentioned this in the TBR video like we kind of figured out that like even though the three of us have like kind of wildly different tastes and interests our like Venn diagram crosses over and this like neat little nugget of of Daphne Jemaurier so we buddy read Jamaica Inn and I think all three of us really liked it and I think all three of us like Rebecca better so like that's kind of how we figured out that all of us would be interested in Daphne Jemaurier because we had all read Rebecca and liked it and we're interested in reading more yeah I I think I mean is it an incredibly atmospheric book this seems to be like basically Daphne Jemaurier's kind of thing is atmosphere setting a mood setting a tone really putting you in a place in time really putting you in the headspace of characters that are in this place making the place almost a character unto itself the location here isn't quite the like character that Mandalay is in Rebecca but Jamaica Inn and like though this rural remote place where this book takes place is like a constant like like the fact of that is it's more than a setting the fact of that is is present throughout the story in a very active way I thought it was an interesting exploration of some gray characters I likened it to grimdark in that like the characters aren't there is no like good guy the people like I guess you're rooting for them but mainly you're just kind of following them you're kind of just seeing what these people do in the situation and the author isn't trying to be like but it's fine because I explained it with this or like you know like I feel like in particular why I will do that were like the broody angsty bad boy who seems like the bad boy but then you find out his secret backstory motivations are that like he had to do this because he was forced to do it and then you're like oh he's secretly a good like the book doesn't try to do that like people are messy and they are a lot of them not good but it's just a fascinating kind of like slice of humanity in this rural part of England doing some questionable things so I think it's interesting the ending is quite a packed quite a punch I'd been kind of spoiled for it because I've seen a few adaptations of this none of those adaptations are actually as accurate as the Hitchcock Rebecca is to the book Rebecca for that reason like I was somewhat spoiled for what would happen but I will say that the way that it actually happens in the book if you like me have seen like the mini series that they did a couple years ago it's Jessica Brown Finley or if you've seen the Hitchcock one it's nothing like the book you are not spoiled for anything and you've seen some adaptations of this the book is different the book just is kind of wild so like if you're like oh I've already been spoiled for that it won't be any fun to read it you're wrong the book may surprise you it did surprise me of it in the end like overall like the events of the plot I was familiar with and knew what to expect but there's some very key details about how this actually goes down that are unique to the book that I haven't have not been present in an adaptation that I have seen and I was like oh okay so I would I would generally recommend this book um and I would continue to recommend it even if you've seen an adaptation because those little last ones uh it's interesting the last book that I read was oh god Northern Wrath by Tilled Cold Holt um I started reading this in January um and I finally actually read it and I was disappointed with this that's kind of why I didn't finish it because I was feeling like oh I don't know if I'm liking this and it was just breaking my heart because this such a Viking book and it's the first in this series the hanged god trilogy and I was so pumped to have like a viking series to be on board with and I was like by not continuing to read it I didn't have to have past judgment on it and I was just like oh yeah I'm reading that maybe I'll get better but I was like pretty sure that I wouldn't but if I don't read it I don't know that so this wasn't a horrible this is not my thing I didn't like how it was executed there are some things about it I mean like the viking lore and the viking neat things in it like I love viking stuff and it was done in ways that I hadn't really seen before at other like viking-ish books but a lot of the way that this is told um so I will say like I do recommend this but not if you're like me but a lot like the way a lot of things about the writing style are reminiscent to me of things that I strongly dislike in like John Gwynne's books or Brandon Sanderson's books to authors with immense popularity and success so clearly most people do not have the issues that I have so I have to think that this book may very well deserve your attention and reading of it because a lot of people love malice a lot of people love Brandon Sanderson and so those same people very possibly very likely would enjoy this so if you're one of those people if you love the faithful in the fallen series and you love uh the stormlight archive etc this may be for you it's it's it wasn't for me and probably will not continue with the series although the end did pick up a bit and made me almost kind of want to read on but like not really though which is kind of a letdown um I don't think it's bad I gave it three stars did I give it three stars thank you three stars the vikinginess of it like I'm always here for that and I did enjoy it more than malice I just found a lot of it to be quite childish and info dumpy and I feel like I say childish and info dumpy a lot of times about John Gwynne's books and well book I only read malice and Brandon Sanderson's books and again most people don't seem to have those issues it's just me so it's it might be great for me so yeah those are all the books that I read in what month April let me know in the comments down below if you've read any of these books if I've now inspired you to pick up any of these books if uh you love them if you hated them if you agree or disagree with me um our patron buddy read for may is going to be the shadow what was lost which I mentioned in my tbr um but mentioning it again because I was just talking about my patron buddy read and like I had a lot of fun buddy reading with patients so if you want to get in on that my patreon is linked down below or down it's up to you uh I post videos on saturdays other random times as well definitely saturdays so like and subscribe and I'll see you when I see you bye