So good morning yesterday we started looking at fundamentals of how natural convective heat transfer occurs and also we derived the governing equations and the non-dimensional form of the governing equations we find that the more important term coming in the buoyancy force is the non-dimensional group which is Grashof by re square so this is important non-dimensional parameter which is governing basically the strength of natural convection with respect to the forced convection so the Reynolds number that we defined you should remember when we non-dimensionalize that governing equations was such that we used re is equal to ur x l by mu so in this case the reference velocity ur from the order of magnitude analysis we have to also express this as do you remember what it is G ? you all – T 8 x L correct so essentially the velocity here what we are referring to is nothing but a velocity scale arising out of the buoyancy force okay now there could also be a case where you can have a bulk motion well along with the natural convection you can also have a bulk motion in that case you have to modify the definition of Reynolds number to a conventional definition where we define it based on the free stream velocity okay so however still the same non-dimensional combination will be there only that the Reynolds number in that case will be defined based on the bulk velocity so this is a important non-dimensional number therefore governing the strength of the natural convection to the force convection so this is the ratio of your buoyancy force to the inertial force now so you can have considering therefore two scenarios where you can have the force convection acting vertically upward or going downward okay so we call this case where the buoyancy and the direction of the bulk motion are in acting together so this is called buoyancy aided natural convection or buoyancy aided you can say forced convection okay so these are two different scenarios in mixed convection okay so one is a buoyancy aided convection the other is a buoyancy opposed convection where the buoyancy is in this case is trying to act upward because the wall temperature is greater than the free stream temperature however the bulk motion is acting downward so in fact depending on the strength of the forced convection the boundary layer growth could be either way so if your force convection dominant then the boundary layer will actually start growing from top to bottom in this case okay so this is decided by the ratio of Grashof number 2 re square so if this strength is around one then both of them will be equally dominant if this is very small then Reynolds number will be the dominant one and therefore you might actually end up having a boundary layer growing in this way so depending on this if you draw the velocity profile so unlike the pure natural convection case you will have a finite value of velocity profile at the edge of the boundary layer and this should approach your U infinity right so you do not have actually a minima at this point it will be a finite value depending on what the U infinity is and this will vary so if your U infinity is considerably large you can actually end up with actually going for a gradual profile and then which will approach your conventional boundary layer velocity profile okay without going through the maxima and then approaching U infinity depends on the strength of the forced convection in this case nevertheless now you can use the same set of governing equations that we derived yesterday and we can find the solution for the mixed convection case also however the one of the more simpler approaches in a empirical manner will be to find the Nusselt number independently for forced convection and then natural convection and then simply blend it blend these two values together depending on whether it is a buoyancy assisted case or a buoyancy a post case. So for the case of buoyancy aided one you see that the boundary layer growth is much faster and it is thicker than the case of buoyancy a post okay so therefore the when you look at the sign it can be either plus or minus depending on you have a buoyancy assisted or a buoyancy a post case so now the value of M here depends on the kind of configuration so I will just list out the value of that index M for a few cases for a few configurations for example if you have a vertical plate and you have an so this index M will be something like 3.5 okay so this is usually between 3 and 4 okay so this value is generally taken to be 3.5 and if you have a for example a horizontal cylinder also this value if depending on the condition boundary condition if it is a constant wall temperature this is again taken to be 3.5 the same horizontal cylinder with constant wall flux is taken to be 4 and similarly for a sphere also with a uniform surface temperature this value is taken to be 3.5 okay so depending on the configurations you can use values of M appropriately and blend the values from the independent results so usually it is between 3 and 4 okay so now what we will do is that so I just also will give a representation of how the Nusselt numbers might probably look in the buoyancy assisted case so when we plot Nusselt number as a function of RE for a fixed value of Grashof number so that is I maintain say the Grashof number to be something like 10.5 and vary only the Reynolds number okay so I can go anyway from therefore natural convection regime all the way to forced convection regime depending on the value of Reynolds number that I vary okay so for very low values of Reynolds number so then what happens this will be in the natural convection regime so typically you end up with value for natural convection now this will be your natural convection value so you see what happens at low Reynolds numbers since it is dominated by buoyancy irrespective of what the Reynolds number is the Grashof number is also a constant so the Nusselt number will remain a constant it will be governed by the value of Grashof number that you use now when you again go to very high value of Reynolds numbers so then the buoyancy will be insignificant compared to the inertial force and therefore Nusselt number will be purely dictated by the forced convection in forced convection case Nusselt number is directly proportional to Reynolds number and therefore it progressively increases in the case of forced convection so if you plot forced convection case you will have something like this so this is your forced convection case so therefore the combined convection will have to transition from the natural to the force like this so this will be your combined or mixed convection so this is the assisted case so initially when you talk about lower Reynolds number so you have only natural convection which is governing the value of Nusselt number very high Reynolds number it is only the forced convection which is governing it and in between where the ratio of Gr by Re square is of the order of 1 so you have both of them both the forced convection as well as the natural convection so your Nusselt number values will be transitioning smoothly from the natural to the forced convection is that okay so this is a kind of more realistic case in many applications you can actually have both the forced and natural convection to be equally significant and we cannot therefore neglect the effect of mixed convection in those cases so now what we will do is first we will take up the pure natural convection case where we do not have any bulk motion and try to look at some solutions to the fluid flow and heat transfer problem so what are the different ways of solving it just like you have your external force convective boundary layer for which we have the flashes and pole house and solution we can approach by using similarity methods so similarity solutions are the exact solutions that we are going to do and once again this can be done for either a constant wall temperature boundary condition or a constant heat flux boundary condition so the constant wall temperature boundary condition case was originally attempted by pole house and along with the external forced convection boundary layer we also started looking at the case of natural convection and he derived the similarity equation for this case also but this was later on solved for wide range of Prandtl numbers by another person called Ostrich okay originally during pole house and time there were numerical methods were very few so he could not find a very general solution for the Nusselt number for different Prandtl number so only for fixed Prandtl number he was able to get the solution but nevertheless that similarity equation was solved using numerical methods later on by Ostrich and he generalized to a different range of Prandtl numbers and the other solution is for the constant heat flux boundary condition and this was done by two people sparrow and great so this is extension to the basic pole house and solution to constant heat flux boundary condition and apart from this you also have the approximate methods so one is the use of similarity solution the other is the approximate technique which is not as rigorous but nevertheless gives you very useful correlation which is close to the exact solution so the approximate method has been derived by a person called square okay so using the momentum and energy integral technique especially for the constant wall temperature boundary condition okay later on people extended the solution to also constant heat flux boundary condition so like this similar to the external force convection you have similarity and approximate solutions also for the natural convection problem so we will start with the similarity solution with constant wall temperature boundary condition okay and later on we will move to the modification required in the similarity variable for the constant heat flux and then we will go to the approximate methods okay so the similarity solution was originally developed by pole house and similarity equation as such so we will look at the solution first before we go to the other extensions okay now just the same with blushes equations you have to first start with defining similarity variable similar transformation from XY coordinate to coordinate which is called the similarity variable coordinate so we do not know what is it but let us say that ? will be a function of y by some ? right so we will go on the same lines as blushes did okay naturally because they we are talking about boundary layer growth and therefore the similarity variable should be able to map the boundary layer thickness at different x locations and when you plot y by ? this should be a similarity variable which should collapse all the velocity profiles okay the same starting point as the blushes solution but in this case we do not know what the order of ? should be what was the similarity variable in the case of blushes equation the case of blushes solution the similarity variable was assumed to be y by x rex to the power half because ? the order of magnitude of ? was found out to be x by square root of Reynolds number local Reynolds number okay so now we have to find a similar transformation in the case of natural convection that we have to replace Reynolds number with our Grashof number okay so yesterday we have seen that the equivalence between Reynolds and Grashof number so according to this non-dimensional number we have Grashof number to the power half is of the order of Reynolds number correct so therefore if you want to use Reynolds number to the power half this will be Grashof number to the power one-fourth so what Polhausen did was to simply so it is re raised to one by two this is going a square yeah that is correct so in that case we may yeah I mean this is a generic representation yeah but you can you can plot it exactly you know I have just given an idea here the shape of the curve could be different okay so what you are suggesting is it should go like this right okay you know at very low values of Reynolds number here so your Nusselt number with a force convection will be very less so this will be insignificant okay so you are saying that this value should be shifted up here no but that is what I am saying for very low values of Reynolds number if you plot the value of Nusselt number from the natural convection so this will be much larger than the force convection value right so this becomes dominant only after the Reynolds number becomes sufficiently large this is a generic representation okay I am not plotting any values here so you can actually calculate it for fixing Grashof number say 10 power 5 you will find that this value will be different for 10 power 6 this will again change okay so but this is a generic representation saying that very low value of Reynolds numbers okay your force convection contribution is small okay if you therefore put it into that empirical correlation so it will be mostly governed by the natural convection value and once you cross a threshold Reynolds number then the force convection becomes dominant so then that will be decided only by the force convection value so in between these two is where you use this empirical correlation and blend both the values of forced and natural convection so that blending will give you a smooth transition all right so so let us come back to the solution so when we replace therefore Polhausen looked at the same similarity variable and therefore he replaced Reynolds number with Grashof number so in this case therefore what happens you have Grashof number to the power 1 by 4 okay so this is of the order so what he did you can also use this find a similarity equation solve it so it will not change the solution but nevertheless to be precise he used Grashof number to the by 4 the whole raise to the power 1 by 4 is anyway constant they shouldn't affect the final solution for say skin friction coefficient or nusselt number because everything will get adjusted in the end okay so even if you do not do this you might get different constants in the similarity equation but then finally when you calculate the CF and nusselt number they will get scaled proportionally okay by this constant right so he used this as the similarity variable many of the textbooks in fact show that this is your exact similarity variable there are few textbooks which omit a constant and they go ahead and solve they get slightly different constants in the similarity equation but finally the non dimensional numbers all will be the same okay and in fact the Blasch's equation we did not use any of these constants so now the next step is to find the stream function okay so when we solve the governing equations we have to solve in terms of the stream function because then the continuity equation becomes redundant okay so therefore what is the appropriate transformation for transforming the stream function which is a function of x y to another function which is only a function of the similarity variable eta okay so that is the next step that you have to find so how do we do that so once again we write down the equations for relating stream function and velocity field so u is equal to d psi by dy and v is equal to minus d psi by dx so let us take this particular relation and we can integrate it so therefore psi will be nothing but integral u dy and let us also assume that if you find the right transformation variable then u by say u reference will be a function of only this variable ? right that is the purpose of finding the similarity variable so that finally when you plot u by u reference so it will not vary as x and y but it will all collapse as a function of ? right so therefore we can substitute for u into this so you have u reference which is taken out into G of ? so now we have to transform the variable y in terms of ? so we will write this as dy by d ? into d ? correct and dy by d ? can be expressed from the similarity variable here okay now if you do that I will just give you what will be the expression for ? please check that it comes out to be u reference times x by rash of number to the power 1 by 4 into 4 raise to the power 1 by 4 into this integral G of ? d ? will be nothing but another function of ? which will say f of ? and this dy by d ? is nothing but x by x into 4 raise to the power 1 by 4 by rash of number to the power 1 by 4 okay and integral G of ? d ? is nothing but another function f of ? so therefore this is your transformation from of the flow field from x y coordinate to a ? coordinate this is your transformation from x y coordinate to ? coordinate through the similarity variable so this is your similarity variable and this is the corresponding transformation of the flow field so now that you have u reference we also know that u reference can be related to G ? ? t okay so in fact pole house and gave you also introduce the constant 4 into this it does not matter if you do not introduce any of the constants here or here also finally it will not matter all these are scaled up or down accordingly so the final non dimensional numbers will not change but let us do it exactly the same way he did it so if you substitute for u reference here and therefore combine the terms you get 4 into rash of by 4 power 1 by 4 into ? times f of ? okay so what we are doing is we are writing G ? into T wall – T infinity in terms of rash of number okay since we know the definition of rash of number as G ? into T wall – T infinity so this is a local rash of number we will define it with the local coordinate so I am just substituting for G ? into T wall – T infinity as rash of number into new square by x cube into this and already I have a rash of number so I just combine the terms finally I will get this as my relation between ? and f okay so therefore I find the transformation now we can go ahead proceed start calculating you then V du by dx du by dy all the derivatives and then we can finally plug them into the governing equation so if this were the right similarity variable so we should be able to transform this PDE into similarity equation which is only a function of ? so that shows that we have whatever we have assumed for ? is correct so if you have some terms in x or y that means we have still not found the right similarity variable so let us do that the next step is therefore to find you which is d ? by dy and how do you find this now ? is a function of y and we have to convert this in terms of ? that means we can write this as d ? by d ? into d ? by dy okay the ? is a function of y through ? so now we will write d ? by d ? into similarity variable is a function of ? so this is a partial derivative d ? by dy using the chain rule of differentiation okay so same way we can also calculate the V velocity how do we calculate V velocity now V velocity is nothing but minus d ? by dx now if you look at this ? is directly a function of x correct through Grashof number and also function of x through ? so therefore in this case we can write this as d ? by dx this is your normal derivative with respect to x plus it is a function of x through ? so therefore this is d ? by d ? into partial derivative of ? with respect to x so this is exactly the same way we did the blushes solution so can you calculate and tell me what the velocity is you and we are so when you write d ? by d ? in this case the other terms are all constants only f is a function of ? okay so essentially you have 4 by into d ? by dy which is nothing but 1 by 4 4 into 1 by x into Grashof number raise to the power 1 by 4 okay so this gives my U to be 2 into Grashof number raise to power 1 by 2 into ? by x into df by d ? okay so we have 4 raise to the power 1 by 4 into 4 raise to the power 1 by 4 okay so this becomes therefore 2 4 by 2 right so this is 2 and we have Grashof number raise to the power 1 by 4 into so 1 by 4 plus 1 by 4 so we have 1 by 2 okay and then we have ? by x into df by d ? similarly you can find V also I will what I will do is I will write down the final expression here you can it will take some time about 5 to 10 minutes to simplify and do this you can check this a little bit later so it comes out to be minus 3 by 4 raise to the power 1 by 4 Grashof number by 4 U by ? minus okay so all you have to do is find d ? by dx treating other things as constant and differentiating with respect to x then the second term you have df by d ? into d ? by dx okay so put together you have function of Grashof number x ? and y okay so now using knowing therefore U and V we can calculate the derivatives okay so we will see how the derivatives are calculated therefore the first step is du by dx okay now how do you calculate du by dx now you should tell me so again U is a function of x directly and also through ? okay so we can write this as therefore du by dx plus du by du by d ? into d ? by dx right okay so du by dx so you have to differentiate by keeping the other terms constant only as a function of x only with respect to x you should differentiate du by dx the other is du by d ? so in that case the other terms are all constant so you have only d by d ? of df by d ? so you will have a d ? by d ? square term into d ? by dx right so if you again substitute for d ? by dx and so on so this should come out to be so when you write du by dx that df by d ? will be a constant term so that will just come as it is and from the second term you will have a d square f by d ? square okay so you have to come one from du by dx and the other from du by d ? into d ? by dx that is this term where yeah so here when you differentiate you only treat the other terms as constant right yeah that is what so you you have Grashof number to the power half by x so this is actually x power 3 by 2 minus 1 okay so that is what 1 by 2 so we have therefore 1 by 2 x power minus 1 by 2 right so this is what you are writing here again you are splitting that as therefore Grashof number to the power half by x square so here you have x power 3 by 2 minus 2 that is what minus 1 by 2 right okay so I we are finally putting wherever possible in terms of Grashof number again you do not want to carry that g ? ? t together so you are rewriting them in terms of Grashof number again right so the next step is to calculate the gradient with respect to y so how do you calculate du by dy so you is a function of y only through ? you look at the expression for you right we do not have any other term of y sticking there so therefore we can write this as du by d ? into d ? by dy so now you should be able to tell me in terms of Grashof number what this is this is much simpler term so you have Grashof number raise to power 1 by 4 into Grashof number raise to the power 1 by 2 1 by 2 1 by 4 so what will be you should have 3 by 4 3 by 4 and you have nu by x square into you have d square f by ? square okay so we can also find out the second derivative of velocity with respect to y so d square u by dy square so this is again the same way you can write this as what you have du by dy you already have du by dy so this will be a function of y only through ? so you can write this as d by d ? into du by dy into d ? by dy so that comes out to be Grashof number into nu by x cube into d cube f by d ? cube okay please check once again so we have all this is constant you have to differentiate with respect to ? d cube f by d ? cube into d ? by dy so d ? by dy will again give Grx power 1 by 4 by x into 4 raise to the power 1 by 4 okay so now that we have all the terms what I ask you to do is please substitute into the x momentum equation okay so our momentum equation for this case okay so we can write the last term in terms of ? we can now define for the constant wall temperature case T minus T infinity by T wall minus T infinity as ? and therefore we can write this as G ? into T wall minus T infinity into ? okay so you can go ahead and plug for you du by dx v du by dy d square u by dy square and G ? into T wall minus T infinity you can write this in terms of Grashof number again right so what this will be in terms of Grashof number so your Grashof number once again G ? T wall minus T infinity into x cube by nu square so this will be simply Grashof number x by x cube into nu square ? so please plug in the other terms you will get some terms cancel some terms will cancel away and tell me what will be the final equation will you be able to transform the PDE into a OD function of ? okay as you keep doing I will also write down the energy equation so the energy equation can also we can use the differentiation by parts here so you can write this as you can assume now ? to be only a function of ? now let us use the variable ? of ? here okay so when you plot this non dimensional temperature also as a function of the similarity variable they should all collapse same way like your u by u reference okay in that case then ? will be only a function of ? so we can split this as d ? by d ? into d ? by dx and so on so I will give you the final similarity equation here it comes out to be d cube f by d ? cube plus 3 times f into d square f by d ? square minus twice df by d ? whole square plus ? equal to zero so finally we have successfully transformed PDE into OD as a function of only ? and now you see we also have the ? term here so please note that finally when we are solving this equation by shooting method we have to make sure we solve both the momentum and the energy equations simultaneous okay so this is where the coupling comes from so you can compare this to the Blasius equation so there we had d cube f by d ? cube plus we had f by 2 into d square f by d ? square the other terms were not there so compared to that we have now additional terms so to complete it now we can also transform the energy equation as a function of only ? by substituting for u v d ? by dx d ? by dy and so on okay so I will again give you the final similarity equation for energy d square ? by d ? square plus so you get d square ? by d ? square plus 3 times Prandtl number where Prandtl number is the ratio of momentum to thermal diffusion so in the case of Paul Haussens solution for flat plate external force convection there was PR into f by 2 so now we have modified this okay so tomorrow we will stop here you can also go home and verify whether you are getting the final equations so tomorrow we will apply the boundary conditions and then look at the application of shooting method for solving this equation then how the velocity and temperature profiles look after solution based on that we will develop the expression for Nusselt number all right thank you.


