Thursday, May 31, 2007

Dealing with Troubled Connections to SQL Express

We had a problem with an install today for a SQL application and SQL Express. The database was created properly and we set up Express to accept remote connections, but for some reason, none of the client machines would connect to it.



The error we were getting was ConnectionOpen (gethostbyname()).



It was frustrating to say the least - we tried switching between TCP/IP and Named Pipes and a variety of things - all to no avail - until I came across this post:



SQL Server Express WebLog : How to: Configure Express to accept remote connections



Finding this post was particularly troublesome - after about 15 minutes of solid searching, we finally found it referenced over on the SQL Education Center.



At any rate, we switched over to accessing the server directly by IP address and it worked perfectly.



Since it was easier to test by using a DSN with ODBC, even though we really use a connect string, we were able to pull back the Connect string easily with SQLGETPROP.



ln = sqlconnect("TestDNS")

IF ln <1

    MESSAGEBOX("Did not connect")

ENDIF

lc = SQLGETPROP(ln,"ConnectString")

STRTOFILE(lc,"connect.ini")



Finding the solution however should have been easier in my mind. The MS KB had nothing that really helped except "blame the XP SP2 firewall".



So I post the link here in an effort to make the search easier.









Powered by ScribeFire.

Update on Dr. Dave!

Tod McKenna points to a Financial Times link about David Fulton. I guess there's another  hobby that makes for good investments.



Tod means Fox (b): David Fulton



Powered by ScribeFire.

Where do you see .Net today?

Robert has an interesting post on the delay of PDC (that Craig also wrote about) but I think he nailed the reason - nothing to show. I usually hate to pull direct quotes from a post but I need to put it into its right context.

Key thoughts: "After all, if Microsoft is unwilling to use
it (.Net) to develop Windows or Office, why should the rest of us base our
life on it?

... .NET
still takes too long to startup and load into memory and because
Windows is now being compared to OSX they can’t afford to ship
components that would slow down Windows.

... yes, .... the .NET runtimes
ship with Vista. But almost no Vista code was written in .NET (if any,
actually). Microsoft tries to keep this secret because they know it
gives a black eye to .NET. "



Let me be straight: I like the promise of .Net - I'm as excited by it as I am about the next version of Visual Studio! I love what Silverlight promises - I think WPF can be awesome - and I know that the next generation of applications will truly stand things on end.



The only issue? When does the next generation arrive?



And by arrive, I mean, hit the point where companies aren't hedging on to use DotNet 1.1 or DotNet 2.0 (er, 3.0), where developers aren't waiting for "the next generation" to design their next app or waiting for a service pack before they can release.



Yes - there are always going to be next-gen platforms coming around the bend - but lately it seems as though we're getting too many "previews" and not enough "releases". While many developers talk enthusiastically about Vista, I'm not hearing that from the users, which is too bad. They are waiting for SP1. I recall when we used to get a .0 product and waited for the .1 version which usually came out fairly quickly afterwards but now things are in Service Pack mode, which typically takes a larger development cycle - it's worth it, but it just takes longer.



I've started to see a few (previously Microsoft fan) developers start looking at alternative approaches for things that used to be a slam-dunk for Microsoft (source control, server databases, application platforms, designers). Their recent divorce from FoxPro isn't going to give them a lot of fans in that community either. And trying to move over to DotNet, when it seems to be constantly changing (even for the better, but just not there yet), may not be frustrating to early adopters, but it sure is for those in the field.



My recent post about how to reach out to developers brought an interesting response by Hank Fay (sp) who suggested many developers (in the field) don't care to be reached - they just want to get the job done. Development jobs that need to be done quickly but with a stable platform.



I know it's there - somewhere - but the "next new thing" for applications hasn't struck a chord yet that I've seen (maybe I'm reading the wrong things, but if I am, that means the message isn't reaching where it should) .



Instead of showcasing the "previews", maybe some time should be spent showcasing the successes of these current tools. Now, that would make for an interesting PDC.



Microsoft postpones PDC « Scobleizer



Powered by ScribeFire.

Friday, May 25, 2007

Even MSDN Library doesn't know VFP isn't in .Net!



Get a load of the picture here. It's clearly VFP 9 help - there's nothing that would say anything else except for that little blurb on the side:

This page is specific to
Microsoft Visual Studio 2005/.NET Framework 2.0

Other versions are also available for the following:

# Microsoft Visual Studio Codename Orcas


