Friday, June 19, 2009

Notes from God Is Not Silent by Misty Edwards

IHOP Encountering God Service on June 12, 2009

Misty Edwards

Purchase the MP3

Psalm 19

God speaks through creation

  • it makes us ask questions

when God spoke to people they wrote it down

the Bible is God's heart revealed

Misty learned how to meditate on the word of God by fellowshipping with the Holy Spirit.
Book: Experiencing the Depths of Jesus by Madame Guyon
(Note: the original version was called A Short and Very Easy Method of Prayer and can be found for free)

Misty would sit down with her Bible and just read, talk to the Holy Spirit

  • she imagined the Holy Spirit was there as her teacher and ask Him questions
  • turned it into a dialogue
  • took each phrase, meditate on it, speak it to God, let God speak it to her

the Bible is the primary way to transformation

  • it is the only way our heart will be transformed

talk to Jesus through the language of the Word (Bible)

  • am I dialoging with the Lord through the Word (year after year)?

even when the Word is boring, it's still more exciting than the alternatives (how exciting is watching TV, really?)

she started to be transformed and changed
time with the Word of God with Jesus works

  • it takes time (years)

Psalm 19:7-11
the law of the Lord converts (restores) the soul

  • you come most alive because of the word
  • it makes us wise
  • it brings joy to the heart
  • it brings clarity
  • it's our lifeline
  • it sets us free

God expresses Himself:

  • in creation
  • in the Word
  • through us

One of the primary ways we will express God is through our tongue and lips

  • if David didn't have the meditation of the word he wouldn't have had the word on his lips

the word is like a chisel on our heart fashioning
His word is a light

  • it reveals stuff inside us (our heart is deceitful)
  • we have seeds of sin in our heart
our heart is the arena
  • God's word is His love letter
  • He's waiting for us to respond
  • like someone in love sharing their feelings and waiting for a response
all of life comes down to our heart response
all of life comes down to love
God is love
  • we were made in that image
  • we were made to give love, to receive love, to give love, to receive love
  • that exchange happens behind the face, at our heart level
God's asking are you going to respond? are you going to come into agreement?
you will become most fully alive when you express love
  • humility, meekness
  • love gives everything
  • you're gonna take up cross, deny yourself, deny your flesh, run after Me, forget your father's house, come away with Me
  • it's the voice of the Bridegroom
love is totally abandoned

David
v. 10 your word is to be desired more than gold
I want your word more than anything in life

v. 12 cleanse me from secret faults

  • that we don't even know about
  • healthy evaluation of our hearts

the arena, the war on the inside, this arena is where the word of God is most effectively worked out in our lives

  • we become the very embodiment, the very expression of God as we are transformed into his image by the power of His word
  • as we are transformed we become a testimony of who He is, become fully alive, fully who we are

v. 13 cleanse me from presumptuous sins

God values the words of our mouth

  • he is the Word
  • it's the greatest form of expression
  • complaining is a big issue in the body of Christ
  • it's one of the worst sins that shuts down our heart and the flow of the word
  • gossip is hurtful, coarse jesting is a waste
  • when we can learn to tame our tongue we can tame every part of us

v. 14 May the words of my mouth and the meditation of my heart be pleasing to You

  • what do we think about most?
  • desire to think about God all the time
  • it happens through the word of God

our brain is always thinking

  • when we fill our mind with the word of God we'll be transformed

“if you want to enter into the depths of My heart”

  • “I am not silent”
  • get worthless things away from your eyes
  • remove wax from ears
  • come to God through the power of God
  • "I am not silent. You are not listening, but I am not silent."
  • "I want to speak to you, to interact with you, to transform you, to make you fully fully alive, I want to excite you, to exhilarate you, to give you something to live for, something to die for, to give you faith, to help your unbelief, to show you that I'm real, I exist, ..."

"will you press your ear to My heart called the Word?"

  • the Word, the very transcript of My soul
  • actually read it, talk to Me, come to Me, talk to Me
  • you don't understand it? it's boring? ask Me to help you and keep on asking Me to help you
  • cry out for the knowledge of God and you will get the knowledge of God
  • ask Him, "I want to know You"

the Bible was boring for Misty

  • but God asked her to give her time
  • get the Word of God
  • put it on the schedule

