We demystify what goes on behind the therapy room door. Join us on this voyage of discovery and co-creative conversations. This is The Therapy Show, behind Close Doors podcast, with Bob Cook and Jackie Jones. Welcome back to the next episode of The Therapy Show, behind Close Doors. This is episode 49, Bob. Oh, God. I know. We're flying through them. And this episode is all around compassion fatigue in therapy, although you have just said this happens anywhere. Well, yes, in lots of different places, but we'll start off looking at the process in therapy. Yes. It's a big thing, compassion fatigue. Yeah. Yeah. How do you see the compassion fatigue that in your practice or from where you're standing? What do you think about it? I think in the early days, when I first qualified and was first seeing clients, I think I probably over-identified a lot more than what I do now, maybe. Yeah. I can remember. I think I might have had this conversation with the supervisor and saying it was like I had a bit of a radar on the top of my head and it just sucked everything in. And I was told that over time, that would not happen. And I think that's true.  Yeah. Well, that's me. I was a childminder. I've always worked with kids. I'm an ex-foster carer. I'm now a psychotherapist, so it's kind of in my DNA.  Yeah. So compassion fatigue is something to really look at for with you then. Definitely. And I definitely felt it in the early days, more so than what I do now. But having said that, sometimes the universe brings us clients that are kind of going through similar things than what we are. So how did it manifest for you then in those days? I found it hard to shake off the clients once the session had finished. And that was one of my big concerns when I started seeing clients at home. I had this sort of fantasy that it would taint my house, if that made sense. What would taint you? Say a little bit more about that. Just the feelings of therapy, basically, or being a therapist. Like I said, I used to struggle shaking a client off. We had quite an in-depth session. It would take me a while to come down from it. So you would sort of take the feelings on maybe like in a litmus paper Yeah. Whereas when I was working from MIP, I had the drive home. So I would kind of, you know, I don't know, just talk myself down on the 45-minute drive back home. Whereas when I was seeing clients in my home, I did have a fear that it would stay there for a bit longer. I think that's a good way to describe it. I think when you talk about compassion fatigue, we're often talking about a transferential position where we over-identify. I think that's what you're talking about. That's why one of the signs of that would be to maybe constantly think about your client when you go home or even dream about your client. And you know, it's a good phrase, what you said, I think, have difficulty shaking off the thought, the images, the desires, or whatever the transference is with your clients. And worrying about them in between sessions. That was another thing that I used to do a lot of. Yeah. See, the way to get through this is supervision, supervision, therapy, therapy. Yeah, 100%. So if you have your take care of yourself, yourself, have therapy, have supervision, then you can lessen the effects of so-called compassion fatigue. Yeah. But you have to take care of yourself professionally at that level, I think. Definitely. Particularly. And peer groups and colleagues and things like that. Yeah. I think for me, it was about learning and understanding, you know, particularly through the assessment process and everything, that the client, you know, was okay at taking care of themselves as well. He wasn't my job to take care of them in between sessions.  The clients, when you say, okay, I do know what you mean, that they have a responsibility themselves to be. Yeah. And enough adult capacity to take care of themselves. Yeah. Well, some, I sort of hesitated because for some clients, of course, they're so badly damaged that their self-care process is limited. Yeah. Yeah. So it's yes and no really. I understand why you're coming from terms of compassion fatigue, but you know, some clients are so damaged that they don't know how to take care of themselves. Yeah. I think the big thing is, it's not your responsibility to take ownership of that position. Yeah. Because as well, I don't know if you feel about it, but I did kind of have a bit of an insight or a realisation at some point that if I take on the hurt and their feelings, it's kind of disempowering them because it's not my trauma. It's not my stuff. Oh, certainly, isn't it? Yeah. Yeah.  But sometimes, and with some clients in the early days, it felt like that. It felt like it was your trauma. Yeah. Like I said, it took me a while to shake it off. There was definitely physiological stuff going on for me after the session. So then therapy and supervision are crucial. Yeah. Yeah. I mean, it's interesting for a lot of counsellors, they don't have that recommendation requirement that you have therapy. I know. And I think this is a perfect example of how not taking care of yourself in understanding and reflecting and dealing with the positive identification that transference can lead to great challenges. Yeah. And it is a tough job being a psychotherapist sometimes because people only come to you when things are bad. They don't come and bouncing through the door and tell you all the good things that are going on in the life. No, they won't. No, no, no. That's absolutely true. So if you have four or five clients in a day, that's four or five hours of people talking about a lot of deep, sometimes negative things. You need to take care of yourself. And the problem comes when you don't have that therapeutic support or that supervision and you're attempting to deal with the transference or implications or the positive identification by yourself. Yeah. That's a very dangerous position. Dangerous is a strange word, but it's a very challenging position. Yes, yeah. And like you said, there's a lot of counsellors out there that it's not mandatory. It's not something that they need to do. And I don't know whether supervision is taught to them on their training and the value of it. I think supervision is, but I don't think, well, I know that the, in the counselling training, its maximum is about 20 hours therapy. Yeah. Yeah. I don't know because I only know doing it through the transactional analysis world, but like I think I've said it in this podcast before, I didn't think there was anything wrong with me until I started turning to be a psychotherapist. You know, and it is possible for us to get triggered when we're in the therapy room with a client if we've not worked through our own stuff. Yeah. Yeah, absolutely. And if you haven't worked through your own stuff, you're very open to what we're talking about here in terms of professional fatigue, compulsive care taking or compulsive, it's a psychological term, but anyway, compulsive rescuing, which it helps no one. No. No, I think, you know, that was what I was meaning earlier on when I said it, disempowers the client, you know, if we're constantly rescuing and giving them all the answers and trying to fix everybody. It's disempowering. I do believe that, you know, with support and educative psychotherapy and everything, the majority of us have the answers in us. We just don't know where they are. So you usually find, especially when students start their placements, so they start, you know, the beginning of their clinical life, if you like. Yeah. The sort of position you're talking about here or what we're talking about here often rears its head because the early, early, early therapist often comes from a position that they believe they have to do something. They have to rescue the client in some sort of way. Yeah. Often they come into this, often they come into therapy because they're attracted to that actually in the compulsive care taking place. They often come into therapy thinking they have to do something. And they sort of almost, and that means in a patronising way, but they find it hard to take on board that actually the doing bit is actually being rather than actionistic doing. And that is you, is a very common process we find with beginning therapists. Yeah. And it's something I went through. You know, I think that's one of the things why I'm always talking about MAPER and how good the training is because, you know, it's a four year course, but two years in, once you've passed your competencies, you're seeing clients, but you're still under the umbrella and the support for another two years.  You've got two years of, you know, contact with yourself as the trainer of supervision as part of the course. You know, that's what I love. I don't think I'd be practicing now if I'd have done it any other way. No, I think it's really important to take care of yourself and have the opportunity to support, have the supervision and move away from a compulsive care taking place for yourself and what we're talking about here, but also for the clients, which you identified at the beginning of this podcast. Yeah. Yeah. And, you know, I love the way that you said that sometimes it's just being as opposed to doing. We don't need to do lots of things, which again, I suppose it's a comfort blanket when you're first qualified is that, you know, you have lots of things that you're kind of using, you know, strategies and forms to fill out and questionnaires and this and that just because it's uncomfortable to just be in the room and go with whatever comes up rather than having a plan. I think for a little therapist, beginning therapist per se, being is a real challenge. Yeah. Because actually they've come from a place often where they're high achievers in their professions or they've got lots of strokes from doing things and being, just being, it's very challenging for them. And that's the real art and often a lot of therapy is needed from that and a lot of supervision to sort of be able to be. Now that might sound strange to people listening. I don't know if it does or it doesn't, but if there's always been a concentration on doing something, a person will feel a void or very odd, you know, if they're not taking the space to attempt to solve things for people. Yeah. And there's something as well about if we're constantly doing things in the therapy room, often it can be really cognitive and they're in the thinking and a lot of the time as opposed to going into feeling where, you know, I've been, you know, I've had the honor of being on one of your therapy marathon weekends where yeah, to sit on a couch with somebody and say nothing is really powerful. It's a real challenge for a lot of people. Yeah, yeah. But if we're not doing things a lot of the time, we get out of our head and we go to a different place, which is what we, you know, is helpful in therapy. And I think that a lot of people question student therapists again, get so overwhelmed when they have to reflect on being as a major part of the therapy to process, but sometimes they learn that it's not for them. They've actually come into the place of being a therapist from such a compulsive caretaking position that is too overwhelming if they've then thrust into the challenge of looking at what being, you know, what being actually means for them. Yeah. Yeah.  So to have a safe space in a room where they can explore that and be all clear with it is, you know, it's really useful. Absolutely. And so people can get really fatigued, that's why it's called compassion fatigue, for, from the script position often of feeling they always have to do things and show compulsive compassion all the time. And if they're not doing that, then something's wrong. Yeah. Yeah. And there is that over identification that we've already touched on, you know, I think it did take me a while to work out who's feelings or who's sometimes in the early days. You know, is this mine or is this theirs? It was, I don't know, the energy was just in the room and it was quite confusing as to who's it was at times, which sounds a bit woo-woo when you think about it.  It's not part of your daily process in life. So, you know, therapists and counselors are entering a profession where that is a crucial question they need to ask themselves. Yeah. I'm glad it wasn't just me then. If they don't ask themselves that question and they take on all the trauma, the misery, the depression, the hurt that we're often dealing with in the therapeutic process, they will have great challenges and we could use the word fatigue, but they will they will have their finest job hard. I can remember as well. I'm not sure whether we've touched on it on any previous podcasts about, you know, the the clients that we take on as therapists and kind of like an 80-20 rule as to, you know, the type of clients that we take on, which is another way of, you know, making sure that we don't burn out as therapists. Yeah. So, explain for the listeners what 80-20 rule is. Well, you know, I know we've spoke about it in past, you know, sessions about the walking worried and things like that taking up 80% and the other 20% that maybe have more specific or deeper trauma and to be mindful of the clients that you're taking on so as, you know, you're avoiding that compassion fatigue. That's right. And I think it's another trap for beginning there, to take on many, many, many clients for various reasons. And certainly, if they're going to go and be put themselves in a position where client after client in the day, you know, is deeply scarred, deeply traumatized, et cetera, et cetera. And they believe we've got to cure or help the person heal themselves with a trauma every hour. They will certainly have fatigue very quickly. And be no use to themselves or text to the client. Yeah. So they need to take care of themselves. You know, I'm always interested when the beginning therapist particularly, but also very experienced therapist, you know, when you ask them, how many clients do you see in a day, for example? And they say, oh, 708. And, you know, that's a remarkable, remarkable response. Hmm. Oh, four in the morning, four in the afternoon. It's a remarkable response, especially if the therapist works in a lot with the disturbed population. Yeah. I did do that for a short period of time when I was working in Manchester and renting a room or hiring a room. Yeah. But I certainly don't do that now. And I realised quite early on that this is, this is not good. It's not good for me and it's not good for the clients either. Should be half that. Yeah. Yeah. Well, that's it. I work because I work from home. So I work, I kind of split it up into mornings, afternoons or, you know, daytime and then evenings. A lot of my clients are in the evening. So it's starting from five o'clock, you know, and I finish at nine o'clock. I'm usually seeing two or three tops, but generally just two in each section. People need to have, I think the prerequisite, and I'll keep repeating it and feel I'm labouring it, but therapy is so, so, so crucial. So you can differentiate out what's your own trauma and what's the other person's trauma or what's your feelings and what's the other person's feelings. And it doesn't get lumped up. And without that therapy or that person who's going to help you differentiate from your own script, if you like, in TA terms, your client script, fatigue will or challenges will happen. Yeah. I think, you know, it might be worth mentioning as well about, you know, if we're going through something. Yeah. Sorry, I'm just going to go again. Yeah, you're all right. Yes, you're right. You know, if we've been through a grief or, you know, something like that or going through a divorce or whatever it is that, you know, we need to be mindful of how we're going to be in that room and whether we're going to be serving our clients to the best of our ability if we're not taking care of ourselves. And it might be to take some time out. Well, now you're into a very, very important area.  I think it's only ethical to take time out. Yeah. Me too. And if you don't, I think, okay, it might be a distraction for you, but it doesn't help the client. No, no, but I think it goes both ways. You see, I think the therapist can pass their own trauma on actually to the client. The client doesn't realise it. So they actually feel worse when they go out the door. Yeah. The therapist might feel better, but the client can feel down side worse because they're taking on the therapist, loss, grief, trauma. Yeah. And like you say, you know, it probably is unethical in one respect if you're not in the right frame of mind yourself with whatever's going on personally to be, you know, working with a client. Oh, it's definitely unethical. And I think the supervisor needs to point that out to the therapist pretty sharply because, as I say, it isn't, transference isn't just one way. Yeah. Yeah. You know, when people talk about the book, you know, read books about therapy and this and that, there's a lot of emphasis on, you know, the transferential position in terms of the client, but it's also the counter-transference of the therapist. Yeah. Definitely. So there's a lot in there then, well, basically, what would be your top three tips to avoid? To avoid. To avoid compassion fatigue. Taking too many clients on at once, especially the trauma laden ones. Yeah. To keep away from clients that may represent your own script in terms of trauma. Yep. In other words, don't step into the positive identification trap and move away from compulsive caretaking. And the way to do that is to start looking at your own challenges in therapy. Yeah. And supervision. Yeah. Yeah. Yeah. Supervision therapy at the top of the list. Yeah. And I think that, you know, I think it's really important that the supervisor also is on the alert for these sorts of things that we're talking about. Yeah. So they need to be on. They need to think about it. And they need to think, oh, okay, so you're seeing nine clients a day or she's seeing nine clients a day. Is that perhaps a bit much? Or, you know, out of those nine clients, eight of them are pretty disturbed and have got high trauma. Is that what's the consequence of that might be? See, I can't even, I can't even think about what it would be like to have eight clients that were going through quite heavy trauma. He just doesn't compute. No, that's because you've been trained in a way to think, take care of yourself to have the therapy, have the supervision. You come from an ethical, competent place. But there are therapists who put money often above everything else. Now, I feel quite sad when I say that, but I know that's true. But again, I think, you know, through therapy and supervision and, you know, the training that I've done and everything, I think I am very self aware of my own limitations. I think one or two clients like that a week would be plenty for me. Yeah, I think it's damaging both for yourself and for the other person. If you don't take all these considerations into, bear this in mind. So I hope we've not frightened anybody off Bob, but I think it's a really valid subject to discuss because it is something that a lot of us as psychotherapists will maybe teach you on the edge of in our career. Yeah, and especially beginning therapists. Yeah. I keep saying that because my hope, and I think it's true to a certain extent, that experience, and especially if the person's been in a good training program, but especially clinical experience, will teach the therapist this. Yeah. Beginning, the beginning students who start their life on placements and then in private practice, I think they're more likely to fall into this trap. Yeah. And in my experience, and again, it's because I think we have a culture where doing is stroke very, very highly. Yeah. The beginning therapists have difficulties in giving themselves permission to just being. Yeah. Yeah. I think there is a lot of that out there, though, that, you know, even the client to a certain extent in the early days might think, you know, we didn't really do anything. Nothing happened. Yeah. Absolutely. That's what I'm saying. Yeah. The problem. And partly because we live in a society, and most of the therapists and students are middle-class, and there's a huge lot of strokes for doing things and achieving things and academic success and XXX. Then, of course, they're into a situation where they think they've got to do something to be a successful, effective therapist. Well, actually, the best thing they can learn is how to be, I believe, in the psychotherapeutic process because so many clients have never had somebody who's listened to them or improperly listened to them, who've allowed them to have the space to just talk. Yeah. Yeah. Those prerequisites of a therapeutic process need to be learned, and often the therapeutic or the therapy has to go with it. Yeah. Definitely. A wise old man once said, well, I shouldn't say old because I'm talking about you, Bob. And I'm 71, but I suppose in today's world, perhaps that is old, I don't know. No, no it's not. But therapy is a process, not an event. Always. Yes. I say those words at least once a day, literally. It's so true, and yeah, you're right. So that was a good place to end the podcast. Okay, okay. So what we're going to be talking about in the next one, kind of maybe follows on from this, is what is cure for the therapist or the client. Yeah. So that we'll be doing that one next time, Bob. Until then, speak soon. Bye. Bye. You've been listening to The Therapy Show, behind closed doors podcast. We hope you enjoyed the show. Don't forget to subscribe and leave us a review. We'll be back next week with another episode.


