I think the chocolate helped too, I think the chocolate and the comfort really worked well together. Okay, well we're going for 4.30 so we have about 35 minutes or a little bit more than that close to that. So should we do a Q&A session here? We've covered a lot, we've covered a lot of topics, given a lot of examples, a lot of metaphors and yeah we would like to again come back to our ring develop practical application. So if there's something that you've been listening to today and something that starts to come up into awareness let's address that. What do you say earlier on that the more awakening you become because you're dissolving the guilt so therefore innocence comes into your life more and you're giving the example because of what you do you're having happiness all the time because all you're doing is going around the world and inviting happy people to be with you, so can you just elaborate a little bit on for example me, I don't have the life that you do, so I'm awakening and remember it's a full-time job. It's forgiveness and it's just standing back and linking up the whole spirit and you think when you go on a bit more than something else it comes along and oh here we go, do it all over again. So when I get onto that next step where the innocence is going to be coming into me because there's less guilt, how do you see that because you're seeing through different eyes aren't you? So I get what you're saying, what you do, the happiness is there and the innocence is there because of what you do but if I'm in a different way of life how would I see innocence? How do I sense it? How do I feel it? Yeah, that's a very good question. Francis was just mentioning before the break how really everything is an extension of love or a call for love and Jesus does address that in the Course, He says the Holy Spirit sees everything as love or a call for love so love will be your response whether you're being loved and you feel wonderful like thank you, thank you, thank you or there's a call for love and your heart is open and you're pouring out the love and offering that healing answer through you you feel the love your heart chords are resonating either way whether you seem to be receiving it or being extended through like that but Jesus does qualify He says the Holy Spirit sees everything as love or a call for love He then says you cannot do this because you are too bound to form and do not know what content is so we're back to form and content when the mind is attached to form it's attached to a self-concept, an image and it's always going to be fighting, protecting, defending that image it doesn't even matter if it's a Course in Miracles teacher you could be identified as a Course in Miracles student or teacher but if there's some kind of identity around something on earth, anything on earth there's going to be guilt because Spirit has no guilt at all but the mind that's identified with this mask it's got a lot of pockets of guilt you might say it's been pushed down for millennium and it has to come up to the surface where we're staying right now is like a little loft, Nick and Anne have put me up in the loft with the lava lamp anybody? I need a... just a lava lamp I need a light and so I turn on the lava lamp and that keeps me warm at night there's a little heat to my, and also I get to watch these globs come up some of you might remember that movie X-Men, Days of Future Past where Wolverine gets sent back to the past to save the day and he lands in this apartment with this big lava lamp and the song is Roberta Flack the first time ever I saw your face the song from the era of the lava lamp so I'm sitting there watching this lava lamp and hearing Roberta Flack's voice singly up in this loft where they've got me but anyway I watched the lava lamp and I see these globs coming up and reformulating and that's really what's going on with this sense of guilt coming up we have this repressed guilt that has to come up and like in the lava lamp when you heat this stuff it just comes globbing up then it drops down and globs up it's like your mind being healed there are these pockets that have to come up into awareness and so all they are are our identifications with body, with persons because we can talk about what forgiveness really is forgiveness is tranquil and quiet and quietly does nothing Jesus says it looks and watches and waits and judges not forgiveness is not really active it's just this presence of pure innocence and love in you that knows that there's really no problems and never has been but the mind that gets identified with the body has all these memories it could even be seeming past life memories there's just these issues and memories that recirculate the guilt over and over and over until we let it go so it's not like you have to travel the world to live the happy dream of innocence look at Nick, he's going to swim in the swimming pool and he's sitting back there meditating in those where he's at he's tucked away here just sitting there and taking a swim in a warm pool and having the good life it's not necessarily a matter of traveling the world it's just if you would hide nothing if you would welcome every emotion to come up to come to the surface and then be willing to let it move through without clinging to it or trying to project blame for it onto somebody or trying to analyze it and analyze the darkness none of those things work and so I would say that you're on your way it can seem very full time work once you invite the healing then it's almost like the emotions get stirred up and I one time heard a beautiful analogy from Louise Hay she said healing your mind is like cleaning a turkey pan we have a holiday over in the United States it's called Thanksgiving where you put a big turkey in a pan and you roast it and then you eat it you stuff it, you roast it, you eat it then you've got all this sticky black crud baked on the pan she said well you have to throw water in the pan then you have to throw soap, detergent in the pan then you have to scrub and the water gets a lot dirtier before the pan gets clean it's going to get really dirty before that pan that turkey pan is clean and I thought that's a perfect analogy for the mind you start calling on the Holy Spirit you've got your detergent in there your suds going there you're in the washing room now my life is really messy we were just talking about that with Mina she said when I was married I know I was sleep walking but at least it was somewhat stabilized then I called upon the Holy Spirit and oh man it gets messy it can seem to get messier before it gets cleaner because the repressed guilt and repressed emotions have to come up into awareness and so many of us know it could get very intense when we are so willing but it's good to know that ahead of time I kind of like I remember reading through the course and I read the text workbook manual so I'm digging around in the teacher's manual one day with Jesus and I'm looking at the ten characteristics of a teacher of God and then I'm looking at the first one trust and he not only talks about trust but he talks about the stages of the development of trust and I'm like oh this is great I need to hear this ooh this is interesting six stages where am I? don't try to guess just look so I read one, two, three, four, five, six so I'm like six so then I started to look at the six four out of the six are disturbing unsettling upsetting I'm like four out of six that's two thirds of the journey back to God is dark and I was like whoa that's sobering but it didn't stop me from going for it but at least it was like a check from Jesus like I'm gonna give it to you straight I'm not gonna sugarcoat it I'm not gonna pretend it's this I'm gonna give it to you straight four out of the six are difficult four out of the six stages one is heavenly but to get to number six you gotta go that's four out of the first five are tough and if any of you have studied the literature I've read the lives of the mystics and the saints St. John of the Cross and whether you read Eastern mystics or Western mystics or whatever it's daunting they'll basically write it out for you like St. John of the Cross the one who coined the phrase dark night of the soul you know we're going for infinity we're going for eternity we're going for heaven and if you had an offer of okay here's heaven and here are the authentic steps you need to take and four of the six stages are gonna be tough what are you gonna do heaven is our home are we gonna stay wandering in the dark or are we going home and I say it's kind of like for me it was like those you know when the United States started to send those rockets up and to go to the moon they started launching all those big Saturn rockets you remember those Saturn Saturn rockets they had a tiny tiny little capsule on the top where the astronauts were and massive stages of fuel the tiny little capsule holding the astronauts and the massive stages of fuel so Jesus is like telling me that's kind of like what this journey is gonna take you got you're strapped in on top of a lot of fuel and it's massive I'm gonna get you out of the gravitational pull of earth of the ego of the world and we're going into orbit and beyond you're gonna feel weightless there when you get up with me in orbit and then we're taking you even beyond time and space back to eternity our natural home back to the kingdom of heaven so just think about that when you're working with the course I always thought I was just packing on more rocket fuel just in case the dark night of the soul pack on a few more things of rocket fuel because we need to go into orbit we need to escape the gravity, the heaviness of a death wish basically the ego is a death wish and we're going back to heaven in awareness and so we are joined together in the early years for me it was a lot of struggle and I was more like the ancient these ancient mystics where it was dark and struggle and fighting oh gosh if I ever wrote the journals on that I mean I must have cried for I don't know for so many years I think I cried and then now that I'm getting into the miracles and the innocence I'm attracting the reflections of that innocence so I'm seeing miracle workers all over the world and we're joining hands we're joining arm in arm to walk back to the light and we're supporting each other back in the old days I didn't know who to call when you're waking up and forgiving who are you going to call ghostbusters but but now there's all kinds of support it's really massive it's like a massive network of love and light and support and that's good news it's there for you and I would say take advantage of it when you go along I think I have a story that you know I have to go around every people pleasing or not worrying about not being good or not I like the idea I've done nothing wrong I've done nothing right because for me it seems to want to get things right I have a fear of being wrong which I've really seen deeply so maybe I want to speak about that David I can speak to that it's like Jesus really simplifies it for us with the Course in terms of the sleeping mind you have a wrong mind and a right mind and the right mind is your healed and whole mind and the wrong mind is all the guilt is and that's where the split you know when we talk about schizophrenia having a split mind that's the split one aspect of the mind is blazing light and one is very dark and so Jesus had said in the Bible you cannot serve both God and money you can't serve two masters in terms of the split mind you can't serve both light and darkness even though that's what schizophrenia is about trying to serve both light and darkness simultaneously it's pretty wild but what I would say is that split in the mind is so unnatural it's not how God created the mind to be split at all God created whole mind and so when it's split that projection comes from a way to relieve the split by seeing it on the screen just like an after analogy where the light passes through the film and then it goes off onto the screen of images so the way that the mind tries to relieve itself of the split is it projects out a world and then it starts to interpret a dualistic world right behaviors and wrong behaviors and then it's trying to come around to right behaviors and to let go of the wrong behaviors but it's like an impossible situation there is no behaviors that can ever be perfect we have to get beyond the screen we have to get back into the holistic mind and perceive the world with the Holy Spirit so that's why I say nobody's ever done anything wrong or right if you still see wrong behavior and right behavior which is just a stepping stone you still haven't forgiven because God didn't create wrong behavior and right behavior it's still trying to take the split and put it onto behavior and that's why the Course teaches you don't forgive somebody for what they did to you or you don't forgive somebody for what they didn't do that you think they should have done you forgive them for what they have not done and that's what it means by that the behaviors is always the ego trying to project the guilt out onto the form and so if you notice that's part of the ego's plan it projects good behavior and bad behavior and then it lifts up heroes and we have heroes and heroes lifts them higher and higher then it wants to rip them down whether it's rock stars or sports stars or whatever it loves to build them up build them up, build its idols higher and higher and then it loves when there's a scam some kind of horrific story where they come ripping down like over with Great Britain we could say I remember when Prince William and Lady Di got married and the whole world was so sweet and the royal wedding the whole world stopped we all were like ooh it's a royal wedding everybody turned on their TV sets to watch the royal wedding and then things got a little rocky in the royal house everyone was like ooh scandalous scandalous, you see the ego is trying to keep the mind so distracted with the form that you won't look inside your mind the solution, the correction that you get so caught up in the projection, the gossip the ego just builds the idols up and rips them down it's part of its whole system and so you have heroes and villains we have the tyrants the ones that the world hates and then we have the saints the saints and the sinners you see even saints and sinners how can we come back to wholeness receiving saints and sinners so in the end when people start to vilify tyrants and terrorists and everything like this the spirit is saying please come back you have to look at the terrorist in your own mind you have to forgive that evil belief which is not coming from God before you can forgive anyone because nobody is doing anything wrong or right it's this big trick of trying to project it out in terms of all the behaviors so that's really what I meant by saying that and you can feel there's an ease that comes in people love to be heard you didn't do anything wrong they go phew and you didn't do anything right that kind of takes the pride out of it all there's no awards for that oh I didn't do anything right either in which comes back to what Anne was talking about this morning do you want to be right or happy do you want to be right about the way the ego set up the world with its victims and victimizers or would you rather be eternally happy and that's really the question you know Shakespeare said to be or not to be that is the question to be happy or to attempt to be right about separation that's really our decision it's plagued my mind for a few years that the moment of separation a tiny mad idea was something akin in our world to a nuclear explosion being something that fragmented everything yeah it's an interesting kind of metaphor thinking of the big bang is like a like an explosion there are many scientists that kind of do that I think I particularly like Brian Green you know he has mapped out the big bang and our entire cosmos looks like a loaf of bread he's mapped it out so you have the little point at the beginning which is where everything was whole and then boom after the explosion it's like this big loaf of bread came out now what I like about a loaf of bread is because it's just kind of fun to see the cosmos as a loaf of bread and then wherever you seem to be inside whatever location you are is where you perceive the loaf of bread from from inside the loaf of bread so we might say that the cosmos had a seeming beginning and it has an end the loaf of bread and you can forgive it at any point if you can go beyond the veil of that whole explosion and where you determine yourself in terms of the coordinates is really just part of the the misidentification you're not in that loaf of bread you're prior how Jesus taught before Abraham was I am I am the bread of life is better than I am the bread of the cosmos that's the key I very much know the God in me the tiny mad idea that meant some of my life was spent in the loaf of bread it does seem a tragedy yeah there's a line in the course where Jesus says delay is a tragedy in time though unknown in heaven so to the extent where the answer is offered to us and we resist the answer that's the tragedy Jesus is saying it's already been solved it's a done deal grace just by the grace of God everything has been solved there are no problems whatsoever and to push that away and say no I don't want that that's where we have this concept of delay and he says it's tragedy in time I can be in peace and look at the line at the slaughterhouse and still be in peace as long as we believe again that there's life in this world or that there are separate souls or all those concepts then there's still going to be that sense of empathy and Jesus is saying what we need to do is come into true empathy means come into complete alignment with the Christ mind and feel the perfection so really that's a call for love really seeing that call for love and sending the blessing consistently not falling for and in attack if we believe in slaughter of any kind there's a delay maneuver going on Francis mentioned the Holy Instance earlier she was sharing what I was sharing the day in the car the Holy Instance is you might say the I am-ness and the Holy Instance is not in time a lot of times we grew up with history class and the timeline and we have the past and the arrow and the future and the present the Holy Instance is not in the middle that's the ego's instant the ego made up its own present moment its own past and future and the Holy Instance is prior to time that's why Jesus said before Abraham was I am he was speaking of the I am-ness of the Holy Instance so it's described in different ways as Francis was saying you cannot prepare for the Holy Instance without placing it in the future so it's it's really you have to be really ready to start to receive that because for many people they're just not ready they'll look at the course and they'll say if I cannot prepare for the Holy Instance then why am I doing reading a text and why am I doing 365 lessons that's the point of any of this and those are you might say exercises in in the mind opening becoming ready to approach the Holy Instance but I would say the purpose of the course is to put it in touch with the Holy Spirit the internal teacher and then the Holy Spirit will take you towards the Holy Instance mainly by focusing on desire like he'll have you practice in countless situations what do I really want to come of this what is this for instead of like thinking that you're going to the grocery store to buy groceries then the Holy Spirit will say well what are you really really going to the grocery store ooh holy encounters he's like you're getting closer you see how that is we start to just lean into the Holy Spirit I know the first time I started to really practice the course some of you are familiar with prayer that's at the beginning of the course I am here only to be truly helpful and here to represent him who sent me do not have to worry about what to say or what to do he who sent me will direct me and contend to be wherever he wishes knowing he goes there with me and I will be healed as I let him teach me to heal well I thought I need to practice that and Jesus said yeah that's right I want you to practice it so Jesus told me every time you walk through a doorway anywhere before you walk through the doorway I want you to pause and silently repeat that prayer to yourself before you go through the threshold so before I went to the laundry mat before I went to the grocery store to visit my grandmother all the different things I would do I would pause and it really helped to reorient my mind because I wanted to be oriented to oh yeah I want to remember what this is really for my purpose so I found that very practical and helpful and I would say then as we go through the lessons and we we keep practicing the prayers and everything it's just our desire for God is like a flame it goes from a candle to a flame to a forest fire for God where our flame is so strong and when we've got a forest fire going in our hearts then we're ready to go for the holy instant the holy encounters are related to the holy instant yeah the holy encounters are part of like you might say your desire is growing more focused and stronger yes I said everyone in this world has been hurt in one way or another and when you look at those cows with those sad eyes you see yourself so the first thing you have to do to the cows is forgive them because they're part of you and if you see it that way then forgiveness is opening up so that you're no longer trusting and you're no longer afraid and unforgiveness is closing so if you close down you can't see the cows and you can't see the other human beings walking around that's it you're opening up you're opening yourself and you have to trust and you're saying to yourself ok now I'm not going to be hurt because you've forgiven the projection in the cows they're not going to die anyway we know that but that's a sort of limit it's like a healing the only way it's a heart healing it's like opening up to spiritual vision and it's only by believing that something in the world could be murdered which would still be a projection of the ego the ego is the belief in murder we need to forgive the ego right in the core of us and we then forgive ourselves for even imagining that we could be hurt in this weirdo world anyway so it's a sort of that's fine beautiful beautiful that's very beautiful I had a lovely reflection about coming down Sam I had a thought and I'm telling Sam I had a thought about all your loved ones are all with the angels and I'm saying because I've had trouble with the case lately and as I thought about that deeply I can't hurt them but my loved ones are just the angels as I expressed it literally an arc passed on wheels not killing a hue quite a big wooden arc passed on like Noah's arc on wheels it was like I couldn't believe it there were so many symbols around the arc and my calling and everything and just like you said just felt like there is only love and I just want to live like I'm at home and angels and everybody is loved you know it was like yes yes on the arc passed on wheels the arc of peace has entered two by two you were sending your two teenagers on the arc representing all teenagers in the history of the universe and healing that yes I'm just thinking until the call I still do sometimes to be honest with you because I'm still going to go to the Swarthouse I know that's coming but like you said you were looking at the cow and the cow was like what's going on and I kind of feel like Jesus has looked at me and I'm still in the thing you know and I don't know how it's going to happen and I don't think that you know who you are I still feel like that cow in my but it was like feeling sorry for the cow and I was kind of thinking I'm that cow that cow is me hopefully no one eats me once I'm dead but you know Jesus they are gazing with those wise eyes you know just gaze over there into Jesus' eyes you know and feel the rest and assurance like oh okay because that's where the peace comes in My experience of the eye to eye with the animal was actually a ray of fish so it was one in one eye because it was on top of the water and it was looking at me so steadily and so clearly I sort of knew that the fish was looking at me and I was looking at the fish but there wasn't anything there at all it was just unless it could have been anybody's eye it could have been a human eye or a cow's eye and it was just that moment when I knew everything I knew everything Do you want to go with him? Well um yeah I think this comes up it's about that damn cow again it's the um my father-in-law was kind of living with us for a minute and he's kind of got a parking it's not sad actually but he kind of lives a little bit in the past that's where he dwells seems to dwell because sorry about that and I'm thinking what's the sorry what are you looking at for that anyway doesn't it come back to isn't sadness sorry grieving isn't this cow the belief in death actually that we're looking at playing out in those stalls isn't that what we're saying kind of thing that's really isn't that a strong thing for it to invite you to take part in in that scenario I'm being sad about this isn't that an invitation for me to go somewhere and get involved in sadness, loss, grief and all those things and death yeah there's actually three subsections in the course attraction to sickness is one title attraction to pain is another subtitle and attraction to death so the ego is a death wish and it makes a world, makes a cosmos and it will draw forth images and witnesses to that so yeah and only by forgiving the ego by forgiving the death wish in the mind does that interpretation disappear as long as that wish to die is still kept in mind and then there'll be seeming accusations seeming attacks, seeming defense you invite the whole thing you get the whole menagerie of false evidences false evidence appearing real you get the whole range of that so yeah you're basically facing the death wish when there's grief all those feelings that you mentioned that's just an opportunity to forgive the ego and accept the atonement for me it's like the living out of that loss and death and darkness is some kind of belief reality if I'm in that and that joy and love and life there's no room for that for that doubt with the idea there's no room for it it just pushes it to bleed out awareness doesn't it yeah here we are in England so of course Shakespeare really brought up Allah he basically exposed the death wish I was in Mexico with Sam and she said oh I love Shakespeare let's go see Macbeth we watched Macbeth it was like okay Shakespeare again excellent job there flushing up the death wish because he was a master at bringing that up Romeo and Juliet we're searching for love we're searching for everlasting love and he plays it out in Romeo and Juliet in the most I remember the last time I watched I think I saw one with Leonardo and maybe Claire Danes Romeo and Juliet acted out and in the end the only solution was one dies the other one I'll join you in death and I thought oh Shakespeare is done it again well that's good to see that movie the next time I go pursuing love and form I'll think of Romeo and Juliet and maybe that'll help me you see that's how it works when you keep going and opening to spirit you keep getting these opportunities to forgive which one? probably about five years old I've been writing well I've received songs in heard them sang them it's very natural I don't get them constantly like some writers I know do but ever since kind of going on spiritual path I've been very concerned with lyrics very natural because they're not you can't interpret them wrong so sometimes I hear my old lyrics for example the song that I felt was channeled by Holy Spirit but then I'll hear certain things and I'll go no no that's not crossing miracles I can't sing that anymore and it's kind of like that thing of I guess it's just a trusting of that I'll be guided to sing which songs are right for each moment and not to worry too much about the form but I guess it is that control thing and I feel like it blocks me when I'm I don't ever sit down to write songs but it blocks me and I know there's so many more songs to come through but I I'm kind of stopping them coming through because I'm worried about the form because I'm worried about people it not being a positive message or not being interpreted properly or that it's not loving yeah that does feel like this is a great mechanism that Holy Spirit is using to really help you release control because miracles are involuntary and they can't be under conscious control and so you have this huge gift and now the Spirit is saying oh good we'll use this huge gift now so you can relax and not censor it in any way or we'll use this gift to wash away your any sense of hesitation or doubt and when you think about it that's how the Holy Spirit uses our relationships too you know we feel a strong connection with somebody a strong attraction like a feeling of oh this feels very important or like destiny and then we're just being taken into a purification where all of our doubts and our fears and our hesitations are going to evaporate in the light of the Holy Spirit we have to give ourselves over to it with receiving songs and the lyrics there can be a judge part in there that starts to judge the one that's coming to me now is because there's a really beautiful song that goes one touch from an everlasting love one look, waves and oceans skies above one listen can you hear the music play the world is alive can you hear the world today and I hear it say love today and now there's no sky that's wrong there's no touch and there's no skies I'm turning the whole song out even though it's a beautiful song and the melody is just gorgeous and the piano is just like it makes me want to cry when I play it and sing it in Course in Miracles those times we call this Course in Miracles Nazis where you where they're so critical but then I always think that kind of thing if David Hough says he got wrong she's not teaching Course in Miracles well we always have those Course in Miracles jokes about two Course in Miracles students that get into an argument and they're really arguing pretty viciously for four or five minutes and one throws his hand up in the air and goes that's enough I'm not here and you're not here and we're not having this conversation that's Course in Miracles Nazi where this is my example of spiritual bypass you have to acknowledge the emotions you have to acknowledge how are you going to come to an honesty which Jesus calls consistency that's the second characteristic of a teacher of God if you don't come to a sense of honesty within your own mind where will you find a peace of mind not in the words so to me the Course is like a trampoline it can spring you into higher states of mind but don't put it onto the book or don't put it onto the words or don't put it onto certain phrases and I have been doing that for the last thousands of years unfortunately it's pretty good at quoting scripture there's even a line in the Course where Jesus says the ego enjoys studying itself oh that's a good line to keep in mind especially if you're like a 30 year Course in Miracles student and you're going around and you're like espousing the same words but you still have a sense of anxiety or fear it's drawing us into practical application to spring into the experience of love and joy and happiness not to cling to the words and even in the workbook he says today we go beyond the words he's encouraging us into the depths into the silence into the stillness there's nothing that would please Jesus more if you were doing the workbook and you've just got to a particular lesson maybe you're enrolled in Nick and Ann's class and you're on Lesson 278 and you're doing it during the week and all of a sudden on Thursday you go oh my god that's it I'm the Holy Son of God and well that's the last class you have to attend with Nick stop that you see it's not on a timeline the whole point is any lesson you can get anything that you can get from anything in this world where you've got a recognition of who you are is that's the whole point it's not about anything on the timeline it's not to be accumulated or achieved in some kind of a worldly sense so I think it's great we should let these songs sing them record them I really want to record them but it's again the whole recording process I'm like well it's not professional enough because I've recorded some but it's not professional enough it doesn't sound how I want it to sound it needs to be perfect so I have all these songs which are so many and just they mean so much to me but nobody's hearing them I have a friend in the Netherlands who's got a world-class voice I mean a world-class voice we're talking like Diana Ross or a spectacular voice and she contacted me about a year ago just saying oh I'm working with the course of miracles now and I'm starting to get course of miracle workbook lessons songs and she recently through WhatsApp she sent me like 10 songs actually blow you away it's just the most if I wasn't recording I would play one for you now her voice it's so spectacular but I feel like that's part of our gift you have a gift with the songs and the lyrics and there are those that can even the ego is just going yes but they wouldn't like that one because I have one about it because it's so representative of it's both ego but it talks about it's just getting rid of the concepts of bad and good so it's like I want to be there tonight and it's just like it's so not course of miracles I can't use that do you see what I mean why do I need to don't judge it if it works but it doesn't work for me always because sometimes I don't know because like now I'm even embarrassed to even sing I have a friend who traveled with me I've had all these different singer songwriters that have traveled with me and I love all the stuff that they bring and sometimes the songs that they think I would never want to hear are the ones that I want to hear the most in fact remember Donna Marie Carey she has a song called stuff stuff and she had a whole repertoire of amazing songs but she would always get in the gathering and at the end she would go to the guitar is there a song you want to play she's got all these heavenly songs I play stuff you want me to play stuff again stuff stuff stuff over here stuff over there stuff in my eyes stuff in my hair stuff in my nose stuff in my hair all just a bunch of stuff and it goes on stuff put away in boxes stuff fall over my clothes trash needs to be empty stuff fall over my nose stuff I'll say forever stuff with me all of my life stuff turkey for Thanksgiving and stuffing on the side see that's the kind of stuff I like and it seems like that's my taste in music I think it's funny I think it's a great song it's poking fun at the whole world and that's my kind of humor poke fun at everything because now you'll go home and you'll think I've got that damn stuff song it's a jingle in my mind well we're getting this we have reached the end of the day it's magnificent joy to be with them we hope you're going to come back again we would love to see it and thank you all for attending because it wouldn't have happened without you so thank you to all of you we've got another event coming up with Earl Purdy you won't be sitting around long in that one


