Tell me who's hot who's not who really on top who got they don't shop the hustle don't stop check it check it It's unique house this your boy. He's CEO and I'm here with the lovely amazing official. Mr. Maker. What's up? No, no, no, you know my day. Well gone I want y'all to stop what y'all doing right now go like subscribe follow us and also show me the platforms I mean our Instagram tick tock snapchat Facebook YouTube if you want to see all our visuals and to also get you to get all of our exclusive content That's where you can find all of it, but you have to sign up for a membership now, okay? Thank you in advance man. Hey, man. We got a special guest near today y'all He don't need no introduction this cat right here man He be listen man. It's nigga go crazy a lot of times I look on that internet man, and I've been seeing a lot of the music man I've been really just checking it out man and just vibing to it man a real real stomp down Texas yeah, man. He's town acres home. It's going down man. OTB fast lane is in the building man. What's going on? What's up with it dude man? I'm blessed man boss talk one-on-one man. Just a happy to have you man. Thanks for coming on the show Man the way we do it man. We're gonna definitely get into your just just your background man Who you are as an artist man? What's up? Mr. Make? Yeah, cuz I he's the music guy, right? I'm more personal. I want to know you as a person show So I want to know what was it like growing up in Houston, Texas? What part of Houston you were from from the north as well I thought because I hear a lot of you talk about north Houston What is your take on north Houston compared to the all the other parts of Houston?  I got a bunch of players outside partners But it's just a different like even a female say I can be talking to I know she from the mouth and see if she's from the South or you can tell South. Yeah, well, so who you normally date that north side or a south side On the north on the north you stay with your okay. Okay Were you raised with your mom and dad siblings all of that? I was raised with my daddy. We should daddy See that's different. I like that That's different because everybody else who's sitting I see that I asked that question is always their mom They're with daddy already, you know, he dip in and out, but it's always and I feel like Men need to raise their boys for sure. So were you always with him from the get-go?  Right. I mean I might have a great relationship My mom just from she from Mississippi. Okay, so, uh, you know, I I got other brothers and sisters too. So I won my dad. How old were you when you went with your dad? this was They stayed together first then she moved back. So they stayed out here together. Okay, so she probably had to move back I'm about six years old six years. Oh, okay. Did you feel any sort of way when they split up and Did you I really was too young. Yeah, we stayed back and forth. So I don't know I really don't remember no We're just affecting me bad on her side like it was always We was always active with each other. That's good Yeah, and I used to always say the good thing about us, but it's good to have them together But a good thing about a split home is that number one you travel a lot you go back and forth Yeah, and then I used to always make jokes with my friends. I was like, well, y'all get two gifts We come around to Christmas time So, you know, she got to buy you something and he buy you something and you can always everything double Because as a kid that's all you thinking about you know what I mean what you can get and it's like two different You know you go up to different It's all the same, but two different Two different words to get to learn my embrace mode like it's bigger family everything You know, even with the music help me I had a whole fan base me sippy before just I'll be in my mama's side of the family from oh, that's Just like it just made a lot of sense. So where did you get that music sense from your mama daddy? Probably both my mama love me. She love me. My mama brother was doing his little rapping thing My dad is on a John do they rap and they just in my family I'm gonna say my uncle's everything right on both sides. Dang. Yes. So they're your biggest critics to all day for sure Really? Are they your biggest critics? Yeah, they be on me My grandma like my no my grandma be on like if I my grandma like my grandma hit me It's one of them That's though that's though. So tell me something that your daddy and since you live with him From a young age.  So it's like Our relationship was like just so really wrong from early age like this type of stuff here tell me probably 1112 some people won't tell a kid that type stuff to 17 18 so that Mentally had me advanced just off even just for more was principles. How you move how you carry yourself Just all that at an early age No, man, I mean just looking you up and just looking at how the people love you man like the the streets man They kind of say you the new improved.  Yeah We both make it home. He's just like He likes five minutes around the way I'm across the tracks, but it really like a blessing though I come on like J-Dawg like one of my biggest inspirations is like Man It's just a difference because I just remember being when J-Dawg first as a kid just Just the feeling I was getting or still to this day I still get in a mess right here on the day. Like, you know, anytime he anything It's just about how the people love them. Like I was watching J-Dawg like They delivered them for who he is like, you know, I'm saying just being J-Dawg like it was he was in people's soul You know, some people with the rap gang you have fans probably just love you cuz how much drew you got Got the type like they love them for who he was So that was like type of love I always wanted for it was like what ain't bad material like love me for me like and I just It's like amazing people say that cuz I it's crazy. I hit it out of time though Yeah, I know in the right footsteps, but I had him on here is just Just like but about a week or so ago like he just showed mad love to the show and all way, you know Just basically I've been knowing him for a long time cuz he got East Texas ties down There's grandma down there from where I'm from so he used to come down there a lot So it was like when we'd hear about you hear his songs and hear him screaming, you know Acre's home and Houston Texas, you know, we always just roll with it But just to do would you say that he inspired you somewhat, you know coming up as a youngster? Yeah, yeah a lot. No, I'm saying but the crazy part like with Jada from when I'm from we still have like a war going on Really? Yeah, that's all So that was like y'all were rivals Most of us But it's like it's like super cool now like right. That's when we was kids. That's when he was younger, right? So that's coming up on him But even like the one I grew up with like it's all love like super little see Super little energy there like I'm holding up love, but it just when Jada I mean when he first came out, we weren't just on them like we in it that make it some we even make it something I know it wasn't just nothing Cuz I love it was going on, but I just remember him getting so crazy Well, I don't care what you was what was going on what you went through. You had to feel it like the stuff Preaching and rapping by like touching souls So I say that I would inspire me cuz I just knew I just remember going to my phrase a dog show ever and just seeing how the crowd just was like Like, you know, I some people come out that turn up right. They have fun. It was the most like In the church when Jada was up there like in they saw some of my females everything you got people singing It's like from the heart. Yeah. Yeah, that's what you say a story. Yeah, so it's like it was just like a difference That's like that's the type of reaction I wanted. Yeah, I never seen him perform before But when I think about cuz I remember we went to nice I'm point nine to beat Car show and I saw Camille in there and I saw A bunch of them was there and what I look at when I see people perform is Does he work the stage? Yeah, like does he does J-Dog when he performed dogs is a totally different spirit He just sitting there and you can feel that pain. I already know Was his favorite and PMC so that makes sense what you say makes is like that why I say I that's why I think you're like DM me cuz I hadn't had got to have come a session deal makes before I just like It's all over. That's why I say with Jada cuz he like it says spirit like no sense He's energy just automatic like connection. He's gonna grab say And it just you just be locked in I just want you to go to one of the shows one It'll be a great color. He liked one of them. I'm just the reaction and the energy given off on that stage You can feel it. So do you feel like you know like when you think about just the way that That the music yields in Houston, man It'll be like a whole like when you look at slim thug and autumn boys when they did a thing man It was crazy and then you being the age you are working with all these artists I was just checking that out like that's a bridge right there, bro You know you gotta think about that. That's something to where I really value you guys that y'all all link up a lot of times Yeah, I told chose the same thing he was over here like just the way y'all Respect each other even no matter what's going on y'all go always show love just for the city for the fans And I think that's real big that H town rock out like that. You know what I'm saying And I can understand y'all getting into it because I used to come out there my cousin my first cousin from out He's been only in Whitfield and all that over there and and yeah, it was a it was yeah We go to skate ring fight every every damn night. It was never back. Yeah All the way back, you know, I'm saying like I was acting a fool out there I wanted to do some park y'all too young y'all don't know nothing about that But I had to grow up coming my any live out there her entire life She passed away now, but ever since I was a kid always in H town of Dallas I'm just one of them guys, you know what I'm saying when you oh you just move around Especially when your grandma have nine boys and five girls, you know talk about Texas man, but yeah, man up go ahead you talk about People being you know, well J-Doc being real and his energy But I know in this entertainment industry you can come up on some people who come off real But after a while you realize, you know, they're not as real as they seem for other kids because I Usually preach to or try to educate the people who want to be in this industry the younger kids Or even older people who want to the things that they have to be aware of and stuff like that How can you tell someone who is striving to be you or somebody bigger than you? What should they look out for, you know stuff like that signs that they can know? Yeah It's really like you're gonna run across, you know It's like different like in the music industry is like it depends like, you know sometime really everybody have a motive But it's like at the end of the day just come with the game like because it can be a positive mode They try and get to what they trying to go and you try and get to where you trying to go I think at the end they just got to know business and business just really don't push to take too much personal just be a Emotional person about everything like you gotta be a person that can take criticism You got to be able to understand something I tell you know I don't want to work with you can't take a person if anything is usually as a motivation like I think a lot of stuff Go on behind like small stuff is like you just got to work I feel like when you just work in your own lane, but give off good ends You know, it's gonna come back your way how the universe work. You know what I'm saying? So I think oh wow Yeah, I just me I'm an energy person So no, I don't just go by words like some people. I just can feel it like I'm Super spiritual connected like I can go off just a feeling like you've never been wrong No, I'm not usually That's like one of the gifts I got something it is like and they probably not me probably go I just protect me guys every day every time wake up and not gonna see just but keep your shield around me So it's like it probably just be him sometime even if I'm just What I'm saying the music in because the streets, you know, I can tell it's a different You know I'm saying you come from there. You can see you don't see signs but just say with the music like it's almost the same thing though because I Just a feeling man. No, it's real. I mean prayers I'm not explaining Like before you walk in this door you and that brother like I pray that this interview be great I pray man before you get here when you leave I pray that you're safe I pray when I heard that y'all was coming from Houston. So it's a whole different ball game.  I'm being real with you So I don't know what other niggas do but over here is about God first and I tell everybody you watch any episode You're gonna be like that nigga there. He thank you a preacher.  I come from nothing. That's why you got to put it on him like God That all the time I said when you talking to people on the phone and whatever. Let's start mentioning God You see how quickly I To be fast like where did your name come from where how did you come up with it? What who called you that first? What's up OTB? That's like the label off the block. Okay, fast line I really got there like I like the first person come in there like I'm gonna say come ready. Okay. Oh And it's stuff. Yeah, it's just me being hot. I just know This one I was just wild as a young age. I got drugs guns in the car everywhere. I'm just really was waiting on Ticket to defend the taintry. He was always in the fast lane Well, you know that I really just stuck with yeah, they were just calling me killing yeah Yeah, so it was fast line killer. Then I just sit to kill out just better. Yeah Yeah, and that was your music name at first before It was kill I see it was just killer killing this column kill. Yeah. Okay. There's got music a lot of music under that dough Don't you got some music on that? Sure do I watched it Man, it's just like I said, it's dope what you got. No, so I'm I hear you talk about God a lot Who implemented God in your life as a young kid? I'm saying my auntie. I ain't to Narsha main.  Y'all don't know since you put them house moors and then on sunday Y'all stand over here or y'all going to church. So she really Installed to them and like, okay for a sensitive kid like y'all going Y'all we're gonna have a lot of fun wherever you go in church Right, but how old were you when you built your own personal relationship because they parents can always or adults can Always implement it in you but as kids you don't really build that relationship yet till you go through some When was that bridge or that time when you had to go through something for you to build that relationship for him yourself I'm saying I'm say without it since the kid I'm gonna say it's still started as a kid for me because like You know how your people can take you to church and But I just took you like You know happy kids like oh listen, I just took you and you're like, no she didn't stop there. Hey Skate you your time for your scripture. Okay, and I come back what that scripture was talking about like She really like in styling and you sort of like So I was feeling connection. So it's just be smart that we used to go through She really like, you know how some people just can show you she really taught us. Okay. That's look at that's God look at Certainly things can happen. It can be the smallest things going around and you got it from a young age Yeah, she got she gave it to us young and like I said explained instead of just you know Some people just take you to church leave never talk about it And then just we're gonna go again next Sunday But like I ain't a lot. She didn't still to it was like But just to ask you a question as I got older like so many situations like I know God with me like Until my crazy situation was like how you come up out of there? Why you get back up from there? We're in so many other people didn't something I'm to everybody I grew up with I'm like, I know I got something that's why I just I got so many I just know I'm blessed. I got so many homies in jail Like I just been through the worst all types of God just to bless me like Even from the smallest thing just to bless me to still just always be protected and get away with things I guess because of the news I always feel like it's a miracle I can teach other people not to do that and people listen just with the type of power and respect I got You know what I'm saying, but it's just like time at the time like So he using you as an apostle to help others see what you see for sure Well, um, busting behind tent When you you did that when you was with 300 Yeah, that's sort of was that your first and last album with 300 what What was uh What was what is it like being now you independent now, right?  She believing what you do So it's like it's great for her to be right there, but if she didn't believe in what you do and it'll be a One vice versa if you believe in what she do But if you didn't believe in what she was doing It'll be just so you know, it's a friction. So it's all about if it's in your favor But if both y'all in the same Place it's gonna be it's gonna see no it's gonna be great So I think that's where the label like when I when I interviewed uh deris the shun. It was the same type question like Um, like being he's independent now, you know what I mean? But he was with When when harder way and all that was jumping off like everybody was there and it was just so much Every the label they was expecting this expecting that how tough is it being? Billing your team without having that label presence and it's still tough. It's tough and nothing by label. I know Like most artists get in there like I went through the stage where I'm like tripping with the label It's cool. I wasn't really tripping in there. I know it's not personal I know it's business. They want it's his expectation because it's business now. It's like See if it was pro football, you got to perform.  You know what I'm saying hot You're on fire. Okay. You got a whoo-to-whoo me because I'm ready to go now Sometimes I think even with me. I just went in on I went in a little too early. Yeah And I think that's what it was. It was like I went in a little too early Yeah, because a lot of times I think he was telling me he was like there was a time when things was happening with his Some of the stuff that was going on that he would ask somebody and they didn't have an answer for him And he might ask another person and they didn't have an answer for and it's just it was tough trying to understand How they were building up when everybody was telling them different stuff So it just like I think the independent thing with the way, you know, like when I talked to bun, you know, it was like I was like how many uh videos do you think you should have like per project? And he was like, I think you should have a video for every project because you got all these different access to all these different cameras and stuff now So it's like there's no reason for you not to so what do you think about that? Do you agree with that? Yeah, because it's all about content now so it's like Like right now I'm probably dropping like 10 videos in like I seen it drop like a week I think that's like everything and in another thing. We just need a great team like People that's willing to work though like a great team like, okay If I'm get out there and leave it all out there. I need you to do the same I'm a sacrifice dedicate get up early. I'm tired. I ain't feel like doing I want to do I need to know the person I'm signing gonna put that same energy in you know what I'm saying If I'm missing a couple hours for my kids I need to know you willing to do that too to make it better for the long run like You just want to have that right thing because independent you can go you can You can do some damage like and everybody around you can make millions of dollars No, I see everybody see you so like I love the independent stuff too at the same time or right now. This was best for my situation So I know as a right now with me being independent. I can just go to work Even though I say I never see it just I never get with a major game because Man if the right if I can get to why I want to go and that Present yourself. Yeah, I do it for sure. I know it'll take you to a It's like a more easy. It's like a whole different experience. It's really beautiful All the people that complain is the people that it didn't work for you think about Sorry, let me ask this real quick. Okay, but I I would always think that I always say god put us through different things Different situations previously so we can know what to ask for next time as you move along So as an artist like a major approach you how much say so would you have to say, okay? I'm not going to settle for less than this this this is what I want because of situations that you have been in In the past so you know exactly what to do what not to do and stuff like that to secure yourself Can you actually do that with them? You can't do that And that's what most That's what most artists don't do.    So I get it like and then a lot of times you're younger So now that you get older you have kids in the process a lot of time think about that And then those type of things what you just said become a big deal because now you really know it's like damn Man, I got to make sure everybody good. Yeah, right You want the support because at the end of the day they make it so much. Okay. It's a product We make them that's like if us three made millions of dollars together say if I get in the situation We family when we making these millions without getting the situation now i'm on my own and right But y'all still making millions off me like anybody's gonna feel kind of No sense. So I think you need to go in there Even me and say nature I'm going I'm gonna have so much different little smile even just creativity People are always making more about with the how much money they don't give me like but the stuff We complain about never gonna got nothing to do with the money You'd be the stuff we ain't going to ask about The release or let's come over me a real release schedule so I can know when I'm dropping Okay, you got other big orders on the label Let's guarantee me a feature from each one of these Exactly that's that's something that I think a lot of people don't ask about because I heard so many people sitting in the seat and be like You have all these big artists, but you have no features with them or you sign to this label and now When are you putting something out and like I don't know because it's almost like the label will shelf you To pay attention to other artists Let's talk about talk of the streets man. Like what what the new project like what what What did the name come from? What's up?   So let's talk about it. Like like Um, what did you've done so many projects? What's different about this project? You know This party really is a field man. I'm just something ain't no features on it. I know I ain't one I got sounds with Yeah, I know you do I seen that but you did this one like you what made you like I ain't putting nobody on this one. I'm just on my new journey. You know what I'm saying? I just I'm back in the pen. I'm just on my new journey I name talk of the streets because that's what's been going on talk Not having good talk bad talk You just say from the streets to the music even just saying to me some people are with fast I ain't gonna do or he been quiet two years. The label got them all in a hole I just been to talk people don't wonder what's going on with me. So Okay, I'ma name the talk of the streets then. That's all. What's your favorite song on that on the album? Uh And I really I got different favors. I know it different time call for different favors different moves call for different Nigga Ryan be like, I like this one right here right now.  I been listening to rodeo. Okay one of my favorites rodeo. That's it. That's the one Which one is going to be the streets favorite? I don't know I'm seeing it right now because they picking up on so many But I know like my type of the crowd like my turn crowd or I'm going crazy word for word the clue I know how You you killed that that like I said that hot when he and I was listening to it I got into a vibe.    I was like nigga That's such a Actually hear the words to know what song it is. He's just here to beat That's why the that's why the show go crazy is because of the love I have for the music people People've been trying to figure it out. It's like nigga. I just love music. My kids love music Everybody I love the music Yeah, it's like when I when I research you're like, oh this nigga right here I'm really trying to see if this nigga good or not if he ain't I might be in fighting this whole nigga But I loved it man, just uh just really like man keep keep killing them bruh stay on these niggas neck They need this bruh these niggas.  It's even like that in the streets. That's just the way it goes I got a little tape player Yeah, but the generation that we're in is like it's all about Stardom it's all about it's not really about content about good music.  Well, let me ask them just like I asked these other niggas man. How far will a nigga go for me? You know what I'm saying like, you know, you're gonna get what you're gonna do to get on top You know a lot of people when they talk about the baby, they say he put a pimp on down there side by side Western went crazy What are we gonna do man?  You know what I mean? Niggas will go Niggas will go to Penitentiary to get views You see what I mean?    I didn't talk to him The street seems to end now Like nigga was talking Nigga, you know nigga was at the doctor trying to leave nigga cause You can say the wrong thing on the internet.  I don't know anything about any of this stuff But I know that back in the day before the internet if somebody says something to somebody Sure, you should be in your face or even if you heard that this person say you're gonna go check that person Now I've seen where so many people have gotten so much passes They on the internet saying this this this but nobody's getting checked Let me tell you something back in the day when we check a niggas from a kid niggas a niggas take uh niggas That pin niggas she had knocked that pin off a niggas shoulder You know, we want to get close up person knock that match off a niggas shoulder, you know This is something that's different now Niggas can't even get to a nigga a lot of time But if you see him like you said, it's another bar You never know what could happen about so much It'd be uh Just say pardon and get past it just time just passed because Like a lot of times like because on the internet you can just you can thug from long distance like You know, I know that man you we added, you know, I'm saying yeah I'm going to say the worst thing I'm gonna do this when I see you say same Man, we probably live in two different states. I probably ain't finna never see you You ain't gonna see me But you got niggas that clown do that for the attention like on us or like No, so we be saying most time these niggas don't even be in the same area to even do nothing Yeah, so do you need to do anything for views it go right back to the view Go to the graveyard Penetration that's the most you can do That's crazy We're talking about extreme stuff or Things that are eye-opening or crazy Like recently, um kevin gates. He performed on stage. Oh, how far will you go to make sure your fan get that girl? Did you see that where that fan came on and sat there and then he I heard she was pregnant too and she was pregnant too um Would you how far would otb fans let go on a performance on stage a little up there and uh That's gays though. That's where he's been. No i'm asking you. I ain't worried about that What I would never do that like that what I do Gates like one of my favorite rappers. So I'm you know, I'm weak gays and that's what that's who he is That's how you get down.   I'm not he definitely not going to usher show I don't blame the artist I always say the female is the one who consented to go up there and do that You see what I mean, whatever it is whether usher gays, whoever she had she got up and did it So I can't but right. So I can never blame the artist for her. She was pregnant. No, I saw the video Where you're showing her a little bump? Yeah, sure. I'll be mad. She could be my baby mom She wouldn't go there for me. I'm back But if that was your baby mama, would you be mad? If that was your baby mama, would you be mad? See me with female I'm with me with female. I let them be who they is so you can know who they is a lot of time People don't Just say mares niggas. They want their females to be who they want them to be I like females to be who they is. So I need to know that's what you really want to do. So I can That's who you is. You know what I'm saying? Yeah, that's why I be Now, okay, see if I probably feel something but I'll just know my privacy if we together, but that's if I know that's type of baby mama. I got I know that's her Yeah, that's her. Would you want to work with work with Kevin Gates? Yeah, I tell this like one of my favorite. I got like a long story about with gays like I To my way back, let's go for Kevin Gates. I'm still a little like get before Kevin Gates pop up Like laying in the city rocking this like every day for like two three months. Yeah for sure Man, that's hard, bro. Let's talk about dog ass, man. That was big. I know you I like at first I asked that nigga about that damn song nigga the answer the million I see every interview He talking about dog ass with these But the remix was hard with with with boo said in the original I love the I love the vibe of the music The energy was there. Everybody crunk. You know what I'm saying? The school was crunk for this nigga This nigga been all up at the high schools Let's talk about it for a minute like what was the inspiration and I know you said it before Let's get down to it though. Like what made you write that song?  Just the energy.  I had one to the start like that's like I ain't do nothing. Especially just end up being a bigger song. I got so far I'm gonna ask him like I asked gay man all the rest of them. Do you like saying it? No, I ain't Because you say so much you say that so much And it's never been like I never that ain't what I ride around to like No, not even from the jump like when I I just know he I just not make I got a good if music I'm not a make good music. I'll let you listen to see. I got all type of vibes. Like I just Like I know what I'm doing. So like I just knew it was one on one. So I came back. I just saying That look dog. I came back to the lab come from the stove He had a beat that I could put it on I went and just went Up the head was hurt. He was it. Yeah, what verse and what verse in that song that everybody always love Yeah From the intro to the outro Wow, that's crazy, man. Like so I was like Boosie Boosie jumped on that house.  Shout out Boosie.   Don't know what I'm saying. Boosie like the niggas hustle like Boosie Know what I'm saying? You can eat forever. Maybe it's forever.   That's why I'm telling you I'm giving you to run down on it how I feel about him So of course, it's like I feel like when you heard when I heard I knew he smashed It went in the face. It was just me and Boosie like Y'all five guys in the studio when y'all done that? I sent it to him. Yeah, okay He kind of asked me when he was with Slim like him and Hey, uh, send me that song Boosie had kind of used him like three times every time He had somebody contact him like man first man, who's song that is who like he was still just asked So him and Slim was the girl one down land on my car Slim Slim Thursh that I slim Shout out Slim Thursh. His name become a lot. He ain't been on ball talk. Say look here nigga Say I checked niggas right on the show. Slim you got to come see me man. Go ahead. He's gonna come to already I'm tired in I'm locked in hard like Slim, that's my boy. Many call me. He was like boo on highlights. I was he was like man send it to him I'm from do that motherfucker right now. I gotta do it.  He sent it back.  He was he was right there. He was already on It was on Now this was before the Vlad Boosie this is before all the interviews and all the internet stuff going on Boosie here boosted our boosted everywhere IG. We locking him out of IG He back on our mama that man on live again.  So like Well, that's the difference in the music though the music still the same ain't it that last that last project hit hard You feel what I'm saying God is in it Family issues no matter what I think that bring the best out of them to be honest with you like A lot of times niggas be like man because I don't met him. You see him on the wall with me there But he just a person that you get what you see is what you get. I'm kind of the same way So I get you know, I'm saying I'm gonna bring it every time to say I'm gonna be me You know what I'm saying and sometimes it might be seem a little crazy You know I'm saying but I'm gonna let you know how I feel and we're gonna keep it going But that's one thing I could say that last project he did It didn't it didn't man the hell went in and boosted got the streets Boosa ain't going nowhere.  Hey, I'm gonna come out there and they pull up on me in my eyes Wow y'all rocked out Let's talk one thing I like about boost is the fact that no matter if he sees something Going on that's wrong out there He's not scared to jump up on social media and talk about it A lot of people will hold their tongue or just talk between somebody else here where But not actually going on live and talk about so people know their views and stuff You know what I mean? That's one thing I give him his props for is the fact that he's very vocal and he don't care who know it Yeah, wow Big pokey right now Let's talk about a male r.p. The big pokey man Like you guys did that song together. You jumped on the song with him like let's talk about the uh, you know Um, let's talk about the music When I'm buying from him Yes, let's talk about that boys, you know, that's what he'll be proud of You know, that's the whole game with me like like we're gonna celebrate his his life You know what I'm saying like how was it when y'all when y'all did that song and stuff together in the video I'm gonna talk about that.  You got to take that to this That's why I had to get you on his elbow I say the vibe with him doing the song was just perfect.  So like it was blessing the flow of poker. No, I'm saying okay like like like when he passed I know he is g called me. He was like man. He gone. It was like 233 in the morning. I'm not playing like Um, how was it when you heard that he had passed on man? Did you you had to stop and thank for it Shut the city down for a second. I wouldn't even see it But I was coming from a show like by cotton station.   I got to text him a phone where I was texting him Texting his people tech trying to get him come trying to get all y'all brother To be honest with you and I when I was in houston when me and you was supposed to link that first time When me and propane guy was trying to get him in every time I'm just trying man and and but but You know, I was I was close. It didn't happen. I was close. Somebody told me Howdy said I probably just needed to go over there and eat some food with him and hang out at his house or something You know You know me and kiki rocks. So, you know, like like kiki was on the show too. I was like, I'm closing it I knew I was close. You know what I'm saying? Because we rock with the same people. I rock with ad all of them be open So, you know, that's I show which that would have happened But man just to see y'all got to do that song is a big thing.  I I just was looking at some of his stuff. I'm being real Like that stuff really means something to me because I my parents always say this I didn't get to I didn't they didn't go in and I wish I had something that I could see They movements. Yeah. Yeah. So for you to have that do you ever think about that? Yeah, that's a blessing. That's a blessing.  So I know it's a blessing even like poker is different because he legend did Some I love to do like you know what I'm saying? So it's like different like this big poker I would be it got it. I was big bro. You can still hear his voice through his music all of that stuff Wow in the conversation we had our last conversation. He just gave he really gave me my flowers. What did he say?    You know what I'm saying show for show. Um, what else what else what else what we got? About my brother, man, because he was like one of them.  I remember you forever. That's right. That's good That's good stuff like he was like one out of me like he just personalized you You just man because y'all energy mesh. Yeah, it was meant for show He could fit in any room like when anybody is like he lit up rooms when he went in Just a natural just it ain't had nothing to do with the music, you know, we that came I don't know. He was just A life in my home way before music every time. Yeah, how many kids you have two two a boy and a girl Two girls two girls.  Yeah, I'm in a blend How old are they? Two and 12 Oh Dang, that's a big old cap. Yeah So how is it being a girl dad?  They can feel you're like At what girl you got to really be a father. It's like Because females just period they want conversation. They want attention.  You know what I'm saying? You give them a little game in there.  So you got to be more of a Communication got to be there more than them just showing them because I don't really care about the They want that time that time and that conversation. So it's like a whole different ball game But then you still also got to lead because one thing I've always noticed about little girls is that They usually end up dating their dads. So however you are however you treat them That's how what they look for whether they know it or not They look for that in the next guy that you know, they want to date For sure. Because they dad would be like that first love. So it's like They didn't have me just right just doing even just with because they pitch into everything. So it's like How I treat them talk to them how I act around them sometimes till I dumb down like Even though I they know I can explain except my older ones, you know From the streets to explain. Okay, this what I'm explaining. This was not okay. This is where we're coming from Or just so when she sees she can recognize and kind of about to just run it on or she won't be fooled No, I go back to when you was talking about some people be real then But I really just give it to what she can feel in is your body language. She can read, you know, I'm saying Oh, somebody just why ask them why they doing all that for you? No, I'm saying just do you give it to her Just like if she was a boy Or do you still, you know, or you shy back and you only give her like some You know how parents treat girls and boys differently. I give it to her though Cause I tell her anytime I gotta have you well, can't know never run no play no games on your top Yeah I'm gonna give it to you I got to because I ready to do that then see you practice on what crying or No, I'm saying make I got one more question for you where your daughter is concerned Did your music change any bit once you start having kids, especially girls? I ain't gonna say it. No, I still come back to you Oh, okay, and that ain't no cuz see to them it's more even on that hand now they can recognize What you say? Well, I don't just I want just I didn't want to just okay. This is me So I gotta let you know at the end of the day. This is me But when it comes to how you should be treated how you should be talked to how you should be Outside the music was like after that music go off you back to you understand everything I done start then Okay, make it make sense. So Make it make sense. Let's talk about it. Uh you You jammed at home You you uh, you say I'm that easy on that startup. Yeah, you know I'm talking about. I loved it Yeah, nigga, y'all better go I'm checking everything out Yeah, you know, I'm saying like the music was hard too. Like like what made you make that one What was the whole concept behind it?   That's right living with I see the nigga howling goddamn Beijing somewhere I legit out of depth like I'm talking about the devil. I want to see that niggas Just peered like they're praying that boy by the like niggas love him. So it's like I behave when real niggas even And me coming from the north and they coming out there now See a little bro. I look at this now shit so different, but like From you don't have to be from out there understand So it's like me coming out there now and see them like the two top niggas ever come out there now So it's like, but it just meant it was like I don't like I get there to go.  There can even be a back story, but like she having full reason I don't say making them close to anything It really did like they came after that if you think about it They came after that and did a lot of music the whole movement went crazy So a lot of times that's pruning, bro That's cutting and making things to where it can be better late on So all those bad times equal a whole bunch of good times, you know what I'm talking about for sure So that's the whole game man. I think I what's the other let me see let me see Man, like I said, you one of them h-town man, you h-town to the core nigga. You know what I'm saying? You ain't down to the core. You know what I'm saying?  That's why I cheers the og's and then before for them I'll be teaching you on them because they don't really be knowing that I'll be trying to put an end in here Like but you gotta because they probably don't sit like damn Or bro them because they probably too young to even see and see and feel it So I just been starting like but you you crazy.   What what are your thoughts on counseling because just to help Get your mind right talk to somebody who know nothing about you legally binded can't tell nobody nothing about you type of thing How do you feel about that? I wouldn't go to counseling, but I think it's needed for some people.   It's like everything is down from nothing You can't even see positive and be able to turn that other person on because whenever you have to Whenever you have to like say example perform and you in a bad mood and so forth You have to put on a whole not a persona you have to put on You know otb fast lane now compared to you know behind the scenes you are Just you what's the difference between otb fast lane compared to you on a regular basis How different are they or are they the same?  You know what I'm saying? I'm in that world. Like I just it just click it on even then I just turn on that's how I know it's a gift card bless me because It just hit but it's like it's a semi-diffuse But but when it's on the interacting with the things I talked to him like I've been known on 20 years It's nothing different like see if like if it's a meet and greet or something Or I just even when I get on the microphone I talk every show I make sure I stop the music say something Make let them know I'm regular just like y'all I'm going through shit Just like y'all know what I'm saying? So I start the music between one or two songs and connect with them talk about real life shit like I know Or I'm in the chance.  Let me talk about something. I know I'm going through Something out in that crowd might be going through or 10 20 or 200 300 people going through we can get a message from it No, where you get that from are you just started doing that on your own? Man, I just thought I ain't gonna lie. I really just started doing I just started doing it I seen like oh, I know I This summer I always wanted to do just growing up just saying like Then Jada I'd seen him like no I'm saying been a concert He connected with them for different ways. It was like I was one of my ways I can connect with these people like First I was looking for when I just knew magic gotta talk about what I'm I just gotta preach get on this That talk about what I'm going through.  You know, I'm saying and then uh, uh, boston george and who else on that day? propane That's one I'm gonna call he's gonna pick that That's how you'll be successful. They gonna be big in the world. He's the man with this new gen i would tell you but If you can hustle like sauce walk out the new generation, but if you can hustle like sauce walk You can put that shit on like a little germ You can rap like fast and let a culture like propane man. That's it.  Then I'll be telling niggas.  You know what I'm saying?  He's gonna try to help you He's gonna call pow wow. He's gonna call these niggas.   You know Any top three artists of all time. This is your top three. Fast line. Uh-huh line Luther He ain't right No, who's the who's the top it could be it could be uh, don't say my everybody say michael jack Everybody say michael jackson to park Okay, okay, but I really want to give out my top. Oh, it's like then like my gumball. It's like it's too It changes though. It changes My favorite because my favorite is like why I get all my shits from like so you don't want nigga to know how you come It's really like But it's only three Give me a camouflage and something tell me three three people that you rock with that you say man They hold it, you know, and it could be it could be r&b. It could be anything. I'm t. I'm t. Can be country I'm with the millions That's why I got these boys shook it. I got the millions I got the millions. I listen to our kind of music. So who'll be the one? Juvenile that's all right number two Jada, okay number three Oh Shit, okay It's okay.      Oh, yeah, that's coming from a different place Okay, that's coming from a different place. So like I got there from jada I even just connected with these people and he just showed me like Because jada ice has been about five just taking on the whole me him in a car every day me him and peanut We're getting high. We just excited.   We're getting how we been normal forever.  He right He already gave me a free cheese. He just like to Bro, I didn't just want to help out and I feel like Me and relate so many way like just he just showed me free to show them with a hood game bro. You unstoppable like This line was like down there on basketball thinking it's not to shoot the ball He done ain't got But if I can step carry this motherfucker all game like I'm gonna play anywhere I know how to put that motherfucker in the hole and like that's what the hood games like I don't think Long as I can go in and make some kitchen See it on these beats right? I'm always when I just got consistently do it from that future show Men just how long he's been doing it like man a man down there father father like and going crazy still to this day Show me, you know, you're working on my future. Have real talks with a man. So I live germany germany After I don't know if you're at the record with germany's future. We out there.    He had regular but how we acting right now?  See he ain't out here agitating and frustrating the grace real That's real like like and and we put a rap this thing up man. Um Let me see if I can ask you something. I got one thing I gotta say Well, I'm gonna let you go because mine gonna be so powerful You know, I asked that powerful I got that power punch when we in this old I in this hole with a power punch Everybody know it um with Tell me which song if there's any of your songs that you were emotional when you were writing it or Wrapping it in the studio when I say emotion, you know like Something happened and you was just mad. He was angry or he was happy and he's like man. I gotta get in the studio I gotta go do this and it just all poured out.  It was in there.  That's why I know this should be for a reason just go out That's real. That's real. Once you get it off your chest. You feel good about it. Like therapy therapy Stop praying. I'm ready to do whatever they want to do after it. No I'm saying we just be like this.  You just feel good from getting it off. It's like, yeah Man show man, you know, we don't we don't really wrap this thing up man One of the things that I always ask ain't all that but you know, you didn't took my question nigga That's what I was gonna say But anyway, I was gonna have to know you got I know you but like like when you look at who you are the person today like And and basically if you wasn't able to be here and you was able to talk If somebody's gonna tell your story from 6,200 west till well all the way up to now like like What would you want them to say if you couldn't speak for yourself? Man, whatever they feel they should say as far as your legacy go now. We talking legacy Because I feel like I got them late. I'm I'm late the law down, right? No, I'm saying so I feel like it's gonna be good energy.  She'll with me because I just I'm silent in and I just I just keep it gene when it fell No, I'm saying I got I'm personal understanding.  No, I'm saying like I can see it all kind of way. So it's like I just feel like I feel like man It's gonna get the love gonna be shown like no, I'm saying I just it I feel like I know it's gonna be I know it's gonna be shown because I just know what I put out here on the daily Like no, I'm saying I know it's gonna be I know it's gonna be shown. I'm like, thank you for coming on this show We love you man. Boss talk 101 got mad love for my niggas. Stop playing. Now you're on boss talk 101. See This is this the best interview the nigga ever done You know I'm saying really like it's a lot of them like they they kind of cool and I like them But this is the best one The best one in the building boss talk 101 man. What a boss is talk and we out


