Friday, September 04, 2020

Virtual Fox Fest 2020: GeekWear and Speaker Changes

We're pleased to announce GeekWear by Geek Gatherings. Order your Virtual Fox Fest gear from the options shown or create your own unique VFFwear.

Unfortunately, because of family matters, Cathy Pountney had to withdraw from presenting this year. Fortunately, John Ryan offered to present "Visual FoxPro Advanced and VFP C++ Compiler: a New Lease of Life for VFP".

Wednesday, July 15, 2020

Virtual Fox Fest 2020: Speakers, Sessions, and Registration

Speakers and sessions for Virtual Fox Fest 2020 have been announced, and registration is open. Virtual Fox Fest is October 15, 21, and 27, 2020.

Friday, May 29, 2020

Virtual Fox Fest 2020 Speaker Deadline

Just a reminder that the deadline to submit session proposals for Virtual Fox Fest is next Monday, June 1st. You'll find details on our Call for Speakers page. We look forward to your ideas and session proposals.

Virtual Fox Fest is October 15, 21, and 27, 2020!

Wednesday, May 13, 2020

Virtual Fox Fest 2020: All new virtual Fox conference in October

We're disappointed to announce that due to COVID-19, the annual Southwest Fox Conference is on hiatus in 2020. However, we’re excited to offer you Virtual Fox Fest, an online conference presenting the latest in Microsoft Visual FoxPro development techniques and interoperability with other technologies. This conference provides a venue for VFP experts to come together virtually to learn more about how our fellow programmers are using and extending VFP. For details about Virtual Fox Fest, please see

We've issued the Call for Speakers for Virtual Fox Fest. If you are interested in presenting, please read the document referenced in that page and consider submitting sessions. If you previously submitted sessions for Southwest Fox 2020, you don’t need to resubmit for Virtual Fox Fest (but feel free to delete or revise your prior submissions or submit new sessions).

Friday, March 27, 2020

Southwest Fox 2020 Call for Speakers Deadline Extended

We understand you're probably not thinking much beyond the next few weeks or months, but we're still planning Southwest Fox 2020 on the assumption that the current crisis will be over by November. In light of that, we're extending the speaker submission deadline to Monday, April 13. If you have something to share with our developer community, read the Call for Speakers document ( and then use the Submission site ( to send us your session proposals. We look forward to your ideas.

Friday, February 28, 2020

Southwest Fox 2020 Call for Speakers

We've issued the Call for Speakers for Southwest Fox 2020. If you're interested in presenting, please read the document referenced in that page and consider submitting sessions via the Geek Gatherings Submission Web site.

Wednesday, January 15, 2020

Hacker’s Guide to Visual FoxPro is now Open Source

I am pleased to announce on behalf of the authors of “Hacker’s Guide to Visual FoxPro” (Tamar Granor, Ted Roche, Della Martin, and me, with contributions from Steven Black) that the book is now open source:

Most people consider HackFox to be the “bible” for VFP developers because it goes far beyond the VFP help and tells you how VFP really works. It advises which commands and functions to use, which to avoid, and the best way to accomplish certain tasks.

HackFox has gotten a little long in the tooth since it wasn’t updated after VFP 7. Hopefully making it open source will allow it to flourish as people in our community update existing topics and add new topics for VFP 8 and 9. Also, the online content currently closely matches that of the book but that may change over time so it can become a better online resource.

Monday, January 13, 2020

Stonefield Database Toolkit is now Open Source

Inspired by Steve Black open sourcing INTL, I’ve decided to open source Stonefield Database Toolkit (SDT).

SDT was originally created in 1995 and Stonefield Software sold a ton of copies of it over the years, making it one of the most popular add-ons for Visual FoxPro ever. However, nearly 25 years later, my baby has grown up and it’s time to open it up and share it freely with the VFP community that has supported us all this time.

You can find the open source version of SDT at It includes all source code, documentation (as a CHM file, including West Wind HTML Help Builder source; I didn’t convert it to Markdown), and tutorial files. Enjoy!

Thursday, December 19, 2019

Project Explorer: Automatically Digitally Signing an EXE After Building

When a customer reports a bug, we usually fix it immediately and send them a “hot fix”, which is usually just an updated EXE. Because it doesn’t go through our usual build process, the EXE isn’t digitally signed, which can cause issues on some machines. I created a batch file to sign the EXE but most of the time forget to run it before sending the EXE to the customer. Then it occurred to me I could automate that process using Project Explorer.

I created the following program and added it to the Addins subdirectory of the folder where Project Explorer exists:

lparameters toParameter1, ;
    tuParameter2, ;
local laStack[1], ;
    lnRows, ;
    lnI, ;
    lcApp, ;
     lcDescription, ;
    lcCommand, ;
    lcFolder, ;

* If this is a registration call, tell the addin manager which method we're
* an addin for.

if pcount() = 1
    toParameter1.Method = 'AfterBuildProject'
    toParameter1.Active = .T.
    toParameter1.Name   = 'Sign EXE after building'

* This is an addin call, so if we built an EXE, sign it.

if tuParameter2 = 3
    lnRows = astackinfo(laStack)
    for lnI = 1 to lnRows
        if 'projectexplorerui.vct' $ laStack[lnI, 2]
            lcApp = fullpath('..\', laStack[lnI, 2])
        endif 'projectexplorerui.vct' $ laStack[lnI, 2]
    next lnI
    lcDescription = inputbox('Description', 'Description for EXE')
    text to lcCommand textmerge noshow pretext 1 + 2
    "SignToolPath\signtool.exe" sign /fd SHA256 /tr /td SHA256 /f CertificatePath /d "<<lcDescription>>" /p Password "<<tuParameter3>>"
    lcFolder = justpath(tuParameter3)
    loAppRun = newobject('APIAppRun', 'APIAppRun.PRG', lcApp, lcCommand, ;
        lcFolder, 'HID')
endif tuParameter2 = 3
return .T.

Substitute SignToolPath with the path to SignTool.exe, CertificatePath with the path and name of the certificate file, and Password with the password.

This program is a Project Explorer addin that’s called after a project is built successfully. This code checks whether it was an EXE (we’re not going to sign an APP) and if so, finds the location of Project Explorer so it can use the built-in APIAppRun class to call SignTool.exe to digitally sign the EXE.

Now, whenever I build an EXE in Project Explorer, it’s automatically signed so I don’t have to remember to do it.

Monday, November 04, 2019

Southwest Fox 2019

If you missed Southwest Fox 2019, you missed a seriously great time. Check out the hundreds of photos (Facebook and Google Photos) our Social Media Manager Jody Meyer took and watch the Keynote presentation by Kevin Ragsdale on YouTube: Part 1, Part 2, and Part 3.

Congratulations to the 2019 VFPX Administrators Award winner Christof Wollenhaupt for his FoxMock project. Congratulations to the 2018 Speaker Award winner Tuvia Vinitsky.

We announced dates for next year's conference already, and it’s a little later than our usual October dates: November 12 - 15, 2020. I hope to see you in Phoenix next year!