I am Matt Jacobsen, a partner at Iconic, an investment and venture firm representing some of the most exceptional entrepreneurs globally. I'm thrilled to be here. Over the last several years, we've been a lead partner to many of the most impactful companies in Europe, including, you know, Wolt, here in Helsinki, Aden, Kalibera, Dadaiku, Miro, and many others. You know, very excited that earlier this year we launched our office in London as our first foray into Europe, led by Seth Pierpont, Ritika Pai, and Calvin Yeoh, who are here today, and excited to make many more investments into Europe. You know, we've partnered with a number of global leaders as well, including companies like Datadog, Snowflake, GitLab, and of course, Braze, and thrilled to be here with Bill at Braze. You know, the topic is, you know, choosing the wave, pacing the wave, and owning the wave, and I can think of no better entrepreneur that we've worked with than Bill to walk through this important topic of markets. So, you know, we'd love to put up the first slide, and Bill would love to walk through the process of, you know, I think very few companies emerging market leaders like address a massive market head-on. It's important to find the right entry point and segue, and take control and ownership. So we'd love to put up the first slide and talk about how you chose the wave. Yeah, absolutely. So, our story goes, you probably need to advance back one there. So our, my story with mobile starts actually all the way back in 2007, and the company, Braze, we founded in mid-2011, which was really at the beginning of the smartphone revolution, but my conviction in it was born earlier than that. Actually, 2007, I was living in London. I bought a Nokia N810 Internet tablet, which actually didn't have built-in data connectivity nor GPS. I actually had to buy a separate, about the size of an Altoid 10 Bluetooth GPS transceiver for it. I wrote a web crawler to download all of WikiTravel and also OpenStreetMap. But in the process actually created a, you know, a travel guide that was able to chart my way through Europe as I was traveling that summer, was able to follow the maps with the GPS in real time. And what I experienced was that mobile and that connectivity was going to really provide freedom to people. And so, you know, fast forward to 2010, I was working at Google out in Mountain View on Android, was there kind of for the early days of Android. I remember the big fiberglass cupcake being rolled on the lawn as we launched Android 1.5. And, you know, just had this tremendous conviction that mobile was going to, you know, fundamentally change our relationships with technology, with each other, with institutions. And importantly that huge businesses would be born and built to be mobile first. And so when we started Braze it was that early conviction, you know, first that we would see those huge businesses arise in mobile. And second that the wide scale adoption of mobile by consumers would transform the enterprise. And, you know, what you're looking at here is a chart from the Economist which maps out the number of years that it took before one quarter of the population in the states had adopted new technology.  And then we start to see things really speed up and having, you know, PCs took 16 years, mobile phones took more than a decade. Then the web shows up seven years, smartphones it only took three years. And so that pace of acceleration in technology, you know, I think really comes about because our markets are more interconnected now, consumers are more savvy and more open to adopting new technology. And that has pretty profound implications for startups. You know, when you get that personal conviction that a new technology is coming in and on the edge of being able to really change markets and create disruption, that's where opportunity comes from. And so, you know, mid-2011 we saw a tremendous amount of energy and excitement in the mobile sphere. You know, I had the personal conviction that was born out of both my own experience as well as being in the industry on the ground floor. And so we decided to, you know, take a risk. Me and my other co-founders all quit our jobs. We moved to New York in July of 2011 and decided to start up, you know, the company trying to build something that would help those early mobile apps build more sustainable businesses through, you know, developing their customer relationships, having great conversations with them over time and being able to really build enduring value. But, you know, the market really wasn't ready for it yet. And so many investors, many founders asked the question like, why now? And, you know, what were the different considerations that you balanced, you know, when thinking about that in 2011? Yeah, so, you know, we were obviously the amount of investment and energy that was going into mobile was important. But there were actually some inhibitors in the way in the mobile market for us to really build that into a business. You know, people by and large were not taking their mobile apps seriously as businesses. I actually think that the early App Store model that allowed for, or that where people were buying apps for 99 cents or what have you, actually was detrimental to this. I remember having conversations with mobile app owners in 2011-2012 and they would tell me, I don't actually want to engage my users in the long term because, you know, they've already paid me and the sooner they stop using my app, the sooner I can stop paying the server bills for them. And that, like, was rational but was obviously a sign that, you know, the market was still very immature. You know, that's just not how you build enduring businesses. But much like my, you know, my Nokia N810 Internet tablet with its little hockey puck Bluetooth transceiver that no one was going to carry around, you know, the mobile sphere still had some maturation to go through. We needed consumers to get comfortable buying digital purchases. We needed them to, even just basic things like people didn't trust to put a credit card into their phone in the early days. We needed cell data services to get faster, cheaper, more reliable before media streaming would become a thing. A lot of the early mobile businesses also required network effects when you look at things like local marketplaces or other sorts of, like, you know, dating applications which were some of the first premium mobile services. So it took, you know, a good three or four years of development before we started to see all of those external pieces click into place to really create the market opportunity for us to grow. So if we evolve the conversation to, you know, the concept of pacing the wave itself, once you got on that wave and saw all these developments, even that early, you know, phase of the 99 cent, you know, flashlight app, you know, what were some of the signals that you held to in terms of, you know, staying patient as the market continued to evolve? Yeah, well, you know, before I get into that, you know, this slide here, I want to kind of tell a quick story. So before we started the company, my current CTO, John Hyman and I, we actually, we were both software engineers at a hedge fund called Bridgewater Associates, which is Ray Dalio's hedge fund you may know from the principles book that was published after we left. But during our onboarding, one of the chief investment officers drew, you know, three lines that looked similar to this on the whiteboard. And he asked the room, you know, if you were given a choice between these three investments, you know, which one would you choose? You know, Matt, what would be your choice? You know, I would have to go with A in terms of the slow and steady wins the race, particularly in market times like these days. All right. Okay. So some wisdom there, you know, and on its face, this is a question that appears to be, you know, asking you about your appetite for risk, right? How much volatility are you willing to deal with or how patient are you? And it shows, you know, you've got letter C here, which is kind of erratic, but at the end of this time window ultimately has the highest return. But of course, it's going back to the hedge fund world. It's a bit of a trick question because letter C, when you hit that, you know, down point halfway through, all of your investors are racing to redeem. And you're so far behind your high watermark that, you know, in a lot of cases, the fund is going to fold up. And letter B, you never actually got any of the early, you know, fundraising or momentum to even be able to live long enough to get to that point where you hit the inflection. And so really the only viable option here is letter A. And I think that when you look at, you know, the startup growth scenario, you see very similar things in action. There's a lot of examples of companies that raise a ton of money right out of the gate on a bunch of hype, you know, they look like letter C, and then they run headlong into a market that's just not ready for them yet. I think that if we had done that in 2011, 2012, that we would have run into a mobile market that was not mature enough yet, you know, there was a lot of energy and hype around it, but by being patient and being measured in how much money we raised, where we set our growth expectations in those early years, we allowed for us to be, you know, that letter A. And when you look at, you know, a lot of companies that fall prey to that hype cycle early, they also, you know, they bring in a lot of great new employees, but a lot of their equity compensation gets marked to, you know, very high valuations, and then they go through kind of that trough of sorrow. You lose that momentum, you know, you lose that employer brand in many of those cases, and it keeps you from being able to live to fight another day. You know, similarly at B, you never really get the momentum going, and especially when we're talking about markets with rapid adoption, like we did in mobile, where, you know, it was important that we started early on the ground floor, but the market wasn't really ready for us from a product market fit standpoint. However, you know, once we got to four years in, we had the technology advantage, because we'd already been working on the problem. And so, you know, I think right now, especially when we've got the uncertainty that lies ahead of us over the next couple of years, it's just really important for entrepreneurs to be really mindful about the pace that you're setting, and really looking at, you know, how much capability you have to sell into markets as people are afraid to disrupt things, as people are afraid to spend money. You know, you can still obviously grow, but it is really important to measure those growth expectations and make sure that you're setting yourself up for success. I think it's a question, especially in this market and landscape on the minds of many founders and entrepreneurs and leaders at different technology companies today, in terms of, like, what is that right, you know, speed in terms of applying capital, in terms of the, you know, people and progress against these growth curves? Yeah, so this is a model that I used to think about it, and we actually, I presented a version of this at a company all hands, all the way back in 2016, as we were continuing to grow and think about this amongst our own competitive landscape. And so just to kind of orient everyone, you know, what this is, is effectively a supply and demand model, but the supply curve is the cost that it takes for you to sell to an incremental part of your market. So in the early days of a new category, or in the early days of technical disruption, you know, the supply curves are very inelastic, which means that, you know, you can spend up to a certain point and you can sell to those customers that are right there with you on the early side, you know, on the early edge of that wave, but for you to really sell much higher than that, you have to burn a lot of money and burn a lot of calories and you need to kind of create that market on your own. But of course, over time, if you're at the beginning of a wave, what should happen is that these supply curves should swing out over time. And so, you know, that is a combination of external factors. I mentioned some of those in the mobile market earlier, you know, the cell phones getting faster, the hardware getting better, GPS being miniaturized, people being more comfortable with digital payments, some of those network effect companies, you know, starting to get critical mass. Those were all reasons why our supply curve was naturally swinging out over the years. And then there were internal factors that were in our control. You know, we were out in the market talking about customer engagement with a much more sophisticated approach, one where, you know, marketing should be much more than just batch and blast messaging that was tied to single channels. You know, we at Bray's try to approach this problem of developing customer relationships as one where we tie together the business goals and the customer needs, and we deliver that with a cross-channel experience in a way that's data-driven and experimental. But if you look at, you know, the state of broadly marketing automation in 2012, 2013, you know, most of it was just batch and blast, spamming out the same email to everyone in your user base, not really paying attention to where they are in their product journey and certainly not being data-driven enough behind it to really, you know, go through an experiment cadence where you would be able to go through rapid iteration loops. You know, those were all things that we were out in the market, you know, working to help teams structure themselves, encouraging that interdisciplinary collaboration, really training the community. I'm really proud of the fact that Bray's today actually sells to job titles that didn't exist when we started the company. And one of the things that we saw that really swung the supply curve out for us was the formation of, you know, growth marketing teams, of consumer-scale CRM teams, of marketing teams that were starting to collaborate more with their engineering counterparts, and they were starting to assign data scientists to those teams. And so, you know, those were all things that were causing our market to develop. They're also in many markets, you know, you'll see simple things like a CFO needs to assign a budget to your category. You might have a brand-new category that hasn't been, you know, thought about before. Maybe you're selling software into a new buyer that's not used to buying enterprise software in a certain way. You know, those are all things that take time because they involve org charts and they involve budgets. And those are all kind of things where you can certainly influence that. You can be on the conference circuit. You can be out in the media. You can have PR and press. But you also need to be patient about how that evolves over time. And so we try to think about this and say, you know, venture capital certainly lets you be higher up on this curve than you otherwise would be. You know, you can spend into it a little bit, but you've got to be really careful to make sure that you're not trying to, you know, push a rope, if you will, and you're just really kind of crashing into the very vertical part of the curve. And so what we tried to think about was, you know, how do we climb that efficiently and hit that point where we're accessing as much market as we can, but we're not hitting the inelastic part of the curve. We're really just wastefully spending money. And I think it's fascinating this concept of patience, especially in markets that are so obvious to us today in terms of mobile that we're not necessarily obvious and I think some great lessons now, particularly as the market, you know, definitely sinews for the first time in a couple years. You know, I think one of the questions, you know, in terms of your own journey is looking through the lens of the customer and, you know, really trying to think through, you know, how you both stayed focused and met the needs of some of the early visionary customers at the start of the journey for Brays but kept your eye on the prize in terms of where the larger market opportunity was going to be. Yeah, so, you know, I think that this, you know, this kind of CASA model and looking at your early adopters on the left, which is where you find your early customers and then, you know, eventually as your market matures and your product matures, you're able to sell into the mainstream market, has an important corollary to the supply curve concept as well, right? In the early days when your supply curve is inelastic, it's exactly because you're in a part of this where the area under the curve is pretty small, right? When you're selling into innovators and early adopters, it's fantastic. There's a lot of energy around it. They give you a lot of great product feedback and, indeed, they're the only ones who are really willing to risk working with you as a new company but it's important to note that that market is only so big. And so, you know, you can find yourself in a trap where if you are building too much for that group and not really getting over that CASA into the early and late majority, then you can find yourself stuck on that steep supply curve for quite a while. And so I think, you know, for us, it was really important to be able to simultaneously make sure that we were making very happy customers out of our early adopters but also taking a look at, you know, what was it going to take to supplant the enterprise in the space that we were, you know, moving into? Bray's had an interesting combination of green field opportunity through mobile but there was also a massive market that was already there from email marketing and from a lot of the web properties that obviously were already at scale. And so we had this simultaneous opportunity to really build for the brand new mobile app startups but the, you know, the kind of the middle of the curve in the early and late majority was all about selling into the enterprise. And we had a lot of early competitors that actually they chose to partner with the legacy marketing clouds, people like Salesforce Marketing Cloud, Adobe, Oracle, et cetera. And they opted to be the mobile channel bolt-on to those clouds. And, you know, what I think the mistake is there is that you are over indexing on the early majority of the market and actually then robbing yourself of your future, which is where you're going to be able to move into those pre-existing budgets, you know, move into a place where we knew that evolution needed to happen, durability of the enterprise customer base as well.  And so making sure that, you know, you're able to access these very large markets and that you don't get distracted along the way is super important. And, you know, looking through the lens, you know, not just of the market and the product, you know, in an era of minimal viable product and blitz scaling and other things, you know, I think have experienced, you know, many companies kind of rushing to get, you know, product out without thinking through the holistic architecture in terms of mapping it to the arc of that market would be interested to kind of, you know, get your thoughts in terms of raise this journey and how you thought about that in terms of building the correct infrastructure and underpinning before expanding into so many channels. Yeah, it's an interesting point because we didn't really follow the lean start-up handbook very well when we started. The very first version of the product that we launched actually had four different channels in it. We had email push notifications. We had an ephemeral in-product messaging slide-up and we also had a news feed before the Facebook news feed. We were trying to describe that to people as a mini blog inside your app for them to kind of get the concept. But, you know, the reason for that is because we actually were trying to, we were trying to tackle this customer-centric problem of like, how do you build great customer relationships with people? And that wasn't a channel-centric problem. It wasn't, hey, we're trying to build, you know, marketing automation for mobile. We were trying to broadly manage customer relationships and that meant that you needed to have a strong understanding of who the customer was. You needed to be able to take that understanding and kind of merge it with your business goals and that's where the orchestration layer comes in, what you're seeing there in the middle in orange. And then the communication channel that you chose should have been more of an implementation detail about, you know, how you optimize for that particular strategy. By contrast, most of the market before us actually built for a single channel and what that did is it constrained the thinking in the market because you were like, oh, I have an email tool. What email am I going to send people? You weren't, hey, I have a business goal. How am I going to best communicate, you know, with my customers in order to achieve that goal? And then the other side of it was that, you know, we needed to really, you know, that's the modularity across the channels. We needed to also think about where is our differentiation going to come from and what did the new disruption that was coming out of technological change imply about our architecture? So when we look at mobile versus, you know, let's just take email marketing as an example of the legacy market that we've been supplanting. You know, most email from 2000 to 2015 was being read by people on their desks at work when they were ready to do it. You know, it was in a time period when they were focused on their inbox, et cetera. As we've now moved the vast majority of messaging consumption of all kinds onto our mobile devices, it's happening in real time. And the evolving context that's around you needs to be taken into consideration.  We brought these devices into all of the moments of our lives, and that means that if people are going to exercise the right to communicate with us on them, they need to do so in a much more sophisticated way. And so, you know, we took on that challenge and said, let's meet that with modern technology and let's meet that through vertical integration. And so what you see here is actually a conceptualization of braze as a vertically integrated stack where we start at the top where we're integrated directly into our customers' products. And what that enables us to do is to ensure that we have minimal latency as data is generated through customer interactions. It immediately goes from that edge into our infrastructure, and then we're architected as a stream processor. And that means that we have one at a time continuous processing of data as it flows in. It's not a batch process where, you know, the data is generated and it gets written into a relational database, and then every once in a while, you know, we're going to run some sort of process to figure out if we should send a campaign to someone. It really is this real-time event-driven engine that allows for us to respond in the moment to customers as they're interacting with brands. And, you know, that we felt was just super important from a differentiation standpoint in pairing with mobile technology and what was going to make mobile different. And so as we, you know, looked at the early market, we knew that we needed to, as our MVP, at least have the full vertical integrated data flow stack. You know, our orchestration was not very advanced in the early days. The classification was more limited. Personalization was more limited, et cetera. But we knew that we had to have that end-to-end journey and the stream processor that was backing it in order to deliver on that promise of being interactive. You know, not a bastardized term for real-time, which, you know, for a lot of the legacy players means anything faster than an overnight ETL job, right? But truly responding in milliseconds so that you can be a part of someone's flow and part of the product experience. So we needed that vertical integration. But then we also thought, you know, where do we build the modularity? Where is that abstraction layer that allows for us to invest, you know, in the middle of the stack and really build up that sophistication over time, but still enable people to tackle strategy in the middle so that we could deliver across all those different channels? Bill, thank you for sharing all of this.   Yeah, I mean, I think the biggest thing is, you know, be patient, make sure that you're growing efficiently and don't worry about that.  You know, for us, the journey, we IPOed actually 366 days ago and so yesterday was the one-year anniversary which was pretty exciting and, you know, but that was ten and a half years into our journey and, you know, that kind of building and growing also in many ways our product market fit didn't really start to show up till three or four years in but it wasn't because we had to pivot our product, it's actually because the market wasn't there yet and we saw a lot of competitors along the wayside, you know, that kind of rose and fell and they, you know, they burn too brightly and what have you and a big part of it was that they just didn't match the pace of their growth and their fundraising to the realities that were in the market and so, you know, especially in this time when there's a lot of uncertainty and when things are tough out there, make sure that you're being really realistic about that, you're being considered careful and patient and, you know, in many ways, when we get to the other side the patience is going to be rewarded because you're going to have maintained your focus throughout that and you're, you know, merely surviving through periods like this in many ways is what it takes to win the market. Thank you. That was incredible and really appreciate all of the thoughts and sharing the journey in terms of the wave. Yeah, thanks for having me. Cheers.