Alrighty, welcome back to 105. Thank you for joining me today. So before we went over if statements, we figured out how to jump forward in our code. Well, today we're going to complete our jumping routine and we're going to be able to go backwards in addition to forwards. So today we get to talk about while loops. So while loops allow us to have some repetition. So, like I said previously, if statements, we were allowed to jump forward whenever we executed our program and conditionally execute some code. Well, while statements kind of the same idea, but they allow us to jump backwards and then repeat the same operation again. So now we get to explore what makes computers great. They're fairly dumb, but they can do the same thing over and over again, really, really fast. So how we introduce repetition is, well, name of the lecture, a while loop, which is done by writing a while statement. So the syntax, which again just means the C rules for actually writing such a thing in the programming language is the following. So we start with the keyword while, so that special reserved word by C means we can't use it for a variable or anything like that because it's meant for this while loop. So we write the word while and then we have a parentheses and then inside of that we have an expression that will, again, similar to an if statement is supposed to be a boolean, so it should evaluate either to true or false. And then after that we have a statement. So we could write it like this, but similarly to if statements, we should always write it using the curly brackets so we don't make a mistake that costs billions of dollars. So we should do while expression and that will be a boolean and then some code here within the curly brackets that will possibly repeat over and over again. So the actual flow of this to compare it to our if statement is if we have a start here and a while and then some expression A which should either be true or false. Then within the curly brackets we have some code here so I'll just denote it by the comment A and then at the end of the while statement I'll just have a comment that says the end which would be replaced with whatever the actual program is you have written. So the flow of this is whatever code is right above the while statement will always run and then the next thing that will happen whenever we run this program is we will evaluate that expression so C will compute what the result of this expression is so if it's A it will either be true or false. If it's true it will actually run all of the statements that are in this case at the place capital A and then after it's done running all those statements however many we put there it will go back and then check the value of A again and now this is where we have repetition because if it is true again well we will run that code that we have at capital A again and we will keep on doing this loop while A is true which is while it's called a while loop so we keep on doing something while A condition is true and the only way to stop it to get off this crazy ride is A has to evaluate to false and then as soon as it evaluates whoops to false it just skips right to the end just like what happens with if statements but in this case unlike an if statement we will constantly check that expression over and over again and keep repeating all of the statements every time it is true and then only once it has changed to false will we finally stop. So now using this we can write some more interesting programs for your definition of interesting so we can write a program that just does a simple little countdown from 10 and then finally print off blast off so this program would have no input and our output should just be these in this case 11 lines so I should say countdown 10, nine, eight, seven, doo, doo, doo, doo, doo, doo all the way to one and blast off so if I wanted to I could write 11 print F statements that is something you can do but as programmers we want to be as lazy as possible so if I look at this I see a lot of repetition here so countdown repeats every single time and I seem to be printing the countdown every time the value is above in this case zero and every time I print it I seem to just decrease its value by one so if we wanted to write this using a while loop instead well first our first thing we see is a countdown for 10 so we'll create a variable called count that is what we're keeping track of as a condition in our while loop that we're gonna write so we'll start it with 10 because initially if we want to print off a countdown well our first line would look like this so we would do countdown D with the line and count so if we just run that well what we're gonna get is countdown 10 and then blast off because while we just have these two print F lines we don't have a while loop we don't have if conditions so we would start executing from main create a variable called count initialize it to 10 print off countdown with the count which is currently 10 and then print blast off so this is starting to look like what we want but not quite there so what we want to repeat is essentially this countdown so we will start off a while loop and just write an empty condition while we think about it but inside the curly brackets is the line I would like to repeat so in this case if I run it well if I just put like while one well this is something bad this is called an infinite loop so if I go ahead and run this I will see something bad so I'll just see 10 over and over and over and over again as long as I want to keep my computer doing this and to stop it I have to hit control C or something like that so this is called an infinite loop because that condition one is always true and because that is always true I will essentially take this loop forever and ever and ever and I will have no way to get off this crazy ride so if I'm thinking about the condition that I want here well I only want to print a count if it is in this case let's just say it's greater than zero so this also doesn't help me because I still have an infinite loop here because count is 10 so 10 is greater than zero so it would print countdown 10 and then start over and over again so whenever you write a condition here you never, at least in this course you never want an infinite loop so inside of the body of the loop you should be able to make a change to the condition such that it will eventually be false so in this case well I want the count to go down by one each time so if we remember how to do that while there's a bunch of different ways I could write a count minus equal one if I want so that will take the current value of count subtract one from it and then reassign it to count or I could do something like minus minus count we'll do the same thing it'll just decrease it by one so now if I write it like this every time through the loop I decrease the count by one so I'll get as a result I'll see countdown 10, then 9, 8, 7 and because I'm counting down eventually this condition will be false and as soon as it is false it's representing a count I do not want to print so if count is one then one is greater than zero then it would print down countdown one and then we would decrease it from one to a zero and now zero is not greater than zero so it would stop this so this would then be false and we would skip to the end so we would not see countdown zero so now if we run this we'll see that hey we were lazy we only wrote one countdown printf statement and we got countdown 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 all the way to blast off so the output doesn't look quite what we want because I had leading zeros there and in one of your labs they're asking you to do leading zeros so if you look up that format specifier information you are allowed to say hey how many characters should this digit print so if I do something like two in front of the D that means that it will always be two characters so if I compile and run that there's now an additional space here compared to what I had before so it will always be at least two characters and if I want to just have a leading zero and fill that in you don't have to write an if statement or anything like that in the format specifier they will do that for you you can just write a zero at the beginning so zero two always makes it two characters and we'll put in leading zeros yep question does it work for doubles too and yes yeah it works for doubles leading zeros yep leading zeros yeah it should work for doubles as well but see now if I print that I get 10 zero nine zero eight do do do do seven do do do do do do all the way down so cool loops seem to be useful they save us from writing a lot of code if we can just extract out whatever we need to repeat and then make sure that whatever condition we write here will eventually be false when we want to stop repeating something that any questions nope okay all right so solution as always in the slides so you have it so like I said before beware of the infinite loops so the statements will run every time eventually that expression needs to be false otherwise your program never stops and this is a large source of problems you will have whenever you are starting programming you will end up accidentally writing an infinite loop at some time if this happens as long as you're on Linux or you're connected to the ECF machine if you get in this situation where it won't stop hit control C and then it stops all right so other program we might want to write is writing a program to print the number of digits in an integer so our input would just be some positive number and well as some examples if we input the integer one that's one digit if we enter 10 well that's two digits if we enter one, two, three or 123 that is three digits and if we enter this giant number well that has five digits so we can also solve that so here is our program set up for that one so here I just create an integer called input prompt the user to input a positive integer I'll do my good old handy scan F and then I'll create a variable that's supposed to count the number of digits so if I wanted to solve this using a while loop well what I might think of is how do I decrease the number of digits by one well turns out we can use integer division as our friend so if my input is something like five and I do I don't know input divide equals 10 so I just do the integer division because it's integer division that just truncates that essentially will get rid of a digit the lowest digit every single time so if I do five divided by 10 well the result of that is going to be zero and that means I have no other digits if I have something like I don't know 23 well if I do 23 divided by 10 well because we are in C integer division the result should be like 2.3 but because it's C and it just truncates we're essentially going to chop off the last digit no matter what it is so my result would be two so I could keep on doing the same thing until I hit a zero so if I take two and divide by 10 well that result is a zero and there's a bit of a pattern here so I can just keep on taking that number each time I divide it by 10 I get rid of a digit so if I want to figure out how many digits the number has I can just count how many times I do that until that number becomes zero so that sounds an awfully lot like a while loop so I could do while the input does not equal zero then just chop off a digit and each time I chop off a digit well I want to record that I actually chop off a digit which represents you know just increasing the number of digits by one so if I do something like that and I run it so input a positive integer if I say something like one well I get one digit which is what I expect so my input would be one so currently it's not equal to zero then I would take the input and then assign it to the input divide 10 aka I chop off a digit so if it's five or one in this case then the result will be a zero and I would have I have to account for that digit so I increase my num digits variable by one and then we would recheck that condition again this case input is equal to zero so it would skip right to the end and then just print off the number of digits now if my input was like one two three I get three digits because what will happen is the input is currently 123 which is not equal to zero input will chop off a digit so we'll change input to 12 and then we would now have one digit go here input is not equal to zero then we change input equal to one num digits is two check this condition again it's not zero so we take one divide 10 that's zero now we have three digits and input is zero yeah so the question is why am I using the prefix increment here so in this case it doesn't matter for weird rules you should just always use the prefix and not the post fix because like the result of this expression is the updated value so it would be one in this case if you use the post fix it would be zero which is just weird so there's a bunch of other weird reasons to prefer this but yeah always prefer the post fix or prefix prefix all right almost screwed up myself but yeah always plus plus something yep will I care on the exam? No no yeah in the case of exams or anything like that write whatever you want as long as you're not using the result of it which you shouldn't be anyways so as long as your program's still right you're all good all right any other questions for this one yep so the disadvantage of using the post fix version is the return value is just not what you expect so if I have num digits equal to zero here and I do num digits here let's say so if I write something like this what's the value of x? so you said one that's what you would expect well if we actually look at the value of x what would make sense is that it would be one but if we run it it's zero that's why yeah if I did prefix then it would be one so if I do this now it's one which is more what you expect so in English might make more sense to do post fix but in C as a computer programmer I can freely admit this I can barely speak English so speak computer not English things work better so just prefix is usually what you expect yep all right any other questions or things we need to go over all right cool so solution on the sides so there is another version of the wow loop called the do wow loop so the difference between them is sometimes we want to always run code and then only repeat it if the expression is true so they came up with something called a do wow loop so do is also a keyword in C so you're not allowed to name a variable it and the syntax or rules for it is do statement while some expression so we just put the expression at the end because we check it at the end so can write it like that but you should always write it like do curly brackets some statements and curly brackets while expression so if I was to represent it using that same flow diagram I had for the plain while loop it would look like this so some starting statements that would run before we try and go into this do wow loop and then we would have dual do then between the curly brackets some other statements here in this case capital A and then while some condition here that would be some Boolean lowercase a and then an end so what will happen is whenever we run this it will run the code right above it and then it will go ahead and then directly start running the code in a so it won't check the condition this code will always run at least once and then only after it is done running then we check the condition so if the condition is true then we just go back to the start and we execute all of the statements in the curly brackets again and then we check the expression see if it is true if it's true we go over and over again so this also has the opportunity to put us in an infinite loop so same rules apply we should make sure that the condition eventually becomes false whenever we want it to stop so when it is false we just skip directly to the end and why might we do that well currently at least in that last example I just asked the user to input a positive integer and if they didn't input one I couldn't do anything about it but now because we have a do while loop well we can actually do something about it so we can write a program to ensure that the integer is in fact positive so the input to this program should be any valid integer that fits in an int so it could be negative zero some large value doesn't matter and then we want to ensure that we always have a positive integer no matter what the user tries to type and in this situation a do while loop is going to be useful because well we always want to ask the user for input at least once so if the user is nice and actually inputs a number like a positive number then we're all good otherwise if the user is trying to be funny or try and screw with us then we might have to ask until they finally learn to behave so if we were to write that well we'll just create a variable for the input and then well we'll do the same thing we did before we need to ask the user for input so in this case I always want to ask or prompt the user for input and allow them to input something so I will put that in my do so I'll ask for a positive integer and then allow them to input it and store it in the variable called input and that is all I have to do I just ask a user for input and then as part of the condition I'll just ask them as many times as I need to so my condition would just be while the input is less than or equal to zero or whatever I want so if this is true so if the number they input it is zero or less then I'm just going to repeat I'm going to go, hey, excuse me can you try again please because yeah, you're not having a good day and I'll do this as many times as the user tries and then at the end here in this print F I'll only break out of this do while loop whenever the output or input is greater than zero so whenever I print this it will always be some positive number that is my num digits, whoops alright so now I can run my positive input program so now it says input a positive number well I can be a jerk negative 47 well now that condition is false, I inputted a number that is less than or equal to zero so it's just going to ask me again and negative one oh no, it asked me again negative 23 ask me again and I can't outsmart my computer it is a lot more stubborn than I am so it's going to outlast me so eventually I'll have to input a number that is greater than zero so I can try and input zero still doesn't like me now if I finally input six well then I made that condition false and I know my input is greater than zero so I can stop doing that repetition I can stop asking the user because they finally finally actually obeyed my rules and then I print off you entered whatever they entered in this case six so yep so the question is what happens in scanf if you overflow the input I believe it will just try and yeah some overflow rules will happen and you'll essentially for this course you'll get a random number yeah you could smuggle it in scanf's actually not that smart we should actually give you something that's a bit smarter than scanf but scanf's pretty dumb alright any other questions for that so now I can actually use this to actually make sure that well I can let the user input whatever they want I just won't let them get away with it alright so we can write our final program of the day so we can write a program now to sum all the positive integers so our input can be any number of positive integers for now I'm just going to assume that but we just wrote a program that would make sure it was positive but I'll just assume they're being nice and then I'll have this keep on adding all of the numbers together until the user input zero and then that means stop so the output should just be a single integer just representing the sum of all of the things the user has input so if I go to sum I will set it up a bit and then give us some time to think about that so I'll create a variable called sum I'll initialize it to zero so I need a variable to store the summation of literally everything the user types or yeah every user the or every number the user inputs so after that I'll ask them to input a positive number create a variable called input initialize it to zero in this case it doesn't matter but good form to have and then I will do a scan F and then get a single number so after this well I have to do some repetition because I want to allow them to input any number uh... that they want so I'll start it off a little bit so because we have repetition we will need a while loop so that keeps on going over and over again until the user actually inputs a zero so what we want to repeat is we want to ask the user over and over again to input more positive integers until they input a zero to stop here I can just have or do a scan F to get the next digit alright so let us look at this and then think about what I need here so what is the condition I want to finally stop at so when do I stop prompting the user for more input yeah yeah when the input is zero so when the input is zero I want to stop asking them so what should my condition here be if only when the input is zero should I have this stop right so I want this to be false whatever the input is zero so what is the condition I need to actually express that in C yep while input so I could say while input that gets into some weird rules but essentially that will work because in this case the C conversion rules is if input is zero that's false any other value will be true so that does work might be a bit hard to read yeah so I set the default value of zero here so yeah there's a question why did I do this or doesn't this screw it up so for running this program it's going to create this variable like it's just going to go line by line so it's going to create this variable assign the value zero to it then do a print F create this variable assign the value zero to it and then this scan F as long as it's successful it will change the value of input immediately so I didn't actually need to say input equals zero I could have left it alone it's just good practice to initialize things but yeah in this case I immediately change it all right so back to the question so this while input will work so let's make sure it does work it's called some so say input a positive integer 12 1 2 and then whenever I hit zero it stops so I'm most of the way there but this usually this should always be a boolean expression so if I want to change a number to a boolean I should use one of those relational operators so any other input as to what I should change this to yep yeah it does not equal zero so if I change it to this well that is probably a lot easier to read and actually expresses what I mean much better so for any other value except zero this is going to be true so no matter what the user inputs if it's negative well in this case if it's negative or positive doesn't really matter this while loop will keep on going and it will only stop whenever the input is exactly zero because only when the input is zero is this false because zero does not equal zero so we would stop and then say the sum is whatever so let's make sure that that works positive number 12 1 0 and then we stop all right what about the last step of actually computing the sum correctly how do I do that where should I do that yeah inside the while loop what should I write yep sum equals sum plus input so each time through the loop I'm just adding the input to the sum so what that will do is the first number I input say in this case I inputted 1 2 3 and since I initialize sum to zero the first time through the loop well sum is zero plus input so 1 2 3 that'll be 1 2 3 and we'll assign that value to sum and then it will ask me to input another number and well I input uh I update that input variable with 12 it would go back up to the top check well 12 is not zero so we would increase our sum so sum was 1 2 3 then plus 12 and then whatever the value of that is is going to be reassigned to sum and then we're going to do that again for input is 1 then increase the sum again then we input zero and then we stop so if we do that 1 2 3 12 1 and then zero and now we get the sum of all that is 136 which is actually what we expect in this case so we sum up the value each time every time through this yep yeah so in this case no reason why I wanted a positive integer I just said that to tie it to the last example but in this the code as I've written it it works fine for negative value so I could sum a negative one negative two negative three which should be negative six stop it six it's fine so I arbitrarily restricted myself for no reason all right any questions about this little program okay if not um I will give you a debugging exercise so say I accidentally what about if I just move this here is this okay here I'll give I'll give everyone like a minute to discuss and then I'll pull so yeah feel free to discuss have I royally screwed up or who's just moving that line all good yeah so now if I moved that line there well at the very least I missed that first number so in this case say I want to sum together two and three oops I didn't compile it so two and three and stop well now I get the sum is three oops turns out in computing you know especially with programming the order matters so what happened in that case is I said input a number and then they inputted right here they inputted two so two does not equal to zero so we would ask them to input another number and then the two they entered well this scan f would just reassign that so now two gets reassigned to three and we lost that two so we just sum is still zero we do zero plus three update the value of sum to be three and then I inputted zero and then it just stopped so because of that I missed the first input and this is like a very subtle change that makes your program suddenly not work so whenever you need to figure out some things like this some things like this remember your computer is not magical it will only start executing at main and then go line by line by line until it does something a little more tricky like a while loop but it's just always going to follow the same rules it just won't randomly do things so here it would always check the input if it's true it would do this go ahead check the input again if it's true it does it again if it's false it goes to the end so that's what happened I just seemed to mess it up a little bit all right any other questions for today because that went real fast all right cool so I'll just hang around here if there's any other questions or anything like that but we can enjoy ending 10 minutes early so just remember pulling for you we're all in this together yep yep so the labs are becoming like more and more complex now yeah because now we have like conditional code execution and loops everything yeah and like the lab specification usually doesn't go over like all the like how all the edge cases should be handled I was wondering if like if it's possible that you guys post the executables for the solutions so we could kind of like run like tests against them and see like how do they react to the to like certain inputs like edge case inputs yeah I can ask but I don't control the labs but I can I can bring it up yeah if you can't because like I wouldn't expect people like knowing assembly being able to like figure out like what the solution is actually doing yeah yeah yeah yeah that's a good suggestion they might be able to do that yeah because like I was wondering I thought that's how the exercise like command works but it's actually like you guys have like pre-written inputs and outputs that are compared like they didn't pair so it never actually has any executable yeah like I mean like there's probably an example but it's just like a test case and they're just inputs and outputs yeah so okay and I had to look at another quick question you probably wouldn't have like that but like for for the integral computation for one of my test cases my answer is like wrong in like significant or significant yeah but um yeah I'm kind of not like I guess I could probably just you know again like multiply everything by a thousand and then just divide by a thousand yeah it the test cases should be fine if it's off by a little bit oh no I mean like they're comparing one like different like this it's output to like five up to the decimal point five number like five digits up to the decimal and mine is like wrong in the third like after the decimal I think and I'm pretty sure like it doesn't like have like uh do anything in epsilon delta yeah uh I'll try to do multiple of like try to do like the integer yeah yeah you can DM me your code on discord too or email me too and I can see if you did anything concerning because like there's more of the one test case there's like four of them yeah and only one of them fails yeah the one with like I'm assuming that's over the floating point like numbers because like well some of them are like kind of like yeah yeah yeah just show it to me I'll see if anything's like obviously weird if it's not like before for the other test cases and like this is crazy like let them plus minus by one because these like especially how it was written it's like yeah it's not gonna work and I was wondering if there is like a


