Welcome back. So, there are several questions people have I will quickly answer them and then get on to the other topics and some more exercise problems for you. How to find other existing? So, the first question I will answer is how do you find other existing modules like math module? Well, you cannot quite find them that easily in the sense that you cannot do a find or something like that. The best way is if you have installed any new packages you know what you have installed, but by default if you want to find out the standard library, there is excellent documentation available at the python.org I will show you the page docs.python.org. Unfortunately, the network for me is down. I am not able to show you that. So, I will write out the link here. It is a standard place where you get plenty of documentation on python. There is a full fledged python tutorial and information on all the standard library packages. From there you can find you can even search there and you will be able to find what you can do. Is there any test today? I think we will have one more little test today and then we will give you some assignments for the week. Next question, how can we import package from other directory than from current directory? Unless you install the package there is no way you can import it in some arbitrary directory. You have explicitly to cd into that directory if you really need to do it. So, typically when you are creating many modules, the general approach that you follow is you create a package hierarchy or you create a set of modules in a current directory and then eventually you install it so that other people are able to do it. But unfortunately this is a little more complicated. It is a little too advanced for me to introduce at this stage. But there is a mechanism by which you can install python modules on the system and I am not discussing that right now. Third question, is there any command for exporting and importing the history of commands worked in IPython? Very good question. So, there is this command called percentage hist. We usually cover it in the advanced sections next week you will be looking at it. But percentage hist, so percentage hist or history basically it input it prints out the input and output history for all of your sorry the input history for all of your commands type so far. So, let us try it percentage hist and now it gives me the line numbers if you do not want them you say minus n, it will tell you all of the lines. These question mark commands are not legal python and therefore, they will not be executable lines of code. Everything else is actually legal lines of code. But all of these IP magic things are all IPython specific. So, do not rely on them. But supposing I am typing print hello, notice that I will get the print hello. Depending on your version of IPython behavior may be slightly different, but the hist command percentage hist will allow you to look at the lines of code. There is another command called save. This will allow you to set us save a set of lines. Remember that every line of yours is numbered in 1, in 2, in 3, in 4. So, you can always create a file by saying save line 1, line 3, line 5 so on and so forth. So, look at the options. This will be covered in greater detail next week, but there are commands to do this. Third question, please repeat creation of user defined modules. I spent so much time on this. Well, all you need to do is simple. Create a dot py file, make sure that the name of the file is a valid variable name. That is, it is an alphanumeric not starting with a number, starting with an alphabetical character. It is case sensitive. So, basically alphanumeric with underscores, no dots, no periods. So, basically it should be. So, if you want to say module foo bar, it will be foo underscore bar dot py. Create a file like that. Then you can import that as or hello world dot py can be the module name. Then I can say import hello world. That is all. So, basically create a file dot py file with a valid variable name as the name, the base name of the file. Say whatever python code you want inside that you should be able to import it. That is the python module. That is all there is to it. The only other thing you have to remember is any code inside that is going to be executed. So, most often your modules will contain various functions and things like that. Now, you may not want it to execute any code and print anything at the time in which case you have to do all this name gymnastics. You have to say check the value of name. If name is main, you can print something. If the name is not main, it will not print anything. So, if you need to print anything when it is running as a python module or rather when it is imported, you do not want to print it. Then you put anything inside the main. But if you want to print, then I run it like an executable. If I say python hello world, you put it inside if main. That is all. So, the name variable is local to every module and is equal to main only when the file is run as a script. That is the only thing you need to remember this last line. So, if you want to run a script and produce output, it is a good idea to put that inside an if underscore underscore name equals underscore underscore main dunder. And typically people will call double underscore as dunder. So, you say dunder init dunder because it is easier to translate double underscore double underscore. They call it dunder or dunder main dunder means two underscores main two underscores. Next question, how to run python on windows? Well, there are plenty of solutions. Please do that I am aware of. There are actually three. You can just download the python executable, install it, you are done. There is another package called python xy which is free. There is an yet another package called EPD, n thought python distribution which is an excellent python distribution. But it is free for use by educational institutes. It is not free for commercial entities. So, you can download it, install it and you have python. So, all of those options are available. Please list editors and links. Well, there are plenty of editors and plenty of links. I think you can find them out for yourselves by using Google. I will not directly recommend any of them in particular because there are so many editors. There is eclipse, there is Wim, there is Emacs, there is spider, there are several. And if you search on Google, you will get many, many hits. And I would suggest you learn something like Wim or Emacs because they are generally useful to know. Maybe Wim or something like that you can use and configure it to run, use it with python. So, let us get back to basic python. So, here is a little module fib that now returns fib of 100. So, what I want to look at next is take a few more little problems and look at something called test driven development in little more detail. So, we will get back to the slides in a little while. But what we will do is we will take a simple problem and we will try to motivate for you the use, how do you use tests, why do you use tests and how to do all of this test driven development. How do you become a better programmer? I will take it later. So, what we will do now is we will take a few simple problems and I remember that I said I will solve one particular problem again by looking at it a little closer. So, the problem we will consider is again let us look at this Fibonacci sequence itself. We wrote this function and I want to know see how I can use a process or a workflow by which I am able to write this code and make sure I am not making too many mistakes. So, first thing is we already wrote this Fibonacci. So, let me just make some unnecessary mistake. Imagine this is a typographical error, somehow I accidentally made this mistake, I do not know or I said is. So, I have made this mistake. How do I know? So, imagine you are starting to write this application, you are starting to write this Fibonacci function and you do not have it correct, it is wrong. Remember we were trying to count the number of words in a file and we wanted to deal with punctuation and all of those cases. How do we now solve that problem? So, the first thing if you remember was I said you first think of you know the function you have to write and now you need to think of the corner cases to know you have to check right. The function does something I want to make sure yes this function is correct. So, firstly what is the answer? If I give you Fib of n what should I get? So, Fib of say 5 or Fib of 2 should give me what? What should I expect? It should return a list 0, 1, 1 correct. Why? Because it should print the Fibonacci sequence until it hits 2 and before that. So, if 2 is hit it should not print that 2 right while current is less than n is the condition. This is what I expect right. So, let us see what I get if I do Fib of 2 what happens? First I have to import Fib or better still let me do percentage run Fib what is happened? It is gone into an infinite loop. It did not even get out what happened? So, let me do it again. It is not even returning. So, I cannot even make a function call. I cannot even import that module because it is gone. Let me import it and see what happens import Fib. This worked because I have not called the function. When I run it it will execute the Fib inside main right, but when I import it it is not because I have carefully put the Fib inside the main. Notice only when name is main is it going to do Fib. So, if I run it it will run that code. If I do not it would not which is nice. Now, let me do Fib dot Fib 2 gone infinite loop. So, to get out I press control C it will get out. What do I do? So, I go back debug debug and said I made a mistake current should be next. Now, import would not work. I have to reload. So, let us just run Fib again. Now, it works. Reload Fib. Now, when I do a run the Fib module is available the Fib function is available locally because it actually runs that and gives me that the contents of the name space that is there. I think some of you may have been confused. There are two things going on here. When I do percentage run I Python will execute Fib find out the name space and put it back into the current name space. So, when I do run Fib it ran the file, but it also makes the Fib function available. Now, if I do for example, import Fib how do you view and modify pi code on prompt use VIM use an editor. One of the questions is how do you view and modify a dot pi file on the prompt use an editor any editor G edit tile VIM E max eclipse whatever you want any good text editor. Don't use Microsoft word or something like that that is not a programming editor. So, now Fib is available. So, I say Fib of 2 gave me 1 1 it should give me 0 1 1 correct. Now, I make a mistake again. So, now problem is if I check for it now I only check for it once two days later if I come back make some mistakes I do not know which test to run I do not know which cases I gave as input what is correct what is wrong. So, with test driven development what you do is you write what are called test functions. So, now I write one more function called test underscore Fib. Now, inside this I can call Fib. So, I will say result equals Fib of 2 correct. Now, if result equals 0 comma 1 comma 1 print else very simple. Now, instead of doing this print business here I will simply run. So, what am I doing? I just wrote another function which will call Fib with an argument that I know 2 for which I expect the answer to be 0 1 1 correct is this clear to everyone. Now, all I do is I will say run says error unfortunately it does not tell me more than that it simply says there is an error. So, what can I do? I can say I am saying I expect the first I got the second now let us run this. So, I expected 0 1 1 the result I actually got was 1 1. Now, I also know what the error is. So, now I can go back. So, this is a very rudimentary simple test, but notice that I am doing this. So, now if I want to say no I want to now test Fib of 300 I will have to write all this again if result is this do this. So, one way of doing it is to make that into another function then call this function and then print out the necessary message. It turns out Python has a very simple convenient way of doing this it is called asserts you use what are called assert statements. So, I can say assert the keyword result equals 0 1. Now, I will delete all of this notice that the code is much simpler. Now, it tells me assertion error warning failure executing 5. Now, one convenience of I Python is that it has something called PDB mode the Python debugger mode. So, what you can do is at this stage you can do you can use the debugger if you want, but better still you need to figure out what this result is. So, the nice thing about PDB is well the difficult thing is I will have to introduce you to PDB show you what you can do, but instead one simple thing you can try is you know that you got an error at this line how because it says line number 14 look at this look at this saying home IITB 5.5 notice this line it is pointing to you specifically saying line number 14 assert result is wrong. So, now I know which line is failing I can go back here what is the result I got 1 comma 1. So, the nice thing about this test is now this test is permanently there it is in the same file which means in the future if someone was to run this they know oh this code should satisfy all of these tests. So, now let us flesh this out let us correct it correcting the code notice that it did not give me any errors because the code is correct. So, I just run it no errors means everything is filed everything passed, but now I say I want to test something else I can say assert fib of 0 should be what fib of 0 should give me m t then assert fib of 1 should be 0 correct 2 new test cases I have created passes. So, it looks like my code is correct let us try something slightly more complicated. So, if it passes all of this I am pretty certain my fibonacci function is correct now I can call fib with some crazy argument and I know it will produce the write out. So, this is what you typically call as test driven development well there is a little bit more to test driven development when test driven development you will actually write the test first and then you will write the actual code, but I want stress on that too much the general idea is you write reusable small pieces of code like the one I have talked about here and you write a little test function to make sure that this code is executing correctly and what we use is asserts in order to do this. Now, this is the beginning of test driven development the instant you start doing this was 80 to 90 percent of your test driven development is actually over the rest is a set of tools that you use to make this more easy and automatic. So, there are some slides here about some other tools that are used to write tests I am not going to get into those tools I will use only one particular tool to illustrate how you can use test driven development tools to write nice code using tests and as an exercise we will use all that we have learnt to solve one more problem now in about five minutes. So, how do you do test driven development the basic idea is decide upon the feature to implement and the methodology of testing it write the test for the feature that you have decided upon write enough code so that the test can run, but it fails improve the code to just pass the test at the same time passing all previous tests run the test to see that all of them run successfully refactor the code so on and so forth go back to one. So, the idea is you write your tests write the code the feature first the test is going to fail because feature does not do anything yet implement the feature make the test pass make sure no other tests fail and now once you are all the tests have passed your new tests have passed your code should be functional. So, that is test driven development perhaps it is little too formal right now and at this stage may you may not understand or appreciate the value of this which is an extremely important process that is useful to follow. So, this is a simple example again I went through the same example in the context of our Fibonacci sequence this is just the same thing with a different approach of using the GCD function instead the same idea. The idea is you have the test code you want to check whether GCD of 48 and 64 is 16 if it is not 16 you print out a big message I have automated all of that by using these 4 or 5 lines of code. So, now they are slowly systematically going through that process to create the file create the feature create the function knows tests. So, there is this package called knows which makes it extremely easy to run tests like the kind that I have defined these tests as you can see are very easy to write it simply requires if you switch to the terminal. So, we look at this mean these are fairly simple to write is just a few lines of code and almost the same code you would have written when you are testing your code you had done Fibonacci 5 you would have seen the values the only thing you have done here is you have put this assert and you have compared it with the actual result. So, you have essentially. So, what this knows module does is there is this function there is this command called knows tests you just run knows tests on your module it will run the module run all of the test star functions check that the output is correct. So, what we will do is we will use knows in order to do this testing. So, let me just edit this file and make a mistake let me go back and make the mistake of 1 comma 1. Now, if I run this file it will say it failed there was an assertion error I expected result is this, but I did not get it.  So, it is basically saying Fib of 2 actually produced 1 comma 1 and 1 comma 1 is not equal to 0 1 1. So, as you can see I can I do not have to do any additional work I just do knows test minus D Fib dot pi it actually tells me oh you wanted this you got this they are not the same and I do not have to do inspection debugging print statement nothing I just do knows test minus D it says oh Fib of 2 is returning 1 comma 1 does this make sense this line is basically the result this was the actual error that is the line of code that was failing it is expanding on that and telling me that this is the detailed error saying that Fib of 2 is actually 1 comma 1 and it asserts that 1 comma 1 is equal to 0 1 1 which is not true therefore, it is failing. So, now I can go inside edit it now it says everything ran no problem notice that it says ran one test and saying okay. So, now that you understand the basics of testing let us put it into practice shall I repeat I will repeat myself one more time on what how you do this first what you do is we will take a simple problem okay I will put I will write one more function now for you. Let us solve this the solution to one of the problems that you had solved during your test which was factorial. So, I have created a file called fact dot pi so I will first define the function fact okay this is what I want to create I want a function called fact given an argument n and I will give it the documentation string now I will not finish this I will just put pass here and I will write the test case. So, what should I find now first assert fact of so give me something give me a test case. So, this is where you have to think of all the corner cases fact of what fact of 0 right what should factorial factorial of 0 be should be 1 assert factorial of 1 should be also 1 assert factorial of what should 5 be this should be enough right. So, if my factorial passes all this I am super happy so how do I test this well let me create another terminal.  So, let us write our first attempt return okay very happy. So, this fellow gets a failure it says maximum recursion depth exceeded okay that is it kept recursing and it died essentially it went into an infinite loop why I forgot the escape clause everything works how about will this work may not work I do not know the answer. So, at least this function call should return correct there should be no error when running this. So, it is simple for me edges add one more assert and say okay I do not know what the values it should be some positive value okay error. So, basically python has a recursion limit you cannot recurs infinitely because it has a finite size stack okay. So, if you want to really write a good factorial you should not write a recursive. So, now comes the power of tests if I want to change the implementation in the past I will have to again go and say fact of 0 is 1 fact of 1 is 1 fact of 2 is 2 fact of 6 because accidentally it may work for that one case that you are testing whereas now I have all these 5 cases I do not have to type 5 lines I just do no stress and I know it is run correct. So, the point of good testing is once you write it you have finished next time you can refactor it change the implementation optimize it implement it in C in for whatever you want you can do. So, long as you can call that one function called fact does this make sense. So, now you can imagine if you have a large application and you want to make sure everything works you change one small bit here everything breaks you do not want to have these things happen. So, now let us rewrite this in a non recursive solution how do we do it how do you get the factorial of a number n into n minus 1 into so on and so forth right. So, can I use a while loop right. So, first I say I must first initialize some quantities I need a counter I say count counter equals one thing you might want to do here is you may want to say if n is less than 0 what should you do or should I raise an error I should actually say there is some mistake something is wrong. So, let us use the same strategy we will say assert it will basically say assertion error. So, if this quantity is true here n is greater than 0 it will be fine, but if quantity is not greater than 0 it will say I am sorry or greater than equal to 0, but that is fine. Now, we define a counter and we want a result I will call it f as the factorial f is equal to 1 while counter greater than 1 f will this work well I do not care I can always try now that is the beauty of having tests unfortunately the factorial number that I have given here is too large this factorial will be enormous which is why it is taking so long to run, but the previous code did not even get so far correct. So, let me put it out of its misery look where is it failed it is failing here it is not failing it is basically taking forever. So, let us let us make it let us remove this and make sure the rest of it works it works. So, our implementation is correct, but our test is actually a nasty test. So, let me make it smaller even this is a large number by the way this will also be extremely large hopefully it should finish we can wait for it in the meantime I could even consider writing a separate solution. So, I can say I do not want to do it with a while loop I want to do it with a for loop that also can be done correct. So, I could say f is equal to 1 the mistake here is settled range of n will not end at n. So, I have to do n plus 1, but well we will be lazy we will expect no stress to find out well even this is taking very long to compute because let us try if this works at all assert fact of 1 is not 1 there is one more problem in my implementation. I starts at 0. So, 0 multiplied by anything the answer will always be 0. So, I need to say 1 to n now let us see failures fact of 2 should be 2. So, why is this giving an error saying fact of 2 is 2 it has not given me the value it is not 2. So, basically I need to change n to n plus 1 everything runs and in fact this test also works increasing it by 1 order of magnitude is too much. So, as you can see I have written 3 different solutions to the same problem I only wrote my tests once. So, very often you will feel it is a pain for me to write these tests it is not you would have written these 5, 6 lines anyway when you are trying out the function first time all I am asking you to do is write those functions and put them in a separate test case and you should be good to go. So, this is the heart of test driven development the idea is you write a little test which collects all of the corner cases you are talking about put them in a test underscore something function like what is seen here test fact give that function that you are going to write or whatever you are going to write arguments for which you know the correct answer test if that works that is the only way you are able to assert that the function actually works or does its job. So, supposing you are building a car how do you know this car is going to perform because you actually perform tests many engineers do this unfortunately a software engineers we do not do any of this we just write programs cross our fingers and hope that it will work that is the worst way to write programs if I even build this chair we would not be sitting in this room if we did not do some engineering testing we will always do engineering we will say what is the size of the thing. So, that the load will be calculated you will calculate the load you will build a solution then you will test that solution by trying to break it you will over design it by making sure that the weight the size of the truss the size of all of the members that you use is large enough and then only you will sell it if not you may kill somebody.  So, if you write test systematically and you make sure every function is doing the right thing you will ensure that your code quality is very good. So, it is a very good practice and as I have shown you it is not very difficult. So, what I am going to do now is going to give you a little exercise. So, let us solve this one problem create a file called word freak the problem statement is this is your problem statement I will give you 15 minutes write tests and write the function and show that you are able to write this test driven kind of code approach. If you do not have knows installed simply create an if main if name equals main call your test function the assert errors will still be produced. So, first call the function let us call it now if you do not have knows installed you can just do if now please write the test some of you are saying that we have done it very fast well I have repeated myself and actually the concepts are very simple write a function write two functions I have introduced one new concept called assert and one new tool called knows tests. So, simply say knows tests whatever module you want to test just give it that name it will do the job for you. So, you have all of the information try to solve this problem using tests. So, remember this is the same approach I have been talking about all day a morning I said think about what are the corner cases think about the function and now once you are forced to write these kind of functions you will write nice functions because I can use this function know somebody else can call this function because it is well written I can give it a string it will give me the answer I will give you an additional hint what you present as the output of this frequency can be a dictionary use a dictionary it will help you solve the problem much easier what are you trying to do you have to find the frequency that means for every word how many times is that word occurring in the string you want everything to be lower case. So, convert the string to lower case one more hint use your good old split and all of the other functions you know in strings and just check for every word it is very simple use a dictionary to keep track return the dictionary writing the test for this is a little more involved, but it is a good exercise because you will force to think how do I write this function how do I make sure it is correct. So, I will give you 15 minutes please try to do this. So, I have given you plenty of time to write this now let me quickly run through the solution and I will make the solution available to you also. So, first thing we need to check is I need some test data. So, let me give some simple sentence some text is a b c a d e you do not even need so much. So, I will see a a b or a b c a b a. So, now we know the answers I know exactly what frequency I should get. So, I will say result is word freak t x t assert result. So, I will use a dictionary this is something I have left as a choice to you I will make sure that result of a should be 3 and finally, I do not want it to be get finding some random words I know there are only 3 words in this. So, the length of this dictionary should only be 3. So, assert length result should be 3. Now, obviously this is going to fail I run it because I have not written an implementation let me start writing out the implementation. So, first thing I will do is lower the case. Now, notice that none of my test cases here worried about the case. So, I will change the test case also. So, as to make sure I am not missing out on upper case and lower case that mistake is not being made. Now, I need to count. So, I will say the result is a dictionary words is lower text but split correct. Now, what should I do? I have to look at every word check if it is occurred or not keep track and do counting. So, I do a for loop for word in words result of word now the problem comes if there is a result initially dictionary is empty I do not know what word is there. So, what I will do is if word in result result of word should be incremented by 1 else what does that mean? It means the word is not yet there in the dictionary correct. So, what should I do now result of word equals 1 that is it. So, let me go over the code before that I will run it once first. So, my first implementation is correct and I know it is correct up to this point. Now, obviously I can make this more and more complicated add more test cases give it more meaningful text put new lines add more space put comma all of this nonsense I can do, but I know that this basic test will always pass should always pass because I have written a test case for it. I will go over the code once more so that you are able to follow I simply take word frequency I have written the function that is already done I converted to lower case I create an empty dictionary. Then I iterate over every word in my input all of them are lower case. So, I do not have to worry if the word is already there or let us consider the case if the word is not there in the dictionary word is not there in dictionary I will set I have found one word now. So, I will create an index in the dictionary saying result of that word equals 1 the counter set to 1 next time if it is found word is there in result I will simply increment the count finished and now a result return result. So, as you can see writing a solution in python is extremely simple in 5 lines or 6 lines of code I have been able to write out a clean solution and better yet in 5 lines of code I have written a test case which at one level even documents my code because now I know how to call this I know what arguments to expect and I know that my function is performing as per specification and it is very easy to add additional test I could create either I could create one more function if I want to or I can just add more cases here itself add some new line cut paste copy this and say this is another test with more complicated data. So, it is up to you on how you want to test it, but the idea is you have a test with which you can precisely identify where the problems one good strategy to use is to make sure that the tests are precise that they address a specific case. So, that you are able to debug the problem easily and as you saw the test passes very nicely means our implementation is correct. So, I will make this code available to you and I urge you to experiment and try out and learn how to follow this workflow that is of writing good tests and writing functions that are reusable. One thing you will notice is all the code I have written here is reusable because I have designed it such if it was not reusable I cannot even write a test. So, in this case I have written a function for which I can give some input get back some output and I can test that output which means if somebody else wants to use this function the same holds for him he can import my code call the function give it input it will give him back output. If I had written the same thing with print statements instead no one can test it because nothing is written it is only printed to screen and I have to manually inspect to check correctness. So, does this make sense? So, it is a strategy you should follow and it is a good practice for you to make sure that you are able to test as much as possible and it is not always easy sometimes you have to break your head, but it is worth the effort because your code becomes immediately the quality level of your code has improved because you have put in that much more effort and thought into your programming and ultimately that is what matters. So, what I will do now is we will stop with this today.


