âTMª I'll end in AJ's podcast for your Monday âTMª
âTMª Most wonderful show is âTMª
âTMª Keeping up with the Joneses âTMª
- Everybody, if you could just hear
what AJ Jones said before we start recording,
it would make your mother blush.
- It would not, not if your mother was married.
(laughing)
- It made me blush and I'm married.
- Alan and I had a discussion like a couple days ago
where he was like,
- Oh, I didn't know that that was your need.
So I'm just making my needs known for later.
- With, with, with, with, with very specific,
very articulate and very granular in your needs.
- You know what though, isn't that helpful?
Now you know exactly what my needs are.
- It's very helpful and I feel guilt for shaming you
so that my shame will go away.
(laughing)
Whoo, and now I'm blushing.
- Okay.
- Welcome back to the podcast.
We're excited that you're here.
- Why don't you usually get to make you blush?
So that's kind of fun.
Yeah, I'm pretty sure it's been the other way around
for 15 years, so buckle up, buttercup.
- So now you're getting paid back.
You've discovered the little button
that you can press and make me go.
- That's right.
- Oh, look at that.
- How was your week?
- Good.
It was good, it was good week.
- Do you want to know where new?
- No, didn't go anywhere new.
- Do you know any new movies?
- Nope.
- Yesterday we didn't have a teenager.
This morning we woke up.
We had a 13 year old in our house.
- And she's gorgeous.
He's just stunning.
It's probably worth mentioning right at the start that we are running on several hours
of sleep.
Or several hours less sleep than we should be running on.
Yeah, I read a study that said that drunk people outperform sleep deprived people.
Oh dear.
So technically we're podcasting drunk.
That explains a lot about the last 10 minutes.
Right.
We have a 13 year old.
Of course we're on lockdown.
She understandably had lots of feelings about not being able to have a party, not being able
to go out with a family tradition that we do every birthday.
We can't do any of that.
And so she was feeling lots of sadness.
I asked what she needed.
And she was like, you know what?
I want to do something special.
Yes.
So I was like, well, what do you want to do that special?
And she was like, I would love it if you could make me an escape game.
Yes.

So then the kids, the other her siblings were all like, can we play?
we play. So for the last week, I've been scheming and devising a, what do you call an escape
room? And ordering tricky things like books with combination locks and things like that.
I couldn't save. And so the plan was last night, we all locked them in this room. I literally
reversed the lock on the bedroom. So the lock was on the outside. So they truly were locked
in. And I'm not sure if that's legal. Well, we had contingency plans. Yeah. Very specific
continuously plans, which they later followed, which is where the stories go.
And so we put them into bed at eight o'clock.
We thought this was going to be great.
We went to bed at two a.m.
I get a phone call.
OK, we didn't go to bed at eight o'clock because I still had to make cheesecake
and other things for the birthday.
So we actually went to bed at like 11 30.
Right.
They went to bed at eight.
Yes.
About two a.m.
From the data sleep, my, my wrist vibrates and I look at it and it's my daughter.
And she's like, can you come upstairs?
So I got stairs. All three kids are kind of having a revolt.
It looks too hot in here. I'm hungry.
Can we sleep in our own beds?
So I'm like, yes.
And then came downstairs.
Well, then I had to kind of reconfigure our house alarm and our lights
and because there was a bunch of home automation stuff
into integral to the escape game.
Yeah.
So needless to say, I didn't really get any sleep between two and...
Well, you came back to bed at like two forty-five
and got back in bed and I lied there for another 45 minutes.
still couldn't sleep. So I got up and left.
And then you getting up convinced me to go on trying to sleep.
So I played on my phone for like another hour and a half.
Well, I was taxing you because I wasn't sure if you were asleep or you were playing on the switch.
And then I realized, wait, you're not dead.
At first I couldn't find you on any of the cameras.
I was like, have you been raptured?
Because if so, that messes with my theology.
But we're sitting in the dark because I didn't want to light to wake anybody up.
Right. So I eventually I got up.
I just played Nintendo till dawn.
Yeah. He got up at like 5.30.
and I went back to bed at six and then we got up at 7.45 and so who knows what's
gonna happen in this episode because it's hard stringing words together. I'm
amazed I showered and didn't drown and I don't know how you would drown in a
shower but I could have done it. We wanted to thank everybody who has started
listening to the podcast all of the new people and then all of our faithful
people that have been watching for a while and we're so happy to be back.
We've also enjoyed doing the live Instagram hangs with you guys and answering
your questions and seeing your names go by and it's just been, it's been super fun.
Last week we started on this journey about feelings and we introduced this
wonderful book, well, a book that wasn't wonderful the first time I read it because
I really didn't enjoy it, but now love it.
A book called Voice of the Heart by Chip Dodd.
Many of you in the comments said you've already purchased a copy, so hopefully
that's arrived by now.
It's the book that we're gonna be using
to go through these eight feelings.
And indeed in the book, Chip makes this radical statement.
He says that basically there's only eight core feelings.
And one of the keys to living fully
is to get very, very fluent with what those eight feelings were.
So a reminder, our eight feelings are.
- Hurt, lonely, sad, angry, fear, shame,
guilt and glad.
You win a t-shirt or a ticket or something,
'cause that was great.
Here's the thing, if we don't understand
that there are eight core feelings,
which I didn't until I read the book.
- I thought it was ludicrous.
I was like, there's not just eight.
There's so many more than that.
How can they say that?
- Right. - Very limiting.
- Yeah, so initially that was our reaction.
But what I've since come to learn and appreciate is
that if we don't practice the discipline
of distilling what we're feeling into those eight core feelings.
- Which takes work.
- Which takes work.
we end up moving away from the truth of what we're feeling.
- Yeah.
- So what I mean by that is,
especially in our church world,
especially in the Christian world,
it's not good to have some of the negative feelings.
- Well, actually probably the only feeling
like we talked about last week is glad
is the only one that we would probably say,
"Oh, that's a good feeling."
- So here's a discipline I want you to try and practice.
And then in the coming weeks that we're doing,
this is what we'd love you to do is
whenever you're feeling a feeling,
Or whenever you're feeling something,
like forget if you're feeling a feeling,
let's say you're just like, I'm feeling something,
your first attempt is going to be probably
to say something other than those eight feelings.
Like I'm super ticked or I'm, you know, I'm just,
oh yeah, I'm upset.
There's a great banal vanilla statement.
I'm upset.
Stop right there.
That's beautiful.
Like you've identified something's going on in here,
but I'm upset, doesn't help you,
doesn't help the people who are in relationship with you,
sit and think what makes up my upset.
If I was gonna make a shopping list out
of the eight core feelings,
what part of those eight core feelings are in my upset?
Because upset for you might be very different than upset for me,
which might be very different than upset for you.
- I often say I'm aggravated or I'm frustrated.
Like I feel frustrated and you'll be like,
oh, what feeling is that?
Which makes me feel frustrated.
(laughs)
- But even we had something last night.
do you want to talk about?
- Yeah.
- Let's talk about that so I don't uncover you.
- Okay, so we just got into bed and I was like,
I just need to cuddle.
I feel things, you know?
So we're talking about and I said,
babe, I think I feel overwhelmed.
- Right.
- And you said, do you know what's overwhelmed?
Like, do you know what you feel in that?
And I was like, oh, yeah, I think I feel angry
and lonely and sad.

