Complete victory!

. . . knowing that Christ, having been raised from the dead, dies no more. Death no longer has dominion over Him. For the death that He died, He died to sin once for all; but the life that He lives, He lives to God.

– Romans 6:9-10 (NKJV)

Thanks to Michelle Malkin for reminding me of this passage.

There is much in the surrounding context of these two verses having to do with us, our condition regarding sin, our life in Christ, etc. But I love these verses which focus on Christ’s complete victory, and the line that gets my heart pumping is this: Death no longer has dominion over Him.

Jesus, my Hero. He submitted Himself to death. And, for the joy set before Him, endured the cross and the shame and the torture. He made it through death and out the other side. He became the Dying God. For us!

And Death lost. It no longer has dominion over Him. It cowers, powerless, in the glorious light of the Life of Christ which conquered Death forever.

Of course, we still shrink before the mystery of death this side of Heaven, we still grieve terribly when those we love die. But with our eyes on Jesus we can take courage – He has defeated death, and not just “barely”. He has crushed death and won a victory so complete that it prompted this holy taunt from Paul:

“Death has been swallowed up in victory. Where, O death, is your victory? Where, O death, is your sting?” – (1 Corinthians 15:54-55).

Paul lived at a time when death was common and life was cheap. Yet he knew that the promise spoken through the prophet Hosea hundreds of years earlier had been fulfilled in Christ.

Thanks be to God.

Plans for Bloo v 0.11

I hope to release version 0.11 of Bloo in the next few days. Below are the features that will be added in this release, if I stick to plans:

  • Improvements internally in the object structure
  • Slight improvements in security and some beginnings of comment protection
  • Post archive links
  • A “View Recent Commentary” link
  • Some improvements in the overall formatting
  • Display of the comment author URL when displaying comments
  • Pinging of Weblogs (man! I need this – no one notices me now . . .)

It’s not a major release – really it just contains features I wanted to have ready when I first brought this humble little blog into the light, but that I didn’t get done in time.

Bloo v 0.11 – coming soon. Watch me for the changes . . .

Bloo v 0.1 Release Notes

v 0.1 – released 3/26/2005

I’m a bit behind in doing this, but my plan is to document each release of Bloo in the “Bloo Release Notes” category in this blog. This is for those of you with an “inner-geek”, so the rest of you can ignore this post 🙂

0.1 is the first release of Bloo. So we should start with some philosophical design-goals:

Bloo should be:

  • Object-oriented
  • Massively flexible when it comes to the front-end interface, database interface, etc
  • Fully separated, code-wise, between the front-end interface (web) and the back-end (currently MySql)
  • Built of components, called “SnapOns” and “Overlays”. In Bloo, everything you see is a SnapOn or an Overlay – more on that later
  • Secure from the start
  • Full of the prime features of mature blog software (posting, comments, trackback, rss, spam-control and many more).
  • Other things that I’m certainly forgetting at the moment (I’m a little tired 🙂

Bloo v 0.1 was a long time a-borning. As a developer I tend to look for the “Platonic Ideal” in software – surely there’s always a way to make it better! What you see here represents the third iteration of a basic PHP framework I’ve written for user interfaces (Phoo or “Php Object Oriented”) with an object-oriented blog (Bloo – or “Blog Objects”) on top. I believe I’ve finally got it, because programming the Bloo framework has just flowed. It’s a good feeling. I’ve been experimenting with various ideas for how to do this for about a year – in my spare time, of course. I think I’m finally there.

My reasons for wanting to take this project on?

Well – first off, there is some great software out there for Blogging (B2, WordPress, Moveable Type, pMachine, etc). The problem I’ve had with the software I’ve used is that it hasn’t been object oriented. It’s written as procedural code and the various elements (HTML, SQL, etc) are scattered hither and yon throughout the code. In short – very hard to maintain.

Now, I’m not running these packages down. In functionality they currently blow Bloo away, because what I have released in version 0.1 is just bare-bones functionality: basic (but good) security, ability to post, edit and delete posts, comment, edit and delete comments, etc.

But the beauty of Bloo – to me at least – is that it is built on an object oriented framework that really provides separation between the front and back end. For instance, everything you see before you is what I call an “Overlay” – an Overlay is a template with dynamic elements – this page is an overlay. The left and right sidebars are overlays. The post layout is built from an overlay. Comments – overlays. Everything. Overlays are contained in what I call “SnapOns” – these are little intelligent objects that know how to do something, such as load posts, display comments, edit comments, etc. Overlays themselves can contain SnapOns which can in turn contain more Overlays which . . . OK – I realize this sounds confusing. But in practice it’s been a joy – truly.

For instance – I originally wrote this on top of the B2 table structure. I access that structure through a set of SQL overlays (stored as commands in SnapOns). When I created the Bloo table format it took me – no lie – about 30 minutes to completely convert over the posts and comments to the new structure. I did it on a laptop on the bus ride home. And that included creating the new tables. It was, no pun intended, a snap. It helps that, as a philosophical decision, all overlays are stored in one place, rather than scattered. They are each referred to in the code by their name. Bloo has a Bloo-specific table structure but, without much trouble, new sets of overlays could be created to allow it to ride on top of pretty much any blog’s table structure. Somewhere down the road I am going to create overlay sets for WordPress and B2 at least – giving anyone who wants to the ability to switch to Bloo without having to migrate their data.

I am familiar with and have worked with the concept of the “plugin” – the difference between a plugin and a SnapOn is this: a plugin basically “plugs in” to something already built – in my experience they are not implemented in a standard way and they do not represent the ability to touch all functionality. In Bloo, everything’s a SnapOn. Picture a bunch of legos – you can build something cool out of legos, and it’s all legos. So if you know how to make a new lego you basically can snap it on anywhere. No need to look for those few special “sockets” to plug in to. Again, I’m not here to run down other blog packages – all of which are far more successful than this project will probably ever be. Just here to try something new.

I will give a lot more detail on how SnapOns and Overlays work in later posts. I also plan on taking this software public domain when I hit some major functionality milestones. I’m a few major releases away from that.

Thanks for listening to me babble. I am really enjoying the software these days and I guess my excitement shows through.

Love never fails . . .

Love is patient,

love is kind.

It does not envy,

it does not boast,

it is not proud.

It is not rude,

it is not selfseeking,

it is not easily angered,

it keeps no record of wrongs.

Love does not delight in evil but rejoices with the truth.

It always protects, always trusts, always hopes, always perseveres.

Love never fails.

– I Corinthians 13:4-8 (NIV)

Lately, for some reason, simple truths that I’ve read many times have begun to jump out at me (hence all the “wow, isn’t this cool?!” Bible posts).

I am especially struck by the last two passages above. Love rejoices in the truth. Truth – so important, so vital in an age where truth is mocked, where it is considered intangible and relative.

Love always protects. Yes. Love stands in the gap. It flings itself on top of the grenade. It rushes into battle for its beloved. Love spreads its arms wide to be nailed to a cross.

Always trusts, always hopes. Love is not naive. But love understands that with God anything is possible. Trust and hope are powerful weapons in a cynical and mocking world.

There are those who have no hope because they have never had anyone hope anything for them. “You’ll never amount to anything”. “You’re worthless”. These are the words they have been bathed in all their lives. And yet in Christ we can hope – we possess hope – because we know that He accomplishes in us His good pleasure, and builds us up into a beautiful work of art for His glory, no matter how ugly we may think we are.

We hope because love always perseveres. Love never fails.

Never. Love does not give up. Love will go to Golgotha for its beloved, even when its beloved is the one carrying the whips and the nails.

Amazing.

If I tried to recite all Your wonderful deeds . . .

Oh, the joys of those who trust the LORD,

who have no confidence in the proud, or in those who worship idols.

O LORD my God, you have done many miracles for us.

Your plans for us are too numerous to list.

If I tried to recite all your wonderful deeds,

I would never come to the end of them.

– Psalm 40:3-4 (NLT)

It’s really good tonight to read God’s word!

And it’s good to be in His family. To be identified with God – to trust in Him and take no confidence in the gods of this world. It’s such a privilege. I’m reminded of Psalm 87: “This one was born in Zion.”

I picture the Lord wrapping His arms around His child and saying “this one’s Mine”. Mine – born in Zion. A Kingdom child of the promise.

God’s goodness and mercies toward us really are too numerous to count. Others may choose the gods of this world. I choose (or am chosen by, for reasons I’ll never fathom) the Lord of the Universe.

“For I was born in Zion

Awakened love is crying

Out for You. Oh it must be You!”
David Ruis, “No Other”

Noonan on Terri

The excellent Peggy Noonan has a column on the mindset of those enthusiastic for Terri Shiavo to die.

I do not understand the emotionalism of the pull-the-tube people. What is driving their engagement? Is it because they are compassionate, and their hearts bleed at the thought that Mrs. Schiavo suffers? But throughout this case no one has testified that she is in persistent pain, as those with terminal cancer are.

If they care so much about her pain, why are they unconcerned at the suffering caused her by the denial of food and water? And why do those who argue for Mrs. Schiavo’s death employ language and imagery that is so violent and aggressive? The chairman of the Democratic National Committee calls Republicans “brain dead.” Michael Schiavo, the husband, calls House Majority Leader Tom DeLay “a slithering snake.”

Everyone who has written in defense of Mrs. Schiavo’s right to live has received e-mail blasts full of attacks that appear to have been dictated by the unstable and typed by the unhinged. On Democratic Underground they crowed about having “kicked the sh– out of the fascists.” On Tuesday James Carville’s face was swept with a sneer so convulsive you could see his gums as he damned the Republicans trying to help Mrs. Schiavo. It would have seemed demonic if he weren’t a buffoon.

Why are they so committed to this woman’s death?

I don’t understand it either, although I suspect that most of the pull the tube crowd have been, politically speaking, extremely frustrated of late. Maybe this is just their chance to get a win.

Ms. Noonan asks some great questions:

I do not understand why people who want to save the whales (so do I) find campaigns to save humans so much less arresting. I do not understand their lack of passion. But the save-the-whales people are somehow rarely the stop-abortion-please people.

The PETA people, who say they are committed to ending cruelty to animals, seem disinterested in the fact of late-term abortion, which is a cruel procedure performed on a human.

I do not understand why the don’t-drill-in-Alaska-and-destroy-its-prime-beauty people do not join forces with the don’t-end-a-life-that-holds-within-it-beauty people.

I do not understand why those who want a freeze on all death penalty cases in order to review each of them in light of DNA testing–an act of justice and compassion toward those who have been found guilty of crimes in a court of law–are uninterested in giving every last chance and every last test to a woman whom no one has ever accused of anything.

There are passionate groups of women in America who decry spousal abuse, give beaten wives shelter, insist that a woman is not a husband’s chattel. This is good work. Why are they not taking part in the fight for Terri Schiavo? Again, what explains their lack of passion on this? If Mrs. Schiavo dies, it will be because her husband, and only her husband, insists she wanted to, or would want to, or said she wanted to in a hypothetical conversation long ago. A thin reed on which to base the killing of a human being.

The pull-the-tube people say, “She must hate being brain-damaged.” Well, yes, she must. (This line of argument presumes she is to some degree or in some way thinking or experiencing emotions.) Who wouldn’t feel extreme sadness at being extremely disabled? I’d weep every day, wouldn’t you? But consider your life. Are there not facets of it, or facts of it, that make you feel extremely sad, pained, frustrated, angry? But you’re still glad you’re alive, aren’t you? Me too. No one enjoys a deathbed. Very few want to leave.

Her conclusion:

Once you “know” that–that human life is not so special after all–then everything is possible, and none of it is good. When a society comes to believe that human life is not inherently worth living, it is a slippery slope to the gas chamber. You wind up on a low road that twists past Columbine and leads toward Auschwitz. Today that road runs through Pinellas Park, Fla.

Beautiful . . .

I waited patiently for the LORD;

he turned to me and heard my cry.

He lifted me out of the slimy pit,

out of the mud and mire;

he set my feet on a rock

and gave me a firm place to stand.

He put a new song in my mouth,

a hymn of praise to our God.

Many will see and fear

and put their trust in the LORD

– Psalm 40:1-3 (NIV)

It is amazing to me the hope and healing I can find in God’s word when I’m hurting. Last night Jill and I lay in bed and I read portions of Scripture to her, and then we prayed together and fell asleep. It was a beautiful moment.

Psalm 40 is one of the passages that we read. What a blessing to know that we can wait patiently for the Lord. That He gives us a firm place to stand that cannot be shaken. That He puts the very song in our mouths that we sing back to Him.

And that spiritual blindness can be healed and the fear of the Lord restored. That trust in Him can be restored for the prodigal. That there is always hope.

Waiting patiently . . .

Jen Speaks about Peter

If you’ve never checked out Jen’s blog Lintefiniel Musing you must. She’s one of my favorite blog-friends.

In this post Jen shares her favorite story about her favorite disciple. An excerpt:

I love how it comes back to the men fishing and Jesus coming back to the beach. I love that they caught nothing and that Jesus told them to throw out the nets again, with them not realizing that it was Jesus. I love that he gave them the same miracle as when he called them to discipleship. He completed the circle and I love that. And I love the visual of Jesus hanging on the beach, near the fire, cooking breakfast for his dearest friends. But what I love most is Peter’s response when he does eventually realize that the man on the beach is Jesus. He jumped into the water. Excited, unabashed, joyous – he jumped into the water after putting his cloak back on. I think he got that backwards.

Then comes Jesus’ gentle love and forgiveness as he reinstates Peter with the echo of a past conversation. “Do you love me, Peter?” asked three times – each one of Peter’s answers in the affirmative the balm for each instance of denial on that horrible night. “Feed my lambs, take care of my sheep, feed my lambs,” he was instructed. Then Jesus ended the conversation as he began their friendship, “Follow me.” Peter did as he was instructed – faithfully leading the fledgling Body of believers until his own martyrs death.

Peter is a hero of the faith – when tested he failed and he passed. Just as we all do – we all fail at times when we are tested. And we all pass with flying colors at others. Take solace in the grace extended through Jesus – no one is beyond redemption and that is the hope of Easter.

Thanks, Jen, for the reminder.

My love will know no bounds . . .

1 Return, O Israel, to the LORD your God, for your sins have brought you down. 2 Bring your petitions, and return to the LORD. Say to him, “Forgive all our sins and graciously receive us, so that we may offer you the sacrifice of praise. 3 Assyria cannot save us, nor can our strength in battle. Never again will we call the idols we have made `our gods.’ No, in you alone do the orphans find mercy.”

4 The LORD says, “Then I will heal you of your idolatry and faithlessness, and my love will know no bounds, for my anger will be gone forever! 5 I will be to Israel like a refreshing dew from heaven. It will blossom like the lily; it will send roots deep into the soil like the cedars in Lebanon. 6 Its branches will spread out like those of beautiful olive trees, as fragrant as the cedar forests of Lebanon. 7 My people will return again to the safety of their land. They will flourish like grain and blossom like grapevines. They will be as fragrant as the wines of Lebanon.

8 “O Israel, stay away from idols! I am the one who looks after you and cares for you. I am like a tree that is always green, giving my fruit to you all through the year.”

9 Let those who are wise understand these things. Let those who are discerning listen carefully. The paths of the LORD are true and right, and righteous people live by walking in them. But sinners stumble and fall along the way. – Hosea 14 (NLT)

God’s promises: so refreshing. He really does love us.