Hello. I'm Yuri. I'm the lead developer of the embark framework by status. We're trying to do a framework that makes it as easy as possible to develop decentralized applications. And I do mean decentralized applications in the true sense of the word. So, dApps that really use the entire decentralized stack that is currently available. And we're really excited to talk today about embark four. And we also have a few other surprises. First, though, we'll just do a quick detour for embark three and what happened this year. For those of you that might not be familiar with embark. So, this year, back in May, status announced that it was supporting embark. And the team has grown a lot. We're now seven members full-time working on this. And so, first of all, embark goes far beyond just the smart contracts. It does support Solidity and other languages like Viper and Bamboo out of the box. And you can even use them together if you want to. But it also supports Swarm, IPFS, Whisper, and recently ENS as more components in the stack. And we can also add other technologies through the plugin API. And we're working with some other projects to add their projects to embark. So, the first big difference in embark with other tools is that the contracts, you describe the relationship between the contracts. So, instead of very complex and often spaghetti-like migrations, all you have to do is really describe all contracts are related to each other and what actions you might want to do once a contract is deployed and other events. And embark will automatically figure out what is the best way to deploy those contracts to reflect the state that you just described. And this also affects if you change a particular contract, it will not deploy everything, it will deploy only what's actually needed to, again, reflect that particular configuration. So, a status uses embark extensively internally for DApps and smart contracts. This is a more or less real example. I modified a lot for the purposes of this presentation. But the first thing is that there are environments. So, there's the special default environment, which is a sort of environment that applies to every other environment. And then you can override in a specific environment any particular configurations that you might need. So, in this case, there is this MiniMe token factory, which it's already deployed on Robson. So, we define it there. So, when we deploy to Robson, it will take the configuration of defaults, merge it with Robson. And in that case, we will not try to redeploy MiniMe token factory, we'll just reuse that address. Then, here you can see there's a MiniMe token factory is being passed as a string with a dollar sign. And this is a special directive that it tells embark that this contract for this argument needs the address of this contract. So, embark with this knows that it first needs to deploy MiniMe token factory or get that address. And only then it should deploy this STT token. There's also other directives like deploy F, which will only deploy if a particular condition is true. That can be something in JavaScript code or can be something in a contract. And you can also do multiple actions when a contract deploys. And there's other directives here which I'm not really going to because there's a lot of them. There's things like after deploy and other directives. So, you can do a lot of different configurations with this type of thing. And here's another example that you can also specify URI for a particular contract. And this is very useful if you want to quickly prototype something that needs a contract form, open zappling. In this case, give us. You can specify a URL or even a swarm URL or IPFS. That counts configuration by the ratio. Okay. Questions we're asking? Is that okay? So, the accounts by default, we will take the accounts of a connected node. However, you can specify, yeah, there's a light wallet functionality which you can use to specify accounts and even set their balance. So, in this case, we define here two accounts. We use a private key, not want to use a mnemonic. And there's two examples that are possible. Preferably, don't put your private key in source control. It's a good idea. And you can see there's a balance five ether which, so if you're in a development chain or on a test variant, we'll set that to five ether. Of course, this won't work on mainnet, but it's just for development. And ENS is, so ENS in embargo is considered one, another layer in the stack. So, which is the naming layer. And yeah, ENS right now seems to be the only working decentralized naming system. So, it's the only one that's actually supported. When you are in a development chain or in a private chain, ENBARC will automatically deploy and set up the ENS contracts so you can use them in your application. And this configuration might look like. So, in this case, when this is enabled and we are in the development chain, if I go to my DAP and resolve status that add, that will resolve to the address that is defined. And you can put a contract that you just deploy as one of those addresses. If you're DAP, then it's, if you have ENBARC connected to a known chain like Robstein or mainnet, then it will just use the ENS contracts that are already there. It will not try to redeploy them. All right. The tests, so there's a lot of functionality in the tests. They are quite flexible in the sense that you can use the same contract configuration that we've seen before. If you don't want that, you want to do very, very pure unit tasks, you can also do that. Just import the contract object and deploy them before each or before all. They're quite fast. They try, there's like little tricks that the framework tries to do. If you have any ENBARC instance, it will actually connect to that instance and reuse a lot of the code that's already running, like the might reuse the compiler or might even reuse the node that you already have, which is much faster than booting a VM on the spot. It will display gas codes and it also supports code coverage out of the box. There's a lot of functionality in previous ENBARC. We cannot really cover it here, but for instance, there's full support for Webpack, so it makes it very easy to do production builds of your DAP. You can have very small file sizes, which is really handy when uploading to Swarm, for instance. It supports already IP1102. There's many templates ready to use, such as if you want to use like a React template or when you want to do like a status DAP, there's also a plugin for that. And it can very easily create private chains. So if you're with other developers, you want to develop on the same chain, that's also pretty simple to do. And there's a plugin API that allows you also to extend and completely change the functionality if you want to. In fact, ENBARC itself is entirely a plugin base, so everything in it is implemented as a plugin. So if you want to add some other technology or completely change, you can actually quite easily. So now ENBARC 4. So the team has been working hard in this the last few months. And there's this feature in ENBARC 3, which is the transaction logger. And what this did and still does is when you do a transaction in your DAP, so you're developing, it will show in the logs what contract you're calling, what method, what parameters, and all that information. In ENBARC 4 now, it will also show why, if a transaction fails, it will show you why and exactly what line caused that to fail. It will also show you the variables, values, and so you can easily see why. We also include ENBARC 4 debugger. So if you type, you can either type debug in the transaction, or if you just type debug, then it will debug the last filling transaction, so you can easily, you can quickly see, okay, what are the values of the variables, you can do next, previous, and other commands. We also include an experimental DAP generator. And the idea of this is that you can give ENBARC a contract and it will attempt to generate a React app that works for that contract, which can be quite handy for prototyping. And we went a level deeper and for particular cases, you can also just specify like a model and it will create the contract and the DAP based on the configuration that you did. So in the case of this command, for instance, because it has picture IPFS, it knows that it has to put the functionality to upload and display pictures, they should go to IPFS, and the hash that gets returned needs to be in the smart contract. Now ENBARC has since version two, I believe, this dashboard and just be very clear, this is not going away, because we got typically very good feedback on this. However, we're introducing now Cockpit and this is essentially a complementary, but it launches a UI that you can access to interact with ENBARC. So it kind of takes that dashboard and puts it as a web UI. So you have the same things that you had in the console from the services, you can see the deployed contract, but it's obviously much more interactive. So, for example, in the console, oh yeah, we also have like light team, dark team, depending on your preference, I prefer the dark. So the console, for instance, you have Autosuggest and it tries to recognize what you're doing and give the appropriate suggestions. So if you're using Web3, it kind of gives you a documentation on the spots of what each of the suggestions are. If you're typing a contract address, it will give you information like where that contract is deployed, what is the type of object. It also has a blockchain explorer and it has pretty much typically everything you would expect to have from accounts, block transactions and the contracts as well, the contract that you have just deployed. It has an editor and again, this is complementary. You can still use Veeam or VS codes or God forbid Emacs. So when you open a contract file, you can immediately, you can interact with it in the IDE. You can see that you're in the sidebar. There's also, I thought the screenshot might be missing, there's also a gas price estimator, which is useful for connecting to a more public network so you can see how fast the transactions can actually go and for what price. We also have the details in case you need the ABI or the bytecode to copy and paste that. We also have the same transaction logger that I showed in the console. Here you can actually see what the transaction is done to that contract and you can actually filter them if you want to. You can filter by events and you can also debug them. In the case of the debugger, it will show you the contract global variables. You'll show you the Solidity variables as well as the local variables to that function. And you can step through it, step in, break points, the whole thing. And there's also a browser preview that you can use for more quick prototyping. So a good workflow in this would be, for example, that app, I press the set value. I see in the transaction, the set went in, maybe it broke. I press debug, go to debug, and I can then debug the contract and see what went wrong. And we also are introducing this deployment tool. So the idea here is that from speaking to many of our users, we realize that a lot of people actually prefer to deploy directly with MetaMask, typically with the browser IDE and then deploy to MetaMask, because sometimes they don't feel very comfortable deploying from the command line. And because in the case of more advanced tools like Embark, it can do a lot of deployments. And when deploying, the main app people need to have the confidence of what's actually happening. So here, with this option, Embark will tell you what is the intended deploy order, and then you can actually deploy semi-manually, one by one. And each time you deploy a contract manually, you can interact with it, see if everything is okay, and then you can move to the next contract. So you can get more info in the Embark website at status.im. It's now available as an alpha. It's still on an alpha stage, so be careful. And we also intended to make it available as a pure web application. If you're interested in that, you can go to the Embark website and sign up in the mailing list, and you will get an invite. And I just want to thank the Embark team and all our contributors that made all of this possible. And thank you. Debugger, like the Visual Debugger, are you leveraging Remix for that? Yeah, we're using Remix. So you're just reusing most of that library from Remix? Yes. So Remix, it's being basically refactoring into an API that you can use, and Embark is leveraging that. So it has pretty much the same functionality as Remix. All right, thanks. Hi. So I understood that you provide a testing framework for off-chain code. Does it work for Solidity Contracts too? And as an alternative, do you integrate Truffle or, I mean, the whole suite, Truffle, Drizzle, and what is it called? Ganache. Thank you. Can you repeat the first question? Yeah, in your presentation, apparently you can write tests with Embark. What do you test exactly? Do you test the smart contract code or you test the off-chain code? So that's my first question. And if it works for both, and if not, for testing smart contract code, do you integrate Truffle? Right. So it tests the smart contracts. That's the main focus. It actually supports Solidity tests. Truffle is like a different framework, and it does one more, it does like specifically just for the smart contracts. Well, this does the smart contract, so what you were describing like Truffle does, but it also focuses on the other components. And Drizzle, I assume that's independent of Truffle, so in that case, it should work. We have one right here. Hey, so when you are showing the configuration, you are showing some kind of hooks in this JavaScript object, like onDeploy and the string representing the code that it's going to be evaluated.  So I took like a real configuration, and then I thought, okay, what's missing here that could be educational, and I added. I didn't really think about that type of stuff. The goal, if anything, it probably confused people more, and it was already a big config file. So to answer your question for educational purposes, that's the answer. Hi. As a long time Truffle and Embark user, I've been waiting anxiously to see which framework, actually which JavaScript kind of version of the blockchain, so Ganesh or whatever Embark powers up, is going to support default event reading, like when they happen in contracts without having to subscribe to them. So are there any plans to have events tracked by default from your smart contracts and shown in the Block Explorer? So you mean actual, solidity events? You don't mean like just the transactions? No, no, just actual events from the code without having to subscribe individually. I'll think about it, because I feel there are some downsides to it. I know this is coming in the next version of Ganesh, and I really hope you guys beat them to it. Yeah, yeah, that's exactly what I was thinking. Yeah, because we do have the logger that you can see the state. So doing that, it looks fairly trivial, not some misunderstanding some, but yeah, so I didn't show really the explorer for the contracts, and you can choose your contract, and yeah, you can interact with it, but I think we could also add the state to it. So I think it's a good suggestion. So you support ENS, you support IPFS, are you going to support IPNS? We actually do support the IPNS, I thought I didn't mention it, but we do support it too.