I can sit with you, but feeling overwhelmed,
like feeling overwhelmed for me might be made up
a completely different feeling.
So the discipline we wanna get you to just play around with,
just start practicing this with yourself is,
whenever you're feeling something, stop and kind of work out,
what are the components of the something that I'm feeling?
Because we, what me, I spent years getting away
from those eight core feelings.
And so it takes a little bit of work returning to them,
but here's the beauty.
Any step away from those eight core feelings
is the step away from truth.
And if we want the vulnerable relationships
that we're all dreaming of,
that comes out of being truthful and being vulnerable.
And so it's a simple step, but gosh,
it's sometimes really hard work
because sometimes I don't know what I'm feeling.
And for me, I need to talk about it.
For you, like, we had a little discussion about
how long you'd been feeling that for
and why it was at 11 p.m.
That you'd carried that all day.
Do you wanna unpack that?
- All day.
- Yeah, I was feeling,
and it was getting added to all day.
And so some of it was, yesterday was just a busy day,
getting ready for a birthday today
and doing things like grocery shopping
and wearing masks and making cheesecake for the first time
and all those kind of things,
but then throw in some conversations with family
and things like that.
And I didn't process how I was feeling
about anything I was just sort of piling on.
And so I realized I sort of woke up
and immediately felt kind of lonely.
And then it just, I just was collecting in buckets
All day. Yeah, and my question, which is this might sound like a shaming question.
That certainly wasn't my heart.
I don't know if it felt shaming to you was.
I was curious about what it was that took the whole day to go through that until 11
p.m. before there was awareness of this is what I'm feeling.
And I think I think I even said last night, babe, my sadness is you've walked through
all of this distress, all these feelings without knowing what you're feeling, without knowing your needs.
all day. And I'm glad to be with you. Now that could all be my story about not being
involved and yadda yadda yadda. But do you know what was going on that took you to 11 p.m.?
Well, so I think it's safe to say I'm historically bad at knowing what I'm feeling or how I got
there. And because I don't really verbally process a whole lot, it takes me a while. Like I tend to
contemplate. And then also it felt like there was so much to do and so much to get
done to be ready for today that it didn't seem like I could do that. Which I probably
could have because I probably spent more energy running from how I was feeling like in terms
of what it cost me. So yeah, I mean, I think I was choosing to be disconnected from how
I felt. But then I wasn't actually because I could feel it the whole way through. Like
at dinner, I said, we were doing our highs lows and unexpected. And I said, my low is
I felt sad all day. And so Tia said, "Mummy, why do you feel sad?" And I said, "I don't know."
Like, so I knew I was feeling stuff.
Something, yeah.
I just didn't feel like I had time to stop and think about it.
Right. And the reason we tell that story when we go back and forth and contrast and like,
"I'm just this verbal processor who's going to talk all the time and you like to sit,
contemplate think is there's not a right way of doing this.
There's a beautiful clumsiness to learning to walk out.
Like my approach of just talking about it isn't better than
AJ's approach of of sitting with it.
Like there, I think I have fear in that we're talking about
this that somehow we're like, okay, so this is what you need
to do, ABC, feeling feelings, tell the truth and everything's
going to be okay.
No, like life as we're going to discover is not okay.
 And yeah, in that we get to be human, we get to
be clumsy, we get to be together, we get to be a par. And so we're just trying to, we
are trying to make our living visible as an encouragement. Good.
Yeah, I'm fine.
What's fine?
What's fine?
Oh, okay.
Oh, you said group and they would say stuff like that.
I'd be like, oh, I feel really angry right now.
What's fine.
Fine.
I don't know.
I, I feel a piece.
I feel, I feel less lonely.
Oh.
So talking about the loneliness you felt yesterday leads you to feeling less lonely.
Yeah.

Uh, I, I, then I felt right asleep.
So in the previous night because it it had started with a conversation
With a family member the previous night where it just wasn't identifying how I was feeling and I just
Didn't sleep well carry that into the next day kind of thing. Yeah beautiful
I think what I would love to encourage you with is again cuz Allen started this journey before I did he all of a sudden had this new
set of language
that I was like, I don't know how to talk that.
Like I need some definition.
- Right.
- And for me, it felt a little scary
just because I was like, I don't know what it means
when you say you're angry and why we're okay with that
and things like that.
So yeah.
So I think I just want everybody listening to realize
or to know that in the next couple of weeks
we're going to try and bring some definition to what do all these emotions look like?
What it like when we say angry, what does that mean? When we say lonely, what does that mean?
Because it's you're learning a new, a new way of kind of relating to the world and relating to
your own heart. And it does to begin with take work, like take effort. But it starts getting a
a little bit easier as you get used to it.
I, when I first started going to group
and people would sit there and,
and they would read off that they felt all eight emotions.
And I was just in my head be like, how?
How?
Like, in my head I was like, my question is how?
How do you feel eight emotions at once?
How?
You know?
And I would always be like, huh, well, I feel glad.
And I know they're gonna say, if I only pick glad
that I have to pick another one.

- Oh, that's the truth.
I mean, I literally, I literally couldn't identify
my feelings if you wrote them down on a piece of paper.
And that's not an exaggeration.
For a year, every week, either my therapist
or in group, they'll be like,
"And what are you feeling?"
And here's a cheat sheet.
There's eight of them written down, just, you know, talk about.
I couldn't tell if I was angry.
I thought in order for me to feel angry,
you know, a child had to be kidnapped in front of me,
like, "I am angry about that injustice.
"I didn't realize I could be angry about lesser things.
"I thought angry was reserved to the big stuff."
And, you know, I wasn't fearful of you kidding me,
like I'm more than a conqueror in Christ.
I've got no fear.
I didn't know what to do with them.
And so I want to encourage you that just listening
to some of like us unpacking what's inside a feeling
will probably help you identify,
like, oh, I didn't know that was shame.
I didn't know that was a component of fear.
Yeah.
And I'm excited about that.
Before we even jump into that, though,
I want to tell you some really good news about feelings.
I also want to tell you some good news
and some bad news about feelings.
And it's this.
First of all, I want you to understand
that feelings are just a truth about an experience we're having.
That's kind of a confusing statement,
but your feelings are true to you
about how you experience an event. Now, the event that you're having feelings about might
not be real. So just before we started recording, we were trying to have something new, we've
got some new lights, we're trying to have a bunch of stuff. I'm trying to set the camera
up, I've had to move stuff around in the studio.   Like, I wish you weren't
born. I can't believe how bad you are all of this.  Like that's code in my head.
So I'm having really real feelings about that really, really experience, but the narrative that's
told me that when AJ breathe heavily, she's upset me isn't true at all. That makes sense? But that
doesn't nullify the feeling I was having. So I'm feeling fear that AJ's upset with me. I'm feeling
guilt that I'm not better at this. I'm feeling really toxic shame that, you know, if I was, you
you know, better prepared.
I wouldn't have to keep her waiting.
- Yeah.
- I'm feeling sadness that, you know,
sometimes I'm causing her pain.
And so I said to AJ, "Hey babe, I feel really sad
when you make that, you know, breathing."
And AJ said, "Babe, my whole life,
I do, everyone's a while, I do deep breaths.
I don't know if it's because I was asthmatic
or whatever it is, but I've always done that.
And it doesn't mean anything at all.
It's been happening for 15 years.
And every time I do it,
you think I'm upset with you and it happens all the time.
I'm not upset.
I just breathe that way.
That's a suddenly I'm like, oh, the story I told myself about what you're feeling isn't
true.
So don't get hung up on your feelings like, well, well, those feelings weren't right
to have.
We're not talking about whether they're right to have or not.
You're going to have feelings whether you think you should or you shouldn't.
You will have feelings.
You will have feelings.
But it's a truth just about the experience you're having.
That's all it is in one sense.
- And it's still your truth.
- Yeah.
- Yeah.
- And the reason we wanna get really, really good
at feeling our feelings is it allows us to be present
and truthful with ourselves, which allows us to be present
and truthful with each other, which allows us to be present
and truthful with the Lord.
It just enhances our relationships.
If we're gonna move away from the truth of what we're feeling,
we then build this hidden agenda that we're now managing.
So like if I'm not brave enough to actually tell AJ,
"Hey babe, I feel scared when you say
"because this is what goes on inside my..."
Here's, let me make my storyteller true to you,
which is hugely vulnerable because
Agee could turn around and shame me for that.
Like, well, you know, that's your issue.

