I live in a j's podcast for Monday.
Most wonderful show is keeping up with the jones and we're back.
Yes we are.

Thanks, Sterling.

I've seen you in like two months.
Well, you have though, because we live together.
I'm trying to connect with our audience.
Oh, you haven't heard from us since July.
Yes. Well, I didn't want them to think that you hadn't actually seen me since they hadn't heard my voice.
If you're just joining us with the Joneses, I'm Alan.
I'm AJ.
And we host this podcast called Keeping Up With The Joneses.
We had a break for the summer, but now we're back excited to be in your ears once again,
which sounds super creepy. I apologize.
It really does.
At this point, we normally do our weekly catch up, but given it's kind of like a more,
More like a two monthly catch up so give us an overview of what's happened since july.
Well i just went to canada should we work backwards you can do any which way you want okay without be easier i just went to canada my mom fell over and broke the top part of her femur.

And so she's currently in a rehab hospital and they're trying to get her walking again.
But I know that she'll do great because she's not this sitting around type.
It's also her second time round.
So she's getting better recovering from having a broken hip.
Yes. Well, the last time she broke her femur a little bit further down,
so it just had a plate and screws.
This one was a little bit, it was a half-ip replacement because her pelvis was fine.
Oh, look at that.
Glorious.
Just the type of stuff we tune in for.
You had a major milestone in Zelda.
I did.
I have 100% did the game.
That's right.
Oh, yeah.
Oh, yeah.
So I, uh, this from a woman who hates video games and Zelda in particular.
Yeah, I did.
I did, but, you know, it took me what?
Ten months.
Yeah, we started in January, $60 for 10 months of game plays.
Pretty impressive.
That is pretty awesome.
So are you going to do master mode?
No, I am thinking about starting the whole game over again.
Uh, just in normal mode now that I understand the purpose of the game.
Cause I feel like when we started playing, we had no idea what Zelda was,
whatever, what the purpose of anything was, why we would pick up like when,
when you start the game, you start out on the great plateau.
I had no idea.
I should be picking up all the food that I'm running by.
Like I just didn't know anything.
I didn't know to look for corks.
He didn't know any of that.
So I just thought, Oh, it might be really fun now with understanding the game
to go back and play it and see what it feels like.
You are becoming more and more attractive the longer you talk about Zelda.
Be still my big heart.
I did have the moment of I couldn't find and we had podcast listeners that
tried to send me some, you know, information about like, have you checked
here for your last quark seat?
Cause I had one that I couldn't find.
It took me like two weeks.
I think you collected 899 of the suckers in the last one.
It was evasive.
Yeah.
It was on Lake Hallelujah.
Hallelujah.
I was trying to remember did we go vacation this summer and if so, where did we go?
Because I have no recollection.
Yeah, we did.
We went to that water park in the Smokies.
That's what we did.
Yeah.
That's right.
We took the kids away to a water park and then we had a staycation to stuff around the home.
Yes.
There you go.
That is a fast.
I didn't.
And all that kind of stuff.
You did.
You painted gloriously.
Why won't you let me paint?
Because your attention to detail is somewhat lacking.
So I think.

What would you like me to say?
For anyone who knows me, they might have a hard time believing that my attention to detail is lacking.
Well, let's say this.
Your hand isn't as steady as your heart is.
OK.
Wow.
This is a harsh reality.
Sorry about that, darling.
So it's definitely my issue.
Not your control issues.
Absolutely.
Oh, gosh, I've missed you.
All right.
So we did that.
Yeah.
We've been camping and we're about to go camping again.
Yeah.
You're thinking about persuading me to get a pop-up.
Explain what a pop-up is to people who never camp.
Well, just like a pop-up canopy.
So...
It means nothing.
Well, it's like a...
Well, it's a canopy that you place over your picnic table
or whatever so that you're not getting rained on when you eat.
No, not that thing.
The thing that the campsite that people showed us
that you dragged behind you in a car.
Oh, oh!
They call it a pop-up.
A pop-up trailer.
Yes, they're amazing.
No, stop.
Here's the thing.
Your enthusiasm is overwhelming.
Okay, so we can't have like an RV because we have no place to put it, right?
And our homeowners association would freak out.
But a pop-up, we could just store in our garage because they fit in garages and then
they fold out when you get there and there's like beds and a little kitchen.
Some of them have little bathrooms in it.
So you would be able to camp like in November or in February, March or whatever.
They have heating and air conditioning in them.
For our British listeners, they will understand this term.
It's like a caravan that collapses.
Yes, it's yes.
Americans don't call them caravans, I don't think.
No, they don't.
But it's like, but the size of a trailer that you'd pull behind a car.
Yes.
But on top of it is just this unfoldable, I guess, like tent, like material
with ends and sides that pop out to give you space.
Right. And it has a hard top on it and they have like little fridges in them and
I'm just not ready for this level of commitment.
It's pure awesomeness. Yes, you are. You would love it because you love
tent camping and knowing you this is like the next level for you.
Still feels tenty. Still feels campy. But oh babe. Yeah.
I would rather skip this phase and just go straight to an RV.
But where do we put the RV? Right.
So this way more practical, way less expensive.
Oh, yeah, baby.
Oh, good Lord. I'm speechless. Yeah.
Yeah. OK. Well, it remains to be seen whether I'll be persuaded to get a pop up.
But we're going camping again next week. So I don't know.
Well, the fun part is when you go camping, I spy with my little eye,
all the other campers who are way more experienced than us.
And it's like real life Pinterest.
Like everybody campsite is a board that you go to and you're like, well, that's amazing.
I don't know you can do that.
But we need tea lights and we need more hammocks and we need this.
And so I didn't realize there's this whole subculture of basically an industry around camping.
I know that's ridiculous for anybody who spent any time in someone like REI.
I didn't know REI existed until.
This is the saddest confession I've ever heard.
Again, for people who don't know what REI is, it's basically an outdoor camping outdoor hiking
store. It's lovely. But you can go through there and there's like, "Oh my gosh, that's amazing."
I would never even think that that was invented. So I'm all excited because there's new things
to investigate. Last big event of the summer, we got a new car, or I should say you got a new car.
I did, yeah. Well, you drive it a little bit. Yeah, when you let me, if I feel like the proper
a form and get permission.
And that's right.
Yeah, that's right.
Which works out well because I don't really care.
I'm happy to cruise around in the minivan.
Well, that's the deal.
You said you didn't care.
Really don't.
And I do.
I care about everything.
I care about engines and it's just fun to drive something peppy that I can actually
listen to music in, which is lovely.
Good.
Yeah.
Well, welcome back everybody.
We missed you really genuinely, totally missed you, totally missed the routine of sitting
down are happy to be back. Love the whole process. I really, really appreciated all the text,
tweets, Instagram posts, emails, etc. Are you guys forgotten about us? Are you coming back?
Yeah, thank you for those.
Yeah, they were really, really sweet. Made us feel very, very loved. So thank you for those.
Our topic for this week. Well, before we start our topic for this week, our whole idea, in fact,
we put out a little video that this was going to be season two in that season one was 200 episodes.
Season two is not going to be too heavy.
No, well, the thing is season two is probably not going to be season two because over the summer,
just before the summer, Apple released a bunch of features for podcast people like ourselves where
you could toggle buttons that say this is a new season.
And I was like, that was cool.
But to be honest, the documentation so sparse, I'm not actually sure what will happen if I turn
those on. So for now, we're just going to keep. I think this is episode 201.
We're just going to keep on trucking.
Okay. But we are going to start a kind of a series, a 10 episode series that we're calling back to the basics.
AJ, explain to us the thinking behind back to the basics.
Well, my thought was I would love to have a series of podcasts where if perhaps you're just joining us for the first time now,
and you're thinking, what do they believe? Like these people that I'm about to listen to, what is it that they believe?
you'd get a good idea of what it is that we believe from the next 10 podcasts. But also,
if you were a new believer, you would get foundational things that would help you grow in your walk
in these 10 podcasts. So sort of like if I was going to direct someone to only 10, I could say,
"Hey, go do starting at episode 201 and go ahead and listen to the first 10 podcasts of that."
Yeah, we just thought if we could reduce living a fulfilling Christ-centered life to 10 things
to implement in your life, what would they be? And we've come up with 10 things. And that's what
we're going to spend the next 10 episodes talking about. Our very first topic that we picked is all
about the Bible. Now, I'm going to ask you a bunch of questions, babe, which I know the answers to,
and probably anybody who's listened to this understands the answers too, but I've fallen more and more
in love with foundational stuff. I think it's right to sit and remind ourselves of things we
already know. But let me start with this. Why is it important to read the Bible and why is it
important? I'm even asking another Christian that question. Oh, good question. Why is it important?
I think if you don't read the Bible, first of all, the Bible is life. It's like eating living food.
So if you're not reading the Bible, you end up feeling really dull, basically in your Christian
want because you're not taking something in that is full of life. Like as much as it's a book,
it's a supernatural book. Right? Also, if you don't actually read the Bible, then you won't
actually know when you're hearing faulty theology. Ooh, say that again.
Well, if you don't read the Bible yourself and you don't actually know what it says,
then you can be fairly easily led astray and you can end up way down a road before you ever know
that that was never biblical to begin with. That's amazing. I was teaching about the Bible last
week at our school, Supernatural Life, to our second year students. And I did a whole session on
why the Bible can be trusted. And I was, I said, guys, it's alarming to me that now, like, when I
grew up, it was just an assumption that every Christian would believe that the Bible was the
inerran infallible word of God. Right. And now that's up for debate in some Christian communities.
Right.
So now I actually have to teach people,
"No, the Bible can be trusted.
The Bible is the Word of God.
The Bible does withstand scrutiny.
The Bible is trustworthy.