Hello, hello, writers! I'm Kristen Kiefer, writer of fantasy fiction and creative writing resources and you are listening to the Well-Stroyed podcast, where I share insights, encouragement and actionable advice designed to help you craft sensational novels and build your best writing life, always in 30 minutes or less, so you can get back to writing, of course. Ready for the show? Let's get talking! Today I want to begin by offering a quick apology. I know that new episodes have been pretty inconsistent here in the new year and that's not something I want to continue doing. As some of you may know, I have been kind of slowly transitioning the way I operate at Well-Stroyed here in the new year. I am, over the course of 2019, working to transition my creative business model from selling digital resources, such as workbooks and video courses, into indie publishing. I'm working on my very first book on writing and I cannot wait to publish and share that with you all this year. But making the time to write that book and making the time to do everything I need to do to prepare for the publishing career I'd like to build has really kind of shaken things up here at Well-Stroyed and I'm still trying to find my footing, so I want to thank you for sticking with me over the past couple weeks where I haven't been quite as present here on the podcast. Last week I did share a new article on the blog, but it did not have a corresponding podcast episode because of the nature of the article. I shared an article called How to Improve Your Editing with Scrivener's Linguistic Focus. If you don't know, Scrivener is a writing program designed specifically for creating long form projects such as novels and research papers and the like, and it is an absolutely fabulous tool that I use every single day of my life. I write all of my blog posts in there, my novels, my non-fiction book, and write down all my ideas so much more. And Scrivener has a lot of really neat tools that aren't really its main features, and so you may not realize that they even exist. And one of those tools, which I recently only discovered in the past few months myself, is Linguistic Focus, which makes so much sense.  Linguistic Focus makes that happen. And I thought this was such a cool feature that I knew I had to create a new video lesson and share it in our storytelling with Scrivener course, but I also wanted to go ahead and share that on the blog as well. And so if you head on over to well-storied.com slash articles, you can find that episode, or pardon me, that article on how you can make use of Linguistic Focus if you're a Scrivener user. I also have a lot more in the way of Scrivener tutorials over on the blog. And you can also find information there about our full length storytelling with Scrivener video course. So make sure to go ahead and check that out. I would also like to share before we get started here a bit of exciting news. I am really, really interested in improving the quality of the podcast this year. I've been recognizing, recognizing more and more just how important and how valuable audio is in connecting online. And I'm realizing that even when I'm just sitting down here and reading to the latest article that I wrote for the blog, there's something about voice. There's something about conversation that makes everything more personal. It feels like in some ways that we're sitting down and having a cup of coffee and chatting. And so I really want to give the podcast a lot of attention this year, even as I work on my first book on writing, and I really want to improve the quality of the podcast. So I've taken that first step today after doing some research and I've ordered a brand new mic and pop filter so we can really improve the quality of the podcast's audio because I'm not working with the best mic right now. And you guys deserve better. So hopefully that'll come in soon and we can really begin work on the technical improvement of the podcast. And I'm also excited to improve some ways in the quality of the content as well. So thank you for sticking with me for the past almost two years that the podcast has been live. And yeah, it's time we made some improvements. So thank you for listening along. Now to get into the heart of today's episode. Today's episode of the podcast translates the latest article from the well-stoyed blog into audio titled Eight Things to Consider When Working in a New Creative Medium. You can find the article that is also the episode transcript at well-stoyed.com slash medium. Now let's dive in. Eight things to consider when working in a new creative medium. In February of 2019, I began drafting my very first book on writing called Build Your Best Writing Life. This book presents a roadmap to becoming the writer you long to be. Breaking down how you can forge a healthy creative mindset and writing practice, harness tools for intentional growth, and map your way to the writing life you long to lead. As of writing this, I'm well into the drafting process and cannot wait to share the book with you later this year. Being as I've been writing nonfiction here at well-stoyed for several years, I didn't imagine that diving into my first full-length nonfiction project would be that big of a leap. Turns out I was wrong. Oh, so terribly wrong. And that's exactly why I want to share the hard lessons I've learned about working in a new creative medium here with you today. How I Approached My First Nonfiction Book I've been interested in writing a book on writing for several years, though it wasn't until the end of 2018 that I really felt I'd developed the writing chops to do the project justice. Knowing that the only thing holding me back was the fear of the unknown, I made it a goal to write and publish my first nonfiction book in 2019. In January, I wrapped up a few creative loose ends and began contemplating which of my many nonfiction book ideas would be best to explore as my debut. I'm by no means a writing expert and didn't want to present myself as one. Some of my ideas were better saved for when I had more experience under my belt, but working to build my best writing life? That's all I've been doing for the past seven years. By the beginning of February, I'd put together an outline for the book, announced this undertaking to my newsletter subscribers, and began drafting in the confidence that if I could write blog posts that resonated with readers, I could certainly write chapters that did the same. As it happens, blog posts and book chapters aren't nearly so synonymous as I'd imagined, at least for this project. Over the coming weeks, I struggled hard to find my creative footing. Each day felt like a lifetime as I spent hours writing and deleting words in an effort to hit my drafting stride. The more I struggled, the more inadequate I felt, the more defeated. Still, I kept pushing forward, and in time, I realized that I had taken several early missteps that had resulted in all the frustration I was currently battling. After course correcting for these missteps, I'm happy to report that I've now hit my stride in the drafting process, and should have a finished first draft in the next three to five weeks or so. Today I'd like to help you avoid as many of the growing pains involved in working in a new creative medium as possible. Here are eight lessons from working in a new creative medium. Whether you're preparing to write your first novel or short story, screenplay or video game script, or something else entirely, working in a new creative medium can prove an intimidating process. To better prepare, here are the eight lessons I learned from what I did write and what I wish I knew before diving into my first non-fiction book on writing. Lesson number one, define your motivation for pursuing this project. If you chase every exciting idea that comes your way, you'll never finish a project. Instead of diving straight into this new creative medium, take the time to define why you want to pursue this project. What purpose will it serve in your creative journey or career? I wanted to write a non-fiction book because it's long been my goal to transition my creative business model from primarily digital resources such as our workbooks and scrivener tutorial course to indie publishing. The why behind this goal therefore was simple. I've long dreamed of writing books for a living. Lesson number two, choose an idea that matches your skill level and experience. You're interested in working in a new creative medium, but which idea will you pursue? If you have several in mind, take care to choose the one that best aligns with your skills and experience. Working in a new creative medium will always be a challenge. Don't overwhelm yourself by choosing an idea that's too far out of your comfort zone. I chose to write a book on building your best writing life because that's exactly what I've been doing these past seven years. In working to become the writer I long to be, I've revolutionized my mindset, established a consistent creative practice, leveled up my skills, and created a plan for achieving my personal definition of writing success. Lesson number three, find comparable published projects and study them before getting started. There are most likely creative projects similar to your own already on the market. Take the time to seek out these books, plays, or video games, etc. and to study them. In doing so, you'll learn how other creatives approached the project, gain insights on how you can complete your own, and learn more about your target audience. These comparable titles will also prove handy when you get around to marketing your book. It didn't occur to me to read comparable titles prior to drafting build your best writing life, and I wish it had. I'm now juggling drafting and research, which is fun, but tricky. Comparable titles for my book include the successful author mindset by Joanna Penn, fearless writing by William Kenner, and the writer's process by Anne Janzer. Lesson number four, compile a list of research topics and study up. No matter the creative medium you're pursuing, chances are that you'll need to do a bit of research to flush out your project. I highly recommend seeking out appropriate research resources and diving in before you begin drafting. The more you know about your project, the less intimidating the drafting process will be. In Build Your Best Writing Life, I'm exploring topics such as time management, habit formation, creative mindset, goal setting, and more, which has led me to bring home impressive stacks of research books from the library over the past few weeks. Titles on my shelf now include Better Than Before by Gretchen Rubin, The Power of Habit by Charles Duhigg, Off the Clock by Laura Vanderkam, and Ego is the Enemy by Ryan Holiday, among others. Lesson number five, get to know your creative medium before getting started. If you're planning to do more than simply dabble in this new creative medium, you'd be wise to avoid my mistake and study up on the craft before getting started. Every medium has its structures and guidelines, and it's better to know and maybe break these with intention than to not have a clue what you're doing at all. I personally devoured How to Write Nonfiction by Joanna Penn in the early weeks of drafting, which led me to revise and restructure my outline to much better effect. I'm now working through similar resources and can't begin to explain how much confidence I've gained in my ability to create this project. Lesson number six, develop at least a rough outline for your project. Some writers simply aren't outliners, so I won't tell you that outlining is essential to success. When working in a new creative medium, however, I would recommend sketching at least a rough outline before getting started. New mediums can be intimidating. The more you know before diving in, the less you'll stumble along the way. Even a few simple bullet points can make a world of difference, giving you a creative destination to aim for. I created an outline before I began drafting Build Your Best Writing Life, mapping out the three major sections of the book and writing down a few bullet points for each chapter. I've since revised this outline after learning more about writing How to Nonfiction, and I refer to my outline every single time I sit down to write. Lesson number seven, consider your writing voice and stay true to it. If you're writing in a very different creative medium or style than your usual, then your writing voice may very well change for the project at hand. But if you've completed a similar project before, such as writing blog posts on the same topic as your new nonfiction book, I'd encourage you to stay true to your voice. I personally love reading snarky self-help books and attempted to adopt that same tone when I first began drafting. I even originally announced the title of the book as, This Book Won't Make You a Better Writer, emulating the snarky tone of books such as, You Are a Badass by Jen Sincero and Damn Fine Story by Chuck Wendig. It was only after weeks of enduring a drafting process that felt like pulling teeth that I realized I wasn't playing to my strengths. Writing with the same empathy and vulnerability I'd developed here at WellStoried. As soon as I began writing in my own voice, I stopped struggling to pen every last word. I found my stride. Lesson number eight, adopt an attitude of humility. No matter how well you prepare to work in a new creative medium, there's going to be a learning curve. It's not wrong to approach your new project with confidence. It's not wrong to approach your new project with confidence. But let that confidence stem from the knowledge that you are capable of weathering the obstacles and frustrations you'll find in bringing your new project to life. Approach the blank page with humility and accept that you are bound to experience setbacks. Take missteps and feel a bit as though you're floundering. It's okay. You are as good a writer as you work to be. You only need to put in the work to see your project through. I'm no more than two months into my journey in writing Build Your Best Writing Life, and already I've learned so much. Still, I know there are many more lessons to learn on the horizon as I work to create a professionally self-published book and begin pursuing indie publishing as a full-time career. As always, I plan to share all of this with you. Already I have a few new articles in mind, but if you'd like to follow along with the everyday process of bringing this book to life, I'm inviting you up close and personal over on Patreon, a platform for supporting your favorite creators for as little as $1 a month. On Patreon, I'm sharing weekly book progress reports and snippets from the book, as well as voicemails, and soon I'll also be sharing indie publishing insights. You can access all of this and more for less than the price of a fancy coffee each month. Though I'll also be sharing a few public posts and updates in our Well-Storied newsletter if you're interested but aren't able to contribute at this time. All Patreon support will go directly toward helping me produce the very best version of Build Your Best Writing Life, and in thanks, patrons will receive a free copy of the book and other goodies when published later this year. If you'd like to learn more and come join the party, you can head on over to Patreon.com slash Well-Storied. That's P-A-T-R-E-O-N dot com slash Well-Storied. Thank you so much for your support, friends. Now, let's get to bringing our new creative projects to life, shall we? Thank you as always, writers, for listening in to today's episode of the podcast. I hope you enjoyed it and because I had a little spiel at the end of this episode, we'll keep this outro pretty short. Thank you, thank you, thank you for listening in and I hope you're looking forward to all the improvements to come to the Well-Storied podcast here in 2019. Until next time, very happy writing.


