July’s MadFox meeting was like good jazz: we played around with a main theme throughout the night while continually improvising side solos on whatever caught our fancy at the time.
We slowly built up to the main theme by reintroducing a theme from a previous meeting, Freshbooks. We discussed some of the features of Freshbooks that I use the most in my business, and some of the features that it currently lacks [sometimes it’s the notes you don’t play]. We started looking for instruments that would get at those empty places, first discussing the Freshbooks API, and the SOAPish interface to get at the data. Because of the way the request needs to be made and authenticated in a single step and the bountiful documentation that used it, we looked at Curl, rather than wwIPStuff. We started a proof of concept by successfully using the command-line CURL interface to retrieve my client list from Freshbooks, and then looked at ways to get that functionality from within Visual FoxPro. Turns out there’s a LibCurl.dll that is callable from a class library written by Carlos Alloatti that does the trick for us, with the help of the VFP2C32 library!
One of the side themes we played with along the way were the pros and cons of using GUIDs as primary keys for tables (great for offline data that’s brought back online, but a little slower and you don’t get subsequent records in order the way you do with autoincrementing integers), and the algorithm used to create them (formerly a hash of your MAC and the datetime, now a pseudo-random thingy). There are some amusing posts about the possibilities of duplicate GUIDs existing. The VFP2C32 library mentioned above has a CreateGUID() function that is easily called from VFP.
Another theme was XML and the different ways VFP can interact with an XML string, including brute force such as STRTRAN(), FOPEN()/FWRITE(), and of course the old standby of using the MSXML DOM object.
We riffed on Great Plains Accounting for a while and its API, and compared with with Sage Pro f/ka/a AccPac v/k/a SBT. Then we discussed getting started with programming using XNA Studio or the Visual Studio Express versions. And for an encore I soloed on my current flirtation with Silverlight.
We wrapped it up by having gyros on the rooftop of the Parthenon. It was a beautiful night, and another great MadFox meeting.
Update: November 2017
The folks at Cloudwards have asked me to post a link to their full review of FreshBooks. I’m still using FreshBooks, but some UI changes they’ve made, along with pricing hikes and my limited invoicing, have me looking at alternatives. Right now, InvoiceNinja looks promising.
Also, MadFox is still going strong, and they’re still amazing. 3rd Tuesday of every month here in Madison. We have between 4 and 8 people which is a great number. We talk about everything, not just Visual FoxPro.