Hello, time for today's mini lecture and let's share screen and we're going to start with the switch statement. And this program here, which I wrote a couple of minutes ago, where you enter a month one through 12. I get the month and then I have an integer for the number of days in the month. We're not just worried about leap year quite yet we'll worry about it later. And if the month is one days is 31 and since I have an if else if chain. Wow, that's a lot of work to go through, but it does work. And if the month is not one through 12 I set the number of days to zero. And then afterwards I'd use a binary if statement, if the days is not equal to zero that means that I have a legitimate month. Otherwise, it must not be in that range. Let's compile that and run it. So for example month numbers nine which is what we're in right now has 30 days. And let's say month number 11 has also yeah November hello. Let's try July has 31 days cool. Now the question is when I have an if else chain and I have the same variable on all of these is there a way to make this more compact or to do in a different way let's first think of a different way to do it and that is with a switch statement. We can say switch month. And then we can say, in case the month is one will set the days to 31, and then we will break out of this switch statement. Case two days is 28 case three days is I've got it right here in front of me. Case four days is 30. I'm going to pause the recording so you don't have to watch me type all of this stuff. And here we are. This is a very much more compact. This last case is default, which means if it's not one of one through 12, I'll set the days to zero and then break out of the switch statement. The last case or the default does not really need a break but for reasons of consistency, we're going to do that. While I was typing this I forgot to type in the break statement and there's a teachable moment here. Let's go and do this compile first. And let's run it. And let's say I have month number seven month seven has 31 days that works great. Let's say I have month three that has 31 days also. Now what if I say month 11. Let's see what happens. It says it has 31 days. The reason this happens is because whenever you leave out the break, it continues on to the next case. It's something that normally you don't want to have happen. You almost always want a break after every case. And I'm going to show you an exception to that in a moment. There are a lot of different ways that I could write this by the way. And I'm going to explore a few of them. And, oh my goodness, I forgot to save this under a different name. Okay, so let's call this days per month to Java. And I will bring back the other one later on. I'll type it after this is all done so that you don't have to watch me type all of that stuff again. One thing that we can take advantage of is if you have several cases that are all the same, then you can combine them. For example, I can say if the month is one or three or five, seven, eight, 10 and 12, then I can set the days of 31 and break. If I have case two, my days is 28 and break. And then I'm going to do something very different here. Let's do it the hard way first. Okay, let's do this. So now I case four, case nine, I case six, nine and 11 days is 30. And that will combine those cases. And finally, my default days is zero and break. So let's save this under different names that we don't lose our work on this. So if I have something like, let's say month seven has 31 days and month six has 30 days. So that works pretty well. Let's think of this yet another way of this, you notice that most of our months have 31 days, correct. So let's set days to 31, which is our most common case. And then we don't need the default. What will happen here is if the month doesn't match for any one of the cases days will never be changed it'll stay 31. Well, now you're going to say well that's great but what about the month being in the range of one through 12. And what we can then do here is use an if statement to take care of that. So we're going to say if the month is greater than one, greater than or equal to one, then check to see if the month is also less than or equal to 12. If that's the case, then we have something valid. And we can do all of this work. And since we know we have a valid month, we can print this out. Otherwise, we can say months cannot be greater than 12. Otherwise month cannot be less than one. So we have a nested if statement here to protect us. Once we get here, we now know that month must be from one to 12. If it were outside that range, the if statement would have caught us. And then we have a much shorter switch statement. So month zero month can't be less than one month 13 can't be greater than 12 months seven is 31 days and month six is 30 days. So that is an even more compact way of writing it using the if statements to protect ourselves from bad data. And let me put a comment here. And let me also put that in days per month three here. Oh, I don't don't have to do that in days per month three. That looks good. Let's go back to days per month three here to show you something here. If I had zero in here, it would say month must be in range one to 12. And if I said they're 14, it would also say month must be in range one to 12. That's an acceptable error message. By the way, when you, okay, time for some notes here. Let's save this error messages should tell the user what is wrong and how to fix it. So for example, if I say system dot print line of invalid data. Well, that's totally not you're not useful. What's invalid about it. That's slightly better month out of range. That's slightly more useful. At least we know that or there's something wrong with the month, but that really doesn't help us a lot. But when I say system dot out dot print line of month must be in range one to 12. That is definitely a useful error message. Why because it tells what's wrong excuse me here. Let me unplug my phone here so I don't get any more of these. All is all I'm doing my lecture sorry about that. Where was I, yes, it tells the user what's wrong, mainly it's out of range and also tells what the correct range is so that's a much better error message. And here in days per month for I told exactly what was wrong the month can't be greater than 12, or the month cannot be less than one. Let's go back to this one where we're happy with the message the month must be in the range one through 12. And that's what I've done. I'm getting a little bit confused here about I, I was thinking about this earlier and I my thinking led me to this point and I now have to start working without a net and doing improv so here we go. This bugs me the fact that I have a nested if statement there with the two separate cases for greater than or less than one and greater than 12. I like to combine those two if statements into one. So let's call this days per month five. And what I'm going to do is I'm going to say, if the month is greater than or equal to one, and the month is less than or equal to 12, then everything's okay. This is what is called a compound condition. So I'm going to use a compound condition with the and operator. I'm going to use two ampersands in a row to test that the month is within the range one to 12. Now I have to indent this a little bit. Again, I want to make sure everything lines up there. And this time I have to say month must be in the range one through 12, which again we think is an acceptable error message. So I'm using and to combine things here. As two can Boolean expressions, one on each side, and it gives us a true. When both expressions are true. So for example, let's say I have a three less than five and for less than six. Because both of those are true three is indeed less than five and four is indeed less than six that's going to give me true. If I say three less than five and four less than two. That's going to give me a false. They're not both true. Yeah, this one's true but that one isn't so they can't both be true. If I say three five less than three and four less than six. That's also going to give me false. Why, because five is not less than three and in fact that means I don't even have to look at this one because I know it can't they can't both be true the first ones are wrong. They can't both be right. Finally, I have my last one would be five less than three and four less than two. When both of them are false that gives me a false result. Now we can write this up as something called a truth table. If I have condition a and condition be what is the result of a and B. So if a is true and B is true, then a and B is true. True and false is false. False and true is false and false and false is false. So that's called the truth table for and the other way I can combine conditions is not just with that and operator. I can use the or operator, the or operator. And that's two vertical bars, and that will be on your back, usually on American keyboards, it's on the backslash key. The or operator, or again, has two brilliant expressions. One on each side. And it yields true. When either expression is true. For example, is three less than five, or is for less than six, I'm going to wait for that one for a moment. Let's do the other ones here is three less than five, or for less than two is at least one of them true the answer is yes. That means that comes out to true. How about five less than three that's not true but I need only one of them to be true. And that comes out to be true. And if I have five less than three. Nope. How about four less than two. Nope. That comes out to be false. Now, this is the tricky one. If I have true or true, this is both of them are true. That also means that at least one of them is true. So this comes out to be true. So let's look at our truth table, as we call it for a or B. And remember either or true and false. And finally there's one other operator that we can use. And these are called logical operators by the way. And that is the not operator, not reverses true and false. So let's say not five less than three. That comes out to be true is five less than three false what's not false true. Not three less than five comes out to be false. Why because three is less than five, but not true is false. In fact, you could actually try all of these in J cell now that I think about it. Let's for example say three less than five or three less than two. That comes out to be true. If I say not three less than five is false. Not three less than two is true. So those are logical operators and as we'll put that in the notes here for you, or and not. Those are the three main ones that we're going to be using. And as you can see here, I used it to very great effect. Or I can combine two conditions. Oh, this is an unpleasant topic, but I guess I'm going to have to talk about it in any event. And that is just as we have a priority for arithmetic operators. And as I said, this is an application has priority over addition. The logical operators also have priority order. And has priority over. I have to think about three s and his priority over or where does not fit into the hierarchy. I believe not is the most important. I'm not going to pause. Let's just go here real quick. And let's try looking for Java logical operator prior precedence. I guess precedence precedence priority same difference. Operators learning the Java language wonderful. Let's see here. And so it looks like that's interesting. Others unary is more important. Okay, so there we go. And as priority over both. I do not expect you to memorize this. I will almost certainly not put it on a test. However, the moral of the story is always use parentheses with logical operators to make sure that things combine the way you want. So for example, I could say if age is greater than 60, the 18 year and 18 and age less than or equal to 65 or the day in the week is let's say Wednesday or Thursday. And that's a lot easier for me to do than to write the whole thing out and hope hope for the best by using parentheses. I've made very clear what the order of operation is. First, I want to check to see if the age is okay. Then I want to check to see if it's either one of these days. And if either one of those becomes true, then I can do something. Sorry for that brief pause. I was thinking for a moment there. And I went back and I rewrote that first version of the days per month. Well, I just thought remember I told you there's a lot of different ways we could write it. I'll show you another one here. What we can do is again, we can say days becomes 31. In fact, we can just put it right in there. That'll work nicely. And now what I can say if the month is to we have 28 days. Otherwise, if month is April. Or month is June. Or month is September or month is November. Then we have 30 days. Get rid of all of this stuff here. And let's save this before I've I don't want to wipe out my work yet again here. Let's call this days per month six Java. And I'll print this out here. And I'll put in my compound condition here for the month, which is if the month is greater than or equal to one and the month is less than or equal to 12. Then presume there are 31 days. If month is to it's 28 if it's one of these April, June, September or November, then it's 30 days. And then print it out. Otherwise it's not in range. And that's that that's getting pretty compact here. Month nine has 30 days. Month five has 31 days. And month zero is out of range. So there's a lot of different ways that we can write this one one program. Okay, we still have leap years to do. Let's talk about leap years. Oh, before I go on to that, something very important on this that I'm going to put in the notes. Let's just write out each condition in a compound completely. So for example, I have to say age is less than 18 or greater than 65. Can't do that. I have to write it out completely ages less than 18 or age greater than 65. That's okay. In some languages, you can do something like 18 less than age less than 65. And that's okay in Python, but not in Java Java will not let you get away with that. You'd have to say 18 less than age and age less than 65 to get the same effect. In fact, I would never write it this way I would say easier than 18 and age less than 65. It's very more natural for coding. Namely this is what you'll see most of the time. You probably will not see something like this not very often. If you write it that way that's okay but not something that I would recommend. Oh leap year. Okay, here comes the fun part. Okay. A leap year a year is a leap year when ready for this. Okay. It is divisible by four, but not by 100 or it is divisible by 400. So for example if we take 2024 is divisible by four but not by 100. It's a leap year. What about 1900. It's divisible by four, but is divisible by 100 which means it's not a leap year. What about 2000. Not but is divisible. So we have to check to see if it's divisible by 400. It is so it's a leap year. So let's say we have to do this here as well. Because remember, we took 1900. It's divisible by four but is divisible by 100. So we have to check the or thing. It's not divisible by 400. So it's not a leap year. This is a weird formula. Now let's translate that into Java. What we have to say is that the year mod four is equal to zero. It's divisible by four. And also we have to make sure that the year mod 100 is not equal to zero. It's not divisible by 100. Or the year mod 400 is equal to zero. There's a formula for the leap year by translating this English here. We could also, by the way, use a logical operator to do it this way. We could say year mod four is equal to zero. And it is not the case that year mod 100 is equal to zero, which means it's not divisible by 100. The year mod 400 is equal to zero. This is why I said the parentheses are important. They become ultra important here. Okay, so for our grand finale, I guess what we're going to do here is we're going to not only ask for the month, but we're also going to ask for the year. And then we're going to take care of our leap years. So here we go. Let's save this as days per month seven. So we're going to get this. Our month is okay. Now we're going to have to ask for enter year. And we're going to have our year is going to be input dot next to zero. So we're going to have to check the year is greater than zero. Also. Now we have to check if the year is greater than zero. Because we're not going to go with negative years. That's just going to make our lives much more complicated than they have to be. That means that the years is not greater than zero. We're going to say some of that out. Again, a good error message is. Year must be greater than zero. We have to now update our description of what the program does. And this is gonna be days per month seven. We're gonna compile it. And lovely, I've reached the end of my parser. I haven't else without an if. Okay, that means somewhere along the line, I screwed up. Okay, these match up fine. I can tell because they're both blue. Oh, here's my opening parent brace and I forgot the closing brace. Again, this is a reason to keep indenting under control so you can see when things are missing. There, that's much better. And let's just check here if I have month five in the year negative 30 to 23. Year must be greater than zero, perfect. And if I say the month is six, two, and the year is 2023, 28 days. I still haven't done the leap year calculation. So month two in 2024 still says 28. Now, fixing this is going to be sort of interesting. If the month is two, then the days is 28. Unless it's a leap year. So we're going to have a nested if statement here. And we're going to copy and paste this here because I'm lazy. Then this case, the days will be 29. Otherwise, the days will be 28. Now, by the way, if I really wanted to be good about this, I might just put even these extra parentheses in here. I don't know if I'm getting too over parenthesized or not. And let's compile that and let's run it. Okay, first of all, let's try month seven in 2023. That should still work. And month seven in 2024 should have 31 days, cool. What about month two in 2023 has 28 days? Month two in 2024 has 29 days. Let's check 1900, which is not a leap year. And let's check 2000, which is a leap year. And there's our program. So wow, I told you there's a lot of different ways to write this program. I was going to go into the De Morgan laws today, but I think I'll reserve those for tomorrow. It's useful to know them, but you could go through your whole career without knowing them that once you know them, you will, and blah, blah, blah, blah, okay. Let me try and say this all in English. You could go through your whole career without knowing or using De Morgan's laws. Once you know them, you will see that there are opportunities to use them and they can help make your code more readable. So that's what I'm gonna talk about tomorrow. And I will also talk about Boolean variables and Boolean methods. And that will pretty much take care of most of what we have in chapter five. See you whenever.


