Hello and welcome to a reading vlog. You know this isn't super on-brand for me. Me who has skulls and crows and blah blah blah but this mug gives me so much joy. It was kind of an indulgent purchase but it gives me so much joy. I don't even like sweets and it's covered in little cookies but every time I look at it my day gets just a little bit brighter. Worth it I think so. I also have been drinking a lot more raspberry coffee ever since getting this mug. I think because all the jammy dodgers on it make me think that it needs to taste like raspberry. And I didn't even. That's what's bringing me joy lately. Thought I'd share but what am I reading? I have finished a lot of what was on my TBR but I have a couple things left by which I mean three even though a couple means two. Don't tell my dad because my dad's one of those people that will say a couple and then when someone wants to know how many he means he screams that a couple means two. Except for when he says it casually and then you give him two and he's like well I meant more and I'm like well you said a couple so. So yeah this is what I'm working on right now. I'm almost done with my third read of Six of Crows so I'll probably read that during this vlog. I need to read Winter of the Witch because me and Bethany are buddy reading it and she's already been reading it but slowly. So probably honestly my plan is low key to read this all day today. Did I say this this is gonna be a weekend reading vlog? Today is Saturday. I don't think I said anything. It's been a while since I've vlogged. Don't know how to do this anymore. Today is Saturday. Tomorrow is Sunday. I'm vlogging today and tomorrow. Today will be a reading day. Tomorrow is a filming day. I didn't film it all last weekend because I got my second dose of my vaccine and it really knocked me out for like 48 hours so no filming occurred. So I have some catching up to do. I can't not film this weekend. Anyway so yeah. I'm hoping to devote most of today to reading and then a big chunk of tomorrow to filming videos and then also getting some reading done. So anyway hoping to spend most of today reading this or at least until I finish it so that I can catch up to Bethany and then I split this. This is the patron buddy read for May and for our tat in the Discord I split it into six chunks and I've read the first chunk so I'd like to read the next two chunks so I can be like halfway through. That's a good goal so that I have the rest of the coming week to finish it and then I have it at all touched sort of cry again which is supposed to be buddy reading with my dad but he read it way ahead of time. So I think it only fair that I read it late. I mean that's actually not why. It's just basically I keep forgetting about it because I don't know if it's a copy of it so if I don't have it in front of me. Uh anyway yeah I kept looking at my study. I was like oh I'm almost done reading everything.  These are the four books that I will be reading some part of today and tomorrow but today as I said this is today's goal winter of the witch let's fucking do it to take your mind for happiness so strange she said you were here to part but you wrote me sweating I wonder why you didn't ask she was sleeping in the she's gotta get to class all day if they find out if you could take it all I haven't checked in with you like verbally since this morning I keep I mean I guess I make good progress um not as good as I was hoping because I keep stopping and not because it's bad I'm actually really loving it but I went to bed really late last night watching Fringe as one of the rewatching Fringe um I haven't been like sleepy enough to take a nap but I've been kind of like I don't know you know how it is when you are running on low sleep like you're awake you're not sleepy but you're not firing on all cylinders please be quiet out there I keep changing my clothes too which like maybe you've seen I don't know how much of me has been visible next time you see me I'll probably be wearing you had a different outfit um anyway I'm hungry hence me eating now I haven't food shopped in the month I considered ordering pizza I'm not gonna lie very nearly did there's currently a pizza I'm in my cart on whichever app I was using door dash post me who knows it's like no be a good girl you have food so I cobble together a bowl of stuff right so are you shitting me can you not what are you doing out there anyway yes winter of the witch and loving it it's really good third book in a series so I can't say too much this is a great chicken I'm totally so good I'm just hungry I think why did I want why did I decide to check in while eating why didn't I just eat a net chicken yeah so I am like a third of the way through is that a quarter a third a third yeah that's definitely a third month page 128 which I mean considering how often I've stopped to watch youtube videos or make snacks or change my clothes I think that's pretty okay I do think honestly that I can finish this book today I originally thought I could finish this book and finish Six of Crows that is looking less likely unless this amazing bowl of food that I cobble together gives me that second wind or I finally take a nap there is a little mushroom character that I am living for he was only just introduced and I'm squealing a lot over the little mushroom and it's quite fierce I love it so much it weirdly made me crave mushrooms which like I don't want to eat him but in fairness he gathered mushrooms for Vasia to eat so like I don't I'm not going to dig too deep into the like the cannibals and vibes of that it's very cute I am hooked and curious and quite enjoyed and I will finish it today I'd say that now I mean next time I check in on how many in my gym jams saying hey I didn't finish it see you tomorrow it's quarter to midnight and I finished the book I made such good progress um after my last check in and then I got a bit cocky and watched thought I had time to watch a couple of youtube videos and a couple turned into several and turned into many don't know where the time went and for some reason even though it happens every year the sun setting later later completely fucked with me I like I thought it was five and I checked my watch and it was like quarter to eight and I was like anyway I finished the book just in the nick of time obviously not gonna be finishing six of crows tonight smelling the cards did change my outfit again as promised I'm very tired I didn't like this as much as the first two I give this four stars you have the first two each five stars I was so it was good but uh I was thinking to myself about what I was gonna say I checked in and now I've forgotten everything um what any event um I felt like this book dragged a bit I'm realizing now that the thing that I was thinking of saying I can't really say because it's spoilery and there's no real way to be vague like even if I'm vague about it can't help it is there a way to kind of say it a certain thing was resolved like two-thirds through the book we should have this whole whole third where like this thing had already been resolved and now we just like have more stuff happening that I just like don't care that as much about and I don't think anyone cares that much about because like I think that was a bigger deal was already resolved so like the plot is ours nothing like this kind of like game of thrones when like the night king was like taking care of in season eight and towards the beginning of season eight and we were like but what are we doing for the rest of the season it was like kind of like that and like there's a very specific reason why that had to happen when it did unlike with game of thrones where you're just like why that had to happen in order for other things to happen I got to get that nevertheless the the book hadn't done a good enough job getting you or me or whoever invested in this other stuff then that would be the only thing left to care about after the thing that I personally was most invested in was already taken care of so again I get why but then you needed to get me to buy in to the next bit and you didn't feel like that sounds really harsh I didn't like it I gave it more stars but the first two were better girl in the tower might be my favorite but then no one is surprised who's most of the time second book in a trilogy nearly always is my favorite okay I think it's time to go to sleep I'll see you tomorrow Sunday uh which began in a bit of a rush because I had to wash all my dishes make coffee and settle in for the premiere of Mara's Jane Eyre essay which I've been eagerly anticipating so it is already 10 30 fml for the long video essay worth the watch highly recommend oh my god it's been quiet out there are you serious are you freaking serious right now okay so I've got to film videos today I'm gonna have to prep for some of them which is not a thing that I ever do I usually just turn a camera on and start talking and hope for the best and I'm not scripting anything but I do need to prepare a little tiny bit of notes and lists for filming today and the day is is a wasting so I need to do that and then film the videos and then when I'm done with all that then then I might be able to like finish Six of Crows or something fun like that don't know I mean Six of Crows I'm reading just for shits and giggles it is not required reading this month not that any of booktube is required so I should be reading this I want to read Six of Crows story of my life um yeah okay so I have to do my notes stuff put makeup on so that I'm ready for the camera unlike now you're welcome and film videos how many do I need to film for also I keep writing tbr's for June and then every single like list has forgotten something I'm trying to compile the the true final list because I keep like this will have like these specific buddy reads and commitments on it but I missed one then I make a fresh list and it has it has the one that I missed but it it forgot one of the ones in the first list uh I think I'm finally have a list that has them all on there I have a lot of commitments in June I don't know why I thought earlier this month it's like June I'll just kind of like read whatever I feel like and then I started writing down on my commitments and I'll play what else am I filming to there a list video a discussion video an overview video probably something else that I'm forgetting okay well whatever I need to do the things and stop telling you about it okay quick update is now noon is it noon yeah well like 11 55 um still haven't filmed anything but I'm like nearly there I doubt anyone with me has noticed or if you maybe I don't know but sometimes my videos are like ever so slightly out of focus like the bookshelf behind me is like slightly more in focus than me who's in front of it that's because I have to manually focus my dslr because the autofocus is really like noisy and shitty uh usually I do pretty okay with this but every now and again always when I'm filming an apricot related video I I fuck it up so I finally looked into how to use my computer as an external monitor so that I could actually see it better and focus it better but I read it quickly and ordered the wrong thing so I tried setting it up and then it wasn't working and then I looked into it some more and I was like fuck um but it turns out even though it's like teeny tiny I do actually have the kind of cord that I need for this and I had it all along I mean now that I know what I need I'm probably gonna invest any longer one and the cord that I did buy that I didn't need it's the wrong one I don't know what the fuck I'm gonna do with it let's go in my box of cords because I am a dad so after all of that hard work then I had time because I figured I'll just you know I'll set up my camera because also I ordered this cord like a week ago and it was like well I'm not gonna test it out because why would I I'll just wait till the last minute because I did and all this happened so like I was eager to test it out and get it set up and I was like and then I can relax and prepare my videos but then it was quite an ordeal so I got it figured out I got it set up and then started preparing my videos which now I am kind of done at least enough to film but I need makeup on today's really getting away from me make it work it's not I let you know I don't know why you'd care about any of this but maybe you do in which case you're welcome if not I'm sorry okay I filmed some videos chaos is evidence of that I haven't filmed everything that I wanted to film but it is past three o'clock and my camera is running on battery and the last video that I was hoping to film today will be kind of a long one that I need the camera to just be kind of rolling for so I will either do that tonight or not at all in the meantime though I think I'm gonna order pizza I'm very pooped and I haven't eaten since breakfast and it is three eleven and I cannot be arsed to cook okay ordering pizza kind of take an hour what am I gonna do for an hour I could film a video for an hour but the battery is out where's my whole day gone it's insane so I've been sitting here watching you two videos waiting for my pizza and like watching it on the app and it's been saying that your postmate is gonna pick up your pizza for like 15 minutes and it's supposed to be here at 415 it's 407 now and I was like googling like does like what happens if no one picks it up like what the fuck and now while I was googling that things have changed now it says uber eats is picking up my order because an uber eats driver that partners with postmates is gonna pick it up I don't understand and still hasn't picked it up it's 408 I want my fucking pizza the point of this was because I didn't want to wait for food I'm being punished by the universe at this point I'm like not even I mean I am hungry it's getting to the point where my body's giving up and we'll keep watching you two videos I will eat pizza I'm gonna film my last video and I will read six of crumbs um no it is saying no the order is taking longer than I expect the new ETA is 449 the pizza has been ready since 345 it is gonna be an hour cold why would have I done to deserve this I mean other than ordering takeout instead of making food myself I could have like made a box of macaroni or something and macaroni sounds really good right now it's really good I'm hungry the carrot sticks sound good right now oh delivery I got the text the text why does it say 34 minutes when his little car avatar is so close to me progress is being made my pizza still be cold but it'll be here let's not make making noises soon my lovely soon I'm losing my mind are we ready for this I'm fucking ready I'm coming to make it first because I did I tell you what I ordered probably not I forgot to tell them no cilantro live and learn cilantro it's like so full of course the moment that the pizza arrived my battery reached fully charged status so I can film now not right by me for spicy pizza it's good though although I'm really hungry so I don't know if it's tasty or if I'm hungry or both but um it's hitting the spot all the time as well no thirsty well I am finally done with that so I have to edit everything always takes a million years not today time's it six o'clock oh my I have the rest of the evening I have about two hours left of six of crows um I'm not listening to an audio I just unkindle it tells you how much time they think is left in the book two and a half so I think see if I started it now I'd be done by 8 30 I'm about one about 8 30 so I'm gonna continue to be productive and read some of the chat about what was lost until until like 8 or 8 30 and then I'll switch to six of crows and finish it tonight and go to bed on that note just like a dream of Casbrooker okay that's that is the plan so pooped in that last video I filmed I don't even know it's very good for all that but I did it it is what it is time to read this fucking raven block I can't seem to focus and you don't seem to know this I'm just you check your complexion to find your reflection so I haven't quite finished um reading the the chunk I set myself the next chunk then I mentioned splitting it into chunks yes probably maybe but I'm checking in now because well the sun is still up but that's not actually why because they're talking about seeing the king oh he says that one problem the king isn't there terrace mile slipped what there's still a delegation near him rushed to assure him but it's led by the princess terrace frown then this is the name of the princess and I bring this up because that is the Latvian word for queen that's her name with Katalina spelled exactly like that is the word for queen in Latvian which I think is strange and that makes me wonder if this author knew that and thought it would be fun to name his princess the word for queen I don't know but as soon as I saw that I was like what now yeah Katalina I don't that's gonna how I'm gonna have to pronounce this because that's a word to me and that's how you say that word I don't know maybe I should like pull up the audio book maybe someone can tell me if you've listened to the audio book of this book how does how does Michael Kramer say Katalina because that's how you pronounce that and I'm having trouble picturing Michael Kramer say Katalina Karly Karlyne yeah I bet he says Karlyne I bet I bet that's what he's saying nearly done this book that I'm not loving everyone was right I love he hated okay finished to my to my marker to my checkpoint I've read actually quite a bit of this book I feel like I'm still in the beginning of it so I still don't feel very invested in anything what's going on or any one that's in it this feels like like it was written by a child except that it was it says it's weirdly I don't know there's this weird juxtaposition because like the writing itself the characters how they talk everything feels really childish and kind of badly written but then like it just has these like spurts of just like really aggressively gory violent stuff which kind of just like happens it's like launching the sweet life of Zack and Cody but then every so often Tarantino just like directs a scene but then we go back to the sweet life of Zack and Cody and then Tarantino and then the sweet life of Zack and Cody and then Tarantino it's it's it's jarring it doesn't fit the tone it's just like kids being whatever and then like blood you're like kids being whatever blood also I just like I feel like this cover I don't know these look like adults but not the ages of the characters and their behavior is really childish like all the characters like this feels like YA like really young YA but you're orange how could you it is just a little past 8 30 so it's time to finish Six of Crows I've earned a good book this is a good book do I change into a Six of Crows jumper or is that too extra because I've made such a substantial effort I wanted to show it off from my Ketterdam jumper to my oh don't fall Six of Crows socks my decaf s'mores favorite coffee it is a quarter to midnight and I finished Six of Crows read last sentence and then as I was closing the book just said so good freaking good you haven't read Six of Crows why not is my question so so good so yeah definitely way better than this other what was lost yikes funnily enough again I don't really like I don't like to shitting on YA because there's a lot of amazing YA and YA gets shadowed enough but like this feels so much more adult and grown up and mature and well executed and the pros is better and the characters are better and and it's just so much more than the shadow what was lost but this is YA and that's adult fantasy I guess I mean like it's a very like backhanded compliment I guess you forget me this is on my top 10 favorite books of all time so I'm allowed but I'm just saying like for all the shitting on YA like this is YA that's adult I'm just saying it's so good gotta read crooked kingdom it's not on my tbr for June but Six of Crows was not on my tbr for May and I read it anyway maybe I'll just read crooked kingdom in May as well instead of sort of kaigan and shadow what was lost anyway I think that'll let that do it for this vlog so thanks for hanging out with me hope you enjoyed I had a great time reading Six of Crows anyway yes let me know all the things in the comments down below I post videos on Saturdays other random times as well but that's my Saturdays so like and subscribe join my patreon or don't see when I see you this is like my fifth time saying this today because of all the filming I did see you when I see you bye