Vice President Sehmiro Shibajon Friday led Prominent Nigerians to pay their last respect to former governor Adebay Akala of your state. He was buried at his residence in Ogbomoshaw. Governor's and other politicians from the two leading political parties in the country, the APC and the PDP, stormed to build a Baptist church, Ogbomoshaw, where the funeral service was held in honour of former governor before his remains were buried at his residence. Vice President Sehmiro Shibajon described Alamakala as an open-minded politician who would be meshed for his magnanimity and compassion. He made a deep connection to the people, not surprising in any political calculation. Everyone knew that wherever Alamakala reached his steps, he was where Ogbomoshaw could go. And the advisory number 24, please reach out to him and within the shortest possible time, the government of your state will ensure that he is happy with the honor. Farewell, a great man. Farewell, a great governor. Today, we are shown that Akala is not just an APC 15. He is the leader, the thoroughbred Oyozit man and the Christian. Bring the APC together. Yeah, right now, sure, we can't be so far away from Alamakala. There's a giant that's left the Greek food tonight, the Ogbomoshaw, and he has left the Greek food in the second lunch. We also have another politician that can stand and step into that show, Felix. So it's Shawnee Eradu. Eradu, Eradu. The late governor and indigent of Ogbomoshaw was elected as governor of the state on the platform of the PDP in 2007 and recontested as governor on the platform of action democratic party in 2019 before he later moved to the APC in 2019. Subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