The Bible is an authority that we can build our lives on.
Right.
And the Bible does back itself up,
and God actually exalts his Word above his name,
and Jesus lived by what would later become the Bible
and the biblical principles.
And Jesus affirmed the Old Testament as Bible.
and just stuff that was an assumption yet for many modern Christians,
they're legitimate questions.
Is this a big thing?
- Yeah.
Well, I think people have become so afraid of being religious
that they throw out the Bible with it.
And that's terrifying to me.
- I was preaching this morning at Lyle and Allison Phillips Church,
at Legacy National, some friends of ours who passed for church here.
And I was preaching and I was talking about how when Lyle and I had lunch together,
allows teaching me about tithing and what he said felt really religious to me.
And I had this revelation when I was preaching that sometimes what feels religious to us is conviction.
And the reason it feels religious to us is because it's probably been a long time since we allowed ourselves to be convicted.
So it feels foreign.
Yeah, I got that.
I got one.
I got their reaction.
So good.
One of my favorite verses about the Bible, which gives me confidence about the Bible is 2 Timothy 3 16,
where it says, "All scriptures God breathed
"and is useful for teaching, rebuking, correcting,
"training and equipping for every good works."
It's basically what you were saying,
if you are not reading the Bible,
you're missing out and being taught, being corrected,
being trained, being equipped and being rebuked.
So as you say, you could be wandering around,
blown around by every new wind of teaching,
not realizing it's not scriptural,
but if we have a foundation on the Word of God,
we basically have a filter for our life
for things to go through.
And we're not easily swayed.
We have confidence when it is and when it's not God.
- Right.
One of the things that I used to love in Toronto is,
you know, John would tell us,
"Hey, even when we have guest speakers in,
"doesn't matter how big their name is or whatever,
"like you need to know, is this biblical?
"What are they saying?
"Is it biblical?
"Like take it and filter it and process it
"and don't just assume because somebody with a microphone
"or platform said that it's true,
that it is true, find it in the word.
And I thought for me that was like, okay, I will,
and there's safety in that.
- I think part of the attraction
with this neo-orthodoxy, this new delight
that well-meaning Christians, maybe earnest Christians,
maybe immature Christians, maybe Christians who've been hurt,
maybe Christians who are frustrated,
find delight in finding something quote-unquote new,
is it strokes our human intellect,
strokes are pride like, "Aha! I am the person that has found the flaw in scriptures."
But the truth is, you know, all the modern day conspiracies or heresies is better about
doctrine. None of it's new. It's all been answered before in the Bible, of course,
but it's all things have just been going on like Gnostic heresies and all this sort of stuff
that was found in the early church. You posted this earlier, this week on Instagram,
2 Timothy 4 verse 3, where it says, "For a time is coming, when people will no longer
listen to sound and wholesome teaching, they will follow their own desires and will look for
teachers who will tell them whatever their itching ears want to hear. They will reject
the truth and chase after myths." Again, that's literally happening today. And it has been happening
for, you know, since the early church, this has been happening. Absolutely. But now it feels really
popular. Well, the way to protect yourself from that is to actually have a valley for the word of
God. Okay. So, babe, talk to me about the whole thing of the infallible word of God. It's kind of
hard for me to do that in the it was, of course, something I was raised to believe.
Like my mother and father, you know, brought me up to read the Bible, believe the Bible. And
you know, part of the hurdle that we face is reading the Bible tends to be quite easy,
but understanding it is a lot harder because it's an ancient book not written to a modern audience and yet it still has life and value for us.
Yeah.
I remember Artie Kendall saying that there's two ways of believing that the Bible is true.
There's the objective witness as in external evidence, for example, like archaeological findings, historical documentation,
the testimony of other people whose lives have been changed by the Bible.
Right.
But all of that external evidence isn't going to convince somebody who's highly skeptical.
You know, the Bible itself claims to its own authoritative nature,
but you end up with circular reasoning.
So if you don't believe the Bible, you wouldn't believe its claims that it is the word of God.
Right.
You see what I mean?
Yeah.
So he said really, and this helped me is that it comes by the internal witness as in when you live
the word of God, you find out that it is true. Like it's true whether you believe it or not.
Yeah. But as you live by its principles, as you read the Bible, you find the Bible reads you,
and the more you give yourself to it, and the more you stand under its authority,
the more you begin to understand the life and the power that's in it.
Yeah. I heard somebody far cleverer than me say this. They said everything in the Bible is
literally true, but not everything is true literally.
Okay. Explain that.
Well, by that, I mean, yeah, the Bible is true.
It does need you to be able to understand how to read it, interpret it and apply it.
Yes.
But it's not true literally as in when Jesus said, I am the vine.
It doesn't mean that Jesus has, you know, green leaves.
He's not Groot, for example, when Jesus said I am the door.
He doesn't have a keyhole for eyes and a door not for nose.
Right.
You've got to understand when it's literal, when it's a story, when it's poetic, when
the authors using exaggeration, when it's narrative, when it's dialogue,
because there's all these beautiful facets of literature in there that it would help if you have some understanding about how the Bible is written and how to read it.
So that's a good point, babe.
What would you say to someone who wants to learn how to read the Bible?
We'll give you some resources in a second, but I think a couple of grounding principles.
It would be helpful to understand that while the Bible was written for us, it wasn't written directly to us.
As before it was ours, it was the original audiences.
Right.
So if you're not aware of that, we'll often run into cultural problems or
language issues or the fact that God was speaking to a different race,
sometimes under a different covenant in a completely different time.
And if we're not careful, we won't realize that there are barriers to our
understanding and we'll try and get over that barrier and sometimes not really
helpful ways. For example, one of the most common things I see, and one of the things I've done
before, is you have people who read the Bible for feel-good measures. So they'll read the bits
that make them feel good, and they'll skip the bits that don't.
Right. I don't like those books.
Right. Or they'll spiritualize the parts they don't understand.
Right. And over-spiritualize the parts.
Yeah. Or just automatically demonize things. I remember RT Kendall saying,
most theology today is actually anthropology. Instead of it being the study of God, it's
the study of man. And there's a danger that if we're not careful, we make God in our image.
So you now hear people all the time justify completely weird theology by saying, well,
you know, because I think like this, well, God must think like that.
Right.
And you're like, that's not how it works.
And the 55 says the complete opposite. So you've got to have a good consistent method for reading
and understanding the Bible. And that will ensure that you're not trying to create meaning
out of a text. Instead, you're trying to find a meaning that is already there. You're using
these tools, almost like an archaeological dig to unearth what's already in the text
to help you understand what the way you need to live today.
Right. I was thinking about this. I was raised in a church environment where we, our Bible
study, we taught through the Bible systematically. Today, you and I tend to teach through the
Bible thematically. So we might teach a series on finances. And so instead of just picking a book
like Titus and teaching it from the beginning to the end, although we do do that too, I would say
largely, I'm just correcting myself. I'd say most of the time we teach thematically, but we do also
to teach consistently through, you know, verse by verse through a text.
Yes.
If you're only ever exposed to teaching that's thematic, you're going to miss
large portions of the scripture that have nothing to say about the themes
your pastors taught you.
Right.
But have great things to say about the other themes that perhaps we're
trying to avoid.
Right.
Yeah.
But I want to encourage you, Jesus said, feed my sheep, not feed my giraffes.
There's this temptation that we think we need to be intellectually haughty in
order to understand scriptures.
And that's just not the case.
The spirit of God who wrote the Bible lives within us and can interpret the Bible.
Right.
If we'd give ourselves to the study, I don't understand the giraffe reference.
The sheep are lowly creatures that are close to the ground.
Their heads are low.
Giraffes are on a tall neck.
So I'm to actually love you.
OK, got you.
Thank you.
I know.
I did not work.
All right.
Give us some tips then.
If you know, our listeners are listening to this and thinking, I have
tried reading the Bible, but I get nowhere.
I get super confused.
What what can we leave them with in terms of practical steps to help people being courage to read the word of God?
All right tip number one. I think get a modern translation
like
You know NLT the message that get a modern translation that you can read through and typically I read those through
Next to a different translation like I sort of go back and forth. You have the biggest Bible. I've ever seen I love my Bible
It's a parallel Bible and it parallels the NASB with the message and they're on the same page first for verse.
So so big a page, the page of split down the middle and the left is the NASB and on the right is the message.
Yeah.
And it's so great because if for some reason I'm reading, you know, part of part of it in the NASB and I'm like, what on earth is this talking about?
I can read it in the message and go, oh, and then I go back to the NASB and I'm able to sort of go, oh, okay.
Okay, now I see, you know, so I love that going back and forth, it suits my personality.
I grew up reading the NIV, so it was hard for me to read the message.
I mean, I do appreciate the message now, but it's hard because all the passages I'd memorize,
I couldn't recognize in the message.
But if you're somebody that's like, "Ah, I honestly am embarrassed.
I feel like biblically illiterate.
I don't even know where to start."
Get a fresh, modern version of the Bible.
Just go to your Bible store, ask for an easy to read version of the Bible.
I love reading the new living translation.
It's the version of the Bible that I read for pleasure.
I study a lot of different versions, but my go to I'm going to sit down,
read the Bible as the new living translation.
But yes, point number one, get a bottom translation.
What about point number two?
Point number two, get a reading plan.
Like if you're starting off, let somebody else give you a plan for how to do it.
So you don't get lost.
Right. Right.
Cause we're like, I'm going to start at the beginning.
That's great.
But you know, give it a couple of weeks and you're going to be waiting through the vidicus going,
"No, this is too tough."  One of my favorite reading plans was reading through the Bible
chronologically. Yes, that's really fun. You know, if you don't know this, the books of the Bible
are not ordered chronologically. So if you find out, but you get any sort of reading plan and don't
feel like you're compelled to read it in a year, just pick a reading plan and start reading through.
There's a variety of them out there.
There's a bunch of good apps that will lead you through it.
You version has a variety of reading plans.
I'll give you a reading plan.
I like in a second, but get a reading plan to help you read through the scripture.
Yeah.
When I first got saved, the person at that youth event said to me, just start in the
gospel.
So read the new Testament first and get that sort of under your belt and then go back
to the Old Testament.
And actually that was super helpful for me
'cause I think if I had just dived in it, Genesis,
I would have probably got weighed down in Leviticus
and stopped, you know, but the New Testament was so much easier,
a place to start, basically.
- Right. One of the plans I really liked was
you'd read a bit of the New Testament,
you'd read a Psalm and you'd read a bit of the Old Testament.
- Right. We did that one a couple of years ago, didn't we?
- Yeah, and it would take you through.
I really liked that.
- Number three, are you ready?
- Yeah, please tell me.
So invite the Holy Spirit to read it with you.
- What do you mean by that?
- Well, what I mean by that is,
I remember John saying that, like,
"Hey, when you sit down to read the word,
invite the Holy Spirit to speak to you about things."
And so I was like, "Okay."
And so I would read passages,
I mean, particularly in the Old Testament
and stuff like that, where I'd be like,
"I don't understand this at all."
And the brilliant thing is the Holy Spirit is with you.
So you can say, "Holy Spirit, can you tell me
what's happening here?"
- Right.
Can you give me the background and whatever?
And so there were so many times where I would, the Holy Spirit would be like,
well, this is the dynamic that's going on or this was the culture or this was
whatever. And it was all things I knew nothing about.
But then I could go and look those things up.
And I was like, wow, that was right.

But it, to me, it was super encouraging because I was like, I have the author
with me while I read and I can ask questions.
And my encouragement to our students is don't gloss over the bits you don't understand.
Those bits are burning bushes that invite you into deeper revelation.
Right.
So you're reading a passage and you're like, I don't understand why God would ask people
to do this or I don't understand what's going on or this does not feel like a loving thing
to do.
I'm confused as to what's going on.
Allow those things to trouble you because the trouble will lead you to answers to satisfy.
Yeah.
Way too many people just either gloss over it, disconnect.
I'm staying engaged, ask the Holy Spirit.
Like you said, he's the author.
He knows what's going on.
- Yeah.
I was saying the same or a similar thing anyway
to year one, I was saying,
"Hey, when you read the word and you encounter places
"where it kind of gets under your skin
"and you're like, I think there's something more to this
"but I don't know, like I don't know what it is
"but it's kind of under my skin.
"Don't let that go because I think it's an invitation
"from the Holy Spirit to a revelation
"that probably changes things for you."
- Right.
And point number four, I would encourage you to get a Bible study guide.
Now, I'm not talking about anything fancy.
You don't need to go buy a commentary on every book in the Bible.
If you're buying a Bible, I'd encourage you to buy a study Bible.
What a study Bible is, it's just a regular Bible.
But usually somebody from the translation committee sits down.
And every time you start a new chapter, they might write a page about the book,
like who wrote the book, when it happened, what were some of the major events that were happening,
why is it important today?
And then as you read through it, there's usually...
It's a bit like watching a movie with the director's commentary on.
Right.
There, you know, as you're reading a passage, there might be some little
footnotes here and there, explain some of the more trickier passages or explain
the context or help you understand.
It's incredibly accessible.
There's I use Bible software.
And so I have the ESV study Bible, even though I don't really read the ESV translation,
it works with any translation I'm using.
I've got the NIV contextual.
I'd have to put a link in the show notes to what it's properly called.
but it explains the cultural context of the day.
All these little things help you understand
and give insights.
It's like having a friendly Bible professor
in the pages of your Bible that's gonna ask the question
that you're probably thinking about
as you're reading the passage.
Hugely, hugely helpful, makes a world of difference
and helps you understand what you might not know
because you weren't alive in the Babylonian period
so you don't understand the significance
of what's written there.