The direct link is here. However, if you go down further on the page, you'll see that Microsoft is trying to encourage community redesign of the MSDN library. You can add community content about any particular element of the VFP help file.

Definitely helpful - makes me wish that the Task Pane or VFP itself had an option to push developers directly to the MSDN online help, instead of the regular CHM file.

That did make my Friday though.

FoxPro and Community in the "real world"

First off, the sky is not falling.



Yes, Craig has identified that the Sydney VFP User group is closing down and Rick Schummer spent a day of .Net.



But that doesn't mean a massive exodus from FoxPro - it simply shows the real world. I've been trying to resist linking to John Koziol's Jiffy Tech post

as so many others already have, but he makes a great point that the development world has changed (John's recent posts on the World of Tomorrow are interesting to read as well)



I installed Wakoopa to gauge what tools I actually use. FoxPro is NOT the number one tool I use - Firefox is, but then I use Remote Desktop connection, or Word, or Mind Manager among other tools. Yes, FoxPro is higher than the others but the days when the only tool I used was FoxPro is gone. And it should be. There are other tools out there that help achieve results and they should be used where other tools fail.



I just finished a FoxShow interview with Kevin Cully about FoxForward. Here's a conference that is noticeably about FoxPro but also celebrates other technologies. Craig's new group, the Sydney Business & Technology UG, is noticeabley different as well. While geared towards senior developers, it's also explicitly high-level - ABOUT technologies as opposed to just coding (typically the difference between a Developer and a Programmer).



I agree with Craig when he says that FoxPro developers can get their information from a variety of places but that leads to another question: how important is the local user group?



Rick regularly does visits to the various user groups around his area. There are still groups around (I lurk around on the Madfox group board among others) but I would hazard a guess and say these are definitively small meetings (not more than 30 users - please correct me if I'm wrong).



When I ran the Ottawa FoxPro user group, we started in 1992, with a showcase meeting of about 500 people and that grew considerably smaller over time. Later we became a special interest group of the larger Ottawa PC Users Group and eventually dwindled down to about 10 per visit. Does that mean there are only 10 FoxPro developers or shops in Ottawa? Absolutely not - but it showed how difficult it was to get people out of their regular lives into a meeting about a single tool rather than a variety of tools.



Yet, the FoxPro community around the world remains huge. Craig has said he's still going to do OzFox. ( I hope he also does more OzFox Rocks!) Rainer Becker has actually laid claim to holding German conferences beyond 2012. The Foxite site continues to be huge. If you can't belong to a regional group, there's also the Virtual FoxPro User Group which always does a great job with their newsletters.



I still come back and always wish there were more "bloggers" at these local groups. Why? Because sometimes you get great sessions - speakers often use local UGs as a way for testing their sessions - but also even the dialog that goes back and forth is valuable. These meetings are going on - while it's nice to know when they happen - why not tell everyone WHAT happened?



Ted Roche who does more LAMP work these days, gives great examples on his blog - he doesn't just say when, his next post usually describes what was talked about. This is the type of content I would love to see - even streamed during conferences or even just recorded (hey, I will even host the site if you're concerned about space).



I know some conference organizers don't like the idea of sharing the sessions online - it "defeats" the purpose of attending is usually the argument - but why not post the audio from these sessions 6 months or a year after the conference ends? It would act as a great promotion for your next conference and would also allow those who don't have local user groups around a chance to connect to the community. Look at IT Conversations - did you think you would ever be able to hear some of these people? Now you can and it's great. (besides, I recall Ted telling me (when I started to actively campaign for more online conferences - and I agree) that the real value of conferences is the networking)





I asked a question in an earlier post - how do you reach FoxPro developers (or any kind of developer for that matter)?



One answer: every way you can.





Powered by ScribeFire.

Wednesday, May 23, 2007

Burned by CodePages

I've worked with out-sourced developers from other countries and recently had a situation that had me completely dumbfounded until I found it.

In our user table, we stored encrypted passwords. When I ran the system using a standard startup process, it recognized the passed password without a problem.

Then I ran it with an automated scheduling tool and it came back with an invalid user.

So then I ran the automated scheduling tool directly from within FoxPro and it worked.

I put code coverage on it, I put in message boxes and tracking (since you can't really bring up the debugger from within a runtime app) all to no avail. The passwords used in the development or standard approach simply didn't match the ones from the automated scheduling tool.

What could the problem be?
I knew it had to be the codepage.

I tried checking the various code pages on the open files. They all appeared to be the same but then I saw the problem. The automated scheduling tool was including its own CONFIG.FPW in the project.

For those who aren't familiar with this technique, if you include the CONFIG.FPW in the VFP project file, you can provide your own settings for startup, such as SCREEN=OFF and other settings.

The code had been written by a development group from the Ukraine and when I reviewed the CONFIG.FPW, it was marked with CODEPAGE=1251 and CPCOMPILE=1251.

As a result, any of the tables opened afterwards would translate the fields incorrectly. So the character that was stored as Chr(65) was actually being read by the automated tool as Chr(192).

Simple to resolve, but frustrating to track down - I KNEW what the problem was but I forgot they had included the CONFIG.FPW in the file.

In addition, it's a good idea to verify configuration files (like the CONFIG.FPW) when dealing with remote developers, especially from countries who will use different codepages. I've been in the position before when dealing with remote developers but most of them are North American. As developers start to share work with other developers around the world, be aware of the codepage issues.

Tuesday, May 22, 2007

What features don't you need in your application?

10 days ago, Scoble asked What will Steve Jobs kill next?



Perhaps more importantly, he asked "How about you, which feature are you getting rid of to make your product/service/store/business simpler?"



I think application developers have a real tendency to thrown in "everything but the kitchen sink". It's not because we want to - but more because after years of experience, we want to be ready "just in case" someone asks for a feature.



Yet the end result is overloaded apps with not just too much functionality, but also a need for complicated user manuals and training.



But after users have used the application for years, it's really hard to take away a function or feature because there may still be a group of users who want to use it.



I've been going through this recently and have found myself turning off or hiding features in one of my applications. But I still can't take myself to take away the feature - instead, I've just hidden it (using GENMENUX to ensure it doesn't even appear on the menu). I've added a flag in my application to show the hidden functionality (in case, there's an uproar) - but my goal is to encourage users to use other features that offers similar functionality. (I even have a dialog when they try to use an older function that says "why not use this one instead?")