This paper reviews the use of artificial intelligence, AI, techniques in optimizing geopolymer concrete production. It discusses the benefits, challenges and growing interest in utilizing AI techniques for optimizing geopolymer concrete production. The review identifies a range of AI techniques, including machine learning algorithms, optimization models, and performance evaluation measures. These techniques were used to optimize various aspects of geopolymer concrete production, such as mixed design, curing conditions, and material selection. This article was authored by George Iwadi Agua-Elinine, Kalawola Dyssa-Olinade, and Ebenezeri Senigo.


People don't tend to look at drawings nearly enough. And red ochre, particularly this shade of red ochre, this sort of reddish-orange, was frequently used in old master drawings, drawings really from the 15th century onwards in order to add a warmth and a spark of life to otherwise fairly plain black and white charcoal drawings. And what we're seeing here is a drawing attributed to Francois Boucher and it shows a shepherd and a shepherdess in a pastoral scene with some sheep. And you see there's, it was mostly done using pencil and charcoal and sort of a black and white on kind of a slightly creamy paper. And then Boucher went in with touches of white chalk, touches of red ochre in probably a chalky form or a pastel form. And then there are also a few touches of blue. And he also took a wet brush because all of these substances can be blended, both with the finger and also you get some wonderful effects from water. And so he did some white washes and also some blending probably with fingers or cloth in different areas. Now we're going to zoom in on different parts of that drawing. Here we're looking at the hind quarters of the larger sheep, the U. And you can see that Boucher has used sort of a dark black charcoal, kind of a bluish gray. And then you can see just at the very top a little bit of white. But what I want you to notice is the effect of that red ochre. Just imagine, kind of mentally edit that out for a moment. And suddenly this becomes a very cold and rather lifeless scene. But just with a little bit of crosshatching of that red ochre and a little bit of blending, suddenly we get some warmth and some life into this particular animal that we see. Here's an even nicer contrast where you see that U and her lamb. And the U seems to be taking something from the hand of the shepherdess. But contrast the incredible warmth and sort of glow that the shepherdess has. She's being rendered almost entirely in that reddish orange ochre against the head of the U and her lamb. Which are made almost entirely in that dark charcoal and some gray.  But you get this wonderful glow from that reddish ochre, this sort of pulsing life and warmth that makes the figure of the shepherdess very erotic and warm and just beautiful. Now we've backed off a little and you can see how skillfully Boucher, if that is in fact the artist who made this, created these figures. He used this wonderful cross hatching and just hatching. Those are the parallel lines and then sometimes the lines that cross each other to give senses of shadow on the necks of both figures, their shoulders, the leg and upper thigh of the shepherdess. And you can see also how he used the gray to sort of send that shepherd boy back into the background a bit more. Where we see the pops of color are in those highlighted areas on his cheek and his nose and that calls attention to his sort of worshipful gaze that he's giving to the young shepherdess. And then she in turn, by leaving the color of the paper to shine through and give us an impression of her flesh and then going up over top of that with this really bright highlight in white chalk, contrasting with that reddish orange of the ochre, she seems incredibly vibrant and warm.  And that little touch of blue in her hair ornament only serves to really make her seem so warm and romantic. We'll finish with a couple of facial close-ups and when you zoom way in on something like this and this drawing is really not too much bigger than an eight and a half by eleven piece of paper. It's not particularly large. But when you zoom in on this, you can see again just the consummate skill of this artist where he's gone in and used very pure and strong pops of color in areas to warm up the figure. So here there's sort of a bright orange almost splash underneath one ear and around the brows of this young man and then blending other areas in with the gray and with the black and then just those tiny bits of highlight at the brow, at the cheek, on the nose and just on the side of the mouth to give this figure a sense of liveliness. There's also a really, this is a skillful show of a technique called foreshortening where you have the sense of a three dimensional object, in this case the face and the neck being sort of tilted and turned in space. So we get this sense of the chin coming out towards us and the rest of the head receding but in order to call attention to the gaze of this figure the artist has actually made the eyes larger than they should be in a foreshortened view. The eyes should actually be smaller here and recede more but in order to call attention to that loving gaze the artist has manipulated the human form and made those eyes larger. Now we have what I think is sort of the best for last this stunningly beautiful shepherdess and you can see there's just a little bit of contour line done in that dark black and then there's a wonderful blending of both the black and the gray to give the impression of hair and then just a few touches of blue to give the impression of a ribbon that's been braided into the bun of this figure. But overall again it is that ochre that makes her glow that makes her seem warm and vibrant and alive and romantic and I hope this is something that encourages you when you're in a museum and you see a tiny little side gallery having a show of drawings to go in and just take a look at them because sometimes as we saw here and also as we saw in the case study of the snow pie sometimes the drawings are so exciting and so rewarding to see because you can see the artist really working through a lot of the problems that you never end up seeing in the finished work. This is where all of that invention takes place.