So thank you very much for your point Natasha. Now we stay in IOT but more in the manufacturing space and I will give the word to Marco with a German sorry Tariq with a German entrepreneur and we'll present to you what his company is developing and what he believes will have an impact on our life going forward Thank you very much We are a little bit now about IOT and maybe for a consumer perspective and I want to share some insights for our work life and Tariq from Proglove and we are young company from Munich in the manufacturing and logistics industry and We believe that despite all automation The worker human worker will still be crucial for the future of the industry We just have to equip him with the right tools with the right technological tools just like industrial IOT So what we do we we basically had a look at the industry and How the industry is shaped and what drives innovation in the industrial sector and we saw That there are two different stakeholders in the end. We have on the one hand decision-makers process owners plant owners warehouse owners Who are very interested in how to optimize their processes? They have to deliver a certain parcel at a certain time to a certain customer and on the other hand, we have people who operate who create the value by assembling a car by packing the packages and deliver it and both ends Have one big problem one big issue in this transforming world. It's efficiency it's on the one hand trying to make things faster in order to save money or on the other hand to create better process quality while not you are losing time and We had a closer look especially at manufacturing in the automotive sector And we saw that all operators have one thing in common They all wear gloves and this is where pro gloves come in because we made those gloves smart We made those gloves into an industrial IOT feature I'd like to present those gloves also to you You can just slip in It's a module on top a small computer a camera tracking device motion sensors optic acoustic and haptic feedback options and You have even a trigger a textile trigger at the side of your index finger when you push this trigger You actually can see that the engine is released so people use it nowadays at IKEA at BMW at all types of grocery stores to Identify objects and to make sure that they assembled the right part at the right time So by pressing the button you can actually see a Feedback on the back of your hand and you can sense it as well. So it's good for three things It's increasing speed because I don't have to use a separate tool anymore At second it improves quality because the worker knows exactly at the time he identifies the object Whether it was right or wrong And at third it gives us more insights more traceability on how the processes are designed and how at the real world environments Actually the workforce behaves inside a warehouse or inside the manufacturing side and I'd like to even Invite you to to have an example not here on stage, but actually at manufacturing line in Munich of BMW if the video works Yes, it'd be great So just to give you the perspective about the speed and about What drives those people? They actually have to assemble a car every 53 seconds and they have to make sure that they use the right parts and assemble them in the right order Exactly that time that means every second that they can save is crucial to them And if you can do it in a more ergonomic way, it's good for the worker We heard those needs actually also here in the conference on Friday by Airbus who mentioned that if in a multinational Supply chain value chain if truck drivers get controlled at the border and Lose two minutes. It's actually real money that Airbus is losing them So we cannot save this two minutes, but we can provide actually a few seconds to improve the processes over there With regards to regulation But that there also comes issues in this new technology We have a technology attached to the worker and all unions of course at first say, okay What are you doing with this data? What about privacy issues? What about the privacy of? my worker and I actually want to give you an example from Inquiry at the earlier stage of our company where big US manufacturer asked us what can you track with your glove? I imagine my workforce just like a football team with the players on the field and When they don't perform I want to exchange them and This is a boundary for us That's that we don't want to address. We think that we can address problems in the industry While giving data a nominized data to the process owner But it's up to regulation to define how much traceability We can use or how much traceability the company owners can use to optimize the processes and I think What I saw during the last days It's important to understand for us that the pace of technological change is As high and we need to keep up in terms of regulation with this pace and With this I'd like to basically hand over to the regulation part and see how Technology can also improve regulation itself. Thank you Thank you, Tarek making the link to one of the element that Matilda introduced at the beginning you you showed the type of Policies that would be affected here and it's clearly labor policy You should know on top now that not only people will wear gloves, but they were Helmet earphones where they are given instructions by machines That tells what is the next action to be done So at the end of the day what what is the relationship with Between the human and the machine considering that in the warehouse space for instance It's human less so today the way the warehouse is our managers without humans You cannot do it on the manufacturing chain So this is the evolution and that's back to the augmentation that technology can bring but in which conditions So thank you, Tarek. That was very clear


