Hello and welcome to NewsClick. Tomorrow that's the 26th of November, there's going to be a massive strike across India around 200 to 250 million workers are going to participate. The strike has been called by 10 Central Trade Union Confederations. It's the first major strike to be held during the pandemic and it'll also be joined by farmers organizations. In fact, farmers from across Delhi are preparing to gather right now to come and blockade Delhi as well. And this shows the amount of anger that is right now there among the workers, among the farmers, among the people against the policies of the Modi government. And to talk more about this as well as tomorrow's strike, we have with us AR Sindhu, the National Secretary of the Center for Indian Trade Unions. Thank you so much for joining us. My first question was regarding the strike itself. So, like I said, this is being, the strike is being held at a very difficult time during the pandemic. There are a lot of restrictions. The case numbers have been going up and down. So could you maybe talk a bit about what the Center for Indian Trade Unions, other unions actually been doing to mobilize people on the ground. You can see that even during the pandemic, even on the issue of COVID and the related activities itself, we were on the streets. Many times we were supposed to be on the streets. So it's a different situation and a difficult situation. But during the last seven months that we have been able to reach out to the masses. And the good thing is that even without the leaders able to go to the people, the workers themselves are taking the lead in this struggle. That is a special thing about this strike. And then the physical meetings, of course, is also there at the ground level. But we are utilizing the social media and other medium also, but the normal way of going and reaching out to the people. That is the most important thing which we are doing and the anger and the distress in the public that itself is creating an enabling atmosphere to have more participation. People are approaching the leaders. People are approaching the trade unions and other organizations with their problems and they are ready to fight. That is the situation. So we are using all the traditional leaflets, posters and wall writings that also there door-to-door campaign at the workplaces and the factory. All these things are also happening and we are using a lot of social media also to reach out to the workers as well as to the public. And in this context, you mentioned the struggles of the past few months in relation to the pandemic also. So we talked about this earlier too, but especially what we have seen is during the pandemic factories have been shut, production has really been slowed down, workers have been laid off and really economic activity is still not resumed. So could you maybe also talk a bit about what the situation of a majority of workers across the country is right now, vis-à-vis the pandemic and the production. It's an unprecedented job losses and the statistics is alarming that around 14 crore or so people lost and the income loss also. Even if there is not a job loss, there are places where the workers are working but without any allowance or any wages. So that is also happening and there is a large scale wage cuts and there is a DFR is even in the public sector and the government services also. So this is a situation across and the huge job losses and the distress and even the actual hunger that is a situation here and the migrant labour at the just seen very much there. And this is a very case of a distress situation in the country. It's an alarming situation. There are large scale of hunger deaths also and even the suicides are also happening in a large scale. This is a situation vis-à-vis the people of the countries. Absolutely. And of course, one of the main provocations for this strike has been the labour courts as well and these labour courts were implemented. The discussion has been going on for a long time. Of course trade unions have been opposing it, but they were also implemented amid this situation of distress that you talked about. And it is obviously the courts are quite horrifying for lack of better word because they as anti-workers can be imagined. So could you talk about what kind of an impact these courts are likely to have or having as well? You see the one of the labour courts have been passed even much earlier before the pandemic itself, the wage court. And even during the pandemic in the first quarter itself, during the pandemic that in many of the state governments, there was an advisory from the central government that the labour laws has to be terminated temporarily or in long term. And many places there was a virtual ban for the labour law implementation during even the lockdown period. And then the other three labour courts along with the farm ads that they have brought in the parliament session and without any democratic process within the parliament also they have bullied these labour laws. And the basic rights, basic democratic rights which is there in the constitution of the country, the freedom of association and collective bargaining itself is at stake. It's almost impossible for going for a strike with the conditions put it in the labour code, in the IR code. And then formation of a union also and there is a draconian provision to withdraw all of the registration of a trade union which is totally anti-democratic which is a no provision they have brought in. And then the minimum wages that has been that the norms have been totally redefined in a such a way that it's a paltry of 4,800 rupees or so will be as per the new definition the minimum wages will be. And then the working hours, there is a drastic increase and in the working hours, even in the overtime, it's a human right violation as well. The aid of a work is a human right and this is that you are extending it to 12 and more hours and with it with an administrative order you can increase it to any type. And even that it's a human right for the overtime limit also that has been extended from 75 to 125 hours per week and per quarter then in addition to that there can be an extension to that. These are the basic things that they have done away with. And then there is a last large number of categories of workers have been out of the purview of their labour codes. The unorganised labour which the government is propagating that we have included but large chunk of unorganised workers even the agriculture workers totally they are out of the purview of any labour laws. Then the scheme workers none of them are included the domestic workers. There is a large and then the applicability of the labour laws that is there that the limit of a factory the definition of the applicability that that has been done away with and even the lockout and that also the provision earlier which the provision with the applicability that has been done away with that means there are laws and it is not applicable to anyone. So these are definition of the worker also there interchangeably used in that so many tactics they have utilized so there is almost there is no labour law in practice it is there in the country. So this is a very draconian step this is endangering our democracy itself. So because the democracy itself has come into existence out of the struggle for the work and the freedom of association and also the labour laws at the same time. So the labour slide right to the farmers right to the land and what they can cultivate and they are right for the price. So that has also been done away. So the democracy itself is endangered. So this is the situation then the other things are also there with the privatization the basic rights basic entitlements of the people have been totally now no more existent. So this is the situation where whether we want to save our democracy. That is the question before the country. Like his substances is also it's not. I think many of the trade unions have also pointed out that this is not just about the demands of workers and farmers regarding their sectors but a larger struggle for democracy itself. And all this is happening even while the big capitalists and the big corporates are making unprecedented profits there. Profits are increasing the network is increasing at a record level also shows the policy direction of the Modi government. Yeah that is also it's a it's a very obscene situation that is a word I think that we can use it. So when the people the migrant labourers without water they were dying on the streets that the richest man in the country was earning 92 crore rupees per hour per day. So this is the kind of the siphoning of the people's money to the corporates and now the country it's defense system that is sport everything even the productive capacity of the country is handed over to the corporate. This is the thing is happening and the purchasing power of the people is totally eliminated. So what is going to happen is that the crisis of the capital is it is going to be aggravated and then there will be poverty deaths and unprecedented situation will be facing families may maybe also be there. So this is the country is heading to such a means biggest crisis or the bigger crisis it is going to. Absolutely right in this context I also wanted to ask you about an aspect you mentioned earlier which is regarding the scheme workers or the Anganwadi workers for instance, the majority of the women of course who also face we've been protesting for many years but who during the pandemic have also really been on the front lines of making sure that services are provided to people but have really not received any benefits either so they will also be participating in the strike in a big number I believe so could you describe what their situation has been also. Yeah yeah definitely there will be one of the biggest chunk of workers who will be on the streets tomorrow, but you see that this is the Anganwadi workers and Asha workers and the midday meal workers. These are the biggest chunk of the scheme workers around 60 lakhs or so total. So they are there providing the basic amenities to the people it is the nutrition, the food security assuring the food security and the health services. In the health sector the Anganwadi workers also were involved the Asha workers especially they were not even provided with the masks or sanitizers and they were asked to do the COVID duty and large number of people have died also and they were affected by corona without they are at the bottom level of the entire hierarchy in the health sector so they are the frontline workers without them they could not have addressed the government could not have addressed the entire pandemic and reach out to the people. So these workers were not even given the basic safety we are nothing to talk about their working conditions it is a paltry amount what they are getting and even during the pandemic that they were not getting that even that their their allowances even the Asha workers because the normal other health sector services were almost stopped so they were not getting even their allowances in that way. So this is the situation and they but still they were fighting the pandemic as well as they were fighting for their own rights in many of the states they were there were very big struggles including strikes and they could get some of these things from the government also but unfortunately the central government in its packages there is nothing for the workers frontline workers even in the pandemic situation even at this health sector there is nothing about their work conditions and their importance in the situation. And in the Anganwadi and the midday mill workers it is they are the people who are providing the nutrition ensuring the food security but they are also even the there is not a single paisa allotment to have an increase in even the food security the food grains despatched to the beneficiaries the children of the country. So then there is nothing to talk about their wage increase or anything. So this is one of the reasons it is not only for their right for the minimum wages and social security even to save the schemes and make it a permanent basic service to the country they are on the streets they will be there as very much in the frontline of the tomorrow strike. And finally just wanted to ask you a question both about the nature of organizing itself and also the joint organizing with the farmers so we've seen this earlier in the past couple of strikes also they've been combined actions. And now despite the challenges posed by the pandemic workers and farmers are coming together again workers also from a variety of sectors a lot of the public sectors also informal sectors as you pointed out. So, could you talk generally a bit also about the kind of joint mobilization that is taking place against the Modi government. You see that when the farm ordinances also came, we've been see the workers were on the streets for their rights even during the pandemic for the safety and the ration the migrant labor sold these questions. We started as early in April itself, but the farmers also because there was no procurement there was no transportation with those issues they came out on the streets they also were on the struggles, but then these farm ordinance and then the also the state governments imposing all the doing away with the labor acts, so they that also has brought in a very in a situation where they were having their struggles on the policy issues as well, not only on the immediate demands. So they are the farm ordinance also then the farmers from on from 9th of August, there was a started a joint activities in practice at that. And there was a tremendous response and this time earlier also we were having joint struggles. And during the as you said that during the last few years there is a joint activities and join struggles and even the strike the person reverse supporting their organizations. But this time the slogan of worker percent unity that has catch the imagination of the working people, and they are at the grass root level they are coming together. Even you can see the in the struggles in Punjab also, and which is forcing the political forces also to give the slogans of worker percent unity. That is the beauty of this, this pandemic period struggles. And then there this 23rd and 25th of September the farmers organizations and the trade union school that has witnessed that the trade unions called on 23rd September was joined by the peasant organizations and the 25th of September that was a marvelous situation that where all the trade unions and even the workers joining in mass with the peasantry. So even even now you can see that there is a big repression started even two, three days back itself that in started in Haryana, the large scale are arrest of the farmers leaders because they have also called a 26th and 27th. So they are there you can see that from yesterday on early hours that they arrest process started they were selectively arresting the farmers leaders because they want to stop the deli chalo. But here you can see the entire trade union movement in Haryana they were on the street in protest against these arrests and even today you can see that many places they are sitting in. That is the peasantry and the working class coming together and even the other sections of the society also the students, because the one of the demands is the new education policy to withdraw the new education policy that is also one of the demands of this movement. So, and the youth, the employment and employment question. These are all the basic demands of all sections of the society has been raised in this right. So this is really going to be a people strike, and this is going to be making a very significant change in the people's movement also because the workers and persons at the grass root level are coming together even today there is protest there is already a road blockade because actually the government has stopped and they are unconstitutionally the Haryana government you see that they have no business to stop workers going it is a passage only. So they are stopping the peasantry to come to Delhi. So this is none of their business. So but the BJP governments at the center has directed and there is stopping and arresting and in Odisha they have imposed asthma. So this kind of repression also is helping the people to come together in a very much bigger way. So that is going to be a big success of this strike. And this is going to be the beginning of another counterattack we have given a call for resistance and defense. So in the defense we will be scaling up our struggles. So in the coming days you can expect that there will be bigger struggles. Thank you so much for talking to us. Thank you. That's all we are time for today keep watching.