She didn't do any of that.
She was just like, babe, I'm so sorry.
Like, this is how I breathe.
That wasn't the truth of it.
And I'm like, oh, okay.
That builds intimacy and that builds connection.
- I know, I kind of, kind of just want to like jump you
right now actually.
(laughing)
We'll be back after this commercial break.
And we're back.
Feelings work on telling you leads to unexpected adventures.
So here's the good news.
I want to tell you, this is a great news about feelings.
Every feeling comes with a gift.
and we're going to talk about what each of the gifts are with each of the feelings.
The only way to get to the gift of the feeling is to feel the feeling.
And that's why it's really, really important that we're truthful about what we're feeling
in part so that we're authentic to ourselves, but also so that we receive the gift
that God packaged up inside the feeling.
Yeah.
Here's the downside.
If we're not going to be honest about what we're feeling,
if we refuse to feel what we're feeling,
if we try and hide our feelings, if we live with an agenda,
that you did that I didn't have feelings about the way
you breathe, all that sort of stuff.
What's gonna end up is we're not gonna get the gift,
we're actually gonna get an impaired version
of the feeling, which basically means your feelings
are gonna come out sideways.
So what we're gonna do every week is we're gonna take
the feeling, like this week we're gonna talk about hurt,
we're gonna talk about what is the gift of hurt?
Which even that just sounds bizarre.
- It does, it's yes.
As somebody who's experienced a lot of hurt,
it didn't feel like there was a lot of gift in any of it.
- So we're gonna unpack what the gift is,
And then we're gonna look at,
well, what's the impairment if we refuse to feel our feelings?
I was more in touch with the impaired version of the feeling
because of course I practiced refusing to feel my feelings.
- Yeah.
- But this is the promise.
There's a gift and there's an impairment.
- As we said this week, we're gonna focus on hurt.
- Ooh, can I get a whoop, whoop, whoop, whoop.
Here's the thing about hurt.
Nobody wants to feel it, but actually feeling hurt
is vital for full living.
Her actually tells us that we're in pain.
- Yes.
- And understanding that we're in pain
is just huge for full living.
There's a physical, a physiological disorder
called congenital insensitivity to pain.
It's literally where you have no pain receptors.
It's a very, very rare disease,
but children can be born with it.
And I remember hearing about this
when I was a kid thinking, "Man, it'd be awesome."
So never feel like you're in pain.
Now as a parent raising children and thinking,
Wow, actually, my children not knowing they're in pain would be terrible, which is why it
leads to sadly really high death rates in infants because they don't know the stovas on.
They've got their hand there and they don't feel pain or...
That's kind of like me with the bath.
From infant mortality to it's like you having a bath, please go on.
Oh, I'm just thinking because I serve tables for 14 years, I don't really feel heat in my fingers
and I can pick up hot plates and it doesn't really burn me or I can burn me and not really feel it.

It's hot and it never feels hot to me." The problem is I use the same hands to stick my hand in the bath to
determine if it's the right temperature before I place my entire body in the bath and usually it's
cook your innards hot and I have not clocked that. So now I use a meat thermometer.
True story. We keep a meat thermometer in our bathroom, so A.G. doesn't scold herself, and as she says, cook her inners.
Yep.
Right. The point is, knowing that you're physically in pain is essential for survival.
And as it's true in the physical, it's also true in the emotional as well.
Feeling her is a gift that lets you know that the pain is present.
Yeah.
And what's interesting about her is, her actually shows up in all the other feelings.
That's amazing.
So when you're feeling loneliness, there's the hurt of being alone because we're social beings, we're made to be connected with people.
When we're feeling sad, there's hurt in the loss of what we're grieving over.
So you will find hurt in all seven other feelings.
Hurt is an absolutely vital feeling.
So here's the thing.
We will get hurt in life.
No.
Yes.
Hurt is absolutely unavoidable, and that's not an ungodly belief.
That's just the truth.
Hurts going to be part of it, right?
So if you think about John 16 verse 33,
it says in this world, you will have trouble that word trouble there means
pressure. Yeah, it means pressure. It means affliction.
By the way, that's Jesus speaking. Jesus is telling everybody, yeah,
hey, in this world, you're going to have trouble.
Yeah. Well, when we actually became Christians, we didn't,
we didn't get something that said, now everything's going to go perfectly
swimmingly and you're never gonna have problems again.
And here's what's worse is your hurt is often caused by the people who are closest to you.
Oh, that's for sure.
Which means the person sitting next to me is hurting me the most.
See, just evidence and example of that.
By the way, you missed my sensitive nipples.
If we are gonna have the rich relationships that we desperately desire,
we are literally signing up for a world of hurt.
Yep.
Right? If parents, you know this, you've got kids and you love them, but they're able to hurt you
and cause pain like nobody else. And if you don't have kids, you had parents, you remember
being hurt by your parents. Yeah. Right? They love you. And we experience hurt. And so
hurt is unavoidable. And we're going to have the option to feel hurt a lot.
So we might as well get good at processing it. Right.
Because in order to live fully, we actually have to get good at feeling hurt.
See everything in Alan age eight get to the gift and her well actually there's two gifts and her two for the price of one amazing number one is if we will feel our hurt if we will get in touch with the pain.
We will find healing and not only that we will find the courage to find healing and that's our two gifts and you might be thinking well how does that work well.
It's more good news disguised as bad news.
Good.
(laughing)
If we've worked really hard to avoid our feelings,
there's another thing that we've been working really,
really hard to avoid.
- Yeah.
- And that's our needs.
- Oh.
- Right?
Because in our culture, we don't wanna be seen as needy.
- No.
- Especially in church culture.
Like, well, I don't wanna be one of those needy people.
As a pastor, that's one of the most common things
when I meet with people and I'm saying,
I'm so sorry you're going through this.
Like, you know, let's talk about that.
And they're like, well, I didn't wanna talk about it.
I just didn't wanna appear needy.
I'm like, news flash, we are created utterly needy,
utterly dependent.
We remember the good news is we needed a savior
because we couldn't save ourselves.
Somehow we think we get saved
and then we no longer have any needs.
- That's actually what, when I finished the Sage Hill
training, one of the people who led our group said to me,
their desire for me was that I would get needy.
And I was like, what?
- I'll punch you in this throat.
- You want me to do what?
But I get it now.
- Yeah.
- Honestly, one of the gifts of feeling hurt,
a feeling hurt tells us we're in pain,
our pain tells us we have a need.
Knowing that we have a need
is one of the first steps to finding healing.
- Yeah.
Then you have something Jesus can answer, don't you?
- Right.
- Yeah.
- So if I'm feeling hurt because I was rejected,
then I'm aware that my need is to be accepted.
- I've a thought for you.
go on. And we may have talked about this a few weeks ago, or maybe it was just you and I talking,
but I was just thinking about, you know, Jesus, when he would heal people before he healed them,
he always asked them what they wanted, even though you would think would be blindingly obvious. Well,
he's a leper. Well, he's blind. Well, he's, but he's actually asking them to be in touch with what
they need so he can actually answer a need. It's almost like Jesus knew about the human condition.
Who knew? That's beautiful. Yeah. Yeah. Yeah. Like blind part of us. What does he want me to do
for you. Yeah. Are you kidding right now? I'm going to dance. Right. We probably need
more sleep before we're going to the podcast. Honestly, we're professionals. Okay, where
were we? I don't know. Back to the notes joke. Right. We're talking about if we're feeling
our pain. Our pain will tell us what we need. So we're talking about like, if I feel pain because
of rejection, I know my need is acceptance. If I'm feeling hurt, perhaps I realize that like, oh,
what I need in my heart is I need somebody to take responsibility for the heart they caused me.
And I need somebody to make amends. Or perhaps I'm hurt and sitting in my heart,
realize, helps me realize that actually what I need is some space. So feeling our feelings leads
us to our needs. You're going to hear that over and over again that repeatedly that you're
not going to know what you need till you know what you're feeling. One of the most common
questions people ask people who are in trauma, like when my parents died, my parents died
within about a year and a half of each other, beautiful, well-meaning, honest, good, sincere
friends would call me and they'd be like, "Hey, if there's anything you need, just let
me know." And it wasn't lip service. I know these people would drop and do anything for
me. But that was a useless question because I didn't know what I needed.
Right.
Right. So so important to feel our feelings so we know what our needs are.
Yeah. So when we embrace that we're needy and we admit that we're hurt, we
actually get to take the first steps towards healing, which is actually
really encouraging.
Yeah. Also, when we admit that we're hurt, we're actually practicing a form of
vulnerability, which is so powerful. And it says that God draws close to the
humble, but he knows the pride from afar.
You were just saying, hey, you actually had access
to the control panel of my heart
and now I am feeling hurt because of our interaction.
It's hugely vulnerable, hugely powerful
at building rich, authentic relationships.
- Yeah, but again, I think if you are used to living
with a protected heart, which you're doing all the work
on that, or as a survivor to talk about,
living vulnerable feels really, really scary.
But the fact is healing actually lies on the other side
of being vulnerable and feeling your feelings.
- Amen.
Chip writes something brilliant in his book.
- When we tell the truth about hurt,
others can help us heal.
Healing sets us free from lowered expectations,
counterfeit fulfillments, hopelessness,
resignation and toxic shame about how we're made.
One of the gifts of hurt is that it gets us
in touch with our needs very quickly.
So that's the gift. If we feel our hurt, it leads us to healing and it leads us to the
courage to find that healing, which is beautiful. But AJ, what about the impairment?
The impairment. Oh, it's resentment, isn't it? Yeah. If we refuse to feel our hurt, we
move into resentment. Now ask me, what's the wrong with resentment?
Alan, what's so wrong with resentment? Well, the major problem with resentment is when
When we move in a resentment, we refuse to look at the internal focus of our pain and
we move all of that focus on to external things.
So it's the government's fault, it's the church's fault, it's the liberals fault,
it's the conservatives fault.
It's anything else other than what's going on in here.
So it's really lonely to live with somebody in resentment, really hurtful to live with
somebody in resentment, ironically.
Resentment really denies the heart, it denies the humanity of feeling hurt.
And if I'm in resentment and refusing to feel my pain, you better believe I'm not going
to let you feel your pain.
Right.
And so I'm just not going to be a safe person to anybody who's in pain.
Right.