"If you really want to know Me: it's the glory of God to hide a matter, the hungry (those with a kingly, noble heart) search it out."

  • the word is for you (it’s for everyone, not just preachers - it was written for peasants)

the Word is God's heart laid open ready for you if you want it

  • it's simple but so few do it
  • it's the first thing to be cut from the schedule
  • but it's the number one thing that sustains our life

from Madam Guyon's book:
take the word

  • don't just read a verse and move on
  • pray-read the word
  • turn it into dialog
  • if we don't come to Him, our heart's not gonna come as alive
  • focus on the Holy Spirit inside of us (He's the teacher, He knows Jesus, He knows the Word) or focus on the throne
  • personalize it, ask God for help
  • pray or sing in the Spirit
  • say it or sing it
  • journal it
  • put it in my own words
  • digest it
  • it will transform our life

Jesus talked about the word all the time
John 14:21 He who has My commandments and keeps them is he who loves Me, and he who loves Me will be loved by My Father and I will love him and manifest Myself to him.

  • it's not by casually or occasionally seeking God
  • to keep His commandments is to hold them in our heart and walk them out
  • then He will manifest Himself to us

it's so easy to get out of the habit of being in God's word

  • we need to do it every day
  • it's not a one-time badge

"I want you to come after Me"
"Will you sign up again?"

  • repent (once) for failing to be a man of the word
  • talk to the Lord
  • ask God to forgive us for accusing Him of being far away, for being hard to find, for being silent
  • ask Him to forgive us for our lack in the word
  • set our heart to be a man or woman of the word, not to take it for granted

His mercies are new every morning

  • you will come alive in His word
  • it's not a chain around your neck
  • you were made for a deep intimacy with the uncreated God
  • it's not too mysterious, it's not too far away, it's not too hard

the Lord says "My mercies are new every morning"

  • you can know Me, you can love Me
  • I knew what I was getting into when I called you
  • I am not shocked by your lack or your failure

Monday, May 18, 2009

Introducing ASPUnitRunner

Have code in classic ASP? Want to write unit tests for it? Want to make it easy to run those tests?

Here’s my solution: ASPUnitRunner. It’s a .NET library that enables running ASPUnit tests via NUnit.

The Story

(If you don’t care about the “why”, skip this section.) I’ve been trying to get more into automated testing and TDD. But most of our code is written in classic ASP. I started writing some tests using the ASPUnit unit-testing framework for classic ASP. It does it’s job, but I found there was a little friction running the tests. You have to open a web browser, navigate to the right location and click Run Tests. And, continuous integration frameworks don’t exactly have out-of-the-box support for ASPUnit.

There are multiple options available: create an application shortcut for Google Chrome, write a script that uses cURL or wget, or setup Selenium or Watir tests like @calvinb. Any of these may work for you, but none of them were quite what I wanted.

I also found a refreshingly new series of posts on unit-testing classic ASP by Justin Davies. (You should really check them out if you’re interested in unit-testing classic ASP.) I had had the idea in my head to automate ASPUnit tests with NUnit, but he had already done it (albeit with his own unit testing framework). His articles inspired me and gave me some ideas, but it wasn’t until now that I actually wrote my own.

So I wrote my own library to allow running tests for the existing ASPUnit framework from the popular and easy-to-use NUnit test runner.

An Overview

ASPUnitRunner consists of two main classes: Runner and Results.

Runner’s constructor takes a URI to your ASPUnit test runner and an optional credentials parameter. You then call the Run method with the name of the ASPUnit test container to execute, which returns a Results object.

The Results object has the following properties: Tests, Errors, Failures and Details. You can use NUnit assertions to verify that there are zero errors and zero failures and display details if there were any errors or failures.

The source is available at github. If you come up with any improvements, let me know and I may integrate them.

How to Use

Note: the following instructions assume you have existing, runnable ASPUnit tests and are familiar with Visual Studio and NUnit.

  1. Verify that you are able to run your existing ASPUnit tests from a web browser.
  2. Create a new NUnit test project in Visual Studio.
  3. Download the latest ASPUnitRunner binaries and extract them.
  4. Add a new reference from your Visual Studio project to point to the DLL you just extracted in the last step.
  5. Create an NUnit test fixture similar to this example (note that it makes use of the Values attribute new to NUnit 2.5).
    • Add a using AspUnitFramework statement
    • Initialize a new Runner object with the URI for your ASPUnit test runner and optional credentials
    • Run the tests for each desired ASPUnit test container
    • Assert that the results has no Errors and no Failures.
  6. Compile
  7. Run the new tests using your favorite NUnit test runner (or integrate them into your NUnit-compatible continuous integration server).

Limitations

Unfortunately the NUnit GUI does not format the HTML result details well. I would like to improve this in the future.

I make no guarantees that this library won’t open a black hole and suck up your computer and the rest of the universe, nor that it won’t cause any other type of damage or loss.

Unlimitations

ASPUnitRunner is not actually dependent on NUnit. It should be usable from any .NET test framework.

In Conclusion

Other than some scripts and snippets, this is my first publicly released project of my own. Sure, it’s really small and simple—but it’s something.

Thanks to the creators of ASPUnit and NUnit for creating helpful tools and Justin Davies for the inspiring example.

I would love to hear any suggestions or feedback you have. Let me know if you find this useful. If you have questions getting it to work I’ll try to help as I can, but no guarantees.

Sunday, May 10, 2009

Thoughts on development and life

I tend to be a perfectionist. I can easily get into analysis paralysis trying to figure out the ideal approach to a problem.

The idea of TDD appeals to me because it is supposed to enable rapid progress while proving the code does what it’s supposed to. You keep it simple and quick by doing the simplest thing to get it to pass the test. Once it passes the test you get to refactor to clean up the code and you know it still works if it passes all the tests. Then you write the next test.

Sounds lovely. Wish I was there. I’m not, but I’m trying to head that direction.

I’ve found that writing tests can be hard. Particularly dealing with GUIs, database access, legacy code and deadlines.

Most of our codebase is in classic ASP with few tests. I’ve written a few tests using ASPUnit, but running tests from a web browser isn’t my favorite. So I just wrote a .NET library that enables running ASPUnit tests from NUnit. (I’ll share details of that in a future post.)

I feel like I’ve learned so much over the past year. I also feel like there is so much more I still need to learn and so much room for improvement. I actually get pretty frustrated by my slow progress at times and how much I still have to learn.

I had a season where I spent a lot of time reading technical books and articles and programming and I’ve been attending user group meetings, but I let other areas of my life suffer. Then God readjusted my focus. As much as I love programming, it is not my source of joy. Jesus is.

So I’ve been adjusting my priorities and trying to put God first. But I still program at work. And I want to grow as a developer and become excellent in my craft. So now I’m trying to find the balance, where I keep God first and don’t neglect important things like sleep and friendships while still growing as a developer.

Anyways, those are my thoughts. It may or may not make sense to you, but if you have any feedback feel free to leave a comment. I think I’m gonna go hike for a bit now.

Tuesday, May 05, 2009

Navigating the Maze

I’ve been meaning to write this article for a while. Here’s the reason behind my blog’s title.

maze A maze

When I was a kid someone built a human labyrinth in my hometown. It was called The WOOZ (photo). While it got old after a few visits, I do have some fond memories of finding my way around the maze trying to get stamps from each of the four towers and reach the finish line in time to do the bonus challenge.

My life feels like a maze a lot of times. A much bigger, more complicated and more mysterious maze than the WOOZ ever was. But a maze nonetheless. And I’m in it. And I spend my life going through it.

I’ve even received a couple prophecies that refer to my life feeling like a maze or like finding my way along a narrow path.

Sometimes I try to figure this maze out on my own and I’ve wasted time getting really lost.

But it’s not a maze I can successfully navigate on my own. I can’t see very far and I don’t know where to turn. But I’m learning to wait on God and let Him lead me. Because He does know the way through this maze.

Sometimes, I get a glimpse of what’s ahead, like a tower in the WOOZ. But who knows if the next turn will lead to the tower entrance or if I will have to go through several more twists and turns to get to it. Some destinations I will never get to and others seem to come out of nowhere. That is a maze. That is life.

For example, working with computers was something I saw from far off. But going to UC Berkeley and moving to Nashville were two things that happened with little forewarning. There are other things I thought would’ve happened by now, but I’m still waiting.

There have been some tough roads. But there have also been some really amazing moments. Learning to trust God has rarely been easy. But to know that Jesus is walking with me, that He is leading me and realizing more and more how much He loves me makes this journey worth it.

Your word is a lamp to guide my feet and a light for my path. – Psalm 119:105

Monday, December 29, 2008

Resampling images using PowerShell and GraphicsMagick

I needed to resample several images which were scanned at a higher a resolution than expected, so here's a PowerShell script that I created to resample them to a lower resolution using GraphicsMagick. It's probably not the most elegant, but it seems to work for my requirement. Here it is:

$gm = "C:\Program Files\GraphicsMagick-1.3.3-Q8\gm.exe"
$maxResolution = 100
$defaultResolution = "72x72"

foreach ($file in ls *.jpg) {
echo Processing: $file.Name
$resolutionLine = & $gm identify -verbose $file | Select-String -pattern "Resolution:"
echo $resolutionLine
if ($resolutionLine -match "(\d+)x(\d+)") {
if ([int]$matches[1] -gt $maxResolution -and [int]$matches[2] -gt $maxResolution) {
$file.CopyTo($file.FullName + ".bak")
& $gm convert -resample $defaultResolution -units PixelsPerInch $file $file
echo Resampled: $file.Name
}
}
}


To use, copy the code and save it as a *.ps1 file and run it from the directory you wish to resample images, making any edits as needed. (Note: PowerShell and GraphicsMagick must already be installed.) Use at your own risk, I make no guarantees about this script.

Please leave a comment if you find this script helpful or have any suggestions for improvement.

Thursday, December 04, 2008

Thoughts on error handling in classic ASP

Most of our code base is written in classic ASP and VBScript. And, most of it was written without any sort of error logging. We've been coming to the realization that one of our applications definitely needs some sort of error logging, so I started doing some research.

I've wondered before about adding error logging and friendlier error messages for our other ASP applications, but didn't know of a simple way to do global error handling. But, while researching I found that it's easier than I had imagined.

The trick is to create an ASP page and set it as the default handler for 500;100 errors from IIS. You can use Server.GetLastError() to retrieve information for the last error. You also get to keep context information from the Request and other objects. So, after calling Server.GetLastError(), just log the relevant error and context info, send notification e-mails and display a friendly error message.

Speaking of friendly error messages, I think this error page from Southwest.com is a good example of simplicity and effectiveness:

Southwest.com error page

Thursday, September 11, 2008

Remembering my grandmother


Today would have been my grandma Rose Anne Henry's 88th birthday. She passed away this past spring, however, while sitting on the couch waiting for her friend to pick her up for mass.

She was very generous, often giving more than she could afford. She was committed to her church and had served in the Navy. She loved cats, and she dreamed of moving to California so she could spend her days tanning by the pool. She was full of energy and loved to talk our ears off - but we didn't get to see her much since she lived in Gary, Indiana. I regret not spending more time with her ... but that's not the end of the story.

Before I continue, let me take a slight detour to help explain something. Growing up, my parents took me to church. I believed in God and Jesus. But I didn't know for certain if I died whether I would go to heaven. I think there are many people who go to church their whole lives, believe in God, pray and follow traditions and yet still are not certain where they will spend eternity.

So this spring, when my mom called with the sad news that my grandma had passed away, I had three thoughts: I was saddened by her loss. I regretted not spending more time with her. And I wondered where my grandma truly stood with God. My prayer before I drove up for the service was, "God, please show me somehow if my grandma was saved."

I met my family in Indiana, we attended the memorial and met some of my grandmother's friends who had helped her in so many ways. The next day we went to her house to clean. While we were there, a woman and a young lady came to the door asking for my grandma. My mom shared that she had passed away and the woman said she was sorry to hear and mentioned that they were from the nearby First Baptist Church of Hammond and had been visiting with my grandma for the past few weeks. She went on to share that last Saturday, she had prayed to receive Christ.

My grandma accepted Christ as her Lord and Savior the night before she passed away. The next morning she got dressed to go meet with God, and God brought her home.

God answered my prayer in a very real way and I was very encouraged to hear the good news! God confirmed that my grandma would spend eternity with Him, and one day I will get to spend time with her again.

The woman went on to ask each of us at the door (my mom, uncle and myself) if we were 100% sure we would go to heaven when we died. I was thankful that God had drawn me to accept Him as my Lord and Savior when I was in college. And I am so thankful for the woman of God who had the love and courage to share the gospel with my grandma. Thank you, and thank God.

So happy birthday Grandma, may you rest in joy in God's presence.