A bit reloaded, but surprisingly smooth. This is my review for Triple 9. Now Triple 9 was a film that I was kind of hesitant about seeing mainly because from the trailers it just looked very generic, looked very straight at DVD like. However, I saw that it was directed by John Hillcoat and I'm actually quite a fan of his. I loved his work he did for The Road. That movie left me depressed beyond all meaning, but that's exactly what it was supposed to do. And he even did a short movie for Red Dead Redemption. So I was interested in seeing it once I heard about that as well as I saw an article on whatculture.com talking about it being actually an underrated masterpiece. A masterpiece I will say it's not, but it actually is still pretty good. This film has a lot of actors in it, a bloody lot. And the funny thing about it is only two of them are wasted in my opinion in terms of an actual character, despite how many people there are and the fact that this movie isn't two hours long we are still able to get a characteristic trait of each character and importance to them and a very relevant story plot to them. At least to say this film is about a crew of bank robbers who are in line with the Russian Mafia. The Russian Mafia want them to do this job for them that inquires them doing something quite legal, but to do so they would need a window of opportunity to do this. The only way they can do that or have the window of opportunity to believe is to perform a triple nine. A triple nine in cop lingo means an officer killed in action in which all the cops in the recent area are within this vicinity quite a large vicinity will rush to that scene ergo giving them the time they need to do the job. The fact that this film has as many characters as I said and the fact that they all interweave of each other is actually quite possibly one of the best parts about triple nine. Matt Cook does a very good job of writing a very concise script where each point is to the point and moves the story along. There are a few moments that I wish that we could have lingered on a little bit longer got to establish a little bit more but for the amount that this guy was trying to put into one story I commend him for doing such a good job and I commend John Hillcoat for making that into a concise and understandable and entertaining story. And what's cool about this film is it has multiple climaxes at least for me. The first being when the plan for the triple nine is in motion. The second is for the heist the main heist and then the third is actually this event that happens at the very end of the movie where you think is something is going to happen but it actually turns out is completely different and that's something that I liked about this film is that there was a lot of twists in twists I mean characters died. A lot of people died. Just to say if there's any character that really stood out I would say that really everyone does a pretty average job. Casey Affleck is good as Casey Affleck. Aaron Paul is great as Jesse from season two of Breaking Bad. Norman Reedus. He's Norman Reedus. Kate Winslet though that was interesting seeing her as a Russian villain. I don't know if she's played a villain before but she did a pretty good job. The rest of the cast was also very good and even though they were kind of walking the line with stereotypical characters there were still moments where you saw a bit of a turn for them a different side. However as I said there wasn't enough time to really establish some of these characters for instance Wonder Woman's in this movie. I don't know why. She's her character is completely pointless in my opinion. However this film is very entertaining and like I said main flaw of this film is the fact that it's not long enough. Oh and there's something else this is something that happens in crime films of late is basically when the characters seem to act out maliciously against each other when the occasion or the reason for it is not fully warranted. Now there's a few moments that happen in this film where like why are you guys being all aggressive I know you're gangsters I know you're criminals but you're kind of doing this unnecessarily because the motion that you wanted is already in motion so why kind of hinder it. So either way those are my only complaints with triple nine. It was very entertaining. I did enjoy it. I kind of wanted more from this film. So that's why I'm going to give it a five out of seven. I thought it was entertaining. It's really good. It's got some pretty good twists to it and I think you'll enjoy it. Some people didn't mainly because half the people in the theater were want to be wankers.  I don't know. Anyway that's all for me for this review guys. I'll see you next time.