Let me tell you what's going on.
You know, let me tell you what I've overcome.
And it's not about overcoming.
It's about denial.
Yeah.
I used to do that actually.
I have a funny story.
Tell the story.
Tell the story.
Well, I remember, you know, I remember going with, we brought our whole youth group to go
go and see Titanic, which questionable decision right there anyway.
But anyway, we brought the whole youth group to go see this movie.
And at one point during the movie, you know, there's like 18 of us were all in a row
and everybody starts crying.
Well, during this season of my life, I didn't feel any emotions.
Like everything was just locked down, you know?
And so anyway, people start boo-hooing about the movie.
Describe boo-hooing.
  It's a movie
That was one of my banner moments as a youth leader a day bringing course correction to the youth of Canada
My my story was with
Like not feeling my own hurt was a ji and I went away
We've got some dear friends called Chester and Betsy Kiltra.
They run a ministry called restoring the foundations
of very, very powerful ministry,
work on the inner parts of your heart.
And so we're with them, we went away
for like six, seven days of intense ministry.
- It was supposed to be five, but they kept extending it.
(laughs)
- Yes, yes they did.
Yeah, I need to go back to them and go like,
oh yes, yeah, so sorry about that.
- Right, yeah.
- And we're with them and at one point,
we're doing like one-on-one therapy or two-on-one.
It's Chester and Betsy in the same room with me.
And at one point, Chester basically just kind of kicks back
on his chair and just says, "Well, Alan,
"I guess congratulations are in order."
And I'm like, "Well, why is that?"
And he's like, "Well, you've matured yourself
"to the point where you no longer need Jesus."
And I'm like, "Oh my God."
"I beg your pardon?"
He's like, "Well, Jesus said that he came
"to heal the broken heart and bind up those
to a crushed in spirit and wow, you don't even feel hurt.

And so I know he's joking, but I'm back pedaling
to try and defend myself and like talk about what,
you know, like what are you talking about?
And he's like, well, scripture encourages us
to pour out our lament to the Lord.
And it sounds like you just don't have any negative feelings.
You don't have any hurts.

Now that I'm a spiritual giant, I can allow myself to belittle myself by feeling some
sort of negative emotion by this mere human who's hurt me.
Behold the man of God.
So that was a wake up call for me.
Now of course in my head I didn't think I have matured out of my need for Jesus.
the way I was living my life was saying that as such.
It's like, it's okay, God.
I don't know.
I got this.
I got this.
I wither the storm.
Watch this.
Kevlar.
Tevflon.
Right.
All this hurt just bounces off me and it just simply wasn't true at all.
Now, consider the irony of that.
I'm a people helper.
I'm a pastor.
I'm supposed to sit with the broken hearted.
If I'm not willing to face my own pain in my own broken heart, how can I possibly offer
anything of care or compassion or or
Encouragement to people who are broken.  Yeah a verse Band-Aid here you go. Mm-hmm. Yeah
I think isn't resentment just old pain that we've never dealt with and just it leads us to distrust others. Oh
Absolutely sometimes resentment is there because we are unhappy with the way life is turned out
Right and so we've got this idea of what life should look like and then we're angry at everybody else or angry at God or angry at ourselves
That our experience isn't matching up to what we demand that it would be and that can lead us to resentment
Where we're not we're not engaging with the life we have because we're demanding a life
We don't have the Bible puts it this way this this is probably I say this about every verse
I was gonna say this is probably one of my favorite verses the Bible
It's true is really is one of my favorite verses, but it's so powerful
This is Proverbs 19 verse 3 and it says this,
"People ruin their lives by their own foolishness
and are then angry at the Lord."
Ugh.
Let me read that again.
"People ruin their lives by their own foolishness
and then are angry at the Lord."
The Bible is just talking about this whole resentment.
I can think of so many times in my own life
when I've resented God because his prophetic words
didn't come a pass or this thing that, you know,
this promise that he's said in Scripture.
And by the way, I've been declaring, declaring and tithing and it hasn't come true.
And now I'm not even a promise, maybe even just like a want that you didn't get.
I'm angry at the Lord while refusing to take any responsibility for the choices that I have made.
Some of those choices are directly about refusing to admit that I'm hurt.
And so resentment is something we really, really want to move out of.
I love the bit in Chip's book where he says this, "vulnerability to hurt initiates a bomb for your
pain, willingness to surrender to your pain begins healing.
In admitting pain and reaching for help, you find healing.
However, you need to reach to those who know the experience of hurt and healing
themselves, not those in denial.
Yeah, thanks, Chip.
Ouch.
I would have been one of the people totally in denial.
And that that's a key thing.
Like a lot of the questions we've had when we've done our Instagram lives is
like, how do I feel my feelings?
And my encouragement is like start with you in the Lord.
Psalm 139 says this beautiful thing about search me,
oh God, know my heart.
Like if you will do that,
the Holy Spirit will be so good at coming alongside you
and knowing your heart, leading you into what you're feeling,
even if you're not yet aware of that's what you're feeling.
One of the most damaging things you could do
is start being vulnerable with all this feelings work
with those who've not done any feelings work.
Because if they don't have a value for it in their own life,
they're certainly not gonna value it in yours.
- Yeah.
Yeah, I would definitely say if you're in a place where it's hard for you to identify
what you're feeling or what your needs are, stillness is one of your best tools for that.
And just literally setting aside time to ask the Lord because he actually knows your heart
better than you do, you know, and have a conversation.
I often, if I feel stuck, will put on soaking music and just connect with the Lord and then
I start to feel the things that I've been running from,
but I can start to have a conversation.
- You know the problem with asking the Holy Spirit
to help you know what's going on in your heart?
- He helps you know what's going on with your heart?
- Yeah.
- You can't run at that point.
- Like my favorite recent time is that,
is I'm in the pantry and I'm scanning the shelves.