I was so late to the party on this book that they've already made a movie about it. Keep watching to find out what book I'm talking about and whether or not I enjoyed it. This is Kyla Denigno and you're watching Kyla's Reading Day. So today we're talking about the book where the crawdags sing. This book is written by Delia Owens. The genre of the book is fiction. The theme of the book is literature. Okay. So first of all, I got to just say this. Completely embarrassed but I just knew this book was based in Louisiana. I just, I just knew it was. I went to law school in Louisiana. I used to hear about crawfish all the time and then I was like, no Kyla, crawdags. Clearly I had my own impression about what the book was going to be about and that was why it took me so long to pick it up and they've even made a movie about it already. I finally picked up the book and read it. Okay. So one of my favorite storylines in the plot was when Tate teaches Kyah how to read. Okay. For one, I'm a book reviewer. I have to read to know how to read all these books. That's for one. But two, reading is so important. Reading is so important. Right. I absolutely love reading. So I am completely biased in that aspect. But also the fact that she makes it well, you know, the fact that she makes it all the way to like 17 before she learns how to read is so incredible. For one, because she was able to survive for that long with just knowing how to collect muscles, knowing how to use change and different things like that. But then the fact that once Tate teaches her how to read, it completely opens up her world. Right. Towards the end of the book, we find out that Kyah ends up being an author. So not only did teaching her how to read opened up her world so that then she could experience other things, but it eventually sets her up for her profession where she ends up writing all of these different books where she becomes the Marsh expert. Okay. And so that truly was the one point where you're like, wow, I didn't see that coming. I mean, she definitely could have kept surviving when just knowing how to get muscles, just knowing how to fish, how to use the boat and all the rest. But that truly took things to another place. Right. She already knew how to sketch, already knew how to draw, but now adding the words to it, it was just so incredible. And I mean, we definitely, I definitely take for granted the fact that kids learn how to read when they're younger. And then even the fact that you can just look at something quickly, glance at it and know what it is, right, especially if someone has to copy. But she didn't know how to read for a really long time. And then it truly impacted and affected her life when she learned how to read. And so I'm reading the book and I'm like, reading is incredible, huh? Good job, Kyah. I'm like reading really is awesome. So that part really made me happy. I mean, there were a lot of different aspects to the plot. There were a lot of different surprises, but that part was just so heartwarming to me because again, she could have lived her whole life without knowing how. So the fact that when she did set her up for her future career, that was really important. Okay. So whenever you read this book, I would not only because the movie is so good, stick so close to the plot of the book. I actually, I wouldn't need to reread it. They didn't show enough aspects of her walking with the muddy toes that I would have wanted. But that part aside, the movie captures the book very, very well. That adaptation was fantastic. So no, I would not reread the book where the crawdad sing. But it was a really good book. Thank you for hanging out with me today. I hope you enjoyed this book review. If you did, give it a thumbs up. That really does help YouTube share these videos, these kind of book reviews and recommendations with other people. Okay. And thank you for hanging out with me today. I appreciate you as we discussed the book where the crawdad sing. So let me know, have you read this book or have you watched the movie because the movie is really good. I'm telling you it was really good. Okay. So I will see you next time on Kylin's Reading Day. Bye.