In this study, manual pressure applied to the electrodes during neuromuscular electrical stimulation, NMEs, reduced the amount of current needed to produce maximal torque while also decreasing the level of discomfort experienced by the participant. Additionally, greater reductions in current intensity and discomfort were observed in participants with higher subcutaneous fat levels when applying manual pressure to the electrodes. This article was authored by Rafael Luis Acugua, Lucas B. Arosado, Lucas T. Sampaio, and others.


In recent years, a lot of literature has come out that sort of tries to understand the connection between health and wealth. And what do you think that might be? What do you think the connection between having extra resources and having good health might be? Well, traditionally a lot of economists look at it this way. They see health and wealth as being connected in sort of a circle. So at some point, a little bit of health can increase your wealth, or a little bit of wealth can increase your health. And it's sort of a self-feeding circle. So as you become more wealthy, you become more healthy, and as you become more healthy, you become more wealthy. And so this is kind of the traditional understanding of this. Now, economists have looked at this and said there has to be something else to it, but there hasn't been a lot of research that has really come up with any other sort of solution. So right now at the moment, this is how we understand the connection between health and wealth. It's sort of a self-affirming circle where health and wealth work together to increase each other's sort of influence in someone's life, or something like that. Now, what effect might that have on a person on the ground somewhere in the world? Well, let's take an example. Let's look at a family. And let's say that they are farmers, and maybe they are in Sub-Saharan Africa. And they have here fields that they tend together as a large family group. So let's say it's a big kind of extended family of farmers, like you see really anywhere in the world. People from the United States, through Asia, through Europe, through Africa. You find this all over the place that families have farms that they run together. So maybe this family has maybe a few brothers or uncles, people like that. Maybe their wives, and then maybe they have a few kids as well. And let's make some kids here. Alright, so there we go. We've got this big family here. And let's say from this crop, if everything goes well, so if the crop has a good year, it makes money. So they take their stuff to the market, they sell it as a group, and they divide the money out amongst themselves. And in the end, they maybe are able to make $2 a piece. So if you divide that out over the entire family, they're able to make each person, is able to make $2. That puts them sort of in the upper levels of poverty in many countries.  So that is as very poor no matter how you cut it. $2 a day is still very poor, but it's definitely something that is somehow survivable. There's definitely a lot more that you can do with that $2 a day than you can do with $1 a day. But that's if everything goes well. Say one year you have a drought, and maybe all these crops don't work out for you. Maybe you only have a 50% yield for that year. Well now you've been reduced to this $1 a day. And let's say the next year you have the same thing, except this time it's even more. Maybe the drought is continuing and deepening. You've now dropped into the minus $1 a day range. And this puts you at really great risk. So imagine for one thing you're not able to eat very well. So let's just imagine then that all of these people are malnourished. So we're going to go through these little yellow dots, meaning that everyone is not eating enough food. Well being malnourished puts you at risk of getting lots of diseases. And so especially for children, it puts you at about a two-thirds risk, higher risk of getting very sick from something. So you've got out of these six children, four of them could potentially get very sick.  Malnutrition leads to anemia, which leads to higher death rates for pregnant mothers. So here you're putting the women especially in this group at higher risk. The men are also at risk, but not quite at the same kind of risk because men are traditionally physically a little bit more robust and able to survive these kind of things because they don't have as many things taxing on their bodies. Women have traditionally a lot more taxing sort of influences on their bodies worldwide. So here you're putting a lot of people in the family then at risk because of this lower income you're not as able to collect resources and survive as a family. Now let's say this continues and let's say maybe this guy here gets pneumonia and he is out and let's say we get two cases of anemia among the mothers that maybe also are connected with some other diseases. You have a few kids getting sick. Well now even if the crops are good, it's going to put a lot more strain on the other people and you could get things like exhaustion among the members of the family that are still healthy. So maybe you have these guys are now working a lot harder to keep things going so the blue could mean some sort of exhaustion and the exhaustion could also then put you at higher risk of being sick in some way. So you've got people who are again more likely to get sick from something and eventually all of these things could lead to members of the family dying. You know this disease here could turn into something very critical. A person could die from some sort of pneumonia or something related to their exhaustion and malnourishment. These women could give birth or get HIV or something along those lines and that could increase their risk of death as well. And children in the developing world, especially children under 5, have also a much higher risk of death especially when mixed with things like malnutrition and other diseases. So these people are all at high risk once they've dropped below this $2 area into the $1 range. It's really putting them at very high risk of becoming very sick because they just don't have that many resources at hand to fight off these sort of things. If you get sick and you don't have the money to get medication for it or you get sick and you don't have enough money to even feed yourself, then you have a major problem. That is where really a lot of scientists and social scientists and development thinkers are trying to get in and think about, okay, how can we improve health in a way that will improve wealth? And how can we improve wealth in a way that will improve health? And these are the big questions that we're thinking about now in the development world. We've been thinking about them for a long time. But luckily in the last couple of years, people have stopped thinking about development just as people having things. But really in terms of people being able to reach their full potential and empowering them to have their own resources in order to solve this problem on their own. So that is kind of an introduction to the health wealth connection and why wealth and health are so tightly connected. You can learn more about development and health at alversity.org.


