<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Visionpace</title><link>http://blog.visionpace.com/</link><description></description><language>en-US</language><lastBuildDate>Wed, 30 Sep 2009 12:45:54 PDT</lastBuildDate><admin:generatorAgent xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rdf:resource="http://www.typepad.com/?v=1.0" /><media:copyright>copyright Visionpace - All rights reserved</media:copyright><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Information Technology</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Business/Marketing</media:category><media:category scheme="http://www.itunes.com/dtds/podcast-1.0.dtd">Technology/Developers</media:category><itunes:owner><itunes:email>dbliss@visionpace.com</itunes:email><itunes:name>Doug Bliss</itunes:name></itunes:owner><itunes:author>Doug Bliss</itunes:author><itunes:explicit>yes</itunes:explicit><itunes:subtitle>The latest in the world of software development, IT Training and Agile Methodology</itunes:subtitle><itunes:summary>The latest in the world of software development, IT Training and Agile Methodology</itunes:summary><itunes:category text="Technology"><itunes:category text="Information Technology" /></itunes:category><itunes:category text="Business"><itunes:category text="Marketing" /></itunes:category><itunes:category text="Technology"><itunes:category text="Developers" /></itunes:category><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Visionpace" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>K.O.K.O.P.E.L.L.I. is koko-licious!</title><link>http://feedproxy.google.com/~r/Visionpace/~3/MzS0uXtvEgM/kokopelli-is-kokolicious.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Wed, 30 Sep 2009 12:45:54 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2009/09/kokopelli-is-kokolicious.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">The world’s greatest software application has been released. OK, maybe not the world’s greatest, but certainly, this country’s finest software. That COULD be a bit of a stretch, too. Why don’t I tone it down a bit and just say that a useful piece of software is now available? It will be particularly useful if you are planning on attending the Southwest Fox 2009 conference in Mesa, AZ on October 15-18, 2009. K.O.K.O.P.E.L.L.I. is its name and you can read more about it and view a video tutorial at </font><a href="http://swfox.net/kokopelli.aspx"><font color="#800080" face="Verdana">http://swfox.net/kokopelli.aspx</font></a><font face="Verdana">. It is also available for download at that URL. Allow me to tell you a little bit more about it.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Several years ago, a co-worker, Doug Carpenter, and I were annoyed by the time we “wasted” in trying to come up with the optimum conference schedule when attending a developer conference with multiple sessions. It seemed like we would spend several hours with pencil and paper trying to pick and choose the correct combination of times and sessions to get the best bang for our conference buck. It was then that we embarked on the quest to come up with some semi-intelligent, intuitive software that would do the scheduling for us. It was that software, “The G.O.D.D.E.S.S.”, which debuted at the DevEssentials in Kansas City, MO. in 2004. K.O.K.O.P.E.L.L.I. is the next generation of this type of software.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Written in Visual FoxPro 9, Kokopelli (K.O.K.O.P.E.L.L.I. is too difficult to type) takes the attendee’s preferences and converts them into a SUGGESTED conference schedule that all but guarantees, by the time the conference is over, that the attendee will have seen every session they wanted to see. You will need either VFP8 or VFP9 installed or have the run-time files available to run the executable.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Once you download the zipped file, unzip the file into the directory of your choice and just run the executable. Take the time to READ both the help (4th page of the page frame) and/or use the graphical help by clicking on the “Help!” button. This is all the help you should need. I do have a couple of warnings however. If you keep them in mind, you will have the best chance of getting the optimal schedule.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">First, although it may appear to be so, it should NOT be your goal to “pick” the session in each time slot that you want to attend. The software will eventually do that for you. YOUR job is to rank the four (or five) sessions in each time slot as if they were the only four sessions you could attend the entire conference. i.e. Of the four sessions in the time slot, which one would you MOST like to attend? Which one would be your 2nd choice? Third choice? It is so important that you understand this concept; I am suggesting that you read this paragraph over again. Do the same thing for EACH time slot (ignoring what you chose before in other time slots). To reiterate... Treat EACH TIME SLOT as an entity unto itself. By following this plan, Kokopelli will determine which sessions are most important to you and present a schedule that should meet your needs and ensure that you have had a chance to attend the sessions that interest you the most.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Second, the generated schedule is ONLY A SUGGESTION. No one is twisting your arm and forcing you to attend a particular session. I think you will be amazed at how well it does in creating a schedule for you. You can always tweak the rankings to fine tune the schedule. If you have any questions, concerns, comments, feel free to comment them here and I will answer them and guide you down the right path. </font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Lastly, we tried to come up with a form that isn’t your standard Visual FoxPro/Windows form in appearance. We hope you like it and appreciate the Southwestern theme of the form.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">&quot;Thank you&quot;s are in order. I must mention those VERY patient folks who tested the application, offered constructive criticism, and generally harassed me to get it done. Without their help, it would have taken much, much longer. So, in no particular order, I would like to acknowledge the following humanoids for their help:<o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Doug Carpenter<br />Kelly Conway<br />Tamar Granor<br />Doug Hennig<br />Larry Koska<br />ShellEy Nass<br />George Clooney (just checking to see if you are paying attention)<br />Cathy Pountney<br />Rich Schummer</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">For those of you who are really weird, YES, it WAS in a particular order - ALPHABETICAL (by last name).<br />Thanks again to everyone.<o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>]]></content:encoded><description>The world’s greatest software application has been released. OK, maybe not the world’s greatest, but certainly, this country’s finest software. That COULD be a bit of a stretch, too. Why don’t I tone it down a bit and just say...</description><feedburner:origLink>http://blog.visionpace.com/2009/09/kokopelli-is-kokolicious.html</feedburner:origLink></item><item><title>Liar, liar, pants on fire!</title><link>http://feedproxy.google.com/~r/Visionpace/~3/HbcUnoUXfTo/liar-liar-pants-on-fire.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Wed, 30 Sep 2009 12:26:15 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2009/09/liar-liar-pants-on-fire.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Before I start this diatribe, give me a minute to get up on my soapbox. Ah, that’s better. The air up here is not as polluted and I can see more clearly now. Too bad some of you can’t get up on the soapbox with me to enjoy the view, but I digress. OK, before going any further, I warn you that I am about to offend a lot of “Kool-Aid drinkers”.<span style="mso-spacerun: yes">&#0160; </span>If you are one of them, tough toenails, because I’ll give you the bottom line right now – you, my friend, are an idiot.<span style="mso-spacerun: yes">&#0160; </span>If you don’t have thick skin, read no further. Those of you brave enough to face the truth, continue on.<o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">We here at Visionpace make every attempt to practice the Agile methodology of software development. We are proud of the fact that this practice serves both us, as software developers, and our clients extremely well. Many of our clients were reluctant at first, but once they understood the benefits, most of them gave it a chance and haven’t looked back.<br /><br /><o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Agile practices are a good thing, but I do have one beef that I am VERY passionate about and I am about to discuss (some of you might even say, proselytize) it. In many agile discussions, as well as discussions about other software disciplines, one often hears the phrase, “All comments are lies.” Those of you who believe this are (as I have alluded to above) idiots! However, those of you who do NOT believe it, COULD still be an idiot, and so, be sure to get a second opinion.<br /><br /><o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Hey, I get it. Don’t trust comments. They are not always accurate. Duh! I feel that there are a certain percentage of you out there who actually embrace this belief because it validates the fact that you were doing the right thing all those years by NOT putting comments in your code. No, it just validates that you are lazy. Lazy is not, necessarily, a bad trait in a software developer, but NOT commenting your code WITHIN the code makes you, dare I say it again, an idiot. That is the last time I will use that term, because, hopefully by now, you are riled up enough to really listen to me.<br /><br /><o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Other than the fact that someone either knowingly wrote an inaccurate comment or wrote a comment, modified the code pertaining to it, and then did not update the comment, can any one out there give me a reason NOT to trust a comment you discover in code? We will exclude that person from the discussion because he is a “psycho programmer”; you know the one that NEVER follows any kind of standard and use one character mvars. Besides, most “psycho programmers” don’t comment anyway.<br /><br /><o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Here are the reasons why, in MY opinion, you SHOULD comment your code.<o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Let’s get the “trust” issue out of the way right now.<span style="mso-spacerun: yes">&#0160; </span>If YOU put the comment in yourself, you BETTER believe that the comment is accurate. You did it (primarily) for yourself.<span style="mso-spacerun: yes">&#0160; </span>The fact that an accurate comment will benefit a maintenance programmer who comes down the pike a year later is an extra benefit; a benefit which I appreciate when I am called in to do the maintenance. I will be more than happy to ASSume that the newly discovered comment is accurate because THAT developer put it in there and, like you, why would they want to lie to them self? Yes, there is that chance that the comment is now inaccurate.<span style="mso-spacerun: yes">&#0160; </span>Studies have shown, statistically, that approximately 93% of&#0160;comments&#0160;ARE accurate.<span style="mso-spacerun: yes">&#0160; </span>Right here, you should be asking yourself where I got those numbers, and right here, I will tell you that I made them up.<span style="mso-spacerun: yes">&#0160; </span>Who would waste their time researching that fact? Nevertheless, think about it, most comments ARE accurate because the person who writes them WANTS them to be accurate.<o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">OK, I can tell you are getting a little bit peeved right now. Dave, I thought our code is supposed to be “self-documenting”? If I write bug free code, why do I have to comment? Oh, grasshopper, you will learn someday.<span style="mso-spacerun: yes">&#0160; </span>Until then, trust me, write those comments! In all honesty, I, too, am a believer that under most circumstances, the code SHOULD be self documenting. However, consider the following code:<br /><br /><o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">REPLACE Name WITH UPPER(SUBST (LastName, 1, 2) + LOWER(SUBST (LastName, 3)<br /><br /><o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">That code is self documenting, if someone wanted to take the time to figure out what it does, they could easily do so. The real question the person should be asking their self is... WHY is that code there? It looks kind of goofy anyway.<span style="mso-spacerun: yes">&#0160; </span>When I first saw it, I thought that perhaps the coder didn’t know about the PROPER function, but then, they were really capitalizing the first TWO letters of the name. Maybe the parameters of the first substring should have been 1, 1.<span style="mso-spacerun: yes">&#0160; </span>Maybe I should refactor using the PROPER function.<span style="mso-spacerun: yes">&#0160; </span>I am soooooooo confused!<span style="mso-spacerun: yes">&#0160; </span>Close to an hour of my time was spent determining WHY this code was here.<span style="mso-spacerun: yes">&#0160; </span>Imagine how much easier it would have been had the following comment been in place.<br /><br /><o:p></o:p></font></p>
<p><font face="Verdana"><st1:stockticker>
<p>DLA/Visionpace 04/01/2004 Mr. Jones, the COO, recently bought 113 file cabinets </p></st1:stockticker>at an auction. He has decided that the new company wide filing system will be based on the first TWO letters of the customer name. EACH drawer will have a two letter designation and the file will be placed in the drawer base on the first two letters of the customer name. To make it easier to file, he wants the first two letters emphasized for easier reading.</font></p>
<p></p>
<p><font face="Verdana">Immediately, we can see that the code is correct and that there is a reason WHY it was written.<span style="mso-spacerun: yes">&#0160; </span>Additionally, as often happens to me, in some scrum, when asked why this was done or who requested it, the answer is there.<span style="mso-spacerun: yes">&#0160; </span>Not only for me, but for you when you come in to do the maintenance. Two minutes to initially write the comment or 60 minutes to figure out the details&#0160;five years later. You do the math.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Additionally, what one developer feels is self-documenting, another might not. Why not eliminate any potential confusion and explain the reason for the code’s existence? Again, it will save the next person who comes along much valuable time for there is a real good chance that they will know nothing about the project and the code. Believe me, you will benefit also.<span style="mso-spacerun: yes">&#0160; </span>One of my favorite phrases is... “When you are coding, you and God know what you are doing.<span style="mso-spacerun: yes">&#0160; </span>Six months later, only God knows.” I can not begin to tell you the number of times when I have gone into some legacy code and the comment I wrote three years earlier IMMEDIATELY brings back to life the exact reason for the code.<span style="mso-spacerun: yes">&#0160; </span>Many is the time that it has saved my fanny. Those are the times that I almost dislocate my shoulder patting myself on the back for a job well-done.<br /><br /><o:p></o:p></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">If you have made it this far, you are just not getting enough billable hours in.<span style="mso-spacerun: yes">&#0160; </span>However, thank you for reading along and agreeing or disagreeing.<span style="mso-spacerun: yes">&#0160; </span>Either way, I would appreciate hearing your thoughts on this very polarizing topic. I promise to bring an open mind if you do the same, but I will say right up front, that it will take a Herculean effort to change my mind.<span style="mso-spacerun: yes">&#0160; </span>Care to give it a try?<o:p></o:p></font></p>]]></content:encoded><description>Before I start this diatribe, give me a minute to get up on my soapbox. Ah, that’s better. The air up here is not as polluted and I can see more clearly now. Too bad some of you can’t get...</description><feedburner:origLink>http://blog.visionpace.com/2009/09/liar-liar-pants-on-fire.html</feedburner:origLink></item><item><title>Are Ya Catchin' This, Camera Guy?</title><link>http://feedproxy.google.com/~r/Visionpace/~3/Le3GzFDF1Zs/are-ya-catchin-this-camera-guy.html</link><category>Software Blogs</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Mon, 29 Jun 2009 13:01:43 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2009/06/are-ya-catchin-this-camera-guy.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><font face="Verdana">Hear that sound? Tick-tock, tick-tock...<br /><br />That&#39;s the countdown clock at the main office of Geek Gatherings and it is getting closer to the super-saver deadline for the <strong>2009 Southwest Fox Conference</strong>! July 1st is just a couple of days away and I thought I would pass along a reminder just in case you forgot to type it into your task list or stick it on your monitor on a yellow sticky note. <br /><br />The Southwest Fox Stimulus Package holds firm on the cost of registration if you register by July 1st. Yes, registration will be the same cost as last year’s conference IF, repeat, IF you take advantage of the new <strong>&quot;super-saver registration&quot; deadline</strong>. Can you say <strong>JULY FIRST</strong>, boys and girls?<o:p></o:p></font></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><br /><font face="Verdana">Southwest Fox 2009 will take place in <strong>Mesa, Arizona&#0160; USA</strong> and I </font></span><span style="mso-bidi-font-family: &#39;Courier New&#39;"><font face="Verdana">strongly suggest, if you are still developing in Visual FoxPro, that you think long and hard about being there. Don’t miss out on the $125 discount, the free pre-conference session, and a chance at the $300 scholarship from White Light Computing.<br /><br />Already registered? Great! Spread the word (hey, that is what I am doing right now) among your fellow VFP developers (who have been procrastinating) that the deadline is looming nigh?<br /><br /><o:p></o:p></font></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><font face="Verdana">Read about the registration process and get the registration application here: <o:p></o:p></font></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><a href="https://mail.visionpace.com/owa/redir.aspx?C=2e79a7fd4bf24bd48a79033bb8d0d939&amp;URL=http%3a%2f%2fwww.swfox.net%2fregister.aspx" target="_blank"><font face="Verdana">http://www.swfox.net/register.aspx</font></a><o:p></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><o:p><font face="Verdana">&#0160;</font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><font face="Verdana">OK, that sounded kind of bland, but now I would like to add the emotional/excitement factor. The first half of this blog was the facts, ma’am, just the facts. This second half contains (although not in its entirety) stuff that I am looking forward to doing and experiencing at the conference.<o:p></o:p></font></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><o:p><font face="Verdana">&#0160;</font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><font face="Verdana">Reviewing and reinforcing all I can about the VFP9 Report Writer and ReportListener. Show of hands, please. Who, among you, has still not explored all of the capabilities of the ReportListener? i h v<span style="mso-spacerun: yes">&#0160; </span>my h n<span style="mso-spacerun: yes">&#0160; </span>up in<span style="mso-spacerun: yes">&#0160; </span>h<span style="mso-spacerun: yes">&#0160; </span>ir. This is the PERFECT opportunity to do just that.<o:p></o:p></font></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><span style="mso-bidi-font-family: &#39;Courier New&#39;"><o:p><font face="Verdana">&#0160;</font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana"><span style="mso-bidi-font-family: &#39;Courier New&#39;">VFPX – Lots of us have heard about it and maybe even played with it a little bit, but THIS TIME at THIS CONFERENCE, I vow to pick the brains of EVERY speaker who is presenting ANYTHING concerning EXTENDING VFP. It will look like a scene from “Hanibal” (Silence of the Lambs – Part II). Doug Hennig (GDIPlusX), Jody Meyer (Extending the VFP Grid Object), Jim Nelson (FoxCharts), Rick Schummer (Enhancing the VFP IDE using </span><span style="mso-bidi-font-family: &#39;Courier New&#39;">VFPX Tools) all better look out.<span style="mso-spacerun: yes">&#0160; </span>I wonder which goes best with a nice Chianti? Learn to extend VFP to make it bigger, better, richer, fuller!!!<span style="mso-spacerun: yes">&#0160; </span>I am ready.<span style="mso-spacerun: yes">&#0160; </span>How about you?<o:p></o:p></span></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana"><span style="mso-bidi-font-family: &#39;Courier New&#39;">Christof Wollenhaupt has a session about “Excelporting”. That’s just a fancy word that means “make your data look like a spreadsheet”. Sounds like something I need because my clients are always asking for DATA in a SPREADSHEET (and not just using the COPY TO command).</span></font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana"><span style="mso-bidi-font-family: &#39;Courier New&#39;"></span></font>&#0160;</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana"><span style="mso-bidi-font-family: &#39;Courier New&#39;"></span></font><span style="mso-bidi-font-family: &#39;Courier New&#39;"><font face="Verdana">Those are just some of the session that I plan on attending. Your mileage may vary, but if you go to </font><a href="http://www.swfox.net/"><font face="Verdana">http://www.swfox.net</font></a><font face="Verdana">, you will be able to see the entire list of speakers and a brief description of the sessions. Don’t delay; you just have a couple of days! Hope to see you there (unless you are an obnoxious “know-it-all”, in which case, I will just mosey on over to the bar and order another adult beverage).</font></span><o:p></o:p></p>]]></content:encoded><description>Hear that sound? Tick-tock, tick-tock... That's the countdown clock at the main office of Geek Gatherings and it is getting closer to the super-saver deadline for the 2009 Southwest Fox Conference! July 1st is just a couple of days away...</description><feedburner:origLink>http://blog.visionpace.com/2009/06/are-ya-catchin-this-camera-guy.html</feedburner:origLink></item><item><title>A Joke Isn't Old If You Haven't Heard It Before</title><link>http://feedproxy.google.com/~r/Visionpace/~3/vJhJ7ja7W5o/a-joke-isnt-old-if-you-havent-heard-it-before.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Wed, 24 Jun 2009 07:06:53 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2009/06/a-joke-isnt-old-if-you-havent-heard-it-before.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">The weather here in Kansas City is going to be very warm today. The prediction is 97 degrees and with the humidity, the heat index will make it feel like it is 110 or more. This allows me to tell my annual “how hot is it?” joke. How hot is it? Coming back to the office today, from lunch, I saw a dog chasing a cat across the parking lot &lt;pause&gt; They were both walking. &lt;insert rim shot here&gt;.<span style="mso-spacerun: yes">&#0160; </span>Now, some of you laughed and some of you groaned and some of you said, “Geesch, that joke is so old, I heard it when I was in the third grade.” I would counter and say that a joke is not old if you haven’t heard it before.</font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">I learned something “new” yesterday that I <strong><em>know</em></strong> is not new, and in fact, might be known by tons of Widows users. However, since <em><strong>I</strong></em> didn’t know it, perhaps you don’t either and that is why I am passing along this bit of “new” information. I have encountered this situation many times throughout my career, been annoyed by it, and yet, never knew I could do anything about reducing my frustration. Yesterday, I was at a client site and the location of some text files I wished to access was stored somewhere on their server. The folder I wanted to access was about six levels down from the root directory and each level had a minimum of 50 folders.<span style="mso-spacerun: yes">&#0160; </span>Needless to say, migrating to the desired location using Windows Explorer was tedious. Not very tedious the first couple of times, but since I had to do this about every five minutes, it quickly became very annoying. You know the drill (no pun intended)… Open up Windows explorer, search the list of folders for the first level, click on the folder, locate the next level from among 50 folders, find it, click it, and so forth until you have navigated your way to the final level. </font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">It was when I mumbled something about how frustrating it was having to navigate all the way down to Dante’s seventh level of hell, that my contact at the client site stopped me and showed me his technique. Since I think this is such a cool trick, I have to give credit to Patrick Hansen of Penton Media who showed it too me. I hope I am not blowing it out of proportion, but this is one of those tips that I will use often and now, maybe you will too. <strong>Navigate to the desired folder in Windows Explorer. Once there, you can add that “location” to you list of favorites at the top of the screen just like you would do for one of your frequently visited websites.</strong> Yep, that’s right. Just click on Favorites|Add to Favorites… and enter a description. The next time you need to get to that folder, just open Windows Explorer, click on Favorites and it will be there. Click on the link and you are immediately transported to the desired location. I think this is the closest I will ever get to “Beam me up, Scotty”. </font></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><o:p><font face="Verdana">&#0160;</font></o:p></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt"><font face="Verdana">Now, all of these shortcuts to various folders will show up in your list of favorites when you open up Internet Explorer also. Because of this, I created a new folder in my favorites named “Explorer Folders” and the name of each link is the full path I want to go to. Each level is separated with an underscore for clarity. i.e. G_Departments_BookGroup_MarketingRep_Extracts_Colorado_Aug08. What a time saver!<span style="mso-spacerun: yes">&#0160; </span>Thanks again, Patrick. You <em>CAN</em> teach an old dog new tricks.</font></p>]]></content:encoded><description>The weather here in Kansas City is going to be very warm today. The prediction is 97 degrees and with the humidity, the heat index will make it feel like it is 110 or more. This allows me to tell...</description><feedburner:origLink>http://blog.visionpace.com/2009/06/a-joke-isnt-old-if-you-havent-heard-it-before.html</feedburner:origLink></item><item><title>It may not be a big deal to you, but it is to me.</title><link>http://feedproxy.google.com/~r/Visionpace/~3/WZU1LAEH-m4/it-may-not-be-a-big-deal-to-you-but-it-is-to-me.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Fri, 22 May 2009 11:30:11 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2009/05/it-may-not-be-a-big-deal-to-you-but-it-is-to-me.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>A Visual&#0160;FoxPro User Group buddy of mine, Larry Koska, contacted me recently and asked me to confirm his suspicions. I immediately told him, &quot;I agree, you ARE ugly.&quot; While this may be true (he&#39;s gonna squash me like a bug the next time he sees me), it wasn&#39;t what he wanted to confirm. </p>
<p>It seems that tool tips for objects in a grid that&#0160;have been previously working flawlessly&#0160;are no longer visible. Would I run his form and see if I got the same results? Sure, but, all knowingly, I reminded him that I shouldn&#39;t have to &quot;waste&quot; my time because (undoubtedly) what had happened was that the ShowTips property of the form on which the grid resides probably got accidentally reset to .F.. </p>
<p>&quot;No, dummy, (Larry and I clearly have a mutual admiration society going on), I am not that stupid. That was the first thing I checked.&quot; </p>
<p>My response then was, &quot;Lar, this may actually be a problem. Let me check it out.&quot;</p>
<p>And so the mini test began. I fired up his form and everything worked as expected. I could see tool tips specific to the grid, to the columns, and even the column headings. And yet, I had to believe that Larry knew what he was talking about; he usually does. So, why would the form work on my machine and not his? What recent changes&#0160;might he have made? A quick phone call determined the difference. Both of us are running VFP9, both of us have access to Vista OS and XP OS and tested on both OSs. The&#0160;only apparent difference is HE (always on the bleeding edge of technology) is&#0160;running Service Pack&#0160;TWO&#0160; and I (invaribly&#0160;on the coaggulating edge) am running Service Pack ONE. To confirm, he reinstalled using SP1 and the exact same form work as expected. Mystery solved. Now I am going back and review a recent blog by <a href="http://www.rickschummer.com/blog/">Rick Schummer</a> (April 8, 2009) to make sure this bug gets reported properly.</p>
<p>Getting tool tips to display may not seem that big of a deal, but if I didn&#39;t want them to be displayed, I wouldn&#39;t have gone to the bother of creating them. I am glad to see that Larry, as a developer, followed through rather than re-evaluate the need for tool tips. Besides, as quite often happens, I learned something and because I worked on it, I will remember this issue. Subsequently, a Google search did discover a discussion of this issue and that MIGHT have saved us time, but in the long run, I believe it was more beneficial to have gone through the discovery process ourselves. Afterall, it is all a big game and isn&#39;t that what we developers like best?</p>]]></content:encoded><description>A Visual FoxPro User Group buddy of mine, Larry Koska, contacted me recently and asked me to confirm his suspicions. I immediately told him, "I agree, you ARE ugly." While this may be true (he's gonna squash me like a...</description><feedburner:origLink>http://blog.visionpace.com/2009/05/it-may-not-be-a-big-deal-to-you-but-it-is-to-me.html</feedburner:origLink></item><item><title>One of the Reasons Why I Like Blogs</title><link>http://feedproxy.google.com/~r/Visionpace/~3/biY2IQGC6dU/one-of-the-reasons-why-i-like-blogs.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Thu, 02 Apr 2009 07:26:03 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2009/04/one-of-the-reasons-why-i-like-blogs.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Blogs are something I can (usually) take or leave alone. Some are good and some are bad. I am aware of the reasons WHY blogs are (supposedly)&#0160;important to businesses, but, at times,&#0160;I question some of those reasons. It is difficult, although not impossible, to ascertain accurate numbers regarding how much new business, increased prestige, and other worthwhile benefits are gained as a result of routine blogging. One thing that is easy to measure, however,&#0160;is how useful a particular blog is to ME. How a blog benefits ME is really the best reason that I can come up with to justify reading blogs. </p>
<p>Today&#39;s perfect example is the most recent post ( <a href="http://doughennig.blogspot.com/"><font color="#810081" face="Verdana">http://doughennig.blogspot.com</font></a>&#0160;) by one of the legendary (hope that description doesn&#39;t go to his head) super-players in the world of Visual FoxPro, Doug Hennig. Hidden within the code that Doug generously provides is a Visual FoxPro function that I did not know even existed. The ObjToClient() function has limited use, but like most functions, when you need it, you are glad it is around. I have never used it, but after reading about it, I KNOW that I could have used it in the past when I &quot;jumped through hoops&quot; to achieve the desired effect. AND... I KNOW that I will use it in the future when the need arises. </p>
<p>I would not have gained this knowledge had I not been in the habit of reading Doug&#39;s blog. Now it so happens that, today,&#0160;Doug&#39;s blog was the one that contained the nugget that made me a smarter software developer, but it just as easily could have been one of the many other blogs that I read on a regular basis. So, if you are not reading blogs regularly (which begs the question, what are you doing here right now?), get in the habit of spending a few minutes each day. I guarantee that, in the long run, it will pay YOU dividends. </p>]]></content:encoded><description>Blogs are something I can (usually) take or leave alone. Some are good and some are bad. I am aware of the reasons WHY blogs are (supposedly) important to businesses, but, at times, I question some of those reasons. It...</description><feedburner:origLink>http://blog.visionpace.com/2009/04/one-of-the-reasons-why-i-like-blogs.html</feedburner:origLink></item><item><title>Phoenix in the fall; Arizona in the autumn</title><link>http://feedproxy.google.com/~r/Visionpace/~3/V8pEajaLTME/phoenix-in-the.html</link><category>Visual FoxPro</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Fri, 17 Oct 2008 17:37:22 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2008/10/phoenix-in-the.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>If you aren't at Southwest Fox 2008 in Mesa, AZ (<a href="http://www.swfox.net/">http://www.swfox.net/</a>) this weekend, you're missing a real treat.&nbsp; Tamar Granor, Doug Hennig and Rick Schummer have once again done an excellent job organizing a conference that is a tremendous value for your money.</p>

