Okay, so to start out, I just want to ask really quickly, how many of you have actually used Cassandra in an app somewhere? I mean, even just playing with it. So we've got a couple here. How many of you used it with Rails? One or two? Okay, let's see if this works. Okay, so this is a little bit about me real quick. I've been doing Ruby and Rails since 2005. I was doing tech support. I couldn't get my boss to buy us a tool, so I started building one and realized really quickly that management wasn't as fun as coding. So I switched. I went freelance last year. Some of you may listen to some of the podcasts that I do on Teach Me to Code, Ruby Rogues, Avdeez on our panel most of the time, and Rails Coach. So those are a few of the things that I do, and I like to play with that kind of stuff. Now, when I was getting ready to prepare this talk, I have a client, and he came to me and he said, I want a Twitter clone, right? And I looked at him and I said, you know, Twitter isn't making any money. So this probably isn't a great idea. And he explained to me that he had this unique selling proposition. He wanted some of the functionality that Twitter offered, but he didn't want Twitter itself. And I figured that that was probably something that wouldn't kill him. And, you know, he might actually be able to make it work. He had some interesting ways of advertising and stuff on the site. And so I said, go ahead. I'll do it for you. And so he offered to pay me a bunch of money to do it. So then a few months later, you know, we're getting into this, and his brother-in-law is one of the founders of Dentrix, which is dental software, and kind of keeps up on the tech scene. And his brother-in-law said that Twitter was using this NoSQL solution to handle all of its tweets. And so he says, I need a NoSQL solution. And I looked at him and I said, you don't need it now, but you might get to the point where you need it. And he insisted that he wanted it right away. So I was like, okay. So, you know, I said, fine, if that's really what you want, then we'll go ahead and do it. And so he continued to pay me money to work on that. And so then I had this brilliant idea. Well, if I'm going to be learning how to put Cassandra into this Rails app, I may as well talk about it, right? So then a few months ago, like right after I submitted this talk, he comes to me and he says, I really want to get this into beta so I can get people using it. I'm like, okay, well, you've got to cut some stuff out, right? What does he want to cut? The conversion to Cassandra. Okay. So anyway, so this is kind of the conversation. This is kind of the conversation we said. So then I'm thinking, okay, well, I'll just build my own Twitter clone. How many of you are freelancers? How many of you have time for a large project like that? I didn't see any hands. Yeah, me neither. So I've been working on it, but I have a semi-working, it's not completely functional prototype that I cannot show you because there's not a lot to show. I've got the schema worked out. I've got it mostly working, but it's not good enough to really demonstrate here. Anyway, let's talk about Cassandra for a minute. We had a few hands about Cassandra. Most of you know it's a NoSQL solution. Basically, I was first confused by people talking about it as a column-oriented database, and I was like, well, as opposed to what? A row-oriented database? And so I was like, how would that work? Do you just call things different things? And we'll explain the schema here in a minute. But basically, the column-oriented is really just how they think about the data, as opposed to the structure of the database. It was started by Facebook. They open-sourced it in 2008. The Apache Foundation picked it up, and they've been supporting it since, and it's been in kind of this rapid development mode since then. So the whole idea behind Cassandra is you have the cap theorem or Brewer's theorem. And basically, the way that it works is you have availability, consistency, and partitioning or partition tolerance. Availability means that your client can always make a connection and get data back or send data in. Consistency is if I query the database from several different clients, then I will get the same answer back every time. And partitioning is at some point your data is gonna grow so large you can't keep it on one machine. And so if you split it up, how robust is it? Can it stand up to that? If one of the other servers goes down and my hose, things like that. So then what happens is, the theorem is that you can only have two of these or you can only be really good at two of these at a time. You can't have all three. And so your relational databases tend to work more toward the consistency and availability. Most of the NoSQL solutions like MongoDB and Cassandra work more in this area in the availability and partitioning. So why would you use it? How many of you have kids that watch PBS? So you know what this is, right? Super why. Okay. So why would you use Cassandra? I mean what does it give you that maybe a relational database doesn't? Because I hear a lot of people and they're talking like, you know, the SQL solutions are no good or they're dead or you're better off using the NoSQL solutions. And I don't necessarily agree with that. I think it's more about choosing the right tool for the right problem. So why would you want to use something like Cassandra? And basically there are a couple of things that you're going to want to do to use it for. The big one is large deployments. I mean that's why Twitter is talking about using it for their tweets is that they have millions or billions of them. I mean to the point where a lot of the other solutions just can't handle that many records. And so that's what they're doing. If you're doing a lot of writes like for statistics, analytics, things like that, Cassandra works really well for that because it is right optimized. For geographic distributions, it works really well too. You can add any machine or set of machines to a cluster and it has functionality that allows you to replicate an entire cluster off-site. And so there are some reasons there for doing that. And the other thing is if your schema is constantly in flux, if it's changing a lot, then Cassandra's good for you because it doesn't have a set schema. You don't have to change the fields that are on a table. Or in our case, we're going to talk about the schema because it's not database table row like you're used to in relational database. The top level is a key space. And you can think of a key space as kind of a hash.  Okay. And inside of the key space, I keep pointing it at the screen and it doesn't work, you have a column family. And the column family again is like a hash. So the key space really, it just manages the consistency levels for that set of data. And then the column family has keys that give you a reference to your row. And so you can think of the database rows in Cassandra the same way you would kind of think about them in a relational database. That's your record. The main difference is that you have the columns. So your columns, a column is just a key and a value. And so in your hash, you have your key value pair and that is a column, both of those, not just the value. And that's how they manage the data. They sort the columns and they sort the rows. And we'll talk about that in a second here. So all of your queries occur by the key. So if you're looking something up, you're going to look it up by the key, just like you would in a hash. So your keys are unique. And one thing that I figured out really quickly around Cassandra was that when you're setting up your queries, you're not querying against some table that has all the information that you can look things up by. Because again, you can only look things up by one key at a time. So what you wind up doing is you wind up deciding what you need to query. So for example, in the case of Twitter, you might be thinking, okay, well, I need all of the tweets for user X. And so what you do is you have your table and your key is your user so that you can look it up by user or you could also look it up in your tweets, call in family, and then you can set up a secondary key and you have secondary keys since Cassandra 0.7. So then you just look it up on the user, or the user identifier secondary key.  But like I said before, it's all pre-sorted, so you can't do ordering because the ordering is already done in the database. It's kind of optimized that way. So it's not uncommon for people to set up an entire column family for one query. So if I'm going to be looking things up, like the tweets, if I'm going to look them up by hashtag or by user ID or if I'm indexing certain words out of them or things like that, then I may have column families for each one that have their key for whatever I'm looking it up by. And then the values inside are the identifiers for the tweets that I can pull them all out at once. Really, your CRUD operations, you have four of them, and I've found that it's easier to deal with things on the level of the Cassandra gem as opposed to trying to deal with things on the level of the Cassandra CLI because Cassandra converts everything to byte arrays. And so when you get it back, you get a set of numbers. That's not very useful, but the Cassandra gem will actually serialize it for you and give it to you in a way that you can read. There are a few methods that you use. There's get, and you just pass it the column family and then the key, and you can actually pass it the key for the column you want to, and it'll just give you back the one value. There's multi-get, and what you do there is you give it the column family and a set of keys, and it gives you all of the records back. You get them back as ordered hashes. And then there's remove. You also have insert, and insert is both create and update. So if you're concerned about overwriting data, then you have to do the check on your own to make sure that it's not already in there. So here we're going to talk about scaling, and I was sitting next to T. Where are you, T? And he thought that this was a good idea for scaling. So, yeah. You can follow him at Tparum. But anyway, so scaling, when we're talking about like replication, data replication across the cluster, there are a few things that you can do to make this work. If you just have one Cassandra server, you're kind of defeating the purpose because the whole idea is that you can partition your data.  And the replication factor is set up in your schema on your key space. And what that does is it tells it how many copies of your data to keep in the cluster. And it does all this automatically. So if you write something up to the database, then it will go ahead and send that up to, you know, two or three or four or however many other servers are in the cluster. And that way you have multiple copies. So if one node goes down in the cluster, you have the other three or four that you can still do queries to, and you can get the information back. The other number, there are two magic numbers to this, and this one is more for consistency, which is one of the C in the cap theorem, the one that we ignored when we were talking about Cassandra. And you can tune this so that you effectively, on your query, I want this to have a consistency factor of three. And let's say you have a replication factor of four. Then what that does is it tells Cassandra that you don't trust the answer until three of the nodes that have that information have responded back and said this is the right answer. And it will then reconcile all of that on the read and make sure that it all works. The trade-off is if you have, let's say you have a replication factor of four and a consistency factor of four, that means that it has to check all of the records and make sure that they fit and that'll slow down your reads. So you wind up trading efficiency for consistency. And it does do all of the eventual consistency stuff for you. So as long as you get kind of a majority support, then it'll work. But if you use the consistency factor when you write and set that to a consistency factor of three, then it will wait on the right two until it gets three responses saying yes, I have it. So your consistency factor basically says this is how concerned I am, this data is correct and this is how I want it verified. So Ruby and Cassandra, there are several things that you're going to learn if you start looking into this. There is a Cassandra gem, it works really well. I've been really happy with it.  I'm sorry if any of you work on that, I think it's ugly. But at the same time, it reflects the Thrift API. And so if you think about the job that it's doing, that may be appropriate. So it just depends. But I found that it was a little bit inconvenient. So I wound up writing an ORM that kind of sits on top of it. So these are some of the ORMs that are out there. I started looking for ORMs when I started preparing for this talk after I started writing my own. And as far as that goes, that's something that I highly recommend that you all try. If you have some kind of technology that you like, that you want to learn, then I highly recommend that you take the opportunity to do an exercise like this, you know, figure this kind of stuff out because you start learning about not only how these systems work, but you start learning about how to write good code and how to write good code that does certain things, get a clean API and things like that. So the one that I started writing was Cassandra. And I put build then look because that's what I did. I started building one and then I went out and saw that there were other ones out there. I'm using Active Model. How many of you out here have used Active Model in some way? How many of you have used Rails? Rails 3. Then you're using Active Model because they took all the good stuff out of Active Record and they put it in Active Model. So far I'm doing validations and I don't even remember what else I pulled in, but there were a few other things that I had to pull in to make it work. Using the Cassandra gem, and I've been learning a ton about API design, just trying to make this work cleanly. So why an ORM? And this is where I get into the code. So the red is what you have to do with the Cassandra gem to make it work. And you'll see right over here, this is something that took me forever to figure out, is that in order to define a column family, you have to use the Cassandra thrift gem and create a CFDef object, and then you pass that into the Cassandra gem in order to get a new column family, which is really awful. And so this is what I came up with and the migrations are going to be really simple because you don't have to do anything with fields, so really it's just creating and modifying column families and key spaces. So you have a key space, and then once you have the key space, then you create a column family, and you're good. So here's another example, and this is more along the lines of doing an insert. So you have an insert, you give it the column family, you give it the key, and then you tell it what data to stick in there. Now, the problem with insert, like I said, is that it'll overwrite something if it's there, and by overwrite, I mean, since it's column oriented, it'll replace the data on the column. So if there's another column that's not listed in this hash up here at the top, then it won't touch it. It'll just stay there and it'll leave the value the same. So it's effectively just updating the attributes that you send in. And you can remove them with a remove command. You can actually remove all the way down to the data level so you can remove a column out of a row with a remove command. So anyway, so what I wanted is I wanted something like this, and this should look pretty familiar because it looks like rails. And so that's kind of what I've been working on, is something that'll look like that. Now, you do have to keep in mind, though, that at the top there's no way of knowing if that's an update or a create. So you have to build that in when you're dealing with it if you don't want it to clobber other data. So a few considerations here. When I was building the ORM as a schema list, right? So if I want my classes to be free-form as far as the attributes go, then I could use method missing. The problem is that if I reflect on the class or reflect on the object, it won't show any of those methods. It won't show me that I can change any of that. The other problem that you have is that if you have method missing, then you can't name any of your attributes after any other methods that exist. So you could name attributes when you instantiate your objects, so you could just create them based on the keys that are already there, or you can tell your class ahead of time, you know, I'm gonna be dealing with these attributes and then have the class set up the instance methods for you. And that's what I opted to do. I opted to just, when you set it up, you just tell it, I have an attribute named this, and make it work. And anyway, so these slides are a little bit out of order, but we had a talk yesterday about APIs. And, you know, the main things for me with the APIs is I wanted them to be pretty. Anthony lives in France, so I had to use a beret. I usually use a sombrero, and I want it to look a lot like rails or work well with rails. So that's kind of the approach that I took, and it's been working out really well. And, you know, the API is really simple because you're dealing with just, you know, get, insert, and remove. So it's made it really easy to kind of build an ORM around that and make it work. And the scaling is really encouraging. So that's pretty much all that I have. If you want to get ahold of me, you can. If you have a phone that'll take a picture of that, then you can get all the information on the left out of the, what do they call those things? QR codes. So I really like getting input back from people. So if you go to speakeraid.com, I think Marty's been talking about that. I would really appreciate it, you know, any thoughts. If I'd known I'd had more time, I would have put more code in. But anyway, if you want to listen to any of the podcasts that I'm involved with, teach me to code.com, rubyrobes.com, and railscoach.com are the ones that I'm doing right now. I'm pretty sure we have a few minutes for questions. So, are there any questions about Cassandra? Well, that's the nice thing about the schema with databases is that if you're changing a column, you just add it in. So he's asking me about, so you're asking about secondary indexes, for example. So if you want to add a secondary index, then theoretically you want to have data there for it to index, right? If you're trying to be consistent with your data, then all you really need to do is add the index to that column. If the column doesn't exist, it won't index it. Because, I don't know if I can scroll back, but if you look at the schema example, basically the rows aren't constrained to have any particular column. Let me see if I can go back. So each row can have an arbitrary number of columns with arbitrary keys to any of them. And so you can index them based on whatever. And the secondary key is the only key that's required is the key that references the row in the column panel. And so any of the other values that you stick into the row, they can have any value they want, they can have any key they want. One cool thing about Cassandra is that your keys don't have to be strings. They can be time objects, they can be numbers, they can be whatever. As long as Cassandra has a type that corresponds to it. And then you can set it up to sort. And that's one thing that I missed, talking about it was in my notes, but Cassandra sorts your keys. And so it'll sort all of your rows by the key. And that's preset. So if you want something in a different order, then what you wind up doing is you'll probably wind up creating another column family or setting up some kind of secondary key that does that for you. That's ordered differently. You just set up the column family and then when you do the creation, you just make sure your callbacks create the records in both places. And so usually what I would do is I would set up a column family that's like my master list and sort that by the thing that I would be ordering it by most frequently. And then I'll set up another column family. And what that will do is that key will be sorted by whatever I want it sorted by and it'll just have a reference. So it'll have one column in it and that column will have just the key and the key is the reference. So then it can say, okay, what are my keys? I want those. And you can also do super column families, which basically you have a column family. It's a column family, but it has two levels deep. So its row is a hash and then that hash has each of those hashes have columns in it. And so you can set up some of the sorting that way too. Any other questions? Okay, so Jeff just pointed out that Koala just released a chronologic, which is a Ruby and Cassandra project that, what did you say? It manages some kind of timeline management. Cool, sounds great. I always like seeing code samples like that. So are there any other questions?