What do you say to Americans who are upset with you over the way you downplayed this crisis over the last couple of months? We have it very much under control in this country. The coronavirus is very much under control in the USA. It's going to disappear. It's like a miracle. It will disappear. March 4th, we have a very small number of people in this country infected. March 10th, we're prepared. We're doing a great job with it. It will go away, just a calm. It will go away. What do you say to Americans who will go away? And I do want them to stay calm. And we are doing a great job. If you look at those individual statements, they're all true, stay calm. It will go away. You know it is going away. And it will go away. And we're going to have a great victory. And it's people like you and CNN that say things like that, that it's why people just don't want to listen to CNN anymore. You could ask a normal question. The statements I made are, I want to keep the country calm. I don't want panic in the country. I could cause panic much better than even you. I could do much. I would make you look like a minor league player. But you know what? I don't want to do that. I want to have our country be calm and strong and fight and win. And it will go away. And it is incredible, the job that all of these people are doing, putting them all together, the job that they're doing. I am very proud of the job they're doing, that Mike Pence is doing, that the task force has done, that Honeywell and Procter and Gamble and Mike and all of these people have done. I'm very proud. It's almost a miracle. And it is the way it's all come together. And instead of asking a nasty snarky question like that, you should ask a real question.  Please go ahead, please. We'll get right back to exposing this latest media con job. But first, I have an important message for all my viewers. The world we live in today is in flux. Filled with a flood of information that's often as much gossip as fact. Making it hard to know what the real situation is. Making it easy for people to panic and make bad decisions. The only way not to get caught up in that chaos is to have a plan allowing you to avoid dealing with empty store shows, long lines, and in the worst case, desperate people. Used today to prepare. A great place to start is storing food in your home. I'm prepared and I ordered even more recently. With this unprecedented emergency, orders are being delayed, sometimes eight weeks or more. I urge you to add your order to mind today. Take action so you're ready for what's coming and save $70 on a two week emergency food kit. When you go to my special website, preparewithdronetech.com. Those that know what's coming are preparing today. Go to preparewithdronetech.com. That's preparewithdronetech.com.