One of the things we try and encourage our students all the time is it's not your fall.
You have not been gifted with a complete understanding of world history and biblical narrative.
No Christian should feel bad.
They don't know that.
Right.
But also it's easily accessible with, you know, a light hard book to accompany your journey through scripture.
And point number five, baby, what would you say?
Definitely watch the Bible project videos.
So, yeah, so good.
Can't emphasize enough how good those videos are.
TheBibleProject.com has all of these videos.
They're free to watch and they've done all the books
of the Bible and they give you the historical context.
They give you some literary context.
Like they explain the story and it's almost like
reading the Cliffs notes.
I don't know if they have Cliffs notes here.
That's what we had them in Canada.
But it's like reading the Cliffs notes
of what it is that you're about to read.
But it gives you so much background stuff
that it makes it come alive.
I love their videos.

It's just an excellent ministry, the Bible Project.
You can find them on YouTube, you can find them on the web.
Really, really good.
I'd highly recommend watching each book overview
before starting that book in your plan.
- Yeah, and they have an app too, don't they?
- Well, conveniently.
I don't know if they have an app.
There's an app called the Read Scripture app
that uses links to all of those videos
that we're talking about.
So basically, all five things that we just gave you
are kind of available in this three-script trip.
It's a reading plan, it's the ESV translation,
it takes you through the whole Bible,
there's videos along the way,
they explain what's going on,
and in 20 minutes a day, you can be reading the whole Bible.
And so again, we'll put a link to all these resources
in our show notes.
And if you want our show notes,
go to<EMAIL_ADDRESS>And in case you don't know, my name is spelled A-L-Y-N.
- And mine is just spelled A-J.
You're welcome.
- If there's books that you would like for further study,
if you're thinking, "Oh, I love this.
I would love more information on this."
There's a couple of books that we could recommend.
There's a brilliant book called
How to Read the Bible for All It's Worth.
It's by Gordon Fee and Douglas Stewart.
And there's another book called
Read the Bible for a Change by Ray Lubick.
Both, I've got amazing titles, both really helpful books.
At SSL, we use a book called Grasping God's Word,
which is really helpful, but it's a massive book.
The other two books are small, paper-bat books,
easy to pick up, the other one's a bit of a tone,
but again, links for those books
are gonna be in the show notes.
At the end of the day, I wanna encourage you
that the Bible is way more accessible than you think,
that if you're not reading the Bible,
I wanna encourage you that the Bible is the filter
through which everything else in the Christian life goes through.
All revelation, all instruction, all doctrine, everything.
If you can't see in the Bible, I'd be very suspicious about it.
And it is easy to have a good working grasp of the scriptures.
It's something that you can easily read.
There's so many resources, so many excellent podcasts.
The Bible Project Guys have a wonderful podcast too.
I'd encourage you to do that.
And if you have any questions about the Bible,
about reading the Bible, reach out to us on Twitter.
And we'd love to start dialogue with you about reading the Bible.
Babe, it's been two months.
We must have a listeners question by now.
We have a backlog of those questions.
Oh, no, I'm sorry.
No, it's great.
I found this brilliant question that's kind of related to what we're talking
about.
This is from Corinne and she asks, this is a great question.
She says, I've been hearing a lot from the secular community about the law of
attraction.
They often quote Bible verses like "Ask and you shall receive" and they say if we
believe and focus our thoughts on what we want, we'll get it.
This seems congruent with the Bible because we're told to believe and not doubt in Jesus
will answer our prayer.
However, I've also heard many Christians warning that following this law leads to the
desiring things of the flesh and even some saying that demons are the ones using this
law, especially since its connection to new age beliefs.
Is this law and the things its followers teach really dangerous or does it point to some
true principles that Christians can use to achieve their goals on a godly way?
How should Christians view this law in light of Jesus?
AJ.
Up until this point, I've never heard of the Law of Attraction.
Neither died, but I'd heard of Google, so I did a quick Google search and found the
LawofAttraction.com website where I read such gems as, and I quote, "Hundreds of years
Years ago the law of attraction was first thought to have been taught to man by their
mortal Buddha.
And again quoting the law of attraction uses the power of the mind to translate whatever
is in our thoughts and materialize them into reality.
In basic terms all thoughts turn into things eventually.
If you focus on negative doom and gloom you will remain under that cloud.
If you focus on positive thoughts and of goals that you aim to achieve you will find a way
to achieve them with massive action.
So right off the bat, and I understand I'm being slightly flippant and I haven't done
extensive research in this, but this was the first site that I kicked around on.
You can see there's some non-Christian and decidedly new age overtones to the teaching.
And I know Corinne that you mentioned that some people have been quoting the Bible versus
with that.
And you will probably find that a lot of new age teaching, a lot of secular teaching,
overlap with teaching in Scripture, but it doesn't mean their interpretation of the
thing is strictly biblical. So for example, we believe in the law of sowing and reaping.
Do not be deceived. God cannot be marked, a man reaped for. He sows Paul teaches that
principle really, really clearly. The Bible is filled with illustrations of that. Other
people would call that karma. What goes around comes around. If we look at two Venn diagrams,
there's a huge overlap between what the Bible teaches and what the world recognizes as karma,
does the Bible teach karma? No, no, it teaches something different, but again you see overlaps.
And I think that's what's going on here, that although they're quoting scripture, again,
they're probably quoting scripture out of context and taking it to a degree that Jesus
probably didn't have in mind when he was saying. So for example, you quoted an
understand, Corinne, this is not you quoting, you're just telling me what other people have
been saying, like asking you shall receive. So again, if you look at the context, I remember
my dad teaching me this as a little boy, he would say, Ellen, if you take the text out
of context, you're left with con. And I saw it always be suspicious. He taught me that
I'm always suspicious when I hear people take a verse out of context and then declare this
is what the text means. And we got to be careful of doing that. Like sometimes you can do that.
But more often than not, it's really helpful to understand not only the context that the
verses in, but the context of the passage of the letter or the author or the rest of
the teaching. However, I digress. Matthew 21, Jesus said, "If you believe, you will receive
whatever you ask for in prayer." So here, the context is Jesus is teaching his disciples
about faith. And right there, we've got a different faith in God to perform his will
is very different from the teachings of the law of attraction, which is, you know, if
you want it, you just have to believe hard enough and you'll get it. I mean, we bypassed
God and as kingdom in that principle. Another one that I found when looking up the law of
attraction is Mark 923 where anything is possible if you believe. And again, proponents, it would
seem of the law of attraction would say, "See, it's in the Bible. You just have to believe
hard enough and it could be yours."
So completely different context.
Basically what you end up with is this pseudo sounding biblical teaching like many other
secular or new age teaching is basically trying to get us to achieve happiness and wealth without
needing Jesus. Generally speaking, I'd encourage you to be very wary of teachings that have overlap
with biblical teachings but are not founded on scriptural principles or better put anything
that tries to replace Jesus, even if it works, right? When we talk about the Antichrist, we tend
to think about a man with 666 around his forehead and maybe big horns and he's really good looking
and he's going to take over the world. But anti-Christ in an original understanding would be anything
that would replace Jesus. So whenever you hear teaching that doesn't require an active relationship
with Jesus, be deeply suspicious that it's biblical. What do you think, Agee Jones?
Yeah, I think well, obviously knowing the word of God actually helps us to have a filter for
everything else. Right. Right. So like in Ephesians 4 verse 14 it says, "Then we will no longer
be immature like children. We won't be tossed and blown about in every wind of new teaching.
We will not be influenced when people try to trick us with lies so clever they sound
like the truth." So we actually are aiming at being mature, aren't we? And part of maturity
is as we spend time in the word, we grow mature in our faith and we're more easily able to identify things that are just not quite right.
It's not again, this whole, I remember this from a childhood. I remember, I remember my parents telling me the story of a counterfeit expert who worked in the bank.
And they could easily spot counterfeits, not because there were experts identifying counterfeits.
They were so familiar with the genuine thing that whenever they felt counterfeit notes, they instantly knew it wasn't a real thing.
That's awesome.
And I would say the same thing.
There's just so many people that I meet who are blown around by every wind of new doctrine
because it's trying to achieve things that the Bible teaches the Lord wants to give us
without having to submit to God to his kingdom or die to self.
Right.
If there's a shortcut that avoids sacrifice, it's probably not biblical teaching.
So Corinne, I want to make sure that in answering that question, we haven't made it sound like,
"Well, you know what, Corinne, if you'd actually read the Bible, you'd know this."
Because clearly, you knew enough to be able to be suspicious and questioned this.
So please don't hear that in our voice.
I'm glad that you wrote in and you asked that question.
And again, I apologize.
I haven't done extensive research on this, but just at my first cursory glance, yeah,
I'd probably give it a wide berth.
And understand that there is a biblical principle at work.
For example, in Proverbs 15 verse 15, it says,
"For the despondent everyday brings trouble
for the happy heart, life is a continual feast."
And of course, Scripture does talk about us fixing our eyes
on Jesus, the author and professor of our faith,
and whatever is lovely and true,
and no will think about those things.
And so of course, the Bible teaches a huge amount
about what we focus on and what we believe on.
But again, anything that's trying to bypass
an active relationship with Jesus
in submission to him and his teaching
ain't gonna be healthy.
So, you know, temper everything that you hear through scripture and you're going to be in a great place.
All right.
In wrapping up, thank you to everyone who filled out our podcast survey.
We loved all the information that you gave us and we wanted to congratulate Rebecca from Florida.
Yay, Rebecca.
You're our winner picked at random.
Woo hoo.
So you have already received some sort of notification email.
Woo hoo.
V email.
So there you go.
of your gift. And again, thanks for everyone who participated. It's really helpful.
This episode of Keeping Up With The Joneses is brought to you by our stunningly good-looking
and incredibly anointed patrons who give each month making these episodes a reality. If
you'd like to become a patron and support the show, head over to patreon.com/allananaj
for all the details. And you can find us on Twitter and Instagram as @allan, that's
and @_ajjones. And our show is also available on Twitter and Instagram @allen and AJ.
Until next week, have a great week!


A family of conserved cell surface receptors that contain EPIDERMAL GROWTH FACTOR repeats in their extracellular domain and ANKYRIN REPEATS in their cytoplasmic domains. The cytoplasmic domains are released upon ligand binding and translocate to the CELL NUCLEUS, where they act as transcription factors. (mesh:D051880)
| Synonym | Reference | Specificity |
| Notch | Exact | |
| NOTCH | Exact |
| Identifier | Name | Relation |
| HGNC:7881 | NOTCH1 | isa |
| HGNC:7883 | NOTCH3 | isa |
| HGNC:7884 | NOTCH4 | isa |
| HGNC:7882 | NOTCH2 | isa |