And another one is gone YouTube team keep it clean shout out to Manscape y'all make sure y'all use code keep it clean to get 20% off and Free shipping off of any order go to manscape.com hit them up. Anyway Ravens have lost yet another coach this season Matt wise the running back coach. He is going to Michigan to go coach with the Wolverines and I don't not just coach with the Wolverines But to be a coach with John Harbaugh's brother Jim and It seems like John Harbaugh and Jim Hart. They got so much love for each other man These dudes have so much love for each other because they have made so many exchanges with coaches and With players just over the years. Of course the biggest player Yeah, y'all know and I don't mean to go down a painful memory lane because it was like man This was probably one of the best weapons that they Ravens had ever provided to Joe Flacco They got him. He wasn't young, but he wasn't old old and Kwame Bolton. They got this dude and He he was still a really good receiver when the Ravens traded. I think what a third and fourth round pick for him I forgot exactly what it was But they got and Kwame Bolton. It was like, oh boy, let's go and that helped Joe Flacco step it up That helped the team step it up and Kwame Bolton was such a great receiver for the Ravens They won the Super Bowl And Kwame Bolton was a huge part of that. He was a huge part of that run And what happened right after the Super Bowl? Oh for those of you that don't remember They traded and Kwame Bolton for I think a six-round pick a six-round pick to the 49ers and You could tell and Kwame Bolton really wanted to stay with the Ravens because he said and we we knew this wasn't gonna hold true But still he said if I don't if I ain't playing for the Ravens, I'm gonna retire. I ain't playing football no more. I'm done But they traded him for a six-round pick. He went on to the 49ers and he did his thing there, too But I just but anyway the point is that that was a trade from John Harbaugh to Jim Harbaugh And we've seen plenty of coaches over the years make that same move. So with Matt wise it is no different So with and these two they used to be on the same staff back when a Jim Harbaugh was at Stanford So there is that um that that familiarity with each other. So it's not like a stranger going from Baltimore To Michigan. So they they definitely got ties and that is one thing about the Ravens coaching staff You can say a lot of things about the Ravens coaching staff as we all have in our own words, but one thing about them is that They are always putting people on They always put people on They give people opportunity. They give people chances to Go do better things They always like people from the Ravens coaching staff. They stay getting opportunities and not just coordinators It's positional coaches. We've spent we've seen it this year Ravens lost the D line coach DB coach the wider Civa coach Passing game coordinator. I know they were saying person shout out to David Cully But this happens all that Ravens continue to lose All these positional coaches every single year But it's a good thing for those coaches because they go to the red and this all it also happens with coordinators to now a Lot of their coordinators throughout the years, especially on defense. I don't know what happened with wink this year. It's just Weird but not gonna complain because I do like him as a defensive coordinator We just got to work on a few little things here and there like covering running backs out of the back anyway With Ravens their coaches they continue to get so many opportunities throughout the years so many and I don't think that's gonna stop But one one thing that I was thinking about earlier. I'm like man The the Ravens their position coaches. They always getting shot somewhere else always But we talked about wink earlier. I'm not sure why Greg Roman didn't get a shot anywhere and Again before this season even start before this last season even started Y'all know I had said this is gonna be Greg Romans last year with the Ravens. I Really thought that he was gonna get an opportunity to go somewhere else. I really do But that obviously didn't happen and Ravens are still rocking with the same coaching staff with a few adjustments here and there Next year and hopefully those adjustments shout out the keys shout out the TT bringing boys on board Hopefully those adjustments can really propel the Ravens and help them take that next step Because they need to take that next step. They really do they've had the teams to take that next step over the past couple of years, but Haven't taken that next step So hopefully this year They can do it Now what does this move mean for the Ravens? Because Matt wise running backs coach, you know Ravens running backs. They They are always pretty successful for the most part There was a little period of time after Ray Rice. Well, right after Ray Rice. We had got Justin for a set But then after Justin foot that we had the Terrence West that experiment experiment didn't work out so well shout out to Lorenzo Taylor Fierro shout out to his family too. We had him for a while to Who else did we have back there? We had the Alex Collins that that experience was up and down more ups than downs But we had Alex Collins But with the Ravens and and they're running back situation. They usually do pretty well there They usually do pretty well there And then of course recently it's been Gus Edwards and JK Dobbins We had Mark Ingram over the past couple of years and also Justice Hill So with the Ravens still having Greg Roman calling the shots, I I don't think this will be too big of a loss Maybe I can see them bringing in somebody that Greg Roman is familiar with Somebody that may have been on one of his coaching staffs prior to Prior to him joining the Ravens possibly because that is one thing about Greg Roman that is that remains consistent It's the running game. Well, I mean really everything about Greg Roman has been consistent His running game is passing game Everywhere he goes has been very consistent now running game consistent good passing game different story But anyway, I can see them bringing in a guy who they know who was rocking with Roman before Whether it be from the builds whether it be from the 49ers whoever or They could also do what do what Matt Weiss did and Have somebody that didn't coach running backs end up coaching running backs now Because with Matt Weiss with his move from the Ravens to the Wolverines He's going to from being a running backs coach to quarterbacks coach Okay, that's an interesting move But hey, I like it because again and Ravens are obviously not the only coaching staff that this happens What happens all across the league, but we obviously notice a lot more with the Ravens because a lot of us here are Ravens fans But the thing about that is like you're taking on a new challenge now you're gonna go from Coaching running backs to coaching quarterbacks, but what this does like we talked about a lot of people from Raven staff They get put on they get put on hashtag hood hardball You already know what I'm talking about But because how about always take care of his boys and he definitely always take care of his brother Shout out there all time. Anyway, he said that um Well, not he didn't say anything but with with this move this sort of opens up Matt Weiss resume This puts another puts another title on his resume So whenever he goes to maybe he's gonna end up being a head coach someday You never know but this is where it starts like hey, I coach Ravens running backs In 2020 we had the number one Russian attack by far Wasn't even close that's on his resume And then he goes on old and then I moved on the coach the Michigan Wolverines. I was I became a QB coach So then I would assume the next step after that Would be to offensive coordinator Whether it's the offensive coordinator with the Wolverines Whether it's an or whether it's an offensive coordinator somewhere else That would be the next step and nine times out of ten is probably going to be an offensive coordinator With another college team, whether that be with the Wolverines or another team in the NCAA We'll see what happens with it But that will be the next move and then from offensive coordinator Then head coach Because this whole thing is it's a process man. It's a process in so many coaches. They continue to go through this process Uh of widening out widening out what they've done widening out widening out what they can do Sorry, it's early Sunday morning. My brain ain't working correctly all the way yet But y'all got what I was saying, but anyway They they expand on the opportunity for growth So shout out to matt wise man. Congrats to him And congrats to y'all too. I hope y'all are having a really really really good sunday I know it's still early. It's early for me. It's like nine or something and I told y'all the the clocks in here They don't get rolling yet. Um I appreciate y'all Just a few quick reminders. Thank you for We've been doing a question from subscribers the last couple of days. So I appreciate y'all checking those out Make sure you check out the team keep it clean podcast Of course all the links to that are down below in the description We've been having a lot of fun on there You know, we love the podcast man, because it's it's not just about football. I mean In fact, we talk about less football than anything on there. We talked about a little bit of football But anyway Thank you all for supporting shout out to all the patrons Thank you to all the patrons that have been rocking with us since last month And I know a few more joined this month. So I appreciate it. Thank you for that Um, just as team keep it clean. Thank you for for rocking with us Thank you. Thank you. Thank you. I know we say thank you all the time, but I seriously mean it because This thing ain't going down without y'all. It's not going down without y'all Nothing that we doing here would go down without y'all So thank you for rocking with the videos. Thank you for Just coming through just being consistent and coming through Again, I always see a lot of the same names in the comment section, which I appreciate a lot man a whole lot And as soon as I see certain names, I'm like, oh, yeah, I know what they about the type I know what this comment is getting ready to be about And we appreciate and then we see new names too. So anybody that's new here to team keep it clean appreciate you and again Don't forget and to keep it extra clean Manscape.com and use code keep it clean That's the promo code 20% off who doesn't want 20% off or something And free shipping because you know when you buy something and you got to pay for shipping That's when you go buy something. They could be a good price and you're like, okay, I'm getting ready to buy it. Oh, yeah Let's go, baby. But then we got to pay for that shipping. It's like, oh, I don't think I need it anymore But with the code keep it clean is free shipping It doesn't get any better than that and you get 20% man Y'all go order your manscape stuff team. Keep it clean. I appreciate y'all. I love y'all And we out just like Matt wise is too Cold to cool


