 Cool. Well, yeah. So if this slide doesn't tell you enough, it should tell you a lot about what the nature of this talk is going to be about. But before we get too far, we have an action round, and here's the deal. You're not going to need your laptops. All the slides are going to be available. So put them away. That email can wait probably 30 minutes. Ask me on this one. And then the next thing is, let's get tight and close. Come on, I want you to find your neighbor. Get close, get close. Come on, come on, come on. People in the back unless you're highly uncomfortable and you're really against it. Get a little close. Move in if you want. It's okay. And nobody's going to steal your stuff. You can probably leave it there. Okay. So get friendly with your neighbor. I mean, too friendly if you get where I'm going here. All right. So, yeah, so Kobe did a great job giving you a sense of who I am. So my name is Adam Cuppey. I represent a consultancy Ruby and JavaScript in web app and mobile app consultancy called Zeal. But more than anything, my background was as an actor. And so for a few of you, this was a show that I did. I'll give you a little background. It was called Mrs. Manorley. There were 16 different characters and I played 15 of the 16. I arranged anywhere from a seven year old girl to a 65 year old old man and old woman. A lot of fun, but it kind of gives you a sense of some of the stuff that drives a lot of what I do. And then I also did this really great show. It's called Singing in the Rain. This is actually done in it. This is the character's name is Don Lockwood. So I had to learn how to tap dance. Never had done that before. But so for any of you that are aspiring actors out there, don't ever put on your resume that you can tap dance if you can't tap dance. Fair warning. But yeah, so here's what was cool is, and this is the magic of theater, is the at the, the entire theater was outdoors. And the very last night, now this is middle of the summer. Right when I started the song, I'm singing in the rain. It started raining. It was very cool. And so right when I started, it was a neat experience. The whole audience just started laughing and clapping was very cool. So the interactivity is huge. So that's one of the reasons why I want you to come in and interact and, you know, get out of the laptop for just a few minutes, right? I trust you it'll be worth it. And then the last thing that I did, same theater, I am third. I am the one in full dress makeup. This was a show that I did called, well, The Wizard of Oz. And I was the lion and that was a head to toe polyester suit. The average heat over the course of the summer was 95 degrees with humidity of about 30%. So I literally sweat through the suit every single night. It was quite intense. But the, the face of that on kids, like them wanting to see the lion was unmeasurable. I can't even tell you how astoundingly wonderful and heartwarming that is. Now the, the tech side, back to that sort of thing. You can find me on the interwebs. I'm on GitHub as a cuppy, but on Twitter, you can find me everywhere else as Adam cuppy. And by all means, tweet at me, complain at me, love me, whatever you want to do. I really do want to hear from you. I really want to interact. If you have any questions, by all means, I am an absolute open book in pretty much anything. So by all means, please get in touch. And I wanted to tell you, I actually have a co-presenter today. This is a really kind of cool opportunity. I was just introduced, not too long ago. Actually, I was introduced to me to Sir Nugget Amazemus. So Sir Nugget Amazemus is this really, really nice. Actually, I brought him up to help give this presentation. You can find him on Twitter at Sir Nug. And he is actually, he told me recently that he's going to be live tweeting during this presentation. So you can find him on the L.A. Ruby hashtag. But anyway, so he's going to be watching from here. But like I said, he'll be live tweeting. So the objective of today is really quite simple. And that is that my intention here, above and beyond everything else, is I want to bring a little bit of joy to your life in the next half hour, 45 minutes. So by all means, engage, interact. Scientifically speaking and biologically, this is very real that when you smile, when you interact, when you speak, talk, laugh, clap, all the above, it engages a whole different center of your brain. And it actually brings joy to your life, right, in some measurable fashion. And I know that by and large, this is not a stigma or anything like that. But by and large, you'll find that a lot of where we live behind the computer screen and so forth can tend to disconnect us like Mike was saying, from other people in the world. And that's not a good or a bad thing. But it's something to acknowledge. And so my job here, and I think the thing that I can help do just a little bit of is to bring a little bit of joy and hopefully happiness to this. So the motivation here is that I hope that at the end of this, not just my talk but of L.A. RubyConf is that you leave here motivated to go do something, right, whatever it happens to be, positively, hopefully, for you, just something positive that motivates you to get somewhere some way in your life, right? Maybe you find a new pattern discover that you're excited about. Maybe you want to look into a video that you saw or a link that was presented to you. But I hope more than anything that you don't leave here going, Well, that was what it was, right? So find a way to get a little bit of motivation there. So the thing I discovered in software engineering is that that they and Mike spoke to this a little bit in the beginning. And I am with you, Ryan man, he stole some slides, man, it was crazy, insanity. But there were other than the theft of slides content. What I realized is that in this industry, there's something that we do that's quite cool and amazing. And that is that we have the opportunity to craft great things, right? Now, what I'm really going to be talking about is the poet. Now, what is the poet, right? Now, a poet, they utilize metaphor to express the realities of things around them, right? They use metaphor as a form of abstraction, basically, to express to express the reality of the things that they see and do. Now, this level of abstraction is really beneficial for a couple of ways is it becomes a very declarative methodology to assign meaning to things, but it allows the imperative the detail behind that which to be left for interpretation, right? It's a very kind of like new thing to do and say but that's ultimately I think what we're going to be hitting on a majority of time and this is the lost opportunity that exists inside of the software development world, I believe. Now, I want to hit on this very important thing. Again, we're going to be this is a soft talk of emotion and passion is that language is powerful. It's incredibly powerful. Look at let's break way outside of software for a moment and just think about the turmoil and strife in the world. Oftentimes, what triggers that is not the action of anything. It's the language being used around those things. Language is incredibly powerful. And it can be used for good and bad. Now, we're going to talk about the good. But keep this in mind, because as a poet, right? This is an opportunity for us to think differently about the way in which we perceive the things that we do, the way in which we write our software and the way in which we live our life. Now, a couple of Rails comps ago, a DHH had made this keynote where basically he asserted this one thing, which is that we are software writers. And I don't know how many people threw things at him at the time, but there were a decent amount, right? Well, like as Adam, it like, we are not software writers. That's bullshit. Like we're more than that. We're something else. We're engineers. We're this than the other thing. And it goes back to this idea that language is incredibly powerful. It's very, very powerful. Well, you know, as with many other people, like I had a similar level of let's say discomfort per se, right, about this whole idea. And so I kind of looked a little tighter at what, a little closer, excuse me, at what a writer is defined at. And it was just a person who has written a particular text. The first thing that popped out to me is like, you know, if you're writing a user stories, it'd be like saying, in order to log in as a user, I want to be able to log in, right? I mean, so it doesn't really provide a lot. But, you know, here was the thing is, you know, when we get down to the minutiae of this, it becomes a very clinical, sterile, very imperative thing. It's like, just follow the practice that's been put, been laid before you, follow it procedurally from ABCD and just move your way down. Well, there's nothing sexy about that, right? So looking back at software writers, I think that the thing that was the most jarring was the notion of this term writer. And when I looked at it a little closer, I noticed that there's a synonym that I absolutely loved and resonated for me personally was poet, right? I was like, poet? Well, what does it mean? I was like, well, it's a person who writes poems. All right, well, that doesn't do a whole lot. But then I noticed this guy down here, a person possessing special powers of imagination or expression. And I was like, special powers, special powers? How is my fucking special powers? I'm a poet, man. That's me is I'm a poet. I this resonates for me as something that is incredibly powerful. Now, again, I come from theater, I come from a very expressive art form. And being in this state of expression, we'll look at a little bit of an idol of mine. Now, for those of you who don't know, this bald man here with the wonky haircut, which seems to be coming back right now in Europe, is Mr. William Shakespeare. Sir William Shakespeare. Now, this guy here about 400 plus years ago, wrote a series of texts, some of them sonnets, and then also a whole series of plays, some of them history plays, where he's documenting things through time. There's a little bit of spin on it. And then there's also things that speak towards emotion and the state of the union in human interactions. So a fellow, for example, speaks very greatly to the disparity between races and cultural thinking. Romeo and Juliet speaks to love and the emotion surrounding it and what matters in terms of relationships between people, right? You can actually see if you're familiar with the musical West Side Story between the sharks and the jets, a lot was ripped off from Romeo and Juliet or utilized from Romeo and Juliet. But if we look at Mr. Shakespeare here just to touch more, dive a little deeper, here's what we find. And this is kind of cool that if you look at all of the words that were used, there's 800,000 plus words that are within his text. Almost a million words were utilized in his text. Now, here's what's really crazy is if you dive into it a little further, 1700 are new, had never been used before, right? He created a language. That's what he did. As a poet, as an artist of abstraction and metaphor, when the tools available to him didn't meet the expressiveness that he needed, he created his own language to get there. I mean, it's English, but if you've ever read it, it's like, what the hell does that mean, right? But the beautiful thing is, is that when I was looking at these two different things of like Shakespeare as a writer of a code, right, a piece of software, the play and overlapping these and the methods that were used, I was like, okay, wait a second. Okay, so here's what we got. In our code, when we write software, we have a similar sort of situation. We write all this, we write all this language surrounding functionality and this that and the other thing. And, you know, we need to have an opportunity to express that in this way and other way. But we ultimately get down to the situation where we need to create new word forms. And how did he do it? Now, keep this in mind of the close to 900,000 words in his texts, 900,000 spanning over about 50 years worth of time, in that there is almost no stage direction. So this complexity that exists of fight sequences and interactivity and is there a sword involved or is there a man that comes out in a dress and, you know, carries a dog on one hand and all of that complexity is baked into the text itself, right? He doesn't like go, oh yeah, by the way, for you reading this, there's a guy that comes out with a dog, he's actually in a dress, he pulls out a dog and he's doesn't do any of that, right? It's all baked into the text. I was like, well, wait a second. So the individual that literally on a literary level wrote some of the most complex situations that have spit that have persisted over the last 600, 500 years, 500 years. Okay. The individual that did that embedded all of its intention into the text itself. And that's what persists. That's how he explains himself many, many, many years later. So really what it gets down to and to terms that we're maybe a little bit more familiar with is that we get into this, domain specific language, right? And ultimately what a DSL short for represents is that it's defined patterns. There's a shared vocabulary of some kind and there is a consistency amongst the expectations. That would be the goal, right? So we establish some patterns or conventions that are utilized. We share the vocabulary across the platform, at least in these various neighborhoods, as Mike was pointing out. And then we create a consistent expectation that overrides all of that. Now some of you, I know, are not the biggest fan of DSLs out there, right? And that's okay, right? I mean, but the reality is, is that there is a goal there and often, and sometimes, just sometimes it's totally overlooked and it's kind of lost just a little bit. So for those of you that really hate it, hate the term, let's like wipe our mind clean for a moment and we're going to use a different term and it's called expressive conventions, right? So we're going to talk about expressive conventions here, okay? Now again, the convention establishes these expectations, but the goal is to improve communication and ultimately, I think, if we take a 50,000 foot view, or even 100,000 foot view, the most macro level is the ultimate goal is to improve productivity at some level, right? That's our hope that we're going to improve productivity. Now, we kind of define a little bit of what expressive means, right? We get to a handful of meanings, right? And one of those is that it's meaningful, it's demonstrative, it's suggestive, and it's revealing, right? Effectively conveying thought or feeling, right? So if we talk about something that is conveying a mean of meaning that has meaning towards it in its conveyance, it's demonstrative of what it's supposed to do, if it's suggestive of how it works and how to utilize it, and it's ultimately very revealing, then our expressive conventions can translate their way through, and now we're talking to humans, those other humans being other engineers, right? Now, here's the very cool thing, and this is probably why this, why too much expressive convention is criticized is because Ruby in and of itself is incredibly expressive. It's like why do we have to like layer more on top of this, isn't it pretty good already? And I would agree. I would say for the most part that is absolutely true, and this is one of the reasons why I personally, and many of the people that I've met, granted most of them are in the Ruby community, agree that Ruby is a great vehicle for this, simply on the basis that it is incredibly expressive as it sits today, right? And that's an awesome and wonderful thing. Now it comes with pros and cons, of course, some of those may be speed, but you know, as far as I'm concerned, that's something that can get addressed over time, right? So it's the dogmatism over pragmatism of the way in which we do what we do. So, it's time for an action round, ladies and gentlemen, can I have a round of applause for the action round? Come on, round of applause for the action round. This is very good. So, here's what we're going to do. I'm going to need four volunteers, that it is incredibly expand. I've got number two, number three of Mr. Michael Hardo, and number four, all right, come on up, number one, two, three, and four. Very good, very good. Give our volunteers a round of applause. Oh, come on, give them a round of applause. Excellent. Well, I would like to introduce you. Thank you so much for attending the LA Players Club. That's right, the LA Ruby Players Club is a quite unique experience. Today, we're going to be doing a scene for you, and our players here are very excited to be doing such a thing. But before we get started, like any play, one must have costumes. So, before we get too far, first thing we have is the hat of much, of much beauty. Ah, yes, and of course, it comes with the jacket. But for Mr. Sir, you have a jacket. There you are. And then, for the other Sir, we have a two-parter here. Number one is you get a vest. It buttons up, my friend, it buttons up. It matches. We all are a part of the players. But, oh, it comes with more. And can I get a round of applause for Pentaloons! A round of applause for Pentaloons! Pentaloons, my friend. Okay, and then we have a couple more items. Number one is the lady gets to have the green velvet. Yes, yes, the green velvet. And last but not least, she also gets the fully scarf. I know, I know. Not everybody can have the fully scarf, but it's okay. I know, that's right. So, the players! Come on, the players! Now, for those of you who are not overly familiar with Shakespeare, or the time of Shakespeare, I will give you a little bit of how this used to work. Now, at the time, it was actually illegal for women to be on the stage. So 100%, do not kill the talent. So 100% of the roles, male and female, were performed by, other than the animals, were performed by men. But we're licking the slate clean as of today. Now, on top of it, they didn't have things like printing presses that were available. And in general, theater was looked down upon as a cultural form. Now, one of the only reasons why theater, in general, persisted for as long as it did, was because Queen Elizabeth, and the monarchies of the time, loved it. If they didn't love it, it died. And oftentimes, the monarchies would also utilize theater as a means to assert certain propaganda. So, as an example, in certain places such as a fellow, they actually would behead and kill people on stage that were up for execution. This actually would happen. We're not gonna be doing that either, okay. Now, in addition to that, because the printing press was not readily available, the monies involved for acting, similar to today, was very, very sparse. So what would happen would be that every actor would receive what was called a file paper. And a file paper was literally just their part. They didn't get any other roles whatsoever. All they had was on their page a set of lines that represented them. Now, here's what that meant. And this is why as an actor, I'm gonna give you a little bit of acting training as it sits today, there's a common phrase used in acting, which is called acting is reacting, okay. And basically the premise is this, that I react to the things around me. My goal is not just to say my line, my goal is to react to someone else's line or the other state of the union, right. The state of affairs that are going on. Now, I didn't out of, our players are kind of new, they're a little new to this, they're younger. We decided to actually give them all their lines this time. However, they will get their lines. There is a fifth character, I will be playing the fifth character of Tybalt. Give me a round of applause. Thank you. Thank you. Now, here's the rules of our players stage. Number one is our players are required to step forward when they give their line. If they have a, so let's practice this real quick, step forward. Okay, very good, now step back. That's very good. Now step forward, now step back. Now step forward, now step back. Now step forward, now step back. Okay, very good. Give them a round of applause again. Okay. Now, the last thing is this. Anytime you say a line with passion or heart or excitement, you're required anything that's like more than a single line, you're required to lift your hand like this and speak and you're going to have to kind of thrust. It's a thrusting art form, right. And you have to give it with passion. Okay, do that now. Do that now. Yep, very good. Excellent. Okay, and the other thing is you're going to notice that there is reference to a naked weapon. That's a sword. It's a sword, okay. But anytime quarreling happens, you have to thrust forward. Thrust forward, do it now. Thrust forward. Very good. Excellent. Thusting forward. Okay, give them a round of applause for doing really ridiculous things. Okay. All right. Now, the last thing as an actor is you always speak to the very back of the stage, right. The very back of the audience. Another thing that we kind of forget is that oftentimes these plays would be performed for hundreds if not pushing a thousand plus people. Well, there were no microphones. There were nothing of the kind. There was not a lot of science to give us a lot of backing towards things like acoustics and such. So actors were told to project, right. Came from their gut and they would project in these big, eloquent speeches. That's kind of why the art form gets a little made fun of. Anyway, so there you have it. So the players, scene, begin. Kiss well thou art not fish. And thou hath a pen poor John. Draw thy tools. Yes. Here comes two of the house of Montague. Oh, scene just was to react. Oh, Montague, okay. Yes. Marty Nake and Martin is out. Whirl with me. Come on, come on, come on. How I turn thy back and run? Fear me not. Yes. No, Mary. I fear thee. Let us take the law out of our side. Let them begin. Yes. I will frown as I pass by and let them take it as they lift. Yes. Nay, as they dare, I will bite my thumb at John, which is a disgrace by them, if they bear it. Do you bite your thumb at us, sir? Which means fuck you. Sure. I do bite my thumb, sir. Do you bite your thumb at us, sir? Yes. No, sir. I do not bite my thumb at you, sir. But I bite my thumb, sir. Do you quarrel, sir? Quarrel, sir? No, sir. If you do, sir, I implore you. I serve as good man as you. No better. Well, sir. Shave me. No, sir. Shave better. Here comes one of the master's kinsmen. Yes. Better, sir. You lie. Dry, if you be mean. Gregory, remember thy swatching blow. And they fight. And they fight to the death, and to the almost to the death. And then enter Benvolio. What? Tybalt enters. Round of applause for Tybalt. Yes. What, Arthur, drawn amongst these heartless hines? Turn thee, Benvolio, look upon thy death. His men with me. What, drawn? And talk of peace? I hate the word. And I hate hell. All Montague's and thee. How about thee, coward? And we fight to the death. Okay. Very good. Give a round of applause for our players. Give a round of applause. Stand, grounding stand, and give them a pause. Good, okay. Return thy garments to the sack of magic. I can't give you this back, because I put my gum on it. You know, you could have done this before I gave my time. I think you could have walked like this. How awesome that would have been. Well, good thing you didn't steal that, you know. I agree with that. Okay. I think here where you sit. You like your thumb? Yeah. That's right. Okay, while he's undressing in front of everybody, keep the camera rolling. Okay. So the first thing to hit on here is metaphor, right? So the conventions that you utilize a lot throughout Shakespeare and poetry in general is the use of metaphor. We just talked about that. And again, like I mentioned, this is abstraction, right? This is abstracted, expressive telling of things. So here's an example. So I made mention of this, my naked weapon, right? Now, what that's referring to is a handful of things. And if you actually look at it from what it may, to our culture imply, that is actually intentional and true. But it has double meaning, right? And this is kind of a very cool thing about poetry in general. And specifically about Shakespeare, if you get into his text, if you can get through the challenge and the complexity of simply the language and the poetry involved, you can find some really astounding usage where you can see that he's hitting two, three, four birds with one stone, right? So to speak to this very, very briefly. So the naked weapon that's referring to physically is the sword, right? Naked being out of the sheath. However, the other meaning is the one that sort of implies to us, and that is speaking of the phallus, right? Now, the two birds one stone is now what he's saying in this, what he's telling us, not only as an audience, but to the actors and the directors and everybody producing the show, is that this is a bunch of men having a pissing match, right? That's what's happening, right? And he's telling us in three words, very cool, right? Now, if we look at Hamlet, this is one that I think all of us know, or most of us know, it's been translated to quite literally, I think it's like 99% of the languages is to be or not to be. Now, if you don't know, B is to reference towards die or to live, right? So to live or to die is the rough translation of that. However, the reference towards being something is soaked in metaphor, right? I'll give you another one, run through a couple more, is let heaven kiss earth, okay? And let this world no longer be a stage, right? So again, the abstraction, the metaphor is giving multiple meaning and it's telling us through the poetry. Very last is come thick night and pale thee in the dunnest smoke of hell, right? So again, I said this earlier before, but I really wanna hit on this and we can think about this in the software that we engineer is that metaphor or abstraction is declarative by nature and it's a declaration of the reality or the scope or the domain, right? So what was discussed here a little bit earlier and I hope I'm not misinterpreting this, but in Mike's talk is that what we end up with is we end up with this expressiveness that tells a story that ultimately allows us to communicate between objects within our software, right? If we too tightly couple things such as active record to our controllers and we pollute that domain and ultimately we give too much, too many imperative clues in from one area to another, we run into this challenge of one thing, the controller needing to know too much about the way the data model is accessed and compiled, right? So this metaphor allows for that, right? And that is this abstraction that we're kind of talking about, right? Now, the other thing is, is that it leaves clues. This is another very great learning from Shakespeare is that he leaves a lot of clues and this is the one that a lot of people don't know, but I want you to raise your hand if you're familiar with iambic pentameter. That is awesome. Okay, so iambic pentameter for the handful of you that don't know is metered verse, okay? Now, there is a lot of text. Some of them is written in verse or a metered verse. Some of it rhymes, some of it does not rhyme and then there is what is known as just simple prose and prose is like just basic simple prose is like what's coming out of my mouth right now. It's not metered, it has no pattern or no rhyme or rhythm or any of that kind. It's just simply like block text. Think about it that way. But it's very, very rare in Shakespeare's text. So we're gonna take 900,000, approximately 900,000 words. We're gonna take 40 years worth of history and then we're gonna take another 500 years worth of persistent time and we're gonna take 1700 word forms that were thereabouts that were created. We're gonna take however many sonnets exist, 150 or thereabouts and we're gonna say that on top of all of that complexity, he also then applied a meter to it, right? Incredible, like this is why he's known for it. Now, to explain what iambic pentameter is, it's a rhyming scheme where each sonnet line, it consists of 10 syllables, that's the idea. So five feet as it's referred to. So five pairs called an iamb. So an iamb is a pair, okay, and there's five of them. So there you have 10 syllables and it looks something, it interacts like this. So it's ba-boom, ba-boom, ba-boom, ba-boom, ba-boom. Right, that's how it works. That's iambic pentameter and it's like force nature. So if you put it in the context of one of the lines, it would look like this. When I do count the clock that tells the time. And many times you'll actually hear that it's presented, it's said, it's spoken in this fashion, right? It has this metering. But to an actor, what it's, the clues that are being given to us is the importance of any one word over another, right? When I do count, right? When I do this, okay, the clock has meaning that tells the time, it tells this thing, right? Now this is a very simple line, okay? Now this, this was just spoken, so we'll do this. Tis well, thou foul, thou art not fish, if thou hats thou, right? The 10, the 10 beats, right? We can see it right here and we can break it up. And we can see that tis well, thou art not fish, important, if thou hats thou, right? We can see that there's importance on there. Now, here's the clue part. If you look at the last line, it only has nine beats. Now, here's why that matters. Because you'll find in the convention that Shakespeare used, in his text, that he would leave clues such as, that would inform things like discomfort or something very dangerous is about to arrive. And the way in which he would do some of that, if it was not embedded into the text itself, like as used within the language, is that he would literally violate the meter at very particular times. And if you, and the iambic container is based off of the English language and the structure of the English language. So quite literally, by violating it, it quite literally sounds awkward to the ear. And that's what it's meant to do. So by simply removing the last beat off of the end, you end up with the importance, and you can see the tie between, right? Two of the House of Montagues. Now this is a combat of war, like the Bloods and the Crips, right? I mean, like that's the idea. Two opposing gangs, right? So two of the House of Montagues, we're saying that. Now similarly, here's Hamlet's speech. To be or not to be that is the question. What you're gonna see here, is that what he does is a couple of things. And one of the most predominant is he adds a beat. Now, if you look at the poetry of the verse by adding a beat, it has a sense of the feminine, not of women, but of the feminine energy. And simply by doing that, what it does is it puts it into an emotional state, that being the feminine, the emotional state of things. Again, not women, but the feminine, okay? And also you'll see that the emphasis is placed differently. And the way in which we know that, so you see that and question, right? So the beat is inverted on that is. And the way in which we know that is just simply because is and the are diminutive. They don't have much value, right? Okay. Now, you may be thinking this just slightly, right? This is kind of like what it might feel like and you're like, okay, great, thanks, whatever. But, okay, so let's put it into some terms that are similar, right? And this is what ultimately the convention allows us to do, is it allows us to establish a certain convention, right? So we're all familiar with the way this works, right? This is the convention that's been established. It could be anything, but this is the way it's done currently, right? For the most part. Then once we've established the convention, we can violate that convention and establish a new convention, but the translation table stays the same, right? So this matters inside of it. So when we're talking about, let's say, an ever-evolving application where we're constantly adding more, removing some, adding more, removing some, this is the iterative quality that we need to maintain throughout, is that you can't establish a convention, blow it to hell, and then start a new one without having a major hurdle to get over, right? So this is part of the act of iterative development, is to iterate on established conventions and over time you can remove one convention and introduce another or vice versa, okay? And just a couple of simple examples. So here's a just simple example of a convention that exists, right? So belongs to representing singular entities of some kind, has many inside of a Rails app, is gonna be a collection or innumerable of some kind, similar to like an array. Here's another convention that gets established with active record, right? So we have where and happiness as an attribute could range anywhere between eight and 10. Now so let's say for example, here is something that we could do, right? Let's say we were taking our text and we were to convert it into something that could be used, right? So we set up a character object and we create a same method that simply turns around and sends it and uses puts to send the message out, right? So we're creating the convention in terms of establishing what this is or not, I mean, let's not criticize it too much, right? I mean, there's a lot more to it, but similar to along the vein of what Mike was mentioning earlier, maybe this is not exactly the case, but along the same vein is that what we're gonna do is we're gonna abstract out the implementation detail. Now that could get a lot more complicated, but for now it's not, for the sake of communicating the intention, right? So now we basically have a method on the character that gives us the ability to say say, right? So now we've established that we can introduce this, say it really loud, right? Now I know in Ruby, and please don't hate me, but in Ruby the bang method tends to represent a multitude of various things, but just go with me for a second here. But generally the bang method has the implication that it's destructive in some way, shape or form. So this may be what that means, is it just upcases everything and then passes it back along and puts it out again, right? So what we're doing is we're introducing a convention, we're sticking to that convention, we're building on that convention and now as engineers looking at this code base, we can read it and devise more from it, right? And pull more out. Now the very last thing that I'm gonna get into, and unfortunately I'm gonna run out of time to do the last very fun exercise, but that's okay, is harmony or composition. So this is the last sort of component that we're gonna experience a lot. As A&AP grows, we're gonna get to this point where we have a lot of overlapping convention and we need to get to the point of finding harmony, right? And composition by definition illustrates a very similar act, right? So if you look at music, for example, or even within the complexity of a given scene, right? You have interactions between individual characters and then you have interactions between a multitude of characters. But the reality is this, that even when you look at a stage full of five characters, the reality is that it's actually the culmination of interactions between one or two characters at any given time. That's an important distinction, right? So Tybalt enters, there's already four characters on the stage, there's already a multitude of things that have happened, but when Tybalt enters at the end, which was a fantastic performance, by the way, when Tybalt enters at the end, right? He's only paying attention to Benvolio, right? Think about this in the context of our applications, right? We take convention, we layer it and layer it and layer it, but at its root, it's simple interactions between smaller objects or smaller entities, right? When we start to pollute that and we make one object concerned with four other objects and how they interact and the detail embedded in that, we run into problems really fast. And that technical, that's a big deal. Imagine an action realm that was very engaging that you all loved. All right, I love this. I get to do it, no way, that's great. Okay, here's what you're gonna have to do. I'm gonna need the first three rows to pull the first five chairs and stack them up to the right. Do it quickly, we have very little time. Come on, come on, come on. First three rows, stack it up and then when you get to it, I'm gonna need 10 volunteers, 10 volunteers. And those 10, when you're ready, just go ahead and stand, you're gonna, 10 volunteers, whoever it happens to be, you're not gonna have to act, don't worry. But I want you to form a circle right here. Everybody else, they're gonna be standing, so go ahead and stand up, lunch is afterwards, so come on forward, I want everybody to see kind of what's going on. Okay, all right, and go and move it out of the way so we've got some space, some space, some space, space, space. All right, 10 volunteers, one, two, here two, give me a tear, I need 10. Mike, you get to be, come on. The introvert in his cave is no longer. This is very good, okay. Wait, one, two, three, four, five, six, seven, eight, nine, and 10. You tried to avoid me with a lack of eye contact, but ah, sometimes it works, but at last it didn't. Okay, I want you to form a circle right here. Form a circle, okay. So here's what I want you to, so here is the action round for today. Here's a series of balls, okay. Now, here's the rules of the game. The rules of the game are number one, you cannot hold the ball, once you receive it, you have to pass it, you can't pass it back to the person that sent it to you, and the last is that you must pass more than, you must pass it more than one person. Simple as that, so you send me the ball, I have to pass it to somebody else, I can't pass it that way, okay, ready? Simple enough for the game, right? Okay, you ready? There's that one, go ahead. And there's another one. And there's another one. And there's another one. And there's another one. And we'll keep going, and there's another one. And there's another one. And oh, we got a couple more, let's do it again. And there's another one. And there's another one. Okay, keep going. Oh, and these fell out of there, keep going, come on. And these are gonna, right? Because they're the smartest people in the world, and you can't throw a ball, right? Okay, very good, very good. Okay, and hold them, okay. So we're gonna change this. That's right, and give them a round of applause. Ladies and gentlemen, give them a round of applause. All right, so here's how we're going to change this. I want you to, I want, how many balls do we have? One, two, three, four, five, perfect. Actually, I'm gonna pull that one, and that's it. So we'll bring it down to four. So here's what I want you to do. I want three of you to step forward. One, two, and three. Okay, same exercise. Same exercise just between the three of you, and go. And very good, give them a round of applause. Okay, now remember who each other are. All right, and one, two, and three. Do the same thing. Very good, okay, I take a step back. Now remember who the three of you each other are. Who am I still missing? One, two, and three, okay. Four. One, two, and we already got you, right? And you four, okay, so go ahead and hand me that ball. Okay, there you go, and the four of you. Remember who each other are. Very good, and stop. Okay, now step back. So we're gonna do the exact same thing again, but this time the only thing you're gonna focus on is the ball and the group that you were in, okay? That's all you're gonna focus on, right? Don't pay any attention whatsoever to the other balls. Doesn't matter where they're going. I'm gonna throw one more thing in here and a hint is that you don't have to throw the ball, you can roll the ball, right? You can do various things. Now, your only center of focus is the other ball. Don't worry about the other one else. Focus right now. I want you to take a moment, close your eyes. Think of the ball, think of the other people. Very good, everybody's in now. All right, very good. All right, and on the count of three, I'm gonna go one at a time and I'm gonna start with you and everybody else hold the ball and it's just gonna be between you and your group and then I'm gonna go down the line. Okay, ready? And go. And go. And go. It's working! And stop. Okay, and give them another round of applause. Okay, go ahead and put down the balls. Okay, so in its simplicity, here's what it means, is when all you're doing is focusing on the basic simple interactions between two different things, who's sending it to you and who you're gonna send it to and you don't concern yourself with everything else, it gets a heck of a lot easier. The moment we focus on everything else, it complicates things. Let's put this into the context of software and what we do. The same rules apply and this is often what happens in our, is we bake in all this complexity where I have to concern, I'm an object and I have to concern myself with that one and that one and sometimes that one, but only sometimes, maybe once. And he's actually got a knife and he's throwing a knife at me. And then, oh, and there's this other object over here? I didn't even know I had to concern myself with that one. That's what happens, right? And that is in its simplest form, right? These are the smartest people. You are the smartest people we're in Los Angeles of intelligence and it's challenging to throw a simple ball, but the moment in which you isolated down to basic interactions, everything radically changes and it gets easier, okay? One more round of applause. All right, go ahead and take a seat or go and I'm gonna wrap up here. So, in its basic form, what if Shakespeare wrote Ruby? What does that mean? You can sit on the floor too, I think it's relatively flat. And basically it boils down to a couple of things and that is that you establish a convention, you reinforce the convention, right? Your convention of one use case is only beneficial once, right? So, the moment you establish a convention and I think team leaders and those, maybe architects, however you wanted to find it, however it works in your team, think about this, that your responsibility is not just to know the difference between tap and the use case of each against the use case of map, right? That's the sugar on top. What your real responsibility is, is to help it establish and conventions and reinforce those conventions and then once you've done that, and this is why it's a numbered list, then you can layer conventions, right? And once the layering happens, the isolation still exists. I swear he stole this quote. So we often focus on the machines. They think by doing this, the machines will run more effectively, but in fact we need to focus on humans, on how humans care about doing programming. We are the masters, they are the slaves. I swear he did. Anyway, so again as a reminder, language is powerful, right? And the language we use, how we define ourselves, how we think about our software and everything else matters. And you can take it at any extreme you want to, but don't forget these very fundamental principles that guide what we do and frankly make us so important and impactful to the entire world. All right, and this is where my slides are gonna be located. I gave this talk at RailsConf, but it was a little different, so you'll see that there, but I'll make sure those get posted. Again, this is how you'll find me on the interwebs. I am a member of Zeal. If you have any questions I'd love to hear from you. I am an open book and I can't wait to interact. Have a wonderful day, thank you very much.