Pow, what's up everybody? Once again, it's Brandon, man, Sean. And once again, I got a very special guest for you guys. Today, that would be none other than Uncle Adams. Now. What's up? Hey, just to give you guys a little quick overview on Uncle Adams, been in the game for a minute, obviously, but he's a rapper and a speaker. So he does motivational speaking as well. He has a unique, interesting angle that he's going towards. So far, he has 2.7 million Spotify streams, 4.9. YouTube views, 27 million Facebook video views. He has that listed on his profile. I'm gonna go and dig into why and where that came from. But first, let's start off with, let's let everybody know where you're from and where you reside. Like you said there, my name is Uncle Adams. Real name's Curtis and I reside in Canada. I live in a city called Regina in the province of Saskatchewan. And usually when I tell people that, especially Americans, they're like, what? Where's that? And then I tell them, it's not actually that far. The way I explain it is it's pretty much in the center of Canada in the big rectangular province towards the southern part, couple hours from the US border. Gotcha.  Everybody does that, that's yeah. That's the running joke, yeah. Yeah, I'm sure. So you have a decent amount of views on YouTube and on Spotify, Facebook, across a lot of social platforms, even a decent Instagram following, I'm believe it's at 13,000, not as big as your other platforms. But my first question is being where you are, right? Is that an area that the music industry is popping? Is it a lot? Is it a bigger city? I don't know anything about that place. No, no, the short answer is no. There's a bit of a music scene here, but it's, I don't wanna say it's non-existent because it's gotten better over the years. But when I was younger, like in my late teens and early 20s, we would do shows and battles and stuff. And I'm telling you, there was maybe 10, 15, 20 people there. So very small, very, like I say, almost non-existent. And after a while, it just got tiring doing shows and stuff for that few of people. Gotcha. So I kind of left that behind and went to the internet. Perfect. So this is exactly what a lot of people are facing right now. There's a lot of people who are in work LA, Atlanta, or some pretty decent cities, but a lot of people feel like they're in the middle of nowhere. So what did your journey across the internet look like? How did you start building? Basically, like I say there, I got sick of doing shows for 10 or 15 drunk people and I wanted to find a different way, you know, and reach more people. So I started on the music video grind, the independent music video grind. And my first relatively big one, I dropped in 2013. It was called one of a kind. And then I just, from there, I just went on a tear, basically. Like from then until now, I have 18 music videos, give or take one that have all been independently produced. And I've talked about a wide variety of subjects. A big one that I did was an anti-bullying song. I did in 2013 called I Am Stronger. So I made a song to help kids dealing with bullying and stuff and I did it with rap music in a way that they would connect. So I don't know if you've seen that one or not, you should check that one out. So then that one led to my emails just going crazy. My message is going crazy because it got over a million views on Facebook. And all these people started asking me to come to their schools. So I did start going to schools and I started rapping for gyms full of 500 kids. Bless you. Thank you. I had to pass these out, right? Yeah. But I started rapping for essentially schools full of kids instead of the bars that I was doing in my younger days for 10 or 15 people. I've never seen anybody else do it, but I like doing things that other people don't do. I feel like you gotta experiment with stuff, break the mold and try different things. Okay. So yeah, that's super interesting because I feel like a lot of people might have looked at that route as corny or it's just not where I'm trying to go. So they might not have taken that opportunity up. But I was talking to Curtis King recently. And I don't know if you know who he is, but he's another one of those YouTube guys. You know what I mean? I'm pretty good. Like us? Yeah. Yeah. He's one of my favorites, man. He's one of my favorites. Real great dude. Yeah, I've heard of his beats. I've heard of his beats for years. He has beats on SoundCloud and stuff, right? Yeah, I've heard Curtis King with two essence. But yeah, I love that dude. And one thing he said in our conversation was that there are so many lanes out there for people that, and that's the lane they actually probably should be in. They have a strength or it might even be their calling to be in that lane, but there's so much following the stereotypical industry lane and that vision that they don't take advantage of it and they miss some other lane. So I would love to hear about your mindset when the school bullying that whole route took off. How did you initially feel about it?  Or did you have some reservations at first? I definitely had some reservations because I knew that rappers were gonna say that that was soft. Yeah. And but I weighed that and I decided, rappers saying I'm soft or me helping tens of thousands of kids. And I chose to help the kids. And I've done that a couple different times where I knew that doing a certain project was gonna put me, put a target on my back and people were gonna diss me and people were gonna say I'm soft and this and that and whatever. You know, like I still, I still did it. I figured it was worth it. But it's satisfying doing that, you know? Like I got a whole bunch of messages when it first started happening from kids telling me that they were gonna commit suicide and then they heard the song and it helped them and it built them up from the inside and stuff like that. So even, you know, just saving one life that's worth any attacks or anything that people have to say about me. You know what I mean? Right, that's real. That's real. But I can see what you're saying. Definitely a lot of rappers will not do that because they're afraid of stepping outside of the box. They're afraid of being ridiculed. But game changers, people who switch things up, people who innovate, people who pioneer things, they face harsh criticism. You know what I mean? And you were talking about that lane. You said, you and Curtis King were talking about the lane of the typical, stereotypical rapper. That lane is full. Everybody does that lane and I'm not dissing that lane. People come from all different cultures and stuff. They can do whatever they want. But I just think like, where are you more likely to get noticed in that lane where it's kind of all the same or branching out and sort of doing something different. But it comes at a cost. It's not for everybody. Yeah, yeah. That's super meaningful, especially somebody who's coming from a space that has very little music scene. So for you to be open and just for some way to get out was interesting. So where did that take you? You were performing, it started off for these schools. What was the next step for you? First of all, by no means am I where I want to be, but I've made some moves. And I guess you could say that that evolved into me visiting schools all over North America. I've been to New York City. I've been to West Virginia. I've been, not just schools too, other kinds of events for speaking. Because the speaking opens up doors that rap alone cannot. You know what I'm saying? Yeah. I can go into a place, speak and then do a bit of rap at the end. So I've been up to a place like called Nunavit, which is way up in Northern Canada. You'll need your map for that. That's way up in those islands, super remote up there. Went and talked about anti-suicide and anti-bullying and spent some time in the community. Been all over my province. I remember the first time I did it in 2013. I went to a school in North Battleford and I did a little talk, 15 minute talk, and then I rap my song. And then all these kids lined up to come and meet me. Like the gym full. And I couldn't believe it that they wanted to come and meet me. And then they started asking for my autograph.  And I remember being like, really? You want my autograph? They're like, no, no, please just do it, please do it. So it was really cool. And I did that for quite some time. And now I'm at a stage where I think I'm trying to evolve from schools to the more musical side. I'd eventually, like I'm looking for a booking agent and things like that, where I can set up more of a musical tour, and kind of focus more on that. But I think that speaking will always kind of be a part of what I do. I like to talk. Yeah. So the talking part was a part of, it was integrated with the whole bullying thing, right? You were going to school, you were speaking. That's how it started. Got it. Yeah, that's how it started. And I actually didn't even want to do that. At first, I was getting hundreds of messages from schools and it was kids and it was parents and it was teachers and they're like, you got to come to the school. These kids will listen to you and da, da, da, da. And I said, no, no thanks. I just rap, I don't talk. I don't do public speaking. At this time I didn't do that. I had never done it before.  Like I just kept getting messages and emails. And then one day I was like, hmm. I was like, they want me to come and they want me to talk and rap for them. Why not? I will. I put some information together and went on my way. So it came from the people. So really quick before we move on from this particular era of your career, how did that song get out there in the first place? Like how did it really start to take off? YouTube. I did a YouTube video. I collabed with a local organization here and a bunch of students came out and participated in the video and then we put it on YouTube and it did okay, but it kind of, it actually went, it was actually going pretty slow, but I'll tell you what changed the game for that is when, I think it was 2013, 2014. You remember when Facebook first integrated their video player so you could all of a sudden upload videos right to Facebook? Yeah. It was relatively new. You couldn't do that, you know, several years ago. So I was like, oh, this is neat. So I took this video that had already been out for I think six months or a year at that time and I uploaded it and it got like over a million views. That's a really, that's a really sort of spread it. So it just goes to show like one piece of content. It could be sitting for a long time and then you do something else with it and it starts to pick up and stuff, you know, like you gotta keep pushing stuff sometimes. So yeah, that's great. That's wild. And you just posted it like on your personal page or was like a rapper page? It was a rapper page, but it was pretty small. You know, it was like anybody's, now it's so I think I'd like 130,000 likes or something like that, but at the time it was nothing like that. But one video man can jump your numbers huge. That's wild. And back then you probably didn't even have to do any like Facebook advertising or anything, did you? No. Yeah. Those on Facebook was, they were real. Yeah, I find that the videos that do the best are not necessarily ones that were paid to advertise. They're ones that society watches and feels connected to and wants to comment on and want to share, you know what I mean? Like if you're just making a video rapping about all about yourself and it doesn't connect with the audience at all, it's probably not gonna go viral. I think a lot of rappers don't understand that like that sometimes for a viral video the content has to relate to the people watching. It has to relate to the public, right? Or else why do they care? Whoever your audience is because with you obviously that first song, bullying that, I mean, that's been something a lot more popular these days and starting to really resonate with the public. So I could definitely see just eating time and play a huge part of you and yourself. So cool. Like let's talk about after that. And you talk about the fact that you're moving and transitioning into the more musical side, maybe quote unquote a more serious artists. You know, what demographic are you probably targeting or these people like? Well, I'll compare yourself to an artist. I know artists hate to do that, but like, if you know a genre, you know, you don't have to say one artist but just a bucket of artists that would have similar fan bases to what you're going for. I would say probably, well, like, I know on my similar artist tab or whatever one that pops up a lot is Brock Hampton. Lil B is over here too, man. Hey? They say Lil B is related to you too. Yeah, they do. Yeah, I've heard that a lot. And he pops up on the profile there when you say, when you go to similar artists or whatever. Yeah, I see that Lil B all the time. From like, yeah, like you say, rappers don't like comparing themselves to other people. But I would say probably like, kind of like a logic or sort of like, I'm kind of like, I kind of rap like Hopson sometimes too, but I don't think like, but I'm just trying to give you an idea because I'm more of a lyrical rapper I would say rather than the mumble rap stuff and the other stuff like that.  I think there's different genres and hey, different stuff sells and people are from different communities and stuff. But just to give you an idea, yeah, I would be more like logic or kind of like Hopson sometimes and more on the lyrical side. Okay, yeah, I would say you definitely. Do you agree? Stylistically, you're definitely more of a lyrical type style. That sounds like that's what you're going for. Now, how do we get these plays on Spotify? A lot of people are trying to figure it out on Spotify. How do we get these plays on YouTube? Honestly, I wish I had all the answers on that because I'm not, I'm not nearly where I want to be. Like I made a YouTube series called the at least a million mission where I straight up told people in a video series that I am going to get to one million monthly Spotify listeners. That's a target that I'm aiming for. So first of all, I don't claim to know everything.  You know what I mean? And sometimes I might have pushed it a little too far even. You know, like there's one video where I dance around in a top hat and stuff like that and some people didn't like it, whatever. But I did that on purpose so that people would watch my video and remember me rather than just scrolling and oh, there's another rapper. You know how it is. If you scroll down Facebook and it's sponsored ads, sponsored ads, sponsored ads, all these rappers, all these singers, and no offense, but most of them sound the same and a lot of them are kind of boring. So I try to do things that make me stand out even though sometimes it puts me under intense criticism. Got you. Okay. I mean, I've seen that you do the whole YouTube page that YouTube were out. I'm gonna talk a little bit more about the journey what made you actually decide to say, hey, I'm gonna do a little bit of the self-help stuff. I'm gonna also integrate my own mission like the million subscriber mission, like what monthly listener technically. That's right, yeah. Yeah, so how'd you build that YouTube following? Because you have, and it's pretty decent if I remember correctly. It's not as big as yours, but I'm trying to get there. Yeah, it's not far off, right? 32,000. Yeah, we're pretty close, yeah. A lot of these artists would like to have 32,000 people subscribers on YouTube. And YouTube is one of the harder places to actually build a following. So. I agree. So how did this happen? What happened? Brick by brick, I guess, you know, and again, I'm not where I wanna be with the YouTube either, but I'm thankful for what I have. I started with the music videos and it used to be just all music videos. And then I started realizing, hey man, I could throw on the camera and do a little bit of talking too, like some of the stuff you do, right? Like you put on the camera and you talk and I realized that people wanna interact with this kind of stuff too. Like I didn't have to restrict myself to just the music. You know, I could do different kind of videos, different sort of talking things. And then the at least a million mission, which is the series where I'm totally honest about the debt that I've accumulated in the music industry. I tell people what my goals are, what I'm aiming for. That was sort of a bold move that I did because I figured, you know what? If I'm really doing this, if I'm really serious about doing this, then I should be able to tell the world that I'm serious about doing this. You know what I mean?  I was actually scared for a while to do that because who wants to put that out there? What if you fail, right?  But- I actually haven't seen that video. What have you told people in terms of your debt? Can you go a little bit more at length in this video? Cause I know it'll be helpful for looking on it as well. Yeah, basically I've lost a lot of money in the music industry trusting the wrong people and doing bad deals sometimes. You know, there's an artist watching this, need to look out for that. You know how it is probably. There's a lot of people who claim that if you pay them a lump sum of money, that they're gonna take the steps to get you a record deal and this or that. You know, I don't know. I don't really want to go too far down the rabbit hole. They can watch the series if they want the at least a million mission. But I lost a lot of money in the music industry and just as a struggling artist, trying to make it sometimes. You know, like I think a lot of people can relate to that because I quit my job and went all out toward it. So I've been trying to pay my bills, pay my rent and create all this content just from rapping and speaking. Which is hard, you know? And like I say, I lost some money with that and I used to have a team and I ended up firing the whole team as things didn't work out. And if people want to know more about this, you know, there's a song called Industry Snakes that I have on Spotify. You can listen to that. That kind of tells sort of the story. But it's not all other people's fault. You know what I mean? It's just, this is entrepreneurship.  And I talk in the series too, just I'll let you talk in a second. But I had a $300,000 contract, man. Signed, done, ready to go. Bus, we were getting ready to go on the tour in the States. And then I was sitting in the bank and I got this email. And it was like, cease and desist. Company merger failed or something like the company, the two companies that I was gonna be touring for failed to merge and it thus made the contract void. And I essentially lost out on the 300,000 on the contract. But this is just some of the stuff I talk about in the series, man. But it's a roller coaster. It's up and it's down. But, man, I'm never quitting. For sure, man. I mean, I definitely get that. And I've heard some similar stories, not that one with that tour and the company merger. That's, that's interesting. What was that like when you were building your team, but you had to make the decision that you wanted to get rid of the team, not get rid of them, but you couldn't, it was you're in the wrong direction. You couldn't sustain. How did that feel? Yeah, it sucked because I spent years with these people, man. I spent years looking for good people to work with. And first of all, you can't do much in the music industry without a team. I don't know, do quite a few young rappers and singers watch your channel? Man, it's people of all ages. Yeah, so yeah, I wanna stress that, that it's important to have a good team. And I thought I had a really good team built, but then I started finding out some sneaky stuff that was going on. I'm not gonna mention names or get too much into the details, but money was spent where it shouldn't have been. People were saying other people were taking money and then I would confront one person and be like, he said you were taking money and he'd say, oh no, that guy, he doesn't know what he's talking about. So how can you have a team like that when you don't know who's lying and who's telling the truth? So I decided I have to start from scratch as hard as it was. And that's where I am right now. Like people look at my accounts and stuff and they're like, you're verified on social media. You got all these followers. You got all these records and stuff, but you have no team. So then I have to explain to them the story. That's why, like currently I'm totally solo. I don't have a record deal. I don't even have a manager right now, but I'm looking for those things. How long have you been solo? Oh, several months. Got you. Yeah, but you gotta be picky with this, you know? Like if you're gonna take on a manager, you wanna make sure that you're partnering with someone that you really think it's a good fit. Cause a lot of people can maybe claim that they're a manager or something, even though they're not gonna do much for it. You know how it is. You know how that is, right? Yeah, so I'm rebuilding. How about this then? Original. Now that song is post-bullying era, right? Oh yeah, several years later, three years later. That song has about 800K on Spotify right now. Yeah, that's a controversial song. What happened? Why is that song so controversial? Like what were the reactions that you saw that were controversial? Cause I wouldn't take that as a controversial song at all personally. So that's- Me neither, really. When I first made it, I was just kinda like, all right, you know, like I knew it was catchy. I knew it was fun. And I decided that I wanted to make a different kind of music video. I wanted to do something in the music video where people would be scrolling and they would see my music video and they'd be like, what? What is this? What's this guy doing? This guy's in a top hat. Have you seen this guy? You gotta check it out. I wanted it to be memorable, right? Right. So I dressed up in three different costumes in the video. If you watch the music video, I think I wear a chef's hat in the end and in the start I wear a top hat and in the middle I have a crazy thing in the side of my head and stuff. And I just did different stuff. So actually for the first little while, that video wasn't really that controversial but then some people started to kind of make fun of it and then it turned into a group of people. And then one really big thing that happened was Anthony Fantano. You know him? You know Anthony Fantano? Yeah, of course. Yeah. So he gave me a review. Really? He reviewed original. It was not a good review. It was not good. It was like a 20 minute review. But there's more to the story. So anyway, that sent a ton of negative traffic over to my channel, to my videos. And I wasn't used to that, man. I was used to people praising my stuff until all these people came over. So it actually got really bad, man. I had a lot of crazy trolling and impersonation and people are asking my fans. But anyway, then there's videos about all this on the internet, by the way. And then Anthony Fantano and I, we started talking about this and he invited me on his channel and we did a video together, actually very similar to this. How we're doing an interview right now. Really?  He went through and stuff. And the video is called Burying the Hatchet with Uncle Adams. Okay. And then now we follow each other on Twitter and yeah. So it's interesting. So basically it wasn't controversial at the start, but like I said, a piece of content can change. All of a sudden it gets into some different hands or something and it gets on a different platform.  I never thought it was gonna do all that. That's really important because the point of that, just how we talk about how some songs or pieces of content can take off and go viral just because it happens to get discovered or more visibility. The fact that it's song can literally change almost its impact due to the context of the error or the whatever platform that is on is something that we don't talk about as much. A prime example is really when you look at some of the behavior that people get looked down upon these days in pop culture or how they might talk to women or things like that, right? There was a certain era where it was so normal, right? And it was such a norm. So we take some of the stuff from back then and then you bring it into this day and it's wild. But back then it was, of course it doesn't mean necessarily it was right or wrong but just changing the context of when something's taking place or who's the person who puts it on their platform in front of a different fan base, all those types of things can literally change the impact in the trajectory of the song. So it's really cool to see that you said, I was looking at the video a little bit. It's a little wild, it's interesting, man. Yeah, I know. The way you have this like cheese on, like cheese, like you're smiling. It almost looked like you had a mess going or something. Like it was, it was interesting. My thing about that, so I know you got a lot of negative feedback and when I hear your style and your type of music, I can see how it got out and really touched a lot of kids, right? I know you were talking because where you started and now some of the music I've heard, the production value isn't necessarily super high when I listen to the audio part, like your voice, right? So my question to you is, are you still doing it? What is your process? Cause I know some people are trying to distort or they're trying to remain a certain type of authentic by not overproducing and leaving their voice sounding a little bit distant on the track or in different ways. And then, or it could just be your process where you haven't invested in certain things for whatever reasons. Why is that when it comes to your music? Well, maybe it's because it's my real voice and I don't have 10, 15 plugins on my voice like a lot of rappers do where it's to the point where it's not even really them anymore, it's computers and shit, you know? And if they wanna do that, that's fine. But when you hear me, you know, we do some compression I think and we do a little bit of mixing and stuff like that, where we don't put a bunch of effects on my voice. Like when I rap, it's me. But as far as production quality, like I record in one of the best studios in Canada.  They're like, this sounds like it was recorded at like Republic or Atlantic or something like that. And like New York or LA, they always say that to me. So all the equipment's on point. The studio is absolutely phenomenal. If my music sounds different than other rappers you're listening to, it's because of what I just said there with the, I don't put a bunch of effects on me on my voice. You know, I just, I don't know, maybe I'm old school or something or from a different time where we just don't really do that too much. But that's how I like it and that's how my fans like it.  But I can see why you think that's so different because in this era is major like plugins, right? People put all kinds of plugins on their vocals and stuff like that. Yeah, a lot of them. Okay, I mean, that's fair enough. I mean, and also I don't know which air, like I've heard a few of your songs, I've went and listened to some things, but they're from, I don't know the years that each song came out or anything. Another question though, back to Anthony Pantano, that situation and negativity. I find that really intriguing. So it's just indecatable the fact that a lot of artists at any moment you can blow up and you could or could cannot be prepared for it, right? Cause you don't know when it's coming or where it's coming from when it comes to a video that might go viral. When it came to that song, you said you got a lot of negative feedback. What was the worst part about the negative feedback that you didn't seem to be used to? And how did you handle that personally? Well, first of all, at the time, my YouTube channel had like 20,000 subscribers and Anthony's had over a million. Of course, yeah. So when he gave me the bad review, and I don't hold this against him or anything, like we've long since squashed all this, but you gotta understand that the numbers, the traffic that came over from a channel with a million subscribers to a channel with 20,000 subscribers, it was crazy man. Like it was honestly insane, like all the stuff that was coming over and people saying stuff and like telling, saying horrific things to my fans and fake emails and people pretending to be people they weren't. Just lots of weird trolling stuff that most people would never understand and I never understood until it got to that point either. Yeah. But yeah, to be honest man, it was no joke. Like it was really like invading on my personal life and stuff and I was just like, wow, I didn't believe, I never, I didn't think that that would happen, but I guess you could say that my strategy worked, right?   And although it was turbulent for a while, it worked. Radar and he did a review on it and even though it was a bad review, he gives a lot of big artists bad reviews, you know? So in a way, it's flattering to even get a bad review from Anthony. Like it really is, you know, because he's so influential on YouTube. So when I weigh it all and I look back on it, it was mission accomplished. It was more turbulent than I thought, but it got me a lot of exposure from one song and one music video. And it's not all bad by the way. A lot of people listen to that song. It's my biggest song and on Spotify it's, like you said, it's over 800,000. It'll be at a million in no time, million streams. How long ago was this, by the way? Well, I released the song in 2016, but those events transpired between then and now. It was quite a ways after it was released that he, like you said, how things can change and something happens and spikes the content. It was quite a while after the original release. Isn't that ironic? The original, original release? Yeah. Is the song called original? They almost didn't let me name it original. They said, this name is too generic, like it's, you know, because it's not specific enough. But yeah, so it was, it was a while after it was actually released before all that even happened. I just think it was a while, because the, I'm sure by what you're saying, Anthony basically gave it a negative review. And the fact that, and I'm sure he might've played it, I've made fun of it and all that kind of stuff. And the fact that so much traffic came from someone making fun of it or saying something that's bad is just weird to me, because I always, like if someone tells me something's bad, I don't go to look to it or, but I don't really understand really being a troll. I'm just not a troll. I don't really.   Yeah, there's people who do that stuff, man, like big time. That's interesting. So all right, what's next for you, man? It seems like you've had a lot of scenarios where you stumbled into something on purpose or not. It seems to be even more so actually not on purpose, but you've capitalized on the little cracks that opened up for you and figured out how to make it work for you personally, no matter what other people might think about your music or the brain that you have going about you. What's next for you? Well, first of all, all of this is on purpose. Like I set out to become a rapper that people recognize. I want to get bigger as a rapper basically. And I started that in 2013 with the music videos and yeah, it's kind of taken a long time and there's been some major bumps in the road and stuff, but I am doing that, you know? I am getting bigger.  Like I say in the series, I tell people I'm going to get to a million monthly Spotify listeners and a lot of people would never say that, especially on the internet to thousands of people, but that's one of my next major objectives and I'm obsessed with doing that and I'm so serious about doing it that I told everyone that I'm going to do that. So I'm working toward that, but with that said, I'm also working toward building another team because goals like that become smaller when you have a good team behind you. So in the foreseeable future, those are a couple of things that I'm working toward. I also want to get out there and start performing live more. You know, I want to come down in the States and hopefully get another tour set up, one that doesn't fall through like that one that I told you about that $300,000 contract. So yeah, to keep going onward and upward, eventually I want to get a deal. I mean, every rapper wants to get a deal, right? And I'm no exception. I want a record deal. I want to get over a million monthly Spotify listeners. I want a good team to build a good team. And I want to get on tour. And I don't just sit here and say, oh, I want those things to come to me. Those are things that I'm working toward every single day to make them happen. You know what I mean? Yep. Okay. Interesting, interesting, man. I really think your story is, once again, one of going the path less travel for better in terms of what other people might think. But that's one of the things that attracted me to at least chop it up with you. Because once again, I don't see people going this kind of route and owning this kind of route.  But after a certain period of time, more people will respect him and give him. But there's still a lot of people do not like his music. And he has his own cult following that works for him. So it seems that you have a following that's working for you and developing for you. I mean, to the point where other people were attacking your fans. You talked a lot about your fans. And I think that's dope that you have your own fan base because so many people once again aren't, they're so busy trying to go the already beaten path where it's already crowded that they don't get to, they don't get to have like a lot of legitimate fans at all because they fail to stick out. So salute to you for that, for sure. And if there's anything you wanna leave everybody with, go ahead and do that, your social media, any of that good stuff. Sure, man. Yeah, first of all, thanks for having me on here. I appreciate that. And I wish you the best with your channel. Keep on growing and maybe we'll do another collab in the future.  All my accounts are verified, so you know that it's me. And if you wanna check out the at least a million mission, you can head over to my YouTube channel. Maybe you'll leave a link in the bio so people can check that out. Would you do that for me? If you link's over and I'll put them in. Okay, awesome. So click the link in the bio guys, you can head over to my channel and maybe hit the subscribe button and watch some of my videos. And yeah, other than that, thanks a lot, my man. It's been good talking to you. You can chop it up with good people in the industry. All right, for sure, man. I don't really consider myself in the industry, but I'm out here on YouTube. Yeah, well, I've watched some of your videos. You know what you're talking about. Keep going, man. Yeah, you know, for sure. Hey, once again, everybody, if you liked this video, go ahead and hit that like button. If you like it, you might as well share it and maybe not subscribe. Yeah. You know what to do. Hit that subscribe button.