<p>To give you taste, here are some of the sessions I attended today:</p>

<p>- In &quot;Profiling and Refactoring: How to Analyze and Clean up Your Code&quot;, Andrew Ross MacNeill talked about a powerful tool in VFPX called Code Analyst that can help you identify &quot;issues&quot; in your code (e.g., too many lines of code in a single routine, too many comments, too many loop structures, has more than one return value, etc.).&nbsp; (VFPX is a Visual FoxPro Community effort to create open source add-ons for Visual FoxPro 9.0).&nbsp; You can select which rules you want run against your code; you can also create your own rules.</p>

<p>You can download Code Analyst for free from the VFPX CodePlex web site: <a href="http://www.codeplex.com/VFPX">http://www.codeplex.com/VFPX</a>.</p>

<p>Andrew also discussed an add-in for the Coverage Profiler.</p>

<p>- Christof Wollenhaupt gave an introduction to mobile development; employing his product, Guineu (Catalan for &quot;Fox&quot;), you can develop mobile applications from within Visual FoxPro. Cool!</p>

<p>- Doug Hennig talked about Advantage Database Server for VFP Developers; with this alternate back-end, you can either read VFP .DBF files directly or you can move your data into the proprietary ADD format.&nbsp; With Advantage Database Server (ADS), your .DBF files are no longer limited to 2 GB.&nbsp; &quot;In ADS, there isn't a direct limit on the size of the file; instead, the limit is a maximum of 2 billion (2,147,483,648) records. Of course, if your DBF becomes larger than 2 GB, you'll only be able to access it through ADS since VFP will see it as invalid.&quot;</p>