Hello and welcome to exchange for media with me today is the man who leads one of the biggest agencies across the world and Who has kept a very strong grip in all the big brands with his vision and good work? Please welcome Adam Gerhardt CEO mindset. Thank you Thank you for taking out time always for us. You've been very kind to us So, you know six months ago You were kind enough to be the keynote speaker at our eforum conclay when I remember you said that Regency is now need to focus on Growth on good growth and not just growth. Yeah, right. So would you like to define what you mean by good growth? Yeah, sure I think one of the concept that I was kind of talking about was the the notion that for many years there there was this Misnomer almost that that doing good and driving business were at odds And I think what we're starting to see actually is not only do those things need to coexist But one can propel the other and so it's not enough to do good It's not enough just to focus on the business you can do both at the same time And so that's our vision for good growth You also talk about, you know, so there that there are some 500 companies, you know Fortune companies which are not really focusing on digital transition So you think that the trend has started to change or is it still the same? Yeah, I mean so so what you're referring to is the fact that we think about 50 percent of Fortune 500 companies We'll no longer be there in the next two to three years because they can't transform fast enough We think that's only going to accelerate given the pressures and the changes that we're seeing in the landscape and the dynamics around us whether it's supply issues whether it's hyperinflation The socio-economic world around us We think that that's going to accelerate the need to transform digitally even more than what we've seen in the past You've also been talking about, you know, how brands should Work, you know, this should be more focused, you know, everything that we do in marketing work So if you can give me some examples of you know that grant that works with you or maybe that's another client with some other agency Which which can define this whole thing of you know brand focus. Yeah So I think first of all we kind of have to start by understanding what we mean by purpose because there's lots of different definitions out there The way that I like to describe it and one of my favorite definitions is where the brand or the business isn't the hero The consumer is the hero and I think that's a really important lens for us to think about what purpose actually means tomorrow Because brands can talk about how they're doing good in the world But actually at the end of the day it needs to be meaningful for consumers and when we can make them the focus It becomes much more impactful And so when we look at some of the work that we're most proud of We look at some of some of the things like what life boy did with with Swiggy in in you know in India Where actually they were driving business, but also handing out samples Every time something was delivered it's pretty incredible or you take Dove as a really good example where they continue to champion you know self-esteem and Female empowerment and the most recent work that we that we were part of That that won a titanium award here at this event Was for the reverse selfie helping women and young women Understand the significance that social media actually has on their self-esteem in their future Also, you know, I wanted to understand from you that these days everything is problematic everything is Technology which is running a lot of things. What is the role of you know Leaders in it, you know, because how it's your agency now different from the other agency because everyone has technology Yeah, so I think more and more obviously the trend is going to continue As long as the platform ecosystem continues to develop where we have the Googles the alleys, you know dominating We're going to continue to see things being driven programmatically TV becomes much more addressable Digital outdoor becomes much more addressable and in turn you can buy it programmatically That means we need to shift our focus to things that are providing much more strategic value with a strong underpinning of Digital technology that empowers and enables that So two of the things that we're leaning into we think are going to be the next frontier of what? Brands and businesses need to think about but also what consumers are expecting the first one is around data ethics Not just how we're acquiring data, but actually what we're doing with it. Are we being intrusive? Are we invading their space? Are we actually treating their data with respect and And understanding them by serving them better And the the other area that is starting to quickly Emerge is around the area of bias and as we have more machines buying for us programmatically We have to understand how we can be as objective inclusive diverse and representative as humanly possible and When the algorithms that we use are written by men That happen to believe one thing or live in a certain place There's unconscious or adherent bias written into much of the code that's in the world around us So we have to start to think about how we can use technology for good And I think that will help accelerate this notion of good growth and and the ability to actually Deliver things that are meaningful to consumers, but also business impact at the same time Yeah, I've been reading many of you from last Thank you. So I'll tell you or you talk about the compassion you talk about Consistency sustainability Future-focused serve well the society then you also talk about creating financial growth Yeah, I mean it looks straight from the Bible and I talk about so many good things all the time How do you do it all? I think it goes back to the notion that actually there isn't a tension Between business at the end of the day. It's not good. It is good growth. We're you know, we're in a commercial enterprise Brands and businesses that we represent for the most part are in the same It's a capitalistic world in that in that notion And so if we if we start with the understanding that actually good and business and good and growth can go together It serves as a beacon or a north star for everything that we do with the products that we create the technology that we leverage the people that we employ And that becomes a really important filter for the way in which we think about how we need to show up differently And that for us is serving as a huge point of differentiation even as we think about our own needs and the talent that we attract Who quite honestly want to stand for something more want to do good in the world? And we're seeing that from younger employees entering the Workforce for the first time where they don't just want to be a cog in the machine anymore and they want to do good in the world So all of these things start to converge and I wish it was You know as noble as something that's biblical But actually I think it is much more just about being human and understanding how we can support everyone that we serve All the constituents and reconcile things that were thought to be opposing forces at one time so you know last two years have been Very different from all of for all of us a lot of things change How has the industry changed? How's the business changed? How has the pitch changed? You know what what kind of brief do you get now? Or do you is it all the same or do you see some difference after pandemic? First of all, I think it depends on where you are in the world We're seeing wildly different views of things, you know parts of china just came out of lockdown again India obviously had a really difficult time for for a period, but seems to have been Rebounded incredibly strongly And then even in the u.s. There's huge disparities between whether you're in Los Angeles or Chicago So micro regions are starting to emerge But the big trends that kind of transcend all of those I think are the fact that we are a much more remote workforce That we have to lean into flexibility and understanding how we can get the most from our our talent base and our employees But at the same time we are a culture that thrives when we are together But this I understand but you know, how how has the business changed? You know, and I was saying that you know there are Very different kind of responses from different markets. So, you know, how is it affecting you as an agency? Well, I think I think the two go hand in hand to a certain extent our employees We have to respond to them in a certain way in order to deliver on the business needs that we have um, obviously from a from a client perspective the digital acceleration that happened through cove and delivery services and all of those sorts of things Transformed the way in which we think about business and what we need to deliver in terms of product services, etc So we've leaned much more into Ecommerce we're doubling down in terms of how we think about performance and outcomes. But again, not at the expense of brand There's the entire notion of short term versus long term is starting to define the skill sets the capabilities of products and services that that we create and I think The future then will start to be born out of some of the trends that actually stay And the ones that we're just bleeding and so the rapid digital transformation agenda The role of e-commerce how we think about things like data ethics and what we are doing in the world And I think those are kind of the meta narratives that'll start to start to play out over the longer term Anything about I would say keep up the amazing work One of the things that that we've noted here at can in particular is the number of entries from india are up over 30% You're on very very well. Yeah, really well. And so I would say innovation is booming in india And so I would say to my colleagues and everyone out there Please keep it up because it serves as a north star for the rest of the world Thank you. And my last question is how is it to be in camps after you? Pretty amazing I would have to say being together being able to have these types of conversations being inspired by the work again Is there's a renewed sense of energy and purpose and what we do and I couldn't be more pleased to be back Thank you so much for speaking to that