Hello everybody. I'm Abhishek Sharma. I'm a full stack software engineer by heart who works as a solution consultant at infochips. I mostly work on providing cloud-based solutions and I've also worked on IoT-based platforms and also the DevOps part of it. In my previous organization I've also built back-end as a service platform, totally in Python, Django, Django Restroom work. So the topic for today is I'll be presenting my views on microservices and containerization. I know there are there has been a lot of talks on microservices so I have changed my slides a little bit so that we all get to know microservices better. I'll be covering the cultural side of how organization adapts microservices and things like that. So let's begin. So let's define what is microservices. Microservices is an architectural style I would say to build an application as a suit of small services which communicates with each other with a lightweight protocol. They run on its own process and each service communicates with each other through IPC mechanism. You can use any communication protocol like HTTP, RPC over MQP or Web socket and things like that to communicate between two processes or two services. So when I first explored, when I first read what the microservices is I was a little bit confused about how it is different from service-oriented architecture and I had the same expression. So defining, differentiating between the two, I realized that microservices architecture is a specialization of service-oriented architecture. So microservices takes all good parts of service-oriented architecture and is implemented in a different way. So you can see a slight microservices circle coming out slightly. So there is a sort of difference in approach in implementing microservices. So as the term micro suggests, it is significantly smaller as compared to service-oriented architecture where services are built at a very large scale. So if you compare two services from SOA and microservices, so in microservices, services are significantly smaller. They use lightweight protocols to communicate with each other. So in service-oriented architecture, I think you guys must have seen that there is some kind of a middleware we use to communicate between the services. So if that middleware goes down, your entire application goes down. So that is not the case in case of microservices. In microservices, services communicate with each other by defining their own protocols and the contract they agreed upon. So with that definition of microservices, I have listed down the characteristics of what microservices should have. So if we look at it one by one, so it has to be minimal. So each microservices should adapt single function responsibility pattern. So let's say if you are writing an e-commerce website and if there is a payment service, so that service should only be dealing with the payment part. Other services should... It's okay for other services to not know the underlying implementation, how payment is processed and things like that. So if one service is able to communicate with other services and it is able to get the response, it's okay. The second part is independently deployable. So as we are talking about distributed systems over here, so each individual services has to be independently deployable on our cloud instances. So not only that, I mean... So even the deployment strategy has to be independent from each other when we talk about service to service. So let's say if you are writing a web socket server, then maybe you have to choose the best... You can choose best deployment strategy for that particular service and maybe a simple authentication or authorization service, then you can maybe go ahead and choose the deployment strategy for that. So deployment strategy can differ from one service to another. The third part is configurable. So yes, of course, it has to be configurable because microservices are autonomous. So it should be able to self-govern itself and you have to use environment variables, file system mounts or maybe some sort of a service discovery or like key value pair store so that you can read the parameters dynamically and your service acts accordingly. The fourth part is replaceable portion. So whenever we write a service, we sometimes face problems like this service is not acting properly in terms of fulfilling the non-functional requirements. So we think of writing that service again maybe in using some different or better architecture. So your service should be kind of a plug and play nature. So if at all you are deploying a new version of your service, it should be completely replaceable and your system should work smooth. The fifth part is it should be organized around business capabilities. So I think we have already covered this because each functional areas of your business, your services should focus on the implementing those business capabilities. The next part is smart endpoints. So as microservices gives us lot of flexibility in terms of choosing our own protocols, how one service communicates to another. So it's good that we choose the best protocol and we define best endpoints so that service can communicate to each other very effectively. So it's not like it should always use HTTP and it should always use TCP or something like that. Choose your protocol wisely so that you get the best performance. The next part is elasticity. Elasticity in terms of scaling. So let's say if you are getting a lot of traffic onto your server, so your services and your infrastructure should be able to scale up and down based on the necessity. The next point is resilience. So I think microservices needs to be resilient in terms of like if there is a downtime for a particular service, it should not affect the other functionalities of your application. The next part is of course versioning as we'll be developing our services in a very iterative way. So one should keep their deployment strategies and development cycle according to the versioning. So it should be able to adapt this point. So infrastructure automation, yes. So as microservices we'll be dealing with as we are dealing with distributed system and it has to be monitored always. So whenever there is a high traffic, so it should be able to scale up and down. So your infrastructure, you have to decide your infrastructure in such a way that it should allow automatically scaling up and down based on the traffic that you are facing. Centralised logging and monitoring. I've seen people taking this part as an afterthought. They generally don't care about this portion, centralised logging and monitoring and they end up facing a lot of issues when they see downtime of a particular service because they'll not be able to figure out what's happening wrong. So you should have a centralised dashboard kind of a thing or something where you can look all the logs and monitoring stuff and things like that. The next part is encapsulation. Your service should have all the components that are required to run that service effectively. So it should not be, it's like, if let's say one service requires RDBMS, so it should have all the components near to the service so that they can talk to each other very effectively. And of course it has to be stateless. So let's quickly go through what are the advantages of microservices over monolithic architecture. The first point is microservices relies on each other public API. So I've seen couple of times that in service-oriented architecture, most of the developers directly communicate with the database of other services and things like that. So that should not be the case in terms of microservices as we are going to deploy our services independently. So it has to communicate with the wrapper or the APIs that you built around it. The second part is decentralisation and no single point of failure. So we have already discussed that in service-oriented architecture there is a concept of middleware which always runs in between so that service can talk to each other effectively. So if that middleware goes down, so that becomes a single point of failure in terms of service-oriented architecture. So in microservices, it is not the case. Everything is decentralised and each service talks to each other with the best effective way. The third point is right tool for the right job. So with microservices, we get a freedom of choosing the technology stack, technology or I would say a language. The best language you can write your services in. So we can write one services in Python or another in Node.js and things like that. So you get the freedom and you get the flexibility of choosing right tool for the right job. The next thing is polyglot persistence. So this is kind of like if, let's say, one microservices requires RDBMS, you can go ahead and use any SQL database and let's say if another service is dealing with, let's say, for example, time series data, so maybe you can then think of choosing the database accordingly and maybe you can go ahead with no SQL database and database of that sort. Single responsibility, as we already discussed, it should be focused more on one aspect of the business requirement. I mean, one aspect of it. The scalability part, yes, so each service should be developed in a way so that we can scale it up very smoothly. So even if, let's say, we are upgrading it, so we should be able to upgrade those services smoothly and things like that. The next one is decoupled. So microservices should, I mean, the components in the microservices should be loosely coupled and highly cohesive. So you should develop your microservices in a way so that you can decouple all the components that are there in the services and let them talk to each other based on the requirement. The next part is bounded context. It's okay for one services to not know the underlying implementation of the other. So that is what bounded context means. So the next point is more towards cultural side, like end-to-end ownership. So with the normal software development lifecycle, we have seen that projects start from requirement analysis and then it moves toward design and then development. And sooner or later it goes to support and maintenance. So that is not the case. There is a slight difference here. One team owns the entire service development lifecycle over here and they completely own it. And independent governance as well so that they can, because microservices, microservices has to be autonomous. So it should have all the components that can help us track the monitoring metrics and things like that. So let's move on to how can you write microservices in Python. So when I heard about it, I just Googled it out saying like this, what is the best framework to write microservices in Python. So the first thing that I get is about Namaiko, which says that it is a Python framework for building microservices. So we'll not go into the documentation of it. I have listed down some of the features that it supports. You can install Namaiko with simple pip install Namaiko. The supported protocols through which one service can communicate with each other. So it supports these many. You can go ahead and use simple STTP and Git and Post. You can do communication over RPC, MQP. You can do PubSub, WebSocket. And it also provides WebSocket support. So there are other features as well. So it has a support for unit testing and I guess integration testing as well. So this is a very feature rich framework as far as microservices is concerned. So I think this is good. But as we all know that microservices, it has to be relatively small. We have already seen the minimal point of it. So it's not a constraint that you have to use. You have to always use this framework. So let's say your services only requires STTP endpoints and things like that. You can go ahead and use Flask. So that is the kind of freedom that we get when we build microservices. So you can use Flask and let's say if you are dealing with Async or you can maybe go ahead and use Django channels or Scenic. I guess there was a talk about it in micros and the Europe Python. So you can choose your frameworks based on your requirement. So let's see how our services packaged and deployed. So deployment plays a crucial part when we talk about microservices. So these are the options that I have listed. This first one is traditional like how we used to do in the monolithic. We used to create a script that will SSH to our remote machine and it will check out all our code and then it will try to execute our script. But that becomes really difficult when we talk about discrete environment because microservices has to run in discrete environment. So we are left with the other two options like virtualization and containerization. You can go ahead and use virtualization but it becomes quite bulky because it holds the entire OS. So there will be a guest OS running in your VM boxes so it becomes quite bulky. So the next thing is containerization which uses Linux kernel capabilities. Docker container has this lib container execution environment which directly talks with Linux kernel components. So you can go ahead and use so that the image size becomes very, very small and comparatively it becomes much lightweight than hypervisor or VM and things like that. So I will put this question for you guys like if Docker provides the isolation, so do you really need virtual ENV? So I mean we all know that what virtual ENV is for. It provides good sort of isolation when we talk about Python libraries and things like that. But here we are dealing with Docker which provides separate root FS. So it's okay if you don't use virtual ENV. It's not mandatory but I guess there's no additional text involved as well. So you can go ahead and use virtual ENV. So it's up to you guys whether you want to use it or not. Let's move on to how to containerize Python-based services with Docker. So there are four steps. This is a simple Flask app which so on the root it will just return the string Dockerizing Flask app and it will start our server on all the IP addresses on our local instances. So these are the four steps I have listed down all the scripts over here. So you have to just create your Docker file. You have to say all the commands over there and once that is done you can build your Docker image with Docker build command and then you can run the Docker container using Docker run. And with the help of Docker PS iPhone A you will be able to see all the Docker container that are running or not running on a particular machine. So let's talk a little bit about how can we deal with continuous integration and continuous deployment approach in microservices and containerization. So this is with respect to Jenkins but I guess you can also use GitLab CI runners and Circle CI to automate this but this covers Jenkins part of it. So let's say when our developer pushes any change to the Git repository with the help of Webhook Jenkins triggers a build. So Jenkins uses Docker to build an image based on Docker file. So once the your container is up and running you can maybe run all the test cases and if let's say test if all the test cases are passed then maybe you can push your Docker image to the Docker registry and you can inform all the instances that are running that image to pull the latest version of it. So the next slide is about like when to use microservices.  So just don't choose your architecture just by the latest architecture style pattern and technology. So I would say if decentralization is identified and very inception of your project so maybe you can think of writing microservices and maybe if like you are doing a very CPU intensive operation like if you are maybe doing image processing and video encoding or decoding and machine learning and maybe artificial intelligence. So that case it might be helpful because you might really need to scale those portions the heavy intensive operation portion in future whenever you face a lot of traffic. So I think that is the area I can maybe think of when you can choose to go with choosing your architecture as a microservices architecture. So I have talked with most of the developers who are using microservices. These are the common mistakes they do when they use microservices. Like in SOA we generally talk with the database directly. So they use shared database instead of talking through public API they go ahead and directly do the queries to the database. So this is the one mistake that I have seen that people generally do. The second thing is they consider HTTP is the only protocol to communicate between services. Well that is not the fact though writing HTTP services is simpler and it's easy to get HTTP services up and running. But that doesn't mean that you should only go ahead with HTTP. Maybe a few services are meant to be together. So you don't need to do a round trip and do HTTP call. You can just go ahead and directly communicate with some sort of a TCP connection and things like that. The third one is people also end up writing their own service discovery. So this is in fact I've seen in like people write microservices for service discovery. So don't do that. There are the tools and technologies are very much advanced. When we talk about service discovery you can go ahead and use those tools directly. Don't reinvent the wheel forcing microservices where it's not required. So just don't go with the talks that all the big companies are using microservices that that's the only reason you have to use microservices. The next point is logging and monitoring as an afterthought. I have already discussed this. People generally take this as an afterthought and they end up facing a lot of troubles when you have to identify issues and you have to let's say see what are the monitoring statistics and metrics and things like that. One technology and framework everywhere. They end up choosing one language and one framework, one particular framework for writing all the services. So don't do that. I think there are you can choose language that is best suitable for writing that particular microservices. So I've seen people especially in Java they use Spring for writing all the HTTP services. So don't do that. There are micro frameworks available even in Java as well. We do have a lot in Python. So especially in case of Java I've seen people use a lot of bulky frameworks and they say that it's microservices. So the next is a tradeoff of using microservices. So these are some of the tradeoffs that I have identified. There are operations and tools cost that is involved. So you may end up dealing with a lot of tools at the very initial phase of your project. So there are a lot of cost involved in this. The second one is cultural cost. You might be your team or your organization might not adapt microservices very smoothly. So you have to maybe convince them. So there is a lot of cultural cost involved in that because generally what happens in an organization is there is one team for the entire product but here we'll be having different team for different services. So there's a sort of a cultural shift in that part. Distributed system complexity. So it's microservices is all about distributed system. So it has all the complexity with what we have in distributed systems. Interfaces should be well defined. So the documentation is must. So let's say if I'm working on a let's say we are working on an e-commerce website and I'm dealing with a payment service. So I should know I should tell what parameters am I expecting and things like that very clearly to the other teams so that they can communicate it accordingly and the transaction becomes much smooth. The next point is microservices DevOps first architectural style. So yes as it is as one of the characteristics of microservices is it has to be independently deployable. So I think DevOps thought process is required from the I think the very first day when we start approaching architecture in microservices way. And the other thing is team communication overhead is there. So you have you might be communicating a lot across the team about how are you going to communicate and things like that. So that's why I said the documentation is must so that you can do all your communication effectively and things like that. So yeah, thank you. Thank you. Are we check for this interesting talk? Are there questions? Okay. Thanks for the talk. Can you please elaborate a little bit more on the shared database issue? Like when is a problem even if there is replication between database could still be a problem that? Yes. So what people do is let's say if two services wants to share a particular database. So what they do is they directly fire and query to the database and get the results. So I think that is not effective when we think about scalability because database might end up becoming the root cause when we think of scalability because we'll be keep on scaling or microservices instances but the database will remain one. So in that perspective, it's good not to make database call directly use the API so that you are smooth when it when we talk about scalability and things like that. So that is what. So in case you say use API like the API of a microservice connected to the database? Yes. So it's not more or less the same? So with API you can have a load balancer in front of it and it can redirect to whatever service instances it can and then you can scale the database independently but in case of shared database you might not be able to do that very smoothly. So that is the point. Okay, thanks. More questions? Thank you for the talk. Are your slides available online? There are a few that were quite detailed and I wanted to pick them up later. Sorry, I didn't get... Are your slides available online? So I'll put it on my GitHub maybe so that you can look into it. All right, I see no more questions so let's thank Avishak again for the talk.