Hi, welcome to Visual Studio Toolbox. I'm your host, Robert Green, and joining me today is Omer Raviv. Hello, Omer. Congratulations on the perfect pronunciation, Robert. Thank you. Omer is here to talk about AusCode which is just about one of the coolest extensions invented. It helps with debugging and it is amazing. Thank you so much, Robert. We talk a lot on the show about coding, we talk a lot about the tooling, we've talked about testing, but we haven't spent perhaps as much time on debugging your code, and that's what we're going to talk about today, and you're going to show us how AusCode really helps with that. Exactly. So, when you think about it, it's kind of funny. We spend at least, if we're honest with ourselves, about 50 percent of our time debugging, but nobody really teaches you how do you apply the best possible debugging practices, right? It's extremely, the thing about debugging is it's extremely hard, it's extremely frustrating. Yeah. It's a huge challenge both intellectually and psychologically, because in order to be successful at debugging, we need to be very rigorously methodical, I call it applying the scientific methods religiously. Yeah. It's a total context switch. If your code doesn't work, because you typed something wrong, that's not what I expected to go look at the code. Oh, I see why, change the code. You're in that kind of mode of writing code. But when you can't see why in your code there's a problem, now it's a total context which you go from something that you control to stuff that's going on under the covers, perhaps you've lost control potentially, and it's a massive, potentially a massive switch in the way you think. Absolutely. I'm going to show you some tools today that make it less clear. Am I coding or am I debugging? We're stretching the lines a bit. Cool. We're going to give you these tools that will hopefully give you a much easier way to understand the root cause of each bug, because that's the thing about debugging. You try to fix the same problem for an hour, and then another hour, and then another hour, and you keep on failing, and that's where you get into that zombie mode of debugging, where you're just staring blankly at the computer screen, hitting F10, F10, F10, and if somebody walks through, they'll see you have no idea what you're doing. You're just mindlessly stepping through code. So these tools are meant to give you an understanding of the root cause of each bug, because another thing that happens all too often is that we don't, because debugging is so hard, rather than understanding the real root cause of the bug, we end up fixing some manifestation or some symptom of it, and we put a little band-aid on it and call it fixed, and move on with our lives.  Let's see them. Cool. So I'm going to jump into Visual Studio, and we're going to look at the progression of how Auscode has changed from version 3 to version 4, the new version that's coming out. So this is a feature from version 3.5 I'm going to show you, which is the search feature. So the search has been magically improved in version 3.5. So I have a large collection of customer objects. I don't want to have to open this up and scroll through it, because that would be extremely time-consuming and opening all of these guys and finding that. Let's say I'm looking for a Michael. Rather than scroll and open up a bunch of these guys, which we're taking all day. You can search through that collection. I can just search. Oh my goodness. Amazing. You sold me. We're done. We're done. Perfect. So actually search is something that's always been a part of Auscode, but now in version 3.5 it's really improved. So the first thing you'll notice is we've got these automatic suggestions. So I'm searching for Michael. It tells me there's a Michael, there's a Michael Ford, a Michael E Ford. When I hit Enter, it will basically work just like, it works in Google Chrome. Every time I hit Enter, it shows me the correct results. When I click the filter button, it will show me just the results that I actually want to see. Now, the cool thing here is that once I perform that initial search, basically Auscode has gone through and extracted the entire collection. It indexed all of it with a Lucene.NET. We're using the .NET open source indexing library. So now when I type stuff in here, it will go there real quick and I can actually get some insights just from typing stuff in here. For example, we see that there's a gender property. If I type in female, just by typing that in, I already get the insight that there are 12 hits for the word female in here. If I type in male, I immediately see, okay, I've got 18 hits for male. So I can see all of these results extremely quickly. I can search through the property names, the values, it doesn't matter. Okay. So that was searching. Cool new feature in Auscode version 3.5. Another nice thing about searching by the way, is that there's some advanced things. So initially when we search for something, let's search for Michael again. You'll see that it only searches two levels deep into my object graph, but every time I click this button right here, it searches deeper and deeper into my collection. Another option we have here is this guy right here at the bottom. What that does, it basically allows you to only search for fields and auto properties. What that does, why that's important, is that sometimes we have some problems in debugging where the debugger works too slow, and you end up waiting a lot of time and then it finally times out. That happens when somebody writes a property getter in their C-sharp code, that does a ton of things like it goes after the database and destroys the world and all that. When you get that experience, it doesn't matter if you're using Auscode or the Visual Studio Debugger, you'll have a really hard time debugging. So when you want to search for a collection, and you see that you have a problem with those properties, you can enable this button right here, and that will only search for fields and auto properties, not execute any actual properties, and even if you have miswritten property getters, that'll still work for you. Cool. The other cool feature in Auscode version 3.1 actually, is a feature where you can export stuff from the debugger into a unit test or an integration test, and that's extremely useful if you're using live unit testing, which is one of my favorite new features in the Visual Studio Debugger, in the Visual Studio 2017. Let's say I've been debugging for two hours now, and I've tried to put a breakpoint here, tried to put a breakpoint there. Eventually, I find this one particular object, the slowest, which is the one that's causing the system to crash. Now, I want to create a unit test or an integration test or even just a throwaway console app that has this particular data in it. Because that's really one of the best ways to make sure you're not spending too much time in that zombie mode of debugging we talked about, is if you're able to find a minimal reproduction for your bug, and then put that bug inside of a unit test or integration test, because that's essentially like trapping the bug in a room that has no doors and no windows. It's got nowhere to go. So what we're going to do here, we're going to go over to this magic wand, and the magic wand is sort of like the bearer of good news. This is Auscode telling you there's all sorts of useful things you could be doing with this particular object. And I'm going to click on export. So when I do that, Auscode basically writes out a textual representation of this object as C sharp code. So it just writes all the C sharp code for me. Now I can copy this to clipboard, paste it into my unit test, and I'm pretty much up and going in just seconds, right? I can also have this output as XML or as JSON using JSON.net, the Newton soft JSON serializer, which is the one everybody's using. And I can save this to file and have my unit test open, deserialize from that file, or just send that file over email to somebody to take a look at. So that's exporting stuff from the debug. So now what I'd like to go ahead and talk to you is the Auscode vision for the all exciting, brand new Auscode that's coming out soon. And the cool new thing about Auscode version four is we've made edit and continue just a whole lot more fun to use. And look what happens here. So what happened just now is a bit subtle and a bit startling. I just hit a breakpoint right here on this line of code. And Auscode has already went ahead and predicted everything that's going to happen up until the very end of this method. Okay. What do you mean by that? What I mean is that Auscode is able to predict what's going to happen in your code. We're running this code inside of an IL interpreter such that we're able to actually figure out everything that's gonna happen. And then we can give you both a time travel and the live coding experience on top of that. So I note that my yellow line of the debugger where the instruction pointer is my current execution point is all the way up here at the very beginning of my method. I can already see everything that's gonna happen. I'm gonna see that this guy is gonna return a certain gif, what this method is gonna return. By the way, nobody bothered to implement the two string method on gif. But I can fix that by just starring the name property. And then I can immediately pop that up to the top there. Now I can see that what each line of code is gonna be doing. I'm gonna, I see what this method is gonna return. Now another thing you'll notice here is that because I'm inside of a time travel debugging experience, I can see the values at the current time of execution. What does that mean? So right now, because the yellow line is up here, if I was using the normal Visual Studio Debugger, when I hover over total price, I'd get a zero here, right? Because we only initialize the variable tool price up here in this line of code. But here I see that, okay, here total price is 51. That's because we've added 30 to 21. Now all these annotations you see up that are telling you the values of everything, they're optional, right? So this is sort of like a code lens for the Visual Studio Debugger. But I can turn it on and off and just use these, the data tip to see what everything did, right? And then I can click these glasses to see the information, whoops, to see the information when I need it. So what's the benefit of telling me ahead of time what you predict is gonna happen versus me just stepping through this and then seeing what happened? That's a wonderful question. So most of the time when you're talking about a time travel debugging experience, you're talking about going back to the past to see what happened before because you already forgot. I'm gonna tell you in this in terms of a TV show from the 90s, you know that show? I really liked it when I was growing up about that guy who gets the newspaper, tomorrow's newspaper every day and then he goes and runs off and fixes whatever is gonna happen. So he doesn't just make money off it, he goes and helps the planet? Apparently that's what you do. Yeah. Oh, okay. But getting back here, what this means is that if we see that the debug is gonna happen, like this wasn't supposed to be shipping cost, it was actually supposed to be shipping cost times 10. We can just do that. And then as soon as I lift my fingers off the keyboard, boom, it updates and tells me what's going to happen. So it updated both here and updated here. So edit and continue has just become 10 times better because I don't need to even apply my changes and run the code forward to see how my changes are gonna take effect. I see it as soon as I lift my fingers off the keyboard. So now if I, for example, introduce a divide by zero, boom, there's a divide by zero. And if I call here a method that's gonna throw, oops, a method that's gonna throw an exception, boom, it updates and tells me, well, this is gonna throw an exception. Now, the other way in which this is a lot better than normal debugging experience is that let's say I wanna go in here and say what did the get, why did the get extra freebies cost return 517? Let's say that's a mistake. I wanna see what's happening inside this method. It's pretty expensive freebies. Yeah, a lot of really expensive freebies. They went too far. There's no such thing as a freebie, apparently. Apparently not. So the way you would do this in the normal debugger is you'd probably hit F10, F10, F10, F10, F10, F10. You step all the way down to the bottom of the method, which is already pretty frustrating because we've hauled all that experience like a million times where you step too far and then you're like, oh, damn, now I'm gonna have to rerun the entire program just to get back to where I was. Well, with the Auscode tooling, you don't need to do that. So what I'm gonna do here, I'm gonna hit F12, just like you would if you're trying to go to definition, but we actually did go to execution right now. What that means is that Auscode highlighted this method call and it's showing me what that method, not just the code of this method, but what the actual execution of this method did right here. So that's really, really useful because I don't have to go back and forth and rerun the program again and again. Now let's say I wanna see, wait, why is it eligible for discount return false for this guy? I can just hit F12 and we'll see that the method appears up here and I can see, well here, we're only giving discounts to customers who spend at least $2,000 each year and this guy did not spend less than $2,000. So I can basically time travel, see everything that happened and this also updates the visual branching that we can see. So you can see that everything that returned false is green and everything that's false is red. And if I wanna, let's say, change this so that int try parse will return false. So I'm gonna go ahead and say this, blah, blah, blah, blah, like so. Now you see that as soon as I lifted my finger off the keyboard, both it updated to show me that try parse return false, but it also de-emphasized this if statement because we're not gonna go there anymore. Does that make sense? Yeah. So there you go. I can time travel debugging. So are there scenarios where, what happens in a scenario where the code you're gonna be running actually makes a permanent change, writes to a database or writes to a file when you're running the code ahead of time, right? So what happens in a situation where the code that's going to be run that hasn't been run yet actually makes physical changes? That's a perfect question. So that is the one limitation of this feature, right? So if I were to go ahead in here and do any sort of thing that has side effects to the external world, I can say console.readline for example. And now what you'll see is we just update and we see the results only up until this point. But if I hit F10 past the console.readline, I'll be able to actually see the results. So that's the thing that's gonna work for you there. The other thing that's gonna help you with that is the new step back functionality that Microsoft has announced at Build. If you saw Casey's Anderson's wonderful talk about supercharging your debugger, she showed that the next version of Visual Studio is gonna have a step back button. So you can, if you hit a break point at the beginning of your code and you hit another break point, let's say after that console.readline, you'll be able to step back and get back to see all this information Oscar is giving you beforehand. Does that make sense? Yep. Now the other thing that's really helpful with time travel debugging here is the ability to go into a for each loop and see all the different iterations and time travel between them. So I've got a for each loop right here. Now you'll notice again that this is a list of customers that I'm for each over but nobody bothered to implement two string on customer but that's not a problem at all. I'm just gonna go ahead and say, start the first name and the ID. And from this moment on, all this code will always remember that first name and ID is what I wanna see whenever I'm looking at a customer object. By the way, I can even take this experience to the extreme. So let's say every customer has an address and every address has a zip code and I'd really like to see the zip code for each and every one of these customers and I don't wanna expand each one individually. I can just start the nested property, the zip code inside the address and then start the address inside a customer. And there we go. That's awesome. Thank you. So now let's look at this time travel debugging experience here. So Oscoot is telling me that- I wish I had seen this a month ago. Cool. So Oscoot is telling me what the current item in the for each loop is. It's telling me I've got 30 items in this for each loop. It's telling me that the current one, Don, it's going to go here into this case clause. So the other case clause is the emphasized for me, right? Okay. And these numeric annotations here basically tell me how did I get here? Like we have 18 times inside these 30 customers that we went into this case clause. So if I wanna see, wait, how does this code inside of this case clause behave? I just pick one of the customer that ended up in this case clause and I can see exactly what happened. I can see that some customers, so this code is in charge of sending gifts to customers but some customers are only gonna get a thank you, a measly thank you letter. And we've been getting complaints from customers that are not satisfied with their gift and they feel that they've been screwed and we wanna debug it and see why that that happens. So first thing you can see here is that I can navigate between all these 18 items which are the ones that went inside of this case clause or I can go in here and navigate between all the ones who went inside of this case clause. Now notice that I also have a pretty complicated if statement here. Now, first of all, if Oscoot is telling me what is true and what is false and I can actually hover over this and get the data tip and see to get yearly earnings method returned only this number which is not larger than that number. That's why this is false and here the membership label level was B plus. That's why this return false, et cetera, et cetera. But if I wanna see, wait, I wanna see all the items where this if statement returned true or this if statement returned false, I can just hover over this guy. This tells me there are 12 instances within the 30 customers we've reached over where this if statement returned true, right? Now I can go and actually time travel to each one of those or I can filter and see just the ones where the if statement returned false or just the ones where the if statement returned true. Now another really convenient way to do time travel, let's look inside of this else clause. So I see I've got six instances, six customers where I went inside this else clause. Now let's, and we're sending a thank you letter based on the email. Let's say I wanna pivot my time travel debugging experience based on the email. What that means is I can just hover over this guy, this guy's email, and then hover over this. And this shows me what customer dot get email address returned for in each one of these. So in the fifth iteration it returned this email in the ninth iteration it returned that email, et cetera, et cetera. And I can just click on these guys and then it will navigate inside this debugging experience. Now the other thing that's really cool when I'm stepping through a for each loop is that sometimes the actual bug is not inside the for each loop but rather a method that the for each loop calls. So let's go for example to the send gift method here. And I'm just gonna hit F12. Osco knows that I'm in time travel debugging mode. So instead of doing a go to definition it did go to execution. So I can see the execution of this code right here. And now I can actually go and when I time travel inside of the outer for each loop in the method that's calling the call the method will also update to show me, well, if it didn't get called it's all grayed out. And if it did get called it showed me what actually happened, how this particular instance of this method was executed. Does that make sense? Yeah. Cool, that's amazing. Thank you so much. So the next thing I wanna talk about is the really exciting announcement that everybody's been waiting for or at least I've been waiting for. Yeah, it's an announcement we should just go to us. Yeah, we've got this, we're in the new version of the studio just I love doing behind the scenes and I can go video, screen, I can do picture and picture. So you guys let me know, I've been doing a little bit of picture and picture and I'm interested in your viewer's opinion on whether or not you like that. So if we're doing code and I do picture and picture, do you like that or is it annoying? So just in the show notes, let me know. Perfect. So I'm gonna show you a new experience we're working on at Auscode which is a collaborative debugging experience. So what that means. So everything you've showed us so far is in version four? Yeah, version four. Which is available now? No, which is coming soon. Coming soon, okay. And some of the search functionality that I showed you at the very beginning is version and the export functionality as well are already available as part of version 3.5 that's out right now. I'm next, I'm gonna show you the link debugging experience that is version three, it's already available. That's the version we sim shipped on the very same day that Visual Studio 2017 came out. And then we're gonna look at a brand new thing which is the Auscode Cloud Debugger which allows me to basically collaborate with other colleagues on debugging through their favorite web browser that's running in their favorite operating system or their iPads. But first let's look at link debugging. So link debugging is one of the most interesting things that we've done in Auscode version 3.0. Basically it's the idea that using link shouldn't be a sacrifice, right? When I'm right, and right now it sort of is because if you write your code as long link queries you're gaining readability, you're gaining a much more succinct, beautiful functional declarative style of coding. But at the same time, if you try to step over a big link query like this one, it either finished or it's for an exception but you have no idea what actually happened inside. So we're gonna look at this example as a link query and then we're gonna fix the same problem using the time travel debugging experience collaboratively. So what I have here is I have a beautiful poem that I wrote and I have a link query that's trying to find what is the word that appears most frequently inside of this poem. And we've added an assertion to show that right now there's a failure in here because we were expecting this link algorithm to return the word bugs by it's actually returning the word code right now. And I see that the word bugs appears one, two, three, four times but the word code only appears one, two, three times. So this definitely should have been the word bugs and I needed to figure out what happened here. So if I didn't have Auscode what I'd probably do is I'd either try to split this up or sometimes I'd just go ahead and rewrite this entire for each loop just as this entire link statement to just a bunch of for each loop just so that I can figure out what happened, right? I can step through it. But rather than doing all of that we're gonna use the Auscode link debugging experience. So you see here that right now I have these annotations that are telling me how many items came from each part of the link query. Now these numbers already as part of Auscode and version three point, they're already part of the live coding experience. So if I change my link query while I'm debugging these numbers will update in real time and we'll see that in just a moment. But the first thing I'll do is I'll just click on this guy and now I'm inside the link debugging mode, okay? And when I'm inside the link debugging mode Auscode basically shows me a visualization for each item how it traveled through the link pipeline. So we see for example, we begin with 99 which is the very first word in our comb here and we see that 99 came from split then the word clause returned true then we group by the word itself and then we order by how many times it appeared in the poem. So we see that 99 appears one, two that's why this lambda expression here returned to number two. So we order by the count and then we take the last one, right? Yep. Right. So the next thing I can do here is I can do the same sort of time travel that's already available in Auscode version three point O through the link statement. So for example, I can click anywhere in here and this visualization will update to show me how that particular item traveled through the link pipeline. For example, if I select this string empty I see that the where clause returned false and that's why it didn't carry on through to the rest of the link pipeline. Or if I want to, I can look at the where clause and I can decide if I wanna see the 79 items that came in or the 29 items that came out of the where operator, right? And these red, green indicators on the right hand side tell me which ones the where predicate returned true on and which one it returned false on. Now, we still haven't solved this bug. So I'm gonna need some more information. And I'm gonna do that by opening up the link analysis window which I can access by clicking this button right here or clicking that button right over there as well. And what the link analysis window will do it will basically just show me the before and after of each operator. So I've got my split, I've got where I've got group by right now I'm looking at group by on the left hand side I'm seeing everything that came in and on the right hand side I'm seeing everything that came out. Now I can click anywhere I want and see what happened to those items, right? So the only thing I know about this issue is that it has something to do with the word bugs that was the word that we expected to get out of this. So I type in bugs and I'm gonna go ahead and do a filtering. Now I can immediately see the problem, right? So I see that I've got these three instances of the word bugs going inside of this group but I've got another instance of the word bugs that's going into an entirely different group. So I actually have two problems here. First I need to take care of the casing issue, right? I don't care if it's O lowercase or uppercase it's still the same word. And I also need to remove that closing parenthesis at the end. So let's go ahead and do that but we're gonna do that with live coding. So I'm gonna exit the link debugging mode and you'll notice how right now I've got 79 items coming out of split but as soon as I add those missing separators whoops, those missing separators. Boom. Now we've got 81 items coming through here. The numbers updated as soon as I lift my fingers off the keyboard. And you also to notice that right now I've got 19 items coming from the group by because the lowercase and the uppercase are going into different groups. So I'm gonna go ahead and fix that as well. By saying select, I goes to I to lower. Boom. Now we've got 18 items. So let's just visually verify that we fixed indeed we fixed this bug. I'm gonna open up the link analysis window one more time and I'm gonna go to that uppercase word bugs right at the bottom here which was the one that was causing us problems. Now you'll notice these animations here where I wanna go from the where to the select you see how the animation sort of shows me the flow of the link query. So we see that the uppercase word bugs became lowercase and then we go to the group by we see that this time around we've got one, two, three, four items coming in. We go to order by now we see the before and the after, right? So this is not sorted and this is sorted and now bugs is the last one as we expected. So now when we hit F10, we see that indeed we solved the problem. Very, very cool. Cool. So one of the other things we've recently added to this functionality is two things. First, we added support for Iquariables. So this now works with linked entity framework linked to SQL and all of that. The other thing we added which is pretty cool is this new pin button up here. So again, this window shows you the before and after of each operator. But let's say you wanna see for each one of these items that were already sorted what item they came from originally, right? So this pin button will allow me to select any chunk of the link query. And it's sort of like the same thing you do when you have a bug in a SQL statement, right? If you have a bug in a SQL statement, you try to break it into smaller parts and see what the flow of information was with each one of those parts. The pin button will allow you to do that with just one click. So now when I've pinned it here, I'm seeing this entire chunk of the link query that's highlighted here. So I see on the left hand side, I'm seeing the initial words that came here from split. And on the right hand side, I'm seeing the groups after they were already sorted with the order by. So I can see what items came inside of which group from the very beginning of the query before we even filtered out the empty strings and so on and so forth. Nice. Cool. So now let's talk about the collaborative debugging experience. So I'm gonna talk to you about a really exciting new product that we're coming out with, which is the Auscode Cloud Debugger. And what that does is it basically allows me to share debugging sessions where I'm trying to figure out a bug. And that's really, in my opinion, one of the most frustrating things about debugging in that nowadays we have amazing collaboration on code in GitHub pull requests and issues and VSTs pull requests where we can zoom in on every last line of code and nitpick and scrutinize and make sure we collaboratively work as a team to bake in quality into our code base. But for debugging, we don't have an equivalent for that right now. And what this means is that oftentimes you get assigned a bug and right away you have to do a lot of research, right? You have to figure out where to put the break points, try to put a break point here, try to put a break point there. You gain a lot of insight into where the code is, where the bug is hiding, what bits of code are involved. But sometimes you just figure out that, okay, well, actually this is part of the code base that I don't own personally and I'm not familiar enough. I'm just gonna go ahead and assign this bug to somebody else. And at that point all of your knowledge and all of your insight about what the state of the system was and what was that all elusive chain of consequences that happened that led up to the bug, all of that effort you spent basically dies and go to software effort heaven along with all of the time we spend at the beginning of the sprint, planning out how much time each thing is gonna take, not taking into account the fact that we're gonna spend about two more weeks with all these bugs that we can't really account for and we don't know how long that's gonna take. So what we've done is we created a tool that does to debugging what GitHub does to coding and I'll show you that right now. So we are now working inside of a company called Poetry Tech. It's a hip new startup from San Francisco that makes all these exciting algorithms for analyzing poetry and this is the part where I get to claim my long lost dream of being a Hollywood actor because I'm gonna role play as all three of these characters. And our story starts with Bill. He's the DevOps guy. He's the one who got the call from the customer that it turns out that our algorithm which is supposed to find the most frequent word in each poem is actually failing for a customer and they're calling us on the phone and they're very upset. So we're gonna go here. Actually, first off, what Bill does is he needs to create a repo and he's inside of Visual Studio and he went ahead and created a repo, a repo scenario for this bug. So what we see here, let's actually look at this without the debugger first. So what we see here is that they're using a different version of the finding most frequent word algorithm. This one is not using link or functional programming. It's written imperatively. So what we do is we basically just split the string like we did before and then we check. If it's not a string empty, we keep a dictionary around that's gonna count how many occurrences of each word we have. If the word already appears, we just plus one it and if it doesn't, we initialize it to one. That's simple enough. So I'm really sorry, but I already totally spoil gave you major spoilers already. You probably already know what the issue is here, but hey, at least it's not Game of Thrones, right? But what Bill does is he finds the problem and he finds the repo. He added an assertion so that his colleagues can the devs can actually see what the issue was and he went ahead and click the share button. Okay, so wait, a share button inside of Visual Studio Deepbubber, what does that mean? So when you click this guy, what it does is it immediately opens up this web interface where you can actually see what the code did and it's telling us. You are now viewing an actual execution that occurred on Bill's machine, but you can change the code to experiment and create a what if scenario. So that's really interesting. So I can actually log in here from my favorite browser and see what the code was doing. And I see that Bill from DevOps helpfully added this assertion so that we can actually see what the problem was. And now need to fix it. Now, what actually happened behind the scenes as soon as you click that share button is that Oz could went ahead and both uploaded just the relevant bits of the information and in the background, it also updated a dump of the program into the cloud. Okay, and what that means is that now you can do actual, the same exact debugging experience I showed you in Oz code version four inside your browser. So now what we're gonna do here, so Bill handed the bug off to Jim and Jim is a junior C-sharp developer. So he looks at the code and he tries to figure out he sees that he has the same functionality that we had before where you can actually hover over things and you can have a data tip so we can see what split method return. And he's in the browser right now, not in Visual Studio. Exactly, we're in the browser and that's what's gonna allow us to collaborate on this bug. So I can hover over. And did you have to write that capability yourself or? Yes, so this is the Oz code Cloud Debugger. Okay. Yeah, so what we see here is that we have all the same functionality that I showed you before. I can time travel and all of that. But Bill is a junior C-sharp developer and he doesn't quite understand the bug. So he's gonna need some help. So he's gonna write a comment here and say, hey, Joan, which and Joan is Jim's supervisor, can quite figure out what's going on here. The only thing that looks fishy is the last occurrence. Well, I'm not even gonna try to spell that one. The last iteration of the word. And then he wants to show Joan that this instance of the word bugs right here looks a bit fishy. So he's gonna click this button that says comment and he actually created a link to that particular variable value. What do you think? So now what we're doing, Jim hands off the bug to Joan and Joan is a senior architect on the team. She's Jim's supervisor. She gets a notification via email that Jim needs help and she's gonna jump back in to the browser and now, whoops, and now I'm logged in as Joan here and Joan looks at the code. She hovers over this thing that says we've got 79 iterations of this for each loop. She knows she needs to search for the word bugs because that's the thing that's causing the problem. And now when she clicks on this instance, we do time travel debugging again to this instance of the word bugs. And we see that on the first iteration of the word bugs, we updated the dictionary to just one as we expected. And then when we go to the second iteration, we updated it to two as we expected. Then on the third iteration, you see this animation is showing you what change when you slip between iterations. So we went from two to three. And then on the very last iteration, what we do here is because it's not the same word, we see that it updated a different word into one. So now that Joan understands this, she wants to tell Jim what's up. So she says, hey, Jim, indeed the problem is that the last iteration wasn't added and she creates a link here. But the former iterations, and we'll say here that it's because, because it's uppercase, so she can actually explain the issue. But the former iterations, and she can just go ahead and create a point in time link.  But the former iteration was lowercase and had a trailing closing parenthesis. Closing parenthesis, please fix. And let's see how it goes. Okay, so now that we've done that, Joan sends her comment and we're back to Jim. Now Jim, now that we're logged in as Jim, Jim sees that she added this comment and he can click on these links. And what that does is it highlights the points in time that Joan has pointed out, right? When he clicks this one, it goes back to that iteration and shows me the lowercase word bugs. And when I click on that iteration, it shows me the other one. Now I'm gonna go ahead and fix this bug as Jim. So I'm gonna go ahead here and add those missing separators like we did before. Okay, now as soon as I did that, it updated to show me now there are 81 instances in this array. And now I'm gonna also have to add the two lower, right here. Whoops, word.toLower. And if you look down here at the bottom, we will see that now we fixed the bug, right? The word has changed to the lowercase word bugs and the problem is solved. Wow. I'm gonna go ahead and propose these changes so that Joan can have a look at them. So I click on propose changes. Also it shows me the differer so I can see what was changed. I'll say, okay, it looks good. Now we're gonna go back to Joan and Joan's gonna need to approve these bug fix. And then we can even merge it into master and immediately let our continuous deployment pipeline take the rest from there. So we're gonna go back to Joan, log in as Joan again. And I can see that Jim proposed code changes just now. I can click on view execution and then Oscar tells me we are now viewing a speculative what if analysis based on changes that Jim has proposed. And I can always go back from looking at the original, the original execution of the code and the execution that has Jim's fixes with it. Once I'm content that the bug fix is good, I can click on review changes. I can see as Joan, I can see the changes that Jim made. And now I've got two options. Oscar tells me that these changes have no conflicts with the master branch and I can merge them automatically. So if I click approve bug fix, it just immediately merges them and we can take our continuous, let our continuous deployment take it from there.  And what that will do is it will create a patch file and I'll get the apply these changes locally in Visual Studio, the auscode extension set of Visual Studio will pick up on that and I can just apply them into whatever branch I am on right now. But Joan is just going to click on approve bug fix. We see that these code changes have been approved by Joan and merged into master. She says, great job, Jim. And ta-da, we are done. And so does that, that's amazing. Does that assume, oh, what happened? Oh, there we go. So does that assume a particular version of source code, particular CI CD pipeline? Okay, so that's a great question. So what that does, right now it's working against Git. So you can use it on GitHub, you can use it on Visual Studio online. And another nice thing is that this can actually show you in the future as long as you actually connect auscode to your source control, which you can elect to do or you can choose not to do, it's up to you. But if you do decide to do that, then auscode will actually know to give you go to definition and even intelligence because it will pick up on your entire solution structure and so forth. Wow, that's amazing. Yeah, and now this is the best part. Everything that I showed you about the auscode Cloud Debugger and we're announcing this right here right now on Visual Studio Tollbox is completely open source for .NET open source community can just take advantage of this absolutely free. So what it does is it actually goes ahead and detects whether the code you are debugging is against a GitHub repository that's open source. And if it is then you can just use this completely for free and will allow you to collaborate on your debugging sessions. So does it create pull requests? And right now what the button you did is it automatically merges into a branch. We're also considering having another option where you can actually create a pull request with one click. Okay, yeah. Wow, that's amazing. Thank you so much. And when this is available now? No, this is currently something that we're working on. We're gonna announce a public preview soon. It's just a preview. And we'd love to hear feedback from the community if they like it, what we can improve upon it even further. We're also working on integration into VSTS so that even enabling such radical scenarios where if we have a VSTS continuous integration set up and the unit test fails, let's just jump right into this debugging session and see what the failure was, stuff like that. So there's a lot of endless possibilities of where we're gonna take this technology. Wow, that is great stuff. Thank you. All right, so folks will have links in the show notes on where to get the latest version, where they can get more information on what's coming. It's great stuff. Okay, hope you enjoyed that. Definitely worth checking out this great tool and we will see you next time on Visual Studio Toolbox.