Abstract, a new type of carbon material has been developed which could potentially be used as an anode material in potassium ion batteries, KIBs. The material, known as nitrogen carbon spherical, NCS, consists of a three-dimensional network of nitrogen-rich nanosheets embedded within a spherical carbon shell. The material was found to have excellent electrochemical performance, including a high specific capacity of 250 mAh per G at 200 mA per G and a high cycle life of 205 mAh per G at 1,000 mA per G. These results suggest that this material could be used as an anode material in KIBs. This article was authored by Yen Huali, Kuixiao, Tsonghuang, and others.


Tell me what's extreme, a slaughterhouse or vegans? Vegans are way more extreme. Come on. Oh, are you the animals' advocate? When did they hire you to defend them? You don't think killing is extreme? No. Very aggressive in the way you put your commentaries. And this is why people are less willing to listen and to empathize with what you say. Shooting animals is aggressive.  I'm never going to stop. But you're not going to reduce, and you're never going to stop. I love it. So when you talk, there's two different things. Ah. All right, so we're out here in Covent Gardens. We've got a table here. It says, why on earth aren't you vegan? We're going to ask some people why they aren't vegan. Let's go. Debate time. Come on. Don't be shy. You know you want to. I think even this question here, it might plant a seed in someone's mind. I know it seems small and, like, trivial. But it is a good question. Like, why aren't you vegan? It might be a little question that leads them on to a journey of discovery.  And I said, why aren't you vegan, and you said you eat lots of meat? Yeah, I love meat. You love meat? Yes. I used to eat a lot of meat, and I used to have it on my plate, and I couldn't imagine not eating it. Yeah. I used to freak me out, actually. I used to think, what am I going to eat if I don't eat meat? That's like, I used to make me scared. I'm not that extreme, Mrs. Like, oh really? Yeah. So you're not scared not to eat meat? No. So why do you eat it?  To be honest, I eat meat for two, like, reasons. Main reasons, let's go. I do like the taste of it, and the texture and everything. Taste and texture? Yeah, and the second thing is, there are certain, like, nutrients that I can get easily from meat. I know you can get them somewhere else, but it's easy. You think it's more bioavailable or something in meat? Yes. And what are those nutrients? For example, I know omega-3. You can get it from fish or meat. You can, there's lots of iron, lots of, like, other. Iron from blood. Yes. Do you know that iron is in their blood? Yes. But you can get iron from the steak as well, for example. Yeah, yeah. Give it the, the iron, heme iron, is blood iron. Oh, well, my husband's a biologist, he will know more than me. Your husband's a biologist? Yes. Like, human biologist? Yes. So how do you feel about getting iron from blood? The blood of an animal that was killed? I'm OK with it, as long as I do try and make sure that I get, like, meat that's, like, sustainably sourced. And I know that some people will say, oh, but you cannot just say you killed an animal and then it's sustainable. I could make the claim to killing humans, couldn't I? It's pretty sustainable to kill humans. I mean, it then comes back down to more philosophical questions like, do you think that killing a whole human, killing, like, a chicken, is the same thing? Well, they don't have to be the same to both be bad. Now we're here. I like this pastry. So nutrients, we don't really have to go into nutrients because you know you can get them from elsewhere. But you're not eating meat to survive. Technically. I know some people that went vegan. Are you eating meat to survive? Because I want to address this, what's the difference between killing a human and an animal? OK. So I don't eat meat to actually survive, because I think I know people that survive without meat. Do you think I eat meat? I don't know. Do you think I eat meat? You cannot just look at someone and think, oh, wait, it's just based on the sign. To be honest, I thought it was more like, oh, why are you not vegan? You shouldn't be vegan in the first place. Oh, you thought I was anti-vegan. You tricked me. Oh, God, that's extremely vegan. Why did I get myself into it? I'm the level 1,000 vegan. Oh, God. I'm the most vegan vegan you ever get to be. The good thing is I'm not an extreme meter. OK, you're not an extreme meter now. So you're not going to beat me up or anything? No. Are you? No, no, no, of course not. Can we establish whether or not you're eating meat to survive, or you think you're eating meat to survive? So I haven't survived without meat. So I'm going to assume that I'm surviving on meat. Let's just say you can get iron, B12. What was it? What was your nutrients? Iron and omega-3? No, yes. Yeah, you got to be very mean because I know omega-3 comes from fish mainly. But where did the fish get the omega-3 from? How did the fish get it in their body? Oh, my God, you're going there. Yeah, OK. How did they get it? I don't know. They eat algae from their diet. You know, for example, when you eat meat, sometimes the animal eats, let's say, the greens, and they process it into something that sometimes human body cannot process it into. EPA, DHA? I don't know. OK, we don't know. But basically, there are algae-based supplements that we can eat so we bypass the fish. If you can have supplements that will replace all the things that you can get from animals, that means that you cannot have a very complete diet without the supplements. Only one, B12? Yeah. B12 is one that you need to supplement. The rest can be obtained by diet. You should supplement with vitamin D if it's winter in a cloudy country. OK. So, yes, I do agree with supplements. Do you disagree with the supplements? I agree that you should get as much as... Yeah, you should get as much as... Wait around and we'll have a debate. You want to have a debate? Don't, don't come here. We can. I'll have to make my prison life with you. Oh, my God. I'm open about it. OK. If you can get it from foods, I'd rather get something from food than from supplements. Why do you have a problem with supplements? Why do you have a problem with meat?  Supplements. You're probably paying a lot like pharma companies and big companies to produce that. Yes. Do you think your local store from next door will produce supplements? Yeah. OK. Where do you buy your supplements from? Holland and Barret. Yeah, that's your next door. Yeah, there's plenty of Holland and Barret's around or the internet. So, wait a second. You don't use medicine? I try not to, to be honest. That's what you can laugh about it. But what I'm saying is... You don't go to the dentist. You don't use technology. You do everything from nature, like eating... I try as much as I can, especially when I put inside my body. I will take medicine. If I am ill... If you have a headache, do you take a panadol? That's what I'm saying. When I'm like, no, if I'm ill, I'll have medicine. So why wouldn't you do it to supplements?  Okay, let me ask you this. This is good. I'm getting here. Because if I have a headache, I will take medicine. If I need B12, I don't want to murder an animal to get that B12. Oh, I love this, because you're a very extremist. I don't know. Wait, wait, wait.  It's not murder. So do you think a lion is a murderer because he's killing the view?  Yes. So a lion is a murderer? I don't think you're not a lion. A shark is a murderer. No, one sec, one sec. You're going very extremist, because not... You're not a shark or a lion, so you have morals. Oh, okay. But I didn't kill the salmon.  I didn't kill it.   Depends.  No, no, we're back here. Yeah. So remember we said this at the start, the chicken and the cumin. This is good. So basically, you're going well. You're back here to this... What's the difference? You are getting B12 or iron, right?  Because they're sentient conscious experience. You're killing them. So you can get a nutrient or vitamin that you can get from a supplement very easily. Or food. Do you think it's morally justified to kill an animal to get something out of their blood? Yes. Instead of taking... When you can easily take a supplement or get it from plants. You know that it's there and I'm not a scientist, so I don't know the facts behind it like very clearly. But I'm interested in this. And when I can, I can substitute. For example, I try to eat less meat. I know that most meats are not produced in a sustainable way. So I don't... But in terms of the killing, like you're saying... Why would you try to eat less meat? You need it for your supplements. Yes, but you can balance your diet.   You think it's bad? Yes, for the environment because the way they produce it, not because the meat itself is the way they produce the meat. OK, but wait a second. So everyone's eating meat. Let's just say for your reason, for supplements, it's destroying the environment. Is that justified when you can have a supplement? Everyone's eating meat so they can get these vitamins. It's destroying the earth. Do you think that's justified so we can get these vitamins? Or would you say if the earth was about to be destroyed, should we have a supplement? If the world is about to be destroyed, we should have a pill instead of eating altogether. Let me propose... Like one pill that replaces all the food. We don't need to because plant foods are fine. We're growing all the plants to feed to animals. That's not true. You know that. We are. You know, like, single, like, cultural, like when you have this whole plot of land that you're just producing one thing over and over again because everyone now... I know what you're talking about. Most of the monocrops are fed to animals. Yes, monocrops. No, not really. Yes, you are. You have like the extensive places. For example, they produce avocado because it's now the new hot thing in our, like, millennials want to eat avocado. I do eat avocado. So what's your problem with it? There are a lot of people that get killed because of avocados in Mexico, and this is not talked about. So I'm going to eat... So you shouldn't be eating avocado. You should be only eating plants that you plant in your backyard. You're suggesting that everyone needs to grow food in their backyard to be ethical? No, I'm saying you. No, no, no, no, no. So the way you are saying it, because you are not 100% sure that all the vegetables you're getting from the shop are, like, morally sustainable. You're just assuming because you're buying probably the logo that's organic. Organic just says that they don't use pesticides. I don't buy organic. I don't know, but I'm just saying. The vegetables, you're just buying them, assuming that they're better than the meat. But the vegetables, a lot of people get, like, smuggled and trafficked to work, like... Evidence? Evidence. I'm not a scientist. I don't care. I do care here, like, with the... So if you show me, right, enough evidence that a certain vegetable is rife with slavery, then I will say, yeah, well, we should boycott our vegetable. If people are getting shot in the head and cut up into pieces for a steak, then I would say that's just as bad.  No, I'm not saying it's immoral. I'm saying is you are just assuming that the meat is immoral and anything else is great. No, never said that. It's not true. I didn't say that it's immoral as well. You're putting words in my mouth, but I do the same. You say, I didn't say that. Okay, let me just say this to you. Most of the plants on Earth, most of the farmland, is being used for animals. 83% of the world's farmland. I don't know what you're saying.  Yeah, I understand what you mean. Shooting an animal for a nutrient for a vitamin is extreme. Me shooting you so I can get, you have B12 and iron. I'm not the same as a, like a cow. You're not making sense of your argument. I'm not saying you are the same as a cow, but the things that matter about me, you, and an animal are what I care about. Like experience, they don't want to die, they suffer, they feel pain, they want to live. Does a cow have moral value? I don't know. I don't know any cows. Are you against animal cruelty? Yes. Why? If you don't care about them? Because I think you should. You said you compare a cow to a human. Do you agree that there's like a food chain? Are you comparing a cow to a human? Why do you care about them? I don't compare a cow to a human. However, I think that we as a human that like are on the top of the chain. You want a food chain? Yes. Wait, wait, food chain, yes, food chain. You're in nature like a lion, here we go. Yeah, it doesn't matter. You have a food chain and we eat like cows, cows it's plant, for example. But we eat another...  I don't eat gorillas. Do you eat... But I would eat them if they put them out there to eat.  I would eat them if they put them.  Yeah, I would.  What if you had a vegan product?  I think it's very hypocritical.  I preferential, I wouldn't eat them because I grew up to learn that dogs are like companions. But they're part of the food chain. I agree. That's why I'm saying it's hypocritical if someone tells you they won't eat it for sure, but they will eat the cow. I won't eat it because I'm not used to it in my culture, but I won't judge anyone that eats it. What is the food chain? Tell me. I believe that the smaller, very simply, the smaller we'll eat the bigger one, we'll eat the smaller one. So it's okay for the big animals to eat us? If they can, why not? So can I feed you to a bigger animal? You're not... That's the food chain. You don't want to die, do you? You don't want to be food, do you? That is very tricky of you. You don't want to be food, do you? I don't think you're even here for discussion.  I think food chain is a natural thing. If you feed me to... It's not... If there's a lion here and it kills someone, it's one thing. Would you want me to kill the lion to stop him from eating it for me? Yes, because I think... So why should we stop you from eating the cow? A human life is more... For me, it's more like... Worthy than a cow's life. I'm sorry and...  For eating, yes. Why? Just because you want a burger? No, because...  Oh, I love it. I love it because this is literally... So English is not my first language. And I just learned... Thank you. I've learned this expression. I think this is what you're doing. You're just using like a strawman argument. Yes, you're saying that I'm killing the... Like a whole cow for one burger. I read about... Yes. Killing a cow so you can have a burger? Of course a cow has to... It's silly because I'm not just gonna have a burger. I think, for example, what's morally incorrect... What are you gonna have? If you kill a cow just to have one burger, it's wrong. If you kill a cow and you use all the parts of the cow to feed loads of people, I don't think it's wrong. I just... Well, how does a cow feel about that? I don't know how... Do you speak to cows? Did I tell you they feel bad? Why do you know that animal... Why is animal cruelty wrong? Because it's human. Can you speak to the cow? No. So how do you know what's wrong? My idea of what's wrong is... So it's only wrong to you? It's not wrong to the cow. It's a living being that deserves being treated well. Even though they're being raised to eat, I can raise hands and feed them to my family. No, no, no, no. Not cows, let's say. Let's say, is it wrong? Why are you more attached to cows than hands? Do you have anything about hands? I don't eat hands either. I think birds are beautiful. I wouldn't eat one.  They're delicious.  I don't kill them. Actually, I just buy them. I already killed and I just eat them.  Yeah, kind of, yeah.   So what? Yeah, so what? It's the same. What's the matter with broccoli? What's the matter with chicken? I love them. Broccoli is not a sentient conscious being that doesn't want to die. Until, as far as you know... Are you making the claim that broccoli is a conscious being? Bring it on.  I don't know. I'm just saying I don't know. As your partner, if a broccoli has a brain and a nervous system.  No, no. I think that what you do is just as bad or worse than animal testing because you're eating more and killing more animals than animal testing. By far, 70 to 80 billion land animals are being slaughtered every year and between one and three trillion marine animals. Yes.  How many crop deaths are there? How bad is plants compared to that? And you know, we have to feed all those animals plants. So if you think plants eating plants is bad, you would stop eating animals. The only reason... Because most of the plants are fed to animals. Woo-hoo! The only reason, for example, I thought of, okay, I'm going to reduce the amount of meat I eat is because I know of the danger and the harm the environment suffers because of people producing meat in, like, excessive ways. And I think it is excessive the way we eat meat nowadays. I don't disagree with that. The thing I'm saying is there are ways of producing not only meat but vegetables because, as I told you, the same, like, the monocrops is also bad for the...  And I already told you, I don't agree with that.  I don't agree because there's loads of, like, land that are producing just one...  Because I love them. I don't want to jump to the topic. So I thought it was because of nutrients. Nutrients as well, yes. What nutrients to get out of a chicken? All the protein I need. You can't get protein from other plants? Do you think that I can get the same amount of protein from plants than I can get from, like... 100%. 100% of the same amounts. Absolutely, you can. How much broccoli do I have to eat to have the same protein I get in a chicken? Why would you compare broccoli to it? I'm talking about... I don't know, you attached to cows, I'm attached to broccoli, sorry. Satan, which is a... Satan, do you know what Satan is? Yeah. Okay, that is 75% protein.  How much of that do you have to eat to compare to, like, a steak of chicken? Less. A steak of chicken, no, chicken breast. 100 grams of satan flour has 75 grams of protein. Okay, I don't know how many... So why would you... So you're saying, like, even... Let's just say you have to eat more. Yeah. How much protein do you need a day? I know how much I have to eat. Do you do weights? Are you an athlete? Yeah, I train a lot. You train a lot?  My personal training is the... The maths, I just know the amount. So I have, like, 125 grams of, like, chicken breast. I have two eggs for breakfast. And then I have protein yogurt for lunch and for snacks. So I don't know how much protein exactly that is, but I know that most of the... That's why I pay a professional. I should know all the statistics... So you got your diet done. No, I should know all the statistics that you know, but because this is your job to convince me to be configured, and you know the statistics that I don't. And this is how it works. I cannot know everything that I should know. Well, so back to that. Yeah, yeah. I get most of my protein from animal sources. Even then, I told her, I want to reduce the amount of meat I eat in a week. So, for example, I eat three times, four times a week. The other days, I try to replace it with other things. I'm not sure I'm getting the same amount of protein I should be, but I'm willing to sacrifice that. The overall, what I want to say is... You're willing to sacrifice it for what? I really... To eat less meat? Yes. But you won't sacrifice it to be vegan for the animals? Because I won't get the amount of protein. But you said no, no, you said... I'm willing to sacrifice some meals of protein. If you could get enough protein, would you stop killing the animals? There's the... You don't remember the first thing I told you, the first component. I really like it and enjoy it. You say taste? Yeah. And we can get to that. So, do you have enough nutrients and protein? Yes. If you found that out... Yes. I would reduce. I won't stop. I will reduce. I won't stop. So, reduce to that. Now, the only thing holding you back is you like the taste. Yes. This is why I think you're defending it. Taste and the texture. This is why I think you're defending it more. Maybe. Yeah. So, do you think that your taste... Taste is a pleasure experience that you get. Yeah. And when you eat, it's only for 10 minutes, 15 minutes maybe.  Usually, it takes me 30 minutes to 45 minutes because I eat very slow. Okay. And what happens to the animals so you can have 30 minutes of taste for it? Of satisfaction. Mmm. I don't know, to be honest. Okay. I know that they have to be killed. No, no, no. That's nothing. Unless it's lobster because my mom cooked that in my life.  Well, sorry. I don't... I think you're quite pleasant to be around. Thank you. And quite entertaining and a nice smile. Thanks. I do think you're justifying if you knew the depths of it. Because if you knew exactly what you were trying to justify, you'd probably feel a little bit uncomfortable about it. I have witnessed the farming practices in the UK for many years. Most of the animals here are factory farms. Over 95% of the chickens are in factory farms and they're born into the Frankenstein bodies and they fall on their faces and die in the sheds often. There's a 4% death rate. I just want to stop you there and say one thing. This is where lots of vegan people that have good intentions lose people when they start shouting facts that are just too overwhelming. You lost me for 30 seconds there. I just had 4% of something. Do you think that you can suffer in these farms? I do think. That's why I try to reduce the amount of... And how much do you think they suffer? I don't know. I cannot quantify their suffering. Okay. For that bird. Not from your perspective. From the bird's perspective. Try to put yourself in the animal's position. And they are born into innocents. They don't know where they are. I understand. And their body is growing really fast and there's thousands of birds around them. I understand where you're going.  So do you think that suffering is bad for them? Of course it is. Okay. I'm telling you this is the only reason I'm reducing the amount of meat I eat. It's because I think they're not raised in a proper way. You never said that. You originally said it was for sustainability. Yes. It's not sustainable the way they raise them. May I change it? No, no, no. When I say sustainability, I think it's not sustainable the way they grow them. You have to be putting more antibiotics into your body because they're more and more crowded. That's not sustainable. It's not morally correct, but it's not sustainable as well. You cannot continue to... I want to talk about ethics because if you were suffering, I'd be more concerned about your welfare and I wouldn't want you to be shot in the head and eaten either. Oh, thank you. You know what I mean? But I don't think you afford that same compassion to the animals that you eat. Yeah, I try. You don't. I might be very ignorant in what I'm saying. I don't think you try at all actually. I don't think you've considered this to this conversation. That's fine. This is where you vegan people... a little bit of effort is not enough. And this is where you lose people because people are trying to do a little bit and you're like, this is not enough. You are mean because you are... No, no, no.  I do.  Because most people say that and most people eat meat three times a day or eggs and cheese or milk. No, I don't eat milk. Thank you. He's defending the chickens. Yes, I could have killed it but I didn't see. I have morals.  Maybe if you're going to eat the fly and the fly takes it. If somebody killed it for me, I would take it. If they had iron in there, you might go... You know that the next thing is bugs? You won't eat the bugs as well now. I don't think it's justified even if they have a small experience. Fair enough. So, I think... I have my morals and my reasons. What are they? What are your morals when it comes to animals? My morals are I would like to... And I'm not able to control all the factors that are involved in this but I would be a... I want to for the animals to have the most decent life they could have until they're slaughtered. Why? I know they have to be slaughtered for me to eat them. But why do you think they deserve a decent life? Because decency is not negotiable for me. Not for you. For everyone. I speak for me because I cannot speak for everyone. You were eating them. You were eating them. Yes. For example. Why is it good to have a decent life?  Okay, yeah. Why is it... I believe... Why is sentience important? Because... Why is experience and sentience important? For us, when you're looking after your children they are sentient beings but because they cannot choose for themselves you are choosing for them. For me cows are sentient beings. They cannot choose whether they are killed or not. I'm sorry darling. I'm going to have my steak. However, I would like for them to be treated well until they are slaughtered. Is that what compassion you are going to give them? Yes. Make sure you don't torture them before you kill them because it makes me feel a bit bad. Yes. I don't care how you feel about being killed. I don't think anyone can argue you out of it because you are just so in your box. Because if you... You look like a tennis ball going from one point to the other inside your own box. You were trying to justify killing and I'm trying to ask you not to kill. Animal alive. So who's extreme here? I think you're extreme. I'm extreme. We're all extreme. No, no, no. One second, one second. You think I'm extreme. I think you're extreme. What's more extreme? Killing the cow or leaving the cow live? I don't think that any extreme in all of that. You don't think killing is extreme? No.  You don't need it to eat. That's what I'm saying. I need it to eat. You don't need it because you don't want... I need it to eat. So you would die without me? Yes. I think that there is a cause behind what you're saying and what you're doing. I think if you put the message there in a more... How should I tell you? In a more... Will you stop? Wait. In a more agreeable way. Will you stop? You will get better results. Will you stop because... Will you stop being agreeable with you? You are being disagreeable just by the way you are talking to me. Tell me how I should say it to you right now when I'll say it to you. If you introduce the idea if someone that eats meat let's say as you said every day if you introduce the idea why don't you try and reduce meat? This is how they introduce it to me. Why would I ask you to reduce killing? Why don't you finish it? No, I want you to tell me no, I want you to tell me how I can convince you to be vegan right now. Tell me how. First thing is one step out of the way and you're trying for me to go from a meat eater every day to a whole like another extreme of not touching meat again and I think that's a very extreme. People work in processes. People work... So how many steps do you need?  Every step is progress.  You don't consider every step progress. You think it's one way or the other and this is where when we need how long do you need? I don't know but I want to adapt. You're not giving me a practical I want to tell When I came to this country I ate meat for every meal I had. I started knowing nice people I'm sorry I'm not saying you're not nice but you're very extremist. I started to know nice people that were willing to talk about their vegetarian and I started to eat less meat. I'm not saying I'm ever going to be meat free There you go you just said it So it doesn't matter it doesn't matter how I address you That's the point The problem is you're ignoring progress Is that true? You're ignoring progress You said you're never going to stop eating meat I said I would never stop I said I would I spoke to you exactly the same as I spoke to the last two people And you convinced them? Well I've convinced thousands and thousands of thousands Even the comment section how many people I've convinced you can just buy great people care about animals But that's progress But do you think that the one day they stopped It's you that won't change It's nothing to do with what I'm saying The thing is I'm telling you I will never stop When I came here I said I will never be like trying not to eat meat After five years in London I've started to reduce the amount of meat because human beings change And what I'm saying is right now I think I would never stop eating meat But you are saying if you're not willing to do the commitment You said I should be more agreeable when you would have changed And then you're saying you're not going to change So there's nothing I can say I don't think I'm going to change And that's why you're being defensive because you don't want to change But five years ago I didn't think I was going to change It's not my fault that you won't change You won't change because you don't care about animals That's the problem Okay, see That's the problem It's not my fault You won't change because it's you You are very aggressive in the way you put your commentaries And this is why people are less willing to listen and to like remembering pigs is aggressive Cutting chickens heads off is aggressive You will never get anyone to like to change with this kind of attitude I'm sorry Comment down below I will go and see Look at the comment section What's your channel called? Joey Carbs from I will have a look at it and I will comment and you will see me So you think I'm too aggressive for people to change but the truth is not nice Yeah, I think The truth is not nice What you're paying for is horrible for the animals I'm defending them And you're saying I don't care I'm never going to stop eating them I love it You know, it's the same thing You're trying to destroy your arguments with like very aggressive Oh, are you the animals advocate? When did they hire you to defend them? Why did they ask you? They are vulnerable They can't That's what I'm saying I could use I could use very aggressive I could use very aggressive You would lose still because what you're doing is horrible Disagreeable things to like destroy your arguments And it's got to be mostly silly but some people will be yeah, yeah go for eating as you but no I don't think that you could rationalize with like extremists Exactly I'm trying to rationalize with an extremist I'm glad that you think that even meat after telling you that I'm trying to reduce the amount of meat I eat you think I'm an extremist No, you told me you're never going to stop I'm never going to stop So what's the difference you're not going to reduce you're never going to stop I love it I love it Look at a slaughterhouse You look like a smart guy but I don't think you know how to argue with your Tell me what's extremist slaughterhouse or vegans What's more extreme? Vegans are way more extreme Come on a sanctuary than a slaughterhouse Anyone that's not vegan will agree that you guys are too extreme and this is why people don't stop to listen You have nice arguments you have compelling reasons and I understand but the thing is you're very aggressive in the way you put your message through and that's why it just makes people don't want to Do you think cows think we're aggressive or do they think you're aggressive I never spoke to a cow unless it's like I think I would agree that we're not aggressive and you are I don't know you cannot speak for a cow I have to go sorry Thank you very much It didn't matter how I approached that She admitted that she wasn't going to change My attitude had nothing to do with her not wanting to change She said she eats lots of meat She likes a taste Period Now I'm extreme Vegans are extreme for not wanting animals to be shot in the head head cut off go into gas chambers The moment I started talking about chicken suffering she switched off she doesn't want to hear that She's cold when it comes to animals but maybe if she actually witnessed it she'd be different I think it's easy to sit there and say I don't care about that I don't care about their suffering I don't care about the blood and fear in a slaughterhouse until you see it She thinks I'm ridiculous and extreme but really I know exactly what she's trying to justify and that's much more extreme than this conversation will ever be