I went to Portland State University. Actually, my father went there. That's why I went over there too, just following in his footsteps. I majored in business administration, management and leadership. There's a lot of graduates out there that don't come back home. I think I can make a difference here with my family business and also here in the Marshall Islands. Usually the prosaners come in to our lagoon and offload their catch into the carriers or the mother ships. What we do is bring them to our dock and offload them straight into containers. Once the containers are filled, we'll plug them in at our dock and we'll monitor them until it is time for them to be loaded onto the container ship and transported to their final destination. Containerization is useful because compared to offloading these ships into the carriers, the carriers can be in our lagoon for two, three, maybe even four months at a time versus in a container. After they're done offloading, they can be sent off within a week or two weeks and be sent to multiple destinations. One of the biggest problems we face is we are fairly new to the tuna industry. We've only started doing this for two years now. Another one is competition. Vessels are going to other countries. Uncertainty. We don't know where the tuna is. They're always moving around. They'll be in the east, the west, the north. It's hard to follow. COVID-19 has heavily impacted our business. We went to offloading two vessels a month to once every two months now. We were shut down for two months and we've developed an SOP to accommodate the restrictions that were placed on the vessels. We've restricted the crew members on the vessels from coming onto our dock and from our crew to have any contact with the crew vessel. We have a good reputation in offloading. We can almost match the speeds at which they offload onto the carriers. Right now we're in the middle of reclaiming land to expand our dock. We plan to have a cold store and a processing plant within the next five to ten years from now.  If not, I really enjoy fishing, swimming. If I could retire, I'd just be fishing all day, living on the water.