Hi children, my name is Mansi and I am going to help you solve the following question. The question says prove the following by using the principle of mathematical induction for all n belonging to natural numbers 1 divided by 1 into 4 plus 1 divided by 4 into 7 plus 1 divided by 7 into 10 up till 1 divided by 3n minus 2 into 3n plus 1 is equal to n divided by 3n plus 1. In this question, we need to prove by using the principle of mathematical induction. Now before proving this, we see the key idea behind the question. We know that the principle of mathematical induction is a specific technique which is used to prove certain statements that are formulated in terms of n where n is a positive integer. The principle can be explained with the help of two properties. If there is a given statement at n such that first p at 1 is true and second if statement is true for n equal to k where k is some positive integer at k is true then statement at k plus 1 is also true for n equal to k plus 1 then p at n is true for all natural numbers n. Using these two properties, we will show that statement is true for n equal to 1 then assume it is true for n equal to k then we prove it is also true for n equal to k plus 1 hence proving that it is true for all n belonging to natural numbers. Now we start with the solution to this question. We have to prove that 1 upon 1 into 4 plus 1 upon 4 into 7 plus 1 upon 7 into 10 and so on till 1 upon 3n minus 2 into 3n plus 1 is equal to n upon 3n plus 1. Now let p at n be 1 divided by 1 into 4 plus 1 divided by 4 into 7 up till 1 divided by 3n minus 2 into 3n plus 1 let this be equal to n upon 3n plus 1. Now putting n equal to 1 p at 1 becomes 1 divided by 1 into 4 that is equal to 1 upon 4 that is equal to 1 upon 3 into 1 plus 1 and this is true. Now assuming that p at k is true p at k is 1 upon 1 into 4 plus 1 upon 4 into 7 plus 1 upon 7 into 10 up till 1 upon 3k minus 2 into 3k plus 1 and this is equal to k upon 3k plus 1 and this becomes the first equation.     Now adding the two expressions we get k into 3k plus 4 plus 1 divided by 3k plus 1 into 3k plus 4. This is equal to 3k square plus 4k plus 1 divided by 3k plus 1 into 3k plus 4. As 3k square plus 4k plus 1 is equal to 3k plus 1 into k plus 1 therefore this expression reduces to 3k plus 1 into k plus 1 divided by 3k plus 1 into 3k plus 4. Now we see that 3k plus 1 is common in numerator and denominator so they get cancelled and we get k plus 1 divided by 3k plus 4. Writing this result in terms of k plus 1 we get k plus 1 divided by 3 times k plus 1 plus 1. This is same as p at k plus 1 thus p at k plus 1 is true wherever p at k is true. Hence from the principle of mathematical induction the statement p at n is true for all natural numbers n hence proved. I hope you understood the question and enjoyed the session. Goodbye.