Ideas for a dystopian novel. I've been kicking around some ideas for a dystopian novel lately and I was hoping readers might be able to provide me with some feedback. I'm picturing a story set in a world where everyone's a slave but doesn't know it. People think thoughts they believe they came up with themselves, make decisions that they think are their own, buy things they sincerely believe they want, consume entertainment they honestly feel they enjoy, vote for political candidates they truly think they support when in reality they're all marching in complete obedience to an elite ruling class whose high-level mastery of mass scale psychological manipulation has bent the public to their will. In my novel people will be funneled from early childhood through an education system designed by plutocrats and social engineers to create efficient and compliant gear turners. Then when they are grown their programming continues in the form of mass media indoctrination. If they become politically aware they are funneled into artificially constructed ideological perspectives that are designed to look truthful and appealing but which don't challenge existing power structures in any meaningful way. In the same way the political system in this dark alternate reality is designed to look free and democratic but there's no real connection between how people vote and the way their civilization actually functions. An unacknowledged unofficial alliance of plutocrats and government operatives makes the actual decisions about how money, industry, government and military forces will behave from day to day. And this secretive alliance controls the official political system the public believes is responsible for overseeing those matters. What people call elections are actually just the public choosing between two lackeys of that ruling alliance and their only meaningful disagreements aren't how the will of those rulers should best be advanced. My dystopian society is built on endless violence, oppression and exploitation but because in this world the science of mass scale psychological manipulation is so advanced people don't even know what's happening. Mass murder is committed continuously in non-stop military operations overseas and the public is successfully convinced that it's to promote freedom and democracy and keep them safe from terrorism. People have to work multiple jobs in the wealthiest nation in the world just to put food on the table and they are brainwashed into believing it's their fault for not making better life choices. People die of exposure on the streets while billionaires rake in exponentially more wealth and the public is programmed to believe it's because the latter work harder than the former. Police forces and prison systems keep expanding in order to exert more control and people are trained to believe it's to make them safe from crime. Journalists are imprisoned for telling the truth and people are told it's to protect national security. Information on the internet is aggressively controlled and people are propagandized into accepting that it's to protect them from dangerous speech. In my dystopian novel the powerful will simply do as they please and then promote narratives to explain why those actions were justified. If a smaller weaker government isn't sufficiently obedient to the world's dominant power structure reasons will be manufactured to explain why they must be ousted. If it's necessary to exert more control at home or abroad justifications will emerge for why military expansionism is needed in this or that geostrategically important region or why increased domestic surveillance is required to keep people safe. The armed goons and war machines move wherever they are needed and the public is either kept in the dark about those movements or told made-up stories explaining why they must occur. Endless mass military slaughter is essential for the existence of the ruling power structure in this dystopia because without it the world's governments would simply behave in whatever way advances their own interests. The government is so profoundly corrupt that the corporations who manufacture military weaponry are inseparably intertwined with the decision-making apparatus of its foreign policy establishment and are permitted to actively lobby for more wars so that more of its expensive weaponry will be used. Mountains of human corpses are amassed for no other reason than because it is more profitable to launch weapons at them than to leave them alone. Nuclear weapons are stockpiled and placed around the world for no other reason than because it is profitable to make more of them. It's the same with environmental and economic policies. A global system is held in place at gunpoint in which mass scale human behavior is driven by the pursuit of profit for its own sake so environmental and economic policies just like military policies are formed not based on what would be best but what would be most profitable for the plutocrats who shape those policies. Industry moves in whatever way rakes in the most money no matter who it hurts no matter how badly it imperils humanity and everyone just marches along with it because they are manipulated into accepting this disaster by sophisticated propaganda systems by movies and TV shows designed to normalize the dystopia they exist in by tightly controlled information access and by their own psychological compartmentalization since the reality of their situation is too disturbing to look at directly. They turn the gears of their dark world and then stay up late binging on soulless comedy shows to distract themselves from the horrors lurking just beneath the surface. Obviously such a dystopia would be completely unsustainable and the most obvious ending would be to kill the whole world off within a few books by nuclear war or ecological disaster or something equally terrible.  I don't know. Something tells me that for some unknown reason today's readers are too inured with learned helplessness and knee-jerk pessimism to be able to even imagine such a scenario let alone accept it as a believable development. Anyway that's my pitch. What do y'all think? Does this thing have legs? Or is it too different from today's world for people to relate to it?