node. Or in other words, it's the same as the average degree of neighbors divided to its own degree. And we're interested in finding not only nodes friendship index but how the average friendship index among all nodes with the same degree. This will be denoted as sin of k. Don't worry, when you'll see it again, I'll remind you what this is. So I know all of you are tired already probably. Okay, let's move on. As I've said, we'll see how friendship index is distributed in real and simulated networks. For simulated networks, we've picked a once created by the configuration model. This model is convenient because it creates networks with a given degree power low and with known exponent of the power low. And these generated networks don't have degree degree correlations which would be helpful for us in the future. So to create the configuration model, we need a degree sequence. These degree sequences would be obtained as n independent and identically distributed samples of random variable Xe. And this variable Xe follows the power low with parameter gamma. Okay, now we'll see what are the limits of average friendship index among all nodes with degree of some fixed degree. So first of all, let's introduce new one and new two. These are the first and second moments of random variable Xe if they exist. And L0 is a slowly varying function, which in other words is a function that when its argument tends to infinity, if it's multiplied by some positive a, its value does not really change. So what we have here is that in configuration models, actually if the gamma, the exponent of the power low is more than two, then the average friendship index among all nodes with degree k with some degree actually tends to new one divided by new two multiplied by k, which is a constant divided by k, which is really convenient for us. We can, we know this value, we can calculate it. However, when gamma is between one and two, it's not so great. And there, well, this psi n of k, which is the average friendship index among all nodes with degree k, when divided by function L0 multiplied by n in this power, it tends to gamma by two stable random variable with parameters one, one and zero. This result is not so great because what we get is this average friendship index among all nodes with degree k depends on n, the size of network. This way we cannot compare networks with the same size, unfortunately. Well, speaking about the proof of this theorem quickly, when k is gamma more than two, then first and second moments are finite and with the use of central limit theorem, we get the following. And when gamma is between one and two, then the second moment is infinite and with the use of stable low central limit theorem, we get the following result. Okay. This was the theorem, and now let's see how friendship index is distributed in simulated networks. So we choose a number of combinations of a model and gamma, the exponent of the power low. And for these combinations, we create networks of size 300,000, and we'll be looking at three measures. A sample mean, which is a sum of all friendship indices among all nodes with degree k and divided by the number of such nodes. And well, sample variance, which is an analog of variance for the friendship index measure, and sample coefficient of variation defined as a ratio of standard deviation to the mean. Let's see the results. Well, there are a lot of images here, but let's focus on some of them first. Each row here represents the results for each own network. So let's look at the left column first. Here we see on these logarithmic plots, log-log plots, horizontally is the degree, vertically is the average friendship index among all nodes with this degree. For all networks, we see that the average friendship index actually follows the power low with parameter minus one. I mean, it's log-log plots, then it's power low if these weren't the log-log plots. Okay, in the middle we see variances. Let's just, well, skip them and move on for a moment. The right column is, well, one of the most interesting, because at first glance it may look like they're the same for all networks. But however, it should be noted that only for network where gamma is more than two, well, 2.5, you see that for nodes with all degrees, the average friendship index is, I mean, the coefficient of variation is less than zero, because this means that mean would be larger than standard deviation. Well, for other networks, for small degrees, it's higher. Okay, let's move on. Now these were results for simulated networks. Let's compare them for some large real networks. These are networks from online sources. The data for which was already collected before us. These are, well, networks from different sources of different size. Let's see the results for them. Surprisingly, despite all these networks being, well, very different, we see the similar results that average friendship index also follows the power low with parameter close to minus one. Variances for real networks are much larger than for simulated networks, which results in coefficient of variation also being much larger, which makes it harder to predict the values of the network. So this was purely about friendship index and its distribution. Let's move closely to the friendship paradox. So as I've said earlier, friendship index is closely related to the friendship products, which says that your friends are more likely to be popular than you. So some of the known facts about the friendship paradox is that it's present in social networks. Most nodes in social networks have friendship index larger than one, or this means that they have friendship paradox. It holds true at both individual and network levels and last but not least, the presence of friendship paradox was confirmed in some random networks generated by the Barabasi-Albert model. And, well, the final theorem for today, I mean, from my presentation here, we'll estimate the share of nodes for which friendship index is larger than one. Actually, so if random variable c, again, follows the power low with parameter gamma, and its failure begins with m, we can estimate the proportion of nodes for which friendship index is more than one. We can find the bounds. So it is actually bounded by one minus a1 and one minus a2. And these a1 and a2 differ in the upper bounds of the inner sum. These are highlighted in red. So what do we do with it? Here, we plot the upper and lower bounds for, based on the results of the theorem. So as you may see, these, the value of bounds depend on the gamma, the exponent of the power low, and m, the minimum amount of nodes in network. So this is a plot of the bounds of kappa, which is a share of nodes for which friendship index is higher than one, or the share of nodes which have friendship paradox. And these were theoretical results. And now, I show empirical results for simulated networks. So these networks are based on the configuration model. And as you may see, I will just switch slides back and forth. The results are quite similar. So that's nice, of course. Again, it depends on, the result depends on m and gamma, which is the same. One thing I should mention is that, well, when gamma is between one and 1.5, then, well, the share of nodes for which friendship index is higher than one is well close to one. It means that almost all nodes have it. But then the question arises, when friendship index is not equal to one, well, the share of nodes, for which nodes it's present, for which nodes it's not. And we'll see it for real and random networks. These are random networks that you're already familiar with, that I've shown previously. So, and here we see the distributions of the share of nodes for which friendship index is higher than one, but based on the degree. So for each degree, we get the share of nodes among nodes with these degrees for which friendship index is higher than one, or for which friendship paradox is present. And, well, for all these networks, we see that for smaller degrees, friendship paradox is present. However, for large degrees, for hub nodes, it's almost never present. And also, this parameter depends on gamma. If gamma is smaller than the amount of nodes with friendship paradox is higher. And vice-versa. Okay, I think that's everything here. And finally, let's see the same for real networks. Well, actually, the results are also quite similar. Yes, you see the shapes of slows differ. They aren't so beautiful as for simulated networks, or you may consider them more beautiful. Well, so, yes, it also depends on gamma parameter of power law, but well, real networks are more complex, then the results are a little bit changed from the simulated networks. So, to sum everything up, we looked at the values of friendship paradox about looked at their distributions in real and simulated networks, and how it depends on degree of nodes. And so, in networks, without degree degree correlations, and network size tends to infinity, we've proved that power law degree distribution, because it has a finite second moment, and the value of average friendship index tends to a constant divided by k. However, when the second moment is infinite, it's not bounded, then this quantity converts to a stable distributed random variable divided by this. And secondly, the friendship paradox is present in all networks whose degree distribution follows the power law. And it depends on the exponent of the power law. And if the higher minimum degree is larger, then it leads to a stronger friendship paradox in network. Thank you. Thank you very much for your talk. Do we have questions? Yes, please. Thank you for your talk. It reminds me one interesting chapter in the proofs from the book, book by Eigner and Ziegler. And this is a chapter about friends and politicians, and the theorem says that if two people have exactly one friend in common, then there is a politician who is everybody's friends. But your friendship paradox is also should be, this is also should be a famous thing, maybe it's somehow related to this type of theorems or not. Just curious. Yeah, and just adding about this moral thing that everyone knows through like some four to six handshakes, like it also struggled my mind. Yeah, maybe comment on this. Well, actually friendship paradox is a known topic. Well, it's not different. Well, not I who invented it, of course. And usually it was developed in social studies and not really in network studies, maybe while their friendship index as a measure, while this name was introduced to recently about your exact example. That's an interesting one. I can't really say if they're it's the same or not. It's a nice thing to check out and I'll do it. Thank you. One more technical question. You mentioned a bipartite graph and you also applied power law analysis to it. And you didn't, how to say, sort it out the vertices of one part from another. So it's just the same sample, right? Thank you. Thank you very much. Do we have more questions? Okay, thank you. Let's thank the speaker again. And the last one is approximate density computation for by clustering from me, Dmitry Gnatov, Kamila Usmanova and Daria Kmisarova. Yeah, this one. Thank you for introducing our talk. This is the talk done together with my former students and the lab members and also with some colleagues from Institute for Molecular Genetics since our reference asked us to include some other examples where by clustering can be applied. We included this part and they are responsible for the data we are for the processing. So as for the motivation of our research, it was constantly multimodal clustering. Imagine that you have data, you can think of it as a hypergraph, a regular uniform hypergraph, where you have several types of vertices like the offers of papers marked by some tags and such a structure is sometimes called fulcronomy, a particular one because people use specific tags to mark some resources, some data. But this is a three-dimensional case and a lot can be done in a two-dimensional case. So here we can find the so-called three communities that is users that shares the same resources and mark them by similar resources or the same resources and mark them by the same subset of tags. They are the so-called three communities or three clusters. But the question that we asked was what is a good approximation of three concepts that is maximal triadic rectangles in such data. And we answered this question in our paper published in machine learning journal already several years ago. But in 2D case, we are going back to 2D case now. There are many things to do concerning the performance of similar techniques. And we use as a language formal concept analysis, which is rather a simple language. As we'll see, we have a set of objects, a set of attributes, binary relation on them and two operators called derivation operators or Galois operators saying that given a set of objects, what are their common attributes and vice versa, given a set of attributes, what are the objects that share them all. And the concept is just the unit of thoughts, right, as in philosophy. But here it's more formal. It has two parts, an X, 10, 10, 10, 10, A and B. All objects from A shares all the properties from B and vice versa. All properties from B belongs to all the objects from A. These concepts are hierarchically ordered. Let's have a look at this small world of geometric figures, equilateral triangle, rectangular triangle, rectangle and square. And let us consider just four properties. It has exactly three vertices, four vertices, has the right angle and to be equilateral, we can extract all the formal concepts which are just the maximal rectangles in our data and hierarchically order them by set inclusion of the first component. For example, the concept 234C, 234C is just the concept of rectangular figures. It's more general than the concept 34BC, which is just the concept of rectangles. This is the tool to analyze real data. For example, we took all the publications on formal concept analysis, performed terms extraction, or maybe we use keywords and combine them into taxonomic terms, like the sort of topics. So in the top of such lattice diagram, we have 1,000 papers, about 1,000 papers, devoted to formal concept analysis. And they are split into sub-topics or sub-communities of authors that write papers on formal concept analysis, but also specific sub-topic like software engineering. These concepts may intersect. The key property of lattices that is always infimum, the intersection and supremum sort of union. Here it's a bit more complicated. You can also analyze real websites, users. Those are the visitors of HSE university websites. Also, they read some other news like, I don't know, RIA news or Cosmopolitan or expert.ru. In triadic case, as a source of this data, we can use, for example, Bipsonomy, a German project where the authors can share their papers and tag them. So we have triadic data. But those were the motivating examples. Let's talk about bi-clustering, and bi-cluster is the approximate version of concepts. The term was coined by Boris Mirkin, but definitely bi-clusters were analyzed before by Hartigan, for example. And bi-clustering refers to simultaneous clustering of buff objects and attributes. In genetics, for example, the objects are genes, and the attributes are some tissues or conditions under which specific genes can be co-expressed. So this is actually a matrix where each cell is a number from zero to 30 to 1,000 plus something. And here we can see that some of them are grouped because of their co-expressions, so very large values are in red. And if we consider the tissues which are, how to say, suspicious to contain malignant tissues, they can be the source of cancer or the biomarkers of cancer. The formal definition of bi-cluster is just a sub-matrix of an input matrix like the gene expression matrix. It's a real valued one. We'll consider only binary ones. And it turns out that in bioinformatics, they rediscovered formal concepts as such inclusion maximal bi-clusters. So there are theorems saying that, but we propose something which is the relaxation of such rigid notion when all the objects should share all the properties. Actually, we can consider just one pair, an object and an attribute, maybe the gene and some condition. And we can apply prime operators saying that M-prime is just a set of objects that share M as an attribute. And vice versa, G-prime is the set of all attributes which describes the object G. And then we can intersect such a rectangle with the incidence matrix and count the number of non-empty cells. And this is exactly the density of such a bi-cluster. Here is an example, the geometric one. So GM cell is in here in the center.  And we can find first primes so to speak. They shape this bounding box. But we can also find the second primes and they form this green dense cross full of cells. And there might be some other cells, but they do not form such a cross-like structure. So these black cells also belong to bi-cluster. Actually, we may think of bi-clusters as sub-lattices in the whole lattice of formal concepts or maximal rectangles. They have some properties, like the density lies in the interval from zero to one. And actually, in reality, this one is enrichable. So it's a bit larger value for a non-empty binary relation. And they also can be hierarchically ordered. But we cannot devise some efficient data mining algorithms like a priori algorithm for finding association rules or frequently both items. Because this relation, when one bi-cluster is a sub-bi-cluster of the other, is not monotonic nor anti-monotonic with respect to density constraint. Okay, but we can set the density threshold to be zero and consider all the bi-clusters. And then the following fruitful property fulfills every concept that is dense, absolutely dense as maximal rectangle is contained in some bi-cluster. In terms of computational time, there are some propositions which says that the total gain is polynomial versus exponential in the worst case for finding all the maximal rectangles or formal concepts. This l might be exponential in terms of the size of g and m, the number of objects and attributes. l is just the size of the lattice. Here also some example from the past. We analyzed Yahoo dataset with 2,000 companies and 3,000 advertising terms. And we applied object attribute by clustering for recommendation purposes. If we generate concepts with different constraints on the A and B components, that is the number of firms that advertise their goods with some number of keywords on Yahoo. Then for zero and zero treasures, we obtain about nine million concepts. This is infeasible for manual analyzing, for example. So that's why bi-clustering was one of the means to reduce this number. And when we change, when we override the minimal density threshold, we can obtain the number of patterns which are suitable for manual analysis. And we can interpret the found by clusters as markets. We do not show the first component of the by cluster. They are just firms IDs, which we do not have from Yahoo. But we have the real keywords, affordable hosting web, hosting web and so on. This is about hosting market, something about hotel market. The pattern here is very simple, the name of the city and the word hotel. We also applied object attribute by clustering to scale, to binary scale data known in machine learning from UCI machine learning repository. Here are just some statistics, some figure statistics, the number of concepts versus the size of the relation in terms of non-empty pairs. And we can also see how these numbers, the number of concepts relates to the number of object attribute by clusters found. And there is a drastically reduction up to several times. SNA related examples are probably one of the most famous but small data sets in community detection is the so-called Sotern woman data set about 80 women and the certain part of the United States. In 30s, I believe anthropologists asked them several questions, what kind of activities they shared together like going to the church or to the dinner or some party. The cross means that they participated in some event. So it results in a bipartite graph. And we applied by clusters here and compared it with clicks as communities. So you can see that by clusters sometimes can capture larger groups than clicks due to their sparseness. So here is another example about Karate Club that fist into parts after the conflict of the, I don't know the right words, the coach and the president of the club. Some of the club members decided to be with their coach, the master and the other part decided to be with the president. And there are some key persons here like president and this master and subgroups of people that were identified with clicks and with by clusters. Here I can say that by clusters are better but they also captured similar structures for three model data. We have for our free model data, we have offers of papers, tags and we can also analyze this with similar tools. So the more focused result, which is maybe not really interesting as real examples is how to compute the density of such by cluster sufficiently. We were trying to use epsilon delta approximation here and turn off holding inequality, allowing us to use only some fraction of points to estimate the density of a by cluster. And unfortunately, this function, the number of points that we should test is unbounded in the most desirable points like delta one, the probability in threshold one and accuracy epsilon zero. So we can at least test it in real scenario. Here is a small example. We have for other sparse by cluster. We can compute the density of this gray cross almost immediately by this formula and with the formula for n as a function of epsilon and delta, this accuracy and this probability threshold, we obtain that we need to test 10 samples. We test these 10 samples and find out that among these 10 samples only three of non-empty cells high among them. And that's why the coefficient here is 0.3 and this is the size of non gray areas together. We tested the approach on free data sets. So in turn women zoo and advertising the greater the density of the data set, the greater the accuracy here, you can see in white cells where the fury agrees with experiment for which data set actually zoo data set. This is for internet advertising for southern women. It was not very stable. And here also an example from genetics where we studied is chemist stroke individuals versus non-empty chemist stroke individuals and their attributes known as single nucleotide polymorphisms being attributes. We found by clusters. We counted their density, size and purity that is the number of individuals which are not included among the healthy ones since we are interested in finding single nucleotide polymorphisms describing non-healthy individuals which are at risk of having ischemic stroke. So later on these SNA descriptors are decoded to their identifiers and geneticists analyze them and we are in the process to publish a paper together with them where the findings are discussed with experts in relevant terms to genetics. So I skip everything which is left. It's just the things which was done and can be done and I'm ready to answer your questions. Thank you. Do you have any questions? Yes, please. Could you show the slide is the complexity of the algorithm? So the complexity is a linear quadratic code. It's linear by each of the parameters, I would say. Actually it's linear by each of the input parameter that is the number of non-empty pairs belonging to the input relation, the number of objects, the number of attributes. But here for maximal rectangles or maximal big leagues or formal concepts it's not linear. It looks like polynomial but in fact it's not. In case you have very simple object attribute matrix where of size I don't know four times four where all the crosses present accept the main diagonal then, am I right? That seems so. Then this is g, this is m and let it be n, that is four. Then you will have two power and patterns. So here is the complexity in terms of the input and also in terms of the output. So in the worst case you'll have even exponential complexity. But we managed to use approximate patterns. We lost some information but we can use it with rather large data at least. Thank you. Any more questions? So if not let's thank the speaker again and this was the last talk of the session and now I invite you all to go to the main hall because there's going to be a closing ceremony and we're going to announce the best paper in this track as well. So thank you all and let's go there. Thank you.


