An online conference presenting the latest in Microsoft Visual FoxPro development techniques
October 29 and 30, 2025
"Level" shows the expected level for attendees for a session. Click a speaker's name to see their bio.
Presenter: Kevin Ragsdale
Level: All levels
SQL Server 2016 introduced native JSON support, and it's been silently stalking inefficient workflows ever since. In this fast-paced and code-filled session, we'll unmask the power of SQL Server's JSON capabilities. No hockey mask required! Learn how to store, query, and manipulate JSON data directly in T-SQL. We'll cover FOR JSON, OPENJSON, JSON_VALUE, and JSON_QUERY, and show how to integrate SQL Server with modern REST APIs without the need for external parsers or middleware to serialize and deserialize.
Whether you're returning clean JSON to your frontend or slicing and dicing incoming payloads with precision, this session will give you the tools to slash development time and streamline your data pipeline. You'll leave with practical patterns, performance tips, and maybe even a few chills. If you've haven't used SQL Server JSON functionality, you'll never look at SQL Server the same way again.
You will learn:
Prerequisites: None
Presenter: Doug Hennig
Level: All levels
Many applications generate or reference documents: purchase orders, invoices, lab results, and so on. Storing a small number of documents on a local file system is fine but when there are thousands of documents consuming many GB of space, tasks like backup and restore become time-consuming.
Often associated with that is the need to automate emailing: sending purchase orders to suppliers, order confirmations to customers, and so on. While Microsoft Outlook provides a message store that can be searched by VFP applications, performance and flexibility are issues.
This session looks at both of these topics: using Amazon S3 to store documents in the cloud and managing emails from VFP applications.
You will learn:
Prerequisites: General knowledge of VFP
Presenter: Christof Wollenhaupt
Level: Intermediate
Randall Munroe, the creator of the popular xkcd webcomic, said about Git: “If you get errors, save your work elsewhere, delete the project and download a fresh copy”. This captures the feeling of many developers around the world once they run into a problem with Git. Obviously, he made it part of a comic that is many times funnier than my partial quote.
With the help of many sessions at SWFox and VFF and tools on VFPX you are happily using Git… most of the time. Sometimes things stop working and won't tell you why. Sometimes you wonder if stashing, rebasing and cherry picking is something you need to know or can safely ignore. How to deal with a detached head and what's that anyway? What happens if you delete a branch or a tag?
This session talks about how history works in Git, why and how to rewrite it, how to deal with complex branching scenarios, solve conflicts and avoid them in the first place. We look into the engine room to understand the structure of a Git repository and the secret commands you only discover when you are already in trouble. We also look into typical problems with syncing your repository to one or multiple remote. (As a bonus, we will discuss why a Git repository isn't a backup.)
You will learn:
Prerequisites: How to use Git and VFP together for basic tasks
Presenter: Tore Bleken
Level: Beginner, Intermediate
This session introduces Sidekick, which adds a lot of new features to Thor. All these features are available by defining one common hot key in Thor.
In a way, Sidekick can be described as a command line utility where you use a dedicated hot key instead of Enter, in addition to being an advanced project and subproject organizer.
Its most important functions allow you to:
The session will also describe in detail Sidekick's organizer, and how to take advantage of all its features.
You will learn:
Prerequisites: Some knowledge of using Thor will be a benefit, since Sidekick requires that Thor is installed.
Presenter: Fabrice Foray
Level: All levels
REST is one of the underlying architectural ways to exchange data on the web. On the web, clients and servers can interact in complex ways without the client knowing anything about the server and the resources it hosts.
Nowadays, it is common to exchange data and the great thing is REST makes use of the standard HTTP methods to expose your DataModel, so it is available everywhere.
First, we will explain some basics of RESTful APIs, and what we have to provide in order to create our own server. Then, we will use XSharp to create that server and use some test-tools like Postman or those available in MS Visual Studio.
As XSharp has access to DBF data, let's create a model based on the record structure and make it available through REST. Now that our legacy data are open to the web, let's access it with new technologies!
You will learn:
Prerequisites: Some knowledge in MS Visual Studio and XSharp, or any xBase languages, will ease understanding but are not mandatory.
Presenter: Tamar E Granor
Level: Intermediate
FoxPro has offered buffering since Visual FoxPro 3 was introduced in1995. Transactions were added in VFP 5. I'm still learning more about using these tools effectively, even after all these years. In this session, we'll cover the basics, and then look at some things I've learned along the way. Some of these discoveries have been real surprises, while others made sense once I stepped back and thought about them. At least one feels like a bug in Visual FoxPro.
You will learn:
Prerequisites: None
Presenter: Jody L. Meyer
Level: All levels
Let's talk SQL Server. Working with SQL Server is fun and challenging. Working with co-workers is even more fun because we can share what we are learning along the way. This session is a mash-up of time spent in SQL Server: things I have learned about the SSMS user interface, investigating the meta-data, cool SQL Server functions, as well as functions I have developed to help do a developer's job better.
Do you have anything that you would like to be discussed? Contact Jody and perhaps we can cover that too.
You will learn:
Prerequisites: SQL Server experience
Presenter: Rick Borup
Level: All levels
Git is the de facto standard for distributed version control in modern software development. It's powerful but also complex, and even after you've used it for a while there is always something new to learn. In this session we'll review the basic workflow using branches with a local and a remote repository, explore some of Git's lesser-known features and functions, and dig into some of the situations you can get encounter that leave you scratching your head and wondering what do to next. Throughout the session we'll touch on a couple of helpful tools including the VFPX Project Explorer and a close look at Sourcetree, a free and easy-to-use Git GUI that makes working with Git less stressful and more intuitive. If you've ever wondered "how to I do that in Git?", this is the session for you.
You will learn:
Prerequisites: A working knowledge of Git basics. Some experience using Git with VFP would be helpful but is not required.
Presenter: Tuvia Vinitsky
Level: All levels
Wouldn't it be great to be able to show the user their Google calendar and allow them to manage it from within a VFP application? Google has scared off application integrators with more and more complex logins and access requirements.
We will see what options are available to VFP developers, from simply displaying a live calendar in VFP to actually manipulating calendar data.
You will learn:
Prerequisites: VFP development knowledge
Presenter: John Ryan
Level: All levels
This is a session about VFP C++ Compiler (VFPC), a VFP add-on that assists VFP developers to deliver thoroughly modern, secure applications.
Using VFPC, applications are obfuscated, then split into an EXE and companion DLL that can be compressed, encrypted, and compiled using recent versions of Microsoft Visual C++, without the VFP developer needing to write a single line of C++ code.
This session uses live and prepared VFP project compilation to demonstrate how VFPC works. Common compilation options are covered as well as tips learned over the years to increase control over the process. Antihacker options are briefly covered as well as encryption and compression samples that no longer need companion FLLs, since the C/C++ source can be baked into the app's DLL.
In addition to common settings in VFPC's GUI, some of the newest and most powerful features are only accessible by editing the VFPC config file. These new settings are covered, including remarkable optimization features that can significantly improve performance.
This is intended to be an interactive session with opportunities for questions while compilation is underway and attendees able to identify their own topics of interest.
You will learn:
Prerequisites: Familiarity with VFP. Attendees should have no difficulty following proceedings and appreciating how things work.