Hi, I'm Rahul Rajshuri, and today I will be talking about improved primitives for MPC over mixed circuits. This is joint work with Daniel, Satyajit, Marcel and Peter. Before we begin, we need to define what MPC is. It's a class of protocols that allows a bunch of mutually distrusting parties to come together and evaluate a publicly known function such that the inputs or anything about them is not revealed. MPC comes in different flavors. The first categorization of MPC is based on the corruption setting. Honest majority, where the number of parties are less than half, and dishonest majority, where more than half of them can be corrupt. Based on the threat model, we have two categories, semi-honest and malicious. Semi-honest is when the adversary follows the steps of a protocol, whereas a malicious adversary might deviate from the steps. In this talk, I will be focusing on the challenging setting of dishonest majority with active security, although I would like to mention that our techniques are general and apply to other settings as well. Additionally, we are in the pre-processing model where computation-heavy function-independent stuff is computed in the offline phase. Most of this talk is going to be an effort to propose a better pre-processing phase that makes for a fast online phase. These are our contributions at a high level. We introduce a new cryptographic object called Etabits. Etabits allow us to switch between arithmetic and binary worlds efficiently. Using Etabits, non-linear operations such as truncation and secure comparison become faster than previous works. Etabits can be used across all corruption thresholds, although we observe the most gain in the dishonest majority setting. We also propose a normal current use protocol to generate Etabits. The protocol exploits temporary resilience properties of binary circuits and might be of independent interest. Etabits are up to 25 times faster in communication and up to 47 times faster in throughput as compared to previous state-of-the-art. We have also benchmarked applications such as biometric matching and CNNs, which I will show at the end of the talk. In MPC, we have different computation domains like arithmetic where the shares are over mod p or mod 2 to the k and the binary world where the shares are over mod 2. Due to how these worlds operate, each domain does well for certain operations and not so well for the others. Due to this, there is motivation for efficient ways to switch from one domain to the other and back. For instance, when we consider applications such as machine learning and biometric matching, we need a lot of conversions. Works such as ABY and ABY3 have made a lot of progress in this direction by proposing fast ways to switch back and forth. But most of these works operate in the weaker, honest majority setting. Only recently, works such as the Dabits paper have proposed a framework for the dishonest majority setting with active security using speech shares. We further this domain by proposing a fast framework for switching between arithmetic and binary worlds for all the settings. Before going into our protocol, let's take a look at the related work. The work of RW19 proposed an efficient way to create an object called a Dabit which is a doubly authenticated random bit sharing. A Dabit is a bit X that is shared among all the parties over ZM and F2 along with an information theoretic MAC such as speech. Alpha is the key that is additively shared among all the parties and gamma X of i is the MAC that is also additively shared. For the rest of the talk, I will ignore the corresponding computation on MACs for simplicity. These are some of the highlights of Dabits. Dabits are used to switch between arithmetic and binary domains and there's a lot of different ways to efficiently generate them. RW19 uses a cutting choose based approach to batch produce Dabits whereas follow up works use a more efficient random linear combination based approach. The bottleneck in efficient generation is that we need to do a multiplication of a random secret value over ZM per Dabit. Due to this, the cost of creating a Dabit comes close to the cost of doing a comparison over ZM. Taking inspiration from Dabits, we propose extended Dabits called E-Dabits. Instead of one bit being shared in both the domains and E-Dabit is M random bits shared in F2 and the corresponding value shared in ZM where M is either a prime order field or a ring. Similar to Dabits, E-Dabits can be used to convert between arithmetic and binary domains. They can be used for any correction setting but we observe the most gain for the dishonest majority setting. We also propose an efficient way to create E-Dabits. The key difference between generation of E-Dabits and E-Dabits is that we replace the multiplications of ZM in Dabit generation with multiplications over F2 for E-Dabits. As a result, communication is between 2 and 170 times better than when using a purely arithmetic approach and between 2 and 60 times better than using Dabits. At a high level, this is how we generate E-Dabits across different security models. In the semi-honest case, it's pretty straightforward how we generate them. We can let each party secret share a set of E-Dabits which I will refer to as private E-Dabits because one of the parties knows the underlying value for each of these E-Dabits. Taking one private E-Dabit from each party and putting them through an added circuit gives us what we call global E-Dabits. Global because none of the parties know the underlying value. For the active security case, we let each party PI secret share a bunch of E-Dabits with max. We then proceed to verify this set of E-Dabits proposed using a modified current choose protocol and at this point we will have verified private E-Dabits which we can put through a binary adder to get verified global E-Dabits. Before going into the new current choose protocol, let's recap the original current choose for multiplication triples over a field. First, the parties propose a bunch of secret share multiplication triples which are then shuffled and C of them are opened and checked for correctness. If all of them are consistent, the remaining triples are put in buckets of size B. Within each bucket, the top triple is selected and a pairwise checking procedure is carried out with every other triple in the bucket. If all the checks pass, the top triple is output from each bucket. We want to do a similar thing for E-Dabits but there is an important difference to take care of. Checking two multiplication triples requires no additional information. In other words, it's a self-contained check whereas with E-Dabits, the relationship is non-linear so we need authenticated triples. In this case, we use tinyOT to generate them. The new approach would be to let the parties generate random secret share tinyOT triples, run a current choose protocol to verify them, and once we have secure tinyOT triples, we can use them for current choose with E-Dabits. Our approach instead was to let the party that is proposing the set of private E-Dabits also propose the required tinyOT triples. We then proceed to use these unreliable triples in the current choose with E-Dabits directory. Turns out, letting the adversary propose potentially incorrect triples doesn't actually increase the chances of winning in the current choose game. It did, however, mean that we had to reanalyze the game and prove that the adversary doesn't gain any additional advantage, which is what a large part of the paper does. In fact, we found that this makes it a bit harder for the adversary to cheat. This is a modified current choose game at a high level from the perspective of one of the parties. Party Pi secret shares a bunch of E-Dabits and the required tinyOT triples. We then shuffle them using two publicly sampled permutations. We open C E-Dabits and C prime tinyOT triples and verify the consistency. If any of them are inconsistent, we abort. The remaining E-Dabits are placed into buckets of size B, and triples are placed into buckets of size B-1 times M. As there are B-1 pairs of checks within each bucket, and within each bucket, similar to the original game, we select the top E-Dabit and perform a pairwise check with the other B-1 E-Dabits using M-tinyOT triples per check. Once again, if all the checks pass, we output the top E-Dabit to get verified private E-Dabits. So we know how to do the shuffling, we know how to do the bucketing, we also know how to go from verified private E-Dabits at the end to verified global E-Dabits. What we have not analyzed so far is the bucket check protocol. First, let's consider the simplest possible case, which is verifying just two E-Dabits. We verify them by computing the sum over F2 and ZM and opening it. Computing the sum over ZM is local and for the binary case, we need an adder circuit. The guarantee we have is that if at least one of the E-Dabits is good and the triples are good, then cheating will get caught. We need a set of triples for the adder circuit, which we'll get into later. These are the different cases that can occur in the bucket check. X and Y are E-Dabits used in the check, with X being the top E-Dabit and TRIPS being the set of triples that we need. In case 1, good E-Dabits are ratified in the bucket using a bad set of triples. For simplicity, we assume that only one of the triples was corrupted. In this case, the check will not pass because at position I where the triple was corrupted, the corrupted triple will flip the output of the carry computation, making it inconsistent with the value over ZM, so the check fails. In case 2, we have the top E-Dabit being bad and the triple that is used for the check also being bad. For simplicity, we assume that the corruption pattern for the E-Dabit and the trip is the same. So the error in the E-Dabit is going to be cancelled out by the error in trips, resulting in the check passing. Case 3 is similar, with errors being cancelled out and the adversary going undetected. Cases 4 and 5 are special because when both E-Dabits and the check are corrupted, the adversary may or may not need a bad trip to pass the check. Which of these two cases is possible is determined by the type of adder circuit we use. For some circuits, however, it may be the case that the adversary can pass in both the instances. And this is something we want to avoid because it gives the adversary too much power to cheat. Now technically, the adversary wins in case 3 because it was able to fool us by using bad data. However, for our analysis and for our protocols, we do not consider case 3 to be a win for the adversary because the E-Dabit that is finally output from the pocket is a good one. There is nothing the adversary gains in the situation because the goal is to be able to produce incorrect verified private E-Dabits, which cannot happen from case 3. Going a little deeper, this is the exact adder circuit we use. A standard ripple carry adder circuit which computes the carry as shown. To compute m-carry bits, we need a total of m-tinyo-t triples. So the cost to add two E-Dabits of length m is m-triples. Before we analyze the probability that the adversary wins in bucket check, we describe another property we require from the circuit, which restricts the power of the adversary significantly, making the analysis a lot easier. The property is called weakly additive sample recipients. Since we are using unreliable triples, we need to be careful about where and how we use them in the circuit. More concretely, we want to restrict the freedom of the adversary in terms of how it passes the check. The adversary should not be able to use a bad set of tinyo-t triples, regardless of how they are corrupted, to pass the check in the following two cases. Case one, where we have two good E-Dabits, and case two, where the top E-Dabit is bad, along with the bad trip. Luckily, the standard ripple carry adder circuit has this property, so we do not need any fancy circuits. Before we go into the intuition for calculating probabilities, let's abstract away E-Dabits and triples. The real world protocol is very hard to analyze, because to do the full analysis, we also have to consider the number of different ways in which an E-Dabit of length n can be corrupted, which is 2 to Tm. We need to do the same for tinyo-t triples, as well as look at the possible types of pairings between the corrupted E-Dabits and corrupted triples. Instead, we abstract E-Dabits and triples away, replacing them with balls and triangles, while giving the adversary a better chance at winning the game. A ball is one E-Dabit of length m, and a triangle is the required number of tinyo-t triples for the check. In this case, m. We assume that the error in a corrupted ball is always cancelled out by the error in a corrupted triangle or a ball. In the paper, we show that security against adversaries in the ball and triangle game implies security in the actual protocol. So, to recap, this is what a bucket of size 3 would look like.  We reject if any of the following configurations of balls and triangles occur. The probability of the adversary winning the game is the probability that the adversary goes undetected when we open C-balls and C-prime triangles, multiplied with the probability that the adversary passes the bucket check protocol. We can imagine bucket check as a game between the adversary and a challenger. Assume that there are three buckets, each of size 3. The adversary first picks a bunch of balls, corrupts them however it wants and how many it wants, and sends them over to the challenger. The challenger shuffles them and opens C-balls. If they are inconsistent, it sends the permutation of balls to the adversary. The adversary then chooses the number of triangles to corrupt based on the permutation it received and sends them to the challenger. The challenger repeats the same process of opening and verification. The challenger runs bucket check on the remaining set of balls and triangles and it sends 1 or 0 depending on whether the checks are passed. The adversary wins if it receives a 1. To see how the probability is calculated, assume the arrangement of balls after the challenger shuffles them is as follows. Based on this, the only possible arrangement of triangles favourable to the adversary is the following. So the probability of bucket check comes down to the probability of triangles hitting this one permutation. Since we analyse this for one configuration of balls, for the total probability we need to sum over all possible configurations of a set of balls. That was some intuition about the analysis. And these are the parameters we got from analysing it. Most notably, for 40-bit statistical security, it is enough to open just 3 eBits and 3 sets of trinearity triples with a bucket size of 3. This is analogous to the previous cut and choose game with multiplication triples, where you have to open a minimum of 3 triples for security. Since not all applications need eBits in the order of a million, we also calculated what it would take if we wanted to generate just a few thousand eBits. For 40-bit security, all you have to do is increase the bucket size to 5. Using eBits, we have adapted protocols for truncation and secure comparison from previous works and made them faster with eBits. We have made sure that our constructions work over signed and unsigned integers. All settings considered together, our communication improves by a factor between 2 and 60 over eBits. In throughput, our improvements go up to 47 times. We have also given benchmarks for various applications like biometric matching, logistic regression, convolutional neural networks across different settings. The code for benchmarks is available as a part of the MP speeds library. These are some of the benchmarks that showcase how eBits performed against a fully arithmetic approach based on speeds and against eBits. For comparisons, we are between 3-5 times faster than eBits in the dishonest majority case with active security. Looking at the communication, we are about 5 times faster than eBits in the dishonest majority case and in the honest majority case. In the end-to-end applications such as mobile net, eBits is faster than dek19 when comparing run times by about a factor 3 in the dishonest majority case and as fast as them in the honest majority case. In terms of communication, eBits is as efficient and in some cases more efficient than dek19. So that was eBits and thank you for your attention. These are the references used in the slides.