Alright, so question here about how do we get more interest in our client work or interest in our online classes, especially a lot of you may have been doing in person things before the pandemic and the pandemic has forced you to do more online offerings. And it's, you know, the thing about online offerings is that, well, you know, it might feel like there's less impact that you're making, but maybe not because as you learn how to use the online tools, it may even create more impact for your clients and students as you learn to effectively use it. And the market, of course, is much, much bigger for you online than it is locally, right? Because now you can reach people all across your country, all across your region, and possibly the globe as long as the time zones match whatever time you're willing to work. So how do we get clients or get more students interested? So essentially, of course, the process is marketing. And as you know, I love to talk about authentic marketing. So let me just give you a quick overview of what that means. Of course, people sign up with you when they trust you, right? When they trust your expertise. So there is a common, maybe misunderstanding, perhaps I could say misunderstanding about how marketing works, which is, or advertising works, which is, and this is why people, you know, I'm telling you this because people waste a lot of money on this. They will hire an advertising expert to say, oh, this person knows how to run Google ads or Facebook ads or Instagram ads or whatever. So I'm going to hire them and they're going to charge me hundreds of dollars a month aside from the advertising, the actual ad budget itself. And so they end up spending maybe even over $1,000 a month. And the person still has a hard time. That advertiser has a hard time getting them clients because most of the advertising strategy to me is not effective. And the reason is because the advertising strategy goes like this, well, obviously your work is awesome, isn't it? So we just have to let people know that your online class exists because you know your work is great. Why wouldn't they know your work is great? Well, because they are not in your head. They don't know your life's experience. So then you say, well, George, then it's all about good copywriting, isn't it? It's all about good branding and design. If I impress them with amazing graphic design and really clever copywriting, then won't they sign up and work with me? OK, now you're getting into the territory of inauthenticity because there's basically two pathways in marketing. You could be instantly impressive or try to be anyway. You could try to be instantly impressive to a stranger who doesn't know and trust you yet, or you can be consistently authentic and thereby build real trust over time because of who you actually are. So this is the complaint I have when I see so much of branding and copywriting is it's not really them. It's the copywriter's voice and it's the branding coach or the graphic designers style. And so they and you pay thousands for this, obviously you pay thousands for an amazing looking website and cleverly written copy. And it's not really you. OK, you just you don't really talk like that or even show up like that. And when people start working with you, they may even be disappointed that you weren't as you know, whatever, instantly professional is. So look at me. I fully dedicated myself to be consistently authentic path and I actually purposely try not to be instantly impressive to strangers. And so the funny part is that my branding kind of sucks, to be honest with you, my graphic design kind of sucks because I have a good eye for this stuff. I've been marketing for 15 years. So I have a good eye for this stuff. I know my graphic design and branding kind of sucks. And I know my copywriting is like, it's OK. However, I have a waiting list of clients. However, I can't even take the people. I have my waiting list keeps growing every year. How? Because I fully dedicated myself to the consistently authentic path, which means I keep showing up. I keep I call it blessing. I keep blessing the market with whatever expertise I can show up with that moment. So what does that mean for you? Then George, I still need clients. OK, I still need clients. So tell me, just stop the all this talk, philosophical talk and just tell me, how do I get the next 10 clients? So two ways. One is there is what's called low hanging fruit. And one is cultivating an orchard so that you'll have more low hanging fruit in the future. That's really the two ways. Low hanging fruit, you already know people who would probably sign up for your online classes or sign up to work with you if you simply reminded them. I should mention you already know people who trust your expertise, who already like you, who already trust that you know what you're talking about and that your work is effective. You already know people because everybody knows at least 150 people, right? Studies say everybody knows at least 150 people by first name basis. So look at your 150 people. Now, you might not have an email list. You might not have 150 followers on Instagram or Facebook. But in your address book, in your email address book, in your phone book, you have 150 people who know you on a first name basis. Now, not all 150 are potential clients first. But out of those 150, some are potential clients. Some are potential referral sources, people who could prefer you potential clients and therefore you are borrowing the trust that this second degree person has in your first degree contact. So if I know Mary, right? Mary trusts me, but Mary's not a potential client, just whatever reason it's not the right fit for her. But Mary knows another 150 people, right?  There are people who like and trust Mary and then Mary said, work with George. Maybe out of those 150, three of them would say, yes, I need what George does and let me go check out his website, Facebook, whatever it is that is available publicly to share. That makes sense? So step one, tell your 150 people, you got to reach out via email or via text message or via Facebook message. Whatever is appropriate for each person because all 150 people, what you don't do, what we don't do is to do a single email and put it all in the two field, right? Because then everyone starts replying all, please unsubscribe, please unsubscribe and then everyone, you also don't want to put everyone in the BCC blind carbon copy field because then they still feel spammed. You need to reach out to each of those 150 one by one. Don't do it all today because you don't have time to do it all today, but do it all over time. It might take you three months and that'd be a three month project to reach out to those 150 people one by one, thoughtfully, thoughtfully, because each person deserves their own message, their own outreach customized for them. Someone wants you to reach out via email because that's just how you talk to them. Some people want you to reach out via Facebook message because that's usually how you connect with them. Each one will need something different. Does that make sense? So you already have enough clients, you actually do. They just forget that that's what you do. This is very important. Even your best friends have forgotten about the service you provide. They really do. I have friends, if you just ask me, well, what do they do? I'm like, I have to think for a moment. And if somebody came up to me and said, oh, I need help with this issue, I might not even think instantly of my best friend. If they have not reminded me recently that that's what they do. If someone came to me and says, oh, I need yoga classes, I probably have 10 people I could refer, I don't even remember who they are. I'm gonna refer the yoga class though to Frida because that's the last person who asked to set that she had a yoga class and I trust that she knows what she's doing. Do you see what I mean? So we get clients within three days. That's the interesting part. We get clients within three days. And so that's why we need to remind our 150 twice a year. Twice a year, we need to remind them that this is what we do. And then we have a three-day window that they might refer someone to us. It's really like that. Now, what's the other path, Georgie said? There's low hanging fruit, you gotta reach out to them and they'll probably refer you clients. If you reach out to 150, you'll probably get a couple, maybe you'll get all your clients you need at this time. Maybe really. And then the other way is consistently authentic, which you need to show up on a consistent basis on social media or through your email newsletter or however you do. And this is where the advertising comes in. Most of my advertising dollars aren't saying, hey, stranger, you have no idea who I am. I want you to trust me right away and spend money with you right now, right? Which is what most advertising does, which is why most of us don't like most advertising. It's trying to get us to jump in bed with them without us even trusting them with clever copywriting and fantastic design. We're like, that's why we avoid most advertising. How do I advertise? I advertise by giving content. Most of the money I spend on Facebook and Instagram ads isn't to sell anything. It's just to bless people with this message or with this video that I think is gonna be helpful for them. So that's how I show up consistently, day after day after day, week after week after week. And no wonder I've built a big audience. No wonder I have a waiting list without even having to do my one. I no longer do one-on-one outreach. It's been years and yet there's a waiting list. So that's what we do. Low-hanging fruit first, which means our 150 people individualized message, maybe over three months or six months, however much time it takes you. And then also at the same time, the parallel path consistently showing up advertising. Yes, Facebook, Instagram ads, Google ads, but with content rather than buy my thing. You don't know who I am, buy my thing, right? So I hope this is helpful. And I wanna thank Frida for bringing this up. And Frida, you mentioned used to do that, used to email people one-on-one, the connection was great and somehow that we forget to do that. All of us forget to. I mean, this is so true. Like I have worked with so many service providers over the years. How many of them keep in touch with me? Even if they all just say, hey, I have a summer deal or a spring deal right now, almost nobody keeps in touch with me. I'm a client of many people. You see, this is true for just about every service provider. Most of us, number one, we don't even know that we need to do this. And number two, when we know we need to do this, we're disorganized and we don't do it, you know? And so, yes, we will be one of the few to actually reach back out to whoever it is, whether it's our past clients, if it feels appropriate to do so, or our friends and our colleagues and to say hello again. And maybe in some cases, it may feel appropriate to connect on a Zoom call or something like that. Short, you know, brief call, have a cup of tea on Zoom or something like that. But yes, connect with each person and naturally, business will come from that. That's the low-hanging fruit. So thank you, thank you. Thank you.