- He's like, "Ah!"
- And I was like, "Can't hear you when I'm eating Doritos."
(laughing)
- No, no, no, no, no, my feelings take delicious.
My feelings are crunchy and spicy.
(laughing)
Well anyway, that's our first feeling.
It's hurt.
The gift of hurt is if we feel our hurt,
we discover healing and our courage
to begin the journey to healing.
If we don't feel our hurt,
we're gonna end up in resentment,
and everybody else's, you know,
all the feelings of resentment
are gonna come out sideways,
which makes us not fun to be around.
And so, yeah, practice feeling your feelings.
- Just a reminder, you can get these episodes
a number of different ways.
You can look for keeping up with the Joneses
in any podcast client.
- You can watch the videos if you go to allen and AJ.com,
alyn and AJ.com.
You can watch the videos,
you can also listen to the podcast there.
If you go to the website,
you'll also get our show notes as well.
If you're on a mobile device
or you wanna watch it on TV,
Our videos of these episodes are also available on our YouTube channel, youtube.com/allenandaj.
Nice.
We've also been doing Instagram Live and we're going to do it again this upcoming week.
So that will be on April 24th, which is a Friday.
It's a Friday at 10am.
Central standard time.
Yeah.
It's just an opportunity for us to be with you.
Like we literally record this in our basement and send it out.
And it's just an opportunity for you to hang out with us for an hour or so.
We get to ask, no, you get to ask, ask questions.
Maybe we'll ask you questions this time.
Just gonna be together.
If there's questions that come up from this podcast,
you're welcome to reach out to us on social media.
We are @allen and AJ on all the social medias,
except TikTok 'cause I'm old and I don't know what that is.
- Me neither.

- I thought it's only for dancing, TikTok.
- Well then, I've been missing out
because I've got moves.
- We're gonna launch our TikTok career.
- This time next week, we'll have our own TikTok.
We will not. - Oh dear, no.
I have feelings, mostly.
- I have a lot of feelings in it.
- And shame and deep sadness and loneliness
about dancing on TikTok.
- Yeah, let's not.
- Yeah.
But thanks for being with us.
If you wanna read the show notes for this week,
go to Ellen and AJ.com as well.
And wash your hands, stay home, reach out,
feel your feelings, journal.
Yeah, shoot us an email, reach out.
We'd love to hear from you.
Thanks for being with us.
- We'll see you next week.


Ruby Classes and Modules
Sharing is Caring
April 23rd 2015
Classes and modules allow you to share certain attributes and behaviors between objects. In this blog post I want to show you a case in which you would use both modules and classes. I watched a good youtube video that explained how classes and modules work, so I am going to share a slight variation of their example. Lets think about classes for a moment in the context of Animals. Lets create a class called Animal that has the attributes of :age and :name, like all animals have. Now, lets create two more classes, Dog and Cat, which both inherit from Animal. These two new classes can have unique attributes to cats and dogs. Now lets go one step further, and have the classes Puppy and Kitten, which inherit from Dog and Cat, respectively. Let's take a look at what these classes would look like in code.
Check out the code above. You would expect fido the puppy and spot the dog to both inherit behaviors from the dog class when called to 'sit.' Fido responds differently, however, because he is a puppy. In the puppy class, we included the module 'UntrainedAnimal' which can contain specific traits of untrained animals like puppies and kittens. We can include this module for all classes of untrained animals that would be relevant. Now look at the code again and you will see in the UntrainedAnimal module that we define the sit method as 'puts "I just peed on the floor"'. This is why any puppy or kitten that you invoke the sit method on will not sit, but pee instead.
Classes make sense for a hierarchical structure of behavioral inheritance. Modules, on the other hand, can give various relevant classes access to cerating behaviors even if the behaviors are not exactly relevant to the tree structure. This allows you to simply include a module in a class instead of rewriting all the methods in each class. Pretty cool, right?


To ensure security, a security check is being conducted right now. If safe, everything will be pretty quick: so please wait for some time, we will do the work for you...
Check Failed
Your browser did not fit the requirements, thus unable to proceed. Detailed reason:
Loading...
Security check passed. Loading...
Warning
Your browser did someting suspicious, thus unable to proceed directly. However, you will be able to access after 15 seconds. Detailed reason:


--- date: 2013-08-29 12:20:03 author: Colene Chow format: html title: "PhoneGap Day US 2013: Mobile is not a thing. It is Everything." tags: - PhoneGap Day - Event - Community ---
Thank you to everyone who attended PhoneGap Day US 2013 and made it such a huge success. I know you've been anxiously awaiting the PhoneGap Day US videos -- us too! We're finally getting videos back and will be posting them as we receive them.
Note: the audio quality is not what we were hoping for due to some technical glitches. We've been working madly to get it improved which is why we've been delayed in sharing them. Nothing too shabby, but not as good as being at PhoneGap Day in person! So, our apologies in advance but with that, on to the video!
First up is Joe McCann, Director of Creative Technology, at Mother speaking on "Mobile is not a thing. It is everything."


Toolbox
Toolbox is a collection of useful mixins, functions and classes. This file can operate independently of the framework,
you can grab it (_toolbox.scss
) to your project even without using Mate.
Placeholders
preview tollbox.scss on github
%clearfix
%box-sizing--border
%box-sizing--content
%ellipsis
%hide-text
%word-wrap
%noselect
%disabled
Helper classes
preview helpers.scss on github
.hidden
.hidden--mobile
.hidden--phone
.hidden--tablet
.hidden--desktop
.img--rwd
.video--rwd
.inline-left
.inline-left--phone
.inline-right
.inline-right--phone
.inline-center
.inline-center--phone
.inline-justify
.inline-justify--phone
.block-center
.vertical-top
.vertical-middle
.vertical-bottom
.float-right
.float-left
.no-margin
.radius-none
.img-circle
.link-neutral
- href color as default color of text
Mixins
preview tollbox.scss on github
Media queries breakpoint
respond-to($media)
respond-to-free($target-1, $media-1, $target-2: null, $media-2: null)
One of the most important mixin responsible for media queries and breakpoints for the purpose of RWD.
Available media breakpoints: $mobile
, $phone
, $tablet
, $tablet--xs
, $desktop
, $desktop--xl
$mobile
is responsible for range phone + tablet.
Breakpoints are defined in main settings file
Examples:
Transforms
transform-free($args...)
rotate($val)
Transitions
transition($list: all, $duration: $trans__base--duration, $timing: $trans__base--timing, $delay: $trans__base--delay)
transition-free($args...)
Flex Box
flex-wrap
flex-item
Positioning
-
centerer($axis: auto)
coverer
Others
gradient($gradient-color-from, $gradient-color-to, $direction: to bottom, $gradient-from-loc: null, $gradient-to-loc: null, $type: linear)
font-size($size, $line-height: null)
animation($args...)
filter($args...)
- Filters previewperspective($size)
placeholder($color: $text__color--muted, $font-size: inherit, $font-family: $font__base--regular)
- placeholder for form inputssvg-bkg($color)
- background-image with SVG
Animations
- Blink: add class
.mate-blink
Native CSS multi columns
You can use this technique to achieve well-known masonry effect or simple columns for different use case.
There is 12 columns by default like in grid system, so you can use classes from .masonry-1
to .masonry-12
.
For RWD needs just add modifier class like in grid system --phone, --tablet, --mobile
to achieve the class like .masonry-1--phone
and so on.
- Additional classes:
.masonry--bordered
- add vertical border between columns.masonry-span
- add to element inside masonry container which should not be divided