Right there. Mmm, hey. Yeah, we are. Big round of love. There you go. I don't feel like you love me. Don't feel like you can't. We on boss talk one on one. One on one. Yeah, we gonna talk. Turn it down. Right there. Mmm, hey. Yeah, we are. Mmm, hey. Yeah, we are. Mmm, big round of love. There you go. Get this.  You flipped that I don't take. Yeah, you went a different way with it. Oh, you flipped that. That's where it should have been done before. You tell that nigga I said that when you talked to him. He said you should. He revamped those songs in the right way. That's what he was thinking. I don't know where I was at with it even back then. What about the fellas that do everything? No, man. You did it right, man. When he first let me hear the song, first thing I started doing was cracking up laughing. I was like, oh my God. I'm like, okay. I hear it now. I'm getting messages from women like, hey, you about to get buddy hurt. He in the first scene. In the first scene singing this song a little too hard. Oh, man, that'll go hard, man. I knew it was a hit when I heard you do it. I was like, ah, that's it right there. That's what I've been thinking. This is what's supposed to go down when you're doing everything right. You know what I'm saying? When you're doing your job, I didn't make this for the bum, dude. I made it for dudes doing that job. Man, you hear that?  What did Tank say when he first first heard the words that you put to the song? That was the reaction. Come on, man. Come on, man. We're clearing that. That was the reaction. That was his first time hearing it. Wow. You know what he said? He got to clear that, man.