Everyone, Basel Chapman here on this Tuesday. This is the 26th of October. We're looking at the Dow up 58 points at $35,804. Really interesting all-time high as we speak. We're looking at the S&P right here. This is, of course, the 10 o'clock Tiger Financial News Network update. And we're looking at the S&P up 19 at $45.86. Only a leg seen. There should still be a peak C and then a leg D. And then we've got to be a little bit careful. And we're looking at the QQQ123. There we go. A nice move up 3.43 at $381.30. This is a really big move. And we're looking at helping the weekly chart with the Zony leg C. There should still be a pullback and then a leg D to come. So far, the buy modes are still in extant for this week into the middle of the week. We're looking at the IWM, the Russell 2000, pulling back a little bit off to make me a new recovery high. It's up just down 22 cents at 2.29. We're watching crude oil. Why? Because crude oil is holding steady. It's down 11 cents, but it's just bumping into that resistance level. Remember the inside track in the Chapman Wave methodology in the channel. And we got a reversal here, but it's a leg E. We'll have to see what happens. So far, the technicals are still very good. Let's go to gold. We're looking at gold pulling back a little bit. More than a little bit now. Down 17 at $17.89. Made a peak D. After a peak D, the fourth highest peak. You've always got to be a little bit careful there. A couple of things going on here. We're looking at the TLT. That's the bonds. The bonds are trying to rally a bit. They're up 50 cents at $144.39. Stuck in a range, same as yields. We discussed that and showed that in the charts yesterday. So this is a very important couple of days that we're looking at. Why? Because in the Chapman Wave methodology, as you get to leg D or an E, this is where you start to expect some kind of a pullback, some kind of a consolidation.  We're not there yet. We still remain longer diamonds, so for subscribers to my opening call. Very important session. Of course, you've got my show coming up, the Tiger Technicians Hour. Check out my newsletter, the opening call. And then, of course, later on, we've got a very big event. So Steve Rhodes, Dave White, Tom O'Brien. I'll see you in a few minutes, I hope. Otherwise, have a great day. See you, St. Guy. See you next week.