Welcome to Department of Computer Science and Technology,
<EMAIL_ADDRESS>The department was established in 1999 with one UG programme.In 2001,a 5-year integrated Master's
programme in Computer Science and Technology and a Master's programme in Information Technology were
started. Considering the fact that India is thrusting itself as the leader into the information technology era,
the department aims to impact high quality education and
prepare the young women to challenge the ever
demanding IT field. The curriculum of the courses are designed to give strong foundation in all technical
aspects of computers and its applications and also to develop the communication and soft skills of the
students. Apart from making them good IT professionals,the department takes care to instil strong moral
values into each individual to make them good citizens of our nation to serve the industry and society. The
self-financing section of the college was granted autonomous status in the year 2005.Since then the
department has made a conscious effort to strengthen and expand its activities.
OBJECTIVES:
1.To translate the mission statement of WCC.
2.To ignite the inner potential of the students and cultivate creativity and initiative among the students
through academic and co-curricular activities.
3.To give hands on experience in the IT industry through projects.
STUDENT STRENGTH:
The department of Computer Science(Self-financed) has a total of 332 students.
150 in B.C.A,130 in C.S.T and 52 in I.T programs.
PROGRAMS OFFERED:
The department of Computer Science(Self-financed) offers the following Programmes:
1.Bachelor of Computer Applications
2.M.Sc Computer Science and Technology(5 Years Integrated Course)
3.M.Sc Information Technology