Decentralized auctions for on-chain assets
Examples of what you can auction
- A domain name in the Ethereum Name Service
- An on chain virtual good (the powerful sword in an Ethereum based RPG)
- A real world good represented by a token on the blockchain (a concert ticket)
- A token that represents a role in an on-chain economy
- A large block of tokens sellable at once
- Plus much more.
Currently Running Auctions
| Title | Current Bid | # of Bids | Ending Block |
|---|
About
What's going on here?
This homepage lists the currently running auctions. Check them out, or create your own!
Auctionhouse is a decentralized application (Dapp) that lets users auction off non-fungible on-chain assets. What does this mean? When you have fungible assets like Augur REP tokens, you can easily sell them on an exchange since they're all interchangeable. But when you have a token that represents something one-of-a-kind, something unique, it's better served to auction it off, since there's no liquidity on exchanges for these one off items.


--- layout: default title: Posts by Month --- Home | Posts by Tag | About {% assign postsByYearMonth = site.posts | group_by_exp:"post", "post.date | date: '%Y %B'" %} {% for yearMonth in postsByYearMonth %}


Work Day Scheduler
A simple calendar app for scheduling your work day
6AM
7AM
8AM
9AM
10AM
11AM
12PM
1PM
2PM
3PM
4PM
5PM
6PM
7PM
8PM
9PM
10PM


Discreetly Studying the Effects of Individual Traffic Control Functions
KubeCon EU 2020 - Lee Calcote & Prateek Sahu
Performance of Envoy Filters
The following analysis compares native Envoy filter performance to WebAssembly (WASM) filter performance using Rust.
Native WASM at Capacity:
When every request goes via the rate-limit check and then the actual program logic, we see that the latency incurred for the WASM code is higher than the Native client. This is expected since the native client has processing for rate-limiting locally in a process whereas the rust module is invoked as an additional thread to do the processing and the communication involved with the module incurs an overhead. This is prominent in the minimum response time case which represents latency just due to rate-limiting logic where every other part of the request is already "warm". As we move towards average latency, the overhead gets slightly amortized but is still above the native rate-limiting case. Our max latency is slightly lower than native, but we attribute it to various other system effects like TLS handshake and network latencies that usually contribute to the maximum tail latency.
Latency at scale:
When we go beyond the application capacity (100 in our example), we start noticing the power of a in-line ight wasm module which starts terminating requests at the side-car and the core application logic is never invoked/loaded. We notice that even the minimum response time for a terminated request is about 15-20% faster than invoking of application logic since the wasm is a dynamic module in the sidecar and we start to avoid complex network redirection and invocation of a new container/instance. We also notice that the average latency of requests is lower than in the case of native client.


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 4
For the pea and mint purée, heat a medium non-stick deep frying pan and melt half the butter until hot and foaming. Add the spring onions and cook until soft.
Add the peas, caster sugar, stock and remaining butter and stir together. Place a circle of greaseproof paper over the top of the mixture and allow to sweat for about 4-5 minutes.
Remove the paper and stir in the mint leaves and cream. Cook for another minute until all the liquid has evaporated.
Transfer into a food processor and blend until almost smooth, leaving some texture in the mixture. Set aside until ready to use.
For the scallops and black pudding, heat the vegetable oil in a frying pan and gently fry the black pudding slices until crisp. Remove from the pan and keep warm.
Lightly brush a heavy-based frying pan with a little extra vegetable oil and place it over a high heat until very hot.
Season the scallops with a little salt then place them in the hot pan and sear for one minute on each side, until browned. Remove from the pan.
Place a generous spoonful of the mint purée on each of four warm serving plates.
Arrange the scallops and black pudding slices in overlapping layers on top of the purée.
Drizzle the sherry vinegar reduction over the warm scallop salad and serve immediately, sprinkled with fresh mint.


Main
System...
Change Location...
Read Location...
Set user Intervals...
Accelerometer...
Vibration
Play Sound
Photo...
Audio...
Notification...
HTTP...
File IO...
Phone Info...
About
PhoneGap
Version
Device
Platform
OS Version
SDK Version
Version
UUID
Change Location
Lat
Lon
Update Location
Read Location
Lat
Lon
Change Intervals
GPS
Accel
Set Intervals
Accelerometer
X
Y
Z
Notification
startSmsListener
stopSmsListener
from:
message:
HTTP
Make sure your Android sdk sdcard is mounted!
HTTP get remote_url
remote_url:
destination:
file IO
File IO
getFreeDiskSpace
testFileExists
testDirExists
Create Directory
Delete File
Delete Directory
Audio
Make sure your Android sdk sdcard is mounted!
AudioFile:
startRecording
stopRecording
startPlaying
stopPlaying
info:
getDuration
getPosition
Earpiece
Speaker
getAudioDevice
Phone NO.
Voice Mail NO.
Operator
Sim Country ISO
Time Zone


Lecture Home
Introduction
1 lecture
2. lecture
3. lecture
4. lecture
5. lecture
6. lecture
Introduction to TensorFlow
This is a tutorial
Toggle Menu


Profiling time-stamp object. More...
#include <utils_prf.h>
Data Fields | |
| char | name [32] |
| uint32_t | isAlloc |
| uint64_t | startTs |
| uint64_t | totalTs |
| uint32_t | count |
| uint32_t | numFrames |
Profiling time-stamp object.
| uint32_t Utils_PrfTsHndl::count |
Number of times time stamp delta is calculated.
| uint32_t Utils_PrfTsHndl::isAlloc |
Indicates if the object is initialized (used).
| char Utils_PrfTsHndl::name[32] |
Name.
| uint32_t Utils_PrfTsHndl::numFrames |
Total number of frames being used for time-stamping.
| uint64_t Utils_PrfTsHndl::startTs |
Start time stamp value.
| uint64_t Utils_PrfTsHndl::totalTs |
Total time stamp value.


This site is currently offline for scheduled maintenance.
We expect to be back in a few hours. Thank you for your patience.


1
Dad will come home at 7 o’clock.
Past
Present
Future
2
Janet washed her hands before dinner.
Past
Present
Future
3
Please shut the window.
Past
Present
Future
4
I thanked my uncle for the birthday gift.
Past
Present
Future
5
Joey will go for a karate camp in summer.
Past
Present
Future
6
The birds chirp from the trees.
Past
Present
Future
7
She dropped her notebook.
Past
Present
Future
8
My dog barks loudly at strangers.
Past
Present
Future


This site, which is being hosted on a PiWeb Server, is a Quick Reference Guide to how to create a Pi-Web Server.
The Pi-Web package can be found on Github at here. Download or clone the repositry, and copy and paste the "server" package into your own project folder.
To import the main Server class use: from server import Server. You can also import the HTML Template Class with from server.html_template import HTML_Template. You do not need the HTML Template Engine but it makes it a lot easier to build webpages with HTML.
Before you start a Web Server you need to create the web pages. But first you must create the Server Class. server = Server(Host IP, Port Number). For more information on choosing Port Numbers and Host IP Addresses see . So to create a Web Server on your local machine on the default port (Port 80); you would use server = Server("<IP_ADDRESS>", 80).
Now the instance of Server object can be used to add web pages to the server. To do this use it's add_page(Url Path, Page's HTML). So to create a web page at the server's url /index you would use server.add_page("/index", "
Index
").
To start the server you need to use the start_server() method and to stop the server using the stop_server() method. So in the program as described you would use: server.start_server(); followed by server.stop_server(). The server will loop infinetly unless disrupted by the user but in case the start_server() method stops looping due to a bug or crash then the stop_server() method will clean up.
To make sure the server works navigate to <IP_ADDRESS> in your address bar in your browser. (If you are using a different port to port 80 then it should be <IP_ADDRESS>:port number/index). This should then display:
It is possible to write 100's of lines of html into a argument the create a web page but it would make much much more sence to write the HTML in an .html file, and then load it into the server to be sent to connecting clients. To do this Pi-Web contains a HTML template engine, that can load and render HTML from files. However, at the moment it is very primitive.


| You have no access here |
| First a Tourney System has to be chosen, in order to set up the deadlines |
| Setup Deadlines |
|---|
|
Enter how long a winners bracket round should last here. When you have chosen a double elimination system also enter where the half of the winners bracket length is. For instance you enter 7 days for winners bracket, and 4 days for losers bracket. The losers bracket rounds will last then alternately 4 and 3 days. |


The leading lights into Suva harbour are now blue (almost an electric blue), which can be very difficult to see in poor visibility (something that is common in Suva).
Position 18° 7'48.08"S, 178°23'57.29"E (Suva harbour)
Refer to the main Fiji Formalities page for detailed clearance information.
Most boats contact Suva Port Control on Channel 16 on arrival, who immediately advise new arrivals to contact the Royal Suva Yacht Club (RSYC), also on Channel 16. Be patient calling the club on the VHF as the radio is situated in the bar area of the club.
All vessels arriving in Suva Harbour are requested by Suva Port Control to anchor in the quarantine area on the offshore (which is close to the RSYC marina) for Customs clearance. Note, that harbour security in this area is the responsibility of the water police and not of RSYC.
The RSYC will arrange for the various agencies to visit the boat, but at times there may be several hours delay. Crew must not come ashore until cleared. The Club's rescue boat will transport the officers to clear any waiting yacht(s) in the quarantine area.
All the paperwork is currently taken care of on board - including payment of fees. It is no longer necessary to go into town to pay the health clearance fee. The club only charges F$60 for all the transport fees (including boat & boatman charges and taxis) instead of the F$115 it previously cost using the port authority pilot boat.
There are two daily clearance times: Mon - Fri 0900 hrs & 1500 hrs. Yachts arriving after 1500hrs on Fridays will have to wait until the next normal working day, or agree to pay the extra charges from these government departments to clear outside normal working hours. Currently cruisers report that the authorities appear quite happy to delay clearance until normal working hours, but do take a dim view of crew coming onshore before being cleared.
Yachts arriving at the weekend at Suva have been fined in the past for not notifying the authorities and anchoring at the yacht club until Monday.
Cruising Permit
This permit is only issued after having cleared in. The permit is free but you must make your own way to the iTaukei Affairs Board which is in the Great Council of Chiefs Complex in the Government complex at 87, Queen Elizabeth Drive, Suva. This road is an extension of Victoria Parade (shown on city centre maps). It is about 3 km walk to the government buildings and you need to enter the huge complex at the first entrance which will take you along the side of the building. Then take the first door on your right and someone will direct you. If you ask for the Great Council of Chiefs building, taxi drivers and bus drivers will know what you want.
A permit to visit the Lau group is now automatically included in the cruising permit.
Coastal Clearance is required for all yachts before leaving Suva harbour. You need to visit Customs to get this, and you should leave within 24 hrs of it being granted. The office is not open at the weekend.
Note: As of June 2012 yachts are now issued with Customs Coastal Clearance only once, and this covers all cruising within Fiji waters (provided you have your cruising permit from the I Taukei Affairs Board). It is no longer necessary to clear in and out of each Customs region visited, (Suva: Levuka: Savusavu: Lautoka: Lau Group: Rotuma:).
There is however a requirement to report your position and current cruising plans once a week. This can easily be done by:
- VHF Ch:16
- Telephone: 324 3782/3747/3315
- Customs Hotline: 324 3666
- E-mail<EMAIL_ADDRESS>Last updated June 2014.
The Royal Suva Yacht Club, located in Korovou, in the northern outskirts of the city, is welcoming and has expanded its docking facilities to cater for the increasing number of visitors. The club charges F$50 per night for an alongside berth, when available. There is approximately 2 metres of water at the refueling dock at high water, the bottom is soft mud.
Currently there are no moorings, you either anchor or go into the marina. Holding in the anchorage area near the yacht club is patchy, and anchors do get snagged on debris on the bottom. A trip line is recommended. Cruisers report that during a southerly change, the anchorage is not a particularly safe haven, with a commercial anchorage just upwind of where the yachts are moored.
There is a charge of F$15 per person per month for using the dinghy dock at the marina if you are anchored in the bay.
Many free services are included like free fresh water, showers,
rubbish disposal etc.
An alternative anchorage with limited docking is off the nearby Tradewinds Hotel which is also used as a refuge during cyclones. This hotel however is now under new ownership, so it is recommended to seek permission before anchoring here.
 Those moorings are put freely at the disposition of passing cruisers after paying him a courtesy visit. This protected bay offers a perfect anchorage if one stays a long time in the area (no smells from the public discharge, relatively unpolluted water and calm anchorage).
