<?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'><id>tag:blogger.com,1999:blog-10906063</id><updated>2009-11-11T01:04:04.181-05:00</updated><title type='text'>Shedding Some Light</title><subtitle type='html'>Shedding some light on topics of software development, Visual FoxPro, saving our planet, paying it forward, and anything else I find important enough to share.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rickschummer.com/blog/atom.xml'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>470</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10906063.post-3276959532958739354</id><published>2009-10-23T17:45:00.001-04:00</published><updated>2009-10-23T17:53:19.790-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Dusting off cobwebs, back to shedding some light</title><content type='html'>Have you ever had a dream where you are trying to run, but go nowhere? How about the one where you are stuck in quicksand and feel like the drowning is imminent? That is how my life has felt for the last six months, and unfortunately the realities of being a parent, business owner, a conference organizer, volunteer, etc. overwhelmed me. More like crushed me. It zapped me of something I treasure, which is energy.&lt;br /&gt;&lt;br /&gt;I realized this last week as I was talking with people at Southwest Fox. I sat there feeling like a slacker, and not proud of my lack of contributions to things that are most important to me with respect to the communities I participate. Completely burned out. Completely spent.&lt;br /&gt;&lt;br /&gt;One of those things is my blog and how it really has not provided much reason for people to include it in their RSS reader, or to stop by on occasion. I provided weak excuses during my sessions why my blog is inactive. Sad.&lt;br /&gt;&lt;br /&gt;Not really a good excuse, but Twitter is 140 characters at a time and a blog is real writing and often time consuming. So Twitter more easily gets the mind share. You can follow me on Twitter &lt;a href="http://twitter.com/rschummer"&gt;@rschummer&lt;/a&gt; (regardless if you have a Twitter account or not). Twitter is fun, and the community provides me things I need like humor, advice, pointers to things important to me, and most importantly friendship. Twitter does take some time, but Twitter is not a waste of time like most non-tweeters think, at least for me. It is just one more way to feel part of a community and another avenue to share things with peers.&lt;br /&gt;&lt;br /&gt;I know Southwest Fox was a real drain on me this year as we worried whether we could provide the same level of awesome as in years past despite the lower attendance numbers. Based on the feedback I believe we succeeded. I should not feel surprised by this as I know there was a lot of hard work by the speakers and organizers, and normally hard work translates into something positive. I think we need to change Southwest Fox a little, but not as much as I thought we would before the conference. &lt;br /&gt;&lt;br /&gt;After Southwest Fox I headed up to Sedona. Land of the Red Rocks and land of re-energizing. Something special happens there each year for me. Maybe it is the fact I get some exercise by hiking the trails. Maybe it is the fact I get away from the computer and twist my mind in other directions. Maybe it is the eight hours of sleep each night. Maybe it is the spiritual nature of the area and the vortexes have magical powers over me. Maybe it is a combination of everything. Does not matter really as I return energized and full of new ideas. This year I needed this more than ever, and taking an extra day turned out to be one of the smartest things I decided to do in the last 12 months.&lt;br /&gt;&lt;br /&gt;So I am hoping I can get back to blogging more frequently and more regularly. I have a list of things I want to discuss and announce. Some personal, some professional, some volunteer related. All important to me, and hopefully sharing with you will expand the benefits many times over. Thanks for your patience as I get back in the saddle again...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-3276959532958739354?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/3276959532958739354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=3276959532958739354' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/3276959532958739354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/3276959532958739354'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/10/dusting-off-cobwebs-back-to-shedding.html' title='Dusting off cobwebs, back to shedding some light'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-5645842939241218631</id><published>2009-09-04T10:15:00.000-04:00</published><updated>2009-09-04T10:19:34.433-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WLC Announcements'/><category scheme='http://www.blogger.com/atom/ns#' term='Southwest Fox'/><title type='text'>WLC Sponsoring Southwest Fox Keynote</title><content type='html'>White Light Computing is stoked about partnering with F1 Technologies (Toni and Mike Feltman) to sponsor the Southwest Fox 2009 Keynote. Microsoft's Sara Ford is going to present:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Towards a Stronger Open Source Ecosystem&lt;br /&gt;on CodePlex.com&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Sara Ford is the Program Manager for CodePlex (host of the VFPX project), Microsoft's open source project hosting site. Prior to CodePlex, she worked on the Visual Studio team for six years and ran the popular Visual Studio Tip of the Day series. In 2008, she authored her first book Microsoft Visual Studio Tips by Microsoft Press and donated all her royalties to start a scholarship fund for Hurricane Katrina survivors of her hometown. Her life-long dream is to become a 97 year old weightlifter, so she can be featured on the local news.&lt;br /&gt;&lt;br /&gt;I think you will enjoy seeing Sara at Southwest Fox 2009. She is all about building community and open source software. She is an energetic speaker and probably will show you her rebellious side. How many Microsoft people do you know who are willing to walk around the Redmond campus wearing a FireFox t-shirt? After the keynote you will at least know one.&lt;br /&gt;&lt;br /&gt;You can read more about this on the Southwest Fox &lt;a href="http://swfox.net/blog/"&gt;blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I really hope you will join us in Mesa in 41 days, but if you cannot, you might be able to catch it on SWFox TV because we are going to attempt to stream the keynote on the Internet like last year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-5645842939241218631?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/5645842939241218631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=5645842939241218631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5645842939241218631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5645842939241218631'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/09/wlc-sponsoring-southwest-fox-keynote.html' title='WLC Sponsoring Southwest Fox Keynote'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-1629571231152751180</id><published>2009-08-16T12:41:00.005-04:00</published><updated>2009-08-16T14:18:45.821-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Southwest Fox'/><category scheme='http://www.blogger.com/atom/ns#' term='Fox Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><category scheme='http://www.blogger.com/atom/ns#' term='User Groups'/><title type='text'>User Group Dependency on Conferences</title><content type='html'>Last week I saw Jim Nelson present his two Southwest Fox sessions, and one of Jody Meyer's sessions in Grand Rapids and Detroit. Yesterday I had the pleasure to listen to Cathy Pountney and Jody Meyer rehearse both of their sessions at Chicago Fox User/Developer Group (CFUDG). The two groups were also kind enough to listen to the real rough beginnings of my sessions too. I thought the three meetings were terrific and the hosts did a magnificent job.&lt;br /&gt;&lt;br /&gt;Special thanks to Jody Meyer and Cathy Pountney for putting on the special August meeting in &lt;a href="http://grafug.com/"&gt;Grand Rapids&lt;/a&gt; last weekend and thanks to Bill Drew and Jeff Simon and the &lt;a href="http://www.chicagofudg.com/"&gt;CFUDG&lt;/a&gt; gang for putting on the special meeting yesterday! And thanks to everyone who came out to listen.&lt;br /&gt;&lt;br /&gt;These sessions are invaluable to speakers as they figure out what works and what does not work in front of a live audience. At least for me, I know I present differently in front of developers interested in learning than when I sit down in front of the dog in the office and run through my sessions.&lt;br /&gt;&lt;br /&gt;Cathy finished her second session of the morning making it obvious to me she is serious about defending her #1 speaker status as she is already in top conference form. It was at that time someone made the comment (and I am paraphrasing here): "There is no need to waste your money on expensive conference fees and outrageous hotel costs when you see this quality of session during rehearsals."&lt;br /&gt;&lt;br /&gt;Now I am sort of being kind on the paraphrasing, because what I really heard is: there is no need to support Southwest Fox or other conferences when speakers do the session rehearsals for almost free at user groups. Mind you the group who showed up made a generous donation for the food and covered some travel costs for the speakers, so the event was not free. Yet, the comment really rubbed me the wrong way. As an organizer who commits to 200-300 hours of volunteer time to put on Southwest Fox each year, and another 80-130 hours preparing sessions for the conference, I don't appreciate the sentiment that was expressed. It simply hurts.&lt;br /&gt;&lt;br /&gt;There is something I believe is too important to be overlooked. It is something I have known for a long time and probably have not expressed out loud enough. Southwest Fox depends heavily on FoxPro user groups. We depend on them for marketing and we depend on them to provide venues for the speakers to rehearse their sessions. It is something the organizers of Southwest Fox have recognized from the very beginning. Two of the three organizers started and run local user groups and the third organizer presents at them regularly. We all understand how important these groups are for the community to share and learn together. One of the first things we figured out for Southwest Fox was the &lt;a href="http://swfox.net/usergroups.aspx"&gt;user group discount&lt;/a&gt; we offer and giving money back to the community to support the groups.&lt;br /&gt;&lt;br /&gt;But this is not a one way dependency. FoxPro user groups depend on Southwest Fox and other FoxPro conferences. You see, the Chicago group has been blessed more than most groups because they draw lots of conference speakers to present to their group. CFUDG invites speakers to come and share. They proactively call speakers to visit. They are a terrific group to present to and are open to learning all kinds of new things. The Detroit Area Fox User Group, Grand Rapids Area Fox User Group, and LA Fox User Groups also have been blessed with regular meetings being filled with conference-level sessions. I know there are other Fox user groups around, but these groups really fill their schedules packed with presentation rehearsals.&lt;br /&gt;&lt;br /&gt;So what exactly is the real dependency? Conferences need well prepared speakers to draw people to the conference, speakers need to rehearse, and user groups need speakers to draw people to meetings. So if the presenters are not rehearsing the conference suffers and people are not as likely to return next time. If there is no conference, speakers are not likely to spend 40-80 to prepare one session. User groups won't have conference-level sessions at their meetings and as a user group leader I know the "big name, conference level sessions" draw more than the core regulars to a meeting. It would be a downward spiral. I prefer the upward spiral where conferences exists and draw the best speakers and attendees, where user groups get more rehearsals, and the perpetual motion goes in the right direction. For conferences to exist, people must come. So now you understand why the comment felt like a dagger in my chest.&lt;br /&gt;&lt;br /&gt;I know some people are unable to come to Southwest Fox because it conflicts with personal events, or live to far to travel at a reasonable cost, that the economy has affected some, or they have some project deadlines to meet. But to not come because you can see some of the sessions before the conference really doing yourself a disservice. You are missing most of the session you can benefit from seeing, not to mention the networking, the comradery, and talking to vendors who have some terrific products to demonstrate for you in person. Getting outside of the office and talking with other developers of like mind is an experience you will find extremely beneficial.&lt;br /&gt;&lt;br /&gt;At the same time lots of people have asked me about 2010. Will there be a Southwest Fox 2010? I can only say maybe. We have not signed a contract at this time for a venue, and have not set any date. It all depends on how the community supports the conference.&lt;br /&gt;&lt;br /&gt;So support your favorite conference (I hope Southwest Fox is high on your list) and support the speakers who are hard at work preparing to help you learn some really cool and useful stuff. There are upcoming rehearsals in Chicago, Atlanta, Detroit, Lansing, LA, and Philly. I personally will see almost half the sessions before we arrive in Mesa and hope to see more at Southwest Fox and German DevCon.&lt;br /&gt;&lt;br /&gt;This past week I saw six of the sessions and I already learned enough stuff where it is entirely worth the effort I put in to make Southwest Fox happen. I think you will find out the same thing when you attend our conference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-1629571231152751180?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/1629571231152751180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=1629571231152751180' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1629571231152751180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1629571231152751180'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/08/user-group-dependency-on-conferences.html' title='User Group Dependency on Conferences'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-6764901569500400657</id><published>2009-07-25T18:57:00.002-04:00</published><updated>2009-07-25T19:19:02.267-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='CodeStock'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>CodeStock 2009: Day 2, Part 2</title><content type='html'>The second half of the day was much better than the last half of day one and first part of day 2...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How I Learned to Love Metaprogramming&lt;/span&gt;&lt;br /&gt;Kevin Hazzard&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;As I mentioned to Kevin after his session, he took me back to the days of my computer science classes in college. Kevin has a terrific style of teaching complex topics so they are understandable to most people sitting in the room. I have no experience with the .NET dynamic language runtime (DLR), but following along the theoretical process Kevin discussed was really cool. I am sure I did not learn everything I was suppose to from the session, but I had no expectations of this to begin.&lt;br /&gt;&lt;br /&gt;Great speaker and interesting material.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;jQuery 101&lt;/span&gt;&lt;br /&gt;Rod Paddock&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;Rod is another one of the .NET rock stars who has roots deep in Visual FoxPro and not afraid to let the crowd know it. I have seen Rod speak many times. Rod has been an excellent speaker for years and each time I attend his sessions, regardless of the topic, I walk away smarter. Even when I do not agree with his perspective or his approach, I get his take on it and it helps me define my position.&lt;br /&gt;&lt;br /&gt;This was the second session I made the trip for and was not disappointed. In this session Rod took the developer from possibly knowing nothing about jQuery to knowing you could return to the office and start using it right away. Immediate value. One of those sessions that pays for the conference. I was excited about jQuery to start with based on community excitement and talking with several developers about using jQuery. Rod reinforced this feeling in spades.&lt;br /&gt;&lt;br /&gt;My favorite part of the session was one of Rod’s simple demos. One of the attendees in the audience showed some skepticism with respect to how simple it would be to accomplish it without jQuery. You could see the spark in Rod’s eye, as if he was being set up for something great. Minutes later he demonstrated the aha-moment, which was cool to watch how he put all of it in motion.&lt;br /&gt;&lt;br /&gt;For me it really opened up the possibilities for rich applications on the Web and the how simple it is to implement cool Web stuff inside an app. It is not just a set of controls like you might find in the AJAX Toolkit, it is a powerful programming library.&lt;br /&gt;&lt;br /&gt;Takeaway: jQuery is a no-brainer decision for Web development no matter what other technology is involved in the Web app, and a book called jQuery in Action is a must read in the near future. It was also nice getting a chance to talk to Rod in person since I use his &lt;a target="_blank" href="http://foxforum.com/"&gt;FoxForum.com&lt;/a&gt; almost every day to help Visual FoxPro other developers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web UI Warfare: Choosing Between ASP.NET Webforms and MVC&lt;/span&gt;&lt;br /&gt;Rachel Appel&lt;br /&gt;****&lt;br /&gt;&lt;br /&gt;This session was the battle of the Web presentation approaches between Webforms and MVC. The thing I liked about this session is the fact that there are two approaches with no clear or defined winner, and that is okay. Often I attend sessions where the speaker inadvertently tells me I am a moron because I decided on a different approach, or the opposite one they prefer. What Rachel did in this session is discuss the pros and cons of both and noted how you can use both in the same project. Picking the best of the technology as it is appropriate for the job at hand. Wow, what a concept. Rachel can be a bit brash in her discussion, but sometimes that works, and for this session it did.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Final Thoughts&lt;/span&gt;&lt;br /&gt;The college atmosphere is fine, but scattering sessions across two buildings was not optimal for two reasons. First is the layout is anti-networking. The biggest benefit for me to attend any conference is the networking with other developers. I was able to talk with others, but not nearly as much as I do at other conferences. I met several new people, but mostly at dinner one night and at the Stevens After-party the other night. It was not a complete loss, but I am sure I would have made even more friends had the sessions been held in a concentrated area where people would have been more likely to hang out. The other disadvantage of the two-building layout is the fact it was a bit of a pain if you decide the session you initially pick is not for you and want to try out a different one. It might take 5 to 10 minutes to walk across the way, up and down stairs to the other session. The open spaces sessions were off in the corner, which I know is not conducive to the “program” where you want to suck people in as they walk by and overhear something interesting.&lt;br /&gt;&lt;br /&gt;The conference also reinforced something about conference session scheduling: I really like the repeated sessions. I found I missed something and heard later it was good. No chance to see it when it is offered only once. I know more sessions can be offered without repeats, and this is cool, and something you can do when you are not paying for everyone's travel and lodging. Still, I prefer repeats so I can better schedule what is important to me.&lt;br /&gt;&lt;br /&gt;Overall I was a little surprised by how many people I know in the .NET community. Some of them were even open to listening to a VFP-guy. Some of them were surprised that Alan Stevens is speaking at a conference I organize and it is on this foreign technology called Visual FoxPro. Imagine the look on their face when I showed them some Fox stuff Alan has in his family room. The horror {g}. Alan is one of the few who have established themselves in a growing .NET community, but are not afraid to let people know how cool Visual FoxPro still remains today for project development.&lt;br /&gt;&lt;br /&gt;Also found some things to possibly bring to &lt;a target="_blank" href="http://swfox.net/"&gt;Southwest Fox&lt;/a&gt;. I walked away with some new friends and a renewed energy to learn some new technology. That might be the best takeaway of all and the part that made it completely worthwhile to take four days away from hot projects and billable work.&lt;br /&gt;&lt;br /&gt;I definitely will keep CodeStock on my radar for next year. Maybe I will even submit some sessions abstracts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-6764901569500400657?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/6764901569500400657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=6764901569500400657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/6764901569500400657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/6764901569500400657'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/07/codestock-2009-day-2-part-2.html' title='CodeStock 2009: Day 2, Part 2'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-5104316788012860746</id><published>2009-07-25T18:38:00.003-04:00</published><updated>2009-07-25T18:54:08.645-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='CodeStock'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>CodeStock 2009: Day 2, Part 1</title><content type='html'>The second day of CodeStock was the day I was really focusing on since seeing the schedule.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Keynote&lt;/span&gt;&lt;br /&gt;Simplicity&lt;br /&gt;Josh Holmes, Microsoft&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;"Simply" great. I have seen Josh present elsewhere and came in with low expectations for this keynote. In fact, when I went to bed the night before I told myself I would not be disappointed if I overslept and missed this session. I am glad I did not. This was a keynote about common sense and being thought provoking. It succeeded. Josh was well prepared and it was obvious to me this was not the first time he ran through this session. A little of my faith was restored in the Microsoft Developer Evangelist contingent at the conference.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ASP.NET MVC - Soup to Nuts&lt;/span&gt;&lt;br /&gt;Peter Mourfield&lt;br /&gt;(zero)&lt;br /&gt;&lt;br /&gt;This is one of two sessions I spent $300 to see. I am in the process of deciding whether we are going to use ASP.NET or something else for one of our customer projects. MVC is a Microsoft technology add-on to ASP.NET to help speed up Web development based on Model-View-Controller pattern. If I had not done some homework beforehand I would not have even learned what MVC stands for.&lt;br /&gt;&lt;br /&gt;Peter was obviously unprepared and unrehearsed. He told us about the Julia Childs cut and paste approach to presentation, which is a seriously sound approach to successful presentations. One key though, the code you cut and paste must work. It did not. Honestly, Peter was one of the worse presenters I have seen at any conference and I have been to dozens over the years. If I could rate this session on the eval a zero I would because that is the value of what I got from it. Terrible, terrible, terrible. I am guessing more than 60% of the people left before it was a quarter over. The session took up two slots. I tried to stick it out, but eventually bailed at the half way point because it was just too painful to watch. No takeaways from this session, just in case this was no obvious.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Starting a Software Company&lt;/span&gt;&lt;br /&gt;(Panel Discussion)&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;On the plus side, the benefit of bailing from the MVC session allowed me to sit in on this session and it was terrific. I am normally not a fan of panel discussions as they usually get derailed to off-topic discussions and often are controlled by a "loud mouth complainer" in the audience or a dominant speaker on the panel. Neither of these happened. I have started three software companies in my career. It was good listening to others talk about the approaches and what they think is formula for success. It confirmed some of the approaches I have taken over the years and made me think about other things to consider as White Light Computing tracks on positive growth for the foreseeable future.&lt;br /&gt;&lt;br /&gt;There are a couple of things I like in this session. First is the discussion of the current economic times referred to as a nuclear winter. Several pundits declare these are the worst times seen by our generation. But successful companies like Hewlett Packard, Coke, GE, Adobe and Microsoft were all created during down times, so the panel speakers were encouraging people to start new businesses during these times. Honestly, I have started two businesses in Michigan during the current 9 year recession the state is suffering through. It is not easy and is fraught with risks. Yes, there are times when I reconsidered joining a company as a W2 employee, but I really love my job where I report to customers instead of the pointy-haired-boss.&lt;br /&gt;&lt;br /&gt;Some key common sense points:&lt;br /&gt;1) Luck is important.&lt;br /&gt;2) Surround yourself with smart people.&lt;br /&gt;3) Don't develop in a vacuum.&lt;br /&gt;4) Break vision into manageable chunks (having a vision is also important {g}).&lt;br /&gt;&lt;br /&gt;One of the attendees is a young man who probably was 12 or 13 years old. He asked an insightful question if it was okay to start a business today that would fund what he really wants to do: game development. After the session I ran into him and passed along some advice: follow your heart, believe in what you want to do, and trust your instincts. Someday we will see this young man doing some great things in the gaming industry.&lt;br /&gt;&lt;br /&gt;This session also lead to some terrific conversations at Alan Steven's after party. I met someone who is considering starting his own company in the Knoxville area. I passed along as much advice as I could. The key to starting any business is knowing it is not easy and it is not all peaches and cream.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lunch&lt;/span&gt;&lt;br /&gt;Open Spaces - Marketing yourself and your company&lt;br /&gt;(not rated)&lt;br /&gt;&lt;br /&gt;Marketing to me is a dark art. I read in Whil Hentzen’s &lt;span style="font-style: italic;"&gt;The Software Developer Guide&lt;/span&gt; how nothing works. I definitely understood the point in Whil’s book, but the reality is: doing nothing will give you the same results. Several people offered the moderator some suggestions. I looked at this session as something of a brainstorming opportunity. In a brainstorming session there are no bad ideas, but instead of taking it all in, I felt like we were more in a debate about what works and what does not work. It was unfortunate because there were a number of terrific ideas thrown out and I am not sure any of them were absorbed. Several of the ideas thrown out take time and effort. I believe the moderator was looking for something easy and finding the silver bullet. Unfortunately it is not always easy.&lt;br /&gt;&lt;br /&gt;The thing with marketing is building brand recognition and getting people to call to do business with you or your company. With the Internet available we have more avenues available to get brand recognition than ever before, and many of these avenues cost very little to try.&lt;br /&gt;&lt;br /&gt;I think coming up with marketing ideas is way easier than figuring out if they work. I am not sure I can measure any one thing I have done as working, but one thing is for sure, the entire approach I have taken over the years is working.&lt;br /&gt;&lt;br /&gt;I shared as much wisdom and experience I could, but most of my ideas do take time and effort. They have worked for me and White Light Computing. Hopefully the moderator and others in the room will benefit from them.&lt;br /&gt;&lt;br /&gt;More to come on the second half of day 2, and my final thoughts...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-5104316788012860746?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/5104316788012860746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=5104316788012860746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5104316788012860746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5104316788012860746'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/07/codestock-2009-day-2-part-1.html' title='CodeStock 2009: Day 2, Part 1'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-4025550972230278810</id><published>2009-07-25T18:03:00.003-04:00</published><updated>2009-07-25T18:20:15.740-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='CodeStock'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>CodeStock 2009: Day 1, Part 2</title><content type='html'>After lunch, more sessions...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DevBasics: The ASP.NET Page Lifecycle&lt;/span&gt;&lt;br /&gt;Jay Harris&lt;br /&gt;****&lt;br /&gt;&lt;br /&gt;Jay took us through the ASP.NET sequence of events and explained what they were, when they happened, some gotchas and tips for the event, and how you might use them in your Web app.&lt;br /&gt;&lt;br /&gt;The session was well prepared, clear and definitely basic as noted in title and abstract. One thing that would have helped is demoing more of the events and discussing practical uses of the events. Not being critical here, just a suggestion. It was a good session.&lt;br /&gt;&lt;br /&gt;Key takeaway is a better understanding of the ASP.NET page lifecycle. I also learned there is a Web site where speakers can set themselves up to be rated by those that attend their sessions (&lt;a target="_blank" href="http://speakerrate.com/"&gt;http://speakerrate.com/&lt;/a&gt;). Interesting how many of the speakers I checked out have only one or two people rating sessions. I have always wondered why it is so hard to get feedback from people through evals.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Programming SQL Server T-SQL&lt;/span&gt;&lt;br /&gt;Joe Kunk&lt;br /&gt;**&lt;br /&gt;&lt;br /&gt;One word to sum up the problem with this session: rehearsal. It was painfully obvious that Joe did not put the time into rehearsing this session. He started telling us how he was working on the materials the night before, which is never a good sign. He also noted it was a 200 level session, yet the first 75% of the session was definitely 100 level. The last 25% of the session was the meat of the session and it unfortunately was rushed. If I was Joe I would focus on the last 25% of the material, expand it a little and find you have a terrific session.&lt;br /&gt;&lt;br /&gt;I went into this session hoping to get some golden nuggets for my work with SQL Server. For me personally, I believe my weakest development point (vs. configuration/administration) with SQL Server is T-SQL so this was a perfect opportunity to jumpstart the refinement of my skills in this area. Lately I have been working a lot with VFP data-based customer projects. I spent the better part of 7 years doing mostly SQL Server and all of a sudden the tides went the other way for the last couple of years. So I am a little rusty {g}.&lt;br /&gt;&lt;br /&gt;All that said, I walked away with one silver nugget which means the 75 minutes were beneficial. Joe showed us how you can include the column headers in copying the result set of a query. This was a two-fer. One, I did not know I could select all the records (Ctrl+A after clicking on the row) and copy the result sets from SQL Server Management Studio to the clipboard. That was cool to learn. The second nugget is the option in SQL Server Management Studio to include the column headers in the clipboard. You get to these from Tools | Options, then in the dialog tree view Query Results &gt; SQL Server &gt; Results to Grid. Check on the option to "Include column headers when copying or saving the results".&lt;br /&gt;&lt;br /&gt;Key takeaway was the already mentioned  nuggets.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Basics of ASP.NET&lt;/span&gt;&lt;br /&gt;Jeff Blankenburg&lt;br /&gt;Microsoft&lt;br /&gt;*&lt;br /&gt;&lt;br /&gt;Jeff never fails to take a great session and disappoint. He was one-for-five on demos (crashed and burn). I guess having seen him before should be elated with the one demos that worked even a little. Microsoft should be ashamed that a Developer Evangelist is this unprepared to present to a paying audience. I have to believe this session was one of his canned sessions he does with customers in his day-to-day job with Microsoft. This session further erodes my confidence in the people who are suppose to help us developers learn and adopt Microsoft technology.&lt;br /&gt;&lt;br /&gt;Also, if you have a session that covers the basics, shouldn't this session be at the beginning of the first day instead of the end? It could be another scheduling conflict as Jeff mentioned he arrived just before his session so maybe he asked the organizers to put him where he got slotted. There are several sessions out of order, but I also know scheduling sessions slots is not a trivial exercise.&lt;br /&gt;&lt;br /&gt;Jeff covered Master Pages which is something I think is cool and something I know we use on the Southwest Fox Web site. It brings consistency to the look and feel and makes it easy to develop pages. He covered the AJAX Toolkit too. I feel he focused way too much on the AJAX Control Toolkit which is obviously dated compared to more cutting edge stuff like jQuery. There were other topics like LINQ and Web services, but by that time he lost my interest. Still, I answered a question correctly before anyone else and won a Twix candy bar.&lt;br /&gt;&lt;br /&gt;Takeaway: never waste another session slot by seeing Jeff speak. (sorry, I tried to be as positive as I could)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Deep Fried Bytes - Live (Podcast recording)&lt;/span&gt;&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;Over the years I have taken part in podcasts with respect to being interviewed. What I have learned is the hosts make it look a lot easier than it really is. I am fascinated by podcasting. I think podcasts bring terrific value to the developer community. At CodeStock I was introduced to Deep Fried Bytes which is a popular technology-oriented podcast hosted by C. "Woody" Woodruff and Keith Elder. I was interested in seeing a live podcast recording. There was some interesting discussion and questions from the crowd. Most of the time the hosts knew the expert to help answer the question. It was a remarkably smooth process.&lt;br /&gt;&lt;br /&gt;Earlier in the day I listened to a speaker tell me how the .NET platform allows for developers to easily develop applications on the Web, desktop, and mobile platforms. During the panel of Microsoft Developer Evangelists I asked a question about what Microsoft is doing with respect to competing with the iPhone based on the lack of development and stunted growth of the Windows Mobile platform. It is well known how poorly Microsoft has competed on this platform and appears they are standing still while Apple and RIM eats their lunch. I got the canned answer on how Microsoft takes the challenge and is working on Windows Mobile 6.5. Yawn. The battle is lost. They need to deliver Windows Mobile 7 and have a kick butt response to the iPhone if they have a prayer of competing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Evening Social&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;After hours there were games and finger food at one of the local sponsor's office. There were people pretending to be rock stars on the XBox and lots of board games. I stayed for a while and Steve Bodnar got us involved in a group of people who headed out to dinner at a local Japanese restaurant. There was some fun discussion and laughs, ongoing tweets, and some decent food. Typical geek dinner.&lt;br /&gt;&lt;br /&gt;The afternoon was a mixed bag for me. In reality, I was interested in two sessions on the second day and could have skipped the first day all together without worrying about getting value from the conference. So any wins were a bonus for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-4025550972230278810?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/4025550972230278810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=4025550972230278810' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/4025550972230278810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/4025550972230278810'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/07/codestock-2009-day-1-part-2.html' title='CodeStock 2009: Day 1, Part 2'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-8123930178154515780</id><published>2009-07-25T17:44:00.003-04:00</published><updated>2009-07-25T17:59:28.360-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='CodeStock'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>CodeStock 2009: Day 1, Part 1</title><content type='html'>&lt;a href="http://codestock.org/"&gt;CodeStock&lt;/a&gt; is a developer gathering in Knoxville, Tennessee that drew 376 people from around the country. The conference is a community event, meaning it is put on by developers. Most of the sessions are based on the Microsoft stack (.NET, SQL Server, Visual Studio), but has business topics and some open source coverage as well. You can attend 10 sessions over two days and there is one keynote each morning to start out the day. I attended the conference for one reason, to jump start my learning of ASP.NET to help my make the decision if we are going to use it a project we are hoping to work on later this year. The decision is simple, use the Microsoft stack, or use something else like Ruby on Rails with other open source technologies. This decision is as much technical as it is a business decision, and one I struggle with each time I sit down and think about it.&lt;br /&gt;&lt;br /&gt;The event registration cost me $45 because I registered late (normally $25). This is ridiculously cheap even considering the cost structure of the conference. The conference facility is a local college in Knoxville, and not tied to a specific hotel. Lunches are less expensive boxed sandwiches, chips, cookies and soda. Speakers travel is not covered. Sponsors cover a significant part of the cost structure for this type of event. It is supported by a passionate group made up of volunteers. While there are a lot of things in common with a standard conference you might go to, the entire infrastructure and business model are completely different. The entire trip with air miles supported airfare cost me around $300. I shared a room with Steve Bodnar to also curb costs.&lt;br /&gt;&lt;br /&gt;One thing I learned at the conference is the way sessions were selected. People voted months ago on topics. The votes were based on title and the abstract - without a speaker name. I did not take part in this because I was late to the party and quite frankly would have been out of my element in the selection process strictly based on me being an ASP.NET noobie. I don’t know for sure, but I suspect the organizers don’t want this to be a popularity contest, and to have people vote strictly on topics/technology. I am sure this could happen, but the reality is I choose the sessions on content *and* speaker. This might sound snobish to some, but speakers make up the core of the conference and make or break a session. No matter how important a topic might be to me, if I know a speaker is weak, or does not prepare well I know I will not get value out of the session. I have been quoted as saying there are certain speakers I would listen to no matter what the topic is because I know I will learn something new out of the session. This is only reason I attend conference sessions.&lt;br /&gt;&lt;br /&gt;Honestly, I believe this process watered down some of the session content and delivery at CodeStock. Granted, as you will read soon, there were some terrific sessions put on by talented and prepared speakers. There also were some terrible sessions put on by talented, but unprepared speakers. The difference was easy to witness, and literally painful to watch. As a person who has put on dozens of presentations, I felt bad for them. On the flip side, I really enjoyed watching other talent and passion flow in other sessions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Open Spaces Keynote&lt;/span&gt;&lt;br /&gt;Alan Stevens&lt;br /&gt;(not rated)&lt;br /&gt;&lt;br /&gt;Alan is a star in two communities (both in VFP and .NET). You might not know, but Alan is more of an “unconference” kind of guy than a prepared session slot kind of guy. His passion is bringing developers together to discuss ad-hoc topics. This is what open spaces is all about. Someone kicks off the conversation with a question or statement, and let controlled chaos ensue. This opening keynote was Alan's introduction to open spaces and his several escalator ride pitch to convince you to follow him to the land of un-session nirvana. His passion oooozes on stage, and he convinced many to follow by posting a session topic in one of the many slots.&lt;br /&gt;&lt;br /&gt;The reality is, open spaces is a lot like the discussion you will find in the corridors at a conference. The unplanned “hallway sessions” that usually start with a couple people discussing something, and others join in and before you know it you get a flow of ideas and answers to questions. These sessions bring as much or more value than one of the planned slot sessions going on in the rooms at the same time.&lt;br /&gt;&lt;br /&gt;The problem I have with the open spaces approach in this format is the slots are filled randomly &lt;span style="font-style: italic;"&gt;and&lt;/span&gt; they compete directly with a schedule I already picked out in advance. What I mean about the randomness is you could have two related topics but get them out of order with respect to some background and advanced discussions on the same topic. The cool thing about it is you have alternatives to the rare open slot when none of the planned sessions meet your taste. The open spaces are also during lunch, so for us uber-geek conference attendees who see lunch as more time to learn it can be a bonus session.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Back to the Basics: What is .NET?&lt;/span&gt;&lt;br /&gt;Keith Elder&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;Keith is a well prepared speaker. His session delivered a nice overview of .NET and the basics needed to get started from someone who obviously has expertise.&lt;br /&gt;&lt;br /&gt;I thought this was a great way to start the conference. Keith explained how .NET is managed code, described as "developers don't have to manage memory." He also explained how it was cheaper than Java. I don't understand the entire math equation, but it had to do with IIS being a "free" app server compared to needing BEA, WebSphere, or WebObjects. This is the first time I have heard anyone tell me .NET is cheap and IIS was free. {g}&lt;br /&gt;&lt;br /&gt;One of the key advantages of .NET is the single development platform for mobile (WinMobile), Silverlight (Web), Windows desktop, and Linux with Mono. This is a pretty powerful concept that is not promoted to me by Microsoft, and a heavy discussion point in the LAMP arena. I have a little problem with the "mobile" perspective since I believe Microsoft does not compete well on this platform and are getting their butts' kicked by Apple and Research in Motion (RIM - Blackberry).&lt;br /&gt;&lt;br /&gt;He gave us a quick overview of the Visual Studio IDE, and explained the large ecosystem of developers creating tools and components for VS developer to purchase. This has been one of my sour points with the Visual Studio experience: the total cost of ownership. I have been spoiled with VFP. Literally we have it all in the box. The Visual FoxPro IDE supports the language and app development, has tools and components, a report writer, and data (local and backend). Sure you might have to purchase some ActiveX controls here and there, but normally these are for specialized cases and most VFP apps are fine with the canned controls and tools. I asked Keith what the real costs for the average developer is with VS.NET once you license all the components to get the real job done. His answer was very wishy-washy. I have heard from other developers in the past it could be as much as a couple thousand dollars per developer on top of the costs of purchasing Visual Studio .NET. Not a trivial decision for any development shop.&lt;br /&gt;&lt;br /&gt;The meat of the session was in the coverage of the .NET framework, code, and the assembly DLLs. Keith covered all the base compilers and how others can be included for other languages. I thought his overview of the Intermediate Language (IL), the Common Language Runtime (CLR), the Dynamic Language Runtime (DLR) was well done. He showed us the Global Assembly Cache (GAC), and briefly covered the Red Gate .NET Reflector (which is very cool, and scary if you think the ReFox decompiler is evil).&lt;br /&gt;&lt;br /&gt;Key takeaways from this session were some clarification on .NET and where things are on the machine, .NET Refector is going to be extremely helpful from a learning perspective, and how well .NET plays on platforms that are important to me. I really thought the session was well done. Keith is an experienced speaker and a name I already knew going into the conference. I would definitely see another session he presents.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Useful jQuery tips, tricks, and plugins&lt;/span&gt;&lt;br /&gt;Elijah Manor&lt;br /&gt;***&lt;br /&gt;&lt;br /&gt;It would have been real helpful if organizers had scheduled this *after* Rod Paddock's jQuery 101 session. I am not sure if this was a scheduling problem of speaker availability or not, but it would have probably been rated a little higher if I had known jQuery a little more. Elijah is a respected person and expert in this field. He is a prolific tweeter as I have learned since the conference. His tweets are filled with lots of pointers to some extremely useful resources. I know I have learned more from him since the conference than I did in his session.&lt;br /&gt;&lt;br /&gt;The session was packed. I got there late and ended up leaning against the back wall during the session, which is not conducive to learning, at least not for me.&lt;br /&gt;&lt;br /&gt;Key takeaways from this session include VS 2008 SP1 includes support for jQuery, Firebug is awesome for Web development, the jQuery FlexGrid plugin rocks, and follow @elijahmanor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lunch&lt;/span&gt;&lt;br /&gt;Open Spaces&lt;br /&gt;(not rated)&lt;br /&gt;&lt;br /&gt;I grabbed my boxed lunch and headed to open spaces. Honestly, I don't recall the topic (writing this blog entry a month after the conference without any notes). Obviously this was not much value. I bailed early.&lt;br /&gt;&lt;br /&gt;More on day one to come...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-8123930178154515780?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/8123930178154515780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=8123930178154515780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8123930178154515780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8123930178154515780'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/07/codestock-2009-day-1-part-1.html' title='CodeStock 2009: Day 1, Part 1'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-5479169379481262740</id><published>2009-05-16T23:07:00.004-04:00</published><updated>2009-05-16T23:26:30.613-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cool Tools'/><title type='text'>Cool Tool: Remind Me Attachments</title><content type='html'>I am sure this only happens to me, but it happened a couple of times this week and is one of those things that quite frankly is embarrassing: forgetting to attach a file to an email.&lt;br /&gt;&lt;br /&gt;Email: Please see the attached file for your review and comments.&lt;br /&gt;&lt;br /&gt;Response: Uh Rick, nothing attached.&lt;br /&gt;&lt;br /&gt;Me: Doh!&lt;br /&gt;&lt;br /&gt;So today one of my colleagues was kind enough to point me toward &lt;a target="_blank" href="http://www.rsoutlook.com/us/prods/prod06.html"&gt;Remind Me Attachments&lt;/a&gt;. She said she recently started using it and it helps. I checked it out and the developer only charges US$5 and is compatible with Outlook 2007. Cool. I will try out almost any software that saves me time or frustration for less than $50.&lt;br /&gt;&lt;br /&gt;It was a slight pain in the neck to get installed and working, but the short &lt;a target="_blank" href="http://www.rsoutlook.com/us/prods/faq06.html"&gt;FAQ&lt;/a&gt; was helpful. There is no documentation, and I actually tripped over the settings dialog while I was looking for the add-ins dialog in Outlook. Once you have it installed (simple Setup.EXE) you need to go into the Outlook Options dialog. A new tab is added for the Remind Me Attachments. This new page has a checkbox to turn the feature on and five text boxes for keywords to be recognized. I added:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Attached&lt;/li&gt;&lt;li&gt;Attachment&lt;/li&gt;&lt;/ol&gt;No sooner did I get it installed I found myself testing it out purely by accident. It already has saved me once. A dialog is displayed if you don't have a file attached and one of your keywords is found in the message body. You still can send the message after the warning without attaching a file.&lt;br /&gt;&lt;br /&gt;So far I have not run into any compatibility issues. I don't know if it is compatible with Outlook versions prior to 2007. But so far it saved me from one embarrassing moment, which completely makes it worth the US$5!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-5479169379481262740?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/5479169379481262740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=5479169379481262740' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5479169379481262740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5479169379481262740'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/05/cool-tool-remind-me-attachments.html' title='Cool Tool: Remind Me Attachments'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-8447026327642417561</id><published>2009-05-01T09:14:00.004-04:00</published><updated>2009-05-01T12:09:54.773-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Southwest Fox'/><title type='text'>Southwest Fox 2009: Registration Opens</title><content type='html'>Months of preparation come to a climax today as we announce our speakers and sessions, and get rolling on the registration for Southwest Fox 2009. Even though this is our third year doing this, it is still exciting and still fun. We also added some new wrinkles into the event.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Sleep in a little more in the morning - 8:30 start times instead of 8:00.&lt;/li&gt;&lt;li&gt;"Green option" for registration to skip the conference binder, but still get materials in PDF before the conference.&lt;/li&gt;&lt;li&gt;New registration application to electronically send in the registration.&lt;/li&gt;&lt;li&gt;Super-saver, early-bird, and regular registration levels and times.&lt;/li&gt;&lt;li&gt;New "Technology" track looks at tools and technologies to make life as a developer easier or more productive, including such things as virtual machines and source control.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;There still may be a few surprises to come too.&lt;br /&gt;&lt;br /&gt;We also worked very hard with the budget to ensure people had the opportunity to register for the same price as last year. We are doing the best we can to continue to make Southwest Fox fit into your budget this year. The conference center hotel rooms are the same price as last year, and the conference fee is the same price as last year if you register before September 1st.&lt;br /&gt;&lt;br /&gt;Topping the first five Southwest Fox Conferences is not an easy task. Coming up with new ideas while retaining the best of the past is a challenge each year. Still, I think we have put together the foundation to make this year the best ever.&lt;br /&gt;&lt;br /&gt;One of the other new things is our first ever Ceil Silver Ambassador. Cesar Chalom is coming to represent the Fox Community from Brazil and South America. We made this &lt;a target="_blank" href="http://swfox.net/blog/2009/04/2009-ceil-silver-ambassador.html"&gt;announcement&lt;/a&gt; a couple of weeks ago. Since the announcement I have heard from a lot of people who are really excitied to meet Cesar in person. I know I am one of his fans and look forward to seeing him in Mesa.&lt;br /&gt;&lt;br /&gt;Over the last six months or so we have been working very hard to encourage some new people to share their knowledge with the Fox Community. This has been a goal of the organizers since day one. Over the last couple of years we had a few speakers who have not spoken in a while return to the speaker circuit and have introduced a couple of new people, but not to the level we initially hoped for. This year is completely different though and I am really excited that we have what I am refering to as the fab five freshmen (Steve Ellenoff, Walt Krzystek, Jody L. Meyer, Paul C. Mrozowski, and Jim Nelson) speaking for the first time at Southwest Fox. Jim and Walt took part in the "Show Us Your Apps" session last year, Steve spoke at Fox Forward a couple of years ago, and Paul and Jody deliver regular presentations at their local Fox user groups so they are not really rookies. I think this is super important moving forward to grow the speaker community and this is a huge step in the right direction.&lt;br /&gt;&lt;br /&gt;Naturally we are also bringing back some seasoned favorites too. Menachem Bazian, Rick Borup, Craig Boyd, Mike Feltman, Toni M. Feltman, Tamar E. Granor, Doug Hennig, Cathy Pountney, Rick Schummer, Alan Stevens, and Christof Wollenhaupt. A terrific line up.&lt;br /&gt;&lt;br /&gt;Some of the great things you already expect from Southwest Fox:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Terrific selection of sessions from great presenters.&lt;/li&gt;&lt;li&gt;28 regular conference topics, 4 simultaneous sessions, 4 pre-conference sessions, and a keynote will pack your days with learning opportunities and inspiration.&lt;/li&gt;&lt;li&gt;White papers from every session (mandated by the organizers) so you can read about sessions you can't fit into your schedule, or review material you saw at the conference when you return home.&lt;/li&gt;&lt;li&gt;Lunch Thursday if you register for two pre-conference sessions&lt;/li&gt;&lt;li&gt;Lunch Friday and Saturday for all attendees&lt;/li&gt;&lt;li&gt;Dinner Friday night&lt;/li&gt;&lt;/ol&gt;I hope you take some time to review the sessions when you have a chance. I also hope you will consider joining us in Mesa this October.&lt;br /&gt;&lt;br /&gt;All the details are posted on the &lt;a target="_blank" href="http://swfox.net/"&gt;Southwest Fox Web site&lt;/a&gt;. Watch for more news on our &lt;a target="_blank" href="http://swfox.net/blog/index.htm"&gt;conference blog&lt;/a&gt; and follow us on &lt;a target="_blank" href="http://twitter.com/swfox"&gt;Twitter&lt;/a&gt; too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-8447026327642417561?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/8447026327642417561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=8447026327642417561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8447026327642417561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8447026327642417561'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/05/southwest-fox-2009-registration-opens.html' title='Southwest Fox 2009: Registration Opens'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-7936266072585036666</id><published>2009-04-08T16:07:00.004-04:00</published><updated>2009-04-08T16:50:55.076-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Bugs'/><title type='text'>VFP 9 - Reporting Bugs</title><content type='html'>Microsoft moved all bug reporting for VFP to their Connect system years ago. The FoxPro Community followed the Microsoft direction with some kicking and screaming. One of the drawbacks of this was the VFP reports went through the Visual Studio group and we never got the feeling of being a first class citizen in the process.&lt;br /&gt;&lt;br /&gt;Microsoft has fixed this. Well, sort of fixed this. {g}&lt;br /&gt;&lt;br /&gt;About a month ago Gianni Turri posted a message on the ProFox list server noting a bug report he posted was rejected with the following message:&lt;br /&gt;&lt;blockquote&gt;Thank you for submitting this Connect Issue. Visual FoxPro is no longer supported though Connect. Please use the Visual FoxPro Support Center (http://msdn.microsoft.com/en-us/vfoxpro/bb190294.aspx) or the Visual FoxPro Discussion Forum on MSDN (http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=60&amp;amp;SiteID=1) for more information or suggestions. You can also contact Microsoft Help and Support (http://support.microsoft.com ) for further assistance. For additional information please visit the Community Resources page on Visual FoxPro MSDN site (http://msdn.microsoft.com/en-us/vfoxpro/bb190227.aspx) as well as the VFPX project on CodePlex (http://www.codeplex.com/VFPX). Thank you, Visual Studio Product Team.&lt;br /&gt;&lt;/blockquote&gt;[Editorial note: interesting plug for VFPX - yeah!]&lt;br /&gt;&lt;br /&gt;I confirmed this with Milind Lele. He told me Microsoft Connect is great for products in continuous development and allows better management of the reports to flow into the next release. All Visual FoxPro bug reports need to go through Product Support Services.&lt;br /&gt;&lt;br /&gt;To get to Product Support Services you go here: &lt;a href="http://msdn.microsoft.com/en-us/vfoxpro/bb190294.aspx"&gt;http://msdn.microsoft.com/en-us/vfoxpro/bb190294.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Near the bottom of the page you will find "Get Help from Microsoft". Click on Assisted Support. Scroll through the list of products to find Visual FoxPro 9.0 (or 8.0) and click on the link. Or you can go to this link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/oas/default.aspx?Gprid=7992"&gt;http://support.microsoft.com/oas/default.aspx?Gprid=7992&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You will see three options:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Email Support (24 hour response time, two free incidents, US$99 for support)&lt;/li&gt;&lt;li&gt;Online Request to be called (US$259 per incident, response time based on severity)&lt;/li&gt;&lt;li&gt;Request by phone (US$259 per incident during business hours, US$515 after hours)&lt;/li&gt;&lt;/ol&gt;Other options for contracts are available.&lt;br /&gt;&lt;br /&gt;So I asked about "paying" to report a bug. You do initially have to pay if you are past your two free support emails. But if the support people determine it is a product bug (their definition of being out of spec, not your perception of what you might consider a bug), your payment will be credited. Exact words from Milind:&lt;br /&gt;&lt;blockquote&gt;Actually for a valid bug, the charges get reverted. The quickest way to get a fix is to have a hotfix issued. And the fastest and surest way to do that is to create that request from support.&lt;br /&gt;&lt;/blockquote&gt;The good news: you will be routed to the folks that know VFP best and in my opinion, some of the sharpest folks supporting software anywhere. Plus the reports are going directly to them, not through a system that treated our favorite product as less than first class.&lt;br /&gt;&lt;br /&gt;My recommendation: if you think you have run across some "buggy feeling feature" in Visual FoxPro, post the issue on one of the forums. Let the Fox Community help you flush out any issues to see if it is indeed a bug. Then report it though the Product Support Service channel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-7936266072585036666?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/7936266072585036666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=7936266072585036666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/7936266072585036666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/7936266072585036666'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/04/vfp-9-reporting-bugs.html' title='VFP 9 - Reporting Bugs'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-8817270400857229483</id><published>2009-04-07T23:12:00.003-04:00</published><updated>2009-04-07T23:16:58.061-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP 9 SP2'/><category scheme='http://www.blogger.com/atom/ns#' term='Hotfix'/><title type='text'>VFP 9 SP2 Hotfix Update</title><content type='html'>I just downloaded the latest update to the VFP 9 SP2 Hotfix this evening. This latest file includes the missing VFP9T.DLL (Multi-threaded runtime) file.&lt;br /&gt;&lt;br /&gt;Same place, same bat channel...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/KB968409"&gt;http://code.msdn.microsoft.com/KB968409&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have been told the other hotfixes are no longer password protected too, but I have not had time to test because of a limited bandwidth while on vacation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-8817270400857229483?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/8817270400857229483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=8817270400857229483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8817270400857229483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8817270400857229483'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/04/vfp-9-sp2-hotfix-update.html' title='VFP 9 SP2 Hotfix Update'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-8181239405413867548</id><published>2009-04-03T22:15:00.004-04:00</published><updated>2009-04-03T23:06:44.692-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP 9 SP2'/><category scheme='http://www.blogger.com/atom/ns#' term='Hotfix'/><title type='text'>VFP 9 SP2 Hotfix Minor Glitch</title><content type='html'>Earlier today in the comments section on my post about the release of the new &lt;a href="http://rickschummer.com/blog/2009/04/vfp-9-sp2-hotfix-released.html"&gt;VFP 9 SP2 hotfix&lt;/a&gt;, Sergey &lt;span id="Html"&gt;Berezniker &lt;/span&gt;and Emerson Santon Reed noted the VFP9T.DLL runtime file is not included in the post. It is something I noticed the day of the release but was tainted by the fact the Report Designer is not valid in the runtime. What I forgot is about the rollup of the previous hotfixes and how they should be included. The multi-threaded runtime is in the included Merge Module so you can get it by building an installer and installing the file. But it would be much simpler to get the file in the hotfix download.&lt;br /&gt;&lt;br /&gt;The other issue is the previous two VFP 9 SP2 hotfixes (not the latest) just posted on Code Gallery still have the download files password protected. Annoying for sure, but not super critical because the new hotfix has these two rolled up. The business case for the old hotfix might be valid for some developers.&lt;br /&gt;&lt;br /&gt;I contacted the Fox Team at Microsoft this morning and they jumped on the issue. This evening I got word that the fixes are in the final stages of getting prepared for release and should be ready in the next few days.&lt;br /&gt;&lt;br /&gt;So the choice is yours. You can pull the hotfix and start testing the changes and how they impact your application. If you want the multi-threaded runtime and don't want to build an install to get it, just hold still for a few more days. Things are getting fixed in all three downloads.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-8181239405413867548?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/8181239405413867548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=8181239405413867548' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8181239405413867548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8181239405413867548'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/04/vfp-9-sp2-hotfix-minor-glitch.html' title='VFP 9 SP2 Hotfix Minor Glitch'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-7449417986754020820</id><published>2009-04-02T16:33:00.003-04:00</published><updated>2009-04-02T19:41:42.416-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP 9 SP2'/><category scheme='http://www.blogger.com/atom/ns#' term='Hotfix'/><title type='text'>VFP 9 SP2 Hotfix Released!</title><content type='html'>10, 9, 8, 7, 6 (main engine start), 5, 4, 3, 2, 1…. Liftoff!&lt;br /&gt;&lt;br /&gt;I bet you think I am talking about a launch of NASA's Space Shuttle. If you know me this is a good guess, but this time you are wrong. I have better news!&lt;br /&gt;&lt;br /&gt;Microsoft has released a hotfix to the most serious Report Designer bug in VFP 9 SP2. This is the Data Group bug Cathy Pountney first blogged about here: &lt;a target="_blank" href="http://cathypountney.blogspot.com/2007/11/gotcha-serious-report-bug-with-data.html"&gt;Gotcha: Serious report bug with Data Groups introduced in VFP 9 SP2&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You can read about the fix in the Microsoft KnowledgeBase article #968409, titled “&lt;a target="_blank" href="http://support.microsoft.com/kb/968409"&gt;FIX: The group header of a data grouping is not printed at the top of each page as expected after you install Microsoft Visual FoxPro 9.0 Service Pack 2&lt;/a&gt;”&lt;br /&gt;&lt;br /&gt;This fix is considered by many to be the most serious bug introduced in VFP 9 SP2, and has often been referred to as the main stumbling block to the adoption of VFP 9 SP2. I am hopeful with this news that you will consider downloading the new hotfix and giving it a try to see if it works well for your apps. Only you can make the determination on what is best for your customers. Yes, there are more bugs to squash, but a high percentage of them have decent workarounds where this particular bug did not.&lt;br /&gt;&lt;br /&gt;Additionally, there is some terrific news on how you can get the hotfix. Previous to this release Microsoft only made Visual FoxPro hotfixes available by calling Microsoft Product Support Services (PSS), report the bug in the hotfix, and then Microsoft would make it available to you. Hotfixes are easier for the team to release because there is less overhead, but getting it to the Fox Community is a pain in the neck because of the PSS bottleneck. So the “Fox Team” came up with releasing this important hotfix through MSDN Code Gallery so any Visual FoxPro developer can download and apply the patch without calling PSS. I think this is a real positive move for the Fox Community.&lt;br /&gt;&lt;br /&gt;The hotfix can be downloaded on the &lt;a target="_blank" href="http://code.msdn.microsoft.com/KB968409/Release/ProjectReleases.aspx?ReleaseId=2445"&gt;download&lt;/a&gt; page of Code Gallery for the KB article.&lt;br /&gt;&lt;br /&gt;Both the other hotfixes released for VFP 9 SP2 are rolled up into this release so if you have patched SP2 for the following fixes they are included in the new build:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/948528"&gt;FIX: The toolbar on an SDI form is disabled in Visual FoxPro 9.0 Service Pack 2&lt;/a&gt; (build 6303, 12-Apr-2008, KB 948528)&lt;/li&gt;&lt;li&gt;&lt;a target="_blank" href="http://support.microsoft.com/kb/952548"&gt;FIX: Records from another user session that violate the criteria for a parent table are displayed in the browse window for a child table in a Visual FoxPro 9.0 Service Pack 2 multiuser environment&lt;/a&gt; (build 6602, 03-Jun-2008, KB 952548)&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;Update:&lt;/span&gt; Milind Lele tells me the previous hotfixes for VFP 9 SP2 are also available on MSDN Code Gallery (just in case you are not interested in the Group Header fix. {g})&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://code.msdn.microsoft.com/kb948528"&gt;http://code.msdn.microsoft.com/kb948528&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" href="http://code.msdn.microsoft.com/KB952548"&gt;http://code.msdn.microsoft.com/KB952548&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just in case you have not heard, in addition to the core EXE and runtime hotfixes we have a new &lt;a target="_blank" href="http://vfpx.codeplex.com/Wiki/View.aspx?title=VFP%209%20SP2%20Help%20File&amp;amp;referringTitle=Home"&gt;VFP 9 SP2 Help file&lt;/a&gt; available on VFPX.&lt;br /&gt;&lt;br /&gt;I am very excited about this news. I want to thank the “Fox Team” for their hard work and personal efforts to make the hotfix happen. I also want to thank those in the Fox Community who have reported VFP 9 SP2 bugs, those who have documented the workarounds, those who researched when some of the alleged SP2 bugs really surfaced, and those who tested out the hotfix to ensure it is the best possible fix for the reports at this time.&lt;br /&gt;&lt;br /&gt;Hopefully this is just the third in a string of hotfixes we will see from Microsoft as they support the product we all love. Today is a very good day. This is one small step for VFP, one giant leap for VFP developers. Please spread the word!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;Update:&lt;/span&gt; Read more about this release on &lt;a target="_blank" href="http://cathypountney.blogspot.com/2009/03/microsoft-fixes-data-group-bug-in.html"&gt;Cathy Pountney's&lt;/a&gt; blog!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-7449417986754020820?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/7449417986754020820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=7449417986754020820' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/7449417986754020820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/7449417986754020820'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/04/vfp-9-sp2-hotfix-released.html' title='VFP 9 SP2 Hotfix Released!'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-1098095941770608947</id><published>2009-03-16T12:50:00.000-04:00</published><updated>2009-03-16T12:51:14.451-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Southwest Fox'/><title type='text'>SWFox: Session Proposals Due Today</title><content type='html'>Today is the day the session proposals from potential speakers are due. If you sent topics in for consideration and did &lt;span style="font-weight: bold;"&gt;not&lt;/span&gt; get a response from Tamar, please resend them to speakers AT swfox DOT net. You can also copy to info AT swfox DOT net if you want to have a backup submission.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-1098095941770608947?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/1098095941770608947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=1098095941770608947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1098095941770608947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1098095941770608947'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/03/swfox-session-proposals-due-today.html' title='SWFox: Session Proposals Due Today'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-1871365145799212877</id><published>2009-03-09T17:25:00.005-04:00</published><updated>2009-03-09T19:52:28.692-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='compatibility'/><category scheme='http://www.blogger.com/atom/ns#' term='dBASE'/><category scheme='http://www.blogger.com/atom/ns#' term='Clipper'/><title type='text'>Making Migration Choices</title><content type='html'>One of the hallmarks of FoxPro and Visual FoxPro is the level of backwards compatibility the Fox Team was committed to during the decades it was created and enhanced. The compatibility was not just from FoxPro to FoxPro versions, but often was extended to other XBase flavors such as dBASE and Clipper. One of the side-effects of this decision by Fox Software and Microsoft is that developers can easily port code forward, even when there might be easier or better ways to accomplish the same thing.&lt;br /&gt;&lt;br /&gt;Over the last week I have helped another developer migrate some Clipper DOS code to Visual FoxPro. The decision to do a direct port of the code was made way before I was asked to help. Because of the deep commitment of the Fox Team this port was working except for three areas where the developer requested my help. The one aspect that caused me the most grief was colors - requirements are to match the colors exactly as the old system.&lt;br /&gt;&lt;br /&gt;I figured the color issue would be a snap because the color settings were done through procedures, not on individual @SAY,@GET lines. Each procedure had SET COLOR TO commands. What I did not realize was the color pairings in Clipper were done in numbers instead of letters (apparently Clipper supports both). Visual FoxPro seems to run the code, but the colors were not matching. Took me a while to figure this out,but VFP is more accurate with color pairings as letters. Once I understood this trap I was able to get the colors going in the right direction.&lt;br /&gt;&lt;br /&gt;One issue with the colors though was the background color was not set correctly on many of the screens. The @SAY and @GET code displayed correctly. What I learned is that VFP is setting the screen backcolor to the backcolor of the first @SAY done after a CLEAR. Unfortunately that took me a long time to figure out. Once I understood how it works I developed some code that handles it. Oh, and don't think you can just set _SCREEN.BackColor, it does not work well with @SAY or @GET code.&lt;br /&gt;&lt;br /&gt;I guess the Fox Team did not sufficiently test scenarios with @SAY and @GET compatibility (tongue firmly planted in cheek).&lt;br /&gt;&lt;br /&gt;Why am I posting this? Is it because I believe many people are running Clipper or FoxBase/FoxPro code in Visual FoxPro these days? No. Just as a reminder to those developers who are faced with the choice of migrating old code to Visual FoxPro and some of the headaches you might face if you select to go the route of running the "compatible" code in Visual FoxPro. The backwards compatibility with old style user interface elements might not be as compatible as you would like. I believe the developer I am working with made the right call for his customer's situation, and the customer's requirements and budget, but the cost is going to be many hair pulling moments. Unfortunately in my case I was working with a fixed price budget, and I blew the hours by three times the allotted amount of time. So much for my weekend being fun.&lt;br /&gt;&lt;br /&gt;Another lesson re-learned at the school of hard knocks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-1871365145799212877?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/1871365145799212877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=1871365145799212877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1871365145799212877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1871365145799212877'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/03/making-migration-choices.html' title='Making Migration Choices'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-3249972536033218942</id><published>2009-02-06T17:37:00.000-05:00</published><updated>2009-02-06T17:40:01.667-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Sedna'/><category scheme='http://www.blogger.com/atom/ns#' term='UpsizingWizard'/><title type='text'>VFP Upsizing Wizard Tip</title><content type='html'>Earlier this week I finished writing the chapter on the Upsizing Wizard for the upcoming Sedna update book we are close to completing. In the chapter review Doug Hennig pointed out a possible third way to run it (the first two being from the VFP Command Window and from the Data Explorer). He suggested trying to rename the Sedna Upsizing Wizard to the name of the old Upsizing Wizard and copying it in the Wizards folder under the VFP root.&lt;br /&gt;&lt;br /&gt;This got me thinking. All the Wizards are driven off a table called Wizards.DBF. What if I just added a record in this table and pointed it to the new Sedna version? It works. All part of the extensibility of the Visual FoxPro IDE.&lt;br /&gt;&lt;br /&gt;First locate the Upsizing Wizard record in the Wizards table:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;pre&gt;USE (HOME() + "Wizards\Wizard.DBF") ;&lt;br /&gt;   IN 0 SHARED ALIAS VFPWizard&lt;br /&gt;&lt;br /&gt;SELECT VFPWizard&lt;br /&gt;&lt;br /&gt;LOCATE FOR Name = "Microsoft SQL Server Upsizing Wizard" ;&lt;br /&gt;      AND Type = "Upsizing"&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Change the Program memo field to:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;c:\program files\microsoft visual foxpro 9\sedna\upsizingwizard\upsizingwizard.app&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Or alter the path to your environment setup as needed.&lt;br /&gt;&lt;br /&gt;If you want both the original and the Sedna version, just do a SCATTER and GATHER and make the change in the second one. I recommend also changing the Name column because each time you start up the Upsizing Wizard from the menu you will select between the two and the Name column is displayed for you to pick which one you want.&lt;br /&gt;&lt;br /&gt;The downloads for the chapter will include a program you can run to correct the registration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-3249972536033218942?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/3249972536033218942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=3249972536033218942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/3249972536033218942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/3249972536033218942'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/02/vfp-upsizing-wizard-tip.html' title='VFP Upsizing Wizard Tip'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-2580951748551004808</id><published>2009-01-22T23:09:00.006-05:00</published><updated>2009-01-22T23:37:39.188-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='VFPX'/><category scheme='http://www.blogger.com/atom/ns#' term='Fox Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Fox Team'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='VFP 9 SP2'/><title type='text'>VFP 9 SP2 Help file (fixed) coming to VFPX</title><content type='html'>As you may know, the April 2008 version of the VFP 9 SP2 Help file is broken. Actually I would consider it a serious mess. Lots of cosmetic things broken, and hyperlinks broken on important things like properties, events, and methods. I blogged about many of the &lt;a target="_blank" href="http://rickschummer.com/blog/2008/04/vfp-9-sp2-help-fix-glitches.html"&gt;problems&lt;/a&gt; found. A real mess, literally unusable, and not much hope from Microsoft to get it fixed by the Help team because of resources.&lt;br /&gt;&lt;br /&gt;Several people (who will remain nameless at this time) started working behind the scenes to fix the Help file by decompiling it, repairing the problems, and rebuilding it. Some of us allegedly got closer than others and there allegedly was lots of collaboration, but one person allegedly made a serious breakthrough with lots of time put into getting it corrected.&lt;br /&gt;&lt;br /&gt;I contacted Alan Griver and asked if a Help file allegedly was fixed, would Microsoft post it for the Fox Community to use it. You see, there are lots of legal entanglements with copyrights and third-parties and no one wanted anyone to be thrown in jail. It took a while and I was starting to lose hope.&lt;br /&gt;&lt;br /&gt;A couple of nights ago Alan emailed me with the news that we can post the changes on VFPX under the Creative Commons license. This means the Fox Community has the rights to improve the VFP 9 SP2 Help file! Some final tweaks are going to be made to the new file, and one additional fix has to be made, but soon a usable VFP 9 SP2 Help file will be posted.&lt;br /&gt;&lt;br /&gt;Thanks to Alan Griver for spending time battling Microsoft Legal and going to bat again for the Fox Community. Proof again that even though there might not be an official Fox Team at Microsoft, we still have friends who are helping us out. And thanks to all allegedly involved in the battle to assemble the Help file without some key source files. You know who you allegedly are and you folks rock!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-2580951748551004808?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/2580951748551004808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=2580951748551004808' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/2580951748551004808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/2580951748551004808'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2009/01/vfp-9-sp2-help-file-fixed-coming-to.html' title='VFP 9 SP2 Help file (fixed) coming to VFPX'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-5996983290039993320</id><published>2008-12-17T21:05:00.003-05:00</published><updated>2008-12-17T21:21:43.209-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='SweetPotato Software'/><title type='text'>VFP: Grid Header Pictures</title><content type='html'>Those following along on Twitter know that I am working with Craig Boyd's &lt;a target="_blank" href="http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,d6d71562-1655-4518-9341-527932970583.aspx"&gt;GridExtras&lt;/a&gt; class in one of my customer projects. This is an interesting tool that is making me look really proactive to my customers.&lt;br /&gt;&lt;br /&gt;One of the features is the ability for users to double-click on the header and the RecordSource is sorted on the column in the grid. Jody Meyer enhanced this to toogle from ascending to descending to no order. The columns can also be filtered which is an awesome feature because Craig mimics the dialogs to work like column filtering in Microsoft Excel. Both of these features put images in the headers of the columns to give the users a visual clue of what is going on for the grid.&lt;br /&gt;&lt;br /&gt;For some reason I was not getting the images in my grids. Obviously it is working for Craig because the sample app he ships has the images displayed. It is not a VFP 9 SP2 thing, because I could run his app in VFP 9 SP2 without any issue.&lt;br /&gt;&lt;br /&gt;On a whim I moved the images from the gridextras folder I have under a different directory tree on the same drive, and put them into an images folder underneath the project. I then removed all the pointers in the project to the image files and added the images from the new folder into the project. Rebuilt the EXE and presto, the images show up in the grid header. Nice.&lt;br /&gt;&lt;br /&gt;My question is why? All the images are compiled into the EXE either way as I did not exclude them in the Project Manager. VFP should be able to find the images in the EXE. Is there a logical answer, or is this one of the VFP quirks I have to remember to work around in the future?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-5996983290039993320?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/5996983290039993320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=5996983290039993320' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5996983290039993320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5996983290039993320'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/12/vfp-grid-header-pictures.html' title='VFP: Grid Header Pictures'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-8313612396871708103</id><published>2008-12-17T20:12:00.003-05:00</published><updated>2008-12-17T20:50:20.676-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Success'/><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Avoiding the recession</title><content type='html'>I have a minor in economics and have always found it interesting how economic forces that appear negative for the masses still leave many untouched, and in some cases benefit some who work around and avoid the downturns. Might have to write a white paper some day how I am avoiding the media created recession of 2008. Over the last few months I have been looking for ways to be one of those who avoid the recession. I know, crazy talk if you listen to the so-called experts in the mainstream twisted media. I for one refuse to become a casualty of this economic situation, and so far am winning this battle.&lt;br /&gt;&lt;br /&gt;This evening on Twitter I tweeted some of my keys to being successful during these times. I figure that only 10 people will read the tweets, and if I blog about it maybe 10 more might take the time to read.&lt;br /&gt;&lt;br /&gt;You will not find sage advice on how to invest or how to survive smaller revenues. I have not had good luck working with investors (bad luck listening to alleged experts, see key #1), and I have no intention to making less money (see key #2). I am once again sharing key strategies of my success, which some people think is nuts (see key #4). Please be advised, your mileage might vary, and take it for what it is worth (free).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Key numero uno - most pundits are full of themselves and advice should be avoided. Same for elitists and extremists.&lt;/li&gt;&lt;li&gt;Key numero dos - know how to duck when morons throw shoes at you, and know how to laugh about it afterwards. Translate: avoid negative people.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Key numero tres - Be willing to take on work no one else wants to touch. Finding a niche funds growth and builds loyalty in customer base.&lt;/li&gt;&lt;li&gt;Key numero quattro - something learned in Kindergarten: share. Sharing with others helps promote good will that lasts a lifetime, good karma.&lt;/li&gt;&lt;li&gt;Key numero cinco - positive thoughts, positive results.&lt;/li&gt;&lt;li&gt;Key numero seis - surround yourself with good, genuine, and smart people.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Sure these are more zen-like than solid things you can add to your to-do list, but that is how I work. Take a view that is higher and visionary and work down. I am sure you can take each one of these keys and build to-do list items that will move you forward. These to-do items will be specific to your situation and environment.&lt;br /&gt;&lt;br /&gt;Key #5 has served me well over the years and is one that negative people hate. "It never works" - if you believe this you are correct. I prefer to work the opposite way. These are words I repeat all the time. Hope you enjoyed some initial thoughts on how I am planning to live above the recession experienced by others. I look forward to hearing other ideas too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-8313612396871708103?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/8313612396871708103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=8313612396871708103' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8313612396871708103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/8313612396871708103'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/12/avoiding-recession.html' title='Avoiding the recession'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-1595040178514389634</id><published>2008-12-09T17:22:00.004-05:00</published><updated>2008-12-09T17:50:21.921-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Standards'/><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>VFP: File and folders via indirection</title><content type='html'>Last night one of my clients was implementing their vertical market application half way around the world. The onsite support people were reporting an error when the app was started: "Invalid path or file name."&lt;br /&gt;&lt;br /&gt;Thanks to the new error handler we implemented in the app I tracked this problem down to a single line of code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;CD &amp;amp;lcDataPath&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Looking at the value of lcDataPath it became instantly apparent what the problem was, spaces in the folder name. The tech support person right away explained to me the standard for the install is no spaces in the folder names. This site deviated from the standard folder name recommended by my customer. Now she knows exactly why the original developers proclaimed this "requirement" years ago.&lt;br /&gt;&lt;br /&gt;I have not been burned by spaces in code for a long time because I always use indirection in my code whenever I deal with file names or folders.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;CD (lcDataPath)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;USE (lcFileName) IN 0 SHARED AGAIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DELETE FILE (lcFileName)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I posted this issue on Twitter earlier today and Andrew MacNeill noted this is probably a great rule to add to &lt;a target="_blank" href="http://www.codeplex.com/VFPX/Wiki/View.aspx?title=Code%20Analyst&amp;amp;referringTitle=Home"&gt;Code Analyst&lt;/a&gt; up on &lt;a target="_blank" href="http://www.codeplex.com/VFPX"&gt;VFPX&lt;/a&gt;. I agree. I am now curious how many developers do not test their applications in folder structures with spaces in the name. I just checked my development machine and all my test folders are space free. But I do install my applications on a virtual machine in the Program Files folders and this tests out the space problem.&lt;br /&gt;&lt;br /&gt;Yet one more reason why we have &lt;a target="_blank" href="http://www.whitelightcomputing.com/resources/WLCDeveloperGuidelines4point0.pdf"&gt;standards&lt;/a&gt; at White Light Computing and why the adoption of industry best practices gives us more solid deployments and apps in production. Fortunately the onsite tech people were okay with renaming the folder, otherwise my customer would have been hiring us to review the application for other macro expansion gotchas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-1595040178514389634?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/1595040178514389634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=1595040178514389634' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1595040178514389634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/1595040178514389634'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/12/vfp-file-and-folders-via-indirection.html' title='VFP: File and folders via indirection'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-5420942574018573990</id><published>2008-12-07T18:32:00.002-05:00</published><updated>2008-12-07T18:38:38.127-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='German DevCon'/><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>German DevCon - Day 3</title><content type='html'>The final day of the conference in Germany is like the final day of any conference, you start out the day exhausted. Add on top of the fact I have not slept more than a couple hours a night because of the jet lag and the time zone difference from home.&lt;br /&gt;&lt;br /&gt;I also did not have the first session of the day so I was able to attend Bo Durban's 8:30 session on "Creating Custom Controls with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Sedna&lt;/span&gt;." Yes, another reporting session I am sure will be very useful to me in the near future. Bo showed us how to take the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Sedna&lt;/span&gt; reporting architecture and extend it for our own purpose. His extensions show how you can drop a shape on the report and have it be one of the custom shapes he has predefined. His custom shape takes on the attributes (size, color, etc.) of the standard &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;VFP&lt;/span&gt; shape you drop on the report. Very interesting and will take a little to sink in.&lt;br /&gt;&lt;br /&gt;Up next is Tamar's "Solving Common Problems with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;VFP&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SQL&lt;/span&gt;" session. It sort of was a session that gave me that time-warp sensation. I recall sitting in on one of Tamar's &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SQL&lt;/span&gt; sessions at one of the early &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;DevCons&lt;/span&gt; (probably 1993 in Orlando). Tamar has been giving &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SQL&lt;/span&gt; sessions for many years so I am not sure if it was then or 1996 in Scottsdale. Or maybe both. It does not matter how many times I see sessions like this, I always walk away being reminded of some technique I have forgotten about. It also reminded me I probably should reread her book: "Taming Visual &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;FoxPro's&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;SQL&lt;/span&gt; - Real World Data Solutions For &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;VFP&lt;/span&gt;". There are techniques I just have not used that were introduced in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;VFP&lt;/span&gt;9 like the ability to create &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;SQL&lt;/span&gt; Selects from virtual tables (another &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;SQL&lt;/span&gt; Select).&lt;br /&gt;&lt;br /&gt;I skipped the Microsoft keynote given by Tim Fischer of Microsoft &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Deutschland&lt;/span&gt; because I probably would only understand about 1% of it. The topic was interesting as it was about Software + Services and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;VFP&lt;/span&gt;, but it was given in German and my mind was not prepared to pseudo translate.&lt;br /&gt;&lt;br /&gt;After lunch was "Practical Uses of XML" by Doug. I really liked this session. I definitely have used XML in my customer applications and developer tools, but it is always interesting to see what applications other developers come up with. Doug's session gave a brief overview of XML and some of the gotchas you have to be aware of and some techniques for working with XML data.&lt;br /&gt;&lt;br /&gt;Last session of the conference was my "Extending the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Sedna&lt;/span&gt; Data Explorer" session. I have done this session numerous times and I got tripped up in the last example where I display the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;ShowPlans&lt;/span&gt; for all the views in a database. The demo crashed and burned. This is a demo I did in the morning when I ran through all my examples one last time. During the day I was working on the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Upsizing&lt;/span&gt; Wizard chapter and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;upsized&lt;/span&gt; the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;VFP&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;NorthWind&lt;/span&gt; database. I was testing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;upsizing&lt;/span&gt; of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;VFP&lt;/span&gt; views and when you do this it turns them all into remote views. Well the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;ShowPlan&lt;/span&gt; code is counting on local views and I was seeing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;SQL&lt;/span&gt; Server &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;login&lt;/span&gt; dialog during the demo. Not cool. Fortunately everyone was understanding that the demo gods were not kind during the last 5 minutes of the session. See why I don't update my machine for a couple weeks before a conference? Even something a silly as a demo can get tripped up by changing data.&lt;br /&gt;&lt;br /&gt;Later in the evening of the last day is the speaker dinner. Rainer always comes up with a spectacular spread of interesting food. Each year there is fun discussion and lots of laughs. I thought I would leave by 11:00 but they kicked us out sometime after midnight. I was nearly falling asleep at some point, but got my second wind along the way.&lt;br /&gt;&lt;br /&gt;The conference was terrific. I learned a lot, got some important work done, and was able to get some ideas spawned for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;VFPX&lt;/span&gt; during my time in Germany. In fact, during the conference one of the German speakers submitted a project to automate &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;VFP&lt;/span&gt; builds. It was accepted and is the first time I was able to tell the project manager face-to-face that the project was accepted. We have not announce the project yet because the project manager is busy with his real job, but expect to see it soon. Looks real interesting. I am looking forward to next year if I am so blessed to be selected to speak in Germany for the fifth straight year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-5420942574018573990?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/5420942574018573990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=5420942574018573990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5420942574018573990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5420942574018573990'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/12/german-devcon-day-3.html' title='German DevCon - Day 3'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-5854210855673366275</id><published>2008-12-07T18:26:00.001-05:00</published><updated>2008-12-07T18:31:13.537-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='German DevCon'/><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='VFPX'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>German DevCon - Day 2</title><content type='html'>I skipped all the morning sessions so I could work on my customer projects since I have seen all the English sessions already. I did not get a lot done Wednesday and Thursday and was feeling the heat to produce some code for the deliverables I promised. The code is not very glamorous as it is changes to a FoxPro for DOS app, but the implementation is extremely important for my customer and the code I am working on has some cool elements in scheduling service calls out for the repair people. My customer is changing the process of assigning the calls to the repair people for the first time since the 1990's so I have to make sure it works and assigns the calls correctly every time.&lt;br /&gt;&lt;br /&gt;The first session I attended was Doug's "Creating Explorer Interfaces in VFP", a session I have looked forward to since he submitted it as a session for SWFox. His screencast generated a lot of interest among the people who registered for SWFox and it received a lot of praise from people I talked to who went to it (both at SWFox and in Germany). During the session Doug went into something I am coining as "high-speed Canadian" as he started speaking quickly. You can tell when a speaker is really excited by the material they are presenting. Doug is a natural high energy speaker and he was ramping up during the early part of his session. He did slow down eventually. You see, while the Germans are terrific at English, it is not their first language so it is the responsibility of English speakers to conscientiously slow themselves down. The session did not disappoint. Doug has a really powerful treeview wrapper class with all the bells and whistles you could want. I also know he added the ability to disable the treeview after his session based on feedback he got during the session. He also showed how he uses VFPX components from the Themed Controls project as well.&lt;br /&gt;&lt;br /&gt;The second part of my "Using VFPX Components in Production Apps" session was next. I presented a couple of components and filled in the rest of the session by showing off the new changes to the New Property/Method and the Edit Property/Method Editor being worked on by Jim Nelson and Doug Hennig, and the recent FoxTabs project lead by Joel Leach.&lt;br /&gt;&lt;br /&gt;The last regular session of the day was Kevin McNeish's "Rich Internet Applications in Silverlight 2.0." There has been some buzz around Silverlight and I have a potential project that might be best done as a Web app so I wanted to get the scoop on Silverlight.&lt;br /&gt;&lt;br /&gt;Rainer asked me to talk about VFPX in the second bonus session during his segment on the future of Visual FoxPro. He wanted me to briefly discuss the importance of VFPX, why it is so important to the future of VFP. I took the opportunity to ask people to get involved one more time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-5854210855673366275?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/5854210855673366275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=5854210855673366275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5854210855673366275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5854210855673366275'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/12/german-devcon-day-2.html' title='German DevCon - Day 2'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-5076741189607495489</id><published>2008-12-07T18:14:00.003-05:00</published><updated>2008-12-07T18:24:10.320-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='German DevCon'/><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='VFPX'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>German DevCon - Day 1</title><content type='html'>Rainer Becker (organizer) starts out the first day at 9:30am with a brief Welcome session. It is in German, but I still catch part of it based on the technology words he uses.&lt;br /&gt;&lt;br /&gt;First up was Tamar's "Making the Most of the Toolbox" session. I vaguely recall seeing Tamar do a session like this many years ago, and Toni &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Feltman&lt;/span&gt; did a session on this tool several years ago at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DAFUG&lt;/span&gt;. I even present a couple of uses of the Toolbox during my "Get Productive with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;VFP&lt;/span&gt;" sessions. That said, I rarely use the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ToolBox&lt;/span&gt;. I drag and drop classes from the Project Manager. But Tamar reminded me that the Toolbox is way more than the Form Controls toolbar on steroids. There were lots of interesting things presented, but the one I really liked is how you can set properties on an item in the toolbox. The property settings you make are applied to the control when it is dropped on the designer. For instance, you have a command button in a class library to close forms. I drop this on to the designer and right away I am compelled to name the control &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;cmdClose&lt;/span&gt; via the Property Sheet. You can set this up in the Toolbox so it is done for you. This works almost like a builder or property editor, but handled behind the scenes and is custom to the class you are working with.&lt;br /&gt;&lt;br /&gt;Up next was the conference keynote and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;keynoteX&lt;/span&gt; (where Ken "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;KenX&lt;/span&gt;" Levy talked). Ken gave a little history of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;VFP&lt;/span&gt; and how Microsoft actually at one point killed the product after the 6.0 release, but it was not killed based on the community uproar and the efforts of the Fox Team. He also noted that developers need to try &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;VFP&lt;/span&gt; 9 SP2 to make the appropriate business decision for themselves instead of making the decision based on what they hear SP2 is like. There are over 100 bugs fixed and a couple of serious regression bugs that might not affect your application. Ken also mentioned some interesting statistics from community surveys. The one I remember is half of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;VFP&lt;/span&gt; developers are using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;SQL&lt;/span&gt; Server.&lt;br /&gt;&lt;br /&gt;As far as the future of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;VFP&lt;/span&gt;, Ken mentioned several things. He expects Microsoft to provide &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;hotfixes&lt;/span&gt; for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;VFP&lt;/span&gt; 9 if there are issues related to Windows 7 (note these are Ken's opinions, not Microsoft official statements - he no longer works for Microsoft). He said that the Fox Community must remain active to support each other. He had high praise for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;VFPX&lt;/span&gt; and the efforts of the people working on projects. He even referred to the developers as the "New Fox Team." He is watching and recommends the community watch the progress of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;VFP&lt;/span&gt; Studio, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Guineu&lt;/span&gt;, .NET Extender for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;VFP&lt;/span&gt; and the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;VFP&lt;/span&gt; Compiler for .NET.&lt;br /&gt;&lt;br /&gt;Ken finished up noting the four pillars of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;VFP&lt;/span&gt; Community:&lt;br /&gt;1) Product and Experience (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;VFP&lt;/span&gt;9, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Sedna&lt;/span&gt;, &amp;amp; third party products)&lt;br /&gt;2) Frequent Communication (online forums, online content, Web casts, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;screencasts&lt;/span&gt;, blogs and white papers)&lt;br /&gt;3) Deep Engagement (conference, events, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;influencers&lt;/span&gt;, open source)&lt;br /&gt;4) Product Enhancement (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;VFP&lt;/span&gt; tools online, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;VFP&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;XSource&lt;/span&gt;, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;VFPX&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;After lunch I gave the first part of my "Using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;VFPX&lt;/span&gt; Components in Production" session to a crowded room in the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;auditorium&lt;/span&gt;. As a speaker I prefer crowded rooms because I feed off the energy. Rainer said my two &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;VFPX&lt;/span&gt; sessions had the highest attendance of the conference. Sweet. I think the session went okay. I did have trouble finding a couple of examples, which is uncharacteristic of my sessions at a conference (I blame the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;jet lag&lt;/span&gt;). I did get some positive feedback afterwards and during meals. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;VFPX&lt;/span&gt; is really taking off in the community right now so it is not unexpected that there is some buzz going on at conferences too.&lt;br /&gt;&lt;br /&gt;Doug &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;Hennig&lt;/span&gt; followed my session with his "Advantage Database Server for Developers" session. I really looked forward to this session and was not disappointed. I am learning bits and pieces of ADS and Doug's session really helped me understand the positives and minor negatives with this product. One of the things that impressed me is the full text searching you can do on memo fields. If I recall correctly it took five minutes to do a search with the $ operator in native &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;VFP&lt;/span&gt; and less than a second using the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;ODBC&lt;/span&gt; drive and the full text index capability of ADS. Very cool stuff.&lt;br /&gt;&lt;br /&gt;Bo Durban's session on "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;VFP&lt;/span&gt; 9 and SP2 Reporting Component Basics" was one of the sessions I really wanted to see at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;SWFox&lt;/span&gt;, but knew I could see in Germany. It is always cool to have this in my back pocket when I am picking sessions I want to see. Being able to spread them across two conferences rocks. I arrived a little late as I was talking with Igor &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;Vit&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;Christof&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;Wollenhaupt&lt;/span&gt; between sessions. In this session I was hoping to pick up some tips on working with some of the new SP2 reporting enhancements because I have not had a lot of time to work with them based on my current projects. Getting a refresher on the Dynamic properties was worth the price of admission. Bo has a knowledge packed white paper for the session. It is definitely going to be one of those white papers I will need to read several times for everything to sink in.&lt;br /&gt;&lt;br /&gt;After dinner is the evening sessions. The first was more from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;KenX&lt;/span&gt;. Ken showed the NET4COM and My &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;Intellisense&lt;/span&gt; tools from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;Sedna&lt;/span&gt;. He also showed his &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;AppScanX&lt;/span&gt; tool he has been working on this year and plans to submit to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;VFPX&lt;/span&gt; as a new project. Ken mentioned &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;AppScanX&lt;/span&gt; to me several months ago and was planning on showing it at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;SWFox&lt;/span&gt;, but decided at the last minute he was not ready. I have been wondering how this new tool was different from Code References. It is actually a cool tool that takes a different approach to searching for text in all the source code in the project. You can search for text strings just like Code References, but you can also tell it to skip instances of the string based on different conditions. The tool is a little rough based on the fact the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;UI&lt;/span&gt; is done by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;BROWSEing&lt;/span&gt; a table, but it shows a lot of promise and should be something to look at in the future. I am looking forward to seeing Ken submit the project to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;VFPX&lt;/span&gt;. We kidded Ken at the speakers meeting that we are under strict orders to reject anything he submits. I am sure it will be accepted.&lt;br /&gt;&lt;br /&gt;That is all I could take for the day. It was busy for sure and I was feeling a little guilty because I was neglecting my customer work, but I make that up on Friday as you will read: I played &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;hookie&lt;/span&gt; in the morning to work on my customer projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-5076741189607495489?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/5076741189607495489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=5076741189607495489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5076741189607495489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/5076741189607495489'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/12/german-devcon-day-1.html' title='German DevCon - Day 1'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-186736070985222620</id><published>2008-12-07T18:07:00.003-05:00</published><updated>2008-12-07T18:12:22.402-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='German DevCon'/><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>German DevCon - Day 0</title><content type='html'>Sorry for the delayed posts, but life has been very busy since returning from Germany.&lt;br /&gt;&lt;br /&gt;Traveling to Germany is not high on the physical fun list when you go and come back in less than a week. I like the conference and the people, but my body does not do well on the trip. The flight to Frankfurt was empty when I booked the trip and nearly as empty when I checked-in online the day before leaving. Wouldn't you know, someone picked the seat next to me when there was an empty row behind me. So I moved my seat so I could have two seats. When I got on the plane the person across the aisle made a bed out of 5 seats. I watched a couple of movies (Wall*E being one of them) and tried to sleep, but instead worked a little on customer code and some on the Upsizing Wizard chapter for the Sedna book.&lt;br /&gt;&lt;br /&gt;We made it to Germany 30 minutes early. Normally I get there before Doug and I would go to his terminal. This time my flight was arriving after Doug and Tamar and so they came to my terminal. We got a taxi to the hotel. Rooms were not ready so we ate breakfast and talked about Southwest Fox feedback. Once the rooms were ready I took a nap and did a little bit of work before the speaker meeting Wednesday evening. Before the meeting I met Bo and his wife and listened to their stories about traveling in Germany before the conference. This is exactly what I did with Doug and Jeff the first year I came to the conference.&lt;br /&gt;&lt;br /&gt;All the VFP sessions I attended at the conference were excellent. Normally you will see me rate them with a certain number of stars. I learned something in every one of the sessions and rate them all 5 of 5 stars.&lt;br /&gt;&lt;br /&gt;I did a lot of live posts during sessions on Twitter using the #GerDevCon hashtag, but Hashtags.org is dead and Search.Twitter.com does not find them which bums me out as I was hoping to use them as notes for these posts. I did have lots of fun interacting with my friends on Twitter, especially when I offered twitter beer when Rainer brought in beer during the evening sessions.&lt;br /&gt;&lt;br /&gt;The conference hotel rooms have a new digital TV and digital service. I thought it was cool that I could filter channels by language. Mostly watched the BBC to keep up on news, and CNBC to hear about the financial crisis and watch the Tonight Show for some American humor. After the speaker meeting I went back to the room and slept as solid as I have in Germany.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-186736070985222620?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/186736070985222620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=186736070985222620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/186736070985222620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/186736070985222620'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/12/german-devcon-day-0.html' title='German DevCon - Day 0'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10906063.post-6961073788911716766</id><published>2008-11-03T10:26:00.001-05:00</published><updated>2008-11-03T10:31:06.099-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFP'/><category scheme='http://www.blogger.com/atom/ns#' term='VFPX'/><title type='text'>Joel Leach blogging</title><content type='html'>Joel Leach has entered into the blogosphere over the last few days over on Foxite. In case you don't know Joel, he is the new project manager of FoxTabs over on VFPX.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblogs.foxite.com/joel_leach/default.aspx"&gt;http://weblogs.foxite.com/joel_leach/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Welcome Joel!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10906063-6961073788911716766?l=rickschummer.com%2Fblog%2Findex.html'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/6961073788911716766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=10906063&amp;postID=6961073788911716766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/6961073788911716766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10906063/posts/default/6961073788911716766'/><link rel='alternate' type='text/html' href='http://rickschummer.com/blog/2008/11/joel-leach-blogging.html' title='Joel Leach blogging'/><author><name>Rick Schummer</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='12323912814696286486'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>