DistributedDataParallel¶
-
class
torch.nn.parallel.
DistributedDataParallel
(module, device_ids=None, output_device=None, dim=0, broadcast_buffers=True, process_group=None, bucket_cap_mb=25, find_unused_parameters=False, check_reduction=False, gradient_as_bucket_view=False)[source]¶ Implements distributed data parallelism that is based on
torch.distributed
package at the module level.This container parallelizes the application of the given module by splitting the input across the specified devices by chunking in the batch dimension. The module is replicated on each machine and each device, and each such replica handles a portion of the input. During the backwards pass, gradients from each node are averaged.
The batch size should be larger than the number of GPUs used locally.
See also: Basics and Use nn.parallel.DistributedDataParallel instead of multiprocessing or nn.DataParallel. The same constraints on input as in
torch.nn.DataParallel
apply.Creation of this class requires that
torch.distributed
to be already initialized, by callingtorch.distributed.init_process_group()
.DistributedDataParallel
is proven to be significantly faster thantorch.nn.DataParallel
for single-node multi-GPU data parallel training.To use
DistributedDataParallel
on a host with N GPUs, you should spawn upN
processes, ensuring that each process exclusively works on a single GPU from 0 to N-1. This can be done by either settingCUDA_VISIBLE_DEVICES
for every process or by calling:>>> torch.cuda.set_device(i)
where i is from 0 to N-1. In each process, you should refer the following to construct this module:
>>> torch.distributed.init_process_group( >>> backend='nccl', world_size=N, init_method='...' >>> ) >>> model = DistributedDataParallel(model, device_ids=[i], output_device=i)
In order to spawn up multiple processes per node, you can use either
torch.distributed.launch
ortorch.multiprocessing.spawn
.Note
Please refer to PyTorch Distributed Overview for a brief introduction to all features related to distributed training.
Note
nccl
backend is currently the fastest and highly recommended backend when using GPUs. This applies to both single-node and multi-node distributed training.Note
This module also supports mixed-precision distributed training. This means that your model can have different types of parameters such as mixed types of
fp16
andfp32
, the gradient reduction on these mixed types of parameters will just work fine.Note
If you use
torch.save
on one process to checkpoint the module, andtorch.load
on some other processes to recover it, make sure thatmap_location
is configured properly for every process. Withoutmap_location
,torch.load
would recover the module to devices where the module was saved from.Note
When a model is trained on
M
nodes withbatch=N
, the gradient will beM
times smaller when compared to the same model trained on a single node withbatch=M*N
if the loss is summed (NOT averaged as usual) across instances in a batch (because the gradients between different nodes are averaged). You should take this into consideration when you want to obtain a mathematically equivalent training process compared to the local training counterpart. But in most cases, you can just treat a DistributedDataParallel wrapped model, a DataParallel wrapped model and an ordinary model on a single GPU as the same (E.g. using the same learning rate for equivalent batch size).Note
Parameters are never broadcast between processes. The module performs an all-reduce step on gradients and assumes that they will be modified by the optimizer in all processes in the same way. Buffers (e.g. BatchNorm stats) are broadcast from the module in process of rank 0, to all other replicas in the system in every iteration.
Note
If you are using DistributedDataParallel in conjunction with the Distributed RPC Framework, you should always use
torch.distributed.autograd.backward()
to compute gradients andtorch.distributed.optim.DistributedOptimizer
for optimizing parameters.Example:
>>> import torch.distributed.autograd as dist_autograd >>> from torch.nn.parallel import DistributedDataParallel as DDP >>> from torch import optim >>> from torch.distributed.optim import DistributedOptimizer >>> from torch.distributed.rpc import RRef >>> >>> t1 = torch.rand((3, 3), requires_grad=True) >>> t2 = torch.rand((3, 3), requires_grad=True) >>> rref = rpc.remote("worker1", torch.add, args=(t1, t2)) >>> ddp_model = DDP(my_model) >>> >>> # Setup optimizer >>> optimizer_params = [rref] >>> for param in ddp_model.parameters(): >>> optimizer_params.append(RRef(param)) >>> >>> dist_optim = DistributedOptimizer( >>> optim.SGD, >>> optimizer_params, >>> lr=0.05, >>> ) >>> >>> with dist_autograd.context() as context_id: >>> pred = ddp_model(rref.to_here()) >>> loss = loss_func(pred, loss) >>> dist_autograd.backward(context_id, loss) >>> dist_optim.step()
Warning
Constructor, forward method, and differentiation of the output (or a function of the output of this module) are distributed synchronization points. Take that into account in case different processes might be executing different code.
Warning
This module assumes all parameters are registered in the model by the time it is created. No parameters should be added nor removed later. Same applies to buffers.
Warning
This module assumes all parameters are registered in the model of each distributed processes are in the same order. The module itself will conduct gradient
allreduce
following the reverse order of the registered parameters of the model. In other words, it is users’ responsibility to ensure that each distributed process has the exact same model and thus the exact same parameter registration order.Warning
This module allows parameters with non-rowmajor-contiguous strides. For example, your model may contain some parameters whose
torch.memory_format
istorch.contiguous_format
and others whose format istorch.channels_last
. However, corresponding parameters in different processes must have the same strides.Warning
This module doesn’t work with
torch.autograd.grad()
(i.e. it will only work if gradients are to be accumulated in.grad
attributes of parameters).Warning
If you plan on using this module with a
nccl
backend or agloo
backend (that uses Infiniband), together with a DataLoader that uses multiple workers, please change the multiprocessing start method toforkserver
(Python 3 only) orspawn
. Unfortunately Gloo (that uses Infiniband) and NCCL2 are not fork safe, and you will likely experience deadlocks if you don’t change this setting.Warning
Forward and backward hooks defined on
module
and its submodules won’t be invoked anymore, unless the hooks are initialized in theforward()
method.Warning
You should never try to change your model’s parameters after wrapping up your model with
DistributedDataParallel
. Because, when wrapping up your model withDistributedDataParallel
, the constructor ofDistributedDataParallel
will register the additional gradient reduction functions on all the parameters of the model itself at the time of construction. If you change the model’s parameters afterwards, gradient redunction functions no longer match the correct set of parameters.Warning
Using
DistributedDataParallel
in conjunction with the Distributed RPC Framework is experimental and subject to change.Warning
The
gradient_as_bucket_view
mode does not yet work with Automatic Mixed Precision (AMP). AMP maintains stashed gradients that are used for unscaling gradients. Withgradient_as_bucket_view=True
, these stashed gradients will point to communication buckets in the first iteration. In the next iteration, the communication buckets are mutated and thus these stashed gradients will be unexpectedly mutated as well, which might lead to wrong results.- Parameters
module (Module) – module to be parallelized
device_ids (list of python:int or torch.device) – CUDA devices. This should only be provided when the input module resides on a single CUDA device. For single-device modules, the i’th
module
replica is placed ondevice_ids[i]
. For multi-device modules and CPU modules,device_ids
must beNone
or an empty list, and input data for the forward pass must be placed on the correct device. (default: all visible devices for single-device modules)output_device (int or torch.device) – Device location of output for single-device CUDA modules. For multi-device modules and CPU modules, it must be
None
, and the module itself dictates the output location. (default:device_ids[0]
for single-device modules)broadcast_buffers (bool) – Flag that enables syncing (broadcasting) buffers of the module at beginning of the
forward
function. (default:True
)process_group – The process group to be used for distributed data all-reduction. If
None
, the default process group, which is created bytorch.distributed.init_process_group()
, will be used. (default:None
)bucket_cap_mb –
DistributedDataParallel
will bucket parameters into multiple buckets so that gradient reduction of each bucket can potentially overlap with backward computation.bucket_cap_mb
controls the bucket size in MegaBytes (MB). (default: 25)find_unused_parameters (bool) – Traverse the autograd graph from all tensors contained in the return value of the wrapped module’s
forward
function. Parameters that don’t receive gradients as part of this graph are preemptively marked as being ready to be reduced. Note that allforward
outputs that are derived from module parameters must participate in calculating loss and later the gradient computation. If they don’t, this wrapper will hang waiting for autograd to produce gradients for those parameters. Any outputs derived from module parameters that are otherwise unused can be detached from the autograd graph usingtorch.Tensor.detach
. (default:False
)check_reduction – This argument is deprecated.
gradient_as_bucket_view (bool) – This is a prototype feature and subject to changes. When set to
True
, gradients will be views pointing to different offsets ofallreduce
communication buckets. This can reduce peak memory usage, where the saved memory size will be equal to the total gradients size. Moreover, it avoids the overhead of copying between gradients andallreduce
communication buckets. When gradients are views,detach_()
cannot be called on the gradients. If hitting such errors, please fix it by referring to thezero_grad()
function intorch/optim/optimizer.py
as a solution.
- Variables
~DistributedDataParallel.module (Module) – the module to be parallelized.
Example:
>>> torch.distributed.init_process_group(backend='nccl', world_size=4, init_method='...') >>> net = torch.nn.parallel.DistributedDataParallel(model, pg)
-
join
(divide_by_initial_world_size=True, enable=True)[source]¶ A context manager to be used in conjunction with an instance of
torch.nn.parallel.DistributedDataParallel
to be able to train with uneven inputs across participating processes.This context manager will keep track of already-joined DDP processes, and “shadow” the forward and backward passes by inserting collective communication operations to match with the ones created by non-joined DDP processes. This will ensure each collective call has a corresponding call by already-joined DDP processes, preventing hangs or errors that would otherwise happen when training with uneven inputs across processes.
Once all DDP processes have joined, the context manager will broadcast the model corresponding to the last joined process to all processes to ensure the model is the same across all processes (which is guaranteed by DDP).
To use this to enable training with uneven inputs across processes, simply wrap this context manager around your training loop. No further modifications to the model or data loading is required.
Warning
This module works only with the multi-process, single-device usage of
torch.nn.parallel.DistributedDataParallel
, which means that a single process works on a single GPU.Warning
This module currently does not support custom distributed collective operations in the forward pass, such as
SyncBatchNorm
or other custom defined collectives in the model’s forward pass.- Parameters
divide_by_initial_world_size (bool) – If
True
, will divide gradients by the initialworld_size
DDP training was launched with. IfFalse
, will compute the effective world size (number of ranks that have not depleted their inputs yet) and divide gradients by that during allreduce. Setdivide_by_initial_world_size=True
to ensure every input sample including the uneven inputs have equal weight in terms of how much they contribute to the global gradient. This is achieved by always dividing the gradient by the initialworld_size
even when we encounter uneven inputs. If you set this toFalse
, we divide the gradient by the remaining number of nodes. This ensures parity with training on a smallerworld_size
although it also means the uneven inputs would contribute more towards the global gradient. Typically, you would want to set this toTrue
for cases where the last few inputs of your training job are uneven. In extreme cases, where there is a large discrepancy in the number of inputs, setting this toFalse
might provide better results.enable (bool) – Whether to enable uneven input detection or not. Pass in
enable=False
to disable in cases where you know that inputs are even across participating processes. Default isTrue
.
Example:
>>> import torch >>> import torch.distributed as dist >>> import os >>> import torch.multiprocessing as mp >>> import torch.nn as nn >>> # On each spawned worker >>> def worker(rank): >>> dist.init_process_group("nccl", rank=rank, world_size=2) >>> torch.cuda.set_device(rank) >>> model = nn.Linear(1, 1, bias=False).to(rank) >>> model = torch.nn.parallel.DistributedDataParallel( >>> model, device_ids=[rank], output_device=rank >>> ) >>> # Rank 1 gets one more input than rank 0. >>> inputs = [torch.tensor([1]).float() for _ in range(10 + rank)] >>> with model.join(): >>> for _ in range(5): >>> for inp in inputs: >>> loss = model(inp).sum() >>> loss.backward() >>> # Without the join() API, the below synchronization will hang >>> # blocking for rank 1's allreduce to complete. >>> torch.cuda.synchronize(device=rank)
-
no_sync
()[source]¶ A context manager to disable gradient synchronizations across DDP processes. Within this context, gradients will be accumulated on module variables, which will later be synchronized in the first forward-backward pass exiting the context.
Example:
>>> ddp = torch.nn.parallel.DistributedDataParallel(model, pg) >>> with ddp.no_sync(): >>> for input in inputs: >>> ddp(input).backward() # no synchronization, accumulate grads >>> ddp(another_input).backward() # synchronize grads
-
register_comm_hook
(state, hook)[source]¶ Registers a communication hook which is an enhancement that provides a flexible hook to users where they can specify how DDP aggregates gradients across multiple workers.
This hook would be very useful for researchers to try out new ideas. For example, this hook can be used to implement several algorithms like GossipGrad and gradient compression which involve different communication strategies for parameter syncs while running Distributed DataParallel training.
- Parameters
state (object) –
Passed to the hook to maintain any state information during the training process. Examples include error feedback in gradient compression, peers to communicate with next in GossipGrad, etc.
It is locally stored by each worker and shared by all the gradient tensors on the worker.
hook (callable) –
Averages gradient tensors across workers and defined as:
hook(state: object, bucket: dist._GradBucket) -> torch.futures.Future
:This function is called once the bucket is ready. The hook can perform whatever processing is needed and return a Future indicating completion of any async work (ex: allreduce). If the hook doesn’t perform any communication, it can also just return a completed Future. The Future should hold the new value of grad bucket’s tensors. Once a bucket is ready, c10d reducer would call this hook and use the tensors returned by the Future and copy grads to individual parameters.
We also provide an API called
get_future
to retrieve a Future associated with the completion ofc10d.ProcessGroup.work
.
Warning
Grad bucket’s tensors will not be predivided by world_size. User is responsible to divide by the world_size in case of operations like allreduce.
Warning
DDP communication hook can only be registered once and should be registered before calling backward.
Warning
The Future object that hook returns should contain a result that has the same shape with the tensors inside grad bucket.
Warning
DDP communication hook does not support single-process multiple-device mode. Gradbucket tensors should consist of only a single tensor.
Warning
get_future
API supports only NCCL backend and will return atorch._C.Future
which is an internal type and should be used with caution. It can still be used byregister_comm_hook
API, but it is subject to some subtle differences compared totorch.futures.Future
.Warning
DDP communication hook is experimental and subject to change.
- Example::
Below is an example of a noop hook that returns the same tensors.
>>> def noop(state: object, bucket: dist._GradBucket): -> torch.futures.Future >>> fut = torch.futures.Future() >>> fut.set_result(bucket.get_tensors()) >>> return fut
>>> ddp.register_comm_hook(state = None, hook = noop)
- Example::
Below is an example of a Parallel SGD algorithm where gradients are encoded before allreduce, and then decoded after allreduce.
>>> def encode_and_decode(state: object, bucket: dist._GradBucket): -> torch.futures.Future >>> tensors = [t / process_group.world_size for t in bucket.get_tensors()] >>> encoded_tensors = encode(tensors) # encode gradients >>> fut = process_group.allreduce(encoded_tensors).get_future() >>> # Define the then callback to decode. >>> def decode(fut): >>> decoded_tensors = decode(fut.value()) # decode gradients >>> return decoded_tensors >>> return fut.then(decode)
>>> ddp.register_comm_hook(state = None, hook = encode_and_decode)


