<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/&quot;DkQHQnk5fip7ImA9WxNWGE8.&quot;"><id>tag:blogger.com,1999:blog-6848411</id><updated>2009-10-17T19:05:33.726-05:00</updated><title>Navigating the Maze - Mike Henry</title><subtitle type="html">My thoughts on life, tech, God and whatever else might cross my mind.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.mikehenry.name/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/mikehenry" type="application/atom+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">mikehenry</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;A0cMRHo4fSp7ImA9WxJbEUk.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-4497555241474622666</id><published>2009-07-20T23:04:00.001-05:00</published><updated>2009-07-20T23:04:45.435-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-20T23:04:45.435-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="aspnet-mvc" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="tdd" /><title>Some things I’ve been learning lately</title><content type="html">&lt;p&gt;I’m using &lt;a href="http://www.asp.net/mvc/"&gt;ASP.NET MVC&lt;/a&gt; in my current project at work and have been learning a lot in the process. I’ve read a lot of articles and watched some videos. I recently went through the &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/04/28/free-asp-net-mvc-nerddinner-tutorial-now-in-html.aspx"&gt;NerdDinner Tutorial&lt;/a&gt; which was quite helpful and read most of &lt;a href="http://www.amazon.com/Professional-ASP-NET-MVC-Wrox-Programmer/dp/0470384611"&gt;Professional ASP.NET MVC 1.0&lt;/a&gt;. But there’s a lot more to writing a production app than can be learned from reading or even working through a tutorial – so it’s been a slow process, but I feel like I’m learning a lot.&lt;/p&gt;  &lt;p&gt;The past few years I’ve been working mostly in &lt;a href="http://en.wikipedia.org/wiki/Active_Server_Pages"&gt;classic ASP&lt;/a&gt;. I’ve done some &lt;a href="http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29"&gt;C#&lt;/a&gt; on the side and a couple basic &lt;a href="http://en.wikipedia.org/wiki/ASP.NET"&gt;ASP.NET&lt;/a&gt; projects. There are a few reasons I chose to do this project on a new platform. I want to stop developing new features in an outdated platform. I want to make use of some functionality built-in to the .NET Framework. And I want to learn and use some better development practices.&lt;/p&gt;  &lt;p&gt;Actually developing a real project in ASP.NET MVC has been a bit of a leap though. I feel like I’m biting off a big chunk. Here are some of the things I’ve been learning:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I’m trying to be test-driven (well, except for database access, file access and HTML output – but at least they’re isolated so the other parts are easier to test). It seems to be going better than my previous attempts.&lt;/li&gt;    &lt;li&gt;I’ve been learning &lt;a href="http://ayende.com/projects/rhino-mocks.aspx"&gt;Rhino Mocks&lt;/a&gt; for mocking and stubbing.&lt;/li&gt;    &lt;li&gt;I’m using an object-relational mapper (&lt;a href="http://fluentnhibernate.org/"&gt;Fluent NHibernate&lt;/a&gt;) for the first time to hopefully reduce redundant database-access code. There’s still a fair amount of raw SQL, but the surrounding code is simpler. (I didn’t use LINQ to SQL because Visual Web Developer Express doesn’t support connecting to an external SQL server.)&lt;/li&gt;    &lt;li&gt;I just added &lt;a href="http://structuremap.sourceforge.net/"&gt;StructureMap&lt;/a&gt; for dependency injection (DI) so that my classes can be more loosely coupled. I started out with poor man’s DI, but just switched to rich man’s… er, using a container.&lt;/li&gt;    &lt;li&gt;I’m trying to minimize the use of “magic strings” by making use of the strongly-typed HTML helpers in the &lt;a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471"&gt;MVC futures&lt;/a&gt; library. I also found the &lt;code&gt;TestControllerBuilder&lt;/code&gt; from &lt;a href="http://mvccontrib.codeplex.com/"&gt;MVC Contrib&lt;/a&gt; helpful for testing &lt;code&gt;HttpContext&lt;/code&gt;.&lt;/li&gt;    &lt;li&gt;I feel like I’m learning OO better. Living in VBScript for so long didn’t help much. I’m also learning the MVC pattern and framework, ASP.NET, C# 3 and LINQ better. I’m currently working on a custom role provider to take advantage of roles from the existing app.&lt;/li&gt;    &lt;li&gt;On that note, I’ve been realizing how much infrastructure is in the existing app that I took for granted that I will have to port, convert to a web service or use COM interop for.&lt;/li&gt;    &lt;li&gt;I can sort of deploy it to IIS6 but it’s not one step. Still trying to figure out the best solution.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I was a little scared about all the different things I might have to learn for this project, and looking at this list I can see why. I didn’t absolutely have to learn all of this, but I like to do things “right” and I want to grow as a developer. I believe I’m past the hardest new challenges. I’ve got basic usable functionality. There’s still work to do, but hopefully that will progress more quickly.&lt;/p&gt;  &lt;p&gt;There are still several things I would like to learn and do in the future, including:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Finish this project&lt;/li&gt;    &lt;li&gt;Test-driven JavaScript&lt;/li&gt;    &lt;li&gt;Acceptance/integration testing&lt;/li&gt;    &lt;li&gt;Continuous integration&lt;/li&gt;    &lt;li&gt;Scripting database setup and changes&lt;/li&gt;    &lt;li&gt;Switch from Subversion to Git at work&lt;/li&gt;    &lt;li&gt;Do all new development in a more modern platform than classic ASP and eventually convert most or all of the older code&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That’s it for now. If you found any of it interesting then cool beans ;-). Feel free to comment if you’d like.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-4497555241474622666?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/4497555241474622666/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2009/07/some-things-ive-been-learning-lately.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/4497555241474622666?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/4497555241474622666?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2009/07/some-things-ive-been-learning-lately.html" title="Some things I’ve been learning lately" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;C0QHQnY9eip7ImA9WxJWFE8.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-8130023644942675584</id><published>2009-06-19T09:21:00.000-05:00</published><updated>2009-06-19T09:22:13.862-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-19T09:22:13.862-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bible" /><category scheme="http://www.blogger.com/atom/ns#" term="God" /><category scheme="http://www.blogger.com/atom/ns#" term="spirituality" /><title>Notes from God Is Not Silent by Misty Edwards</title><content type="html">&lt;h4&gt;IHOP Encountering God Service on June 12, 2009&lt;/h4&gt; &lt;a href="http://lh6.ggpht.com/_eTH-FZxjIII/SjtIfxN_ojI/AAAAAAAAAVY/j9JZeSKF5eI/s1600-h/Misty%20Edwards%20-%202009-06-12%5B16%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px;" title="Misty Edwards" alt="Misty Edwards" src="http://lh6.ggpht.com/_eTH-FZxjIII/SjtIf7BnJTI/AAAAAAAAAVc/5unboF6A3ss/Misty%20Edwards%20-%202009-06-12_thumb%5B14%5D.jpg?imgmax=800" align="right" border="0" height="178" width="240" /&gt;&lt;/a&gt;   &lt;p&gt;&lt;a title="Purchase MP3" href="http://www.ihopmp3store.com/Store/Products/1000015618/All_MP3s/Services/Encounter_God_Services/2009/June/06_12_09.aspx"&gt;Purchase the MP3&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.biblegateway.com/passage/?search=psalm%2019;&amp;amp;version=31;"&gt;Psalm 19&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;God speaks through creation&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;it makes us ask questions &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;when God spoke to people they wrote it down &lt;/p&gt;  &lt;p&gt;the Bible is God's heart revealed &lt;/p&gt;  &lt;p&gt;Misty learned how to meditate on the word of God by fellowshipping with the Holy Spirit.   &lt;br /&gt;Book: &lt;a title="Experiencing the Depths of Jesus Christ by Jeanne Marie Bouvier de la Motte Guyon" href="http://www.amazon.com/Experiencing-Depths-Library-Spiritual-Classics/dp/0940232006"&gt;Experiencing the Depths of Jesus&lt;/a&gt; by Madame Guyon    &lt;br /&gt;(Note: the original version was called &lt;em&gt;A Short and Very Easy Method of Prayer&lt;/em&gt; and can be found for &lt;a title="A Short Method Of Prayer by Jeanne Marie Bouvier de la Motte Guyon - Project Gutenberg" href="http://www.gutenberg.org/etext/24989"&gt;free&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Misty would sit down with her Bible and just read, talk to the Holy Spirit   &lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;she imagined the Holy Spirit was there as her teacher and ask Him questions &lt;/li&gt;    &lt;li&gt;turned it into a dialogue &lt;/li&gt;    &lt;li&gt;took each phrase, meditate on it, speak it to God, let God speak it to her &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;the Bible is the primary way to transformation&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;it is the only way our heart will be transformed &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;talk to Jesus through the language of the Word (Bible)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;am I dialoging with the Lord through the Word (year after year)? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;even when the Word is boring, it's still more exciting than the alternatives (how exciting is watching TV, really?)&lt;/p&gt;  &lt;p&gt;she started to be transformed and changed   &lt;br /&gt;time with the Word of God with Jesus works&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;it takes time (years) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Psalm 19:7-11   &lt;br /&gt;the law of the Lord converts (restores) the soul&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;you come most alive because of the word &lt;/li&gt;    &lt;li&gt;it makes us wise &lt;/li&gt;    &lt;li&gt;it brings joy to the heart &lt;/li&gt;    &lt;li&gt;it brings clarity &lt;/li&gt;    &lt;li&gt;it's our lifeline &lt;/li&gt;    &lt;li&gt;it sets us free &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;God expresses Himself: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;in creation &lt;/li&gt;    &lt;li&gt;in the Word &lt;/li&gt;    &lt;li&gt;through us &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One of the primary ways we will express God is through our tongue and lips &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;if David didn't have the meditation of the word he wouldn't have had the word on his lips &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;the word is like a chisel on our heart fashioning   &lt;br /&gt;His word is a light &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;it reveals stuff inside us (our heart is deceitful) &lt;/li&gt;    &lt;li&gt;we have seeds of sin in our heart &lt;/li&gt; &lt;/ul&gt; our heart is the arena   &lt;ul&gt;   &lt;li&gt;God's word is His love letter &lt;/li&gt;    &lt;li&gt;He's waiting for us to respond &lt;/li&gt;    &lt;li&gt;like someone in love sharing their feelings and waiting for a response &lt;/li&gt; &lt;/ul&gt; all of life comes down to our heart response  &lt;br /&gt;all of life comes down to love  &lt;br /&gt;God is love   &lt;ul&gt;   &lt;li&gt;we were made in that image &lt;/li&gt;    &lt;li&gt;we were made to give love, to receive love, to give love, to receive love &lt;/li&gt;    &lt;li&gt;that exchange happens behind the face, at our heart level &lt;/li&gt; &lt;/ul&gt; God's asking are you going to respond? are you going to come into agreement?  &lt;br /&gt;you will become most fully alive when you express love   &lt;ul&gt;   &lt;li&gt;humility, meekness &lt;/li&gt;    &lt;li&gt;love gives everything &lt;/li&gt;    &lt;li&gt;you're gonna take up cross, deny yourself, deny your flesh, run after Me, forget your father's house, come away with Me &lt;/li&gt;    &lt;li&gt;it's the voice of the Bridegroom &lt;/li&gt; &lt;/ul&gt; love is totally abandoned   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;David   &lt;br /&gt;v. 10 your word is to be desired more than gold    &lt;br /&gt;I want your word more than anything in life &lt;/p&gt;  &lt;p&gt;v. 12 cleanse me from secret faults &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;that we don't even know about &lt;/li&gt;    &lt;li&gt;healthy evaluation of our hearts &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;the arena, the war on the inside, this arena is where the word of God is most effectively worked out in our lives &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;we become the very embodiment, the very expression of God as we are transformed into his image by the power of His word &lt;/li&gt;    &lt;li&gt;as we are transformed we become a testimony of who He is, become fully alive, fully who we are &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;v. 13 cleanse me from presumptuous sins &lt;/p&gt;  &lt;p&gt;God values the words of our mouth &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;he is the Word &lt;/li&gt;    &lt;li&gt;it's the greatest form of expression &lt;/li&gt;    &lt;li&gt;complaining is a big issue in the body of Christ &lt;/li&gt;    &lt;li&gt;it's one of the worst sins that shuts down our heart and the flow of the word &lt;/li&gt;    &lt;li&gt;gossip is hurtful, coarse jesting is a waste &lt;/li&gt;    &lt;li&gt;when we can learn to tame our tongue we can tame every part of us &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;v. 14 May the words of my mouth and the meditation of my heart be pleasing to You &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;what do we think about most? &lt;/li&gt;    &lt;li&gt;desire to think about God all the time &lt;/li&gt;    &lt;li&gt;it happens through the word of God &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;our brain is always thinking &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;when we fill our mind with the word of God we'll be transformed &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;“if you want to enter into the depths of My heart”&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“I am not silent” &lt;/li&gt;    &lt;li&gt;get worthless things away from your eyes &lt;/li&gt;    &lt;li&gt;remove wax from ears &lt;/li&gt;    &lt;li&gt;come to God through the power of God &lt;/li&gt;    &lt;li&gt;"I am not silent. You are not listening, but I am not silent." &lt;/li&gt;    &lt;li&gt;"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, ..." &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;"will you press your ear to My heart called the Word?" &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;the Word, the very transcript of My soul &lt;/li&gt;    &lt;li&gt;actually read it, talk to Me, come to Me, talk to Me &lt;/li&gt;    &lt;li&gt;you don't understand it? it's boring? ask Me to help you and keep on asking Me to help you &lt;/li&gt;    &lt;li&gt;cry out for the knowledge of God and you will get the knowledge of God &lt;/li&gt;    &lt;li&gt;ask Him, "I want to know You" &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;the Bible was boring for Misty &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;but God asked her to give her time &lt;/li&gt;    &lt;li&gt;get the Word of God &lt;/li&gt;    &lt;li&gt;put it on the schedule &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;"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." &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;the word is for you (it’s for everyone, not just preachers - it was written for peasants) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;the Word is God's heart laid open ready for you if you want it &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;it's simple but so few do it &lt;/li&gt;    &lt;li&gt;it's the first thing to be cut from the schedule &lt;/li&gt;    &lt;li&gt;but it's the number one thing that sustains our life &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;from Madam Guyon's book:   &lt;br /&gt;take the word &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;don't just read a verse and move on &lt;/li&gt;    &lt;li&gt;pray-read the word &lt;/li&gt;    &lt;li&gt;turn it into dialog &lt;/li&gt;    &lt;li&gt;if we don't come to Him, our heart's not gonna come as alive &lt;/li&gt;    &lt;li&gt;focus on the Holy Spirit inside of us (He's the teacher, He knows Jesus, He knows the Word) or focus on the throne &lt;/li&gt;    &lt;li&gt;personalize it, ask God for help &lt;/li&gt;    &lt;li&gt;pray or sing in the Spirit &lt;/li&gt;    &lt;li&gt;say it or sing it &lt;/li&gt;    &lt;li&gt;journal it &lt;/li&gt;    &lt;li&gt;put it in my own words &lt;/li&gt;    &lt;li&gt;digest it &lt;/li&gt;    &lt;li&gt;it will transform our life &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Jesus talked about the word all the time   &lt;br /&gt;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. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;it's not by casually or occasionally seeking God &lt;/li&gt;    &lt;li&gt;to keep His commandments is to hold them in our heart and walk them out &lt;/li&gt;    &lt;li&gt;then He will manifest Himself to us &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;it's so easy to get out of the habit of being in God's word &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;we need to do it every day &lt;/li&gt;    &lt;li&gt;it's not a one-time badge &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;"I want you to come after Me"   &lt;br /&gt;"Will you sign up again?" &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;repent (once) for failing to be a man of the word &lt;/li&gt;    &lt;li&gt;talk to the Lord &lt;/li&gt;    &lt;li&gt;ask God to forgive us for accusing Him of being far away, for being hard to find, for being silent &lt;/li&gt;    &lt;li&gt;ask Him to forgive us for our lack in the word &lt;/li&gt;    &lt;li&gt;set our heart to be a man or woman of the word, not to take it for granted &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;His mercies are new every morning &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;you will come alive in His word &lt;/li&gt;    &lt;li&gt;it's not a chain around your neck &lt;/li&gt;    &lt;li&gt;you were made for a deep intimacy with the uncreated God &lt;/li&gt;    &lt;li&gt;it's not too mysterious, it's not too far away, it's not too hard &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;the Lord says "My mercies are new every morning" &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;you can know Me, you can love Me &lt;/li&gt;    &lt;li&gt;I knew what I was getting into when I called you &lt;/li&gt;    &lt;li&gt;I am not shocked by your lack or your failure &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-8130023644942675584?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/8130023644942675584/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2009/06/notes-from-god-is-not-silent-by-misty.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/8130023644942675584?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/8130023644942675584?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2009/06/notes-from-god-is-not-silent-by-misty.html" title="Notes from God Is Not Silent by Misty Edwards" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;DUcDQng8eSp7ImA9WxJRF00.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-5880676253024148825</id><published>2009-05-18T23:02:00.001-05:00</published><updated>2009-05-18T23:24:33.671-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-18T23:24:33.671-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="tdd" /><category scheme="http://www.blogger.com/atom/ns#" term="asp-classic" /><title>Introducing ASPUnitRunner</title><content type="html">&lt;p&gt;Have code in classic ASP? Want to write unit tests for it? Want to make it easy to run those tests?&lt;/p&gt;  &lt;p&gt;Here’s my solution: &lt;a href="http://github.com/mhenry07/ASPUnitRunner/tree"&gt;ASPUnitRunner&lt;/a&gt;. It’s a .NET library that enables running &lt;a title="ASPUnit unit-testing framework for classic ASP" href="http://aspunit.sourceforge.net/"&gt;ASPUnit&lt;/a&gt; tests via &lt;a title="NUnit unit-testing framework for .NET" href="http://www.nunit.org/"&gt;NUnit&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;The Story&lt;/h2&gt;  &lt;p&gt;(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 &lt;a href="http://aspunit.sourceforge.net/"&gt;ASPUnit&lt;/a&gt; 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.&lt;/p&gt;  &lt;p&gt;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 &lt;a href="http://twitter.com/calvinb/status/1483584966"&gt;@calvinb&lt;/a&gt;. Any of these may work for you, but none of them were quite what I wanted.&lt;/p&gt;  &lt;p&gt;I also found a refreshingly new series of posts on &lt;a title="classic ASP posts by Justin Davies" href="http://www.beingnew.net/search/label/classic asp"&gt;unit-testing classic ASP&lt;/a&gt; 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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;h2&gt;An Overview&lt;/h2&gt;  &lt;p&gt;ASPUnitRunner consists of two main classes: &lt;code&gt;Runner&lt;/code&gt; and &lt;code&gt;Results&lt;/code&gt;.&lt;/p&gt;  &lt;p&gt;&lt;code&gt;Runner&lt;/code&gt;’s constructor takes a URI to your ASPUnit test runner and an optional credentials parameter. You then call the &lt;code&gt;Run&lt;/code&gt; method with the name of the ASPUnit test container to execute, which returns a &lt;code&gt;Results&lt;/code&gt; object.&lt;/p&gt;  &lt;p&gt;The &lt;code&gt;Results&lt;/code&gt; object has the following properties: &lt;code&gt;Tests&lt;/code&gt;, &lt;code&gt;Errors&lt;/code&gt;, &lt;code&gt;Failures&lt;/code&gt; and &lt;code&gt;Details&lt;/code&gt;. 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.&lt;/p&gt;  &lt;p&gt;&lt;a title="ASPUnitRunner source" href="http://github.com/mhenry07/ASPUnitRunner/tree"&gt;The source&lt;/a&gt; is available at github. If you come up with any improvements, let me know and I may integrate them.&lt;/p&gt;  &lt;h2&gt;How to Use&lt;/h2&gt;  &lt;p&gt;Note: the following instructions assume you have existing, runnable ASPUnit tests and are familiar with Visual Studio and NUnit.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Verify that you are able to run your existing ASPUnit tests from a web browser. &lt;/li&gt;    &lt;li&gt;Create a new NUnit test project in Visual Studio. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://github.com/mhenry07/ASPUnitRunner/downloads"&gt;Download&lt;/a&gt; the latest ASPUnitRunner binaries and extract them. &lt;/li&gt;    &lt;li&gt;Add a new reference from your Visual Studio project to point to the DLL you just extracted in the last step. &lt;/li&gt;    &lt;li&gt;Create an NUnit test fixture similar to &lt;a title="TestAsp.cs example for ASPUnitRunner" href="http://github.com/mhenry07/ASPUnitRunner/blob/2ce383265f3e8cbbc59a68e4e20aa4f60b010a95/samples/asp.NUnitTests/TestAsp.cs"&gt;this example&lt;/a&gt; (note that it makes use of the &lt;code&gt;Values&lt;/code&gt; attribute new to NUnit 2.5).       &lt;ul&gt;       &lt;li&gt;Add a &lt;code&gt;using AspUnitFramework&lt;/code&gt; statement &lt;/li&gt;        &lt;li&gt;Initialize a new &lt;code&gt;Runner&lt;/code&gt; object with the URI for your ASPUnit test runner and optional credentials &lt;/li&gt;        &lt;li&gt;&lt;code&gt;Run&lt;/code&gt; the tests for each desired ASPUnit test container &lt;/li&gt;        &lt;li&gt;Assert that the results has no &lt;code&gt;Errors&lt;/code&gt; and no &lt;code&gt;Failures&lt;/code&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Compile &lt;/li&gt;    &lt;li&gt;Run the new tests using your favorite NUnit test runner (or integrate them into your NUnit-compatible continuous integration server). &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;Limitations&lt;/h2&gt;  &lt;p&gt;Unfortunately the NUnit GUI does not format the HTML result details well. I would like to improve this in the future.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;h2&gt;Unlimitations&lt;/h2&gt;  &lt;p&gt;ASPUnitRunner is not actually dependent on NUnit. It should be usable from any .NET test framework.&lt;/p&gt;  &lt;h2&gt;In Conclusion&lt;/h2&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;Thanks to the creators of &lt;a href="http://aspunit.sourceforge.net/"&gt;ASPUnit&lt;/a&gt; and &lt;a href="http://www.nunit.org/"&gt;NUnit&lt;/a&gt; for creating helpful tools and &lt;a href="http://www.beingnew.net/"&gt;Justin Davies&lt;/a&gt; for the inspiring example.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-5880676253024148825?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/5880676253024148825/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2009/05/introducing-aspunitrunner.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5880676253024148825?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5880676253024148825?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2009/05/introducing-aspunitrunner.html" title="Introducing ASPUnitRunner" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;DkINSXo6fip7ImA9WxJSGUQ.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-7301561729695400545</id><published>2009-05-10T17:29:00.001-05:00</published><updated>2009-05-10T17:29:58.416-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-10T17:29:58.416-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="Jesus" /><title>Thoughts on development and life</title><content type="html">&lt;p&gt;I tend to be a perfectionist. I can easily get into analysis paralysis trying to figure out the ideal approach to a problem.&lt;/p&gt;  &lt;p&gt;The idea of &lt;a title="Test-Driven Development" href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;TDD&lt;/a&gt; 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.&lt;/p&gt;  &lt;p&gt;Sounds lovely. Wish I was there. I’m not, but I’m trying to head that direction.&lt;/p&gt;  &lt;p&gt;I’ve found that writing tests can be hard. Particularly dealing with GUIs, database access, legacy code and deadlines.&lt;/p&gt;  &lt;p&gt;Most of our codebase is in &lt;a title="Active Server Pages" href="http://en.wikipedia.org/wiki/Active_Server_Pages"&gt;classic ASP&lt;/a&gt; with few tests. I’ve written a few tests using &lt;a href="http://aspunit.sourceforge.net/"&gt;ASPUnit&lt;/a&gt;, but running tests from a web browser isn’t my favorite. So I just wrote a .NET library that enables running ASPUnit tests from &lt;a href="http://www.nunit.org/"&gt;NUnit&lt;/a&gt;. (I’ll share details of that in a future post.)&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-7301561729695400545?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/7301561729695400545/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2009/05/thoughts-on-development-and-life.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/7301561729695400545?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/7301561729695400545?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2009/05/thoughts-on-development-and-life.html" title="Thoughts on development and life" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;D0cAQn05fSp7ImA9WxJSFUU.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-7493614935209563793</id><published>2009-05-05T23:25:00.001-05:00</published><updated>2009-05-05T23:44:03.325-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-05T23:44:03.325-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="Jesus" /><title>Navigating the Maze</title><content type="html">&lt;p&gt;I’ve been meaning to write this article for a while. Here’s the reason behind my blog’s title.&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;a href="http://commons.wikimedia.org/wiki/File:Maze.JPG"&gt;&lt;img style="margin: 5px auto; display: block; float: none" title="maze" alt="maze" src="http://lh3.ggpht.com/_eTH-FZxjIII/SgERSxxKpwI/AAAAAAAAAU4/rLFn4y6T0Ig/maze%5B18%5D.jpg?imgmax=800" width="320" height="240" /&gt;&lt;/a&gt; A maze&lt;/p&gt;  &lt;p&gt;When I was a kid someone built a human labyrinth in my hometown. It was called &lt;a href="http://vacaville.wikispot.org/The_Wooz"&gt;The WOOZ&lt;/a&gt; (&lt;a title="Aerial photo of the WOOZ" href="http://menzelphoto.peripix.com/viewdetails/item/9310/size/800/"&gt;photo&lt;/a&gt;). 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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;Sometimes I try to figure this maze out on my own and I’ve wasted time getting really lost.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Your word is a lamp to guide my feet and a light for my path.&lt;/em&gt; – Psalm 119:105&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-7493614935209563793?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/7493614935209563793/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2009/05/navigating-maze.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/7493614935209563793?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/7493614935209563793?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2009/05/navigating-maze.html" title="Navigating the Maze" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;C0ENSH4-eCp7ImA9WxVTFk0.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-2931281492802548609</id><published>2008-12-29T17:21:00.003-06:00</published><updated>2008-12-29T19:48:19.050-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-29T19:48:19.050-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="powershell" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="graphics" /><title>Resampling images using PowerShell and GraphicsMagick</title><content type="html">I needed to resample several images which were scanned at a higher a resolution than expected, so here's a &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;PowerShell&lt;/a&gt; script that I created to resample them to a lower resolution using &lt;a href="http://www.graphicsmagick.org/"&gt;GraphicsMagick&lt;/a&gt;. It's probably not the most elegant, but it seems to work for my requirement. Here it is:&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: auto;"&gt;&lt;code&gt;$gm = "C:\Program Files\GraphicsMagick-1.3.3-Q8\gm.exe"&lt;br /&gt;$maxResolution = 100&lt;br /&gt;$defaultResolution = "72x72"&lt;br /&gt;&lt;br /&gt;foreach ($file in ls *.jpg) {&lt;br /&gt; echo Processing: $file.Name&lt;br /&gt; $resolutionLine = &amp;amp; $gm identify -verbose $file | Select-String -pattern "Resolution:"&lt;br /&gt; echo $resolutionLine&lt;br /&gt; if ($resolutionLine -match "(\d+)x(\d+)") {&lt;br /&gt;  if ([int]$matches[1] -gt $maxResolution -and [int]$matches[2] -gt $maxResolution) {&lt;br /&gt;   $file.CopyTo($file.FullName + ".bak")&lt;br /&gt;   &amp;amp; $gm convert -resample $defaultResolution -units PixelsPerInch $file $file&lt;br /&gt;   echo Resampled: $file.Name&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Please leave a comment if you find this script helpful or have any suggestions for improvement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-2931281492802548609?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/2931281492802548609/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2008/12/resampling-images-using-powershell-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/2931281492802548609?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/2931281492802548609?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2008/12/resampling-images-using-powershell-and.html" title="Resampling images using PowerShell and GraphicsMagick" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEQHSXc-eCp7ImA9WxRbFEg.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-2427598026978043106</id><published>2008-12-04T22:47:00.009-06:00</published><updated>2008-12-04T23:52:18.950-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-04T23:52:18.950-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="asp-classic" /><category scheme="http://www.blogger.com/atom/ns#" term="error-handling" /><title>Thoughts on error handling in classic ASP</title><content type="html">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 &lt;em&gt;definitely&lt;/em&gt; needs some sort of error logging, so I started doing some research.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;The trick is to create an ASP page and set it as the default handler for 500;100 errors from IIS. You can use &lt;code&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms524846.aspx"&gt;Server.GetLastError()&lt;/a&gt;&lt;/code&gt; to retrieve information for the last error. You also get to keep context information from the &lt;code&gt;Request&lt;/code&gt; and other objects. So, after calling &lt;code&gt;Server.GetLastError()&lt;/code&gt;, just log the relevant error and context info, send notification e-mails and display a friendly error message.&lt;br /&gt;&lt;br /&gt;Speaking of friendly error messages, I think this error page from &lt;a href="http://southwest.com/"&gt;Southwest.com&lt;/a&gt; is a good example of simplicity and effectiveness:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eTH-FZxjIII/STi4p7ZwZII/AAAAAAAAADo/WqwCHg-8OGg/s1600-h/southwest-error-page.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 256px;" src="http://2.bp.blogspot.com/_eTH-FZxjIII/STi4p7ZwZII/AAAAAAAAADo/WqwCHg-8OGg/s400/southwest-error-page.png" alt="Southwest.com error page" id="BLOGGER_PHOTO_ID_5276169993924404354" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-2427598026978043106?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/2427598026978043106/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2008/12/thoughts-on-error-handling-in-classic.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/2427598026978043106?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/2427598026978043106?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2008/12/thoughts-on-error-handling-in-classic.html" title="Thoughts on error handling in classic ASP" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_eTH-FZxjIII/STi4p7ZwZII/AAAAAAAAADo/WqwCHg-8OGg/s72-c/southwest-error-page.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0ABR3g7eip7ImA9WxRSEUQ.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-9098405100750890030</id><published>2008-09-11T21:37:00.007-05:00</published><updated>2008-09-12T00:02:36.602-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-12T00:02:36.602-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="family" /><category scheme="http://www.blogger.com/atom/ns#" term="God" /><category scheme="http://www.blogger.com/atom/ns#" term="spirituality" /><title>Remembering my grandmother</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eTH-FZxjIII/SMnzKG91vLI/AAAAAAAAAC8/lRlHfBOCadc/s1600-h/RoseAnneHenry.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_eTH-FZxjIII/SMnzKG91vLI/AAAAAAAAAC8/lRlHfBOCadc/s320/RoseAnneHenry.png" alt="" id="BLOGGER_PHOTO_ID_5244990596043881650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 ... &lt;span style="font-style: italic;"&gt;but that's not the end of the story.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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, &lt;span style="font-style: italic;"&gt;"God, please show me somehow if my grandma was saved."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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 &lt;a href="http://www.fbchammond.com/"&gt;First Baptist Church of Hammond&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eTH-FZxjIII/SMn1TPymStI/AAAAAAAAADE/ALBuZAYde9E/s1600-h/Jesus.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_eTH-FZxjIII/SMn1TPymStI/AAAAAAAAADE/ALBuZAYde9E/s320/Jesus.jpg" alt="" id="BLOGGER_PHOTO_ID_5244992952054729426" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;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.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;So happy birthday Grandma, may you rest in joy in God's presence.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-9098405100750890030?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/9098405100750890030/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2008/09/remembering-my-grandmother.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/9098405100750890030?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/9098405100750890030?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2008/09/remembering-my-grandmother.html" title="Remembering my grandmother" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_eTH-FZxjIII/SMnzKG91vLI/AAAAAAAAAC8/lRlHfBOCadc/s72-c/RoseAnneHenry.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></entry><entry gd:etag="W/&quot;DE8HQXs9fyp7ImA9WB9VEk4.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-2417477501991374511</id><published>2007-11-27T23:29:00.000-06:00</published><updated>2007-11-28T02:00:30.567-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-28T02:00:30.567-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bible" /><category scheme="http://www.blogger.com/atom/ns#" term="story" /><category scheme="http://www.blogger.com/atom/ns#" term="God" /><category scheme="http://www.blogger.com/atom/ns#" term="spirituality" /><title>Hearing God: How to Believe the Bible Stories</title><content type="html">I recently started reading &lt;a href="http://www.amazon.com/Hearing-God-Developing-Conversational-Relationship/dp/0830822267"&gt;Hearing God: Developing a Conversational Relationship with God&lt;/a&gt; by Dallas Willard. I learned about the book from the Ransomed Heart Ministries &lt;a href="http://www.ransomedheart.com/default.asp?pl=content.asp&amp;amp;n_Content_ID=115"&gt;recommended reading list&lt;/a&gt;. (Ransomed Heart was co-founded by John Eldredge.) And, since I have enjoyed Eldredge's books and I desire to hear God, I bought the book and so far have enjoyed the first two chapters.&lt;br /&gt;&lt;br /&gt;One section in particular stuck out to me, How to Believe the Bible Stories. It begins:&lt;br /&gt;&lt;blockquote&gt;If we are really to understand the Bible record, we must enter into our study of it on the assumption that &lt;span style="font-style: italic;"&gt;the experiences recorded there are basically of the same type as ours would have been if we had been there&lt;/span&gt;... Unless this comes home to us, the things that happened to the people in the Bible will remain unreal to us. We will not genuinely be able to believe the Bible or find its contents to be real, because it will have no experiential substance for us (p. 35, emphasis mine).&lt;/blockquote&gt;This is good. We need to believe that God is both still working today and wants to work in my life and your life. Willard goes on:&lt;br /&gt;&lt;blockquote&gt;The other problem that arises when we do not understand the experiences of biblical characters in terms of our own experience is that we simply stop reading the Bible altogether. Or else we take it in regular doses, choking it down like medicine because someone told us that it would be good for us—though we really do not find it to be so (p. 36).&lt;/blockquote&gt;Oh...&lt;br /&gt;&lt;br /&gt;I sometimes (er, often) feel like the reason I read the Bible is more because I'm supposed to than because I want to. Sometimes it really ministers to me, but sometimes it can seem pretty dry. Kinda like medicine. But, didn't someone say the Bible is supposed to be alive? Isn't it supposed  speak to whatever situation we're in?&lt;br /&gt;&lt;br /&gt;Give me a good story and I'm enthralled. Especially if I haven't read it or seen it before. And, when I first began following Christ, the Bible was a whole new world. But after reading it for a while, it doesn't always hold my attention quite like before. Plus, it's not written the same as the Chronicles of Narnia or the Lord of the Rings. So, what to do? How does the Bible again become like an engaging story? How does it speak to my situation? Here is Willard's conclusion:&lt;br /&gt;&lt;blockquote&gt;If we are to hear God's voice ourselves and on an individual basis, we must above all else observe how his word came to those people described in the Scriptures. How did they experience God's communication? What was it like for them to hear God? &lt;span style="font-style: italic;"&gt;We must prayerfully but boldly &lt;span style="font-weight: bold;"&gt;use our God-given imaginations&lt;/span&gt; as we read the stories of people who encountered God. We must ask ourselves what it would be like if we were&lt;/span&gt; Moses standing by the bush... We must pray for the faith and for the experiences that would enable us to believe that such things could happen to us. Only then will we be able to recognize, accept and dwell in them when they come (p. 36, emphasis mine).&lt;br /&gt;&lt;/blockquote&gt;We have to use our imagination when we read the Bible? Oh yeah. I've heard that before, but needed this reminder. Sparking our imagination is what makes a good story engaging. Reading the Bible doesn't always spark our imagination automatically. So sometimes we have to do a little work to imagine ourselves as a part of the story, asking the Holy Spirit for help. Or imagine the story for our situation. And that's when God can make the Bible alive, relevant and engaging to us. And we can ask God what He wants to show us. Cool.&lt;br /&gt;&lt;br /&gt;I'll be trying this out, in hope that it will add some spark to my Bible reading and walk with God. Hopefully this helps someone else out there, too. I'm trying to resist reading through &lt;span style="font-style: italic;"&gt;Hearing God&lt;/span&gt; as quickly as possible like I tend to do with good books. I'll try to share some more tidbits as I find them.&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-2417477501991374511?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/2417477501991374511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/11/hearing-god-how-to-believe-bible.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/2417477501991374511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/2417477501991374511?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/11/hearing-god-how-to-believe-bible.html" title="Hearing God: How to Believe the Bible Stories" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;CUEHQ34zfip7ImA9WB9WFEg.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-8278903685462187629</id><published>2007-11-18T22:41:00.000-06:00</published><updated>2007-11-19T00:27:12.086-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-19T00:27:12.086-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="videos" /><category scheme="http://www.blogger.com/atom/ns#" term="video games" /><category scheme="http://www.blogger.com/atom/ns#" term="marching band" /><category scheme="http://www.blogger.com/atom/ns#" term="bears" /><category scheme="http://www.blogger.com/atom/ns#" term="cal" /><title>Cal Band - Video Game Show 2007</title><content type="html">&lt;p&gt;The Cal marching band recently paid tribute to some video game classics with their halftime show during the Cal vs Washington State football game on November 3, 2007. Just one of the many reasons why I love my Cal Bears! Too bad I wasn't there to see it ... but thanks to those who recorded and posted this video on the internet. See if you can catch all the video game references.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8QNI3W8UB-s&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8QNI3W8UB-s&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-8278903685462187629?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="related" href="http://www.youtube.com/watch?v=8QNI3W8UB-s" title="Cal Band - Video Game Show 2007" /><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/8278903685462187629/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/11/cal-band-video-game-show-2007.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/8278903685462187629?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/8278903685462187629?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/11/cal-band-video-game-show-2007.html" title="Cal Band - Video Game Show 2007" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0QBRHwyfyp7ImA9WB9WEEw.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-4126850019274362891</id><published>2007-11-13T17:34:00.000-06:00</published><updated>2007-11-13T22:42:35.297-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-13T22:42:35.297-06:00</app:edited><title>Quote from Meet the Robinsons</title><content type="html">&lt;p&gt;A cool quote from the end of &lt;em&gt;Meet the Robinsons&lt;/em&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;div style="text-align: left;"&gt;Around here, however, we don't look backwards for very long.&lt;br&gt;We keep moving forward, opening up new doors and doing new things, because we're curious... and curiosity keeps leading us down new paths.&lt;br&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;- Walt Disney&lt;/div&gt;&lt;/blockquote&gt;  &lt;!-- multiply:no_crosspost --&gt;&lt;p class='multiply:no_crosspost'&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-4126850019274362891?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/4126850019274362891/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/11/quote-from-meet-robinsons.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/4126850019274362891?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/4126850019274362891?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/11/quote-from-meet-robinsons.html" title="Quote from Meet the Robinsons" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;DUAARXw9eCp7ImA9WB9QEE0.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-4652612669826816669</id><published>2007-10-20T21:25:00.000-05:00</published><updated>2007-10-21T18:02:24.260-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-21T18:02:24.260-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="nashville" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise 2.0" /><title>devLink Technical Conference - Day Two</title><content type="html">&lt;a href="http://www.devlink.net/"&gt;&lt;span class="insertedphoto"&gt;&lt;img class="alignleft" src="http://images.mhenry.multiply.com/image/1/photos/upload/300x300/Rxq@NwoKCqoAAGQzrYg1/devLink.gif?et=AUO8sczGxh9GNnS8Up9RJw" alt="devLink Technical Conference" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Last Saturday was the second day of devLink. It was another great day, in which I mostly heard about &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;TDD&lt;/a&gt; (Test Driven Development) and &lt;a href="http://en.wikipedia.org/wiki/Enterprise_2.0"&gt;Enterprise&lt;/a&gt;/&lt;a href="http://en.wikipedia.org/wiki/Web_2.0"&gt;Web 2.0&lt;/a&gt;. I met someone from my church who was one of the session speakers. And, I was one number away from winning an XBox 360 (darn, so close).&lt;br /&gt;&lt;br /&gt;My morning began with another session by Gregory Beamer called TDD and Refactoring: The Wonder Twins of Development. It was a great session that was very practical - I will definitely need to review my notes and the slides. Unfortunately we still have a lot of classic ASP which doesn’t have the level of tools as .NET, but I think these principles are helpful – even just the &lt;a href="http://sis36.berkeley.edu/projects/streek/agile/bad-smells-in-code.html"&gt;Code Smells&lt;/a&gt; section.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="insertedphoto"&gt;&lt;a href="http://mhenry.multiply.com/photos/hi-res/upload/Rxq-xwoKCqoAAAedTNo1"&gt;&lt;img style="width: 213px; height: 160px;" class="alignright" src="http://images.mhenry.multiply.com/image/1/photos/upload/300x300/Rxq-xwoKCqoAAAedTNo1/bobsullivan.jpg?et=zpbEGCq6nMb1WPlAT8Mo%2BQ" alt="Bob Sullivan sharing his background" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;I switched over to the Java track for the next couple sessions, led by Irv Salisbury and Bob Sullivan of &lt;a href="http://directthought.com/"&gt;directThought&lt;/a&gt;. The first was Enterprise Web 2.0. It was a good overview of their experiences developing a web 2.0 app for a large enterprise. There were some useful nuggets, though some of the details weren’t very relevant for my work – the lessons learned slides were helpful. They used &lt;a href="http://dojotoolkit.org/"&gt;Dojo&lt;/a&gt; as their JavaScript framework, and I heard some others mention it at this conference as well. After the first session, I met Bob Sullivan, who used to go to the same church as me until he moved recently. After lunch, I went to Bob’s session on Google Tools &amp;amp; APIs. He presented a nice overview of using some of Google’s public tools &amp;amp; APIs on our own sites &amp;amp; projects. Google definitely has some cool stuff.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="insertedphoto"&gt;&lt;a href="http://mhenry.multiply.com/photos/hi-res/upload/RxrACwoKCqoAAARMFtg1"&gt;&lt;img style="width: 213px; height: 160px;" class="alignleft" src="http://images.mhenry.multiply.com/image/1/photos/upload/300x300/RxrACwoKCqoAAARMFtg1/michaelneel.jpg?et=G6oC7eu3LdIy6%2BctmXXgCQ" alt="Michael Neel demonstrating a plastic samurai sword" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Next, I went to Michael Neel’s presentation on &lt;a href="http://www.vinull.com/Post/2007/10/14/aspnet-zen-and-the-art-of-website-maint.aspx"&gt;Zen and the Art of Website Maintenance&lt;/a&gt;. He had a cool introduction that included props. He and a volunteer illustrated the differences between a (plastic) broadsword and samurai sword, and explained what makes samurai swords superior. In addition to their curved design to allow it to slice without having to pull back, it is made with a combination of a strong, soft core and hard but brittle outer steel to keep a sharp edge. He compared that to developing a maintainable web app in ASP.NET. This session was very specific to ASP.NET, but was useful, and the sword illustration was the best part.&lt;br /&gt;&lt;br /&gt;Finally, &lt;a href="http://www.ronjacobs.com/"&gt;Ron Jacobs&lt;/a&gt; spoke at the closing keynote. After highlighting his ARCast.tv show (with a hilarious clip on transactions in real life), he presented on &lt;a href="http//cid-aabe83468d120033.skydrive.live.com/self.aspx/Presentations/ARC381-How%20Test%20Driven%20Development%20Is%20Shaping%20Architecture%20.pptx"&gt;The Perfect Pattern Storm, where TDD meets UX and MVP&lt;/a&gt;. Is that enough acronyms for ya? It was a great session, both for more thoughts on Test Driven Development and an introduction to the Model, View, Presenter pattern (similar to MVC) to create a great User eXperience. It all looks and sounds cool, but he did caution the audience to evaluate MVP and see if it makes sense before blindly using it.&lt;br /&gt;&lt;br /&gt;In summary, devLink was a great conference and a great deal. The conference got me hyped, but it was a long week and I was super tired afterward - thus the delayed blog post. I definitely want to go to more tech conferences in the future. And, I should probably get more involved with a local user group. Thanks to all the volunteers, speakers and sponsors for making this conference possible!&lt;br /&gt;&lt;br /&gt;I want to start applying some of the techniques at work, but working mostly in classic ASP makes it a bit challenging, though I’m sure some things are possible. Hmm, migrating to ASP.NET sounds appealing – except for all the manual testing that would have to be done in the process.&lt;br /&gt;&lt;!-- multiply:no_crosspost --&gt;&lt;p class="multiply:no_crosspost"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-4652612669826816669?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/4652612669826816669/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/10/devlink-technical-conference-day-two.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/4652612669826816669?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/4652612669826816669?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/10/devlink-technical-conference-day-two.html" title="devLink Technical Conference - Day Two" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;C0MHSHc9cCp7ImA9WB9REkg.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-8603432004761122797</id><published>2007-10-12T22:23:00.000-05:00</published><updated>2007-10-12T23:57:19.968-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-12T23:57:19.968-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="nashville" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><title>devLink Technical Conference - Day One</title><content type="html">Today was the first day of the 2007 &lt;a href="http://www.devlink.net/"&gt;devLINK Technical Conference&lt;/a&gt; for developers being held in Nashville, Tennessee. I'd have to say that it was a really cool day. Some practical things, but also a lot about the latest and greatest which was cool but probably won't be using day-to-day quite yet.&lt;br /&gt;&lt;br /&gt;It started with a bang with &lt;a href="http://blogs.msdn.com/brada/"&gt;Brad Abrams&lt;/a&gt; demonstrating Microsoft's new technologies (particularly &lt;a href="http://silverlight.net/"&gt;Silverlight&lt;/a&gt; tied to .NET) to provide really cool user experiences and especially the integrated tools they have created to integrate cutting-edge design with .NET development. He particularly highlighted cross-platform functionality, including Safari on a Mac and integrating with a PHP app. The videos and demos were really cool.&lt;br /&gt;&lt;br /&gt;I attended a session by &lt;a href="http://www.lhotka.net/"&gt;Rocky Lhotka&lt;/a&gt;, creator of CSLA.NET, on .NET 3.0 which was a great overview and eye opening regarding XAML and WPF (Windows Presentation Foundation - Microsoft's cool new graphics platform). He also mentioned that Silverlight is basically WPF-lite. He also gave me a suggestion about how to provide client-side validation for a web application while keeping validation rules in the business layer by using the GetRulesForProperty() method to get all the rules and writing a bit of JavaScript to handle each rule type.&lt;br /&gt;&lt;br /&gt;After lunch, I also attended two sessions by &lt;a href="http://weblogs.asp.net/rhoward/"&gt;Rob Howard&lt;/a&gt; on ASP.NET (on performance and internals). It was great for better understanding ASP.NET and some practical tips and concepts. The performance session was great, but I crashed a bit during his second session (I was very tired).&lt;br /&gt;&lt;br /&gt;My final session was by Greg Beamer on SOA (Service Oriented Architecture). It was a good overview of SOA and with a cool example of where it would be very useful (updating client info between multiple applications in an enterprise). On a personal note, before I found MindTouch &lt;a href="http://wiki.opengarden.org/Deki_Wiki"&gt;Deki Wiki&lt;/a&gt; a couple days ago, I didn't think SOA would have any current practical benefits for our organization, but I'm rethinking that. FYI MindTouch created some helpful &lt;a href="http://wiki.opengarden.org/index.php?title=Articles_%26_Videos"&gt;video overviews&lt;/a&gt; on SODA, REST, etc.&lt;br /&gt;&lt;br /&gt;The day ended with comedian &lt;a href="http://www.rikroberts.com/"&gt;Rik Roberts&lt;/a&gt; who was hilarious and clean. Two XBOX 360's were given away today. Unfortunately I didn't win one, and regretfully I could've had a 1 in 7 chance at one had I previously blogged about devLink. But they're giving away more stuff tomorrow and I did win an iTunes gift card before the conference :-). The fact that this conference is in town and only $50 is awesome. Thanks sponsors! It's actually my first professional tech conference. It has a Microsoft .NET focus, but there is a Java track and more generalized sessions, too. Anyways, I'm looking forward to tomorrow.&lt;br /&gt;&lt;!-- multiply:no_crosspost --&gt;&lt;p class="multiply:no_crosspost"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-8603432004761122797?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/8603432004761122797/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/10/devlink-technical-conference-day-one.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/8603432004761122797?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/8603432004761122797?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/10/devlink-technical-conference-day-one.html" title="devLink Technical Conference - Day One" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DkANQXc8fyp7ImA9WB9REEU.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-6002685448841046241</id><published>2007-10-11T00:46:00.000-05:00</published><updated>2007-10-11T01:39:50.977-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-11T01:39:50.977-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="wiki" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="collaboration" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="information" /><title>I may have found the perfect wiki</title><content type="html">This is a follow-up to my last post about &lt;a href="http://mhenry.multiply.com/journal/item/17/In_search_of_the_perfect_wiki"&gt;trying to find the perfect corporate wiki&lt;/a&gt;. I think I may have found &lt;a href="http://wiki.opengarden.org/Deki_Wiki" title="MindTouch Deki Wiki"&gt;&lt;strong&gt;it&lt;/strong&gt;&lt;/a&gt;. I was researching and researching and none of the open source options seemed to be what I wanted.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.atlassian.com/software/confluence/"&gt;Confluence&lt;/a&gt; would have already been one the one if cost weren't a barrier.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twiki.org/"&gt;TWiki&lt;/a&gt; seems to have everything except that it is ugly and unappealing.&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.splitbrain.org/wiki:dokuwiki"&gt;DokuWiki&lt;/a&gt; has no WYSIWYG editor and limited functionality of some other features.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mediawiki.org/"&gt;MediaWiki&lt;/a&gt; has poor page permissions.&lt;/li&gt;&lt;li&gt;&lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; is okay as a wiki but some features are limited (lots of features are plugins rather than core functionality). No LDAP authentication with our current setup, and it's a bit tedious to setup each project which is independent from the others.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.socialtext.net/open/index.cgi"&gt;Socialtext&lt;/a&gt; has most features but it's open source offering seems to have poor documentation and installation.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://moinmoin.wikiwikiweb.de/"&gt;MoinMoin&lt;/a&gt; lacks page commenting, has minimal attachment handling and is ugly.&lt;/li&gt;&lt;li&gt;&lt;a href="http://tikiwiki.org/"&gt;TikiWiki&lt;/a&gt; appears to have no tagging. Actually, looking again, it does seem pretty nice, though - I didn't look too closely.&lt;/li&gt;&lt;/ul&gt;So, I'm picky. Some of the above have all the features, but are ugly or hard to use (see my &lt;a href="http://spreadsheets.google.com/pub?key=pkUIxItSnCYDEcom2EhixJA"&gt;spreadsheet&lt;/a&gt;). Then, earlier yesterday I stumbled upon &lt;a href="http://www.xwiki.org/"&gt;XWiki&lt;/a&gt;. I should have seen it before, since it's listed on the Wikipedia entry on &lt;a href="http://en.wikipedia.org/wiki/Corporate_wiki"&gt;corporate wiki's&lt;/a&gt;, but for some reason I missed it. It's pretty sweet, looks pretty good, has WYSIWYG and all the features and some nice dynamic HTML. It would work pretty well, I think. But, as I researched, I couldn't find any recent articles about it or anything. Mysterious. They've been around a few years and even participated in Google Summer of Code 2007, but the lack of recent press scares me.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_eTH-FZxjIII/Rw3El2mxCvI/AAAAAAAAAAo/GNXk-G9gH8k/s1600-h/mindtouch.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://bp3.blogger.com/_eTH-FZxjIII/Rw3El2mxCvI/AAAAAAAAAAo/GNXk-G9gH8k/s320/mindtouch.png" alt="" id="BLOGGER_PHOTO_ID_5119964505982438130" border="0" /&gt;&lt;/a&gt;Then last night I found it. &lt;span style="font-style: italic;"&gt;The one.&lt;/span&gt; MindTouch's &lt;a href="http://wiki.opengarden.org/Deki_Wiki"&gt;Deki Wiki&lt;/a&gt;. I mean, I've just barely tested it. But I tried their site (which runs on it), I read the reviews (which are recent and rave about it). It has all the features, it looks nice, seems user friendly, it's growing (some claim it to be the fastest growing wiki), it's under active development, etc. It's not perfect, but it may be as close as we'll get (especially for the price).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It is a bit different from a traditional wiki since it is more hierarchical than most, but does it well and still has tags (and links and search, of course). Permissions are currently a bit limited, but should be good enough for us until they finish implementing group-based page/section permissions.&lt;br /&gt;&lt;br /&gt;And more, it's very extensible, including a state-of-the-art API that allows it to integrate with lots of other stuff (to create &lt;a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29"&gt;mashups&lt;/a&gt; in geek terminology). Also, one of the download options is a &lt;a href="http://www.vmware.com/"&gt;VMware&lt;/a&gt; image. Sounds like a good reason to finally test drive the whole &lt;a href="http://en.wikipedia.org/wiki/Virtual_machine"&gt;virtual server&lt;/a&gt; thing.&lt;br /&gt;&lt;br /&gt;Looks like the co-founders of MindTouch, the creators of Deki Wiki, are a couple of ex-Microsoftees. Contrary to popular opinion, looks like Microsoft people know how to do some things really well after all (even if they're no longer at MS).&lt;br /&gt;&lt;br /&gt;There are some good hosted wiki's too, but I didn't really spend much time researching them since they usually cost money. &lt;a href="http://brainkeeper.com/"&gt;BrainKeeper&lt;/a&gt; looks good and is feature-rich. Everyone said &lt;a href="http://www.jot.com/"&gt;JotSpot&lt;/a&gt; was nice, but we're still waiting for Google to rerelease it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-6002685448841046241?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/6002685448841046241/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/10/i-may-have-found-perfect-wiki.html#comment-form" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/6002685448841046241?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/6002685448841046241?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/10/i-may-have-found-perfect-wiki.html" title="I may have found the perfect wiki" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp3.blogger.com/_eTH-FZxjIII/Rw3El2mxCvI/AAAAAAAAAAo/GNXk-G9gH8k/s72-c/mindtouch.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">14</thr:total></entry><entry gd:etag="W/&quot;DEEHQnc-fSp7ImA9WB9SGE8.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-3762601954766497912</id><published>2007-10-07T20:07:00.000-05:00</published><updated>2007-10-08T01:57:13.955-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-08T01:57:13.955-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="tagging" /><category scheme="http://www.blogger.com/atom/ns#" term="wiki" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="collaboration" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="information" /><title>In search of the perfect wiki</title><content type="html">A few weeks ago I went to &lt;a href="http://tonydye.typepad.com/main/2007/09/brentwood-citrt.html"&gt;a dinner&lt;/a&gt; with a few church IT folks where we discussed several things. One thing that was mentioned was using a &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;wiki&lt;/a&gt; for internal documentation. And I've been racking my brain about that ever since. I mean, it's not a revolutionary idea. We are already using &lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; for some project management and minimal wiki, and I've looked into &lt;a href="http://wiki.splitbrain.org/wiki:dokuwiki"&gt;DokuWiki&lt;/a&gt; a bit.&lt;br&gt;&lt;br&gt;Ever since the dinner, I've been on a quest to find the perfect wiki solution. There are several choices and they all have their ups and downs. The problem, is, I tend to be a bit of a perfectionist (a maximizer according to &lt;a href="https://www.strengthsfinder.com/"&gt;StrengthsFinder&lt;/a&gt;). So I don't just want any old thing that will get by, especially if it will mean converting to a different one in a year.&lt;br&gt;&lt;br&gt;I want tagging (emergent categorization), user friendly (WYSIWYG editor, clean interface, easy to use tools), access control (so sensitive docs can be protected), discussion/commenting, good version control, good attachment handling, LDAP authentication (so users don't need to remember yet another username &amp; password), mature, runs on Windows, preferably free/open source, extensible/customizable, etc. &lt;a href="http://twiki.org/"&gt;TWiki&lt;/a&gt; sounds intriguing, I may just have to try it, but it doesn't appear to have the cleanest interface - seems a bit clunky. &lt;a href="http://www.mediawiki.org/"&gt;MediaWiki&lt;/a&gt; is the most popular, but appears weak in ACL and some enterprise features. Some of the non-free and hosted options look appealing - but a wiki isn't exactly in our budget.&lt;br&gt;&lt;br&gt;So, why a wiki? Because it's cool, and everyone else is doing it? Well, sort of. More like it does certain things a lot better than a file share. Accessible from any web browser, better searching, better linking, better collaboration, more flexible categorization, anyone can edit and version control are the main benefits. My thought is that we'll start with IT, then get other departments to start using it, and perhaps allow our field staff to use it as well (like best practices for campus ministry, etc.).&lt;br&gt;&lt;br&gt;I love &lt;a href="http://en.wikipedia.org/wiki/Tag_%28metadata%29"&gt;tagging&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Hyperlink"&gt;linking&lt;/a&gt; so much more than limited hierarchical folder structures. So much information falls into multiple categories and relates to other things, both of which current file systems don't handle well. Hierarchies aren't evil, but limiting a file to a single category under several levels of folders is not the best solution. Also, allowing anyone to edit (when appropriate) means so many more people can provide input, while &lt;a href="http://en.wikipedia.org/wiki/Revision_control"&gt;version control&lt;/a&gt; allows easy undo.&lt;br&gt;&lt;br&gt;I recently discussed some of my wiki research with my &lt;a href="http://thelloyds.multiply.com/"&gt;office manager&lt;/a&gt; who is tired of all his e-mail and is looking into better solutions for task/project management (something more user friendly than Trac, more like &lt;a href="http://www.basecamphq.com/"&gt;Basecamp&lt;/a&gt;).&lt;br&gt;&lt;br&gt;I will keep researching wikis and let you know what we decide. I would love to hear which wiki you are using within your organization and about your experience.&lt;br&gt;  &lt;!-- multiply:no_crosspost --&gt;&lt;p class='multiply:no_crosspost'&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-3762601954766497912?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/3762601954766497912/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/10/in-search-of-perfect-wiki.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/3762601954766497912?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/3762601954766497912?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/10/in-search-of-perfect-wiki.html" title="In search of the perfect wiki" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEAARH06fCp7ImA9WB9SGE8.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-5679677242961306093</id><published>2007-08-27T01:28:00.000-05:00</published><updated>2007-10-08T01:59:05.314-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-08T01:59:05.314-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="every nation" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="prayer" /><category scheme="http://www.blogger.com/atom/ns#" term="lightning" /><title>Our office got struck by lightning</title><content type="html">Crazy - our office got struck by lightning friday night. The building's electrical got fried and power will be out till wed or later (5+ days total). Fortunately our servers were protected by our UPS, but our battery backup only lasts minutes, not days. So no email, intranet, online giving or phones. And the office is closed mon &amp; tues.&lt;br /&gt;&lt;br /&gt;Lots of drama in the meantime trying to notify people and redirect the intranet and figure out what to do. (FYI for Every Nation staff there are updates at http://twitter.com/enmstaffnews.)&lt;br /&gt;&lt;br /&gt;My comcast has been down all day which hasn't helped. At least I have internet on my treo. And, a coworker is flying home to be with family. So, if you could pray for our office situation and our staff we'd really appreciate it.&lt;br /&gt;&lt;br /&gt;I think Jim Caviezel got struck by lightning while they were filming The Passion. I'm sure God will use this situation for good somehow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-5679677242961306093?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/5679677242961306093/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/08/our-office-got-struck-by-lightning.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5679677242961306093?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5679677242961306093?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/08/our-office-got-struck-by-lightning.html" title="Our office got struck by lightning" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0cERnk6eip7ImA9WB5WFks.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-1716995857231849193</id><published>2007-07-28T17:14:00.000-05:00</published><updated>2007-07-28T17:16:47.712-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-28T17:16:47.712-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="education" /><category scheme="http://www.blogger.com/atom/ns#" term="movies" /><category scheme="http://www.blogger.com/atom/ns#" term="society" /><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="men" /><category scheme="http://www.blogger.com/atom/ns#" term="God" /><title>Carpe Diem - Thoughts on Dead Poets Society</title><content type="html">I recently watched &lt;span style="font-style: italic;"&gt;Dead Poets Society&lt;/span&gt; for the first time. I loved this movie, and it touches on some of the issues I've recently thought or blogged about, including manhood, our education system and stepping out, and it made me think about a poem my friend Eric recently posted.&lt;br&gt;&lt;br&gt;I think our education system has a tendency toward lecturing and regurgitating, without enough dialogue and learning to think on our own. Often teachers teach what the curriculum says and expect students to respond with what the textbook says. There are exceptions, but the norm is conformity. And so often we as a people have a tendency to conform, to trivially accept what we hear and do what everyone else is doing.&lt;br&gt;&lt;br&gt;The teacher, Keating, challenges his students to be free thinkers and non-conformists. His first lesson is "carpe diem" (sieze the day), and talks about how most of their predecessors believed they were "destined for great things" (sound familiar?) but they waited too long. Keating also quoted Thoreau, "Most men lead lives of quiet desperation," then stated, "Don't be resigned to that. Break out!"&lt;br&gt;&lt;br&gt;I want to break out! ...not lead a life of quiet desperation.&lt;br&gt;&lt;br&gt;But, life is a balance. On the one hand, so many people do what they're "supposed to" or what everyone else does or what they need to survive but never live out their dreams. Some may have let their dreams die or lost hope in them, but we need dreams. Dream big, trust God and take steps toward that dream (baby steps are often the best way to start).&lt;br&gt;&lt;br&gt;On the other hand, there is so much sin because people let their desires control them. I do not want to live my life always waiting and never experiencing my dreams. But I also want to follow, obey and trust God. I believe He wants us to be truly alive to the desires He's placed inside us (sometimes that means waiting and sometimes stepping out), yet not to succomb to sin. And often living our dreams means sacrifice and hard work.&lt;br&gt;&lt;br&gt;We can't just do what we want and disobey God, parents, the law or our bank accounts and not expect consequences. Neil's situation in the movie was very difficult, but he could have avoided tragedy by waiting rather than overtly disobeying his father. And sin and tragedy happen so often due to a lack of wisdom. But, too often I feel like I and others are leading lives of "quiet desperation." Waiting, waiting, waiting and missing opportunities. There have been moments, but I want more. I do not want to live a life of complacency. I want to be passionate for God and life, to step out, do great things, and live my dreams.&lt;br&gt;&lt;br&gt;I love my friend, Eric's recent poem, &lt;a href="http://ericsidler.blogspot.com/2007/07/dare-me-to-move.html"&gt;Dare Me to Move&lt;/a&gt;. There are a couple parts which I really love:&lt;br&gt;&lt;blockquote&gt;Awaken my dreams&lt;br&gt;Oh, Lover of souls&lt;br&gt;Let love haunt in the night&lt;br&gt;Let passion set sail&lt;br&gt;And purpose steer true&lt;br&gt;...&lt;br&gt;If failure it be,&lt;br&gt;Then failing I'll try.&lt;br&gt;&lt;br&gt;Let me not idly stand by;&lt;br&gt;&lt;br&gt;Let me not idly stand by.&lt;/blockquote&gt;&lt;br&gt;PS I could go on with how these thoughts relate to needing to trust in God, finding our fulfillment in His presence and the patient faith of Abraham, but I'll save that for another blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-1716995857231849193?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/1716995857231849193/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/07/carpe-diem-thoughts-on-dead-poets.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/1716995857231849193?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/1716995857231849193?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/07/carpe-diem-thoughts-on-dead-poets.html" title="Carpe Diem - Thoughts on Dead Poets Society" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;CkMNSHkycCp7ImA9WB5WEEo.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-5946623094155576949</id><published>2007-07-21T13:45:00.000-05:00</published><updated>2007-07-21T21:14:59.798-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-21T21:14:59.798-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="youth" /><category scheme="http://www.blogger.com/atom/ns#" term="globalsupportmission" /><category scheme="http://www.blogger.com/atom/ns#" term="africa" /><category scheme="http://www.blogger.com/atom/ns#" term="movies" /><category scheme="http://www.blogger.com/atom/ns#" term="charity" /><category scheme="http://www.blogger.com/atom/ns#" term="prayer" /><category scheme="http://www.blogger.com/atom/ns#" term="men" /><category scheme="http://www.blogger.com/atom/ns#" term="God" /><title>Thoughts on Blood Diamond</title><content type="html">I just watched &lt;a href="http://blooddiamondmovie.warnerbros.com/"&gt;&lt;span style="font-style: italic;"&gt;Blood Diamond&lt;/span&gt;&lt;/a&gt; for the first time last night. It's an intense and moving film. The senseless violence funded by diamonds is horrible. The rebel soldiers (RUF) attacked multiple villages. Why? Maybe just to capture a few slaves, maybe to inspire fear and eliminate some opposition, but I'm not totally sure. But, even the government soldiers did not hesitate to shoot civilians who got between them and the RUF in one battle.&lt;br /&gt;&lt;br /&gt;The movie definitely hits on the issue of boys becoming men, which I discussed in a &lt;a href="http://mhenry.multiply.com/journal/item/10"&gt;recent blog&lt;/a&gt;. After the rebels kidnap some boys, they quickly indoctrinate them into becoming violent child soldiers, an obvious case of boys becoming men too quickly. In this case, Solomon was helpless to save his son until he found him again. Yet, in America, teenage sex, underage drunkenness, drugs and gangs are a huge issue which needs addressing. Children grow up too soon on their own while parents often either avoid the issue or try to keep their kids as children for too long. It is not a simple issue, and I'm not a parent so I don't propose to have the answers, except that we need God.&lt;br /&gt;&lt;br /&gt;One thing the RUF commander said was true, that youth are the future. Yet, that's just like the devil who mixes lies with truth to make everything sound true. But, youth are the future. The question is, will they serve God like David and Timothy in their youth, or will we allow the devil to capture their hearts?&lt;br /&gt;&lt;br /&gt;How do we help Africa? Do we just send some money? Buying diamonds from conflict zones sends money to Africa, but obviously it doesn't help the situation. Legislation like banning the import and sale of blood diamonds can help, some. Giving to charities can help, and I'm thankful for all the recent awareness about Africa, but charity won't solve all their problems. We need to pray and some people need to go there. Some of the greatest revivals have taken place on the continent of Africa, yet why is it still plagued by so much conflict, corruption, starvation and HIV/AIDS? I don't know, other than that humans are far from perfect and this world needs God in a major way.&lt;br /&gt;&lt;br /&gt;I wish I were more motivated to do something, but sometimes I feel paralyzed by all the problems in the world and in my own life. There is no way one person can solve all the world's problems (other than Jesus), but we can still pray, give and go where God leads. And sometimes it takes time. My friends at &lt;a href="http://www.globalsupportmission.com/"&gt;Global Support Mission&lt;/a&gt;, who recently went on a mission trip to Uganda, say that action starts with awareness (which this movie brings), which leads to sympathy and finally compassion (=action).&lt;br /&gt;&lt;br /&gt;I am thankful for our God who is able to bring healing to a land, like He did for Israel several times: "If My people who are called by My name will humble themselves, and pray and seek My face, and turn from their wicked ways, then I will hear from heaven, and will forgive their sin and heal their land." (2 Chronicles 7:14, NIV)&lt;br /&gt;&lt;!-- multiply:no_crosspost --&gt;&lt;p class="multiply:no_crosspost"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-5946623094155576949?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/5946623094155576949/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/07/thoughts-on-blood-diamond.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5946623094155576949?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5946623094155576949?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/07/thoughts-on-blood-diamond.html" title="Thoughts on Blood Diamond" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry gd:etag="W/&quot;CkAERnk7eip7ImA9WB5WEEo.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-5460428334256021829</id><published>2007-07-04T23:43:00.000-05:00</published><updated>2007-07-21T21:18:27.702-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-21T21:18:27.702-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="movies" /><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="Jesus" /><category scheme="http://www.blogger.com/atom/ns#" term="story" /><category scheme="http://www.blogger.com/atom/ns#" term="God" /><category scheme="http://www.blogger.com/atom/ns#" term="spirituality" /><title>Why are stories so powerful?</title><content type="html">I just watched &lt;a href="http://www.disney.com/terabithia/"&gt;Bridge to Terabithia&lt;/a&gt; again last night (twice). It's a powerfully moving story, and even if it is a kid's story, it touched something deep in my heart. It made me long for something, it made me cry. And it inspired me to pray.&lt;br /&gt;&lt;br /&gt;I identify with Jesse in a lot of ways, especially when I was his age. Feeling outcast and longing to belong, facing bullies, being hounded about chores by my dad, wanting to express my creativity and needing others to help me get past my shyness. I had a best friend and a girlfriend. But then my girlfriend dumped me and my best friend found other friends who I didn't get along with. It wasn't death, but it was still a hard loss.&lt;br /&gt;&lt;br /&gt;I long for my walk with Jesus to be like Jesse and Leslie in the story. The wonder, the joy, the fulfillment, the freedom of expression, the fellowship and being accepted by one who truly knows me. To walk in creativity using the gifts God's given me. To believe and see the great things He says. So that's what I prayed about last night, and I just rested in His presence.&lt;br /&gt;&lt;br /&gt;I hope my wife someday will also be something like Leslie was to Jesse. Not replacing God, but accepting and inspiring and encouraging and having someone to fight for.&lt;br /&gt;&lt;br /&gt;Back to the power of stories: Jesus used stories to preach, and in my own experience a testimony is more powerful than a tract. Stories like Narnia, Lord of the Rings, Braveheart and others touch people deeply. I would love to be able to tell stories that touch and inspire, heal and bring hope, and perhaps gently open people's hearts to God, like Narnia.&lt;br /&gt;&lt;br /&gt;It would be cool to write stories, and who knows if that might happen. But even if I never write a book, I would love to create games that tell stories, like Final Fantasy. I love stories, and God has given me a love and gift for technology, and games are such a popular medium today. So my dream job would be to tell stories through video games.&lt;br /&gt;&lt;br /&gt;Stories can penetrate our hearts without our minds messing it all up. That's why they're so powerful, like few other things - such as music. They can bring hope, inspire love and bring healing. I &lt;span style="font-style: italic;"&gt;love&lt;/span&gt; a good story. And I would love to somehow be involved in telling good stories.&lt;br /&gt;&lt;!-- multiply:no_crosspost --&gt;&lt;p class="multiply:no_crosspost"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-5460428334256021829?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/5460428334256021829/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/07/why-are-stories-so-powerful.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5460428334256021829?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5460428334256021829?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/07/why-are-stories-so-powerful.html" title="Why are stories so powerful?" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry gd:etag="W/&quot;DUUNSHo-fSp7ImA9WB5QFkw.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-5534659799361072625</id><published>2007-06-05T14:20:00.000-05:00</published><updated>2007-07-05T01:34:59.455-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-05T01:34:59.455-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="mac" /><title>New MacBook Pros</title><content type="html">I've been waiting for this day, and today Apple unveiled their &lt;a href="http://www.apple.com/macbookpro/"&gt;new MacBook Pros&lt;/a&gt;! They are very attractive with their new upgrades. I'm especially excited about the new graphics processor (&lt;a href="http://www.nvidia.com/object/geforce_8600M.html"&gt;NVIDIA GeForce 8600M GT&lt;/a&gt;) which is more gamer-friendly than the previous generation (it's still not the ultimate gaming GPU, but definitely an improvement and I'm sure I'll be happy). There are other upgrades as well, including Intel's new Santa Rosa chipset, LED backlighting and more.&lt;br /&gt;&lt;br /&gt;Of course, I'll need to run Windows some (probably Vista Home Premium) to do some development and play some games, but I'm excited to (hopefully very soon) get a much faster and more portable computer which I can switch between Mac and Windows.&lt;br /&gt;&lt;br /&gt;Now I'm just praying for the cash - cause it ain't the cheapest thing around.&lt;br /&gt;&lt;!-- multiply:no_crosspost --&gt;&lt;p class="multiply:no_crosspost"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-5534659799361072625?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/5534659799361072625/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/06/new-macbook-pros.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5534659799361072625?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5534659799361072625?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/06/new-macbook-pros.html" title="New MacBook Pros" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CE4ERHs6cSp7ImA9WBFaEUw.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-3080747000413161105</id><published>2007-05-13T17:18:00.000-05:00</published><updated>2007-05-13T22:21:45.519-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-13T22:21:45.519-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="life" /><category scheme="http://www.blogger.com/atom/ns#" term="communication" /><title>What's your favorite form of communication? (poll)</title><content type="html">Technology has greatly multiplied the number of ways we can communicate. But, different people prefer different forms of communication over others. Of course, circumstances vary and the preferred method may depend on what you need to communicate or who you need to communicate to. For the poll's sake, however, please choose your overall favorite. Feel free to explain your choice in a comment, or even comment about your least favorite method, etc.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mhenry.multiply.com/journal/item/6"&gt;Take the poll&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- multiply:no_crosspost --&gt;&lt;p class="multiply:no_crosspost"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-3080747000413161105?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="related" href="http://mhenry.multiply.com/journal/item/6" title="What's your favorite form of communication? (poll)" /><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/3080747000413161105/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/05/what-your-favorite-form-of.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/3080747000413161105?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/3080747000413161105?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/05/what-your-favorite-form-of.html" title="What's your favorite form of communication? (poll)" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;C0AGQ3s_fCp7ImA9WBFbF0U.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-3663725055540610356</id><published>2007-05-09T21:25:00.000-05:00</published><updated>2007-05-10T02:22:02.544-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-10T02:22:02.544-05:00</app:edited><title>Good Times</title><content type="html">When are my favorite times? The times I remember and cherish?&lt;br&gt;&lt;br&gt;The best are when God speaks to me while I'm in His presence. Being in His presence is always great and God definitely refreshed me through several prayer &amp; worship meetings the last 6 months.&lt;br&gt;&lt;br&gt;Next is almost always when I'm with a few good friends - rarely at a big party, nor usually even when I'm with just one other friend (though it can be great). My favorite times are usually when I'm spending quality time with a small group of friends. Like our camping trip to the Smokies in March, playing games at the Blair house after prayer, and a trip to Tahoe with my brother and two close friends during Christmas break. I really love it when I feel like I'm a part of the group, like I'm appreciated and not an outsider. I wish I felt that way more often.&lt;br&gt;&lt;br&gt;I am thankful, however, for a few of my close friends who do make me feel appreciated. I realize I should make more of an effort to get together or call them more regularly - unfortunately it's so easy for me to get distracted or be lazy. I ought to let them know I appreciate them, and even to reach out to those who also feel alone (can you feel my selfishness and insecurities cringing?). But, I hope to change by God's grace, so that I will do more of what really matters in life.&lt;br&gt;&lt;!-- multiply:no_crosspost --&gt;&lt;p class='multiply:no_crosspost'&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-3663725055540610356?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/3663725055540610356/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/05/good-times.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/3663725055540610356?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/3663725055540610356?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/05/good-times.html" title="Good Times" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;AkMMSXwzcCp7ImA9WBFVEEw.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-6808958375650953759</id><published>2007-04-08T02:43:00.000-05:00</published><updated>2007-04-08T02:48:08.288-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-08T02:48:08.288-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><category scheme="http://www.blogger.com/atom/ns#" term="music" /><title>Get Perpendicular</title><content type="html">As I was researching external hard drives, I was reading about &lt;a href="http://en.wikipedia.org/wiki/Perpendicular_recording"&gt;perpendicular recording&lt;/a&gt; technology which newer hard drives are using to fit more data into a smaller space. I found this hilarious &lt;span style="font-style: italic;"&gt;and&lt;/span&gt; educational music video by Hitachi explaining the technology. Check it out, it's &lt;a style="font-style: italic;" href="http://www.hitachigst.com/hdd/research/recording_head/pr/PerpendicularAnimation.html"&gt;Get Perpendicular&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you haven't already heard, Hitachi just &lt;a href="http://www.anandtech.com/storage/showdoc.aspx?i=2949"&gt;released&lt;/a&gt; the world's first terabyte drive (1 TB = 1,000 GB) which uses perpendicular recording technology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-6808958375650953759?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="related" href="http://www.hitachigst.com/hdd/research/recording_head/pr/PerpendicularAnimation.html" title="Get Perpendicular" /><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/6808958375650953759/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/04/get-perpendicular.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/6808958375650953759?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/6808958375650953759?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/04/get-perpendicular.html" title="Get Perpendicular" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A08FRXw_cSp7ImA9WBFWGU8.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-6003666194897973789</id><published>2007-04-07T01:18:00.000-05:00</published><updated>2007-04-07T02:10:14.249-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-07T02:10:14.249-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="friends" /><title>A great new band</title><content type="html">A few of my friends performed their first show for their new band tonight, and I was amazed. I loved their sound and I thought they played very well. I want to buy their CD - but they don't have one yet. It was just a small crowd of a few of their friends, but it was a great show. I am honored to have such talented friends.&lt;br /&gt;&lt;br /&gt;They have a bit of a Coldplay feel, with a mix including mellow and intense songs. I was definitely getting into the beat. I am far from a band critic and not quite impartial, but I think they have potential to be big. I think they need to figure out their band name before that can happen though. ;-)&lt;br /&gt;&lt;br /&gt;The band members include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Travis on drums&lt;/li&gt;&lt;li&gt;Aaron on keys, accordion and backup vocals&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Travis on electric guitar&lt;/li&gt;&lt;li&gt;Quinn on lead vocals, acoustic guitar and keys&lt;br /&gt;&lt;/li&gt;&lt;li&gt;(I forget his name) on bass&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-6003666194897973789?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/6003666194897973789/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/04/great-new-band.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/6003666194897973789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/6003666194897973789?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/04/great-new-band.html" title="A great new band" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DEUERnk9cSp7ImA9WBFWEU8.&quot;"><id>tag:blogger.com,1999:blog-6848411.post-5042027947327596380</id><published>2007-03-28T16:26:00.000-06:00</published><updated>2007-03-28T17:56:47.769-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-03-28T17:56:47.769-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="tech" /><title>Favorite web development tools</title><content type="html">Here are some of the tools which I find very helpful when doing software development. I use Windows so some of these tools are only for Windows - but most of them are open source. My latest project involved ASP and VBScript, though I've also been doing some ASP.NET and C# lately:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://notepad-plus.sourceforge.net/"&gt;Notepad++&lt;/a&gt; - a great text editor which has syntax highlighting for most programming languages, basic auto-completion via ctrl-space, regular expression find/replace, and several other features &amp;amp; plug-ins including a hex-editor.&lt;/li&gt;&lt;li&gt;&lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt; - a really cool tool to compare files and even directories. You can merge individual changes between files and even edit from within the tool. You can even use custom filters when comparing directories, which is helpful when comparing directories under version control.&lt;/li&gt;&lt;li&gt;&lt;a href="http://tortoisesvn.net/"&gt;TortoiseSVN&lt;/a&gt; - The best client for the best version control system - &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;. :) (Of course, I haven't had much experience with other systems, but I'm entitled to my opinion.) Since I've started using version control, I love it. It provides a way to log my changes, to see what I've changed since my last revision (or go back to a specific revision), another backup system in case we screw something up, a way to code and test on a development server and easily update the live server, and a way to sync changes with my co-worker. Merging could be easier (&lt;a href="http://www.orcaware.com/svn/wiki/Svnmerge.py"&gt;svnmerge&lt;/a&gt; helps - but it's not perfect).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; - A project manager/issue tracker and wiki. It's pretty sweet and it integrates really well with Subversion. It's far from perfect, but it's come in quite handy and half our office used it when we developed our new intranet. It's much better than using an Excel spreadsheet to track bugs (which I did at a previous company). I really wish it had better support for multiple projects and a few other features. Since I didn't find the perfect issue tracker, here are some others I looked at:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.atlassian.com/software/jira/"&gt;Atlassian JIRA&lt;/a&gt; - really cool, but not free for us&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.flyspray.org/"&gt;Flyspray&lt;/a&gt; - has multiple project support, ticket dependencies, voting and better notification, but doesn't integrate as well with Subversion and has pretty poor support for IE (which is an issue if you need to work with several others).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.porchlightnow.com/"&gt;Porchlight&lt;/a&gt; - cool Ruby on Rails app, similar to &lt;a href="http://www.basecamphq.com/"&gt;Basecamp&lt;/a&gt;, but limited and has a price scale&lt;/li&gt;&lt;li&gt;I did not really look at &lt;a href="http://www.bugzilla.org/"&gt;Bugzilla&lt;/a&gt; since from everything I've heard it's a big, scary monster.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt; - I'm always looking up language syntax, best practices, solutions, and more. Plus having a built-in news reader and a time-sensitive scenic view (thanks to the new themes) - it's great. &lt;a href="http://groups.google.com/"&gt;Google Groups&lt;/a&gt; can be really handy for discussions, too.&lt;/li&gt;&lt;/ul&gt;There are several other tools I use, like &lt;a href="http://msdn.microsoft.com/vstudio/express/vwd/"&gt;Visual Web Developer Express&lt;/a&gt; and &lt;a href="http://www.aisto.com/roeder/dotnet/"&gt;Reflector for .NET&lt;/a&gt; when I'm developing in ASP.NET and C#. Or &lt;a href="http://www.mozilla.com/en-US/firefox/"&gt;Firefox&lt;/a&gt; with the &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/60"&gt;Web Developer Toolbar&lt;/a&gt; and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1843"&gt;FireBug&lt;/a&gt;. Or &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt; for graphics. Etc, etc. Anyways, I'd love to hear your thoughts, and what your favorite tools are.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6848411-5042027947327596380?l=www.mikehenry.name'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.mikehenry.name/feeds/5042027947327596380/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.mikehenry.name/2007/03/favorite-web-development-tools.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5042027947327596380?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6848411/posts/default/5042027947327596380?v=2" /><link rel="alternate" type="text/html" href="http://www.mikehenry.name/2007/03/favorite-web-development-tools.html" title="Favorite web development tools" /><author><name>Mike Henry</name><uri>http://www.blogger.com/profile/04905773738309432430</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="03681946630485027989" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry></feed>