Freedom of speech doesn't matter if propagandists determine what people say. None are more hopelessly enslaved than those who falsely believe they are free.  None are more hopelessly propagandized than those who don't know they are propagandized. Living in a liberal Western democracy means having the freedom to criticize the tyranny of your government, but instead spending your time criticizing the tyranny of foreign governments who your government doesn't like. Free speech in a liberal Western democracy means you have the freedom to say whatever you want about the abuses of your government, and the press has the freedom to hammer you with propaganda to ensure that you never do.  In liberal Western democracies you are free to call the president Drumpf or Brandon, but you are not free to know who's actually calling the shots in your country underneath the official government. In liberal Western democracies people say, I am so glad I don't live in a country like Russia or China where people are forbidden to criticize their government. I live in the West where I'm free to criticize Russia and China all I want. It doesn't matter if you have freedom of speech, if those in power can control what you will say. And in liberal Western democracies, this is exactly what happens. We grow up saturated with US Empire propaganda in the West. We marinate in it. It pervades our consciousness. But because it's all we've ever known, most of us don't even notice it. We think it's normal that we're always told our government is on the good and righteous side of every international conflict. We think it's normal that we hear constantly about the tyranny of foreign governments, while only occasionally hearing about bad things our own government did years ago. But it was an innocent mistake and it'll never happen again. If we were being propagandized, I'm sure we'd have heard about it in the news we tell ourselves. But the news is the propaganda. And it will never report on that bombshell story. Propaganda is the single most overlooked and underappreciated aspect of our society. It controls how the public thinks, acts, votes and behaves, but hardly anyone ever talks about it. Because the sources they've been trained to look to for information never say anything about it. So people say what's on their mind. After what's on their mind has been carefully curated by the imperial narrative managers who are responsible for controlling what information goes into their mind. And they say it with complete freedom. Sure, if what they're saying goes against the interests of the Western Empire, they won't be allowed to speak on any large platforms where they might infect the mainstream herd with wrong think. And sure, if what they're saying is really inconvenient, they might get banned from even speaking on any of the major online platforms. But they still get to speak, alone, where no one can hear them. Preferably into a hole in the ground. And everyone else gets to ingest the mainstream swill. The authorized narratives that get amplified on traditional media and by the algorithms of Silicon Valley. The authorized narratives which mask the abuses of their own government, foreign and domestic, while magnifying and exaggerating the abuses of empire-targeted governments. That's why when some people hear my objections to the empire, they say, well, at least where I live, we're allowed to criticize our government. And that's why I replied to them, okay, but you don't. If speech wasn't free, people would realize they're being oppressed. But if people started using their speech to voice real grievances about power, they would swiftly discover that their speech is being ignored and power is just doing as it likes. So inconvenient speech is curtailed by propaganda, by censorship, by algorithm manipulation, and by media marginalization. People are kept hopelessly enslaved by giving them the illusion that they are free. And any voice which interrupts that illusion is silenced by whatever means necessary. That's what free speech means in a liberal Western democracy. You can say whatever you like as long as it's what they like.


As you can clearly see, I am not a woman but I am somebody who struggles with a generalized anxiety disorder so I can't help but empathize for women who struggle with fear as well as anxiety based on things that happen to women on a regular basis. So in this video we're going to talk about these issues to increase awareness but then we're also going to talk about some solutions so stay tuned. What's up everybody? This is Chris from the Rewired Soul where we talk about the problem but focus on the solution. So what is anxiety? Anxiety is a reaction to fear, to stress. It is a natural part of our body that we needed way back in prehistoric times to make sure that we weren't getting eaten by a saber-toothed tiger or something like that. This is our alarm system that tells us that something's going on. So struggling with an anxiety disorder myself, I was constantly afraid of just people and places, situations, social anxiety going out in public and I have a lot of female friends and the stories they tell me, I try to put myself in their shoes and I personally don't even know how I could handle these situations like I have the utmost respect for women for dealing with a lot of these struggles that they deal with. I was inspired to make this video based on a video I saw on Facebook where it was women sharing about these different preventative methods that they have to have when they're walking out to their car alone at night or they're going for a jog by themselves or they're going to a bar or whatever the case is and I'm just like yeah I get that, I get why that makes sense and especially with all these me too stories coming out, I have just seen so many of my female friends talking about the situations that they've had and experienced and it breaks my heart. It breaks my heart knowing that you know this world is a scary enough place as it is and knowing that just based on your gender you have to be a little bit more afraid than everybody else because of all the things that happen in our society. So just to put this in perspective real quick, in 2006 a study was taken by the National Crime Victimization Survey. They found that 232,960 women were victims of sexual violence. That means that is over 600 women per day okay? So when we're talking about why women are so afraid, this is a clear example why. So before making this video, when this idea to make this video came up, I asked a bunch of my female friends. I know a bunch of a lot of women from different backgrounds and different scenarios and I was asking them like what do you do to deal with this anxiety of just being a woman right out in the world and what's interesting is I was talking to one of my friends and I met her a few years ago and one thing I learned about her not only does she like you know do a lot of fitness and she teaches spin classes but she also got certified in combat training and I'm sitting there asking her I'm like yo so like does your combat training like knowing that you have that you know those skills like does that help reduce your anxiety and she told me like to be honest not really and this is a reality of the situation because women are naturally smaller than men and they develop muscles in different ways. My friend you know she's buff she could probably kick my butt right but like if the wrong dude came around I'm like she would have a struggle. So combat training isn't something that you know is able to reduce that anxiety. One commonality that I've seen from a lot of the my women friends who I've talked to about this is that they all carry some kind of defensive protection and this is anything from pepper spray um in some areas I know women who own guns that can fit in their purse. Me personally I am a fan of this little guy that is a cute little key chain stabbing device that looks like a kitty cat so dude tries to roll it up you gouge them in the eye but anyways so a lot of the women I know take these preventative measures and now we're going to start talking about solutions because what this goes off of is what I've talked about in a couple of my last videos which is the locus of control knowing what is in your realm of control having that internal locus of control it helps reduce the anxiety knowing that if something were to happen you have some sort of escape or defense against this potential threat while in no way is this a 100 guarantee what I encourage women out there to do is find the things that you can control and when talking to my best friend about this too she brought up mindfulness she's one of my only friends who actually practices mindfulness and we were talking about this and practicing mindfulness is another way to increase your locus of control because mindfulness in a nutshell is paying attention on purpose in the present moment without judgment so when you are regularly being mindful you are always paying attention to your surroundings so some people just for example you might go out to a certain scenario and you notice that something's off but you can't really put your finger on it people who regularly practice mindfulness that internal alarm goes off a lot sooner and they acknowledge what it is they are better at pointing out the exact reason why this scenario is maybe not okay so I highly recommend aside from preventative type of defense but also picking up a mindfulness practice I will link in the description as well as in the info card my video about that my three favorite free mindfulness apps you can practice for as little as five minutes a day and what it's doing is it's increasing your overall awareness as well as your sensory clarity on my channel we talk about the problem but we focus on the solution so please if you are a woman watching this or if you know a woman please share this with them to maybe give them solutions but for the question of the day my female audience or even men out there who know women who do something to help reduce their anxiety in this crazy world leave it down in the comments below because maybe we can offer advice and suggestion to others who are looking for it so if you like this video please give it a thumbs up and if you haven't yet quit right below here I'm always doing videos about mental health mental illness and addiction so hit that little round subscribe button but anyways I appreciate you watching if you want to check out more videos click her top right there but I'll see you next time thanks again