Who's ready for 200 slides of code in 45 minutes? My talk's called Four Programming Paradigms in 45 Minutes. This is the result of me proposing a talk that I didn't want to give, and then them saying, that sounds awesome. We should do that. So I don't recommend that strategy. I'm Aaja Hammerly. I'm on GitHub as Thagamizer. I tweet at The Thagamizer. And I did not include a picture of my cat in this talk. But if y'all ask good questions afterwards, I will tweet out a picture of my really annoying cat who let himself out of the house by opening the door and then got lost for three days recently. And I blog at thethagamizer.com. And I just released a new blog post on bad managers. So if that's the kind of thing you're interested in, you might go read that. The slides for this talk are also on that domain if you have bad eyesight and can't see the code on the screen, or if you just would rather follow along on the home version. And I like dinosaurs a lot. So if you're interested, I work for Google Cloud Platform. I'm a developer advocate. So if you're interested in Google Cloud, if you've heard of that thing called the Kubernetes and you don't know what it is and want to chat about it, or if you want answers to questions or opinions about the cloud, I'm happy to share many of those things with you. Come find me in the collaboration room or during breakouts. And since I work at a large company, Lawyer Cat says any code in this talk is copyright Google and licensed Apache V2. So this talk is about celebrating polyglots. From the outside, programming seems like very prescriptive and systematic and perhaps even boring. But well, programmers, and we know that there's a lot of variety and creativity in programming. There are many, many ways to solve a problem. And there are many schools of thought or paradigms in the programming world. This talk is about the similarities between languages, concepts like conditionals, collections, assignment, arithmetic. But it's also about the differences. Different programming languages are good for different kinds of problems. And knowing a lot of different kinds of programming which can help you understand the abstractions that underlie everything we do in our day-to-day life as programmers. When you have these abstractions, you're no longer attached to syntax. And that means that your brain can be more flexible about ways to solve problems and you can learn new languages more easily. If anything 15 years in the industry has taught me, is that I'm going to have to learn a lot more languages over the next 15 years. So in order to show the similarities and differences between languages, I'm going to show the same example in four very different languages. And that example is making change. Specifically, I'm going to use each language to calculate how many coins and bills you need to give a customer to make change or to make up a certain amount of money. So with that, let's dive right in. Ruby hack. So we're going to start object-oriented. And of course, we're going to use Ruby. And the slides are red because Ruby. Quick overview. You all probably all know this, but just to make sure, everything in Ruby is an object. Nail is an object. False is an object. True is an object. Some of you may not know. False and true are actually singleton instances of the true and false class. Objects contain state and behavior. State is like things like fields, attributes, et cetera, depending on the language. Behavior is what you do with that state. Most likely, methods. And in Ruby, we refer to the object itself as self, and that's how we modify our own state. For example, self.pet, my cat is named Emma. Objects interact with each other through message passing. If I want to find out the length of an array, I send length method to a specific instance of the array class. The array object that I send it to calculates its length and then returns that to me as an integer. When I'm teaching stuff, I usually try to use my own examples because I find most textbook examples really boring. But it's a lot of material I'm going to cover today. And so I'm going to use the canonical examples where I can so that if you want to go deeper, you have something that you've seen that's familiar when you go to read the textbooks and stuff that I will recommend. And one of the most common examples for OO is the bank account. Basically, let's build a bank account. Objects are instances of classes, so I start by creating the bank account class. Bank accounts need to have a balance associated with them for a lot of reasons. It's a bad idea to let folks monkey with the balance. I'm going to make it a instance variable and I'm going to not have any accessors for it. And I'm going to initialize the balance to zero when I initialize the object. Side note, I'm representing the balance as an integer number of cents. If you think using floating points from noni is a good idea, come find me later and I will tell you why you are so very, very, very wrong. Floating points are not accurate enough. So throughout this talk, money is always gonna be represented as an integer number of cents. So quick break for IRB. I can instantiate my object and I know it has a balance of zero since I just wrote the code, but I can't see that outside the object. So I'm going to add a reader, not an accessor, a reader to see the balance. Now I can instantiate the object and then I can see that its balance is zero. Now we add deposit which increases the balance and withdrawal which decreases the balance. And again in IRB, I can deposit 100 cents a dollar to withdraw 30 cents and have an balance of 70 cents. If I was doing this for real, I'd probably add a code to prevent overdrafts, an account number, maybe some other things as needed, build some sort of crazy double entry display for it to make it all look fancy and official, but I've got three other paradigms to get through. So I talked about objects as having both data and methods before. In this example, the data is the balance and it's set and initialized, but also deposit and withdrawal all interact with that data. They're all modifying the internal state. My IRB process communicates with them by sending the deposit, withdrawal or balance message and then the object sends the results back. Strength is about, oh, the big one is modeling. The world around us is composed of things like my clicker or the seats you're sitting in or the projector's up there and it's also composed of ideas like happiness. And all of those exist in the real world and we can use objects to model most of those things. And if you have your data and your methods encapsulated together, it's really easy to pick that up and put it elsewhere. So I don't have to write the code for calculating array length every single time I wanna have a collection object. A lot of people really like the ease of testing that comes from objects because you can test each object independently and then you can test the system as a whole once you know that each of the individual pieces are working. So onto the example, making change your style. So this is the code for a cache register and you can't actually see that in the back. So let me build it up piece by piece. The class declaration and the initialization, I have an instance variable drawer which represents my cache drawer. I have 20s, 10s, 5s, 1s, quarters, dimes, nickels and pennies in the cache drawer. And for all of my examples, I'm going to assume that the cache drawer is sorted because that's how we keep cache drawers. It also makes writing recursive code really easy. So here's the make change method. Make change takes an amount owed in the amount the customer gave you which I'm calling tender. I then calculate the difference which is the amount of change I need to give back and I create a change array which is where I'm going to store the exact bills that you need to hand over. I'm going to have a variable I which is the current slot in my cache drawer I'm looking at and I'm going to have a denomination which is the amount that is in that place in the cache drawer. I normally wouldn't do this but it makes code on the slide much easier to understand. So while I still have money to give back to the customer, I'm going to loop through this. Inside the loop, I'm going to see if the difference, the amount I still need to make is less than the denomination that I'm currently looking at. So if I'm trying to make $7 and I'm currently looking at the tens, I can't use a 10 to make change. If that's the case, what I'm going to do is I'm going to increment my index and move to the next smallest thing in the drawer. In this case, that would be ones looking at the fives or tens, sorry, tens, trying to make $7 increment moves them down to the fives. Yes. And then I'm going to start from the top of the loop again. Now, if I'm trying to make $7 and I'm currently looking at the fives, I can use that. So I'm going to add that to my change array and then subtract $5 for my difference that I still need to make. Awesome. Simple is super easy. So who's experienced with OO before? I should see lots of hands. Please, please show me hands. So you're probably thinking, that's a horrible example for teaching OO. Azhar, why did you do that? And the reason is is that, yes, this is a horrible example for teaching OO, but it's much, much, much better example for the other three paradigms I'm going to teach you. So let's drive straight into functional programming. I'm going to use Racket. Racket is a general purpose programming language in the Lisp Scheme family. Lisp, in turn, is the second oldest programming language and Racket and Lisp are really well-known, Lisp especially, but Racket, increasingly, is a really well-known functional language in a great way to demonstrate it and it has lots of parentheses, and I like parentheses. So, functional languages. Who would have thought? They're made up of functions. Functions taken data and output data. I'm going to be doing all my examples in this talk is pure functional. That means I won't ever store or mutate the data at all. As one of my previous coworkers said, mutable state is fundamentally suspicious and cannot be trusted. The nice thing about pure functional style in programming is that the output only depends on the input. There's no state. So if I give the same input to the function every single time, I'm always going to get the same results. Data and procedures are separate in the functional languages. They aren't combined together like they are in OO languages and I will acknowledge right now for those of you who are going, that's not true, that I am hand waving pretty vigorously here, but that is true for the purposes of this talk. So, syntax. Racket uses prefix notation, which is going to look a little weird to some of you. The name of the function is the beginning of the function call. Probably more used to infix notation. But prefix notation, if I want to add three and five, I call the plus method with the arguments three and five. The parentheses make it a function call and I get back eight. And the nice thing about prefix notation is that it's very easy to take an arbitrary number of arguments. So multiplication, multiplying one, two and three, it's just as easy as multiplying one and two. I can just shove something into the end of the argument list. It gives me six. The other nice thing I like about prefix notation is it makes the order of operations really clear. Here I'm multiplying three and five, subtracting 10 from six and then add, I'm subtracting six from 10 and then adding those together. And I don't have to worry about operator precedence and binding, which binds closer and anything like that. The parentheses and the notation make it very clear what's going on. I can't mess it up. But I said functional languages have functions. So here I define a function by calling the word define and then putting the name of the function in the argument list inside parentheses. And then the body of the function is this case times n times n because I'm defining square. And then I spend the whole thing in parentheses because yay parentheses, that's just how lists work. And then I call the function by parentheses function name argument list five in this case and it returns 25 because that's the square of five. It gets weird or don't worry. Conditionals, I'm going to use cond, although there's a lot of other conditional constructs in racket, cond is short for conditional and it acts like Ruby's case statement. So I have a cond, it's surrounded by parentheses because parentheses, then there's each clause, the first part of each clause is a test. And then there's the stuff you do if the test is true and if that test isn't true, you go to the next test. And then if the difference is true, you do different stuff and then there's the else for none of my tests were true so I'm going to do yet some more stuff. So here's an example, absolute value. First condition, if x is greater than zero, I'm just going to return x, that's the absolute value. If x is equal to zero, I'm going to return zero. Otherwise I know x is negative so I'm going to return the negation of x. Simple. Lists are collections, think about them like arrays. Items separated by spaces inside parentheses. You might be thinking, what's with the back tick? Well, if I didn't have the back tick, this would be calling the function one on the arguments two and three, which doesn't actually make a lot of sense. So you put the back tick there to know that this is a list literal. I love lists. So car gets the first element of the list or the head, in this case one. Cudder gets the rest of the list, in this case the list two, three. We will come back to car and Cudder in just a little bit and I will explain to you why they have such crazy names. And cons used for making pairs. So in this case I want to add one to the list two, three. I cons them together and I get the list one, two, three. So quick example, factorial. Define the function fact n. I have a conditional. If n is less than or equal to one, I return one because that's the definition of factorial. Otherwise I multiply n by the factorial of n minus one. Simple. Fibonacci. If n is less than or equal to zero, I return zero. If n is equal to one, I return one. Otherwise I add the Fibonacci recursive call of n minus one and the Fibonacci call of n minus two because that's the mathematical definition of Fibonacci. So strengths. One of the fantastic things about your functional style is that if you don't mutate state, you don't have as much constraints when you have concurrency because you don't have locking tables or shared memory or race conditions or any of that other stuff that causes those problems. I figured out what's going on, that might up there. It's also easier to test. If you only put the same input data and always get the same output data, it's much easier to figure out what you need to test. You don't have to do any setup for setting up state. And it's very easy to see from the code exactly what your cases are. And code that contains no state is safe to reuse anywhere. So reusability is awesome. I like functional programming a lot and I like it because it's very, very brief. Others hate it for the exact same reason. So making change functional style. You can see much shorter than the Ruby version. You can actually probably read that in the back. But let's walk through it. To find my function, make change. X is the amount I need to make and denom is the denominations that are in my cash drawer. If X is equal to zero, if I don't actually need to make any money, well, I'm gonna return a list that is empty because don't give them any bills. Makes sense. If my cash drawer is empty, I can't make change. So I'm gonna return false. There's two recursive cases. The first one is the case where the amount I'm trying to make is less than the denomination that's at the beginning of my denominations list. So this is the case where I'm trying to make $7 and I'm currently looking at the tens. In that case, I'm just gonna call it recursively and use the rest of the stuff in my cash drawer with the same amount. And then the fun case. If the amount I'm trying to make is not less than the denomination I'm currently looking at, so I'm still trying to make $7, but now I'm looking at the fives. I'm gonna take one of those fives, I'm gonna add it to a list that is making the rest of the amount. That's what that minus X card denoms thing is and my cash drawer. Simple. Don't worry, it gets weirder. We are on to our third paradigm. We're gonna do logic and constraint programming. We're gonna do it with prologue and I promise you I will tell you my favorite prologue joke at the end of this, but I cannot promise you that it is a good prologue joke. So prologue is a logic language used for constraint solving primarily and it's based on formal logic. And by formal logic, I mean things like all men are mortal, Socrates is a man, therefore Socrates is mortal. And formal logic is at that beautiful intersection of mathematics, computer science and philosophy because clearly all of these things are friends and we should all hang out together. Prologue programs are made up of facts and clauses and the really brain-breaking part of prologue that gets most people completely confused and wanting to run away is the fact that you never tell prologue how to solve a program. Prologue figures that out for you. It's actually just searching a possible constraint space. Instead you have to describe the problem in very explicit detail so that prologue can then figure out how to solve it itself. So let's say you're solving a logic problem, like the guy in the blue house has the fish and the guy in the white house really likes to drink Pepsi. Like you're trying to figure out where everyone lives and what their pet is and what their favorite drink is. In prologue, you don't tell it how to do a depth first search of the search space. Instead you just carefully enumerate all the rules and constraints and then say, hey prologue, can you solve that for me? Which is really, really weird for all of us who've been taught programming using the, this is how you make a peanut butter sandwich method because that's not how prologue works. So the syntax isn't actually not too bad but since we don't need a lot of operators it's not actually that complicated and it's a little weird. We have variables, internal caps and we have constants which are in lowercase and that's pretty much it. I can define facts, facts and in periods. So I can say that Washington is a state I can say that Washington and Oregon share a border and that Washington and Idaho share a border and that Oregon and California share a border and then I can say, hey prologue, let's make some rules. Rules are a set of what look like facts but basically what's saying is that X and Y are adjacent X and Y are variables, remember capital letters and then there's that colon minus thing that's actually a logical implication. Normally I leave that out when I talk about this with people but every time I've spoken in Salt Lake the level of background in mathematics and computer science has been really high so maybe that'll help y'all. That's a logical implication and what I'm saying here is that two states are adjacent if they share a border and if the border rule is true. So adjacent is true if everything on the right hand side is true. And what prologue does is goes and does some crazy pattern matching. I love pattern matching languages, they make me so happy. My pattern matching what it's doing is it's actually doing a process called unification but that is the only time I will say unification in this talk if you wanna hear more about unification stay tuned to the end and I will give you resources where you can learn about that. So prologue's gonna go try to find some values for X and Y such that the rest of them on the right hand side is true. So I'm gonna say prologue or Washington and Oregon adjacent. Prologue's gonna say yes because that's what prologue does. It says yes and no primarily, it's fantastic. And then I'm gonna say prologue or Oregon and Washington adjacent and prologue's gonna say no, which okay, why'd that happen? Well prologue is incredibly literal and I did not tell it that my adjacency rule is reflexive. So if I wanna fix that, I have to add a second rule where I say adjacent X, Y is also true when there's a border fact for Y and X because prologue. So some basic examples. The classic prologue example is specifying a family tree. Yay. Here I'm saying that Homer is Bart's father and Homer is Lisa's father and Marge is Bart's mother and Marge is Lisa's mother. Then I can say, hey prologue, put the variable in constant in Bart, who is Bart's mother? And it's gonna say, hey, I was able to make that true by saying that X is equal to Marge. I can also say, hey prologue, who is Marge the mother of? And it will say, well, Bart, and I can say, hey, you got any others? And that's what that semicolon means is yes and and then it will also say, hey, Lisa also makes that rule true. Which means I can then define relationships like this. X and Y are siblings.  That would be weird. So X and Y are siblings.  X is also a Y sibling if there is some Z such that Z is the father of X, Z is the father of Y and X and Y are not the same. So then I can say, hey, from our list of rules, hey Prolog, who are siblings? And it will say Bart and Lisa. Lists, Prolog has lists. Most languages have collections. It's some stuff in square brackets with commas and they can be mixed type. Looks like Ruby, yay. But dealing with lists in a pattern matching language gets a little complicated and Prolog uses this lovely Bart syntax that I adore but confuses people. So this is pronounced F bar R and F matches the first element of the list and R matches the rest. This is just like a car and cutter that I showed you in a functional programming. So if I have a list one, two, three, if I have pattern match that against F bar R, F is gonna be equal to one and R is going to be equal to two, three. But they're not actually equal, they just match because equality is not really a thing in Prolog. And the last thing I need to show you is that Ruby, just like Ruby and Racket, underscore is the I'm not using it variable which I was informed is also pronounced me. So in Prolog text, you'll also see this as referred to as the don't care variable. This is the unused argument variable. So member, member is like include and if you wanna use the pronunciation of include for that I learned from my Canadian friends, it's include a from Ruby. So this is member, there's only actually two rules. The first is actually a fact. X is a member of something if X is the beginning of a list. Sure, why not? X is also a member of something if there's something I don't care about at the beginning of the list and X is a member of the rest of the list. Okay, sure. So strengths of Prolog, the big thing is the flexibility. So I just showed you a member. So I could use that to detect if a number was in a list but I could also use that to generate all of the list that contain that number because you can run Prolog backwards. There's a really great talk using mini-canron which is another logic slash constraint programming language where they generate all of the racket programs that will return a result of 120 when given an input of five, trying to generate factorial. Think about that for a second. They're generating the code by running the program backwards. It's amazing. Prolog is also great for problems that involve constraints. If you've ever tried to do like a table planning for a wedding and you're like well I can't have these two people on the table because they know they're gonna cause problems trying to figure out how to make everyone work and the tables only see this money except this table to only seat six and the rest seat 10 and all that. Prolog is great for that. One of the examples I learned about from doing my research is that there was a research lab where they were trying to schedule use a shared resource which I believe was a dolphin and they were trying to do it around people's class schedules and work schedules and also make sure that they had enough time for the dolphin to rest and they didn't have enough activities on the same page and they ended up using Prolog for that. So making change in Prolog. Prolog doesn't have return values. I haven't actually hinted at that recently but it doesn't actually have return values. So you need to encode the return value into your rule. Our change rule has three arguments. First is the amount we're making. Second is the coins or bills we have in our drawer. And third is the amount of change to give. Those last two are gonna be lists. And this is the entirety of the code. It's even shorter than the racket version. First rule, if I'm trying to make no money I don't need to actually give you anything back so I don't care what's in my change drawer and I'm gonna give you the empty list back. Okay, sure. Second rule, this is the case where we are not using, this is the case where we are using the first, the amount that's at the current spot in our change drawer. So I'm gonna say we're gonna have A which is the amount. If A is greater than or equal to the first element of our change drawer, F and B is A minus F, not equality, logical equivalents. There's no assignment happening there in the sense that we think about it. Then we wanna make sure that the change we give is gonna be the change for the amount B with the same list of denominations making the list X. So this is really confusing. But the big thing we're doing here is we're doing a recursion. We're taking the amount we need to make still and we're saying that that amount is going to be made with the bills associated in the list X and then we're shoving them back in that first line using the bar notation to construct a list instead of deconstruct the list this time. Don't worry, it gets better. And then the last example is the case where we're not using the first thing in the drawer. In this case, we're gonna say we have an amount A. We don't care what the first thing in the drawer is and we're going to say we make that using the list X. If we need to make sure that A is greater than zero X Prologue will happily go try to make a change for a negative number. And then we do that by calling change recursively on the amount, the rest of my change drawer and the list of bills we wanna make X. So how many of you are thinking, ow my brain right now? Yeah, I love Prologue but even the fact that I love it and it's one of my favorite languages of all the examples of this talk including the next one, this was the hardest to write and this was the only one I actually had to break into the debugger to make it actually work out and make sure I had all the cases correctly. Because since you're not describing the how, Prologue is just doing a search of the constraint space. It sometimes does things that you wouldn't think about it doing because it's just following the rules you gave it. So on to our last programming language. We're gonna do our programming paradigm. We're gonna do procedural and because I like herding brains we're gonna do it in assembly. So assembly is old school programming. Actually, I was talking to some folks at RubyConf about this and they described assembly as a memory shell game and yes, yes, assembly is in fact a memory shell game. There's a limited vocabulary slash number of functions, standard lib. I'm gonna be using the assembly from the book Hand to Tetris which I think is the elements of computing systems or the fundamentals of computing systems. Lots of assemblies exist. I'm using this one because it looks the most like algal languages which is what we're most familiar with. If you know assemblies you're gonna say that's not assembly. Yes, I understand it is not a traditional assembly but it's easy to understand and it still has all of the joys and love and problems of an assembly. So syntax, I'm working with registers. The arithmetic logic unit I'm using has two registers, A and D. D is the data register, it just stores data and circling back, car and cutter from the racket section. Car stands for the contents of the A register and cutter stands for the contents of the D register which is why they have those really strange names. So the A register is multi-purpose. It can store data like the D register but it can also store memory address. In that case it's the accesses, locations and memory. To make this slightly easier for us we're gonna use M to represent, we're gonna use M to represent the A register when we're using it to access memory. Follow? Okay. So I can do some basic computations. I have A plus D. I can do D minus A, A minus D. I can do A or D increment plus one. I can do a decrement. I have not and and or bitwise operators and I have negation. And then I have increment by one and I actually have decrement as well by one. Just a note, I don't have multiplication, division, exponentiation, any of those things that we just assume that we have mod. I have addition, subtraction, decrement, increment and decrement and some bitwise stuff. And yet I can still do really cool things. This assembly allows for assignment and it looks like normal assignment. We can assign to any of the registers or to memory and we can do that in different ways. We can assign when we're also using the variable. So I can say D equals the result of D minus A and that's just fine. And I can also assign to multiple locations at once which is super weird and super handy when you're doing crazy assembly things. I can load an integer into memory with this syntax. So this will load 100 into the A register, not into memory, into the A register. And I can use this syntax to load in the line that the program counter needs to move to for this particular label in the code. And this lets me do jumps which are the only form of control flow I have. So go to lives again. And I have a limited number of jumps. The format for jumps in this language is you have a value, a semicolon and then a jump type. All the jump types are with respect to zero. So JGT is jump if the value is greater than zero. In this case, I'll be checking to see if the value in the D register is greater than zero. I have jump equal to. This is gonna always jump and I use this for unconditional loops, similar to our wiles. I have jump greater than zero, jump less than zero, jump greater than or equal to zero. And here are some basic examples, add. I added some registers because it helped me understand what was going on better. So I load the constant two into the A register. Then I put the value in the A register into the D register. And then I load the constant three into the A register. And then I put the value of D plus A back into the D register. And then I load the constant zero into the A register and store value in D in the memory location referred to by the value it's in the A register, which is zero. Got it? Here's summation, lots of code here but we'll do it piece by piece. So I load the value zero into the A register. I store the value that's in the A register into the memory location that I'm referring to with the address in the A register, which ends up storing a zero into memory location zero. Cause you know, let's do two things at once with the value. I then load the constant five into the A register, assign that to the D register, and then load the constant one into the A register and then assign the value that's in memory look, that's in D to the memory location referred to by the address in the A register. What I'm gonna be doing this example is summing up the numbers one through five. I declare a loop, this is a label that I will come back to, then I load the value one into the A register, assign the value it's in memory location one to the D register, load the constant zero into the A register and assign the value of memory plus D into memory location zero. So we now end up with zero in the A register and fives everywhere else. Then I load a constant one into the A register and I decrement the value that's in memory location one. So now D and M are both equal to four. And then I have a label end and I'm going to jump if the value of my D register is less than or equal to zero. Otherwise, I'm gonna load up the, I'm gonna jump to the end.  So now I'm back at the top where my loop label is. I'm going to load the value one into the A register. I'm going to copy the value in memory one into D. So now D has four. I'm gonna load the constant zero into the A register. And then I'm going to increase the value that is in memory location zero by the amount in D, which is gonna make it nine. And then I do the decrement again and then I loop back to the top and I add three and so and so and so. And then eventually I will get the sum of five to one. Awesome. So it's strengths. Yeah. I don't have any problems that assembly currently solves for me. I've written the assembler for this particular assembly and then wrote the bytecode that creates the assembly that the assembler reads and then I wrote the high level language that creates the bytecode that creates the assembly that the assembler reads and turns into machine instructions. But I did that because I wanted to know how my wizard box worked. Procedural style though can be really useful. It's simple. For us, most of our first programs were procedural. Hello world is very procedural. Most scripting is procedural. Do a thing, then do this other thing and then do this final thing and then clean up after yourself. And procedural style is really easy to write. We think about the world and sets of instructions. It's very easy for us to explain things as a list of things to do in a specific order. So here's making change in assembly.  There are better ways to do this. We can talk about that after my talk if you're interested. And this makes the change calculates the number of coins you need to give out and what coins you need to give out to make change for 67 cents. So the first memory location holds the amount to make. Memories one through four hold my coin denominations. Memory one is 25 for quarters. Memory two is 10 for dimes. Memory three is five for nickels. Memory four is one for pennies. Memories five through eight hold the number of each coin to use. Memory five is the number of quarters and so on. My assembly doesn't actually let me refer to memories by number that way, but it does let me refer to them as registers. So that's what you'll actually see in the code. So this bit here loads a constant 67, the amount we wanna make into a, then moves that to d, then loads the address of register zero and puts the amount in d into that location. So now we got the amount we wanna make in memory location zero. This loads in the values 25, 10, five and one into the appropriate memory locations. And this is the actual code and I'm not gonna do the magical table of registers here, but I'll walk you through it. So I load the location of my first memory location. I then assigned to d whatever value is there. That's the amount I still need to make. I then load up the value of memory location one and I subtract the value of memory location one from the amount I need to make and store that back into register d or into register d. Now I load up the label for my dimes code, which is the next thing I'm gonna go to. So if d is less than zero, which means that the amount I was trying to make was less than the value of one quarter, I don't need any quarters. So I'm just gonna jump to dimes and start trying to figure out how many dimes I need. But if it's greater than zero, I'm gonna load up my memory location zero, store the amount I have left after I subtract out one quarter's worth into that location. And then I'm gonna store up the location of where I'm keeping track of how many quarters I need. I'm gonna increment that by one. Then I'm gonna load up the address for my quarters loop and go back to the top and see if I can put any more quarters in. Awesome, huh? And then I do the same thing for dimes, nickels and pennies and eventually you end up getting the right answer. So learn more. I covered a lot of material in this talk and it didn't go into any depth on any of it. I really encourage you if you're interested by any of this to go out and learn more and seek more. If you want more resources on functional stuff, there's a talk parenthetically speaking by Jim Wyrick from Golden Gate Ruby Conference in 2010. It's on Comfreaks and it is really, really good. It got me to actually go back and work through the entirety of the structure and interpretation of computer programs with a bunch of friends. There's also functional principles for Odevelopment by Jessica Kerr from Ruby Midwest in 2013. And why not? The Adventures in Functional Programming which was a keynote given by Jim at RubyConf 2012 in Denver. And I like functional programming and I've followed up until about the halfway point and then I got lost. So I've gone back and watched the video a couple times because when you watch the video you can stop and think and like, okay, what is Jim showing me there? But he eventually builds up the Y Combinator in Ruby and it's awesome. If you're more of a books person, The Little Schemer, The Reason Schemer and The Season Schemer are fantastic. They're some of my favorite computer books because they're written in static dialogue because why not? They also use food as all the examples and they're pretty easy to work through. I've given them to newbies to code and they've gotten through just fine. And then there's the classic structure and interpretation computer programs, the wizard book. It's only got five chapters. How bad can it be? It's really intense. It is all you need to know about computer science. You end up building an interpreter. You also end up building a constraint solving system in Scheme and it's fantastic. So you like logic programming. I gave a talk at Cascadia Ruby 2012 called The Taste of Prologue, which just covers prologue and tries to use magical color coding and animation to make it make slightly more sense. You can go watch it on Confreaks. My favorite prologue books, there's the Art of Prologue and there's Prologue Programming for Artificial Intelligence. But the one I like the best is Clause in Effect, Prologue Programming for the Working Programmer. We are working programmers. This is our book. The reason I like this is it has exercises because it's really easy when you're reading an art book to like, oh yeah, it totally makes sense, uh-huh, uh-huh. And then you realize that you haven't actually retained the stuff in a way that you can use it. So having exercises means you have to sit and try to work through stuff and then look and see if you got it right. Procedural code. The book I mentioned that that assembly came from is The Elements of Computing Systems, building a modern computer from first principles. Oh my gosh, I love this book. You start by, you start with an AND gate. You build the polylogic gates and then you build up memory and then you build up an ALU and then you build up an assembly and a machine code that works with that ALU and then you build the assembler and then you build a byte code that generates that assembly, that generates the machine code that uses the ALU that you built of, the NAND gates and the other logic gates that you build up. Eventually you end up writing a language called Jack which kinda looks like a really stripped down version of Java and then you can write Tetris and run it on your simulated circuits that you made. It's awesome. It's really, really well done. There's actually a course error course for it. I worked through it before there was a course error course but if you don't know how your wizard box works, I highly recommend it. I managed to get through my CS degree only vaguely understanding architectures and operating systems and this really helped a lot and it also helped with PLs for programming languages.  Y'all, if anyone can probably, oh yeah, seven languages, seven weeks. Yeah, it's a book. There's good things, bad things about it. I'm not 100% fond of how they did prolog and I don't think it focuses as much on the similarities because you don't, not implementing the same thing in all the languages makes it very hard for you to see what languages are good and not good at. Someone else turned me on to the exercising, exercise and programming style, which is like 50 styles slash paradigms. I'll implement it in Python, I'll solve it in the same problem and it's awesome. So I highly recommend you try that. I'm still working through it in Ruby. It's Python's fine but I like Ruby. So I'm supposed to do a thoughtful closing right now. Yeah. Hi, polyglots are awesome. The big thing I want folks to take away from this talk is that knowing lots of languages, having these concepts abstracted in your head is good. And if you are helping folks become better programmers or if you're trying to become a better programmer yourself, get out of your comfort zone. Don't just use high level object oriented languages all the time. Having an appreciation for the other ways of solving problems can help you pick the right tool for the job. I will point out that the making change solution in prolog was actually the shortest solution there. If I was gonna solve something logic based, I would definitely use prolog. If I was gonna solve something where recursion seemed like the right solution, I'd probably actually fall back to racket. I wouldn't go to Ruby. Eventually I might do some IoT stuff where I want to use assembly but I use procedural style all the time. So knowing your tools well and knowing what tools are good for particular jobs will make you a better programmer. It will make your code better, faster and easier to maintain.  Don't just let yourself become stale. There's gonna be new languages all the time. My current language of the year that I'm gonna try to learn is Elixir because someone told me it's both functional and pattern matching and I was like, I'm there. I don't know what I'm gonna use it for yet but it seems super cool. So it might be the next big thing. I know a bunch of folks who got really interested in Go a couple years ago and now Go is the thing. I don't have problems with Go Solves but a lot of people seem to. So learn new languages, get better at stuff. I have stickers of many, many dinosaurs in my little pouch over there. I wanna say thank you and I think I have time for one question. Questions? Yes. Oh, I was gonna tell you guys my prologue joke. How many prologue programmers does it take to change a light bulb? No, you can also do yes but I like the no version better. One more question, you have one right there? That was my question. Yeah, prologue's actually a full language. It's surprising how little you need to be Turing complete. Someone has proved that you can build stuff in Minecraft that's Turing complete. So Turing completeness is interesting but not sufficient to be usable in my experience. Well, thank you all. I'm very glad Dev's working here.