Security
A robbery (dinghy and outboard) was reported at the anchorage off the RSYC in June 2014. The same boat was broken into on the hard at MISEL a week later. It should be noted that harbour security in the anchorage off the Yacht Club is the responsibility of the Port Police and not of RSYC. However, the Club have requested that the Fiji Port Police do patrol the waters outside the marina, mainly after 22h00.
Last updated June 2015.


Address: 1112 12th St Altoona, Pa 16601
Phone:<PHONE_NUMBER>
Fax Number:<PHONE_NUMBER>
Hours: Monday - Friday: 11am - 6pm


Class CalendarDayView.
More...
| override void XLabs.Forms.Controls.CalendarDayView.Draw |
( |
CGRect |
rect | ) |
|
Draws the specified rect.
- Parameters
-
| bool XLabs.Forms.Controls.CalendarDayView.Active |
|
getset |
Gets or sets a value indicating whether this CalendarDayView is active.
true
if active; otherwise, false
.
| bool XLabs.Forms.Controls.CalendarDayView.Available |
|
getset |
Gets or sets a value indicating whether this CalendarDayView is available.
true
if available; otherwise, false
.
| DateTime XLabs.Forms.Controls.CalendarDayView.Date |
|
getset |
Gets or sets the date.
The date.
| bool XLabs.Forms.Controls.CalendarDayView.Highlighted |
|
getset |
Gets or sets a value indicating whether this CalendarDayView is highlighted.
true
if highlighted; otherwise, false
.
| bool XLabs.Forms.Controls.CalendarDayView.Marked |
|
getset |
Gets or sets a value indicating whether this CalendarDayView is marked.
true
if marked; otherwise, false
.
| bool XLabs.Forms.Controls.CalendarDayView.Selected |
|
getset |
Gets or sets a value indicating whether this CalendarDayView is selected.
true
if selected; otherwise, false
.
| string XLabs.Forms.Controls.CalendarDayView.Text |
|
getset |
Gets or sets the text.
The text.
| bool XLabs.Forms.Controls.CalendarDayView.Today |
|
getset |
Gets or sets a value indicating whether this CalendarDayView is today.
true
if today; otherwise, false
.
The documentation for this class was generated from the following file:
- F:/Projects/Xamarin-Forms-Labs/src/Forms/XLabs.Forms.iOS/Controls/Calendar/CalendarDayView.cs