What we're really talking about here is taking something quite large and putting it in a very small box, where the box here is system f omega. So-called because of the nearly infinite amount of swearing you will do if you try and write any substantial program in it. It's not fun, but that's why we have compilers. And as compiler writers, our job is to take things that are quite big like recursive data types and fit them into these smaller systems that are much nicer to reason about, but maybe don't have all of the things that we're used to and we'd like. And as much as possible, we want to resist the temptation to just add data types to system f omega and make it bigger and bake all that stuff in. Because then as Phil has said repeatedly, then we're no longer using that wonderfully ancient system that we know and love, and instead something newer and less trustworthy. And today I'm going to hope to convince you that, in fact, the box is big enough and we can fit a surprising amount in there. And a lot of what I'm going to say builds on stuff that is not new and may well be known to many of you. But as far as we know, nobody has quite put all the pieces together in the way that we're doing now. And it certainly took us long enough to put them together. So I hope this will be interesting. So just as a bit of a recap and a bit of context for why are we actually doing this? Why do we care? Well, the thing we actually care about is Plutascore. This is our language that actually runs on the blockchain and that's the thing that matters. But for all intents and purposes, and this is the great thing, it just is system f omega. So you will not hear the words Plutascore again in this presentation. You can effectively forget about it. And that's nice. We can just think about the problem in more generality. System f omega, as it is normally presented, does not have data types. So a quick reminder for those of you who maybe don't spend all of your time thinking about the lambda calculus. System f omega is pretty much the simply typed lambda calculus with polymorphism and higher kinds. So this means that we can also have things like lists as well, which we want. But we do want data types. We want to be able to reason about them. So part of what we're trying to do in the long run is to have a system where people can write pretty much Haskell and have it turn into Plutascore that runs on the blockchain. And Haskell has data types. So we've got to do something with these things. And that's part of what we like about Haskell. So we need some way to encode them. And Phil has already told you about that. So there's a number of well-known ways of doing this. So the most famous is the church encoding. But that has some fairly serious efficiency problems. So we don't use that. Instead, we use what's called the Scott encoding. And the Scott encoding is based on one key insight, which is that we can think about what we can characterize a value of a data type by what we can do with it. And well, what's the thing that you can do with a data type value? You can pattern match on it. And so if we kind of pull on this thread and just keep trying to take seriously the idea that what it is to be a value of a data type is to be able to be pattern matched on, then we end up developing quite a nice encoding for these things. So let's actually do that. Let's just go through in a bit more detail how we actually get there. So let's start with just a simple pattern match. So we have some value m of type maybe a in Haskell parlance. We're going to pattern match on it. And in the case where it's just, we're going to apply some function f to the thing inside it. In the case where it's nothing, we're going to use some value g. And if you think about it for a bit, you can convince yourself that really any pattern match on a maybe value is going to have to look something like this for some suitable choice of f and g. And then we can just start abstracting. So we can pull out the scrutiny, which is compiler jargon for that thing that you're pattern matching on. So we take some arguments of type maybe a. And then, well, we need to also be polymorphic over this a. So we're going to use system f's big lambda that lets us bind type variables like that. So now we have some polymorphic function that takes maybe a so far so good. Take the next step, pull out these implementations of the case branches, this f and g. Well, what do they look like? f's got to take a thing of the type that's inside and give you some result type. g's got to, well, just be of that type. And they've got to be the same because your case expression needs to have a single type, which is r in this case. And again, we want to be polymorphic over that. So we'll bind that as well. And at this point, we sort of look at this and think, this looks very familiar. And it's really just an old friend. This is maybe from the Haskell Prelude, which has been around for a very long time. The arguments are in a different order. And they're using b instead of r. But it's the same function. So this is not an unusual way of thinking about data values.  And so we might then think, well, let's go a bit further. What if that just was the type? So let's try and define maybe r type. So it's a parameterized type. So we're going to take some a as a kind star. So type as a parameter. And well, what's the type of that pattern matching function? Well, it was polymorphic over the result type. So we're going to have a for all here. And then, well, it took two functions to do the two cases. The just branch is a to r and nothing branches r. And then at the end, what you get, your prize is actually a value of that type. OK, that seems to be going well. We keep pulling on the threads. What's next? Well, we need constructors. But actually, all of our choices are forced here. It just sort of comes out. You've got to, again, polymorphic over a, take an argument of type a, because, well, it's a constructor for just. It takes an argument. Got to bind this guy in order to match the type signature. Got to take these guys in order to match the type signature to branches. And then, well, we've got the just case branch and an argument of type a. There's really nothing to do except apply one to other. And that does it. And if you sort of look at this, you realize that what you've done is you've inverted the control of pattern matching. So rather than sticking a tag into the piece of data that the consumer can look at and decide what to do, instead, you hand both of your alternatives to the piece of data and let it choose for you. And how does it know how to choose? Well, when you constructed it, you told it how to choose. And this, then, does what you expect. There is no pattern matching anymore. There's just function application. Because a data type value simply is a pattern matcher. So if we use this curly bracket syntax to indicate instantiating our polymorphic functions, we construct a adjust one. We pattern match it as an integer or apply plus one. And I'm just going to tell you that that evaluates to the right thing. And you can do it yourself on pen and with a piece of paper if you don't believe me. So this is fine. This is great. We can do sort of standard Haskell 98 data types of this. Wonderful. Everybody's happy. But what about recursive types? We really, really want recursive types.  You can't do anything. Anything interesting, whether you've got a variable amount of data, it's really not great. So we want to do that. But we can't just crank the handle. So as Phil said, he had his NAT example. We have exactly the same thing.  You can't just do that. You have to have some way of tying the knot of having some kind of recursion or fixed point combinator at the type level. Otherwise, this is just defining some infinite thing that's not going to make you happy. So those of you who've read types and programming languages are probably checking your watch and wondering why I'm wasting your time. Can't we just add a fixed point combinator to your type system? And then everything is fine. Define your types as fixed points. So if we look at the NAT example, you just take your fixed point. You feed it in instead to this type level function that takes what we often call the pattern functor and takes the recursively defined value and defines the type in terms of that. And then the fixed point value unfolds that to infinity. And indeed, this is the approach we're going to take or a similar approach. And you have to add a little bit of complexity to handle that. So you have seen, if you recall Phil's slide, there were these mysterious wrap and unwrap terms in the term grammar. And these just witness the isomorphism between a fixed point and unrolling it one step. So if you remember this perhaps familiar Haskell data type, you have this constructor that takes you from an f fix f into a fix f. And well, pattern matching on it is unwrapping. But we can't use a recursive data type to define recursive data types because we don't have them. That's the whole problem. So instead, we have some terms that fulfill this function for us. And again, so far, all so fairly standard. And in fact, we don't use this variant of a fixed point combinator, which is called iFix, short for indexed fix. And this is starting to answer one of the questions you can have about a fixed point combinator, which is, well, what is its kind? What sort of things are you allowed to pass in as these pattern functions? So this thing here, this is a star to star. That's useful. That's nice. You can do things. You can do natural numbers with that. But you might want something a bit more complicated. And we'll need a bit of extra power in order to do mutually recursive data types, which we're going to come to. It also lets you define things like lists nicely and do irregular data types. But it turns out that we can do enough with this variant. And what this variant has is instead of taking something of type's kind star, it takes something of kind k to star for any k. So you handle things which take one type argument of arbitrary kind. But that's it. And it turns out that this is enough to do everything we care about while still being fairly tractable from the theoretical point of view. So that's the kind of basic story. And I'm now going to hand over to Roman, who's going to show you in a little bit more detail how we get to the encoding of mutually recursive data types using this machinery. We know how to encode simple data types now. But we needed to encode something more complicated, which is mutually recursive data types. Also, we regular that data types. I won't touch the later here. But we will see how to encode mutually recursive data types. When we stumbled upon this problem, we searched the literature. But we were unable to find a solution to our problem. There were solutions that require either extending our language, or they had some really bad complexity, like factorial or something. So we needed to invent something. We will use this example. It's the tree forest family. A tree has only one constructor. It's node. A node carries an A and a forest A. A forest A is essentially a list of trees. As a list, it has the constructor for the empty list. And the constructor that allows to add a tree to a forest. That's an example of a tree. We will use this simple family and improve it in a few steps in order to arrive at the representation that the system of omega compatible. There is a really well-known trick. It goes to at least 1999 when Conor McBride's thesis was published. Let me read it. Mutual definition can always be represented as a single inductive family of data types indexed by a finite type whose elements label the branches. We might define a family parity 2-2 type with parity true containing the even numbers and parity false odd numbers. Applying this trick to our case, we get the following. There is one huge tree forest data type. It encodes both tree and forest data types that we had previously. Here are all the constructors from the previous family. They have literally the same types, but now forest and tree instances of the same data type. Tree forest is parameterized by indexed by tree forest tag, which determines whether a tree forest is actually a tree or a forest. So this is a well-known trick. It allows us to get rid of mutual recursion. We still have this mutual keyword, but it's only for convenience and readability. Those two definitions can be just in light in the type of constructors they are not necessary. So what we achieve here is that we got rid of mutual recursion. This is the next step. We have the same tree forest data type, but now it only has one constructor, which is tree forest. It captures the notion of recursion, but the actual contents of this constructor is determined by the tree forest F type level function. This type level function matches on tag in order to figure out whether we construct a tree or a forest. Since a tree contains only one constructor node, which carries an A in the forest A, we encode this as follows. This is the type of this constructor. Forests have two constructors, Neil, which does not carry any information, and cons, which carries a tree and a forest. This is known as a sum of products representation. It's also well-known. These data depths remain the same type AES structure. So what we achieved here is that we separated recursion from the actual contents of the data type. And once recursion is separated, it can be obstructed. That's our central primitive, what we use, what Michael has shown you. We can compare it to the simple fix that is very common. It's in Haskell base, in data fix or something. With this fix, you can easily tie nodes in simple data types, like natural numbers. But it doesn't quite work when you have some complicated data types, like mutually recursive data types. Because in the net example, there is only one recursive case, net. But when we encode tree and forest, we have two recursive cases, tree and forest. Yes, they are defined in terms of the same data type, but they are still distinct. They are indexed by different tags. And so we need to somehow push tags in. And that's how we do this. We have this x of type A, and we parameterize the pattern function not only by the recursive case, but also by some x, which f can use in order to determine what to do with the actual recursion. Applying this to our case, we get a following. That's all basically the same as we had previously. We have this type aliases as before. They are just local now, although we have global ones as well. We have tags. We match on tags in order to figure out what to store in constructors. They solve the same. The only thing that changes is that we now use iFix for handling recursion for us. And know that we do not have the data keyword anywhere here. It's now handled by iFix when we no longer need some special data construction mechanism. So if we have this iFix primitive, we don't need anything else. We can encode new show recursion using just it. But what about system f omega? We don't have data types at the type level in system f omega. We don't have pattern matching there. We need to somehow replace these things marked in red. Well, we can just in live pattern matching. If you want data just encoded, that's what we was using this entire presentation. So a tag is something that takes two types and returns one of them. Three tags returns the first and four returns the second. And here we just apply tag to the encoded version of constructor of node or of tree which is node and to constructors of forest which is nil and cons. So this iFix is well-known too. You can find it on Hackers in some libraries. Similar tricks I used in the type theory field. But this simple thing is what we were unable to find in literature. That's just something that we came up with. And now a very fair and honest encoding in actual system f omega. No jokes, no Agda. We have this tag that we were on the previous slide. The literature is the same. Like you have a function that takes two types and returns one of them. This is the unified pattern factor of the tree forest family. Depending on how you instantiate tag, you can get either the pattern factor of tree or the pattern factor of forest. We have encoded here product and some types that we had on the previous slide, these ones. We don't have dating system f omega, so we need to encode it. Having this unified pattern factor, we can define unified data type just as before. And then we get actual data types by instantiating tags as appropriate. And these are the constructors. So this entire family. This is some usual scouting coding. Nothing interesting here. The only thing that is really related to this case is how we handle IRAP. IRAP always receives the same pattern factor regardless of whether we constructed tree or forest because they encoded in terms of the same data type. But it also receives some tags. And they are, of course, different because that is how we distinguish between tree or forest. We use tags. So a node is the constructor of trees. Hence, it receives a tree tag. And nil and cons are constructors of forest. That's why they receive forest tags. This actually looks when we print this out in full. So in the Plutus code base, we have two syntaxes. One is standard, one classic, it's old. And the one is new and readable. This is a readable one. So when you get errors, this is a swearing that Michael was speaking of.