Hey, what's up guys? Welcome to a new video. So there's been a ton of new subscribers to the channel recently, which is absolutely awesome.  So I think it'd be quite a nice time. I'm just going to take you inside the account. My first ever Shopify drop shipping account and just show you what the first six to 12 months looks like for me on Shopify and actually drop shipping in the UK. So I'm going to be showing you absolutely everything in this video. I'm going to be taking you inside my Shopify dashboard here. As you can see showing you the sales volume month by month, showing you the apps I used and my obloh accounts, my AliExpress accounts. You can see all the orders absolutely everything. And just as we go through then just showing you why I sold certain products or why I used certain apps. Just to give you guys an idea then of how I did it because I still say it today. The best way to become successful at anything is to replicate what somebody has done. So I'm going to be showing you the store itself as well. I still pay for the subscription for this plan for this store as well. So it is still live. You can still go out and find it. So I will be showing you the URL. So if you do ever get stuck or you need product ideas or you're not sure how to do a layout or product descriptions, whatever it is, then this site is still live so you can still use it even today as a reference point. So that's the topic of the video anyway. Thanks for tuning in. Before we get into it, I just want to quickly mention as always in every single YouTube video, I give away a free one-to-one consultation call with me. So chat for me and you to speak one-to-one. You can ask me whatever you like, whether it's Facebook ads, you want your store reviewing or help pick in certain products, whatever it is. I can help you out. And if that's something that you want a chance to win then all you simply have to do is dead easy. It's simply like the video and leave a comment down below. If you commented on my previous video then just make sure you stay tuned to the end of this one. Whether winner will be announced. And with that being said, then guys, let's get straight into it. So the first thing I want to show you guys then is the sales numbers, because obviously that's the most interesting thing. And the first month I want to show you then is October because this is the month then in which I started making a significant amount of money. And was the month in which I decided to start writing my resignation letter by the end of October, then I'd handed in my resignation letter to my boss at the time. And we agreed that because at that point I was in quite an important role, I was managing one of the biggest accounts for that company at the time that I agreed to stay on till the end of the year. And my one of my I think my last day was the 22nd or 23rd of December. I'm not quite sure. I can't remember now. So yeah, so this was pretty much within the first few months of start and drop shipping, I was fortunate enough to be making a decent amount of money to the point where I could quit my job. However, that wasn't my first month. Then it would take you all the way back to June 2016. So June was my first month. Then you can see I did a little bit over 30 pounds in sales. Absolutely nothing impressive at all. But at that point, it doesn't really matter. In the beginning, it's all about motivation and it's the little wins that make the difference. So the fact that somebody had actually come on to my store because I'd driven traffic from Facebook ads, it meant a lot. It meant I could see the potential in this business model. And it gave me the motivation to spend even more on ads, which I did in July. So if we take a look at July, I did 357 pounds in revenue.  I think I even made a loss this month. But to me, it didn't really matter. I saw consistent sales coming in every single day by these few days here, as you can see. But to me, it was enough for me to see the potential in the business model and actually think, right, if I can get my head around Facebook ads and become a bit better at marketing, then I can actually turn this into a profitable business. And because I hated my nine to five jobs so much at the time, then I was willing to do whatever it took to make it work. So again, I decided to scale things, invest a bit more money into ads. And then in August is where things started to go pretty decently for me. So in August, then this is when I first started to make a profit. If we just have a look at the Ad Manager account for this store. So August 2016, then I spent five hundred and thirty pound on ads. Twelve hundred in revenue, two point four by Morales. And if I remember rightly, I made about five hundred pounds profit at this point. So again, nothing crazy impressive, but it's enough to motivate me to keep going and spur me on. So keep investing more money, put more time into researching and learning. And like I said, at the beginning, that is all it is all about. You can't expect to spend a week learning a business model and then become a millionaire. It takes time and it takes effort. It takes learning.  So an important tip for all the beginners watching this video is find something that motivates you to work on your side business, whether it's dropshipping or whatever it is, it doesn't matter. Find whatever motivates you and then incorporate that into your day. It sounds stupid, but what I used to do is watch videos of super cars on YouTube before I did work or if I wasn't feeling it that particular day because watching a YouTube video of a super car and the people who own them, that was enough to motivate me and build my energy levels to the point where I was motivated enough to work my business. It sounds stupid, but trust me, it will make all the difference. If you can find what motivates you, you'll find it a lot easier. So this was September then. This is where things went from strength to strength. It seemed like at this point, the more money I invested into Facebook ads, then the more money I made in return. And this was actually a really profitable month for me, too. In fact, if we take a look at my Ad Manager account. So first to the 30th.  So at this point, things were very profitable for me. In fact, in this month, I think this was the first month in which I made more money than my actual job did. And this was like my third or fourth month job ship. And so you can imagine how excited I was at the time. And again, it just motivated the hell out of me to continue doing more research, continue learning, always be learning, guys, never, ever take your foot off the accelerator. No, as corny as it sounds, it's 100 percent true. The next thing I want to point out as well is the product. So far up to this point, it's always been this product in case you haven't noticed. So you don't need a ton of different products then to make some decent money. You will literally only need that one winning product. And that can be the difference in between the job you're working now and doing dropship in full time. I really can be that much. So things again continue to go well. And in October was kind of like the point in which things started become very real for me. And I started thinking about quitting my job. And like I mentioned earlier, it was actually in October in which I wrote my resignation letter. Again, it was the same product, the same bracelet. It's literally the same bracelet, just different charms. In terms of profitability, if we just take a look at my ad spend for October, I think the rowers went down in this month. It did. So I spent nearly 10 grand on ads. But the product is dirt cheap. You can still go on to AliExpress and find this product now. So 10 grand on ads and 20 grand in revenue. I can't remember how much the product total cost was. But at this point, I was making like four, five, six grand a month clear profit. And after taxes, that was still pretty much triple what my job was making me. So at this point, it seemed like an absolute no brainer to go ahead and just quit my job. But I come to kind of like a dilemma at this point because because the shipping times can be quite unreliable when it comes to drop shipping, shipping from China. Then at this point, I kind of I kind of knew that if I wanted to quit my job and see an income for the next couple of months without risking that at this point, I knew things were going well because people ordering things for Christmas, right? And I knew that if I was drop shipping items still that certain items would be arriving after Christmas, probably from this point onwards. So this was when I decided to start sourcing products in bulk to make sure that I could sell consistently all the way up to the Christmas period and still make a decent income through November and December. So if we now look at the total products, you can see that the LED Liocolor starts to creep in because that's the product I started to test and experiment with. And because again, it was going well and it was a more expensive product. I could sell that product for 10 to 20 pounds, whereas these bracelets here I was selling anywhere from five to 10. So I was making more profit per order and they were selling well. So it just seemed like the ideal product to go ahead sourcing bulk and that was going to be my product moving forward then. So November, I only did half the revenue, but that was purely become down to stock levels and the fact that I didn't want to ship out a ton of orders right before Christmas, just in case they didn't arrive. And then if we have a look at December sales again, continue to be pretty good. I did nearly 10 grand considering I didn't sell from the 22nd of December onwards. And at this point, you can see it's all LED light up colors. In terms of profitability, then let's have a look at my manager account. Now, the reason the revenue was so low is purely because at that point, I didn't have enough money in the bank to order enough product to sell as much as I wanted to do. I had to limit how much I was spending on Facebook purely because I just didn't have the stock levels. So anyway, in October, we missed out November, but let's just have a quick look. I spent 4.6 K 2.0 RS, which was pretty nice. And in December, I think it actually went down. So I spent more to get less in return. Now, that's because December is like the most competitive time in terms of Facebook advertising, just probably because every person in e-commerce is on there to try and sell their products. And the reason it's so low then is purely because of how competitive the space is. And plus, because I wasn't spending that much money to spend five grand over December in one of the most competitive spaces, in my opinion, on Facebook is not a lot of money. And therefore, that's why my price is so low. And that's partly the reason why I don't mind showing you guys the fact and telling people that I actively sell LED light up colors because it is in a competitive space. It's one of the most competitive spaces.  So anyway, that was the first six months in terms of job shipping in terms of the apps I use. And I think I've been talking for like 10 minutes already. But these are the apps I use then. I haven't added any, I haven't removed any. You can see I've still got MailChimp, even though the integration no longer works. So all text was for SEO purposes. Crushpix was to make my site load faster so you can have a lot more higher detailed images.  Easy contact form, self-explanatory, email signatures. This was really cool. Basically, what it does is you can create like logos and stuff to put at the bottom of your emails, just so you come across as a more professional company, basically. For a filter, then it was just like an added filter. You can add so all of your orders get rated on top of what the Shopify rating system is. Free shipping bar by Hexdom is, in fact, I can show you if I show you the store. So free shipping bar by Hexdom is this blue bar at the top. I recommend, in fact, doesn't matter what store, what niche you're in. That's something that you have that installed. What else do we have? We've got Kudo Buzz SEO, so that's an SEO app MailChimp. We've got a map. So at the point, I had a premises for this business. So I had, like, a Google map on my store so people could see where we were located. Overloads, overload, plug-in SEO, another SEO app. Product discount was, which was a pretty cool app to be honest. I'm not sure how much it is now. I paid £100 back in the day for it and you get like permanent access to its features. And basically what you can do is you can set discounts for certain products over certain time periods. Next one then was product reviews. Back then, I wasn't using looks. I was just simply using the Shopify standard one. Product upsell is a must have app, not necessarily this app specifically, but definitely an upsell app, SEO image optimizer. Again, another SEO app, size matters. So this was a size chart. So for certain products that required a sizing guide, this was the app I used just because it looked the most professional when I integrated it into my stores. And then finally, I had a social sharing buttons app. So I could share things like my Facebook links, Instagram links, just nice and neatly and tidyly within my store. Next, then let's have a quick look at the analytics, probably because a lot of people say that you have to work on 3% conversion value. But in my opinion, I think that's completely wrong. I think the store average like almost double that if we just take a quick look. Where are we? Let's go all the way back to the beginning. Let's go July 2016 to June 2017. Apply that. And as we can see, so yeah, almost a 6% conversion rate. So in terms of actual working on 3% basis, if you've got decent products and you're running decent ads, then you can actually achieve a lot higher percentage conversion rate. Another thing worth pointing out as well is the fact that the majority of this traffic come from or orders in fact, come from the UK, as you can see there. Online store sessions as well was mainly mobile devices. In fact, there's quite a significant amount by tablet as well, which I didn't realize it's quite interesting. It's all through Facebook, as you can see, a little bit through Instagram, but that's just through my profile. And then we've got more sales data and online store traffic sessions, etc. So the next thing I want to show you then is actually inside my iBlow dashboard, although there's not really a lot to show you. You can see the kind of top five products. Again, I don't mind showing you these. In fact, I'm going to block out one of these because I still sell this actual product today, so I don't want to reveal that one just yet. And then moving on, there's not really a lot more to show you guys there. What I do want to show you though is inside my AliExpress account because this is important. This is how you fulfill your orders. So this is my orders within my AliExpress account. If we scroll to the bottom, you can see this is every single order for this store. And if we go to the bottom, you can see there's 129 different pages of different orders. So what I used to do then is have somebody fulfill all of the orders, but they're not paid for them. So what they would do is they would preload the order into AliExpress. But before they go ahead and click that final button to pay for the order, they would exit the process. They would literally just click off of AliExpress, open up a new one and then process the next order. And what would happen is when you come into your orders screen here, we'll just let this load back up again. Here we go. So once you come to the screen, which was the screen we were just on, then this awaiting payment here would have how many orders, wherever, whichever, how many orders they're actually awaiting payment. And you just simply click on that. And if there's orders in here, then it will give you an option to pay for all orders in one go. So one of the common problems I had when I first started was the fact that I think my bank limited my card to my current member. I think it was 20 or 30 transactions per day. So this was a really good way of avoiding that problem. And this is exactly how I work with my VAs. And a lot of people say that they don't want to give away their card details to people they've never met or people in the Philippines, wherever it is. But you don't have to because you don't have a card on your account.  And then go ahead and place all of your orders all in one go. To finish the video off, then I'm just going to show you the store itself. I'm not going to spend too much time on it. Though to be honest, purely because you guys can go out and check out this same exact website if you so choose. But just to kind of show you the actual website itself. And if we take a look at the actual product page itself, it's very simple and basic. However, it's neat and tidy and it served the purpose. And as you can see, it produced the results as well. In case you're wondering what this is, then these are comments embedded from the actual ad itself. What I found was that people would actually come back and leave a review within the comments and actually post images and pictures of their dogs wearing the products as well, which is just absolute social proof gold. I still do this today on every single store of mine. And actually, when I implemented this implemented these comments, I actually made a big difference to my conversion rate as well. And more and more people started to do it as well. So it's just a win-win or roundtrip. Definitely one of the things I recommend you do in your store and definitely one of the things I'll show you how to do inside my course as well. So with that being said, guys, I think that pretty much just wraps it up. In fact, what I'll do is I'll just show you what it looks like on the mobile as well, because as you just saw, the majority of my business come from mobile because it doesn't really look that good on desktop, but on a mobile device, you can see it's all really clean, neat and tidy and pleasing to the eye. And with that being said, guys, I've been talking way too long. I'm going to wrap the video up there. If you're still watching, thank you very much. I really, really, really appreciate the support on the channel recently. If you enjoyed the video and you got some value from it, all I ask is you simply leave a like. And if you want a chance to win that one-to-one consultation call with me, make sure you leave a comment down below as well. And with that being said, then, let's announce the winner of the previous video. So this is the previous video, why most people tend to fail in 2019. If you haven't watched it yet, please do go and make sure you check it out. People seem to be enjoying it anyway. It's got 90 likes, which is absolutely awesome. So thank you very much for all the support. I really do appreciate it, by the way. So anyway, I'm going to take the video URL, put it into our YouTube random comment picker, click start and see who the winner then of the previous video is. So the winner of the previous video then is this person here. Thank you very much for your comment. Make sure you reach out on Instagram then and we can get that call arranged. And guys, if you just want to get straight down to business and book a call right away, you can do so. Just make sure you check out the links in the video description below. And with that being said, then, thanks again for tuning in. I hope you enjoyed it and I see you in the next one.