Okay, my name is Rachel Odumora. I'm currently an assistant audit manager at the Akimego & Co. Okay, I heard about the boot camp through LinkedIn posts. I just saw the opportunity and then grabbed it. Here, it's the learning and then someone can save learning as the fun, challenging, inspiring and so on for the while. Yeah, so, you know, I used to be afraid of using Excel, but now I'm confident I know I can do. I mean, I could build a model from nothing to three statement financial model. I mean, I'm proud of myself. Yes, I'll recommend it to my friends, anybody aspiring to develop is our career and finance financial modeling. It's just a stepping stone indeed.


Alright, welcome to today's Android of code gonna be a short one today I'm gonna give myself like 30 minutes So Because I'm gonna go for a visit. Hello sobo so budged Don't know how to sobo CJ. I don't know how to Finish that. Alright Yeah, we're not gonna be too long today. Let's just get to it. I hope it's not hard problem today All right, a lot of I mean, this is supposed to be low-fi music, but it's actually It's going hard, right? Day 9 not to just Day 9 I remember that guy module main where Okay, all right, so we've have the Kind of the base skeleton. Let's look at problem 9 Okay, the case is a bit lava tubes parts are even still all conical like a small hydra on variance Release smoke okay love it. Oh, that's cool Parts are even still will can't be active small hydra thermal vents release smoke into the caves. Okay If you can model how the smoke flows through the caves You might be able to avoid it by and made that much effort to have my turn is a height map of the floor The nearby case for you Smoke flows to the near point of the area. So for example consider the following height map Okay, each okay, so we have this height map. Let's see new file Example paste it Now we're going to read the example we're gonna say read input It's gonna take a file path and it's gonna return List of list of in's Over in IO, right? So read input It's gonna be Read file and then we're gonna do the classic F map a map F over lines and now So map line where line Takes in a string and returns a list of in's Let's see line Okay, so we are just gonna go Line equals map C to D Where I see to these this is gonna be a character It's equal to read add in There's no just read So see We just make it into a string right for read. What is the problem here? All right, we didn't do a dot. All right, let's read input Example and pipe it into a Print 03 9.hs and We just time it we're just gonna run this command again again All right, we've got the height map looks correct. Yeah Okay, where nine is the highest and serious the lowest location be you first of all Define the low points and the location that are lower any of its adjacent locations. Oh, no, we have adjacencies It's gonna be a graph algorithm Most locations have four adjacent locations up down left and right location is on the edge or corner of the map Have three or two adjacent locations Okay, so let's let's just write that right okay, so let's say a Task one, so we're gonna get that like the side neighbors right and then we're gonna transpose it and get the side neighbors Of each and every one so we're taking a list of hints and We return a List of so each number Do we need to like return coordinates? What's the sum of the risk level of all low points on your height map? Yeah, okay, this should be enough for for now, okay, let's see task one Okay, so nums, okay, so We're nice Okay, so I have the so that I have the I have the corners So I'm trying the edge. Okay, so So let's say here a nays Defined for now so nays Let's say So we keep we do it the nays of nums Okay, let's say just say Nays of nums plus plus the nays of transpose nums Okay, so here we get So we're gonna get it like this. Let's see Nays equals undefined. I think I'll have to import Transpose from data.list It's a very basic Function, right? It just takes the list the list some transposes it Okay, and Alright, so we have to actually get the Coords or we have to like cleverly set them together because like it's not enough to just get the yeah, let's see The nays of the first one and the rest Nums and then and two and then are so this is gonna be a N comma and then we have in the end to So we just get that like the edge one Plus the nays prime of And and to our Okay, so Nays prime that's gonna take the second one. So it's gonna take n and Two and three and are And this is gonna be equal to a N2 and comma and three Plus He Prime of N2 and 3 are they will do like this but nays Prime now need to do the other edge case So we have n2 and n3 and then we have an empty list This is going to be N2 comma Just a list and two comma N3 Okay, so this should work because we will never get because of the gas cell that's just how they work Yeah, okay, so this one is gonna be let's just check what we get right here for Map nays now, so it's gonna be a line list of lines, right? Let's just check what we get for the First one, right? Oh, no, it's complaining because right, so it's gonna be a list of these Why so It's a neighbor two is One let's just take the head of this list, right? Okay, so we got the first one. So it's two one Nine nine nine right so two what one one as a neighbor nine and two nine as a neighbor Nine and one and nine nine as a neighbor nine nine and then we get the nine as a nine four four nine okay, so we have This is like one and now we need to We need to Let's say here map and Let's just print all of the lines Okay, but I still actually I actually have here like the two one nine nine nine four three two one one Actually have the original structure, right? So if I take this Okay, so there's gonna be a So I have Map so this is gonna be the horizontal nays Okay, so map nays nums Okay, then I transpose this so And then I'm gonna get the other list So two three nine eight nine right two three nine eight nine But I already have the yeah, okay, so right nays two Up n and to R is equal to And here we're actually we're adding to the n ones right so n comma L And then we into comma Right, okay, let's just do it like that so n at then something and to add Something Is it gonna be something and then nays prime and and to R It's gonna nays to prime actually Right so we we're adding to n here, so we have the we don't care what the We do care what we don't care what the n is actually. Okay. We care. We have we want the a the envy and the N neighbors and Then we have the end to and they were just care about and we too. Okay, and now this is going to be a Envy Envy to an end Right, so we add me to to the thing And then we just continue There's a nice To prime nays to okay, so we have here and to and now we're adding to and to so add and we to So we have any too. Let's call this just a and and and to and at Yeah, we actually don't so we don't actually use the in here so it's So we say and to and then whatever They were not recurring right so this is and when here we have the envy and the end and And then we want to return the envy into an end and then the same here Okay, so here we actually just call about going care about the envy and we don't care about the neighbors Here we care about the envy to and the end neighbors Here we care about and we three now but not the neighbors and This is gonna be a Envy Envy three Plus let's just say like envy envy three and then Nays to prime what is it complaining about now? perfect, oh right Wait, okay, so I have here the This is the envy to right. Yes. Let's see Yeah, we're on part one Fabian and let's actually Transpose this again So we have three one and then the one here has a nine to nine. Yeah, and this nine here should have one eight nine In one nine Seven nine nine and the zero here should have Oh The one here has two two and zero and the zero here. Oh, this should be zero, right? What did I do wrong? The one two two zero is correct. So before we did all this nice business We had the two one nine nine Nine four three two one one two one nine nine nine four three two one Oh, I think it's something wrong here So if we're at the end All right, so we're at the end. We don't want like we want like this and three and two So then we want the end value And then and then And then we want and two Envy and then so that yeah, then we got the zero one one here and eight nine seven and then One two two zero still. Yeah, okay. We built this one up now, uh, we find the So now we built up the neighbor map, right classic No need to graph algorithms. Okay, so we have this one This is a list of lists Now Uh end map equals this Okay, so if we need to map Uh, do we have the end map? Now we want to return the sums, right? So we say map When we're mapping a list map Uh F map sum On end map And now we should get the sums of the elements for Yes And then uh The first goal is to find the low points locations that are lower than any of its adjacent. Oh, okay So it's not sum here. It's a Is low where is low takes in n and r and Is equal to uh All A Locations that are lower than any. Okay, so it's a n less than r But here we have a Let's just put in here and then we find the low points We get the one here And we get the zero here And then nothing this row and then the true for the five here Okay, then we say a All right. Okay. Now we're going to uh map Filter SMG To get just the low points map at first And this one should give us List of list of ints What's up? No map map FST over this we get the But instead of mapping we just do Some And then we do the sum Okay, you know we can't map here anymore. So we just print 11 which is oh this one should be 15 That's not good Where do we go wrong? Let me see. So we get the one and the zero We get the five And we get the five Oh, and then we didn't Risk level of a low point is one plus its height Okay, so it wasn't the sum map here. It was actually map First Then we have to say one plus No, I get 15. Okay Let's run it for the input. Oh, we didn't change for input 417 in 64 milliseconds All right, that was the right answer your one call started finding that slate keys. Okay, cool Now let's check out. So we did part one So as I said, we're gonna do a short one today So I'll see if we can kind of figure out how to do this right away But if we can't it's gonna be I'm just gonna yeah, and literally sorry about that. We'll finish this then tomorrow All right next you need to find the largest basin, you know what areas are most important to avoid a basin Is all locations that might to flow downward to a single low point. Oof Therefore every low point has a basin although some basins are very small The locations of height nine do not count as being in any basin And all the other locations will always be part of exactly One basin. Yeah, this one is gonna be hard Because I mean it's not hard, but it's like We didn't do the We don't have the actual adjacency list, right? We just have The list of the values of its neighbors Okay Let's do this so we still have the uh the the adjacency lists But let's uh, let's see what we can do Real quick. Okay, so here we have a transpose and map a transpose Map nays nums. Okay, so instead of saying map nays nums, we're gonna say map sip zero nums So we sip zero with nums Transpose Sip Sip So map nays. Okay, so what what why doesn't it want to cure us? Probably because I use n map here. So why doesn't it? So instead of so nays you take a list of list of int comma int to um So first. Yeah, so what I'm gonna do is I'm gonna give them all an index, right? I think that's probably the best So we have the numbers index indices and Geez Yeah, actually I because I have uh, I I have to actually go Now To I'm gonna go for a visit to a friend So, uh, yeah, so I'm thinking I'll I'll let this be for today Um get add day nine dot hs And get commit task one of day nine And then what I'm thinking is I will do um I'll do a double feature or triple feature Or maybe a double feature only this this weekend Right, so, uh Yeah, so I won't be available tomorrow either a So I'm gonna leave task one now here, right? Then do a double feature of a day nine and day 10 like the rest of day nine and day 10 on a Saturday And then day 11 and day 12 on sunday, but no exactly a The approach doesn't help at all Right, I mean I find the low points And then I can kind of Okay, so I know what the low points are. Okay, that's a good point. Let's Let's look at that. Yeah, because like I didn't model it, right? So I know that the low what the low points are So I guess I could kind of uh start from the low point and then a Find um, let's check it. Let's let's think about that Yeah, that was task one, right? We know which ones the low points are so we know that You know, that's the one zero five and five Right and those are lower than all of their neighbors and every all of these are exactly in one basin so you can see that the low points are the lowest point Of each basin, right? Yeah, so if I had an array, I could do this easily. Let me check Uh, so we have the low points now. Let's uh, let's go back to Okay, I'm gonna give myself 15, 16 more minutes and see what we'll see what happens I really need the uh We have the neighbor map Let's the list to see event. That's what I'm trying to do. So this is uh, some nums so indexed Okay, and then we actually gonna So this one is going to take a function here Uh, we're So what is this? What is this type? So it takes on the int and a list of integers.  So I think this is easier in a imperative language, right? It's not good Right, so let's do the map m Okay, so let's look at the first one right so it does a zero zero and it has two zero one is three one zero is one Okay, and Then we have to define a new map is low. Okay is low It's not gonna take it's gonna take in uh It's gonna take like a A pair right which is its coordinate and its value and then a list of pairs And it's going to a So this is gonna be a c v n add Okay, and it's gonna return n and all v dot a And this is gonna be a list of pairs v less than dot s and d So now this will is low operates On our n-map So let's say map Map is low. Okay, so now we can find the Low points again But we want to keep the um So we want to keep actually the Neighbors except if they're nine. Okay, because the nines are barriers And so we have a map Um So we're mapping over Something over the r I'm going to map maybe here No a map is low. Okay, and now I'm going to take the r's and I'm going to remove So Filter so I'm going to remove an r a so Not equal to nine dot s and d Okay, let's see here Okay, that's the first step now.  I don't care about the third. Uh, and it is on x A x Not equal to nine Dollar did I do too much? Yes No So I want this one and then I want this one Yeah, okay, and then I want this to be mapped Over all of them. So now we're moving all the nines Oh, let's actually do A map and now we're gonna map Over the map So the first one is like zero two and zero one, right? So we have and then we find the low point in that Basin right and then we're gonna find the second basin based on the zero But now I've screwed it up right because yeah, I can't remove the nines because then the coordinates Aren't valid anymore So I can just ignore the nines though, but yeah, okay, so now if I map map, okay, so is this like a Let's just call it something. I don't know VB check is equal to This one VB check, okay, so LPs is equal to map filter And now no x To x over the VB check filter Not no so LPS so we get the list of the low points with their With their neighbors, okay, and We filtered out the nines Okay, so for each of these low points, uh We have the end map. Okay, so let's Okay, so Let's say basins Of empty is equal to Empty Now basins of a low point and LPS is equal to Find from LP LP a Okay, I'm yeah, I'm actually gonna say basins equals fold R Um, oh my god basins equals map find from LP LPS Now find from LP. So a flow point is of this form, right? and How about I actually just do Because we don't actually need the neighbors afterwards. So let's do it like this This is actually still work. Yeah, okay Then it's just going to be a pair there Um So we filter not null. Let me map my baby check Maybe check map is low Yeah, we can have LPS Okay, so, uh basins is equal to Um map find LP so Post LP is equal to uh Okay, that's just the Yeah, and map right. So we give map map FST Maybe check because we still want the filtering So post LP it's going to be like without the without the low point Yes, but we have the adjacency list that are not nine Okay, and now We're gonna have the Basins equal. So these are going to be the connected trees, whatever map find From LP like this is a classic. We're not finding The forests in a tree whatever find from LP. Um Find from LP And we have the root and we have the LPS Okay, now our Let's put all of this at the top Actually from LP's So how does a rope point look like it has um So we have the cohorts and we have the neighbor We don't actually need the coordinates So we have the Value and also the chord and the value And the ends Equals um So let's just return ends here to just see Um basins Find from LP And the map right so because the yeah, yeah, okay, so I do um So LP says this And then we do Let's do actually Can't oh, yeah So we have the LP's and it's gonna be A list of lists so we just do Concat Oh, we don't actually need this. Yeah, okay, so we can just do Concat map here So map and print All right, this is the neighbors right so we don't ignore those and this is the NS And we're gonna print the neighbors of all them basins Okay, so um, so for each low point right A we're gonna say So these are the neighbors Okay, so we're gonna say find from L map and find from LP um So we're gonna take the neighbors So we have the uh Chord C and the V and the ns Where and So we have the chords so we're gonna say here until no new So we're gonna say until No new A And then we have a set dot empty and ns Now we have to import Data.set as set Where okay until no new and then we have found and then we have ns Now this is gonna not gonna be set dot empty. It's gonna actually be set dot set dot single ten C um and um Let's just say where until no new is equal to So C and the ns is equal to C Let's just say that Just to see what we're getting So then we just get the set One zero. Yeah. Yeah because the Basin here is one zero because it's x comma y Okay, um So where? Yeah ns and then we have chord is equal to um, this is a Post LP bang bang So this is x comma y Post LP bang bang y bang bang x And and then post LP so this is gonna be A a list of blah blah and the so that it's gonna be the second one Okay, uh, so get ns That's gonna lead really turn us a list of neighbors You get what extensions are you using from Haskell? Uh, no extensions really. This is just the this is the Haskell language server so, yeah um Okay, so let's just say and then um map fst So, okay, uh until no new ns. So we have ns Mm-hmm Okay, so we get the neighbors here and then okay, so if we have until no new of empty is equal to c Until no new um See and then we have a neighbor Uh, what is the neighbor here find from LP? So this is a list of Yeah first ns. Yeah, so this is gonna be just a chord a found found chord chord rest a We're gonna say a get ns Of chord Okay, so we get all the neighbors of the chord And then we go Yeah map filter set dot lm map, so this is gonna be filter not set lm Found right we're gonna take those we haven't found already a do do do And this is uh, oh, I think it's set dot member a so this until no new found so this is set dot member All right, so this is gonna be Where new equals? Okay, so we just do um So we filter those uh that we haven't found new is gonna be a list of Int comma int Okay, so we kind of look and we find and then we say we're new and Then we just do Until no new found until no new and then we say found set dot union set dot from list new And we say rest plus plus a new So this should give us the This elements. Oh, no Oh, no, this is gonna just give c. Okay, so we get that we should get found here Okay, so this is the first basin zero zero zero one one zero Then we have a second basin the third basin and the fourth basin Now we are going to say a Get these x comma y Is you call map second dollar second Post No, right. Did we we're not map. This is gonna be the first uh this second of the first Of post LP bang bang y a bang bang x So this is gonna be uh, this is gonna return the value Okay, so we have a set Uh find from LP Okay, so we found the set Now we could do here, uh, we found the basins A map the set dot to A just just to do to List I don't I don't care which one it is so now we should get Sets and then we Map get these So two three and one for the first one two three and one exactly then zero four three two one zero Yeah, and let's map get the Some Okay, let's see. So this is three nine fourteen nine Oh 16 what? Oh size, this is not uh, okay, so we're we're taking the sum If you take the links so three nine fourteen, uh Oh, and then we have one more here Okay, let's see So three nine and fourteen and then there's something wrong with this last one So one two three four five six seven eight nine So find the three largest basins and multiply their sizes together. Oh, we don't actually need the Values Okay So then we don't need this one But let's uh, let's Figure out why So we get the zero one zero one Okay So, okay, let's look here. So zero one. Okay. This is zero one two three four Okay, so we should have a So I think this is nine by four. I want two three four five six seven eight now. So this is nine So we have the eight Yeah, you have this one we have the seven, uh, let's that's actually Map Let's still have the get fees here. Okay, uh map C to uh c comma get v s c Just so we see the values as well Okay, so we have the eight the seven and the six the eight the seven and the six And then we should have the five We have the five. Okay, but we don't have the um Five four, let's see for the three we have the seven And the six we have the seven and the six Maybe I'm adding like too early to the Let's do that. Let's just change it Okay, so if a core set dot member Found equals until no new found rest All right Otherwise it's equal to until no new found and then found set insert Oh Core set dot insert A found We add the core to found and we say rest plus plus A Get ns core This should terminate, right? Until yeah until no New Okay, now we get more elements here at least and Let's map it set dot Size is what we care about So three nine fourteen nine. Okay three nine fourteen nine. That's correct And then we take the top three sort And the three largest reasons. Okay, sort reverse And take three And then some And it doesn't oh, okay Let's see. Yeah. Okay. This one is just a filter s and t actually Okay, let's check it. Uh, no, there's nothing to print So it's just task two So we'll get 32. Uh, no, it should do take the product, right? Product, so let me sorry. I was just like I forgot chat. So do you need to find? Yeah, okay Okay, so tana probably did it better than us Because you know actually doing something in st revs And like actual Stuff, but he says it's unconventional, but I like this right like you should probably do it like this Because it's a very imperative problem, but now we're here. Just you know this This look up here is not This look up here is not good right So we should probably actually yeah, but we're actually we're only looking up Once so it's going to be fine and we could replace these things with rays if it was If it was behaving bad if it's super slow, let's check it up. So we get 11 34 And now let's run it on the input and let's just see how long it takes But like I don't think we're doing anything super crazy. Okay, so 143 milliseconds Taneb, how long did it take you? I like we don't know if this is correct. It's correct. Let's check All right, we got it Okay, I got nerd sniped a bit there. Uh, I was gonna go Leave early but Whatever Hey, yeah, I mean, okay, but like this is just a it's a lot of Lot of manipulations, right? And but like yeah, like I said, I think like if it takes under a second We're not gonna worry about it Right, this is under the under the 100 millisecond sometimes, right? So we are uh, we're doing fine Do-do-do Like the flame valve stepping number versus it Okay, uh Get stages get add update task Day nine task two Get state. Oh, I got get add update get commit am day nine task two I mean, I think we did pride well in that sense that It's not a lot of code Like we're not reusing anything, right? But uh Yeah, okay. This one is a good point. So I map map filter dot snd So filter snd And I can remove this map and then we are also mapping again here This is just one big Map screwed up here. So this one works now. We are going to take the whatever is in this map here Paste it and a dot Remove the And still compiles. Okay. I think we uh I think I should really get going I got nerds type a bit when Fabian was like, hey Didn't part one helped you at all and I'm like We do know the low points And that was what was All that took here, right? a because We don't really have to find anything, right? We just need to like because we know where to start We know where to start. We start at the low points And then we find the tree in the adjacency graph And there are probably extremely fast algorithms to do this But we don't use them and a another thing is like, yeah We can use functions to do this like we had this add-in functions probably like a combinator, blah, blah, blah And like this is not pretty like this nays thing. I mean we did screw it up First right with with this but yeah Uh, but it worked out right and it's not using anything fancy and it's uh Okay, and if I get lucky It takes 71 milliseconds, but uh, apparently not all that I don't know 76 okay, so it's uh, it's at least it's pretty good Do do Uh Yeah, but I'd like this algorithm, right? It's just like walking the neighbor graph adding the new ones And this is like it's computing a fixed point, right? Because it's just compute compute until like it it doesn't find anything new and then Yeah, all right Get status, uh, did I keep You kind of am smaller It push okay. We push it again. All right. Hey, thanks for tuning in today like I said earlier And then I got nerd sniped I'm not gonna do a stream tomorrow um But I'll do one on Saturday like a double feature probably and then another one on sunday We'll see how the double feature goes. Maybe it will be like a 1.5 feature Uh same one sunday. We'll see We'll see how well like we will do it eventually, but we will see like how fast we do it Right, we will have to wait for like a fast one. Do the little one All right, but thanks for today. Thanks for tuning in and I hope you enjoyed The Haskell content. All right until uh saturday Thank you so much Bye. Bye


