<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3617465930008212158</id><updated>2012-01-17T20:21:16.105-08:00</updated><category term='technology'/><category term='introduction'/><category term='personal'/><category term='spiritual'/><category term='GoDaddy'/><category term='forex'/><category term='forex robots'/><category term='arrays'/><category term='gridview'/><category term='asp.net'/><category term='apologetics'/><category term='social'/><category term='share hosting'/><category term='website'/><category term='financial'/><title type='text'>Geeks have a Life, Too</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-3051346659128506398</id><published>2010-12-21T19:29:00.001-08:00</published><updated>2010-12-21T19:29:58.402-08:00</updated><title type='text'>Tips for the first half of life: For my sons</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I've been meeting over the past few months with a group of men early (VERY early) on Friday mornings. It's a program about living life called "Men's Fraternity".  Last week we finished up the first semester before breaking until  after the new year, and the program leader, Robert Lewis, took the  opportunity to summarize the ground we've covered in the last few months. The resulting summary was "Practical 'Take Homes' for Two Halves of he Gread Adventure [Life]".  While I myself am will into what Lewis refers to as the "Second Half", I  could resonate with his advice for young men in the "First Half" of life.  In fact, I wondered how my life might have been different if I had  taken this advice to heart as a young man.&lt;br/&gt;&lt;br/&gt;I have two sons, ages 30 and 28, who are definitely  in the  First Half.  So I pass on these tips to them... but also to any other young man who would care to read them.&lt;br/&gt;&lt;br/&gt;1. Invest regularly in your marriage, and make your wife your best friend.&lt;br/&gt;&lt;br/&gt;2. Learn who you ARE and who you ARE NOT.  Embrace who you are, and be you to the fullest, and don't try to be someone you are not, nor to live your life as though you were.&lt;br/&gt;&lt;br/&gt;3. Always live within your means, stay out of debt, and learn to save and give away. [Dave Ramsey has a tremendous program for learning this.]&lt;br/&gt;&lt;br/&gt;4. Go for  great EXPERIENCES over acquiring more STUFF.&lt;br/&gt;&lt;br/&gt;5. Get to  know  God personally.&lt;br/&gt;&lt;br/&gt;6. Never stop fighting for purity and  a life of integrity.  It's the foundation of a successful second half.&lt;br/&gt;&lt;br/&gt;7. Learn to ask forgiveness... from God and others.&lt;br/&gt;&lt;br/&gt;8.  Develop men friends you can love an be accountable to - make them your own personal "board of directors".&lt;br/&gt;&lt;br/&gt;9.  Start developing and refining a long-range vision - a North Star for your life.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-3051346659128506398?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/3051346659128506398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=3051346659128506398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3051346659128506398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3051346659128506398'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/12/tips-for-first-half-of-life-for-my-sons.html' title='Tips for the first half of life: For my sons'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-3300483065293550375</id><published>2010-11-28T19:39:00.001-08:00</published><updated>2010-11-28T19:39:27.583-08:00</updated><title type='text'>Best Price on Quicken</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I use Intuit's Quicken to keep track of my finances (in fact, I haven't kept a manual check register since 1991 when I started using it!) and TurboTax to do my taxes.  I don't succumb to Intuit's come-on's to get me to upgrade to the latest and greates version every year, but I do upgrade every couple or 3 years or so, primarily because they have a tendency to drop support for certain features from older versions.&lt;br/&gt;&lt;br/&gt;So every couple years at this time of year, I go through this exercise of trying to find the best combination price on TurboTax and Quicken.  They (Intuit and the various retailers) play all kinds of games of promotional tie-ins and rebates between the two.  I'm going to use the Deluxe versions of both TurboTax and Quicken this year, and each has a retail list price of about $60 (although the Deluxe version without the included State tax return, which I don't need in Texas, appears to be about $50).  But then you can usually find a rebate of up to $30 on Quicken if you buy Turbotax.  &lt;br/&gt;&lt;br/&gt;I looked around at different retailers, including Best Buy, Sam's, and Fry's Sam's had each of them for $38-$39 (can't remember the change), but no rebates, which put the total at $78 + tax.  Best Buy appeared to have a good deal Saturday night, with Quicken for $39.99, and the Premier version of Quicken bearing a sticker proclaiming a $25 instant rebate on Quicken Deluxe, Premier, or Home and Business if you bought Turbotax.  But the sticker wasn't on the Deluxe version, and they wouldn't honor the terms at the cash register, making the total with tax $91.  Thanks, but no.&lt;br/&gt;&lt;br/&gt;I checked online today, including sites such as PriceGrabber who make it their mission to be able to find price online. BUZZZZ. Wrong answer.  They claimed $46 was the best price for Quicken Deluxe 2011.&lt;br/&gt;&lt;br/&gt;I manually went to Amazon, and checked their, and their price was $35.98, with free shipping and no sales tax (at least in Texas).  Go &lt;a href='http://www.amazon.com/gp/product/B003YJ5DKG?ie=UTF8&amp;amp;tag=gehaalito-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B003YJ5DKG'&gt;here&lt;/a&gt;&lt;img width='1' height='1' border='0' style='border: medium none  ! important; margin: 0px ! important;' alt='' src='http://www.assoc-amazon.com/e/ir?t=gehaalito-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B003YJ5DKG'/&gt; to check it out.   And, actually, you can get an instant download version for $3.00 less ($32.98).   And that was without a rebate, which leaves me able to purchase Turbotax a little later when Fry's starts running their  promotions to get 100's of dollars worth of software free with the purchase of Turbotax!&lt;br/&gt;&lt;br/&gt;Anyway, just in case anybody else is looking.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-3300483065293550375?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/3300483065293550375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=3300483065293550375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3300483065293550375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3300483065293550375'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/11/best-price-on-quicken.html' title='Best Price on Quicken'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-8189609629767593135</id><published>2010-09-06T17:34:00.001-07:00</published><updated>2010-09-06T17:34:00.814-07:00</updated><title type='text'>1000 Days to Retirement!</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;A couple months ago, I sat down with my new bride to talk about some near-term and more distant goals.&lt;br/&gt;&lt;br/&gt;And somewhere along the line, in thinking about where we wanted to be at any point in the future, the idea crossed my mind of a "thousand day goal".  So I looked at the calendar to figure out where 1,000 days out would put us, and realized, that's around the time I will turn 62.&lt;br/&gt;&lt;br/&gt;That's sort of a magic number for a few reasons.  One, of course, is that 62 is the earliest age that you can retire and draw regular social security benefits.  Another is that we have a 3-year commitment to remain in the house that we bought just before our wedding, and that will be up about that time.&lt;br/&gt;&lt;br/&gt;But my thoughts around goals were motivated by the realization that I may not always be able to work and/or able to find work.  Don't get me wrong, I'm a diligent worker, and can't really picture myself "retired" in the conventional sense - sitting on the front porch in a rocker admiring the scenery.  I'm pretty sure that as long as I'm able, I'll be doing something that is, in some sense, productive.  But there are two issues. One is that I have no guarantees of how long my health will hold up.  God has blessed me in my recovery from cancer with very few lasting side effects of consequence, but I know that during the time I was sick and for a considerable time afterward, I was completely incapable of working.  And I realize now that, the older I get, the higher the probability that I may be in that state again someday.&lt;br/&gt;&lt;br/&gt;The second consideration is that it's becoming more and more difficult to find someone that wants to hire me to do the work that I do well (software development). There are many reasons for that.  Partly, my years of experience are a double-edge sword.  I'm very good at what I do, but often employers would rather hire someone less experienced (read "younger") and cheaper.  Currently, I'm being well-paid on a contract.  And the expectation is that the contract will continue for a relatively long time.  But things change, and, especially in independent contracting, there are no guarantees.&lt;br/&gt;&lt;br/&gt;So the goals that I wanted to set for the next 1000 days are to get myself in a position where I have sufficient income coming in to live comfortably, and have that income not be dependent on my working on an hourly or salaried basis for anybody else that can tell me I can't work for them anymore.  Contrary to what I had expected earlier in my life, that income probably won't come from investments, because most of my retirement "nest egg" was wiped out by the expenses of fighting my cancer.  But there are other avenues.&lt;br/&gt;&lt;br/&gt;I'm looking at a couple different activities that will generate an on-going stream of income, not necessarily without my working, but without my "clocking in" on an hourly business with some one.  The thing that these activities have in common is that I can do them from just about anywhere that I can get consistent power and a reliable internet connection.  So we're free to move just about anywhere in the US, and most places in the world, if that's where we feel God is leading us.&lt;br/&gt;&lt;br/&gt;Check back with me later, and I'll try to keep you posted on how it's going.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-8189609629767593135?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/8189609629767593135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=8189609629767593135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/8189609629767593135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/8189609629767593135'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/09/1000-days-to-retirement.html' title='1000 Days to Retirement!'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-4125331597631850327</id><published>2010-08-09T04:19:00.001-07:00</published><updated>2010-08-09T04:19:17.955-07:00</updated><title type='text'>Online businesses</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;One thing that has drawn a lot of my interest recently is the idea of setting up some sort of online business that will generate a stream of income on auto-pilot.  The reason is simple: I won't be physically able to continue working indefinitely, and I don't have enough saved in order to retire.&lt;br/&gt;&lt;br/&gt;Steven James, a guy who has come across my radar recently, has a strategy that seems like it has some significant potential: Don't shoot for the stars, i.e., a single website or business that will generate all the income you need, but rather, put together a collection of simple, tiny web-sites that will gather the "low-hanging fruit" - picking off onezy-twozy sales of $5-50 a day.  Just a relatively few of those, and you have enough income to live off of.&lt;br/&gt;&lt;br/&gt;He talks about it in this link:&lt;a href='http://OnlineIncomeFlood.com/'&gt;Multiple Profit Streams&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-4125331597631850327?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/4125331597631850327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=4125331597631850327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4125331597631850327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4125331597631850327'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/08/online-businesses.html' title='Online businesses'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-657871126992405751</id><published>2010-07-28T03:24:00.001-07:00</published><updated>2010-07-28T03:24:51.045-07:00</updated><title type='text'>So much hype!</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;It seems like everyday I get at least half a dozen SPAM emails promoting the latest new forex robot. What is really disconcerting is that each one of them decries the seemingly endless hype about new robots, and how completely worthless they all are - and then goes on to hype their latest creation as the one that's different! &lt;br/&gt;&lt;br/&gt;Take this one - &lt;a href='http://c6c4b1khsixfsk1bjeov1n5ocd.hop.clickbank.net/%22' target='_blank'&gt;Extreme Pip Poacher&lt;/a&gt; - for example. He spends most of a very long advertising copy describing the bad things people do to try to sell you worthless robots that aren't going to work - and then says "But I'm different."  And shows you  a video of "&lt;span style='font-family: &amp;apos;Tahoma&amp;apos;,&amp;apos;sans-serif&amp;apos;;'&gt;real, live footage showed    a &lt;strong&gt;stunning $1454.96 profit&lt;/strong&gt; from three &lt;strong&gt;consecutive winning&lt;/strong&gt; trades – completely    hands-free and on autopilot."  Implying, of course, that if you buy his robot, you'll do the same.&lt;br/&gt;&lt;br/&gt;The thing is, some of these robots actually do make money.  Not as much as their advertising copy claims, but enough to be worthwhile, as I detailed in my &lt;a href='http://onegeekwithalife.blogspot.com/2010/07/forex-robot-that-has-worked-at-least.html' target='_blank'&gt;earlier blog&lt;/a&gt;.  So how do you know which?&lt;br/&gt;&lt;br/&gt;I've decided I'm going to start a new site dedicated to reviewing robots and letting you know what I find - without all the hype!  Stay tuned.&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-657871126992405751?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/657871126992405751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=657871126992405751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/657871126992405751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/657871126992405751'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/07/so-much-hype.html' title='So much hype!'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-7003234009075027022</id><published>2010-07-18T19:41:00.001-07:00</published><updated>2010-07-20T16:07:17.800-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='financial'/><category scheme='http://www.blogger.com/atom/ns#' term='forex robots'/><category scheme='http://www.blogger.com/atom/ns#' term='forex'/><title type='text'>A Forex Robot that HAS worked, at least for me</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;In &lt;a href="http://onegeekwithalife.blogspot.com/2010/07/forex-robot-world-cup-results.html" target="_blank"&gt;yesterday's blog post&lt;/a&gt;, I talked about the very disappointing results of my experiment with the Forex Robot World Cup trading robot, Fusion. (To summarize, it turned a $400 trading account into $240 in about 3 weeks.)&lt;br /&gt;&lt;br /&gt;But that doesn't mean that no forex robot can actually yield positive results.&lt;br /&gt;&lt;br /&gt;When I first decided to dabble in foreign exchange (forex) trading, I also looked into a couple of the myriad of forex robots that are available, for two reasons. First, I knew I had no idea what the heck I was doing, and if I could buy a program at a reasonable price that did know how to do it, then I might be money ahead.  And, secondly, I knew that, with a full time job, I really didn't have a whole lot of time to devote to it.  Automated programs - robots - can trade for you night and day, while you sleep or are at work.&lt;br /&gt;&lt;br /&gt;But not really having a lot of faith in them, I didn't want to spend a whole lot  of money.  So I bought the cheapest one I could find - a $67 program called Forex God Father.  When I had it in operation for two and a half weeks and it had yet to make a trade, I decided that was not really the program I wanted.  I requested - and received - a full refund of my money.  (That's one good thing - since skepticism about these programs is so high, they almost all come with money back guarantees.)&lt;br /&gt;&lt;br /&gt;After reading quite a bit of ad copy and a number of reviews, I tried one called &lt;a target="_top" href="http://e6cf4-wayeshsqcc0z4np26ld3.hop.clickbank.net/"&gt;Forex MegaDroid&lt;/a&gt; that sells for &lt;s&gt;$97&lt;/s&gt;$149. [Edit: After I posted this, my son checked my data and informed that the price has apparently risen to $149 - either that, or I have forgotten how much I actually spend. At any rate, he is correct, the current price is $149.]   I set it up on a demo account and let it run, and it seemed to do pretty well.  It didn't trade too often - usually once or twice a week was all, and it didn't make astounding gains, but it had very, very few losses.  Now don't get me wrong - it didn't come anywhere close to the gains promised by its advertising copy - a couple thousand percent.  But it did make consistent, positive gains with, seemingly very little risk.&lt;br /&gt;&lt;br /&gt;After a few months, I realized I really couldn't track its performance, because I was interspersing my own (practice) trades in with those that it made.  So, on the first of January, I set it up in a new demo account with a nice even $10,000 balance, and let it run without doing anything of my own in that account.  Today, 6 1/2 months later, that demo account has a balance of $14,191.74.  That's a gain of 41% in just a little over half a year.  No, it's not 2500%, but it sure beats the heck out of the 1 1/2 % I get on my savings account, or even the 12%/year I might (optimistically) get on my mutual fund.&lt;br /&gt;&lt;br /&gt;So I decided, let's try it with some real money and  see what it does. When I got back from my trip to see my son in Morocco in February, I opened a live acccount with $100.&lt;br /&gt;&lt;br /&gt;Now, MegaDroid has an astonishing percentage of winning trades, but it does  very occasionally have a losing one. And, for the reasons I detailed in yesterday's post, when it has a losing trade, it's likely to be a doozy. As it happened, the very first trade it made in the live account was a losing trade - it lost 5%.  So right off the bat, my $100 is down to $95.&lt;br /&gt;&lt;br /&gt;But from then on, it just went up and up and up. By the beginning of June, it was up 26% - even including having started off down 5%.&lt;br /&gt;&lt;br /&gt;I have control of some money that's not mine.  I'm going to have to pay it back, I just don't know when.  But until then, I have it sitting in a savings account.   After seeing the track record MegaDroid had posted over 5 months, and only one other loss, I decided that, well, like I said, I could make a lot more money than having that sitting in a savings account.  Granted, there is some risk to it (according to the disclaimers on my trading account "Margined Currency Trading is one of the riskiest forms of investment available in the financial markets"), but I felt like if I monitored it closely and determined to get out if MegaDroid lost any significant portion of the money, I could mitigate the risk.  So a few weeks ago, I put a substantial part of that money into my forex account.  It's actually only made a couple trades since then, but it's up close to $400 - more than I would  have made leaving the money in the savings account for the next 10 years! [Edit: I came home from work last night to find that it was in the middle of two more trades that ended up netting an additional $175!] And that's real, actual, spendable greenbacks.  That definitely more than covers the $97 I spent on buying MegaDroid!&lt;br /&gt;&lt;br /&gt;So my point is this - yes, MegaDroid and most other trading robots are way over-hyped.  But they can still be a very,very  profitable  opportunity.&lt;br /&gt;&lt;br /&gt;Fulll-disclosure - if you should click on the link above and decide to try &lt;a target="_top" href="http://e6cf4-wayeshsqcc0z4np26ld3.hop.clickbank.net/"&gt;Forex MegaDroid &lt;/a&gt;out for yourself, I will  earn a modest commission.  I have not let that compromise the integrity of my comments here.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-7003234009075027022?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/7003234009075027022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=7003234009075027022' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/7003234009075027022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/7003234009075027022'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/07/forex-robot-that-has-worked-at-least.html' title='A Forex Robot that HAS worked, at least for me'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-3607688162921911860</id><published>2010-07-17T07:20:00.001-07:00</published><updated>2010-07-17T07:20:51.402-07:00</updated><title type='text'>Forex Robot World Cup - results</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;It has been a long time since I blogged about the results of my experiment with Forex Robots, and I sort of left you hanging. The reason I stopped recording my results in real time was that I was about to say some pretty negative things about the sponsors of the Forex Robot World Cup, and they had a thousand dollars of my money that I wanted refunded.  They had guaranteed it, but I had no certainty that they would honor that guarantee in the face of negative publicity I might generate.  But they did.&lt;br/&gt;&lt;br/&gt;Okay, here's what I found. The "Fusion" robot that they offered does not come anywhere close to living up to the gains that they implied that it would.  In the roughly three weeks that I was actively trading it, I lost about 40% of my original, real live, cash investment ($400 went to $240) - something they loudly proclaimed in their enticing ad copy wouldn't happen. But, when I fulfilled the terms of their guarantee, they did, indeed, refund my $999 purchase price without a hassle.&lt;br/&gt;&lt;br/&gt;I started this series with the question "&lt;a href='http://onegeekwithalife.blogspot.com/2010/02/forex-robots-scam-or-opportunity.html' target='_blank'&gt;Forex Robots: Scam or Opportunity?&lt;/a&gt;".  So, was it a scam?  I think that all depends on your definition of "scam".  Did they deliver what they promised (or strongly implied)? No.  But did they take my money and run, or cheat me out of something to their gain? No.&lt;br/&gt;&lt;br/&gt;If they had delivered a robot that was just trash and then disappeared or otherwise refused to honor their guarantee, that would be a scam.  Or if they had delivered the robot and used it to install a virus that could get access to my personal information (something I feared when I saw the virus warnings), that would be a scam.  Or if they used it to promote a Forex broker with whom I invested and then he ran off with my money, that would be a scam.  They didn't do any of these things.&lt;br/&gt;&lt;br/&gt;They DID way over-promise and under-deliver, and after seeing the details and analyzing their strategy, I believe they did it deliberately.  I don't think they lied about the results they achieved. But I don't think they have told the whole story.  I think they manipulated the results to achieve one purpose: being able to quote a return number so astronomical (356% return in 19 days) that it would be compelling. And they did this by trading the robots with a risk factor that no sane trader using his own real money would ever do.&lt;br/&gt;&lt;br/&gt;The Fusion robot was actually made up of 5 robots that performed well in their 2 month competition. (Note - successful traders say that 2 months is far too short a time to adequately judge any track record - robot or manual). The one that traded most frequently and with the best success was called High-Rider.  It's strategy appeared to be fairly simple - take small gains, referred to as scalping, with very few losses.  &lt;br/&gt;&lt;br/&gt;One of the things people look at in evaluating a robot is its won/lost percentage - how many of its trades end up as profitable, vs. how many lose money.&lt;br/&gt;&lt;br/&gt;It turns out that it is actually fairly simple to have an astoundingly high won-lost percentage.  All you have to do is set the stop-loss point so high that it is almost certain not to be hit. (The stop-loss point is the price point that you select when entering a trade such that, if the trade goes against you and hits that price point, you will "stop your losses" and get out.)&lt;br/&gt;&lt;br/&gt;Trading the forex market is different than trading the stock market.  In the stock market, if you're buying individual stocks, you're buying ownership in a company whose value can go up or down by large amounts, depending on their success in the business - and can keep going.  In forex, you're trading one form of a commodity - money - for another form.  And there will be small differences and changes in the relative value of the currencies you're trading, but in the end, it's all money.  And so you're making money on the very, very small changes - changes in the 4th decimal place of the relative valuation, equivalent to 1/100th of a cent.&lt;br/&gt;&lt;br/&gt;The result of this is that prices of one currency in terms of another tend to move up and down in relatively small ranges.  Even when there is a relatively large change in valuation, it occurs somewhat gradually, over longer periods of time.&lt;br/&gt;&lt;br/&gt;So, if I enter a trade believing that the relative price of a currency is going to go up, and I'm willing to take a small gain,  it's very likely that the price will move to give me that small gain before it moves against me in a big way - even if it moves somewhat against me at first.  So if I'm willing to exit the trade on a gain of 12 pips (which High-Rider was using), and I set a stop-loss point of 200 pips, it's much more likely that the price will move up 12 pips before it moves down 200 pips, even if it might initially move down by 50 or 100 pips before it does. [A pip is the smallest price change that  will be quoted - usually the 4th decimal point of the price.)&lt;br/&gt;&lt;br/&gt;And this is what High-Rider was doing.  It had a VERY high success rate during the competition. But here's the downside - if it DOES have a loss (and, eventually, every trading system will have a loss), the loss will be huge. &lt;br/&gt;&lt;br/&gt;The promoters advised that you set your trading size  for High-Rider to one-tenth of a mini-lot (one-one hundredth of  a full lot) for each thousand dollars of account valuation.  At that point,  if the trade went against you, you would have lost 200 pips times $.10/pip, or $20, out of a $1000 account.  That's two percent, which is what I have read is the best standard for limiting your risk on each trade.  So that sounds reasonable.&lt;br/&gt;&lt;br/&gt;EXCEPT that, as part of its strategy, when High-Rider found a trade, it would trade it up to 10 times, usually within a few minutes of each other.  And if the price moves against it, ALL of those trades are going to go down.  Which means that now your 2% risk is actually a 20% risk. In fact, that was what happened in my live account - a trade did go against it, and it wiped out $80 of my original $400 account in one day.&lt;br/&gt;&lt;br/&gt;Now, all of that explanation was to get this:  When the promoters built their 356% return in 19 days, they were trading High-Rider with not one tenth of a mini-lot, but a full mini-lot.  That means each trade was risking 20% of the account balance, and the ten trades that High-Rider entered were risking 200% of the account balance! If the very first set of trades that was entered had gone against it (something that MIGHT happen), the account would have been  wiped  out.  That is why I say that no sane trader using his own real money would have traded the robot that way. In fact, in their case, it worked out, and, if I remember right,  the account gained in excess of 10% the very first day.&lt;br/&gt;&lt;br/&gt;But they weren't using "real" money. Yes, it was a live account (supposedly) with real money, but if that trade had gone against them, they would have simply started over with a new investment of $1000, until they got an account record that they could advertise, and never tell you about the attempts that they had made that had lost money. In fact, it would surprise me if, behind the scenes, there weren't multiple attempts to get a good track record, and they only used the best one in the advertising copy.&lt;br/&gt;&lt;br/&gt;So, was it a scam? No, I still wouldn't say it was a scam.  Was the advertising misleading? Definitely.  Was it false to the point of being fraudulent? Probably not.  A lot of the conclusions they wanted  you to come to were implied rather than stated.&lt;br/&gt;&lt;br/&gt;Just because this robot did not represent a real opportunity doesn't mean that none of them do.  Tomorrow (I hope!) I'll tell you about one that I have been using that, while  not living up to its advertising copy, nevertheless has given me some very solid gains in a real-money account.  Stay tuned!&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-3607688162921911860?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/3607688162921911860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=3607688162921911860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3607688162921911860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3607688162921911860'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/07/forex-robot-world-cup-results.html' title='Forex Robot World Cup - results'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-4941681334590483742</id><published>2010-03-02T04:14:00.001-08:00</published><updated>2010-03-02T04:14:33.591-08:00</updated><title type='text'>Forex Robot World Cup - Week 2</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;For those of you just tuning in, this series of blog posts is tracking my real world experience using the &lt;a href='https://www.plimus.com/jsp/redirect.jsp?contractId=2642786&amp;amp;referrer=daveh551' target='_blank'&gt;Forex Robot World Cup &lt;/a&gt;robots, and trying to answer the question, "Can the outlandish returns promised be real, or is it a scam?"  I encourage you to look back through the February archives to follow my journey.&lt;br/&gt;&lt;br/&gt;There were some slightly encouraging results since my last post.  The robot closed out a trade Sunday night that had been left open over the weekend for a 1.18% gain, and then added more winning trades yesterday (.88%).  That brings us to a a return since I started this experiment of 1.96%.  Still nowhere near what the promos implied, but nothing to sneeze at either.  But one week does not a track record make.  We'll see.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=5a83aa8d-94ef-8d15-860f-207e98cc36c8' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-4941681334590483742?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/4941681334590483742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=4941681334590483742' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4941681334590483742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4941681334590483742'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/03/forex-robot-world-cup-week-2.html' title='Forex Robot World Cup - Week 2'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-6953218808401983073</id><published>2010-02-27T05:32:00.001-08:00</published><updated>2010-02-27T05:32:15.363-08:00</updated><title type='text'>Forex Robot World Cup Robots - Real World, Day 3</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;This series of blog posts is tracking my results actually using the winner of the &lt;a href='https://www.plimus.com/jsp/redirect.jsp?contractId=2642786&amp;amp;referrer=daveh551' target='_blank'&gt;Forex Robot World Cup&lt;/a&gt; competition.&lt;br/&gt;&lt;br/&gt;Day 3 was slightly better - and somewhat worse.  There were several winning trades - 11 in all - and 2 losing trades.  But the winners were small winners, and the losers were fairly substantial.  The overall result was a 0.05% gain for the day, and down 0.11% so far, considering only closed out trades.&lt;br/&gt;&lt;br/&gt;But there were 2 disturbing aspects as well. One was that the robot has opened a number of trades which, if closed right now, would be substantial losers.  If all the trades were closed out at the end of the day yesterday, the account would be down about 3%.  Of course, part of a trading strategy is the exit strategy, so we'll leave it to see how the trades close out.  One review of these robots warned that you do have to be patient.&lt;br/&gt;&lt;br/&gt;The other aspect was that one of the trading strategies seems to open several trades that are virtual duplicates of each other. Yesterday, it made 10 trades (which is the configured maximum number of open trades at a time) all within a minute of each other, all for the same currency pair, and at virtually the same price. One of the key aspects of currency trading is that you limit your risk, so if any one trade goes bad, it's not going to totally obliterate your account.  When you open multiple trades under the same condition, that's essentially the same as opening one trade with a much larger risk, because if one of those trades goes bad, they all will.&lt;br/&gt;&lt;br/&gt;I'm still waiting to answer the question that I started with - Is it a scam, or is it real? I mean, as discussed in the opening post in this series, the numbers cannot possibly be anywhere close to real.  And yet, if it's a scam, there's two more questions: How, and why?&lt;br/&gt;&lt;br/&gt;Why? What would the promoters have to gain?  The offer comes with a 60 day money back guarantee.  If the robots are worthless, everybody's going to ask for their money back, and then what have the promoters gained? And they appear to have put a significant chunk of money into the promotion.  Unless it was phony, the prize money for the competition was $150,000. Plus the expenses of setting up and running the web site, and creating the product.&lt;br/&gt;&lt;br/&gt;And How?  The results they claimed from the competition are real and verifiable. While some have pointed out that 2 months trading is not long enough to really validate a robot, still, if it really obtained those results, you would expect it to continue to produce some significant positive results for quite some time.  It seems difficult to imagine how they could have produced fraudulent results.&lt;br/&gt;&lt;br/&gt;One explanation of why is that they undoubtedly have a "referring broker" relationship with the broker that co-sponsored the competition.  Brokers make their money of the spread, and make money each time you trade.  It doesn't matter if the trade wins or loses - they still make their money.  If the robots ares sold and used widely, the brokers are going to make some significant additional money, and the referring broker gets a commission on that.  So even if all the robots are returned and they honor the money back guarantee, they would still make some money from their relationship with FXCM, the sponsor.  Whether it would be enough to justify the effort is a big question.&lt;br/&gt;&lt;br/&gt;It does appear that I have solved my anti-virus problems. I re-installed an updated version of the free anti-virus software I use, Avast, and then re-ran the installation of several of the packages.  It no longer complained about most of them.  One it did complain about, and blocked, but I was able to turn the AV software off temporarily while I installed it, and then turn it back on, and the robots ran normally, while I continue to have AV protection, so I'm satisfied.  And their support desk did finally end up being helpful, though they were a little slow getting started. They gave me a link to the site &lt;span class='mediumtext'/&gt;&lt;a target='_blank' href='http://forexspy.net/'&gt;http://forexspy.net/&lt;/a&gt; , which has step by step videos of how to exclude the problem programs from the AV scans in several popular AV programs.&lt;br/&gt;&lt;br/&gt;Time will tell.  I keep hearing the little voice inside: "Patience, my friend, patience."&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=c15d990f-55ec-883b-9037-8816f330863d' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-6953218808401983073?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/6953218808401983073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=6953218808401983073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/6953218808401983073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/6953218808401983073'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/02/forex-robot-world-cup-robots-real-world_27.html' title='Forex Robot World Cup Robots - Real World, Day 3'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-5797545413590240317</id><published>2010-02-25T19:44:00.001-08:00</published><updated>2010-02-25T19:44:21.928-08:00</updated><title type='text'>Forex Robot World Cup Robots - Real World, Day 2</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I got a little rushed this morning and didn't have time to report on the first day my robots (See &lt;a href='https://www.plimus.com/jsp/redirect.jsp?contractId=2642786&amp;amp;referrer=daveh551' target='_blank'&gt;Forex Robot World Cup&lt;/a&gt;, or my earlier blog posts for details).&lt;br/&gt;&lt;br/&gt;I think I've resolved that anti-virus issues.  I did some more research on the web, and I don't  believe  the programs themselves are virus threats.  And I think I understand how to set up my anti-virus program to continue to protect me and ignore the robots.  I'm going to try that out this weekend when the robots aren't running.&lt;br/&gt;&lt;br/&gt;The first days results were not stunning, but they were positive.  The robot made 2 trades, both small winners, for a net gain of 0.03%.  Not very impressive, but at least it wasn't a loss.&lt;br/&gt;&lt;br/&gt;This morning I adjusted some of the trading parameters to be a little more aggressive, while still limiting my risk.  I looked tonight, and it had made 4 trades, 3 of them winners and one very small loss.  But just a little while ago, it closed out one trade for a rather substantial loss.  So that puts it at 5 trades for the day, with 3 winners, and a net return for the day of -0.19%, and -0.16% since starting.  &lt;br/&gt;&lt;br/&gt;You really can't make a judgement on one or two days.  We'll just have to see how it does.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=f1a04069-fbe9-8269-9a18-843d78222fc2' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-5797545413590240317?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/5797545413590240317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=5797545413590240317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/5797545413590240317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/5797545413590240317'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/02/forex-robot-world-cup-robots-real-world.html' title='Forex Robot World Cup Robots - Real World, Day 2'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-3358713064007675885</id><published>2010-02-24T04:02:00.001-08:00</published><updated>2010-02-24T04:02:55.652-08:00</updated><title type='text'>Forex Experment: Day 1</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Well, I finally did get the robots installed and running last night.  However, in order to do so, I had to completely remove the anti-virus software from my system.  As a computer professional, I would  never advise anyone to do that, and I am extremely uncomfortable with it.&lt;br/&gt;&lt;br/&gt;I did finally get responses back from FRWC's support staff, though I was less than thrilled with the response time.  The response to both of my problems was "Disable your anti-virus software."  Which I had already figured out, but it's nice to have confirmation that that is the problem.&lt;br/&gt;&lt;br/&gt;However, since this is my main workhorse machine, on which I do a lot of my work, store all my financial records, correspondence, pictures, etc., I am extremely uncomfortable leaving it running with no virus protection.  I have told their support department that, and we'll see what they say.&lt;br/&gt;&lt;br/&gt;Meanwhile, I wait for results.  The robot has only been running since 10:00 last night, but overnight it hasn't done any thing yet.  I'll watch it for a while and see.  And meantime, try not to do anything else on that computer that would expose it to threats from the internet.&lt;br/&gt;&lt;br/&gt;Stay tuned...&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=dc1ad423-b177-8885-bad0-530457d14387' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-3358713064007675885?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/3358713064007675885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=3358713064007675885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3358713064007675885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3358713064007675885'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/02/forex-experment-day-1.html' title='Forex Experment: Day 1'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-8117402486193381102</id><published>2010-02-23T04:03:00.001-08:00</published><updated>2010-02-23T04:11:39.764-08:00</updated><title type='text'>Forex Robots: So far..., Well, we'll see</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I promised a running commentary on the results of my experiment with Forex Robot World Cup winners. (See &lt;a href="https://www.plimus.com/jsp/redirect.jsp?contractId=2642786&amp;amp;referrer=daveh551" target="_blank"&gt;Forex Robot World Cup&lt;/a&gt; for details.)&lt;br /&gt;&lt;br /&gt;I delayed my purchase for a day because I wanted a new trading account open and funded so that I could track my results more easily, and it took through the weekend to get that set up.  But I did purchase the package Monday evening.  However, things have not gone smoothly.  The web page promises that you'll be up and running in 5 minutes. Well, I suppose that might be possible if you know exactly what buttons to click, and have complete faith.  As I have said before, I'm a geek, and I want to read and understand exactly what I'm doing or being asked to do, which sometimes makes it harder than it needs to be.  It took me all evening, and it's still not running.&lt;br /&gt;&lt;br /&gt;When you download the packages, the web site warns you that "Oh, yeah, your anti-virus software might complain about this, but it's really okay. Trust us."  Well, I am not quite that trusting, and my anti-virus did complain about it.  In fact, I had to turn it off to even download it.  So I spent quite a bit of time researching the virus message on the web before, hesitantly, deciding, yeah, it probably is safe and going ahead with the installation. (The jury is still out on whether it really is safe or not.  Performance of my system in the days ahead will see.)&lt;br /&gt;&lt;br /&gt;But then, the main robot package, the Fusion V that they tout so highly (the one that returned 354% in 19 days), refused to install at all.  Windows just said it couldn't access it.  I have a support ticket in with them.  We'll see how quickly they respond.&lt;br /&gt;&lt;br /&gt;I did install and turn on two of the other packages (the first and second place finishers in their competition), but neither of them would run.  They both started and just sat there saying "Trying to authenticate...", even though I had entered the correct receipt code.  So I have another support ticket in on that problem.&lt;br /&gt;&lt;br /&gt;I'm still  hopeful, but...  We'll see how it goes.  Again, stay tuned.&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=a9030e20-75f3-8fdb-b9b9-fe46070bf5fc" alt="" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-8117402486193381102?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/8117402486193381102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=8117402486193381102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/8117402486193381102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/8117402486193381102'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/02/forex-robots-so-far-well-we-see.html' title='Forex Robots: So far..., Well, we&amp;#39;ll see'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-9114238600252515413</id><published>2010-02-20T06:13:00.001-08:00</published><updated>2010-02-20T14:15:20.172-08:00</updated><title type='text'>Forex Robots: Scam or Opportunity?</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I have been intrigued with Forex (short for Foreign Exchange, or foreign currency trading) for sometime.  I've heard many times from many different sources that a good forex trader can average one-half percent on his invested capital  per day. That doesn't sound like much until you realize it works out to about 250% per year.&lt;br /&gt;&lt;br /&gt;Whenever I've run into anyone who trades forex, I've asked them about that figure, and each one has confirmed it.  But none of them are living like they have the kind of money that return would generate. (Starting with $1,000, that return achieved consistently would yield over half a million dollars in 5 years).&lt;br /&gt;&lt;br /&gt;But I wanted to see if I could learn to do it, so I started a few months ago "playing" with demo accounts from several brokers, trying to be disciplined and to learn the process. And I've had varying degrees of success.&lt;br /&gt;&lt;br /&gt;As I began reading and studying forex trading, I ran into ads for numerous "Forex Robots".  These are automated computer programs that monitor the market and apply their own trading strategy, then automatically place trades when they determine the conditions are right.  The nice thing about them is that you can start them up, leave your computer running, go to work or go to sleep and they just make money for you.  At least that's what the marketers would have you believe.  And they all make outlandish promises. One promised to more than double your money in a month. Another promised not to make any losing trades (it was called the "No Loss Robot"). The promises are outlandish because, again, if you apply the math and the magic of compound returns, you would be a millionaire virtually overnight.&lt;br /&gt;&lt;br /&gt;Nevertheless, they were intriguing, the price was relatively low, and they mostly come with a 60-day money back guarantee.  I bought one, installed it, and it did nothing, and I emailed and did, in deed, get my money back.  I bought another one, and, while it has not lived up to anywhere close to its hype, it has a pretty impressive record - no losing trades in January, and about a 6 1/2 % gain. (Again, if that were achieved consistently, it would double your money in a year.  Unfortunately, it had it's first losing trade the other day, and wiped out a big chunk of that gain.)&lt;br /&gt;&lt;br /&gt;Several months ago, I started getting spam about the "Forex Robot World Cup" - a supposedly completely open, transparent, real-world competition of forex robots.  It initially seemed to be a serious competition among independent robot developers.&lt;br /&gt;&lt;br /&gt;The competition had 329 entries of robot programs developed by independent developers.  These first had to go through a rigorous qualification round of "back-testing" (running the trading algorithm against historical market data to determine the trades and results that it "would have" made).  Only 24 of the 329 made it through that. Then the 24 were each set up with a $1,000 live money trading account, and left to run for 2 months.&lt;br /&gt;&lt;br /&gt;Now it starts to get interesting, because these are the circumstances in which you would actually be using these programs.  It also became interesting because the promoters started sending out teaser messages about the progress of the competition, and, as it neared the end, indicated that they were going to be making the winners available for sale.  The leading program returned 145% over the 2 months.&lt;br /&gt;&lt;br /&gt;But then, in the last few weeks, they cranked it up a notch.  They (the promoters) claim to have taken the strategies and algorithms embodied in the top five performers, and created a "super-robot" that combines them all.  They started this program trading along side the others with 19 days left in the competition, and, in that 19 days, it returned 354%.  And they're offering it for sale. (See &lt;a href="https://www.plimus.com/jsp/redirect.jsp?contractId=2642786&amp;amp;referrer=daveh551"&gt;Forex Robot World Cup&lt;/a&gt; for details.)&lt;br /&gt;&lt;br /&gt;Now, for the less mathematically adept, achieving that kind of return is absolutely ludicrous.  If it were true and consistent, you would be a millionaire in less than 5 months, starting with $1,000.&lt;br /&gt;&lt;br /&gt;Nevertheless, it's like a tar baby I just can't get out of my head. What if it were true? Or even remotely close to true? I mean what are the possibilities? Either the claims made by the promoters have at least some basis in fact, or this whole campaign is one massive lie.  If the latter were the case, then it's an extremely well-orchestrated lie. This competition had the sponsorship of one of the biggest brokers in the Forex world who has built a massive business - it's unlikely that they would lend their name and support to something that was a complete fabrication.  It also has truly been fairly transparent, which was one of their stated goals.  They are even offering the passwords to the trading accounts so that you can log in and verify the results for yourself. There is the possibility that the accounts have been manipulated, but if that were true, that would probably make some very prominent people in jeopardy of criminal fraud charges.&lt;br /&gt;&lt;br /&gt;So let's say, just for the sake of argument, that the robot really works, but it just got lucky, and it performs, but not quite as well as claimed.  Let's say it does half as good. That's still 170% return in less than a month. Hmm.  How about a quarter as good?  That's still nearly doubling your money in a month.  How about a tenth as good?  35% return in a month?&lt;br /&gt;&lt;br /&gt;There's only one way to find out.  And that's what this blog is about.  I've decided to give it a try, and report my results here, day by day.  They are selling a package for $999 - a hefty pricetag, but if it does even a 35% return, easily worth it.  And, they're offering a 60-day no questions asked money back guarantee.  It's obvious that I'll know in a matter of days whether there's any validity to it or not, so I'm really not putting much at actual risk.&lt;br /&gt;&lt;br /&gt;So, I'm going to purchase it tomorrow night (Sunday - at the start of the trading week), and report the results day by day.  We'll just see.&lt;br /&gt;&lt;br /&gt;Stay tuned.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=06b3085d-3162-8622-9e30-c4c3312cbad5" alt="" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-9114238600252515413?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/9114238600252515413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=9114238600252515413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/9114238600252515413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/9114238600252515413'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2010/02/forex-robots-scam-or-opportunity.html' title='Forex Robots: Scam or Opportunity?'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-4887208238745735116</id><published>2009-11-25T09:34:00.001-08:00</published><updated>2009-11-25T09:34:44.849-08:00</updated><title type='text'>Booting from a cloned VHD in Win7</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;This is my attempt to make a serious "how to" contribution to the Windows 7 software development community, and, hopefully, make something that I learned the hard way simpler for someone else.&lt;br/&gt;&lt;br/&gt;I have my Windows system on my work computer set up the way I want it, with all the utilities and programs that I use installed.  But I wanted to run the new Beta of Visual Studio 2010. However, there's a standing (and understandable) rule: no beta software on computers that you're doing production work on.  But my boss did give me permission to use it on the project I'm working on (since it won't be production ready until after the scheduled release of VS2010 in March) PROVIDED that I run it in a segregated environment such as a Virtual PC) so that it can't corrupt anything else.&lt;br/&gt;&lt;br/&gt;I had run the beta of Windows 7 in a Virtual PC when it came out, but it was painfully slow. Windows 7 has the capability to boot up from a Virtual Hard Disk (VHD) as though it were actually a hard disk and run with minimal speed degradation (the disk access is somewhat slower, but everything else is running just as fast, because you are actually running on the hardware, not a program simulating the hardware). So I decided I would clone my existing system drive, which is configured the way I want it, and boot from that.  Should be simple, right?  WRONG!  There are a number of hidden gotchas along the way, which this post is intended to walk you through.&lt;br/&gt;&lt;br/&gt;However, a couple caveats before you start down this road with me:  I run my systems a little different than it comes out of the box.  I have my disk partitioned in 2, similar to the way I learned to do it under Unix:  I have a system drive (C:), but all my user data is on a separate partition.  I assign the drive letter U: (for Users) to this partition.  There's a number of reasons I do this, but for the purposes of this discussion, it means my working data is available to me whether I'm booted into the real system drive or to the VHD drive.  If you have your drive setup the way Windows does it out of the box, with everything on C:, and your user data in C:\Users\&amp;lt;username&amp;gt;, then it's going to be clumsy, at best,  to access the files you write in one instance from the other instance.&lt;br/&gt;&lt;br/&gt;The other caveat is that you need enough free space on your disk to hold the VHD in a fully expanded form.  In practice, this probably means that if your disk is more than half full, this isn't going to work for you.&lt;br/&gt;&lt;br/&gt;Okay, that being said, here's the steps I took (on about the 5th iteration of this process). (Also, be warned that a couple of these steps can take quite a bit of time - altogether, this process could take half a workday.) (Also, if you run as a non-privileged user, most of these steps need to be run as administrator.)&lt;br/&gt;&lt;br/&gt;1. Clean your system disk. Get rid of all the junk on it, because you're going to be cloning the disk and you want it as clean as  possible.  I use a freeware program called "CCleaner" (&lt;a href='http://www.ccleaner.com/' target='_blank'&gt;http://www.ccleaner.com/&lt;/a&gt;) which empties the Recycle bin, clears your browser cache, gets rid of temporary files, etc.  When you finish, look at the properties of the drive to determine how much space is actually being used and how much is free.  This will be important later when we resize the cloned disk.&lt;br/&gt;2. Defragment your disk.  Even though Windows runs defrag periodically, and will probably tell you the disk doesn't need defragging, run it anyway, and specify the /X (consolidate free space) option.  I open an Administrative cmd prompt window (type "cmd" into the Start menu search box, then right click the "cmd.exe" option that shows up, and select Run As Administrator), and type "defrag C: /U /V /X".  The idea is that we want to end up with all, or as much as possible, of the free space at the end of the drive.  (This process will take a fair amount of time - maybe 10-20 minutes if I remember right, depending on drive size and how fragmented it is.)&lt;br/&gt;3. Download and run Disk2Vhd.exe (&lt;a href='http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx' target='_blank'&gt;http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx&lt;/a&gt;) from the SysInternals group at Microsoft.  In the list of disk partitions it gives you, select just your system partion (C:).  This will clone your system drive into a virtual hard disk file.  It's okay to put it on the same drive you're cloning.  This process will also take quite a while.&lt;br/&gt;4. Once that is done, use Windows' Disk Manager to Attach the VHD as another hard drive.  Right click My Computer, and select Manage.  Then click Disk Management. When the storage manager comes up , Right click Disk Management, and select "Attach VHD".  Find the VHD file you created in the previous step, and attach it.   It will show it as an additional hard disk, but it will tell you it's offline, and help will say it has a serial number conflict with an existing drive.  Well, since we cloned it from the C: drive, it has the same serial number, so that makes sense. The good news is that it's easy to fix. If you right click the newly added Disk symbol (probably Disk 1), and select "Online", it will cure the problem and put the VHD online.&lt;br/&gt;5.  If your drive had multiple partitions, you will see that the mounted VHD has space corresponding to the space those partitions took up. The space will be shown as "RAW" partions.  We need to delete those. Right click each of them (except the one corresponding to your cloned system partition), and select "Delete Volume".  The space will now be shown as "Unallocated", and adjacent Unallocated partitions, if they exist, will be merged.&lt;br/&gt;6. Now right click the partition corresponding to your cloned system drive, and select "Shrink Volume". It will spend a couple minutes analyzing the partition to see how much it can shrink it,  then  will give you a dialog box showing you how much space is now being taken up (the full size of your original partition), and how much is available to shrink.  There will be a textbox/spinner to let you select how much you actually want to shrink it, and then shows the resulting final size after the designated shrink is applied.&lt;br/&gt;There's a trade off here.   The size you shrink it to becomes, in effect, the "physical size" of the new VHD, and you want to give yourself some room for expansion.  On the other hand, when you're booted to the VHD, the system will expand it on disk to the full "physical size" specified, and you have to have room on the disk for that expansion, or the boot will fail. So, for example, if I have a 100G C: drive, with 30G used, and I clone it, the clone file may actually only take up, say, 25G.  But if the "physical size" that I've specified for the VHD is 50G, when I boot from it, the OS will expand that 25G to the full 50G, which still leaves 100-(50+30) = 20G free.  But if I now copy 25G of video onto that physical disk, then the new free space is 20G (100G - (30G+20G+25G)), but when I boot into the VHD,  the OS will try to expand it and run out of room, and the boot will fail.  So, make the size big enough to accommodate reasonable expansion, but balance that against the free space on the disk.&lt;br/&gt;7. Once you've finished the shrink operation, right click the Disk in Disk Management, and select "Detach VHD".&lt;br/&gt;8. We've shrunk the operating system's conception of the file, but the VHD still thinks it is the size of the original physical disk. Download VHD_Resizer (&lt;a href='http://vmtoolkit.com/files/folders/converters/entry87.aspx' target='_blank'&gt;http://vmtoolkit.com/files/folders/converters/entry87.aspx&lt;/a&gt;).  (You will need to create an account, but it's free and appears to be innocuous.)  In our example above, the VHD still thinks it's of a 100G drive, even though it may only have 50G of content on it. Run the resizer, select the VHD file that you've created, and specify a Save location for the new, re-sized VHD that it's going to create.  You will end up, temporarily, with two copies of a pretty big file.  If you don't have space available on another partition, you may need to temporarily attach an external drive.  Specify the size that you shrunk the VHD to in the previous step as the size of the target file.  The program is going to do a sector by sector copy of the source VHD to the target VHD, so this operation will also take a while.  When you're done, you can delete the source VHD, and move the target VHD to it's final location. 9.   We probably need to rewrite the boot sector, using a program from the boot subdirectory of the Windows install DVD called bootsect.exe.  Attach the VHD using Disk Manager as before, then use the command "bootsect.exe /NT60 F: /FORCE /MBR" (substitute whatever drive letter the VHD gets attached as for the "F:"). Detach the VHD when you're done.&lt;br/&gt;10. Now we need to modify the System Boot Configuration Data to add the VHD as a boot configuration.  Scott Hanselman has an excellent blog post on this, and I'll refer you there (&lt;a href='http://www.hanselman.com/blog/LessVirtualMoreMachineWindows7AndTheMagicOfBootToVHD.aspx' target='_blank'&gt;http://www.hanselman.com/blog/LessVirtualMoreMachineWindows7AndTheMagicOfBootToVHD.aspx&lt;/a&gt;) for instructions.&lt;br/&gt;11. Once you have done that, you should be able to restart your system, and have the new VHD entry presented in the boot menu options.  Go ahead and boot to it, then open a cmd shell and type "echo %SystemDrive%".  The response is the drive letter that was assigned to the VHD.  Don't modify anything.  Restart the system and boot back to the native drive.&lt;br/&gt;12. Final step. We need to modify the registry on the VHD so that it will cause the VHD to come up as the C: drive, and move the C: drive someplace else. We need to do this because the Registry on the VHD disk is a clone of the Registry that was on the native drive, and contains lots of paths that are hard-coded to the C: drive.  If you don't modify where your VHD  mounts, a lot of things that you think are pointed to VHD will actually point to the C: drive, and you won't have an isolated environment at all. Here's what we need to do.&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Mount the VHD in Disk Manager again.&lt;/li&gt;&lt;li&gt;Open regedit.&lt;/li&gt;&lt;li&gt;Click HKEY_LOCAL_MACHINE&lt;/li&gt;&lt;li&gt;Click File -&amp;gt; Load Hive&lt;/li&gt;&lt;li&gt;In the browser window, navigate to F: (or whatever drive your VHD is mounted to)\Winows\System32\Config\SYSTEM, and click Open&lt;/li&gt;&lt;li&gt;When it asks for a key name, make something up (I used "TempReg")&lt;/li&gt;&lt;li&gt;Now Click the TempReg key that you just created, and under that click "MountedDevices"&lt;/li&gt;&lt;li&gt;Right-click the key "DosDevices\C:", select Rename from the context menu, and change the C: to some unused drive letter on your system (I used Z:).  This is where your native drive will now show up when you boot from the VHD.&lt;/li&gt;&lt;li&gt;Right-click the key "DosDevices\&amp;lt;x&amp;gt;:", where &amp;lt;X&amp;gt; is whatever drive letter you found in the %SystemDrive% environment variable above.  Relect Rename, and rename it to "DosDevices\C:".   Now your VHD will boot as the C: Drive.&lt;/li&gt;&lt;li&gt;Click the TempReg key, and then click File -&amp;gt; Unload Hive.&lt;/li&gt;&lt;li&gt;Close the Registry Editor&lt;/li&gt;&lt;li&gt;Detach the VHD in disk manager&lt;/li&gt;&lt;/ul&gt;And (if I haven't forgotten any steps and everything has worked right), you're done.  Just to double check, while you're still booted into the native drive, create a text file someplace on that drive (make sure you know where it is).  Now when you boot to the VHD, that file should NOT be in that place on the C: drive, because it's a different C:.  But you should be able to find it on the drive you relocated C: drive (Z: in my example).&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Acknowledgements&lt;br/&gt;&lt;/b&gt;&lt;br/&gt;I want to thank Scott Hanselman from Microsoft (@shanselman) for his attention and assistance during this process, and Garry Martin (@garrymartin) for helping me understand the VHD expansion on boot process, and the boot sector rewrite process.  I would not have succeeded without their help.&lt;br/&gt;&lt;br/&gt;Please feel free to leave comments or email me if this doesn't work for you.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=addb1194-f7dc-8f54-86aa-16f08068d794' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-4887208238745735116?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/4887208238745735116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=4887208238745735116' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4887208238745735116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4887208238745735116'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/11/booting-from-cloned-vhd-in-win7.html' title='Booting from a cloned VHD in Win7'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-1443205362056335902</id><published>2009-08-22T09:39:00.001-07:00</published><updated>2009-08-22T09:39:22.569-07:00</updated><title type='text'>Building a new computer</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I'm about to start building myself a new computer.  And I thought I'd document the project for myself and anyone interested.&lt;br/&gt;&lt;br/&gt;When I tell people that I'm going to build a computer, they react something along the lines of "Wow, where did you learn how to build a computer?"&lt;br/&gt;&lt;br/&gt;It's really not that hard these days.  If you've got the mechanical aptitude and patience to screw a few (sometimes tiny) screws in, you can probaby handle it.  It's just a screwdriver project.&lt;br/&gt;&lt;br/&gt;But first, why?&lt;br/&gt;&lt;br/&gt;Especially since I have 3 computers now.&lt;br/&gt;&lt;br/&gt;I have a server computer that just sits in the corner and (mostly) stores the files that I want to keep around for long term storage.  Then I have a laptop that I got a little over a year ago (when I thought I was going to be doing quite a bit of traveling for a contracting job that didn't materialize).  And finally, a desktop computer that I actually do most of my work on. &lt;br/&gt;&lt;br/&gt;Now, the desktop is over 4 years old, which isn't that bad in and of itself. I've extended it with more memory and bigger disks, so it does pretty much what I need. That is, when it's working. And therein lies the rub.  Recently (like the last 6 months or so), it's been getting cantankerous, and refusing to come back up when it's been powered down for a long period of time (usually several hours or more).  Most of the time, it does eventually come back up, if I just leave it alone (powered on), and wait.  Usually 12-24 hours.&lt;br/&gt;&lt;br/&gt;But when I got back from my vacation to Costa Rica a few weeks ago,  it took me almost a week to get it up and running reliably again.  It would come up for a while, and then crash and not boot for a day or two.  And that's just too unreliable for me to use. So I decided it needed to be replaced.&lt;br/&gt;&lt;br/&gt;The second question, then, is why am I building a new computer instead of just buying one?&lt;br/&gt;&lt;br/&gt;In general, the argument that you can save money by building it yourself is spurious.  If you go to a computer store and buy all the equivalent parts that you need to build a computer with the same capabilities as one on the store shelf, you are going to spend very, very close to the same amount of money, perhaps a little more, than if you had just bought one off the shelf.  And you're going to have to put in the time and effort to build it yourself, plus lose out on the vendor support aspect.&lt;br/&gt;&lt;br/&gt;But, in this case, I'll be able to re-use several of the components from my existing computer, and also tailor the system to have exactly the capabilities I want.&lt;br/&gt;&lt;br/&gt;To build a computer, you basically need to assemble the following components:&lt;br/&gt;Case&lt;br/&gt;Power Supply (may come with the case)&lt;br/&gt;Mother board&lt;br/&gt;Processor (CPU)&lt;br/&gt;Memory&lt;br/&gt;Video card (may be built into motherboard)&lt;br/&gt;Disk drive(s)&lt;br/&gt;CD/DVD/Blu-Ray (your choice) reader/burner&lt;br/&gt;Keyboard&lt;br/&gt;Mouse&lt;br/&gt;Speakers&lt;br/&gt;Display&lt;br/&gt;Software (Operating System)&lt;br/&gt;&lt;br/&gt;Now, in this case, I think (remains to be seen) that I can use the case from the old computer, I already have an almost new power supply that will work, I will use the disk drives and DVD burner form the old computer, and, of course, I have the keyboard, mouse, speakers, and display. And I have access to the Operating System (Windows 7) because of my work as a Microsoft developer.&lt;br/&gt;&lt;br/&gt;I'm using the lowest end of the very latest series of processors from Intel (a core i7-920), which means that, if I want more performance in the future, I'll be able to swap out the processor for one with as much as 50% more throughput (they're just kinda pricey right now, and I don't really need that much power right now.)&lt;br/&gt;&lt;br/&gt;The choice of that processor constrained the choices of mother boards that I could make that would be compatible with it.  And all of them used a newer generation of memory (DDR3) than what was in my old computer, so I'll have to buy new memory. The good news is the price of memory has come down and the capacity has gone up.  Where I might have spent $100 for a Gigabyte of RAM when I last bought a computer, I can now get 6 Gigabytes for $100.  And the processor uses a new memory architecture called Tri-Channel that (apparently) serves up 3 times the memory information at once.  Memory speed is ultimately the biggest performance-limiting bottle-neck in a system, so this system should be blazing.&lt;br/&gt;&lt;br/&gt;So, I needed to buy a mother board (ebay for $167 including shipping), processor (ebay for  $247 including shipping), a video card (Fry's $45 including tax after rebate), and memory ($100 after rebate, give or take. I'm on my way to get that in a little while.)  So for less than $500, I've got the machine I want, with the latest generation and a clear upgrade path, and, to have bought a similar machine would have cost in the vicinity of $1000.&lt;br/&gt;&lt;br/&gt;All the components except the memory are now in my living room, so I'll document my progress as I go.  Stay tuned.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=21b346f7-4957-8a3c-8843-224e71306453' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-1443205362056335902?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/1443205362056335902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=1443205362056335902' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/1443205362056335902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/1443205362056335902'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/08/building-new-computer.html' title='Building a new computer'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-6160674018483066562</id><published>2009-08-22T09:04:00.001-07:00</published><updated>2009-08-22T09:04:01.788-07:00</updated><title type='text'>Why do I Blog?</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I was listening to a &lt;a href='http://www.hanselminutes.com/default.aspx?showID=176' target='_blank'&gt;podcast&lt;/a&gt; the other day (side note: I've just discovered podcasts since I got my new iPhone, and they're great for making use of drive time and workout time) with Microsoft guru Scott Hanselman and developer Joel Spolsky. Joel made a couple comments about blogging. One was that 90+% of bloggers start out their blog with big, grandiose mission statement type blog, and that's there first and last blog. They never post again. (I'm almost that bad, but I have been posting irregularly for several months now.)&lt;br/&gt;&lt;br/&gt;But the more insightful comment was that most people blog in almost complete oblivion for a year or more, with virtually no followers (that's me!), and then, at some point, they make a blog post that get's picked up and becomes the post that they are known for (still waiting for that to happen.  Of course, it's more likely to happen if I actually post some stuff).&lt;br/&gt;&lt;br/&gt;But he also noted that a lot of times bloggers will put stuff in their blog JUST SO THEY CAN FIND IT! Because blogs ARE crawled by Google, and, when you note something in your blog, you'll be able to find it by googling for it.&lt;br/&gt;&lt;br/&gt;This blog is a really somewhat schizophrenic, in that I have two widely divergent interests that I tend to blog about - technology, and my spiritual journey.  These have drastically different intended audiences, and half the time I'm not sure who my intended audience is. I initially thought about making two separate blogs, but coming up with a name for one of them was hard enough.  And I looked to other Christian bloggers (notably Greg Beamer, a fairly well-known developer who writes the "&lt;a href='http://gregorybeamer.spaces.live.com/blog/' target='_blank'&gt;Stop Making Sense&lt;/a&gt;" blog and signs off his entries  "Grace and Peace"), and noted that they had mixed content, so I thought I'd try it.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=d0d4e8fe-636e-8dbd-b17b-9a942a82b02a' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-6160674018483066562?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/6160674018483066562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=6160674018483066562' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/6160674018483066562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/6160674018483066562'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/08/why-do-i-blog.html' title='Why do I Blog?'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-2153956721858897249</id><published>2009-07-13T19:32:00.001-07:00</published><updated>2009-07-13T19:32:31.835-07:00</updated><title type='text'>This I believe, pt. 3 - Jesus Christ died and rose again</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Sorry it's been so long since my part 2 post.  I really meant to do these in more rapid succession.&lt;br/&gt;&lt;br/&gt;When I say that I believe Jesus Christ died and rose again, I think that belief is supported aside from any reliance on the Bible.  I think there is more than adequate historical evidence that a man who went by the name Jesus (although I think in his native Hebrew or Aramaic, it was probably something closer to "Yoshua") lived in Israel in the opening decades of the common era, and that he was executed as a criminal by crucifixion by the ruling Roman government.  I really doubt that there are many people who would seriously dispute that.&lt;br/&gt;&lt;br/&gt;He had a small group of close followers that we today refer to as the disciples or apostles. And several members of this group proclaimed that he rose from the dead after the crucifixion, and spent many days walking, talking, even eating with them.  Now, I expect that there are many who would dispute that.&lt;br/&gt;&lt;br/&gt;But there is one historical fact that convinces me that it is true.  Virtually everyone of those original apostles died a martyr's death before the end of the first century, solely because of their proclamation of that fact.&lt;br/&gt;&lt;br/&gt;So, you might say, many people through history have died for what they believed in.  That doesn't prove anything.&lt;br/&gt;&lt;br/&gt;Yes.  People die for what they believe in.  But they DON'T die for something they know to be a hoax or a lie.  These apostles had every reason to KNOW with certainty that what they were saying about Jesus having come back to life was true.  They claimed that they had seen him, that he had talked with them and taught them, that they had touched him, that he had asked for something to eat and consumed it in their presence, that he had cooked breakfast for them over an open campfire.&lt;br/&gt;&lt;br/&gt; Either those things were true, or else they knew that they had all conspired together to make it up for some unknown reason.  And everyone of them clung to the proclamation of its truth, even to their own death. &lt;br/&gt;&lt;br/&gt;No one dies for something they know to be a lie.&lt;br/&gt;&lt;br/&gt;So I conclude that Jesus did, indeed, rise from the dead.&lt;br/&gt;&lt;br/&gt;And if he did that, then I conclude that validates every claim that he made to being the Son of God.  And it gives untold authority to everything else he said and did through his life. And it means that there are a whole lot of things I can conclude and safely rely on based solely on the things that Jesus taught.&lt;br/&gt;&lt;br/&gt;One is the nature of the God that, in part 2, I concluded exists.  Jesus proclaimed several things about God that were revolutionary in his time.  One was addressing him as "Father", in a close, personal relationship.  This was revolutionary in the Jewish thinking. God was holy, majestic, glorious, awesome, and basically unapproachable except through the priests. But Jesus addressed him as "Daddy" (the modern equivalent of the Aramaic word he used). And he said, "You want to know what God's like?  Look at me.  He who has seen me has seen the father."&lt;br/&gt;&lt;br/&gt;So I conclude that not only is God a being of unimaginable power and intelligence, as we can see through nature, but that he is personal, with a relationship with his Son.&lt;br/&gt;&lt;br/&gt;And according to what Jesus taught, God cares about each one of us just as much.  And I believe his resurrection validates his teaching.&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-2153956721858897249?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/2153956721858897249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=2153956721858897249' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/2153956721858897249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/2153956721858897249'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/07/this-i-believe-pt-3-jesus-christ-died.html' title='This I believe, pt. 3 - Jesus Christ died and rose again'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-4685792452954152318</id><published>2009-06-29T05:36:00.001-07:00</published><updated>2009-06-29T05:36:08.510-07:00</updated><title type='text'>Boycott Chase!</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Chase Bank doesn't get it!&lt;br/&gt;&lt;br/&gt;The whole point of the recent congressional hearings on credit card abuse, together with the subsequently enacted rules changes, is that consumers are sick and tired of being manipulated and abused by the banks who have all the power in the credit card game.&lt;br/&gt;&lt;br/&gt;But Chase just doesn't get it.&lt;br/&gt;&lt;br/&gt;Earlier this week, I got this "Important Notice Regarding Changes to Your Account".  It read, in part. &lt;br/&gt;&lt;br/&gt;"Your minimum payment due will increase from 2% to 5% of the ending balance on your monthly statement..."&lt;br/&gt;&lt;br/&gt;Whaaaattt?   I owe over $13, 000 on that card.  That means my minimum monthly payment is going to jump from somewhere around $260 a month to $650 a month!  For no reason at all! just because they can!&lt;br/&gt;&lt;br/&gt;In the past, whenever there has been a change to account terms, it seems like there's been a paragraph that says something like "If you do not want to accept these terms..." and basically says you can close your account and continue to pay off your balance under the existing terms.  Not this time. Uh-uh.  We're going to do it to you, and you have no choice but to take it.&lt;br/&gt;&lt;br/&gt;I even called customer service and told them that those terms were not acceptable and I wanted to close the account and continue to pay it off under the existing terms.  He said, "I'm sorry, you do not have that option."&lt;br/&gt;&lt;br/&gt;I asked, "How can you unilaterally change my repayment terms?"  And he replied, basically, we can to any thing we want.  This is a direct quote: "We can demand payment of 100% of the balance in the next 30 days if we choose to." The arrogance!&lt;br/&gt;&lt;br/&gt;I'm obviously not a lawyer, and I probably haven't kept the 15 pages of fine print "terms and conditions" that they sent me when I opened the account, so I can't really say whether they legally have that right or not.  I'm going to assume that, being a big corporation with lots of high-powered lawyers, if they say they do, then they probably do. (At least under current law. Maybe that needs change.)&lt;br/&gt;&lt;br/&gt;But whether they legally have that right or not, to exercise it in the cavalier manner they have chosen to, with total disregard for their customers,  is absolutely unconscionable. &lt;br/&gt;&lt;br/&gt;Understand, I'm not a deadbeat.  I've occasionally run up more debt than I should, but I have always paid it off. Aside from maybe 1 or 2 statements that have gotten lost on a messy desk, I don't think I've missed a payment on any of my credit cards in the 30 years I've been using them.&lt;br/&gt;&lt;br/&gt;I had cancer a few years ago.  During that time, I was unable to work, and my (then) wife was taking care of me, so she couldn't work.  For some period of time, we lived on the generosity of friends and, mostly, credit card advances. We ran up a very substantial credit card debt.  But even when the payments were consuming well over half of my limited disability income, I never missed a payment.   And I have completely paid off 4 of the credit cards, with only 2 to go (both of them being Chase cards).  So they had no reason to single me out for this action.&lt;br/&gt;&lt;br/&gt;Chase (well, actually Washington Mutual, which has been acquired by Chase) has been my preferred bank for quite some time.  But I refuse to do business with a company that shows such complete disdain for the rights of its customers.  I will be moving every account I have with Chase to another bank as soon as I conveniently can, and I would call on all my readers (both of you! LOL) to do the same.&lt;br/&gt;&lt;br/&gt;I would also call on Congress to look into further curbs on the power of big banks.  It appears that arbitrarily raising minimum payments was not one of the powers that was limited in the recent reforms.  We were warned in the press that if Congress took away the powers that banks had to stick us with punitive interest rates and fees, the banks would find other ways to stick it to us, and it appears that they have.  Congress, we need to change that, too.&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-4685792452954152318?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/4685792452954152318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=4685792452954152318' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4685792452954152318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4685792452954152318'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/06/boycott-chase.html' title='Boycott Chase!'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-8907137165140320293</id><published>2009-06-28T05:34:00.001-07:00</published><updated>2009-06-28T05:35:17.474-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='apologetics'/><category scheme='http://www.blogger.com/atom/ns#' term='spiritual'/><title type='text'>This I believe, pt 2 - There is a god</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Note that I used a lower case 'g' on that title.  At this stage of my apologetic, it can't be said that I'm necessarily talking about the Jehovah, the God of the Bible.&lt;br /&gt;&lt;br /&gt;But, in my thinking, the fact that there is a supreme being of unimaginable power and intelligence is abundantly clear from the world around us.  The only ones who can possibly deny that are those who have taken as a presupposition that there is no god.&lt;br /&gt;&lt;br /&gt;Let me clarify what I mean by that. In any kind of logical reasoning, you start from some point, with some set of "givens", and construct your argument from the implications of those givens. They may be called axioms, or assumptions, or presuppositions. But within that sphere of logical reasoning, nothing can be permitted to contradict those givens.&lt;br /&gt;&lt;br /&gt;One of the arguments heard in the evolution debate is that Christians accept God on "faith", the implication being that faith somehow contradicts reason.  But the evolutionists have "faith", too - faith in their assumption that there is no god.  And I conclude that it takes a great deal more "faith" in that assumption to reach the evolutionary world view than it does to accept the position that there is a god, and he created the world we live in.&lt;br /&gt;&lt;br /&gt;I am NOT saying that one needs to start with the assumption that there is a god.  One merely needs to eliminate the assumption that there is NOT a god.  If you have that assumption, then you must bend and twist and look at the evidence from all manner of cock-eyed angles in order to avoid the conclusion that there is a god, because that contradicts your assumption.  If you eliminate that assumption, than you are free to look at the evidence straight on, and my conclusion is that the evidence overwhelmingly points to the existence of a creator-god.&lt;br /&gt;&lt;br /&gt;I remember some years ago hiking in Rocky Mountain National Park, and looking up in awe at the majestic rock formations towering hundreds of feet above me, and thinking, "And this was merely an afterthought of God's creative efforts."  Okay, you can argue that that's merely the force of nature at work. But there are other arguments that suggest it is more than that.&lt;br /&gt;&lt;br /&gt;I remember hearing one time (sorry, I can't remember the source) a man pick up a shoe, and saying "This shoe proves the existence of God."&lt;br /&gt;And his listener replied "How?"&lt;br /&gt;The man replied "Who made the shoe?"&lt;br /&gt;"The cobbler."&lt;br /&gt;"And who made the raw materials that the cobbler used to make the shoe."&lt;br /&gt;"The cow."&lt;br /&gt;"And what did the cow eat go grow?"&lt;br /&gt;"Grass"&lt;br /&gt;"And who made the grass?"&lt;br /&gt;&lt;br /&gt;and so on, and so on.  Eventually you get back to the "prime mover", the "first cause", something or someone made it all happen.  Even if you subscribe to the "big bang" theory, where did this energy and matter that went into the "big bang" come from? Now the evolutionists at that point will  say "Now you're getting out of the realm of science and into the realm of  religion, and we can't answer that question."  Well, duh, that's the point.  You can't answer that question without violating your assumption that we there is no god, and that therefore we live in a closed universe free from anything that has to do with the supernatural.&lt;br /&gt;&lt;br /&gt;But the thing that they miss is that the &lt;b&gt;entire&lt;/b&gt; discussion is outside the realm of science. &lt;b&gt;Evolution is not science. &lt;/b&gt;Science deals with the observable, the reproducible, the testable.  You observe facts, you propound theories, you construct experiments to test your theories, and others can reproduce your work to verify it.  Evolution does none of those.  It cannot observe the origin of life, it cannot reproduce it, it cannot conduct experiments to test its theories.  And just because 90%, or whatever the percentage is, of people accept a theory, does not mean that it is not still a theory.&lt;br /&gt;&lt;br /&gt;So I believe that nature shows us that god exists, and that he is being of unimaginable power and grandeur.&lt;br /&gt;&lt;br /&gt;But I believe nature also shows us that he is a being of supreme intelligence.  I cannot understand the huge brouhaha over "Intelligent Design".  It appears to me so obvious.  If you're hiking in a desolate area, and you come upon, let's say, a watch, you don't pick it up and say, "My look at how these elements randomly assembled themselves into this watch."  No, of course not. You conclude that someone was there before you and dropped the watch, because it's obvious that it was designed by an intelligence.  [I know this is the age-old &lt;a href="http://en.wikipedia.org/wiki/Watchmaker_analogy" target="_blank"&gt;watchmaker analogy&lt;/a&gt; which has been "refuted", but all the "refutations" that I can find simply say, "no, natural selection can explain that design."  Well, in my mind, it's a matter of which explanation makes more sense.  Again, the natural selection argument is viable only if you start from a position that absolutely denies the possibility a god.] Nature in general, and the human body in particular, is of unimaginably complex design.  To believe that it came about by mutations or other transformations happening randomly is beyond ludicrous.  I remember someone once saying that's about as likely as an explosion in a type-setting factory producing the Encyclopedia Brittannica (obviously from a far earlier time when we still  had encyclopedias!).&lt;br /&gt;&lt;br /&gt;There is far more within the sphere of "Intelligent Design" than I want to go into here that, to my mind, clearly demonstrates that, not only is the god I believe in a god of supreme power, but also one of incredible intelligence.&lt;br /&gt;&lt;br /&gt;And thus, I believe that god exists.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-8907137165140320293?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/8907137165140320293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=8907137165140320293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/8907137165140320293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/8907137165140320293'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/06/this-i-believe-pt-2-there-is-god.html' title='This I believe, pt 2 - There is a god'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-1450687519689255829</id><published>2009-06-23T18:04:00.001-07:00</published><updated>2009-06-28T05:34:45.961-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><category scheme='http://www.blogger.com/atom/ns#' term='spiritual'/><title type='text'>This I believe, pt 1</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span style="font-family:sans-serif;"&gt;A friend posted the video below to his facebook page a week  or so ago, with the comment&lt;/span&gt; "PLEASE TAKE TIME TO WATCH THIS VIDEO! I HOPE IT WILL CHANGE YOUR LIFE LIKE IT HAS CHANGED MINE RECENTLY!!!!" (thanks, Josh).&lt;br /&gt;&lt;br /&gt;I found it compelling and yet disturbing.  There is much that he says that I'm in full agreement with. And it's hard to say that there are things he says that I disagree with, because everything he says comes from scripture, and he's not misquoting it or misinterpreting it. And yet I find I strongly disagree with the overall message that seems to be coming through.  Maybe it's what he doesn't say that I disagree with.&lt;br /&gt;&lt;br /&gt;Watch these videos (it was posted a few days ago on YouTube in two parts, and that's the easiest for me to incorporate), and then read my thoughts below.&lt;br /&gt;&lt;div class="youtube-video"&gt;&lt;object width="425" height="355"&gt;&lt;param value="http://www.youtube.com/v/8APpLIWTBZE" name="movie"&gt; &lt;param value="transparent" name="wmode"&gt; &lt;embed wmode="transparent" type="application/x-shockwave-flash" src="http://www.youtube.com/v/8APpLIWTBZE" width="425" height="355"&gt;&lt;/embed&gt;       &lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The Fire Part 01&lt;div class="youtube-video"&gt;&lt;object width="425" height="355"&gt;&lt;param value="http://www.youtube.com/v/i8yvmDPJHRc" name="movie"&gt; &lt;param value="transparent" name="wmode"&gt; &lt;embed wmode="transparent" type="application/x-shockwave-flash" src="http://www.youtube.com/v/i8yvmDPJHRc" width="425" height="355"&gt;&lt;/embed&gt;     &lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The Fire Part 02&lt;br /&gt;&lt;br /&gt;What he seems to be saying without saying it, is stop sinning so much and you won't go  to hell.  Nowhere does he ever talk about trusting in Christ for salvation, about being saved by God's grace, "not of works".  And the monstrous problem with his message is, how do you ever know if you've stopped sinning "enough," if you've loved God "enough", if you've brought forth "enough" fruit? How can you be assured of salvation? &lt;br /&gt;&lt;br /&gt;I heartily agree with his contention that we value the forgiveness of God far too cheaply.  I agree that if we are truly saved, there will be fruit in our lives.  But he seems to be saying that it's up to us to produce that fruit.  He almost seems to be saying that anything less than sinless perfection means that you hate God and are going to  hell.&lt;br /&gt;&lt;br /&gt;I am a believer in Jesus Christ.  I don't want to compare myself to others, but I think I take more seriously the claims of Christ and expend more effort in seeking to know him than most Christians I know. But I sin. I probably sin in areas I don't even recognize as sin.  The Jews were commanded "You shall love the Lord your God with all your heart, with all your soul, with all your might".  I know I don't do that perfectly, and not  doing that perfectly is sin.&lt;br /&gt;&lt;br /&gt;What this guy (Nate Pfeil, by the way)  is saying strikes me as very much at odds with what I, as a lifelong "Evangelical" Christian, have been taught - that our salvation is dependent solely on our trust in the &lt;u&gt;completed&lt;/u&gt; work of Christ, and, while  it is  our responsibility to surrender to God's work in our lives, it is the work of God through the Holy Spirit to bring forth the fruit in our lives. &lt;br /&gt;&lt;br /&gt;And yet, as I said, his points are scriptural. So have I been led down the primrose path by, in his words "lying preachers, wolves in sheep's clothing?" As he says, his message is serious.  The consequences of  getting it  wrong are too high.  So it's prompting me to want  to step back, re-examine and re-think what I believe and the basis for it.  And I'm thinking, let's go ALL the way back, to "There is a god (and I'm not him!)".  So I think that's what  I'm going to do, and doing it in these pages will  force me, I hope, to  clarify my thoughts and the reasons behind them.&lt;br /&gt;&lt;br /&gt;Stay tuned.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-1450687519689255829?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/1450687519689255829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=1450687519689255829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/1450687519689255829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/1450687519689255829'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/06/this-i-believe-pt-1.html' title='This I believe, pt 1'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-4027310147485953710</id><published>2009-02-18T18:43:00.001-08:00</published><updated>2009-02-18T18:43:51.092-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='share hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='GoDaddy'/><title type='text'>My website works on my machine, but it won't work on GoDaddy. How come?</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Okay, as I said in my last post, I see a lot of posts in forums and newsgroups dealing with web development that are somewhere along the line of the title.  And it may be GoDaddy, or it may be some other shared hosting company.&lt;br/&gt;&lt;br/&gt;I started writing this post about a week ago, and trying to recount my experiences chronologically became too long and rambling, so let me just list some of the problems that I have encountered.  I may expand on some of them in future posts.&lt;br/&gt;&lt;br/&gt;1. You don't have control of your execution environment on a shared hosting service like you do when you're running on your own machine. You don't have control over what software has or hasn't been installed, or what the machine configuration settings are, etc. The first problem I encountered was that I had installed the MySql Connector that interfaces the .NET framework to a MySql database.  GoDaddy hadn't, or at least didn't have the same version that I had and that my program was expecting. (And they couldn't or wouldn't tell me what version, if any they did have.)  The work around is to make sure your program/website is completely self-contained, so that you're not relying on anything on their environment (in my case, by copying the MySqlData.dll into the "bin" directory of the website I was publishing to GoDaddy).&lt;br/&gt;&lt;br/&gt;2. You're running in what is known as a "medium trust" environment in a shared hosting server.  Chances are, unless  you have deliberately configured it, your development and  test environment is a "high trust" environment.  What this basically means is that there are a whole  lot of perfectly legitimate things that your program might want to do that are simply not allowed in the medium trust environment.  This is worth a whole post of its own, but just let me say that, if you're going to be hosting your site on a shared hosting server, set up your development and test environment  for medium trust (I'll cover how in another post.  For now, if you need to know how, google it.)  You will save yourself a whole lot of headaches.&lt;br/&gt;&lt;br/&gt;3. The database servers are probably different in some respects from what you're running on in development.  This will be particularly true in the case that you're using MySql (which I was), rather than Microsoft SQL Server (MSSQL).  There are two noticable differences, even though I was running MySql in my development environment as well.  &lt;br/&gt;&lt;br/&gt;One is that the MySql server that was in my development environment was running on a Windows machine.  There's is running on a  Linux server.  Yes, the web server is hosted on a  Windows machine, but the database that it connects to is running on a  separate machine which is Linux.   The  key difference is that MySql on Windows is not case sensitive, while on Linux it is.  So a command like "SELECT productID FROM Products WHERE Sku=@Sku"  will work fine on a Windows base MySql Server, even if the columnname is actually productid and the table name is products.  But it will fail if that same database is hosted  on a  Linux server.&lt;br/&gt;&lt;br/&gt;The second area of concern is that the security is much tighter on GoDaddy's database servers. Specifically, you cannot access anything outside of the database you're connected to, even if you have permissions for it (I'm  not sure how you would specify permissions for it.)  As a result, you are not even permitted to specify the database property of a table.  If you're not  aware of it, this can be a problem, because the MySql Connector that  interfaces with Visual Studio, by default, generates insert, update and delete commands that reference the tables as &amp;lt;databasename&amp;gt;.&amp;lt;tablename&amp;gt;  (E.g., INSERT INTO MyDB.Customer (CustomerName, ...) ) Even though the databasename is, in fact, the database that you are connected to and working with, simply specifying the database name will  kick the statement out on a permissions violation.  (The first time I saw this error, it said something like my Insert statement failed because I didn't have proper permissions, and I was on the phone complaining irately to GoDaddy Support that they had set up my database without giving me write access into my own tables!  It took  me a while to understand exactly how it worked.)&lt;br/&gt;&lt;br/&gt;Another area where this comes into play is that, when you're dumping and restoring a database, you may have to edit the SQL that's generated to remove certain parameters.  When you define a View, the MySqldump will dump the CREATE VIEW statement with a "DEFINER" attribute.  Even  though the DEFINER is you, that will cause the statement to fail if you try tor use it to  restore the database on GoDaddy's servers.&lt;br/&gt;&lt;br/&gt;Also, GoDaddy, allegedly for "security reasons" will not permit you to define your own stored procedures in your database (and don't tell you that until you try it and it fails with some obscure error!).  I'm not that good with databases, and so far, I've only had one instance where I was trying to use a stored procedure.  Fortunately, I was able to program around that one fairly easily.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;So,  those are the three main areas.  There's probably some small incidents here and there that fall outside those bounds.  But that covers most of it.  And there are ways to work around all  of them. It's just a question of  how much work   you have to go through to do it.&lt;br/&gt;&lt;br/&gt;I will try to expand on the "medium trust" issue in  another post.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=cf2f993f-def4-4f82-80d3-e59348664f28' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-4027310147485953710?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/4027310147485953710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=4027310147485953710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4027310147485953710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4027310147485953710'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/02/my-website-works-on-my-machine-but-it.html' title='My website works on my machine, but it won&amp;#39;t work on GoDaddy. How come?'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-559446305239386862</id><published>2009-02-07T09:20:00.001-08:00</published><updated>2009-02-07T09:20:45.662-08:00</updated><title type='text'>Hosting a Website on GoDaddy</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I'm going to make this short right now, and post more in future days, hopefully.&lt;br/&gt;&lt;br/&gt;One of the reasons I started this blog was to share what I had learned about hosting a website that I've developed on a shared hosting service, specifically, GoDaddy.com.  &lt;br/&gt;&lt;br/&gt;In reading various ASP.NET forums, I am constantly seeing posts that say something like "I developed this website, and it works great on my development server, but it won't come up at all (or misbehaves in some particular way) when I port it to my hosting service."  Which was exactly my experience when I brought up my &lt;a href='http://www.takechargeofyourdebts.com' target='_blank'&gt;first site&lt;/a&gt; nearly a year ago.  And I solved a lot of problems, one at a time, and learned a lot, before I got it running. (BTW, it's broke right now, and I'm working on finding time to get it fixed.  Soon.)&lt;br/&gt;&lt;br/&gt;But before I do post any of those lessons, I wanted to share a post made earlier this week by Joe Stagner of Microsoft. It's a 45-minute video on &lt;br/&gt;&lt;a href='http://www.misfitgeek.com/2009/02/03/CreatingUpdatingAndPublishingWebApplicationsWithVisualWebDeveloperdSharedHosting.aspx' rel='bookmark'&gt;Creating, Updating, and Publishing Web applications with Visual Web Developed Shared Hosting&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;In it, he goes through the mechanics of loading your site to your hosting service, establishing your database, administering your site etc.  The particulars vary depending on your hosting company (and, unfortunately, none of them are remotely close for GoDaddy) but the basic idea is there.&lt;br/&gt;&lt;br/&gt;I was disappointed that he did not go into some of the development issues to keep in mind - things you are allowed to do on your own machine that are guaranteed to break spectacularly when you put your application in a shared hosting environment.  But maybe he will in subsequent installments.  He did say this was the first of a series.&lt;br/&gt;&lt;br/&gt;And, if not, all the more reason for me to write my posts...&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-559446305239386862?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/559446305239386862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=559446305239386862' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/559446305239386862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/559446305239386862'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/02/hosting-website-on-godaddy.html' title='Hosting a Website on GoDaddy'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-9017457753552152956</id><published>2009-02-04T07:49:00.000-08:00</published><updated>2009-02-04T19:49:09.626-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social'/><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Facebook</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I have a confession!  Until recently, I was not on facebook!&lt;br/&gt;&lt;br/&gt;It really was more that I just couldn't be bothered than that I was actively resisting.  But I kept getting more and more invitations from friends, and discovered that you really couldn't nose around and see anything about what your friends were doing unless you had an account there.  (Fair enough, I suppose.)&lt;br/&gt;&lt;br/&gt;So, a few weeks ago, I relented and created an account.  And since then, I have been amazed at the number of people that I really do know that are there.   Some that I haven't seen in 40 years!  But I'm even more amazed at the number of times it (facebook) will suggest that I might know someone, and way more often than not,  they're right.  And I scratch my head and say, how on earth does it know that?&lt;br/&gt;&lt;br/&gt;Be that  as it may, it appears that facebook is becoming (or has become) something of a phenomenon.  My friend &lt;a href='http://geohill.blogspot.com' target='_blank'&gt;George Hillman&lt;/a&gt; posted an entry on his blog the other day which caught my eye: &lt;a href='http://www.dallasnews.com/sharedcontent/dws/dn/opinion/points/stories/DN-manjoo_01edi.State.Edition1.1522d97.html'&gt;Why aren't you on Facebook? &lt;/a&gt; In it, columnist Farhad Manjoo says that facebook has followed a similar evolution to that  of the cellphone - from an elitist gadget to something that is simply expected.  Facebook recently announced reaching a milestone of 150 million user accounts.&lt;br/&gt;&lt;br/&gt;Anyway, I'm enjoying catching up with a lot of people that I wouldn't have otherwise.  There are certainly some objectionable possibilities, &lt;a href='http://www.dallasnews.com/sharedcontent/dws/dn/opinion/points/stories/DN-markdavis_0201edi.State.Edition1.1529a3f.html' target='_blank'&gt;Mark Davis&lt;/a&gt; points out, you have complete control over what you do  with it and what you make of it.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-9017457753552152956?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/9017457753552152956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=9017457753552152956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/9017457753552152956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/9017457753552152956'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/02/facebook.html' title='Facebook'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-2687517974511979729</id><published>2009-01-29T19:01:00.001-08:00</published><updated>2009-01-30T12:42:27.543-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='gridview'/><category scheme='http://www.blogger.com/atom/ns#' term='arrays'/><title type='text'>This shouldn’t be that hard!</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;For any of my vast number of readers (hah, hah) who have been following this blog, this post is more what I intended when I decided to start blogging, but so far, haven't gotten around to – a recounting of dealing with a technical issue.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So if you're not into software development, this will doubtless leave you cold, and you're forgiven if you want to go  read something more interesting.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;For the past 3 days I have been struggling to do something in Microsoft ASP.NET that should be duck soup.  But it ain't.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I have a 24x7 array of data that I want to present and edit in a GridView.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Now, a GridView being a presentation control composed of a number of rows and a number of columns, one would think at first glance that he could simply set the DataSource to the array, and, voilá, it would appear.  Not so.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In the end, the solution is not too, too terrible, but arriving at it is.  This is owing in large part to the state of documentation of today's software products.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;They come with megabytes and megabytes of hyper-linked references and how-to walkthroughs, which is great if the task you want to accomplish is exactly one of the walkthrough topics.  But if not, you're left to try different combinations of words in various online and offline search engines and hope you hit a combination that lands on an article that somebody has fortuitously written that describes your plight, or something relevant to it.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Now, the Visual Studio Help file entry for "GridView" tells you:&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;&lt;br /&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt;"&gt;&lt;span style=";font-family:Verdana;font-size:8;"  &gt;&lt;span style="color:black;"&gt;The &lt;/span&gt;&lt;span style="color: white; background-color: rgb(49, 106, 197);"&gt;&lt;strong&gt;GridView&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:black;"&gt; control can be bound to a data source control (such as &lt;/span&gt;SqlDataSource&lt;span style="color:black;"&gt;, &lt;/span&gt;ObjectDataSource&lt;span style="color:black;"&gt;, and so on), as well as any data source that implements the System.Collections..::.IEnumerable interface (such as System.Data..::.DataView, System.Collections..::.ArrayList, or System.Collections..::.Hashtable).&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;(An IEnumerable is basically anything whose members you can sequence through one at a time – including an array.)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;But then it goes on and tells you that there are two different ways to bind to the datasource, depending on which type you're using – a data source control, or an IEnumerable.  And there's the first hint of difficulty.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;The GridView is really designed to work with data from a database, and when you use it that way, everything just goes, point, point, click, click, and it just works.  But when you start trying to figure out how to use it with arrays, you're just kinda left in the dark.  Searching help files for "GridView binding to array" yields a bunch of articles and hyperlinked references on binding GridViews … to DataSource controls.  I never could find a walk through on how to use it with an array.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;When you bind to a Database data source (from now on referred to, as Microsoft does, as a "Data Source Control"), the binding goes in the aspx declarative markup, so it's there automatically each time the page is loaded.  When you bind to an array, you have to set it programmatically, which basically means that you end  up starting all over each time the page is loaded, including when anyone clicks on  a button or link on the page.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;I'm gonna cut to the chase here and skip dragging you through all the stumbling around that I did … partly in the interest of time, partly so I don't make myself look excessively stupid.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;Yes, GridViews can be bound to arrays, although, at least not that I could find, to 2-dimensional arrays, at least not in the way that I wanted to.  The thing is that you have to do everything just right, and if you don't, you're rewarded with … nothing.  It just simply doesn't work, and you have no clue why.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;The first thing is that, while a GridView looks like it would display a 2-dimensional array nicely, it really displays a one-dimensional sequence of objects (in its rows).  The columns that it displays have to be Properties of the objects.  Not just elements, but properties.  Thus, one of my early attempts, for a programming exercise, involved an array of product elements:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;class&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(43, 145, 175);"&gt;shortProduct&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;    {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;int&lt;/span&gt; id;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;string&lt;/span&gt; sku;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;string&lt;/span&gt; name;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;decimal&lt;/span&gt; cost;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;bool&lt;/span&gt; fractional;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;decimal&lt;/span&gt; weight;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;    }&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;I tried to bind an array of those to a GridView (actually, that was a Windows Form project, so it was a DataGridView, but it's the same principal), and got nothing, because those elements (id, sku, etc.) are just elements and not properties.  When I converted them all to properties, and bound it to the control, they came up pretty as you please.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Verdana;font-size:8;color:black;"   &gt;But that's a problem when you have a 2-dimensional array of simple elements.  What I ended up doing was re-mapping it to an array of 7 objects, each of which was an array of 24 booleans.  And then I defined 24 separate properties corresponding to each one of the Booleans. Now I could display it in a datagrid.  Clumsy, but it worked:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;    public class ValidTimeDay&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;    {&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;        private bool[] _validTimeArray;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;        public bool ValidHour0 { get {return _validTimeArray[0];} set { _validTimeArray[0] = value}}&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;        public bool ValidHour1 { get {return _validTimeArray[1];} set { _validTimeArray[1] = value}}&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;        etc. down to&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;        public bool ValidHour23 { get {return _validTimeArray[23];} set { _validTimeArray[23] = value}}&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:Courier New;font-size:10;"  &gt;    }&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Now I had an object I could display in the GridView.  I then mapped each of the 7 rows into one such object, and made the 7 objects into an array, and I could bind to it.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The other area where the GridView makes it difficult to work with arrays is in the editing features.  Again, when you're working with Data Source controls, enabling editing of the data is pretty much point, point, click, click.  Because the array doesn't have any kind of programmatic insert/update/delete interface, the GridView basically throws up its hands and leaves it up to you.  You can get an Edit button on your GridView with just a few clicks, but everything else is up to you.  You have to write the program code for handling each event in the process.  And one thing that cost me about half a day of stumbling around until some kind soul on a forum gave me an example, the first thing you have to do is tell it what it's editing – even though it just told you .  In your "RowEditing" event handler, the first line should be something akin to "GridView1.EditIndex = e.NewEditIndex".   If you don't do  that, nothing else happens! You also have to write the code to go back into the child controls of the GridView and figure out exactly what changes were made and store them in the array- that  doesn't happen automatically either.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Once you know how to do something, it's not all that  hard. It just shouldn't be that dang  hard to figure out.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-2687517974511979729?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/2687517974511979729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=2687517974511979729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/2687517974511979729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/2687517974511979729'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/01/this-shouldnt-be-that-hard.html' title='This shouldn’t be that hard!'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-3464887356285090467</id><published>2009-01-19T19:49:00.000-08:00</published><updated>2009-01-19T19:52:55.209-08:00</updated><title type='text'>My first cruise</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_MsqU4xkZ3xQ/SXVKV_pD-BI/AAAAAAAAACg/l1DMKhWFtcc/s1600-h/Sunrise+scaled.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 177px;" src="http://2.bp.blogspot.com/_MsqU4xkZ3xQ/SXVKV_pD-BI/AAAAAAAAACg/l1DMKhWFtcc/s320/Sunrise+scaled.jpg" alt="" id="BLOGGER_PHOTO_ID_5293218678765254674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MsqU4xkZ3xQ/SXVKVm-nlqI/AAAAAAAAACY/cKSCC55E5m4/s1600-h/Nancy+and+Dave+scaled.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 166px; height: 250px;" src="http://1.bp.blogspot.com/_MsqU4xkZ3xQ/SXVKVm-nlqI/AAAAAAAAACY/cKSCC55E5m4/s320/Nancy+and+Dave+scaled.jpg" alt="" id="BLOGGER_PHOTO_ID_5293218672144783010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_MsqU4xkZ3xQ/SXVKVdt8cII/AAAAAAAAACQ/FuYFVc_gX4I/s1600-h/MS+Ecstacy+scaled.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 250px; height: 166px;" src="http://1.bp.blogspot.com/_MsqU4xkZ3xQ/SXVKVdt8cII/AAAAAAAAACQ/FuYFVc_gX4I/s320/MS+Ecstacy+scaled.jpg" alt="" id="BLOGGER_PHOTO_ID_5293218669658927234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///D:%5CDOCUME%7E1%5CDave.HQ%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///D:%5CDOCUME%7E1%5CDave.HQ%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///D:%5CDOCUME%7E1%5CDave.HQ%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0in; 	margin-right:0in; 	margin-bottom:10.0pt; 	margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.0in 1.0in 1.0in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;I’m writing this in the car on the way back from my first cruise.&lt;span style=""&gt;  &lt;/span&gt;It’s something I’ve wanted to do for a long time, and let me say, right up front, I’m glad I went and I had a good time.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;But it didn’t really meet my expectations, and I doubt I will go again. The problem may have been with my expectations, or it may have been with the cruise.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;For one thing, at least in my mind, when one says “Caribbean Cruise”, one pictures, well… a CARIBBEAN cruise. Caribbean as in, primarily, warm, and with white sand beaches and blue water.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We left Dallas at 6:30 in the morning with the temperatures in the 20s.&lt;span style=""&gt;  &lt;/span&gt;And while the cruise was certainly warmer than we left in Dallas, it didn’t match up with my mental picture of WARM. But I should have realized, even though we’re going to the Caribbean, we’re starting the voyage from Galveston, a scant 300 miles south of Dallas.&lt;span style=""&gt;  &lt;/span&gt;Plus the same cold front that had sent temperatures plummeting in Dallas had pushed its way on south.&lt;span style=""&gt;  &lt;/span&gt;While the temperature as we boarded the ship was in the 50s, there was a stiff north wind that kept me in sweatshirts and jackets nearly the whole trip.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;So I guess the lesson to learn from that is, don’t plan a cruise out of Galveston in the middle of January if you’re expecting warm weather!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;That same wind kept the seas rough. The ship was rolling from side to side, to the point where I had the sensation that I was going to roll right out of the bed.&lt;span style=""&gt;  &lt;/span&gt;While I’m usually pretty good about motion sickness, by 3:00 PM of our first full day at sea, I was huddled in bed to keep from hurtling my lunch. Nancy, my girlfriend, went to the infirmary and brought back some motion sickness pills, which alleviated the sensation, but also virtually knocked me out till 8:00 the next morning. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;The consolation, though, is that several cruise veterans said that was the roughest they had seen the seas on any of their cruises. So if I were to go again, that experience probably wouldn’t be repeated.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Overall, the cruise was very relaxing and enjoyable.&lt;span style=""&gt;  &lt;/span&gt;I got to see a couple of beautiful sunrises (see photo) and sunsets over the water. The food was plentiful, and was certainly good, though I wouldn’t consider it superb. About on a par with what you would expect from your typical casual dining restaurant.&lt;span style=""&gt;  &lt;/span&gt;However, the claim I have often heard that you can find something to eat at any hour of the day or night turned out to be not quite true, unless you count soft-serve ice cream.&lt;span style=""&gt;  &lt;/span&gt;We went in search of some at 4:00 one morning, and the ice cream machine was about the only thing we found stirring.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;While the weather in Cozumel was somewhat warmer (mid 70s), the same wind still dogged us, and it was cloudy, so I wasn’t really inclined to hit the beach with the few hours we had in port. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;While there were certainly enjoyable activities on the ship (dancing, clubs, shows, parties, etc.), I guess I would much prefer, if I’m going to a Caribbean destination, to get there and spend the time on the beach or in the water, rather than spend a day and a half at sea (even if it’s enjoyable) each way to get a few hours at the destination.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;But, at least I got to go, and that’s something I can cross off my list of things I’ve always wanted to do!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-3464887356285090467?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/3464887356285090467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=3464887356285090467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3464887356285090467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3464887356285090467'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2009/01/my-first-cruise.html' title='My first cruise'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MsqU4xkZ3xQ/SXVKV_pD-BI/AAAAAAAAACg/l1DMKhWFtcc/s72-c/Sunrise+scaled.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-3276438988891162150</id><published>2008-12-15T04:08:00.001-08:00</published><updated>2008-12-15T04:09:53.955-08:00</updated><title type='text'>On Relating to God</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;I'm a very goal oriented person.  I have a matrix of goals that I keep updated (more or less), with columns for goals in the spiritual, physical, personal, financial, and social areas, and rows for the time frame: one month  goals, 3 month goals, goals for the year, for the next 3, 10, and 30 years.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;One of the goals I have written down in the spiritual area is to have a close enough relationship with God that, when it comes my time to die, it will be just walking home with my best friend.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;But I came to realize some time ago that I had a mistake in this goal.  Not that it is a bad goal, but I had it as a 30-year goal.   And none of us has any assurance of any given length of time to accomplish it, let alone another 30 years.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So one of the areas that I struggle with regularly is building my relationship with God.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A couple years ago, I studied a book by Gary Moon entitled &lt;span style="text-decoration: underline;"&gt;Falling for God.&lt;/span&gt;  It's about the topic of developing a relationship with God, and he draws analogies to human relationships. For his purposes, he divides the development of our relationship into 3 phases: Conversation, Communion, and Consummation.  I'm still in the first phase. Moon makes the point that you cannot expect to develop a relationship with anyone, God or a human, without spending time with the person, time in conversation.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Like many believers, I'm a firm adherent to the idea of a more-or-less daily "quiet time".  Like most believers, I thought of this in terms of time spent in studying the Bible, and in prayer.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;But I'm reminded of an episode of a sit-com I saw many, many years ago.  I can't remember what show it was, or who the actors were, but the essence of the plot line is something like this.  The mother in the story is in the chapel of a hospital, because her son is in ICU, and she is desperately praying for his recovery.  This native-American spiritual guru comes in, and strikes up a conversation with her.  She tells him about the boy's situation, and how she is pleading with God, bargaining with him, recounting to him what a good boy her son is and how he deserves to be healed.  Then the Indian says gently,  "Let me get this straight. (Pause) You're carrying on a conversation with the Great Spirit (Pause) and you're (rising inflection) doing all the talking?"&lt;br /&gt;&lt;/p&gt;&lt;p&gt;And isn't that how we spend most of our time with God?  We talk, talk, talk, telling him what we want or what (we think) we need, asking him to bless OUR plans,  asking him for others  needs, perhaps even  spending time worshipping him and thanking him. And we certainly should be doing these things. But is that how we get to KNOW God?  If you were always doing all the talking to a friend, and never listening, how would you get to know him or her? So, I have purposed to spend more time trying to listen to God.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The problem, of course, is that we're not used to hearing God talk the way we here a friend talk.  We are taught that Christianity is a relationship with God, but when it comes to developing that relationship, there are very few voices raised to indicate that we can actually here from God personally. One that I have encountered is John Eldredge.  He devotes his most recent book, &lt;span style="text-decoration: underline;"&gt;Walking With God&lt;/span&gt; (sub-titled "Talk to Him. Hear from Him. Really.") to expounding the idea that "We are made for intimacy with God.  He wants intimacy with us. That intimacy requires communication. God speaks to his people." (p. 16).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;But, for me (and I don't think I'm alone), listening for God to speak is very frustrating, because, listen though I might, I hear his voice very seldom, or at least I don't hear it clearly.  I don't know if this is because he is not speaking to me, or because I haven't yet learned how to listen.  Moon's book (referred to earlier) is about learning to listen, by spending enough time quieting ourselves to give ourselves a chance to hear his voice.  This is what has been referred to as the Christian discipline of meditation, or what some have referred to a "contemplative prayer."  But I find that, while I may spend as much as an hour trying to quiet myself and hear God's voice, if I can get as much as 60 seconds without distracting thoughts that would totally obliterate God's voice, then I think I'm doing good. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;But I find I'm not alone at this.  Henri Nouwen, who, according to my understanding, is viewed by many as one of the foremost authorities in this area, says " 'Why should I spend an hour in prayer when I do  nothing during that time but think about people I am angry with, people who are angry with me, books I should read and books I should write, and thousands of other silly things that happen to grab my mind for a moment?'   Nouwen posed that question in different forms, toying with different answers.  Sometimes he fell  back on the need for spiritual discipline, for being faithful even with no apparent reward… In the end, Nouwen concluded that 'sitting in the presence of God for one hour each morning – day after day, week after week, and month after month in total confusion and with a myriad of distractions – radically changes my life.' " (Henri Nouwen, &lt;span style="text-decoration: underline;"&gt;Primacy of the Heart&lt;/span&gt;, quoted by Philip Yancey in &lt;span style="text-decoration: underline;"&gt;Prayer&lt;/span&gt;, p. 153)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;And so I muddle on.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-3276438988891162150?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/3276438988891162150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=3276438988891162150' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3276438988891162150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/3276438988891162150'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2008/12/im-very-goal-oriented-person.html' title='On Relating to God'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-4135755489933714535</id><published>2008-12-14T13:44:00.000-08:00</published><updated>2008-12-14T14:05:07.592-08:00</updated><title type='text'>Some of my friends</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCoEDELSI/AAAAAAAAABw/bd1T3XwvVe4/s1600-h/Wade+and+Bill.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 221px;" src="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCoEDELSI/AAAAAAAAABw/bd1T3XwvVe4/s320/Wade+and+Bill.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769762954751266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCoBUsnnI/AAAAAAAAABo/thUii-fuYkE/s1600-h/Larry+shooting.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 241px;" src="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCoBUsnnI/AAAAAAAAABo/thUii-fuYkE/s320/Larry+shooting.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769762223398514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCnlJFMPI/AAAAAAAAABg/hGpLzlhqtSE/s1600-h/Ryan+throwing+skeet.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 242px; height: 320px;" src="http://3.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCnlJFMPI/AAAAAAAAABg/hGpLzlhqtSE/s320/Ryan+throwing+skeet.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769754658484466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIqseZMI/AAAAAAAAABY/aMXVmBXq14I/s1600-h/Ryan+with+skeet.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 247px;" src="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIqseZMI/AAAAAAAAABY/aMXVmBXq14I/s320/Ryan+with+skeet.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769223573169346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIilq6cI/AAAAAAAAABQ/Ft6T8SIdhXY/s1600-h/Dave+shooting.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 254px;" src="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIilq6cI/AAAAAAAAABQ/Ft6T8SIdhXY/s320/Dave+shooting.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769221397146050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIayvQsI/AAAAAAAAABI/nHTBRddbp-s/s1600-h/Steve+and+Ray.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 223px;" src="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIayvQsI/AAAAAAAAABI/nHTBRddbp-s/s320/Steve+and+Ray.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769219304473282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIZ9bLUI/AAAAAAAAABA/Ho4FQwpmwqA/s1600-h/Allan+with+pigeion.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 254px;" src="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCIZ9bLUI/AAAAAAAAABA/Ho4FQwpmwqA/s320/Allan+with+pigeion.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769219080858946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCH-SITuI/AAAAAAAAAA4/M746o5NPGQ8/s1600-h/Larry+the+thrower.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 226px;" src="http://3.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCH-SITuI/AAAAAAAAAA4/M746o5NPGQ8/s320/Larry+the+thrower.jpg" alt="" id="BLOGGER_PHOTO_ID_5279769211651509986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_MsqU4xkZ3xQ/SUWBkcwqylI/AAAAAAAAAAw/mZFC7bH1kYY/s1600-h/Ryan+and+Steve.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 194px;" src="http://3.bp.blogspot.com/_MsqU4xkZ3xQ/SUWBkcwqylI/AAAAAAAAAAw/mZFC7bH1kYY/s320/Ryan+and+Steve.jpg" alt="" id="BLOGGER_PHOTO_ID_5279768601357371986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWBaih2r7I/AAAAAAAAAAo/owj1KdmRbC0/s1600-h/The+gang.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWBaih2r7I/AAAAAAAAAAo/owj1KdmRbC0/s320/The+gang.jpg" alt="" id="BLOGGER_PHOTO_ID_5279768431107157938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The pictures posted here are from a get together at a ranch in rural Grayson county. It's a bunch of guys that I have become very close to as we have met together over the last 3 months or so and shared with one another our lives and struggles as we seek discover and grow the strengths that we each possess as men.  The pictures are from one aspect of the weekend, shooting skeet. The real point to the weekend was to be able to spend time with other men, talking, eating together, and sharing our lives.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-4135755489933714535?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/4135755489933714535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=4135755489933714535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4135755489933714535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4135755489933714535'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2008/12/some-of-my-friends.html' title='Some of my friends'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MsqU4xkZ3xQ/SUWCoEDELSI/AAAAAAAAABw/bd1T3XwvVe4/s72-c/Wade+and+Bill.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-7429749795210634638</id><published>2008-12-08T17:10:00.000-08:00</published><updated>2008-12-08T17:30:33.318-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introduction'/><title type='text'>Who, What, Why?</title><content type='html'>As I contemplated starting this blog, I asked myself, Why do I want to write this? What am I going to write? Who would I be writing it for? And, does the world really need another blog?&lt;br /&gt;&lt;br /&gt;My main motivation,  and the main source of content that I foresee writing here, stems from the knack that I seem to have for encountering strange problems in my work - problems that do not lend themselves to solution by a quick search on Google.   I end up searching all the documentation that I can find, googling the whole world, searching half a dozen different forums, and then experimenting till I find the answer.&lt;br /&gt;&lt;br /&gt;Most of the time, I'm absolutely certain that someone else has run into the problem - the problems are not &lt;span style="font-weight: bold;"&gt;that&lt;/span&gt; far out there - but either no one has written about it, or I haven't found the magic combination of  terms to put into the search engines to  find it.  So I want to share some of the things that I have learned, and hope that the search engines will pick it up and make available for the next guy that runs into a similar problem.&lt;br /&gt;&lt;br /&gt;But I also, from time to time, feel like I have things to say in other areas of life as well.  So this may end up being a strange mixture, and I'll see if anybody actually read it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-7429749795210634638?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/7429749795210634638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=7429749795210634638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/7429749795210634638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/7429749795210634638'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2008/12/who-what-why.html' title='Who, What, Why?'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3617465930008212158.post-4619632184286150875</id><published>2008-12-08T15:35:00.000-08:00</published><updated>2008-12-08T15:49:05.401-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introduction'/><title type='text'>Geeks Have a Life, Too</title><content type='html'>My self-assessment is that I am, indeed, a bonafide geek. I'm a career-long software engineer (computer programmer to laymen). I have 4 computers in my house. I'd rather look it up on Mapquest than carry an atlas in my car.  And I haven't kept a check register since 1990 when I started using Quicken.&lt;br /&gt;&lt;br /&gt;I spend 8+ hours a day in a cubicle working on computers, and then, most nights, I come home and work on my own computer projects, mostly web sites I'm working on, because that's what I enjoy.&lt;br /&gt;&lt;br /&gt;But computers do not define my life. I do have a real life.  I have a group of real life (not facebook) friends that I see regularly.  I love to country western dance, and have friends that I see on my nights out there, usually once or twice a week.  I am active in my church (&lt;a href="http://www.btbf.org"&gt;Bent Tree Bible Fellowship&lt;/a&gt;), and have several close friends there.&lt;br /&gt;&lt;br /&gt;While I expect a lot of my postings to be technology related, I feel like I am grappling with significant issues in the real, more relevant aspects of my life - my walk with God, and my relationships with others - and I feel  like, from time to time, I will have something worth writing about in those areas as well.&lt;br /&gt;&lt;br /&gt;Thanks for joining me.  I hope that you find something of value in my occasional musings in this space.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3617465930008212158-4619632184286150875?l=onegeekwithalife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://onegeekwithalife.blogspot.com/feeds/4619632184286150875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3617465930008212158&amp;postID=4619632184286150875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4619632184286150875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3617465930008212158/posts/default/4619632184286150875'/><link rel='alternate' type='text/html' href='http://onegeekwithalife.blogspot.com/2008/12/geeks-have-life-too.html' title='Geeks Have a Life, Too'/><author><name>Dave Hanna</name><uri>http://www.blogger.com/profile/09725768182194272557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_MsqU4xkZ3xQ/ST21xGI5HtI/AAAAAAAAAAM/A3o8SHqpKCA/S220/August+2008+scaled.jpg'/></author><thr:total>0</thr:total></entry></feed>