ExamineSHA1Fingerprint()
Syntax
Result = ExamineSHA1Fingerprint(#Fingerprint)Description
Initializes the calculation of a SHA1 (Secure Hash Algorithm 1) checksum in several steps. Unlike the SHA1Fingerprint() function this allows to calculate the checksum of large data without the need to load it all into one continuous memory buffer.
Parameters
#Fingerprint The number to refer to this checksum calculation in later calls. #PB_Any can be used to auto-generate this number.
Return value
Returns the #FingerPrint value if #PB_Any was used for that parameter.
Remarks
NextFingerprint() can be used to add memory blocks into the calculation and FinishFingerprint() to finish the calculation and read the SHA1 hash.
See SHA1Fingerprint() for more information on the SHA1 algorithm.
Example
*Buffer = AllocateMemory(200) ; Prepare a buffer with data If *Buffer PokeS(*Buffer, "The quick brown fox jumps over the lazy dog.") Length = MemoryStringLength(*Buffer) If ExamineSHA1Fingerprint(1) ; start the calculation NextFingerprint(1, *Buffer, Length/2) ; calculate part 1 NextFingerprint(1, *Buffer+Length/2, Length/2) ; calculate part 2 SHA1$ = FinishFingerprint(1) ; finish calculation Debug "SHA1 checksum = " + SHA1$ SHA1$ = SHA1Fingerprint(*Buffer, Length) ; compare to a calculation in 1 step Debug "SHA1 checksum = " + SHA1$ EndIf FreeMemory(*Buffer) EndIf
See Also
SHA1Fingerprint(), SHA1FileFingerprint(), MD5Fingerprint(), CRC32Fingerprint()
Supported OS
All


When you are ready, click on the record button below. Once you are done you will have the choice to review, save, or discard your video. Thanks for using the Hub!


{{ $relCount := 5 }} {{ $currentSet := (where .Site.RegularPages "Type" "in" (slice .Section)) }} {{ $related := $currentSet.Related . }} {{ if gt (len $related) (sub $relCount 1) }}


Robert T. Kiyosaki
An entrepreneur and the author of "Rich Dad Poor Dad" the #1 Personal Finance Book of all time!
Best Selling Author!
Who is Robert?
Robert is an American businessman and author. He is the founder of Rich Global LLC and the Rich Dad Company, a private financial education company that provides personal finance and business education to people through books and videos. He is also the creator of the Cashflow board and software games to educate adults and children about business and financial concepts.
He is also the author of more than 26 books, including the international self-published personal finance Rich Dad Poor Dad series of books which has been translated into 51 languages and sold over 27 million copies worldwide.
Early life & Career
- Robert Kiyosaki was born to Ralph H Kiyosaki in Hilo, Hawaii. He had a Japanese American ancestry. His father was a teacher and instructor by profession, which enabled young Kiyosaki to attend better educational institutes.
- He attained his preliminary education from Hilo High School, after which he enrolled at the U.S. Merchant Marine Academy in New York, graduating from the same as a deck officer in 1969.
- In 1972, during the Vietnam War, he served as a helicopter gunship pilot in the Marine Corps. For his service, he was awarded with the Air Medal. Two years later, he left the Marine Corps. However, instead of returning to Hawaii he moved to New York.
- From 1974 until 1978, he took up the profile of a salesman for Xerox Corporation selling copy machines. Meanwhile in 1977, having saved enough money, he started a company of his own that brought forth to the market the first nylon and Velcro ‘surfer’ wallets.
- Despite reaching the rock bottom pit low mark of his life, he did not lose hope and instead used his experience and knowledge to help people and educate them on how to avoid bankruptcy and achieve financial success.
- He began working as a motivational speaker for a personal growth seminar business called Money and You, along with D.C Cordova. The three-day seminar mostly focussed on teaching students the works of Buckminster Fuller. Predominantly present only in Canada and United States, the popularity of the business allowed them to spread their wings to Australia and New Zealand as well.
- Following the footsteps of his educator ‘poor dad’, and guidance and advice of his ‘rich dad’ (who in reality was his friend’s dad) he concentrated on amalgamating the two lines of beliefs to come up with a book which highlighted the teaching of both his rich dad and poor dad. He collaborated with Sharon Lechter and together they co-wrote the first ‘Rich Dad, Poor Dad’ book. However, they could not find a publisher for the same and hence decided on publishing it on their own.
- ‘Rich Dad Poor Dad’, published in 2000, advocates financial independence and teaches its readers the importance of building wealth through investments in real estate and the starting and owning of business. The book sold ten million copies becoming a bestseller.
- The success of the book led to the release of the future works, Rich Dad's CASHFLOW Quadrant and Rich Dad's Guide to Investing. Furthermore, he released a dozen of other books.
"The Rich don't work for Money. Work to Learn not to Earn."
If you want to know more about this brilliant Entreprenuer , you can read more information on his Wikipedia entry.
Written & Coded by @john_apilado


# Copyright 2018-2019 QuantumBlack Visual Analytics Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
# NONINFRINGEMENT. IN NO EVENT WILL THE LICENSOR OR OTHER CONTRIBUTORS
# BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN
# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# The QuantumBlack Visual Analytics Limited ("QuantumBlack") name and logo
# (either separately or in combination, "QuantumBlack Trademarks") are
# trademarks of QuantumBlack. The License does not grant you any right or
# license to the QuantumBlack Trademarks. You may not use the QuantumBlack
# Trademarks or any confusingly similar mark as a trademark for your product,
# or use the QuantumBlack Trademarks in any other manner that might cause
# confusion in the marketplace, including but not limited to in advertising,
# on websites, or on software.
#
# See the License for the specific language governing permissions and
# limitations under the License.
"""This module provides context for Kedro project."""
import abc
from typing import Any, Dict, Iterable, Optional, Union
from kedro.io import DataCatalog
from kedro.pipeline import Pipeline
from kedro.runner import AbstractRunner, SequentialRunner
[docs]class BaseKedroContext(abc.ABC):
"""``KedroContext`` is the base class which holds the configuration and
Kedro's main functionality. Project-specific context class should extend
this abstract class and implement the all abstract methods.
Example:
::
>>> from kedro.context import KedroContext
>>> from kedro.pipeline import Pipeline
>>>
>>> class ProjectContext(KedroContext):
>>> @property
>>> def pipeline(self) -> Pipeline:
>>> return Pipeline([])
"""
[docs] def __init__(self):
# type: (...) -> None
self._catalog = DataCatalog()
@property
@abc.abstractmethod
def pipeline(self):
# type: (...) -> Pipeline
"""Abstract property for Pipeline getter.
Returns:
Defined pipeline.
"""
raise NotImplementedError(
"`{}` is a subclass of KedroContext and it must implement "
"the `pipeline` property".format(self.__class__.__name__)
)
@property
def catalog(self):
# type: (...) -> DataCatalog
"""Read-only property referring to Kedro's ``DataCatalog`` for this context.
Returns:
DataCatalog defined in `catalog.yml`.
"""
return self._catalog
@property
def io(self):
# type: (...) -> DataCatalog
"""Read-only alias property referring to Kedro's ``DataCatalog`` for this
context.
Returns:
DataCatalog defined in `catalog.yml`.
"""
# pylint: disable=invalid-name
return self._catalog
[docs] def run( # pylint: disable=too-many-arguments
self,
tags=None, # type: Optional[Iterable[str] ]
runner=None, # type: Optional[AbstractRunner]
node_names=None, # type: Optional[Iterable[str]]
from_nodes=None, # type: Optional[Iterable[str]]
to_nodes=None, # type: Optional[Iterable[str]]
):
# type: (...) -> Dict[str, Any]
"""Runs the pipeline with a specified runner.
Args:
tags: An optional list of node tags which should be used to
filter the nodes of the ``Pipeline``. If specified, only the nodes
containing *any* of these tags will be run.
runner: An optional parameter specifying the runner that you want to run
the pipeline with.
node_names: An optional list of node names which should be used to
filter the nodes of the ``Pipeline``. If specified, only the nodes
with these names will be run.
from_nodes: An optional list of node names which should be used as a
starting point of the new ``Pipeline``.
to_nodes: An optional list of node names which should be used as an
end point of the new ``Pipeline``.
Raises:
KedroContextError: If the resulting ``Pipeline`` is empty
or incorrect tags are provided.
Returns:
Any node outputs that cannot be processed by the ``DataCatalog``.
These are returned in a dictionary, where the keys are defined
by the node outputs.
"""
# Load the pipeline as the intersection of all conditions
pipeline = self.pipeline
if tags:
pipeline = pipeline & self.pipeline.only_nodes_with_tags(*tags)
if not pipeline.nodes:
raise KedroContextError(
"Pipeline contains no nodes with tags: {}".format(str(tags))
)
if from_nodes:
pipeline = pipeline & self.pipeline.from_nodes(*from_nodes)
if to_nodes:
pipeline = pipeline & self.pipeline.to_nodes(*to_nodes)
if node_names:
pipeline = pipeline & self.pipeline.only_nodes(*node_names)
if not pipeline.nodes:
raise KedroContextError("Pipeline contains no nodes")
# Run the runner
runner = runner or SequentialRunner()
return runner.run(pipeline, self.catalog)
[docs]class KedroContextError(Exception):
"""Error occurred when loading project and running context pipeline."""


--- layout: post title: Deep Learning - Neural Network with multiple inputs and hidden neurons category: machine-learning tag: [python, deep-learning] --- {% include JB/setup %}
In this note, I am going to train a neural network model with gradient decent
estimation. This model will only have 2 direct inputs and 1 hidden layer with 3 neurons and logistic transform. The output layer will be activated with softmax.
This note will covere:
The dataset is generated by the scikit-learn make_circles method. It will contain 2 labels, blue $(t=1)$ and red $(t=0)$, where the red class is a circular distribution that surrounds the distribution of the blue class.
# Python imports
import numpy as np # Matrix and vector computation package
import sklearn.datasets # To generate the dataset
import matplotlib.pyplot as plt # Plotting library
from matplotlib.colors import colorConverter, ListedColormap # Some plotting functions
from mpl_toolkits.mplot3d import Axes3D # 3D plots
from matplotlib import cm # Colormaps
# Allow matplotlib to plot inside this notebook
%matplotlib inline
# Set the seed of the numpy random number generator so that the tutorial is reproducable
np.random.seed(seed=1)
# Generate the dataset
X, t = sklearn.datasets.make_circles(n_samples=100, shuffle=False, factor=0.4, noise=0.1)
T = np.zeros((100,2)) # Define target matrix
T[t==1,1] = 1
T[t==0,0] = 1
# Separate the red and blue points for plotting
x_red = X[t==0]
x_blue = X[t==1]
print('shape of X: {}'.format(X.shape))
print('shape of T: {}'.format(T.shape))
As you can see the plot below, it's not linear separatable.
# Plot both classes on the x1, x2 plane
plt.plot(x_red[:,0], x_red[:,1], 'ro', label='class red')
plt.plot(x_blue[:,0], x_blue[:,1], 'bo', label='class blue')
plt.grid()
plt.legend(loc=1)
plt.xlabel('$x_1$', fontsize=15)
plt.ylabel('$x_2$', fontsize=15)
plt.axis([-1.5, 1.5, -1.5, 1.5])
plt.title('red vs blue classes in the input space')
plt.show()
Model can be visualized as below:
So for the input layer, we have 2 dimention inputs from N data points (Nx2): $$X = \begin{bmatrix} x_{11} & x_{12} \\ \vdots & \vdots \\ x_{N1} & x_{N2} \end{bmatrix}$$ And for output, we have 2 class (Nx2): $$T = \begin{bmatrix} t_{11} & t_{12}\\ \vdots & \vdots \\ t_{N1} & t_{N2} \end{bmatrix}$$
Where $t_{ij}=1$ if and only if the $i$-th input sample belongs to class $j$. So blue points are labelled T = [0 1] and red points are labelled T = [1 0].
Note in the model we added a bias term $b$ to $X$ that has value +1 for all rows.
The hidden layer has two set of parameters, $W_h$ (2x3) and bias term $b_h$ (1x3):
$$\begin{align} W_h = \begin{bmatrix} w_{h11} & w_{h12} & w_{h13} \\ w_{h21} & w_{h22} & w_{h23} \end{bmatrix} && \mathbf{b}_h = \begin{bmatrix} b_{h1} & b_{h2} & b_{h3} \end{bmatrix} \end{align}$$And we use logistic function for activation, hence $H$ (Nx3):
$$H = \sigma(z_h) =\sigma(X \cdot W_h + \mathbf{b}_h) = \frac{1}{1+e^{-(X \cdot W_h + \mathbf{b}_h)}} = \begin{bmatrix} h_{11} & h_{12} & h_{13} \\ \vdots & \vdots & \vdots \\ h_{N1} & h_{N2} & h_{N3} \end{bmatrix}$$we will use the derivative of Logistic function in backward propagation. So writing down here in advance.
(1) $$\frac{\partial h_i}{\partial z_{hi}} = \frac{\partial \sigma(z_{hi})}{\partial z_{hi}} = \frac{\partial \frac{1}{1+e^{-z_{hi}}}}{\partial z_{hi}} = \frac{-1}{(1+e^{-z_{hi}})^2} *e^{-z_{hi}}*-1 = \frac{1}{1+e^{-z_{hi}}} \frac{e^{-z_{hi}}}{1+e^{-z_{hi}}} = \sigma(z_{hi}) * (1- \sigma(z_{hi})) = h_i (1-h_i)$$
The output layer has two set of parameters, $W_o $ (3x2) and bias term $b_o$ (2x1):
$$\begin{align} W_o = \begin{bmatrix} w_{o11} & w_{o12} \\ w_{o21} & w_{o22} \\ w_{o31} & w_{o32} \end{bmatrix} && \mathbf{b}_o = \begin{bmatrix} b_{o1} & b_{o2} \end{bmatrix} \end{align}$$And we use softmax function
for activation, hence $Y$ (Nx2):
with $\varsigma$ the softmax function. In our example data, $C=2$ as we have 2 class red and blue.
we will use the derivative of Softmax function in backward propagation. So writing down here in advance.
For $\Sigma_C = \sum_{d=1}^C e^{z_d} \, \text{for} \; c = 1 \cdots C$ so that $y_c = e^{z_c} / \Sigma_C$, ${\partial y_i}/{\partial z_j}$ of the output $y$ of the softmax function with respect to its input $z$ can be calculated as:
(2) $$ \begin{split} \text{if} \; i = j :& \frac{\partial y_i}{\partial z_i} = \frac{\partial \frac{e^{z_i}}{\Sigma_C}}{\partial z_i} = \frac{e^{z_i}\Sigma_C - e^{z_i}e^{z_i}}{\Sigma_C^2} = \frac{e^{z_i}}{\Sigma_C}\frac{\Sigma_C - e^{z_i}}{\Sigma_C} = \frac{e^{z_i}}{\Sigma_C}(1-\frac{e^{z_i}}{\Sigma_C}) = y_i (1 - y_i)\\ \text{if} \; i \neq j :& \frac{\partial y_i}{\partial z_j} = \frac{\partial \frac{e^{z_i}}{\Sigma_C}}{\partial z_j} = \frac{0 - e^{z_i}e^{z_j}}{\Sigma_C^2} = -\frac{e^{z_i}}{\Sigma_C} \frac{e^{z_j}}{\Sigma_C} = -y_i y_j \end{split} $$
We can at first code the functions for forward step.
# Define the logistic function. - for hidden layer activation.
def logistic(z):
return 1 / (1 + np.exp(-z))
# Define the softmax function
def softmax(z):
return np.exp(z) / np.sum(np.exp(z), axis=1, keepdims=True)
# Function to compute the hidden activations
def hidden_activations(X, Wh, bh):
return logistic(X.dot(Wh) + bh)
# Define output layer feedforward
def output_activations(H, Wo, bo):
return softmax(H.dot(Wo) + bo)
# Define the neural network function
def nn(X, Wh, bh, Wo, bo):
return output_activations(hidden_activations(X, Wh, bh), Wo, bo)
# Define the neural network prediction function that only returns
# 1 or 0 depending on the predicted class
def nn_predict(X, Wh, bh, Wo, bo):
return np.around(nn(X, Wh, bh, Wo, bo))
The parameter set $w$ can be optimized by maximizing the likelihood
:
The likelihood can be described as join distribution of $t\;and\;z\;$given $\theta$:
$$P(\mathbf{t},\mathbf{z}|\theta) = P(\mathbf{t}|\mathbf{z},\theta)P(\mathbf{z}|\theta)$$We don't care the probability of $\mathbf{z}$ so
$$\mathcal{L}(\theta|\mathbf{t},\mathbf{z}) = P(\mathbf{t}|\mathbf{z},\theta)$$It can be written as $P(\mathbf{t}|\mathbf{z})$ for fixed $\theta$. Since each $t_i$ is dependent on the full $\mathbf{z}$, and only 1 class can be activated in the tt we can write:
$$P(\mathbf{t}|\mathbf{z}) = \prod_{i=c}^{C} P(t_c|\mathbf{z})^{t_c} = \prod_{i=c}^{C} \varsigma(\mathbf{z})_c^{t_c} = \prod_{i=c}^{C} y_c^{t_c}$$Instead of maximizing this likelihood, it can also be done by minimizing the negative log-likelihood
:
The cross-entropy error function $\xi$ for multiple class of sample size $n$ can be defined as:
$$\xi(T,Y) = \sum_{i=1}^n \xi(\mathbf{t}_i,\mathbf{y}_i) = - \sum_{i=1}^n \sum_{i=c}^{C} t_{ic} \cdot log( y_{ic})$$Note $Y$ will be activated by softmax
in output layer as we defined above.
The derivative ${\partial \xi}/{\partial z_i}$ of the cost function with respect to the softmax input $z_i$ can be calculated as (Note below use (2) the derivative of softmax function):
(3) $$ \begin{split} \frac{\partial \xi}{\partial z_i} & = - \sum_{j=1}^C \frac{\partial t_j log(y_j)}{\partial z_i}{} = - \sum_{j=1}^C t_j \frac{\partial log(y_j)}{\partial z_i} = - \sum_{j=1}^C t_j \frac{1}{y_j} \frac{\partial y_j}{\partial z_i} \\ & = - \frac{t_i}{y_i} \frac{\partial y_i}{\partial z_i} - \sum_{j \neq i}^C \frac{t_j}{y_j} \frac{\partial y_j}{\partial z_i} = - \frac{t_i}{y_i} y_i (1-y_i) - \sum_{j \neq i}^C \frac{t_j}{y_j} (-y_j y_i) \\ & = - t_i + t_i y_i + \sum_{j \neq i}^C t_j y_i = - t_i + \sum_{j = 1}^C t_j y_i = -t_i + y_i \sum_{j = 1}^C t_j \\ & = y_i - t_i \end{split} $$
During the backward step, what's important is to get the error gradient in each layer.
The error gradient $\delta_{o}$ of this cost function at the softmax output layer is simply (from (3)):
$$\delta_{o} = \frac{\partial \xi}{\partial Z_o} = Y - T$$As $Z_o = H \cdot W_o + \mathbf{b}_o$, so the output grandient over all $N$ samples is computed :
$$\frac{\partial \xi}{\partial \mathbf{w}_{oj}} = \frac{\partial Z_{o}}{\partial \mathbf{w}_{oj}} \frac{\partial Y}{\partial Z_{o}} \frac{\partial \xi}{\partial Y} = \frac{\partial Z_{o}}{\partial w_{oji}} \frac{\partial \xi}{\partial Z_o} = \sum_{i=1}^N h_{ij} (\mathbf{y}_i - \mathbf{t}_i) = \sum_{i=1}^N h_{ij} \delta_{oi}$$In matrix form:
$$\frac{\partial \xi}{\partial W_o} = H^T \cdot (Y-T) = H^T \cdot \delta_{o}$$For bias term $b_o$:
$$\frac{\partial \xi}{\partial \mathbf{b}_{o}} = \frac{\partial Z_{o}}{\partial \mathbf{b}_{o}} \frac{\partial Y}{\partial Z_{o}} \frac{\partial \xi}{\partial Y} = \sum_{i=1}^N 1 * (\mathbf{y}_i - \mathbf{t}_i) = \sum_{i=1}^N \delta_{oi}$$The error gradient $\delta_{h}$ of this cost function at the hidden layer can be defined as:
$$\delta_{h} = \frac{\partial \xi}{\partial Z_h} = \frac{\partial H}{\partial Z_h} \frac{\partial \xi}{\partial H} = \frac{\partial H}{\partial Z_h} \frac{\partial Z_o}{\partial H} \frac{\partial \xi}{\partial Z_o}$$As $Z_h = X \cdot W_h + \mathbf{b}_h$, $\delta_{h}$ will also result in a $N×3$ matrix. We use (1) and (2) to get result below.
Note the gradients that backpropagate from the previous layer via the weighted connections are summed for each $h_{ij}$
In matrix form with notation $\circ$ for elementwise product
:
The hidden layer gradient then can be defined as:
$$\frac{\partial \xi}{\partial \mathbf{w}_{hj}} = \frac{\partial Z_{h}}{\partial \mathbf{w}_{hj}} \frac{\partial H}{\partial Z_{h}} \frac{\partial \xi}{\partial H} = \frac{\partial Z_{h}}{\partial \mathbf{w}_{hj}} \frac{\partial \xi}{\partial Z_h} = \sum_{i=1}^N x_{ij} \delta_{hi}$$For bias term $b_h$:
$$\frac{\partial \xi}{\partial \mathbf{b}_{h}} = \frac{\partial Z_{h}}{\partial \mathbf{b}_{h}} \frac{\partial H}{\partial Z_{h}} \frac{\partial \xi}{\partial H} = \sum_{j=1}^N \delta_{hj}$$# Define the cost function
def cost(Y, T):
return - np.multiply(T, np.log(Y)).sum()
# Define the error function at the output
def error_output(Y, T):
return Y - T
# Define the gradient function for the weight parameters at the output layer
def gradient_weight_out(H, Eo):
return H.T.dot(Eo)
# Define the gradient function for the bias parameters at the output layer
def gradient_bias_out(Eo):
return np.sum(Eo, axis=0, keepdims=True)
# Define the error function at the hidden layer
def error_hidden(H, Wo, Eo):
# H * (1-H) * (E . Wo^T)
return np.multiply(np.multiply(H,(1 - H)), Eo.dot(Wo.T))
# Define the gradient function for the weight parameters at the hidden layer
def gradient_weight_hidden(X, Eh):
return X.T.dot(Eh)
# Define the gradient function for the bias parameters at the output layer
def gradient_bias_hidden(Eh):
return np.sum(Eh, axis=0, keepdims=True)
Model like this is highly unlikely to have convex cost functions and we might easily get a local minimum with gradient decent. Momentum is created to solve this. It's probably the most popular extension of the backprop algorithm.
Momentum can be defined:
$$\begin{split} V(i+1) & = \lambda V(i) - \mu \frac{\partial \xi}{\partial \theta(i)} \\ \theta(i+1) & = \theta(i) + V(i+1) \end{split} $$Where $V(i)$ is the velocity of the parameters at iteration $i$ and 0< $\lambda$ <1 shows how much the velocity decreases due to 'resistance' and $\mu$ the learning rate.
Note here we are using previous $V(i)$ to update $V(i+1)$. The initial $V(0)$ should be nearly 0 so $V(1)$ is $\lambda$ (say, 0.9)*0 $-\mu \frac{\partial \xi}{\partial \theta(0)}$ (say, -1) = -1 and in iteration=2 the $V(i)$ is the same direction (say, -0.5) then $V(2)$ will become bigger (-0.9 - 0.5 = -1.4) and smaller if opposite direction (say. 0.5 -> -0.9 + 0.5 = -0.4).
Essentially, it's just like we push a ball down a hill. The ball accumulates momentum as it rolls downhill, becoming faster and faster on the way. The same thing happens to our parameter updates: The momentum term increases for dimensions whose gradients point in the same directions and reduces updates for dimensions whose gradients change directions. As a result, we gain faster convergence and reduced oscillation.
We can code backprop with momentum as below.
# Define the update function to update the network parameters over 1 iteration
def backprop_gradients(X, T, Wh, bh, Wo, bo):
# Compute the output of the network
# Compute the activations of the layers
H = hidden_activations(X, Wh, bh)
Y = output_activations(H, Wo, bo)
# Compute the gradients of the output layer
Eo = error_output(Y, T)
JWo = gradient_weight_out(H, Eo)
Jbo = gradient_bias_out(Eo)
# Compute the gradients of the hidden layer
Eh = error_hidden(H, Wo, Eo)
JWh = gradient_weight_hidden(X, Eh)
Jbh = gradient_bias_hidden(Eh)
return [JWh, Jbh, JWo, Jbo]
def update_velocity(X, T, ls_of_params, Vs, momentum_term, learning_rate):
# ls_of_params = [Wh, bh, Wo, bo]
# Js = [JWh, Jbh, JWo, Jbo]
Js = backprop_gradients(X, T, *ls_of_params)
return [momentum_term * V - learning_rate * J for V,J in zip(Vs, Js)]
def update_params(ls_of_params, Vs):
# ls_of_params = [Wh, bh, Wo, bo]
# Vs = [VWh, Vbh, VWo, Vbo]
return [P + V for P,V in zip(ls_of_params, Vs)]
# Run backpropagation
# Initialize weights and biases
init_var = 0.1
# Initialize hidden layer parameters
bh = np.random.randn(1, 3) * init_var
Wh = np.random.randn(2, 3) * init_var
# Initialize output layer parameters
bo = np.random.randn(1, 2) * init_var
Wo = np.random.randn(3, 2) * init_var
# Parameters are already initilized randomly with the gradient checking
# Set the learning rate
learning_rate = 0.02
momentum_term = 0.9
# define the velocities Vs = [VWh, Vbh, VWo, Vbo]
Vs = [np.zeros_like(M) for M in [Wh, bh, Wo, bo]]
# Start the gradient descent updates and plot the iterations
nb_of_iterations = 300 # number of gradient descent updates
lr_update = learning_rate / nb_of_iterations # learning rate update rule
ls_costs = [cost(nn(X, Wh, bh, Wo, bo), T)] # list of cost over the iterations
for i in range(nb_of_iterations):
# Update the velocities and the parameters
Vs = update_velocity(X, T, [Wh, bh, Wo, bo], Vs, momentum_term, learning_rate)
Wh, bh, Wo, bo = update_params([Wh, bh, Wo, bo], Vs)
ls_costs.append(cost(nn(X, Wh, bh, Wo, bo), T))
# Plot the cost over the iterations
plt.plot(ls_costs, 'b-')
plt.xlabel('iteration')
plt.ylabel('$\\xi$', fontsize=15)
plt.title('Decrease of cost over backprop iteration')
plt.grid()
plt.show()
The classifier we just trianed is circled around and between the blue and red class. It's non-linear and hence be able to correctly classify red and blue.
# Plot the resulting decision boundary
# Generate a grid over the input space to plot the color of the
# classification at that grid point
nb_of_xs = 200
xs1 = np.linspace(-2, 2, num=nb_of_xs)
xs2 = np.linspace(-2, 2, num=nb_of_xs)
xx, yy = np.meshgrid(xs1, xs2) # create the grid
# Initialize and fill the classification plane
classification_plane = np.zeros((nb_of_xs, nb_of_xs))
for i in range(nb_of_xs):
for j in range(nb_of_xs):
pred = nn_predict(np.asmatrix([xx[i,j], yy[i,j]]), Wh, bh, Wo, bo)
classification_plane[i,j] = pred[0,0]
# Create a color map to show the classification colors of each grid point
cmap = ListedColormap([
colorConverter.to_rgba('w', alpha=0.30),
colorConverter.to_rgba('g', alpha=0.30)])
# Plot the classification plane with decision boundary and input samples
plt.contourf(xx, yy, classification_plane, cmap=cmap)
# Plot both classes on the x1, x2 plane
plt.plot(x_red[:,0], x_red[:,1], 'ro', label='class red')
plt.plot(x_blue[:,0], x_blue[:,1], 'bo', label='class blue')
plt.grid()
plt.legend(loc=1)
plt.xlabel('$x_1$', fontsize=15)
plt.ylabel('$x_2$', fontsize=15)
plt.axis([-1.5, 1.5, -1.5, 1.5])
plt.title('red vs blue classification boundary')
plt.show()
You can see from the plot below. the 2-dimentions input have been project into 3-dimension space (hidden layer) and become liner separable.
# Plot the projection of the input onto the hidden layer
# Define the projections of the blue and red classes
H_blue = hidden_activations(x_blue, Wh, bh)
H_red = hidden_activations(x_red, Wh, bh)
# Plot the error surface
fig = plt.figure()
ax = Axes3D(fig)
ax.plot(np.ravel(H_blue[:,2]), np.ravel(H_blue[:,1]), np.ravel(H_blue[:,0]), 'bo')
ax.plot(np.ravel(H_red[:,2]), np.ravel(H_red[:,1]), np.ravel(H_red[:,0]), 'ro')
ax.set_xlabel('$h_1$', fontsize=15)
ax.set_ylabel('$h_2$', fontsize=15)
ax.set_zlabel('$h_3$', fontsize=15)
ax.view_init(elev=10, azim=-40)
plt.title('Projection of the input X onto the hidden layer H')
plt.grid()
plt.show()
The sample codes in this note come from peterroelants.github.io where providing more details on neural netwrok and deep learning. It's very informative and highly recommanded. Here is more like my personal memo.


Network-based regularization has achieved success in variable selection for high-dimensional biological data due to its ability to incorporate correlations among genomic features. This package provides procedures of network-based variable selection for generalized linear models. Two recent additions are the robust network regularization for the survival response and the network regularization for continuous response. Functions for other regularization methods will be included in the forthcoming upgraded versions.
| Version: | 0.3.0 |
| Depends: | R (≥ 3.1.0) |
| Imports: | glmnet, stats, Rcpp |
| LinkingTo: | Rcpp, RcppArmadillo |
| Published: | 2018-05-22 |
| Author: | Jie Ren, Luann C. Jung, Yinhao Du, Cen Wu, Yu Jiang, Junhao Liu |
| Maintainer: | Jie Ren <jieren at ksu.edu> |
| BugReports: | https://github.com/jrhub/regnet/issues |
| License: | GPL-2 |
| URL: | https://github.com/jrhub/regnet |
| NeedsCompilation: | yes |
| Materials: | README |
| CRAN checks: | regnet results |
| Reference manual: | regnet.pdf |
| Package source: | regnet_0.3.0.tar.gz |
| Windows binaries: | r-devel: regnet_0.3.0.zip, r-release: regnet_0.3.0.zip, r-oldrel: regnet_0.3.0.zip |
| OS X binaries: | r-release: regnet_0.3.0.tgz, r-oldrel: regnet_0.3.0.tgz |
| Old sources: | regnet archive |
Please use the canonical form https://CRAN.R-project.org/package=regnet to link to this page.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/isomorphism.html ---
Can anyone tell me what should I do to prove a basis v1,v2,...,vn of a fdvs V/k is just an isomorphism k^n -> V in lean? Should I show the homomorphism firstly and then show the homomorphism is bijective?
I would think so
Yes, that is best... it will make your life easier when you prove injectivity.
Can anyone tell me what should I do to prove a basis v1,v2,...,vn of a fdvs V/k is just an isomorphism k^n -> V in lean? Should I show the homomorphism firstly and then show the homomorphism is bijective?
An ordered basis of a fdvs is just an isomorphism. Note that the inbuilt basis stuff in Lean is not ordered, so you need the notion of an ordered basis, which I think you have.
What you should then maybe do is: (1) for a fixed vector space V and natural number n, define a type of "bases for V of size n" and define a type of "isomorphisms k^n -> V". Then write down maps in both directions and prove that the composites are the identity in both directions. Keji was doing something similar the other day (but not the same -- he was looking at matrices = linear maps, you're doing something else).
I think first I would prove that for V and n, there's a bijection between k-linear maps k^n -> V and lists of elements of V of length n.
I have some minor hold-ups at home but I hope to be at work for 11:30 -- are you in today Blair? We could talk more then.
@Kevin Buzzard I am in mlc now. I think we can talk later
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


About Us
Welcome to
KADOKAWA GEMPAK STARZ
We are the foremost comic publishing company in Malaysia. Learn about who we are, what we have done, our mission, and our vision in the world of publishing and beyond!
Creating original content that not only encourages and uplifts people but informs and entertains them is at the heart of what we do and is a task we take very seriously.
AIR TEAM
AIR TEAM’s promise is to give their readers the best comics!
BLACK INK
The goal of the BLACK INK team is to rouse hope and courage in their readers via the simple, basic medium of black ink used by their pens and brushes.
CANDY FACTORY
Their focus is to provide their readers with a different and delightful visual experience.
SOLAR TEAM
Harnessing the power and energy of the Sun itself, ‘Solar’ combines next-gen sophistication with a symbol of permanence, ensuring that readers will not forget the bright new creative force rising in the industry.
DREAMERZ
Dreamerz coalesced out of the duo’s shared belief that enthusiasm is key in sustaining the pursuit of one’s dreams.
Gallery
Event
KUALA LUMPUR INTERNATIONAL BOOK FAIR 2019
29/3-7/4/2019
STAR SUPA
13/7-14/72019
TAGCC 2019
22/6-23/6/2019
Copyright 2020,KADOKAWA GEMPAKSTARZ.All rights reserved


|
|
{{warehouse.code}} | {{warehouse.desc}} | {{warehouse.category}} | {{warehouse.status| status}} |
| Select | Store/Location ID | Store/Location Description | Category | Status |
|---|
|
|
{{warehouse.code}} | {{warehouse.desc}} | {{warehouse.category}} | {{warehouse.status| status}} |


Set
S et is a collection which is unordered and unindexed. No duplicate members are allowed
# -------------------------------------------------------------------------------------------------
# SET
# -------------------------------------------------------------------------------------------------
groceries = {'cereal', 'milk', 'starcrunch', 'beer', # set are list that can't
'duct tape', 'lotion', 'beer'} # containe any duplicate ...
print(groceries) # beer will be print only once
if 'milk' in groceries: # you can easily check if an
print('You already have milk hoss!\n') # element is inside the set (1)
else: # ...
print('You need milk!\n') # ...
# -------------------------------------------------------------------------------------------------
# WORKING with SET
# -------------------------------------------------------------------------------------------------
groceries.update(['cheese', 'watermelon']) # add element to set
print(groceries) # ...
groceries.remove('cereal') # remove element to set
print(groceries) # ...
# uncomment to see the errors
# print(groceries[0]) # set doesn't support indexing
# print(groceries[1:4]) # set doesn't support slicing
# print(groceries * 2) # set doesn't support repetition
frozen = frozenset(groceries) # create a frozen set
# print(frozen.update(['ice'])) # uncomment to see the error
# print(frozen.remove['milk'])) # ...


--- layout: page title: About header-img: "img/about-bg.png" ---
Crystal Prusek, 25 years old, Chicago


Whether you are a building manager planning efficient space usage or an architect looking to design state-of-the-art buildings, we have broken down the steps to get you to your desired end goal. IoT planning should start with the business needs, of course, and quickly moves from the component layer all the way up to the application layer. We need to figure out what core data should be gathered and ways to effectively leverage that data. These IoT solutions require an end-to-end or device-to-cloud view.
A Phased implementation approach works best.
We have found that the most successful IoT projects follow a phased implementation approach: Design Phase, Proof of Concept, Pilot, and Deployment. The design phase asks questions such as which sensors, who will be installing and maintaining the sensors. For Proof of Concept, a lab evaluation should include hooking up 5-8 sensors all the way through a gateway to data collection in the cloud. This will give enough real data to verify that the queries and the analytics are feasible. The Pilot Phase ensures that the sensors work at scale and that the gateway configuration has been made easy for the deployment specialists. A pilot phase should be about 40 sensors depending on the density of the sensors. At this point, you can scale up to the number of sensors and the bandwidth required for full deployment.
OpenSensors’ Deployments
We have built hardware, installation and network provider partnerships and relationships to help customers get rollouts live efficiently. Either roll out your own network or we will put you in touch with your local sensor installation specialist to take care of the install and maintenance. We are working with customers and the community to understand what is required at each level for your IoT solution and can ease development and integration issues.


Week 3 Routine Business Messages E-mails & Memos
The single biggest problem in communication is the illusion that it has taken place.
George Bernard Shaw
Introduction
As you recall, a writer adapts the messages to the needs of the audience by organizing the information in a particular sequence and through maintaining an even, conversational tone of good will. In week two, you learned about tone. This week you will learn about patterns of organization. You will also learn about routine emails and memos.
Learning Objectives
At the end of this lesson, you will be able to:
- distinguish between the indirect and direct patterns of organization,
- identify the elements of an email and memo.
Readings & Notes
Be sure to read the text book and weekly notes before doing this week's activity.
- Chapter 3 of your text book.
- The Direct & Indirect Pattern of Organization
- Example Memorandum
- Checklist for preparing a direct message (memo or email)


{{#section 'head'}} {{/section}}
{{member.firstName}} has {{member.stats.numOfWords}} words
in {{member.stats.numOfMessages}} messages
since the beginning of the chat.
That averages to about {{member.stats.wordsPerMessage}} words per message.
{{#if_has_gender member}} {{#if_is_male member}} He is {{else}} She is {{/if_is_male}} {{else}} They are {{/if_has_gender}} most active between {{member.stats.mostActiveHours.[0]}}:00 and {{member.stats.mostActiveHours.[1]}}:00.


Footjoint marking, a unique footjoint alignment mark facilitates proper fitting by young players
Nickel-silver, power-forged keys, Very durable and less susceptible to breakage. Closed-hole (Plateau) keys facilitate ease of playability for beginners
Specifically designed for a clean attack, sensitive response, and accurate intonation
The world-renowned flute makers who handcraft Altus flutes have created Azumi Flutes to satisfy the needs of the ever-improving flutist.
While Azumi flutes are remarkably affordable, quality is never compromised. Azumi flutes feature premium .958 Britannia silver body construction with the high-precision Altus-Bennet scale.
The most distinct feature of all Azumi flutes is the Altus Z-Cut Professional Headjoint - the same headjoint design used on Altus flutes. Azumi players enjoy the same quick response, full projection and dramatic tone as professional players.
This outstanding new flute offers you the Quality and Sound Value you expect from Ravel, combined with the Tradition and Expertise from the industry-leading manufacturer of the World's Best-Selling Flute, Gemeinhardt of Elkhart, Indiana.
Meticulous Quality Control includes two tiers of professional Magnehelic Testing, an objective measure to ensure that all pads seal well against the tone holes, and re-adjusting to perfection as needed. This guarantees excellent and reliable playability for any musician.
Gemeinhardt 3SB NG1 Solid Silver Flute with Low B Foot and Inline G Looking for the perfect step-up flute with a beautiful sound, great intonation, and that is also affordable.
Features New French open-hole key construction for ease of finger placement.
Brannen Brothers Handmade Flute - The Brögger Flute, platinum hand-cut Brannen-Cooper headjoint with 14K gold lip plate and riser, Platinum body with silver or 14K gold mechanism, Brögger Mekanik™, soldered silver or 14K tone holes, silver or 14K barrel, rings, ribs, and posts. French (open hole) model, pointed key arms, white gold springs.
The Epoch Cut (formerly the 700) is the most projecting, responsive style ever, the Epoch is less resistance than the other Brannen-Cooper Headjoint styles.
Flexible yet stable, the Modified Cooper Cut produces a rich, full sound with slightly more resistance than the Modern Cooper.


Please wait...
Vehicle Setting
info_outline
GLOBAL
add
ADD
edit
EDIT
search
Advance Search Options
0 Filters
Min Capacity
input
Between 1 to 10
Max Capacity
input
Between 1 to 10
Min Filled
input
Between 1 to 10
Max Filled
input
Between 1 to 10
Min Speed
input
Between 1 to 10
Max Speed
input
Between 1 to 10
Min Position
input
Between 2 to 95
Max Position
input
Between 2 to 95
Min Line
input
Between 1 to 2
Max Line
input
Between 1 to 2
Directions
input
Right to Left
Left to Right
Choose as Many
Colors
input
Amber
Black
Blue
Green
Grey
Red
Choose as Many
Clear Fields
Search Vehicle
Identity
Details
Actions
Vehicle Name
input
An arbitary string
Vehicle Plaque
input
An arbitary string
Capacity
input
Between 1 to 10
Filled
input
Between 1 to 10
Speed (Step/Sec)
input
Between 1 to 10
Speed Type
input
Constant
Variable
Choose one
Line Number
input
Between 1 to 2
Position
input
Between 2 to 95
Direction
input
Right to Left
Left to Right
Choose one
Color
input
Amber
Black
Blue
Green
Grey
Red
Choose one
Clear Fields
Add Vehicle
Vehicle Id
input
Choose one
Vehicle Name
input
An arbitary string
Capacity
input
Between 1 to 10
Filled
input
Between 1 to 10
Speed (Step/Sec)
input
Between 1 to 10
Speed Type
input
Constant
Variable
Choose one
Line Number
input
Between 1 to 2
Position
input
Between 2 to 95
Direction
input
Right to Left
Left to Right
Choose one
Color
input
Amber
Black
Blue
Green
Grey
Red
Choose one
Clear Fields
Save
Delete