Okay, all of that is set up as a sale. I had to sell my wife, would you like to dance? I had to sell my wife on, can I get your phone number? I had to sell my wife on, you should go out on a date with me. My kids are selling me every day. Daddy, can I watch a movie? Daddy, can I have some ice cream? Daddy, can we go to Disneyland? Everything is a sale. What's up everybody and welcome to the show today. We drop great content each and every week and we wanna make sure that you guys get notified and in order to do that you're gonna have to smash that subscribe button and hit that notification bell and if you've gotten a lot of value out of this make sure you give us a like and share our videos with your friends. So, Wes Schaefer of the Cells Whisperer podcast. How are you doing? Did I have that right Wes? We'll have this edited. Mostly right, it's the sales podcast but you know, I am the sales whipperer so it's all together man. Oh no, we gotta keep that in man cause it shows that you're human. Everybody sees you so perfect but every now and then once in a while you make a mistake, huh? Yeah, every once in a while, we gotta. Just by your first and only one of all of 2021. We keep a log and then at the end of the year AJ gets to hit me upside the head for everyone that we got. Yeah, a lot of hits coming this year. So how did you get started in sales, Wes? Oh man, I was a secret agent in the Air Force. They trained me to be this fancy sales person, man. It was like this top secret. It's more top secret than UFOs in Area 51. You probably didn't even know the Air Force had a sales division, did you? You didn't, you didn't. That's how secret it was. But yeah, I was in the Air Force, man and I got out in 97 because I wanted to be paid according to my production, you know? Not just time in grade, time in service. And, you know, I'd been married at that time. We're going on 26 years now so we were married right at two years. We had a baby. We had another one on the way that we didn't know about and I left. I resigned my commission and I was a captain in the Air Force and jumped into commission sales. You know, it's interesting. I think all of us go through a awakening in our lives, or at least some of us, and for everyone else, could come as well. But that idea of when you're working for somebody else, they're setting the wage of what you were worth and then you're like, wait a minute, other people make way more money than I do in an hour because they were setting what their work was worth. And that becomes, the minute you switch that frame, then you begin looking for different and new opportunities. Yeah, and it's, I think, being a W-2 employee, at least in sales, and it may be across the board, but I mean, my world's always been sales.   I mean, it's like, you know, I've had over 500 interviews on the sales podcast and talked to a lot of good people with a lot of good stories and a lot of them, you know, went out on their own, but they did it after building a foundation, right? Paying off debt, saving up to make that launch. So, you know, that W-2 job can be a good thing. I think everything has a trade-off. I think what happens is we show up to work and we're not truly passionate about it. So we're not focused on it. So we're not focused on it. We're not producing all that we can, we don't produce all that we can. So we gotta stay later, blah, blah, blah, to catch up on what we should have been doing. We could have done if we truly focused for eight hours. And now we're like, I give my company all of my life, I'll get there early and I stay late and I miss dinner with the family. I gotta be out on my own to be fulfilled. Well, maybe you just need to focus.   And maybe that other thing is to launch your own thing. Okay, but maybe not. But, you know, like they say, multitasking is the art of doing multiple things poorly. All right? Absolutely. I think we could all benefit from a little more focus on what the hell we're working on. Well, that certainly brings up a point in sales that if you are gonna go out on your own, one of the things that you're gonna have to do is to sell your value, sell your abilities, bring awareness to what you're able to do. And number one, it's about creating content, right? Creating things for people to be able to see and put value upon. Then two, being able to promote the things that you're able to create and then third, to capitalize on that creativity of selling those product services or ideas. And with those three things, if picking up sales gives you an opportunity to not only sell yourself, but sell for anybody. It is a skill that is transferable into anywhere that you're gonna go. Well, the biggest misnomer I hear from people, oh, I'm not in sales. Like, we're all in sales all the time, okay? It's like poker. If you're sitting at the table, you don't know who the chump is, then it's you. Okay. Yeah.  Well, you gotta, you know, stand in the way, approach, you know, stand in line, approach the hostess, put your name on. Oh, he's 45 minutes. Please go stand in the corner. We'll call you when we're ready for you. You know, then you're seated and the menu is presented in a certain way. And oh, oh, happy hour prices are only available if you're in the bar, not over here. Oh, you wanna substitute a salad for the fries? It's an extra $1.99, they're selling you. Okay, all of that is set up as a sale. I had to sell my wife. Would you like to dance? I had to sell my wife on, can I get your phone number? I had to sell my wife on. You should go out on a date with me. My kids are selling me every day. Daddy, can I watch a movie? Daddy, can I have some ice cream? Daddy, can we go to Disneyland? Everything is a sale. Okay, a sale is, hey, read my headline. Follow me on Instagram, open my email, subscribe to my newsletter, everything is a sale. Hey, boss, I need an extra dollar per hour. Why? Sell me on that. Everything is a sale. Okay, and once you understand that, life gets a whole lot easier. Well, I think it's important to realize that sales is a skill set. It's not a single skill.  And a lot of what you're talking about is what we see in pop culture and the way that sales is depicted, which often leads a bad taste in our mouth, thinking that it's manipulative. It's memorizing a script. It's forcing people, manipulating people to take action into something. When actually sales is a lot more subtle than that and it's a confluence of a lot of skills that you have to balance in any conversation, whether you're selling yourself, you're selling a product or a service. And we recommend everyone in our audience, when you're starting out in your career, you should take on a sales job.  And many of us haven't had that experience. And I think from your earlier point, if you are in a W-2 role right now, what skills are you acquiring along with that paycheck? If all you're doing at the end of the week is counting the dollars earned, and you can't wait to go hang out with your friends and spend those dollars earned and you're not taking into consideration the skills that are coming along with those earnings, well, you're gonna fall behind those who are getting ahead and realize that the set of skills of sales, as we're gonna break down here, is important in every single aspect of your life, dating, relationships, and business. Well, certainly, and you brought up your wife, we were talking about the restaurant and people tend, when they hear the idea of sales, they tend to think that it's a transaction where money is present. And that's not necessarily, that's just, well, it's one aspect of sales. Sometimes you're just trying to persuade people on ideas. You're persuading them to get involved in a group, in a project. So, I think when we talk about sales, there's a dollar sign that goes above it, but the actuality, it's root cause, it's root base is persuasion. Persuading you that what I have is worth this much money or persuading you that this is a great idea that you need to adopt or persuading you that I'm the person that you should be going to dinner with and that you, we should be having a transaction of time, of effort.  We drop great content each and every week and we wanna make sure that you guys get notified and in order to do that, you're gonna have to smash that subscribe button and hit that notification bell. And if you've gotten a lot of value out of this, make sure you give us a like and share our videos with your friends. When two people meet, right, in a sale setting, you know, maybe you come to Best Buy on the salesman and like, I see what you got, you got an older iPhone. Well, it's pretty safe bet that you probably wanna stick with an iPhone, but I'm still not gonna assume that.  Cause maybe it's not for you. Maybe it's for your kid, right?  She gets a U7, okay? So I'm not going to assume. So like, hey, you're welcome to the store. How can I help you?  You know what, I'm not considering iPhones. Fantastic, it's just for you or for someone else. Yeah, actually it's for me. What do you have now? Oh, I've been sticking with an A, still got an A, okay? You wanna go with an 11? Kinda stayed kind of just one step below or do you wanna make a leapfrog all the way to the latest and greatest? I don't know, what's the benefits? So I'm asking questions, right? Always be concise, always be curious. Our new ABCs of selling. I'm curious, I'm courteous, always be courteous. Welcome, thank you for coming in. What brings you in today? So now we get to talking. Now I understand what's driving things. Oh, your business has changed, you've got a new job, you've launched a new podcast, you're doing more live streaming, more video. Oh, you need better resolution, you need more stability for the camera. Oh, okay, well, so now I'm gonna talk about stability and resolution and upload speeds and all that good stuff. You're like, oh yeah, I need that thing. Right, so am I persuasive? Yeah, am I manipulative? No, I'm just asking you the question, how are you going to use this thing?  Well, she's been a good kid, she's COVID, she made good grades, despite all that, I just wanted to kind of give her a little thank you, a little appreciation, oh, fantastic, you know. The 11 pro is just about as good, especially for a teenager, and you're gonna save 45%.  Oh, and by the way, if you trade one in, you know, you can get another one as well, and get 50% off of that, what, what? So now I'm selling two phones, now it's easy to sell the cases, the extra warranty, blah, blah, blah. So I downsold you to upsell you, and everybody wins, is that persuasive? Okay, whatever word you wanna use, was it helpful? Yes. Absolutely.  I've always said that the difference between influence, persuasion, and manipulation is going to be the intent behind it, and everyone needs to get comfortable with asking what the idea of this intent is, or what your intent is, but also understanding that, but not assuming what other people's intent is, just having an understanding of what yours is, because on face value, a lot of those tactics are going to look the same, but it does come down to the intent of it. Would somebody who knows they can help somebody be a bit manipulative to sell something that they know is a solution, their problem?  You know, we've learned it from the best, and they wanted the best for us, and then on a longer scale, they know that those lessons, though there might have been some manipulation behind it, you're going to be a better person for that, and so at the end of the day, we need to take responsibility for ourselves, for what we want, how we're going about it, and I think the minute you get into these moral quandaries, rather than asking the questions and getting the answers, I think people get a little bit nervous of what they might find, so they just back out and they say, well, sells isn't for me because I'm not that kind of guy. What do you mean you're not that kind of guy? You don't like helping people, you don't like solving their problems? That's all it is, right? And you know, you're talking about your parents, your parents know they have the long-term vision, right? They know where they want to shape you and mold you as a human being for life, right? And as salespeople, it's like, well, I got to maximize my earnings, I got to push them to get the 12 pro max and the case and the extended warranty. It's like, okay, yes, you do need to maximize earnings for the company, for yourself, for your family, okay? But maximize earnings over what timeframe, over that 30 minutes interaction or over your three or 10 or 30 year career with the company, okay?  Man, I'm leaving best buy. I just got West Shaffer, he was the man, he didn't push me, he helped me, he showed me all the deals, the bargains, he saved me, I was willing to pay $2,000, I walked out of there for $1,800, he saved me $200, come down the best buy, ask for West, tell him Johnny sent you, next thing I know, I'm making all these sales, because they're super easy because I left a little meat on the bone, right? I didn't go for that last drop, but I've created my own little acronym, right? ABCDE, sticking with the ABCs, right?  And funnels and pipelines are fine as a part of understanding your systems and your timing and your stages, so that's all, they're decent as a component. The problem is, they're one direction, right? The pipeline shoving it in from the left, it spits out the right. A funnel, a funnel in the top comes out the bottom. When I made the ABCDE, I put it in a circle, like around a clock and you're just going clockwise and you're going from attracting people to you, you attract them with the podcast, you attract them with maybe it's an ad, right? Driving them to a free reporter, opting for a webinar. Okay, now you bond with them, multimedia, multi-step.  Connect with them, meet them where they are. You try to call me, good luck with that. You shoot me a message on LinkedIn, I'll answer it.  You better mail her a letter, right? She'll read a letter. So multimedia, multi-step. And then, so the third point is the cash, the clothes, the client, okay? So five steps, A, B, C, D, E. Professional salespeople understand that the cash is only the midway point of the relationship, okay? You come into my store and I sell you that phone, most people think that's the end game. I gotta get as much money from Johnny as I can because I'm never gonna see him again. All buyers are liars. If they're, how do you know if they're lying? Their lips are moving. I'm just gonna take as much money as I can from this guy and that's it. But in today's world, right? Social media and reviews, you know?  Yeah, you'll walk out of there. Yeah, I got my phone. You're like, one star review. Wes was the pushiest guy. I would never do business with him ever again. You know what? I may even just return this stuff even though it's a hassle. I'm gonna pay more across the street because he just treated me wrong. So professional salespeople understand that the cash, it's the equivalent of a wedding, right? When we had our wedding ceremony, September 30th, 1995, was the relationship over? Was that the goal? Just to say I do? Or is that really when the relationship began, right? Because all the way up until I do, we could unwind things, right? And obviously you can unwind it afterward. It's just a lot more painful and a lot more expensive. So at the moment we say I do, that's really when the relationship begins. So professional salespeople, again, going through the cycle, they understand it. Now we're moving up towards the seven or eight o'clock position. Now we delight, right? We deliver that wow experience. So Johnny buys that phone from me and I just, when nobody's looking, or it's like, hey, you know what? There's a sale on these cases. And if I wouldn't get one, you know, it's a free case, you just gotta mail it in here. And I'll mail it in for you. I'll rip the coupon off and mail it in for you. What, what? I'll give you a free case. Hey, here's the free charger. It was an open box, you know, it's just taken. Let me, I'm gonna include it with you. What, what? So now you're singing my praises because I delight, I delivered a wow experience. Now I've endeared myself to you. Now we're back up to the 12 o'clock.  I just left the store, Wes is the best, what are you doing? You're attracting people for me. Right, so we're back to the attraction phase. And now it gets simpler and faster and easier. Now they come walking in. Hey, can I help you? Are you Wes? No, I'm not Wes. I'm looking for Wes, because Johnny said you're the man. Next thing I know, I've got a line out the door.  I'm like, well, maybe you suck, you know, but I digress. That's an important point in all of this, that the goal is not just to get a single purchase. You're gonna need a new phone. You're gonna need a new car. You're gonna need another program. You might need some more training. There's always opportunity for more if you take a relationship approach to sales. Where you are actually genuinely helping this person. You're looking out for their best interests, not your own bottom line's best interests. And when you do that, you build an immense amount of trust, which then leads to referrals, leads to repeat business, leads to people singing your praises, word of mouth. And those are the intangibles that, and I wanted to ask you this, you know, what has shifted in this marketplace, those are the intangibles that lead to the sales that so many are missing out on. Because as you said, people are more informed than ever. Word of mouth is a channel they look at, reviews, Yelp ratings, all of those things online to kick the tires to see what you're about and do you have the checkbox next to the trust that I need to do that transaction with you?  Wham, bam, see you later. Then all of a sudden, the next month, you're missing your quota and you're dragging and you're wondering, man, why am I not hitting these things any longer? Because you didn't take the long enough perspective that our parents take when thinking about us. It's not about solving those short-term pains.