Home
We are CMU Raasta
About Us
What We Do
Gallery
Meet the Team
Current Members
Sponsor Us
Become a Sponsor Today!
Contact Us
Have any Questions?
Hire Us
Costume Rental
Questions?
CMU Raasta comprises some of Pittsburgh's most talented dancers. Check them out!


| Home > Documentation > Configuring and administering > Configuring services > Configuring datasources > Executing SQL statements at deployment time |
The article is about how to execute some cleanup or initialization SQL statements during the deployment time of, for example, a data source.
The following are the dependencies used in this example:
my-sql.jar
containing the .sql files to be executed (this has nothing to do with MySQL, it's just a jar file containing .sql files, nothing more).We must specify a GBean in the connector deployment descriptor. This gbean will execute during deployment time. But it needs the following information:
| Bookmark this on Delicious Digg this | Privacy Policy - Copyright © 2003-2013, The Apache Software Foundation, Licensed under ASL 2.0. |


Views
Recent visitors who viewed your profile
Email Alert
Shortlists
Visitors who shortlisted your profile
Email Alert
Invitations to connect (Received)
Visitors who are interested in your profile requesting you to connect
Email Alert
Hide Profile
Your profile is currently visible
Your profile is currently visible
Delete Profile
Delete your profile from businessrose.com


What do we call the property of a sorting algorithm that gaurantees that records with the same key value occur in the same order in the sorted list as in the original, unsorted list?
"Linear" refers to an algorithm cost.
"External" refers to an algorithm to sort records on disk.
"Consistent" is not standard terminology related to sorting.
"Stable" sorting algorithms preserve the relative order of equal-valued keys.


Member of OFCS Online Film Critics Society
*******************************************
BULWORTH
Warren Beatty directed, produced and co-wrote the very innovative BULWORTH. Long associated with liberal politics, he here tears into the political world with its frauds, with no holds barred. This results in a hard-hitting, way out film that is a pleasure . . . at least most of the time . . to watch.
As the titles appear on the screen, we are barraged with a platitude, the political commercial, "We stand at the doorstep of a new millennium." Over and over and over.
Jay Bulworth is an incumbent United States Senator running for re-election in the 1996 primaries. He has been campaigning hard and is a nervous wreck. When Graham Crockett (Paul Sorvino) a crooked lobbyist approaches to make a deal for him to vote "correctly" on some insurance legislation, Bulworth asks and receives a ten million dollar life insurance policy. He then arranges to have someone assassinate him, thus assuring that his daughter will be financially secure.
No longer having to worry about what to say and act in order to be re-elected, he goes wild with his new-found freedom of saying whatever he wishes, however outrageous and politically incorrect it may be. It is this new person about whom the movie revolves, frequently in scenes of great hilarity. In all of this, Bulworth suddenly finds he wants to live, especially after having met the beautiful black Nina (Halle Berry) and has to contact his assassin, Vinnie (Richard Scott Sarafian) to cancel his murder. That is more easily said than done.
Bulworth visits Black churches and tells them, in rap, what they are doing wrong, how they will never get anything they want unless they become activists and stop supporting the black athlete who most believe stabbed his wife. To Hollywood VIPs he tells that their movies are worthless junk. He alienates Jewish bigwigs. In short, he runs a campaign such as no one has nor will ever run again.
Where I got lost was when the wild Bulworth starts doing rap. It was just a bit too way out for me who believes "rap music" is an oxymoron. In this case, though, the lyrics (when I could understand them) were very good and to the point.
Many fine supporting roles but most noteworthy is that of Oliver Platt as Murphy, Bulworth's Chief of Staff, who stays with him through thick (but in the end) not thin.
Directed by Warren Beatty. 3.5 Bytes
4 Bytes = Superb 3 Bytes = Too good to miss 2 Bytes = Average 1 Byte = Save your money
Copyright 1998 Ben Hoffman
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Other Enumerations
The following enumerations are available globally.
-
Dump command error.
- manifestNotFound: thrown when the manifest cannot be found at the given path.
Declaration
Swift
enum DumpCommandError: Error, CustomStringConvertible, Equatable
-
Precompiled node errors.
- architecturesNotFound: thrown when the architectures cannot be found.
Declaration
Swift
enum PrecompiledNodeError: Error, CustomStringConvertible, Equatable
-
Errors that can be thrown during the graph loading process.
- missingFile: error thrown when a manifest is refering to a file that is missing.
- targetNotFound: error thrown when a target has a dependency with another target that doesn’t exist.
- manifestNotFound: error thrown when a manifest cannot be found.
- unexpected: unexpected error.
Declaration
Swift
enum GraphLoadingError: Error, Equatable, CustomStringConvertible
-
Errors thrown during the manifest loading.
- projectDescriptionNotFound: error thrown when the ProjectDescription.framework cannot be cound.
- frameworksFolderNotFound: error thrown when the frameworks fodler that contains the ProjectDescription.framework cannot be found.
- swiftNotFound: error thrown when Swift is not found in the system.
- unexpectedOutput: error throw when we get an unexpected output trying to compile the manifest.
Declaration
Swift
enum GraphManifestLoaderError: Error, CustomStringConvertible, Equatable
-
Declaration
Swift
enum InitCommandError: Error, CustomStringConvertible
-
Declaration
Swift
enum ResourceLocatingError: Error, CustomStringConvertible, Equatable


--- layout: page title: "Using Early Data in HTTP" description: "Using TLS early data creates an exposure to the possibility of a replay attack. This document defines mechanisms that allow clients to communicate with servers about HTTP requests that are sent in early data. Techniques are described that use these mechanisms to mitigate the risk of replay." ---
| Document Name: | RFC 8470 |
|---|---|
| Document URI: |
urn:ietf:rfc:8470
|
| Online Version: |
https://datatracker.ietf.org/doc/html/rfc8470
|
| Organization: | Internet Engineering Task Force (IETF) |
| Series: | Request for Comments (RFC) |
| Abstract: | Using TLS early data creates an exposure to the possibility of a replay attack. This document defines mechanisms that allow clients to communicate with servers about HTTP requests that are sent in early data. Techniques are described that use these mechanisms to mitigate the risk of replay. |
Early-Data
425
Return to ( Series | Organization | all Specifications )


'Coz you're the only one that gets me
And you're the only one that keeps me safe
When I'm far from sleep and lonely
You're the only one that holds me
When I'm out there chasing my dreams
And I've got you by my side
I can put this world behind me
'Coz you're the only one that I need tonight


| Name: Ian Lim Course: Dip in Mechatronics and Robotics School: Engineering, Singapore Polytechnic Year.2 Email<EMAIL_ADDRESS>Telegram:@ian_limm |
|---|
| Name: Ian Lim Course: Dip in Mechatronics and Robotics School: Engineering, Singapore Polytechnic Year.2 Email<EMAIL_ADDRESS>Telegram:@ian_limm |
|---|


The beginning of the internet, or the "web", is somewhere in the early 1990's. The mark-up language, HTML, was specifically designed to help create this internet, and is basically the language used to talk from computers to request files to be viewed on those computers.
The internet is made up of roughly FOUR pieces.
They are: Us (People), the computer, the Web, and the Servers.
For me, the easiest way to remember what HTML does is by simply thingking of it as a language that internet pages use.
This helps me understand that it will take some time as most languages do, and that I need to practice and not worry about memorizing so much as understanding the basics of HTML, much like Andy suggests!
.
Tags: Some tags require closing, and some tags do not, which are considered VOIDS.
Elements: This is what an HTML is essentially made up of.
Attributes: Used with specific tags to make things act, appear, or overall just process specifically different depending on the instruction.
HTML: Hyper Tet Mark-up Language
Inline: An element that is inline with the contents.
Block: An element that create an invisible box that can be adjusted.
Hyperlink example: Google It!!!