All right, so I've been getting lots of emails. I've been getting lots of messages, I should say, not emails, asking where are the construction updates? There hasn't been one in almost a week now. And we did announce that we were gonna go down to two or three construction updates a week, but the lack of construction updates doesn't actually have anything to do with that decision. It is actually just, there is no construction. So to quickly summarize what's going on from what I'm, I guess, speculating is one of the cranes has been removed from the site. In fact, it's the most important crane from my understanding that has been removed from the site, the one that's been doing all the heavy lifting. And we've been seeing lots of pieces going into Wonderland from when we've gone and flown the one time and they're all assembled, sitting there waiting to be installed. In fact, they have quite the waiting area of track to be installed. So my guess is based off of them assembling all these track pieces in sets of two and having them in a staging area ready to go, but the crane's been removed and there's been a lot of action around the tunnel area. I'm guessing there could be a slight delay. So I'm guessing there's a slight delay that's holding off construction for now. This happens all the time, it's not unnormal and I don't think it's anything serious nor could I begin to predict if it's anything serious, but there's always construction delays and in my opinion, it's definitely involving the tunnel. So I'm guessing that we may not see vertical construction until next week, later this week or the week after depending on the severity of it, but I'll be able to figure out what is going on based off of flying my drone and just witnessing what's going on. So if we see the other crane not being used like we're seeing now or the other crane not coming back anytime soon, then we can assume that there's a bit of a construction delay occurring and maybe something's going on. But again, do not panic and do not stress. This happens on every coaster project. This happens on every building project. This is very normal in the construction world. Things happen and they just need to adjust and then move on. The good news is it looks like they're moving ahead with prepping the track, so that maybe when things kick up again and start going, they're ready to go and installing the pieces will be as easy as pie. That being said, that's not even the only reason there hasn't been a construction update. The weather has been absolutely terrible. So I was gonna go fly yesterday, but then it was raining all day and thunderstorms and tornado warnings up in Windsor. And then today it is just way too windy so I cannot get the drone up. So I am sorry about that. I will be checking tomorrow to make sure the weather's okay and I will try and fly my drone tomorrow to get an awesome construction update and I'll be able to show you directly what's going on. But yes, I have not been able to fly my drone due to weather and then no construction has been going on.  There's no track pieces installed. There's no support beams installed. What you saw on our Saturday update is all that's done so far. Anyways, I just wanted to update you guys on what's going on just because of the messages coming in on Instagram and the comments on YouTube whenever I do a video on something else. Like is there gonna be a construction update? When's your next construction update? I just wanted to let you guys know what's going on. So you're not sitting there waiting. I will get a construction update up right away tomorrow, the minute I'm able to fly I'll upload one. Anyways, I really appreciate you guys watching these construction updates and I really enjoy the fact that you guys are on the edge of your seat waiting for another construction update. It's literally so flattering. So thank you so much for being interested in the drone footage and the construction updates. It means so much to me. So thanks for joining me on this journey. I promise you the construction updates aren't going anywhere. The drone's not crashed. Wonderland hasn't asked me not to fly. It's just weather and no construction at the current moment. Anyways, thanks for watching guys. Hope you enjoyed this, I guess, description on what's going on. Give it a like, subscribe if you haven't and stay tuned for a construction update hopefully tomorrow. Have a good one guys. Bye.