Health, Justice, Development and Peace in collaboration with Global Peace Foundation of Nigeria have called on religious community leaders and Nigerians to promote peace and unity, which is a panacea to growth and development for nation-building. Plus, TV News correspondent Habila Dorofai covered a one-day peace roundtable discussion to interface religious leaders, youth and relevant stakeholders in Kaduna State. In recent years, some states across Nigeria, including Kaduna State, have suffered ethnic and religious crisis. It is against this backdrop that this roundtable discussion is organized. It's to bring together stakeholders, those who are involved in peace building, one way or the other, those who are critical to these issues, religious leaders, civil society, government and media, the people who are the grassroots proper, where we can continue to talk about peace, especially in this era of electionarian season, when we know that politicians and some opportunities could take advantage of already existing problems and begin to latch onto it and cause more trouble. So, we hope to continue to preach peace, peace education, peace advocacy to ensure that there's peace in our land. As you know, no society can develop, no society can scale growth in the absence of peace. That is why we have decided today calling on people to observe non-violence and ceasefire wherever they are. Fundamentally, we can mitigate the killings that are very rampant in our country by inculcating in us that all members of the human family are brothers and sisters. Therefore, we have no right. It is not good for us to be killing our brothers and sisters. We should continue to do all that we can with a view to saving lives, regardless of any difference. Forever and further, Stephen Ojakwa, interreligion, ethnic relation and dialogue play a vital role in promoting peace. He speaks alongside the program officer of KUKA Center. Divergent views together to be able to talk about peace and wish one another strong, peaceful structures that can promote peace and dialogue. For example, as a component of today's event is a music, intercultural music, which like a hybrid of cultures of Africa, Europe and Latin America, peace music. So, these are some of the functions or some of the efforts Kaisi tries to put in place to promote dialogue and peaceful coexistence among cultures and religions around the world. Every community within Kaduna State to understand our own form of racism, what aspect of racism or what aspect of tribalism that is keeping us from having peace within our society. So, I call on everybody within Kaduna State, particularly communities within Kaduna, to understand our own form of racism that is denying us of having justice. That by doing so, we see everybody with an equal eye that alone can bring inclusiveness within our society. So, I call on all to understand those forms of racism, tribalism and ethnicity alone that can go a long way. The need for everyone to understand the beauty in the diversity of the nation becomes necessary even as we inch closer to another general poll. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Hi, my name is Catherine Davies and I work with super office app store and the ecosystem of partners in my current role I'm using super for service a lot more and I'm finding that this is incredibly helpful for me partners send in requests and questions all the time and I'm using this to answer them and Sometimes there are a bit more technical questions and I have to have input and help from my colleagues and the tool gives me a very easy Way to do that. Let me show you how Here I have a request in super for service and I'm pretending it's mine And it's one of these that I need some help with for my colleagues. So what I can do here is I can actually forward this and I could Choose to forward it to one of my colleagues and Add a comment or just simply say okay, and it's sent automatically to a colleague as an internal message It doesn't send anything to the customer or the partner in my case But simply to my colleague where I'm asking for help for example, and he or she can then add comments to this and Here's what you need for example It's okay, and again I'm adding internal comments and assistance to my request without having to send anything to the customer until I'm ready So you see you have plenty of tools that can help you collaborate with your team members when you need input I love the fact that I can interact and get lots of internal comments before I send something back to a customer or a partner I hope you found this helpful. I certainly use it all the time and and perhaps you will too now Thank you for watching and have a good day