back to my channel. Today's video as you can see from the title it is going to be another hair review video. This video is sponsored by Love Me Hair so thank you Lummies for sponsoring this video. If you want to see how I installed this beautiful beautiful undetectable lace front wig then just keep on watching. Okay so this is how your wig is gonna come up perfectly wrapped. This is 22 inches I believe. I believe it is a 13 by 4 lace front wig. This one did come with adjustable elastic bands. It already came pre-bleached and with some baby hairs and there's the elastic band that I'm removing and then it came with two combs on the side. One comb in the middle and a comb in the back and the curls are super cute. Literally all you have to do is add water which you'll see I'll do later on in the video and I did go ahead and bleach the knots a little bit more. As you can see this is their undetectable lace and they bleached the knots but there were still a few knots that was still black and just for it to really just mimic my skin tone I just decided to go in and go ahead and bleach it again. You don't need much bleach. You want your bleach to be not thick but not loose either. Kind of like in between that I know people hate when people do these videos and they can't really explain that. So just make sure it's not falling off of your spoon, knife, or applicator brush. And using a very very light hand I'll go ahead and spread that onto the lace making sure not to press it into the lace because you don't want it to go onto the hair and bleach the hair. You just want your knots to be bleached. After washing out the bleach I will go ahead and put the wig on my head. I always put the wig on my head to see how it fits to see if I need to add the elastic band or adjust the back straps and see if I want to use the combs or if I don't want to use the combs. This wig did come already pre-plucked like I said but I did go ahead and pluck just a little bit more in the front and on the side since I did do a side part. If I would have did a middle part there's literally no plucking that needed to be done but since I did do a side part I did want to pluck just a little bit more to mimic the hairline a little bit more for me. And right here I'm just zooming in to show you guys that this is definitely undetectable. Like look how well it blends in with my skin tone. This lace, oh my goodness girl you need it. Their undetectable lace is literally a 10 out of 10. And I did go ahead and add in my elastic band but for it to be really melted into my skin I did go ahead and decide to use the even New York lace glue. I'm putting this in front of my actual hairline because I don't need my edges being ripped out honey so once I put the little dots I'll go ahead and go in with a reticle comb and then just spread that out evenly and then you want to lay your lace once it gets clear or as clear as possible.  And like I said you want it to be as clear as possible this is this is really good enough for me then I'll just go ahead and lay the lace down because I am gonna go ahead and wrap this with an elastic band so you want it as clear as possible but if it's still a little bit of white it's okay because you're just gonna wrap it and tie it down with an elastic band or a hair scarf. If you watched any other hair tutorials on my page then you know never cut your lace with scissors always go in with a eyebrow razor you want a more jagged cut for a more jagged hairline to make it look more realistic. And since I knew I was gonna be wearing this wig to work I do work 12-hour shifts overnight so I decided to go ahead and go in with some got-to-be-glue free spray to make sure this wig is definitely secured for my long 12-hour shift. I had already wet the wig when I washed out the bleach on the lace so I'm just going in with a little bit of foaming or wrap lotion and putting that through the hair because since I've been raking my fingers through it and coming through it after plucking I wanted to define the curls a little bit more and literally that's all it takes. When I do side parts I especially like to go in with a little bit of concealer to really define that side part to make it really really nice and as you can see I got a little bit on the hair but this is a little hack of how to fix that. I like to go in with mascara and just put the mascara over where I put too much concealer. You can also use this hack if you over-bleach the knots on the hair and if you get the hair blonde you can just use that little hack and kind of just fill it in. So like I said I am wearing this wig to work this same day. I'm recording this video so I did want to ensure that the wig is laying as flat as possible. It was already laying pretty flat but y'all know I love to go in with my hot comb to make sure it is all flat and looking really nice. Okay so you made it to the end. This is she. This is her. She is installed and really really cute. So getting into the box you do get your box. You may already have recorded this but obviously you get your wig that's on my head.  Inside your goodie bag is a edge brush. You also get a love me hair. What is it like? Itch, lay down, wrap, something. And then if you guys watch my other love me videos then you already should know what this is. This is one of their cute little mirrors. I absolutely love getting these because I do keep them in various purses of mine so super cute when you need one on the go.  So let's chat about the wig. I am wearing their undetectable lace water wave 5. Well no I'm not wearing a closure. Okay so I requested a undetectable 5 by 5 lace closure wig but I think they mixed it up and they sent me a lace front wig so I would have to get all the information about the wig down below. I do know it is their undetectable lace though because baby where's the lace? Where's the lace? Okay please find it for me. Please and thank you. So yeah really really cute. I love love me undetectable lace. You can't even tell where the lace is. So yeah just guessing this may be a 13 by 4 lace front wig undetectable lace but yeah anyways so I'm gonna email them and get all the information for this particular wig like the dimensions for it. I do know it is their undetectable lace front wig but I'm not sure exactly the link and everything because I think they mixed up I was supposed to get a closure but they sent me a frontal but you know never let's okay it's cool maybe next time we'll do the closure and then we can talk about that okay but yes I absolutely love this wig y'all know I love love me hair love me hair is one of my definitely top three favorite hair companies of all time it's super super cute the curl pattern is so cute I literally just put water on it and then I also put in a little bit of that foaming wrap lotion just a little bit in the front the back I didn't even have to do anything to because the curls are so cute yeah this is the hair don't forget to like this video comment and subscribe and it's my next video obviously let me spin bye guys