Hi everyone, Joe for Jaspy's casebreaks.com, coming at you with Hit Parade, multi-sport, a Jaspy exclusive. Six-box casebreak, random player break number three. These are the group of players involved in this break. This is what we can, uh, what we can chase. I don't, have we seen any of these yet? We saw the Wayne Rooney. There must be one of these per case, right? Anyway, some nice stuff to chase. There's one, two, three, four, five, six, seven, eight, nine of these hits right here. So some nice chasers there. Big thanks to this group for making it happen. Really appreciate the people who bought their spots straight up. And, uh, congrats again to the people who won spots right here. And there's the list of players. Let's roll it and randomize those two lists. One and a three, four times. One, two, three, and four. And remember, when you trade, trade at your own risk. Very limited print run. Only 10 cases. Once again, one and a three, four times for the players. One, two, three, and four. After four, we got Fernanda Tetease Jr. down to Jalen Green. Playing some good hoops for the Rockets. All right, Devin with Fernanda Tetease Jr., Allen with Anthony Edwards, Brad with Justin Herbert, Daniel with Jordyn Alvarez, Allen with Shaquille O'Neal. Steven with Wayne Rooney, Daniel with Anthony Davis, Jose with Allen Iverson, Allen with Hyunmin Son. Edward Kyler Murray, Logan with Nolan Ryan, Michael P with Aaron Rodgers, Allen with Scotty Barnes. Michael P, Jamar Chase, Albert Pujols, Daniel with Mike Trout, Michael with Jalen Hurds, Daniel with Joe Burrow. Bobby, Kevin Durant, Michael, Jonathan Taylor, Acoram, Pulisic, Daniel, Last Bob Mojo, Jalen Waddle. Jimmy with Aaron Judge, Gerald with Mac Jones, Michael with Justin Fields, Ed with Jordan Poole, Bobby, Joe Ellen Bied, Allen, Christiana Ronaldo, Dayton. Kevin Debrunia, Daniel with Ronald Acunia Jr., Gerald, Juan Soto and Bobby Jalen Green. All right, let's alphabetize by a player. We're going to pause the video just for a little bit and we'll have a short little trade window. When we come back, we'll have the break itself. Stick around, BRB. Hi, welcome back everybody. So no deals were done here on Wednesday the 21st in Random Player Break number three, but I appreciate everyone getting into it. Next case in the store and a very quick break. Good luck, everybody. This is case seven out of ten. Oh, graded card and it is a nine, five, ten. Jalen Waddle tried to trade, couldn't trade Mojo from 2021 in cased football. Nine, five and the ten. Jersey in autograph, 32 out of 50, RPA, rookie cat patch, autographs. And that is for, that's last one Mojo too, Daniel. Next is another graded card staying with football. It is Aaron Rodgers, four out of ten from Panini one football. Nice, centering nine, five, corners a nine, five, edges a ten, surface a nine for a nine, five and ten. A-Rod, that's going to go to Michael P and the Aaron Rodgers spot. Got another case in the store ladies and gentlemen, get in on it. Next one is, ooh, nice. Silhouettes Jersey and autograph Manchester City's Kevin De Bruyne, 53 out of 79 from Chronicles and that Crown Royale design. That'll be for Dayton, Kevin De Bruyne. Another box, got basketball, we've got a Scotty Barnes, Obsidian Jersey and autograph, nice RPA. That's Alan Murdoch, Scotty Barnes with the spot 31 in the filler, six out of 35. Nice. All right, two more to go. Got more hoops. It is Kevin Durant Warriors edition, 70 out of 75. Kevin Durant is playing the Warriors right now. They're up 101 to 67 with 315 left in the third. We've got a signed, sealed and delivered on-card autograph. Who's got KD? That is Bobby with Kevin Durant. Very nice. All right, see you Michael. I'm going final one here. Got a grade, got a PSA 10, and it's Fernando Tatis Jr. Jersey and autograph, red ink auto, 214 out of 299, 2018, PSA 10. Strong stuff right here, Fernando Tatis Jr. Devin.  We've got another case in the store. Check it out, jaskyscasebreaks.com. A lot of great stuff in here. We'll see you next time for the next one. Bye bye.