(why would you have two features that offer similar functionality? Blame it on application bloat - consider FoxPro's LTRIM and TRIM functions.)



I tried doing this with a Search screen recently and the results were interesting. I was inspired by Yag's post on new ways of developing. So I built a screen with a single box and a dropdown and told the customers that they could search for anything they wanted, simply by putting it in the search box.



Their response? "I want to see separate boxes for all of my search options."



Argh! It's tough to be a developer offering new features in an older application when you've got users who are used to older approaches.



Maybe I should just create a new application entirely - but then you have to retrain everyone.



What do you do when you want to introduce new approaches in your applications?  (or maybe more importantly, how do you fix bad habits?)





Powered by ScribeFire.

Monday, May 21, 2007

Craig Called It - but where is the real reason for 64-bit?

Craig called it quite a while ago



DevBlog: No more 32 bit OS from Microsoft



But the main post referenced notes that this is where Microsoft is headed but I found the previous post a bit more interesting.



Is Vista One Step ahead? talks about how important Microsoft feels it is to push the hardware and software edge so the future can do so much more but with Vista, it may be a case of too much, too soon. They want to harness all this great new hardware but as Joe Wilcox notes:



It's easy to knock Vista because the experience isn't that much
better than Windows XP. But the foundation for the Wow is there. The
applications are not, and even there Microsoft shares blame with its
partners. Windows Live Messenger should be a showcase for Windows
Presentation Foundation and other .NET Framework capabilities. Yahoo
showed off a real Vista instant messenger in January. It's now May. Where the hell is it?




The question I have is one that developers face regularly. What is the "wow" really going to be? So far, in my opinion, it's not in Vista - it's more in the way people are changing the way they use computers. I look at Craig (Bailey) revamping his desktop approach with the "virtual lifestyle"; I look at the companies (including Microsoft) that are providing mashup-development projects or the explosion in plug-ins. There are lots of examples of real "wow" experiences that don't involve the headaches of huge hardware upgrades, or



Does Vista change the way you use your computer? It does make some things easier - but does it change your lifestyle? Likewise with the switch to 64-bit. It sounds awesome that we have all that computing power - but is it delivering the better applications that change the world or at least your world?



Now, THAT would be a wow!





Powered by ScribeFire.

Wednesday, May 16, 2007

Managing Project Specifications with MindManager

I noted earlier how much I appreciated Eric Sink's Requirements post - I also agreed with his issue about hard it is to get a good spec. It should start off as a document but then eventually turn into a To-Do list.



One of the tools I use frequently is MindManager from MindJet. It's a great brainstorming tool but I decided to try and use it for writing a small project spec recently.



As a spec tool, it actually meets the various critiera that Eric sets out. You build your entire spec with key issues and elements (I've attached a PDF of the Map here:

<img src="http://www.aksel.com/KeyChanger.jpg">



So, you can easily export the document into Word so it can be a real document to give to customers or managers. But then when you are ready to manage it, you can export it to Outlook Tasks (for smaller items), Microsoft Project (for full project files) or any other tool.



I've exported it to a set of web pages here



In my project, I actually take it from MindManager and put it into a Basecamp WriteBoard and then create individual tasks in BaseCamp for the various steps. But the key tool here is MindManager - which lets me add items quickly and easily as well as link them together.



What tools do YOU use for writing and updating project specs?





Powered by ScribeFire.

Tuesday, May 15, 2007

Does your app have requirements?



Sometimes I think I should simply have an automated link to Eric's blog because in most cases, whenever he writes something as he just did with Requirements, it ends up being something that everyone, including those in Project Management and software development, should read.



I especially like "The only way we ever know that a
feature absolutely must be in the product is when one of our Sales Guys calls
up and tells us that he already promised it."



Especially valuable is his explanation of what a spec should be, could be and usually really is.











Powered by ScribeFire.

Monday, May 14, 2007

Google Accelerator hogging memory?

I just looked at my notebook which was up during the weekend. While the one page loaded was Newsgator (and not much else), Windows was reporting low virtual memory. I took a look at the task manager. Egad!!



I wonder what it was accelerating that required it to take over a third of my computer's memory.

Since Firefox is also known to be a bit of a memory hog when it's been running for prolonged periods of time, it's always a good idea to shut down Firefox (and maybe even Google Accelerator) when not in use. Anyone else seen this?

Thursday, May 10, 2007

The Waiting Game - again...

It's funny how product development works. You work on a tool for so long that you almost forget when it came out. Visual FoxPro 9 was released in 2004 - a good 3 years ago. I recall back in the Advisor Devcon in 2001 when MS totally blew their opportunity to introduce DotNet into the FoxPro community. It was too bad.



But even now, when I was doing the FoxShow  with Rick and Markus and others about which version of Visual Studio to get into, the issue about which version continually came up. You could learn the ADO.Net from earlier versions, or you could wait for Orcas (still waiting but it's a lot closer). You could use Winforms or switch over to WPF (just about there) and now, from Info week, we get



How Long Will You Wait For Silverlight? - Microsoft Blog - InformationWeek



suggesting that it won't be available until the spring of 2008.



It's a tough call for developers - do you develop in the current tool of the day (which today would be VS 2005, even though I do know of a few shops that still won't deploy a DotNet 2.0 framework just yet) - or do you jump ahead into the future, KNOWING that while you might be able to deploy with a beta version, it's a tough call to make - knowing you might get a lot of paper cuts from earlier software.



But in some ways it works - many FoxPro developers made the jump to DotNet early on and are now reaping the benefits of it. But it still is a tough decision to make - especially when you've got Products to build and work with.



The seeds for Foxfire! 8.0 was first started back in late 2002 when a challenge was made as to whether "could we do this...." - it just got released this week but it doesn't stop there - there's more to do - more features to add to a new version.



And yet sometimes developers lose focus of what customers really want - "something that works"



Will they wait?





Powered by ScribeFire.

How would you reach Fox developers?

Eric Sink writes a great post about marketing to developers: How would you reach YOU?



I read this and immediately thought of Kevin's Keynote post - how surprised he was with the people who were hearing the announcement for the first time.



Obviously the FoxPro community has a lot of different avenues: devcons, user groups, forums, podcasts, magazines and perhaps more importantly, right within the product itself, the task pane.



So why are developers not hearing about the news? What can we do to make it clearer?





Powered by ScribeFire.

Monday, May 07, 2007

Microsoft goes cross-platform with .Net - why not FoxPro?

Since Microsoft is going cross-platform with Silverlight and DotNet, it seems that instead of only encouraging Microsoft to reconsider VFP development, some energy might be better spent encouraging them to open up the VFP Eula to allow running on other platforms (such as done via the WINE project).



Some reasons to consider this:



1. It would not require Microsoft to deploy additional development resources into FoxPro - instead, it would require some legal resources to make a fairer licensing agreement.



2. Developers who have been looking for ways of deploying their local data applications on Linux have had to ignore the Microsoft name. If VFP applications were able to run on Linux, it could offer more credence to other Microsoft's initiatives on those platforms.



3. You can do it already - save for the EULA. Whil Hentzen has shown this years ago. At that time, Microsoft then re-did their EULA preventing you from running VFP apps on anything other than a Windows desktop. But if Microsoft wants to go to great lengths in showing how "open" they are to other platforms, what better way than to free-up the current licenses that prevent this openness from showing forth.



Note: the issue in the EULA is under Distribution Restrictions which says "you may not....



distribute any distributable code that runs on any platform other than the Windows platform"



(as noted here)



I know there are many reasons why Microsoft will not do this - BUT, I bring it up simply as an alternative to attempting to persuade Microsoft to re-develop FoxPro - to allow a rich development tool be available everywhere it can be. Just a thought.



Microsoft Silverlight: Light Up the Web



Powered by ScribeFire.

Sunday, May 06, 2007

Covering DevCon....

I've been using Delicous for years but never really found a way I was happy to share the links with others. But for right now, I'm going to share this via this page, linked via the term foxprodevcon.



Only one post so far, from Rick on arriving but hopefully much more to come.



akselsoft's bookmarks tagged with "foxprodevcon" on del.icio.us



Powered by ScribeFire.

Thursday, May 03, 2007

Silverlight Shows off XAML on a Mac





Craig points to a great demo of one of the Silverlight promises: dynamic language runtime. While it would have been nice to have seen VFP being one of the languages (I wonder if the http://www.etecnologia.net guys have looked at cracking this), it does offer a window on the power of XAML.



But Craig, this really isn't a great "Command Window" - but then on the web, what is?





Powered by ScribeFire.

Great FoxPro Posts for May 3/2007

There are a LOT of FoxPro blogs out there today - many more than when I first started blogging back in 2003. Even more so, however, are there some great posts on ways to do things. While I try to link to each and every one, I don't always get the chance



Here are some links to the ones I have found valuable and interesting recently here in case you missed them:



Doug Hennig on Working with Tasks in Vista: How To and then Elevating

Calvin Hsia on Fixing the BorderStyle Paint problem with Vista Area





(all these posts aren't about Vista - I'm not even running Vista, neither is Kevin as noted here- in fact, Trish is running Vista and she continually talks about wanting to move back to XP - it may be more secure but the constant asking "do you want to run" almost reminds me of Clippy saying "It looks like you're writing a letter, can I help?")



Vassilag - Vector Drawings with GDI+

Tod McKenna - the Mysterious Replace command and his improved Median function (among others)

Randy Jean - exploring VFP on Rails (er, FoxTrails)



What FoxPro coding posts or sites have you found particularly useful recently?





Powered by ScribeFire.

Kevin: Go To a Conference

At the risk of "do as I say, not as I do" (as friends will note, I have been unable to attend a lot of conferences of late), Kevin makes a great point about attending conferences:



"With all the hoopla over FoxPro, no VFP 10, the petition, the signers, the non-signers, the reasons, the Roadmap and the need for "answers", there's one thing you can do to show Microsoft that VISUAL FOXPRO MATTERS: Go to a conference this year. Pick one, two, or even more. But most importantly, GO!!!"



And with the start of the Advisor Devcon (PLEASE- someone be blogging this) and the rest of the conference season, I second that statement. As well, if you're a conference or user group organizer or speaker and want to talk about your sessions on the FoxShow, please get in touch with me. While I may not be able to attend, I definitely want to promote these as great ways of reaching out to the rest of the community.



Rick Schummer does a great job of this with his regular Fox User group tour.



Prague - 19th - 21st June 2007 (noted by Eric as well)

FoxForward - Sept 7th-9th, 2007 (Alpharetta, Georgia)


Southwest Fox - October 18-21, 2007 (Arizona)


German Developer Conference  - November 8-10, 2007



This isn't to forget about all the great user group meetings that are up there as well! Check out the Wiki for all the details.



Hmmm....Canada seems to be missing from this list. That is something that has to be fixed!



Kevin Ragsdale : Holy Cow! Have You Seen the Southwest Fox Lineup?



Powered by ScribeFire.