Hello everyone, this is Amit Dan of amitdan.com If this is your first time here or a repeat visit, thank you for your support. On this channel, I'm always trying new and different ideas. If that is something you're interested in, please come back for more. If you're only interested in watching videos, there will be more links in the description box below. Today, we are taking to the Garry Sun Crossing, which is a bridge used to be called Fort York Pedestrian and Bicycle Bridge. So, they reconstructed the bridge about, let's say, late 2019 when they finished it. So, I remember taking this bridge long before when it was not done yet and it was very old. And that time, I crossed it probably a couple of times. And today, this is the first time I'm going to sit after completing the reconstruction. So, this is the Fort York area. There are lots of nice condos here. And on our left, there is the Carnation Park, which is a nice park. And I'm going to do some more videos in this park and walking along the lake in the future. So, it's not that cold today. It's about minus 10. And you can see some flurries, but it's not a lot of snow. We had a heavy snow about a couple of days ago, but today, you can see the roads are all clear, but there's snow on the side of the roads. So, the street is Fort York Boulevard, and we'll just look here for the next walk light. It goes to the battles. So, there's one going to the battles station, and that one is going to Union Station. So, there's an army vehicle here, which is a light armored vehicle. You can, if you're interested, you can read this later on. You can just pause it, and you can see that lots of snow on the ground. And I'll just try to get a little bit closer to hear it how it looks. And you can see that it's messing up my shoes. So, we'll just go on the front side of the vehicle. This is a view from the front side, and some more information right here, in recognition of the soldiers of 32 Canadian Brigade Group. So, let's continue the walk. So, this is a historic site, Fort York National Historic Site. And there's a museum on the right, not this one, but above, beyond that. So, this is to be the old Fort York. But the new museum has moved slightly. I don't think we can see from here, but past this area. So, strong avenue is coming up, and that's where we're going to turn right. And at one point, we're going to cross the bridge. We're going to see it right ahead. It's in my right hand, and my left hand, but in wearing gloves. And still, it's not. The fingers are not freezing today. So, you can actually go out without wearing gloves. I don't feel any wind, so the temperature doesn't feel like that bad, because there's no wind. So, let's look at this area. And they're just, you know, making uses of the spaces under the view. I'm honored to fly over the information right here. It stretches a few blocks. So, this isn't just the beginning view. And it goes all the way up to the batters, or possibly beyond batters. So, it looks like snow is a little bit increasing. It was just a few fires now. It looks like it started to increase the volume of the snow. And I'm going to show you on the right, lots of snow here. So, if you take a look here, you'll see that all trees died due to the winter, but they'll be alive again when summer comes. So, that's the nature of wandering Canada. All the trees, and everything, they died for six years, I mean six months. And they become, they come to life again after six months. So, whenever I travel, I told this to people in the hot countries. And they find it very amazing and hot to live. So, here's some rail tracks. And us to take a look at that. And I don't see any train coming. So, all these tracks, they're going to the Indian station. And there are different types of trains here. UP, GO train, VRL, let's continue the walk. So, I'm working on a new video, which is the Cabra Elite 85T. Which is even unboxing, which should be posted in the next couple of days. And another walk video, which should be coming up too. So, on this channel, you'll never find the same topic or subject again and again. It's just a reflection of, you know, a variety of topics and subjects that interest me. And definitely something you'll find that interesting as well. So, we can make a right turn here, Ormans Street. And let me just show you a bit around here. Lots of condos. Some of them are brand new. Even they haven't finished building yet. I'm going to make another turn here. Looks like this isn't the place what I wanted. So, let's just keep going the other way. This road looks like leading nowhere. Wellington Street coming up. And I believe we have to make a right turn there. So, you can see a nice view of downtown on the right. Because it's kind of cloudy, you can see the sea and power. Make a turn at Wellington Street West. Keep going on this street and see where it leads us. On the left, there's a nice park here, which you can see. On our right is the bridge you're going to cross. So, here is Gerson Crossing. This is the road leading to the bridge. And you can see some of the buildings from here.  So, the view is very amazing. And you can see the full view of downtown from here. The sky, scrapers and tall buildings. The skyline of downtown Toronto. And there's something a dome-like place. I'm not sure what is that. So, I see a lot of people out in the snow. And some kids are playing on the snow with the sliders. So, this is what it looks like. Very small bridge. Goes above the track, which you can see right there. Then we have the view of downtown from here. The sea entire is kind of hiding the clouds and snow. I think it takes probably like two minutes to cross the bridge or crossing. And it looks like there's another crossing which probably is smaller than the one we just passed. And we're going to look back from here. So, let's view of the condos right here. You can see the bridge crossing from here. Looks really nice. It's slightly carved. Let's continue on the other one. So, here is another railroad tracks. And the glimpse of downtown Toronto. I can see a dog. Looks like shepherd, German shepherd playing on the snow. It's a place to sit. So, I'm hoping to see some trains but I don't think there is any. So, from here we have the option to take the stairs down this way. Which is going to be, you know, through the park. Shouldn't be just to take this path away. So, I think I'm going to choose this option. And we'll see if we can see another train by the time we're still here. Although it doesn't look like. So, I'm going to look back. So, this is another side of Garrison Crossing. I'll show it to you. This is how it looks from here. So, there's a military burying ground. So, it looks like this is a historic site. And we have the highway on track. Basically, this is where we started. Or where we were before taking the road across the street. Just look back. You can see the glimpse of the Garrison Crossing. This is the bent way I showed you a little bit before. And this is just another part of it. And again, if you go straight underneath it, then you can go a few blocks. So, this is where I'm going to end my video. Thank you for watching this video. There will be more videos coming up. So, I'll see you shortly. Thank you.


