Jul
25

CodeStock 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.

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.

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.

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.

Open Spaces Keynote
Alan Stevens
(not rated)

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.

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.

The problem I have with the open spaces approach in this format is the slots are filled randomly and 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.

Back to the Basics: What is .NET?
Keith Elder
*****

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.

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}

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).

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.

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).

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.

Useful jQuery tips, tricks, and plugins
Elijah Manor
***

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.

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.

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.

Lunch
Open Spaces
(not rated)

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.

More on day one to come…

May
16

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.

Email: Please see the attached file for your review and comments.

Response: Uh Rick, nothing attached.

Me: Doh!

So today one of my colleagues was kind enough to point me toward Remind Me Attachments. 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.

It was a slight pain in the neck to get installed and working, but the short FAQ 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:

  1. Attached
  2. Attachment

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.

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!

May
01

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.

  1. Sleep in a little more in the morning – 8:30 start times instead of 8:00.
  2. “Green option” for registration to skip the conference binder, but still get materials in PDF before the conference.
  3. New registration application to electronically send in the registration.
  4. Super-saver, early-bird, and regular registration levels and times.
  5. 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.

There still may be a few surprises to come too.

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.

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.

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 announcement 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.

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.

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.

Some of the great things you already expect from Southwest Fox:

  1. Terrific selection of sessions from great presenters.
  2. 28 regular conference topics, 4 simultaneous sessions, 4 pre-conference sessions, and a keynote will pack your days with learning opportunities and inspiration.
  3. 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.
  4. Lunch Thursday if you register for two pre-conference sessions
  5. Lunch Friday and Saturday for all attendees
  6. Dinner Friday night

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.

All the details are posted on the Southwest Fox Web site. Watch for more news on our conference blog and follow us on Twitter too.

Apr
08

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.

Microsoft has fixed this. Well, sort of fixed this. {g}

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:

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&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.

[Editorial note: interesting plug for VFPX - yeah!]

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.

To get to Product Support Services you go here: http://msdn.microsoft.com/en-us/vfoxpro/bb190294.aspx

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:

http://support.microsoft.com/oas/default.aspx?Gprid=7992

You will see three options:

  1. Email Support (24 hour response time, two free incidents, US$99 for support)
  2. Online Request to be called (US$259 per incident, response time based on severity)
  3. Request by phone (US$259 per incident during business hours, US$515 after hours)

Other options for contracts are available.

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:

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.

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.

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.

Apr
07

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.

Same place, same bat channel…

http://code.msdn.microsoft.com/KB968409

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.

Apr
03

Earlier today in the comments section on my post about the release of the new VFP 9 SP2 hotfix, Sergey Berezniker 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.

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.

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.

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.

Apr
02

10, 9, 8, 7, 6 (main engine start), 5, 4, 3, 2, 1…. Liftoff!

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!

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: Gotcha: Serious report bug with Data Groups introduced in VFP 9 SP2.

You can read about the fix in the Microsoft KnowledgeBase article #968409, titled “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

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.

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.

The hotfix can be downloaded on the download page of Code Gallery for the KB article.

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:

  1. FIX: The toolbar on an SDI form is disabled in Visual FoxPro 9.0 Service Pack 2 (build 6303, 12-Apr-2008, KB 948528)
  2. 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 (build 6602, 03-Jun-2008, KB 952548)

Update: 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})

http://code.msdn.microsoft.com/kb948528
http://code.msdn.microsoft.com/KB952548

Just in case you have not heard, in addition to the core EXE and runtime hotfixes we have a new VFP 9 SP2 Help file available on VFPX.

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.

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!

Update: Read more about this release on Cathy Pountney’s blog!

Mar
16

Today is the day the session proposals from potential speakers are due. If you sent topics in for consideration and did not 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.