<p>&quot;ADS [also] has a fast and powerful full text search (FTS) feature. FTS uses an index on each word in a memo field to provide fast, index-based lookups for desired words.&quot;</p>

<p>- Rick Schummer did a presentation focusing exclusively on &quot;Using VFPX Components&quot;; he demo-ed various controls like Themed Controls (e.g., OutlookNavBar), the ctl32 project (e.g., StatusBar and BalloonTips [tooltips on steroids]) and Desktop Alerts.&nbsp; VFPX controls add pizzazz to your VFP applications, giving them a more polished/professional appearance. You can download these controls for free from the VFPX CodePlex web site (<a href="http://www.codeplex.com/VFPX">http://www.codeplex.com/VFPX</a>) and then implement all of these controls in your VFP applications</p>

<p>- In &quot;Creating Owner Drawn Controls in VFP&quot;, Christof Wollenhaupt showed us how to &quot;exploit the power of GDI+ to create our own controls&quot; in VFP forms (e.g., &quot;new pageframes, progress bars, formatted text, chart controls, basic text input or Unicode text output&quot;).&nbsp; He also covered &quot;dealing with mouse and keyboard input.&quot;</p>

<p>- Bo Durban showed us how to create custom report controls with VFP 9, employing the GDIPlusX library; rotated text, dynamic text formatting, graphs and custom shapes are a few examples of things you can do/include in your reports.</p>

<p>I continue to see the common thread/theme of EXTENSIBILITY with respect to Visual FoxPro (that was also displayed in a 2-day West-Wind Web Connection training I attended on Tuesday and Wednesay this week [Rick Strahl's product enables you to create web applications using VFP and some other technologies like CSS, JavaScript, JQuery, etc.]).</p>]]></content:encoded><description>If you aren't at Southwest Fox 2008 in Mesa, AZ (http://www.swfox.net/) this weekend, you're missing a real treat. Tamar Granor, Doug Hennig and Rick Schummer have once again done an excellent job organizing a conference that is a tremendous value...</description><feedburner:origLink>http://blog.visionpace.com/2008/10/phoenix-in-the.html</feedburner:origLink></item><item><title>Bitten by Performance Counter issues in Virtual Machine</title><link>http://feedproxy.google.com/~r/Visionpace/~3/w-ztzLjoI_E/bit-by-performa.html</link><category>Software Development</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Tue, 07 Oct 2008 15:32:55 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2008/10/bit-by-performa.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I've been using virtual machines for software development for just over 3 years now. At this point, virtually all of my software development is done on virtual machines (no pun intended... it was just a side effect). </p>

<p>About 8 months ago, I started noticing a recurring issue on my virtual machines with regards to SQL Server 2005. I was regularly getting errors in the application event log about SQL Server 2005 performance counters. Since this was the only error I was getting, and SQL Server 2005 seemed to plug right along just fine despite these errors, I ignored them.</p>

<p>Fast forward 8 months to today. I've been using SQL Server 2008 in development projects for a few months now. I had one particular virtual machine that did not have SQL Server 2008 reporting services installed and I wanted to install it today. When I ran the installation wizard, it kept failing during initial check steps, reporting that there was a problem with the performance counters. In this case, it would not let me install reporting services withough resolving this issue. The details reccomended following the steps of Microsoft KB article 300956, &quot;How to manually rebuild Performance Counter Library values&quot;.</p>

<p>I followed all of the steps of this KB article (not a quick task mind you), rebooted and started the installation again. Much to my chagrin, it failed due to the same performance counter check failing AGAIN..... UGH!</p>

<p>Some additional googling let me to <a href="http://ferventcoder.com/archive/2008/08/10/possible-performance-counter-corruption-or-performance-counters-are-just-disabled.aspx">this blog post</a>. </p>

<p>The short story here is that performance counters were disabled.... ALL OF THEM. Rebuilding them was a completely unnecessary step. I also know why they were disabled, and I will remember this for a LONG time to come.</p>

<p>I've been using VMOptimizer from Vizioncore (desktop version now discontinued) since before it was purchased by Vizioncore from Invirtus (or they merged, or whatever happend). There is a checkbox in the opimization options regarding disabling disk performance counters. Unfortunately, this is mislabled. It doesn't disable &quot;disk performance counters&quot;, it simply turns off ALL OF THEM.</p>

<p>Guess when I started using VMOptimizer again.... say... about 8 months ago.</p>

<p>If you need any performance counters turned on, don't check this option or possibly suffer the same fate that I did. </p>

<p>JE</p>]]></content:encoded><description>I've been using virtual machines for software development for just over 3 years now. At this point, virtually all of my software development is done on virtual machines (no pun intended... it was just a side effect). About 8 months...</description><feedburner:origLink>http://blog.visionpace.com/2008/10/bit-by-performa.html</feedburner:origLink></item><item><title>Dump unnecessary leading equals signs ("=")</title><link>http://feedproxy.google.com/~r/Visionpace/~3/Jz-4i-qwPz0/dump-unnecessar.html</link><category>Visual FoxPro</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Thu, 25 Sep 2008 20:47:26 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2008/09/dump-unnecessar.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>You will often see a leading equals sign (&quot;=&quot;) in older VFP code (especially in code ported over from FoxPro 2.x).&nbsp; A leading equals sign is necessary only in a couple of instances in VFP:</p>

<p>&nbsp; - when calling the SEEK() function&nbsp; and not storing the return value, e.g.,</p>

<p>&nbsp; &nbsp;&nbsp; &nbsp;USE (HOME(2) + 'Data\Customer') IN 0<br />&nbsp; &nbsp;&nbsp; &nbsp;=SEEK('Great Lakes Food Market', 'Customer', 'Company') </p>

<p>&nbsp; - when denoting an expression in a property in the Properties Sheet/Window; for example, when setting the .Caption property of _Screen:</p>

<p>&nbsp; &nbsp;&nbsp; &nbsp;='My Application (Version # ' + m.gcVersionNo + ')'</p>

<p>Side note, when setting the .Picture property for an Image control, include the equals sign as follows:</p>

<p>&nbsp; &nbsp;&nbsp; &nbsp;='MySplash.JPG'</p>

<p>If you specify MySplash.JPG without the equals sign and character delimiters, VFP will attempt to insert the path in front of the picture's file name; the problem is that that path may not (in fact, most likely will not) be on your customer's PC (when your application is production).</p>]]></content:encoded><description>You will often see a leading equals sign ("=") in older VFP code (especially in code ported over from FoxPro 2.x). A leading equals sign is necessary only in a couple of instances in VFP: - when calling the SEEK()...</description><feedburner:origLink>http://blog.visionpace.com/2008/09/dump-unnecessar.html</feedburner:origLink></item><item><title>It is not too late...</title><link>http://feedproxy.google.com/~r/Visionpace/~3/W3NbkmOkHfE/it-is-not-too-l.html</link><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dbliss@visionpace.com (Doug Bliss)</dc:creator><pubDate>Fri, 19 Sep 2008 05:49:34 PDT</pubDate><guid isPermaLink="false">http://blog.visionpace.com/2008/09/it-is-not-too-l.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>With less than a month before it begins, the Southwest Fox 2008 <a href="http://www.swfox.net/">conference</a> is set to start October 16th. It is <em><strong>the</strong></em> premier conference for Visual FoxPro developers in the nation and with over (an estimated) 100,000 VFP developers world-wide, Visual FoxPro will be around for a long, long time. The conference is the PERFECT opportunity to hone your skills and pick up new techniques to enhance future developments. If you haven't registered, IT IS NOT TOO LATE to register.&nbsp; </p>

<p>Having said that, it gives me the opportunity for some self-promotion. When you go to the conference website, look for the link to download the K.O.K.O.P.E.L.L.I. software written by moi. It will give you two hours of your life back. How? Well, instead of spending two hours trying to figure out the optimum schedule to ensure you see the sessions you are most interested in, the software prepares a &quot;suggested&quot; schedule based on your preferences in just a couple of minutes.&nbsp; Give it a try. If you have any problems, let me know by leaving a comment and I promise I will get back to you.</p>

<p>Hope to see all of you in Mesa, AZ in October.</p>]]></content:encoded><description>With less than a month before it begins, the Southwest Fox 2008 conference is set to start October 16th. It is the premier conference for Visual FoxPro developers in the nation and with over (an estimated) 100,000 VFP developers world-wide,...</description><feedburner:origLink>http://blog.visionpace.com/2008/09/it-is-not-too-l.html</feedburner:origLink></item><copyright>copyright Visionpace - All rights reserved</copyright><media:credit role="author">Doug Bliss</media:credit><media:rating>adult</media:rating></channel></rss>