Previously we looked at the electric field surrounding one particle. Now let's look at the electric field around two particles. Let's say we have one positive particle and one negative particle next to each other. Electric field lines describe the force that a positive particle will experience. To determine the direction of the field lines, we will analyze the direction of the force a positive particle will experience. Let's say we had a positive particle here. Then it would be pushed away from the positive charge and pulled towards the negative charge. So the particle would experience a force to the right and thus the electric field would also point to the right. Let's say you had a positive particle here. Then it would be pushed away from the positive charge and pulled towards the negative charge. However, this particle is closer to the positive charge than the negative charge. And so the force it experiences from the positive charge is bigger than the force it experiences from the negative charge. So overall the particle experiences are forced in this direction. Now doing this again for every single point around these two charges. If we look at the force that the particle experiences at every single point, we can see the electric field. Using field lines to represent the electric field, we would see this picture. The electric field surrounding two oppositely charged particles looks like the magnetic field surrounding a bar magnet. Another way to think of this is with vectors. Let's look at two oppositely charged particles like before. If there is a positive particle here, then there is a force pushing it away from the positive charge and a force pulling it towards the negative charge. Using vector addition, we get the total force this positive particle will experience. This is the vector field representation of the electric field around a positive particle. And the electric field around a negative particle looks like this. If we add up the vectors at a point, we get the total force a positive particle experiences at that point. Now we do this for all points around the charges and we get the electric field lines surrounding the charges. The vector field representation of electric fields can be confusing to look at and understand at a glance. This is why we also use a field line representation. The field lines are actually constructed from vector addition of the electric fields of individual interacting particles. Again, looking at the force a positive particle will experience except this time we have two negative charges. At the middle, a positive particle will be attracted to both negative charges equally and so there is no net force on it at this location. But since electrostatic attraction increases as distance decreases, moving slightly to the left, then the positive particle would experience a force to the left. Moving up slightly will still cause the positive particle to be attracted equally to both negative charges. However, there will be a pull downwards as the attraction to both negative charges don't cancel out. Analyzing some other points, we get the electric field with the vector representation. And this is the field line representation. Analyzing it in terms of vector addition, we have a force to the left from the left negative charge and a force to the right from the right negative charge. Adding the vectors, we get a force pointing down. Thus, a positive particle at this location will experience a force pushing it downwards. So there is an electric field pointing downwards at this location. We can do the same analysis for the other points. Hence the final electric field of these two negative charges will look like this. The vector representation and the field line representation. No matter how you analyze the situation, you'll still get the same result.


One of the most exciting projects we're working on in the wet tropics is called the Major Integrated Project. It's working in the Johnson and the Tully catchments in the wet tropics. The key thing with the Major Integrated Project is it's not just about water quality for the reef, it's about sustainable communities. This project is really important to us because it's about a grass roots design. Rural communities in Queensland are really important to everybody, those small towns. We've been through disasters, we've got ups and downs with agricultural prices, but we're all trying to work together and actually ensuring that we're here for the long term.