VFF logo

Virtual Fox Fest 2023 (May)

An online conference presenting the latest in Microsoft Visual FoxPro development techniques

May 10, 2023

Geek Gatherings Logo


"Level" shows the expected level for attendees for a session. Click a speaker's name to see their bio.

Anatomy of a VFPX Project

Presenter: Doug Hennig
Level: All levels

Note: if you cannot access YouTube, you can watch the video here

Even if you haven't considered contributing to a VFPX project (and you should), you may be curious about what goes into such a project behind the scenes. This session delves into all aspects of a VFPX project, including organization and deployment.

You will learn:

  • GitHub basics
  • What files belong in the repository
  • What the documentation should consist of
  • How to deploy the project
  • How the Thor Check for Updates process works and how to hook into it

Prerequisites: General knowledge of VFP, some knowledge of Git is useful

Data Corruption, the Bane of Our Existence

Presenter: Rick Schummer
Level: All levels

The universe is designed to work against databases and database files. The electrical grid is aging and failing and each time a power outage happens, an angel loses their wings and tables are sure to get corrupted because users don't want to spend an extra hundred dollars for a battery backup. (Why is it that desktop computers don't come with one built-in like laptops?) If it is not our favorite electric company cutting the power, leave it to the users to turn off the computer in the middle of a table update. Hard drives have a mean time between failure statistic because hard drives regularly fail. Occasionally network cards or the wires glitch and next thing you know indexes are corrupted again. Surely if you can protect yourself from all the disasters waiting to happen, leave it to Microsoft to introduce problems with network and operating system protocols like SMB2 to make mincemeat out of the normally stable data.

Depressing huh? But wait there is more…

Viruses attack computers and users regularly. Anti-virus software can protect against viruses, but also attack every day normal DBFs. Repeated requests to have IT not scan the data folder get ignored because it violates some policy, even though they forget to implement the “all data is backed up every day policy” too. Argh, is this only happening to my customers?

No worries, fixing "not a table" is pretty standard fare and easy to do with one of the many powerful fix-them-table tools.

Then comes along ransomware. You have probably heard about the Colonial Pipeline going down, or the attacks on JBS (the world's largest meat packer), the National Basketball Association (NBA), and the Washington DC Metropolitan Police. The healthcare industry has been hit quite hard over the years. The first ransom I saw was $50, but I have seen them at $10,000 and have read about ransom demands in the tens of millions. SamSam, Cryptolocker, CryptoWall, WannaCry, Darkside, Locky, HydraCrypt, Bad Rabbit, etc., etc. Social engineered and targeted emails that can fool anyone into opening a payload that installs and runs. Users open an email with a resume because they have an open position, click a link to the online resume, and 15 minutes later their hard drive is encrypted along with all their application data on the server. Ooops. No worries, take the machine off the network and restore the backups. What? NO BACKUPS?

All I can do is shake my head. I cannot make this stuff up. In fact, over the past few years, hardly a month goes by where my data fixing services are not required. Sometimes the customers win, and sometimes the customers lose. This session covers the various data corruption scenarios, tools to diagnose the problem files, concepts and ideas for fixing them, tools of the repair process, better backup solutions to avoid the worst-case scenario, and how to have that heart-to-heart discussion with customers to avoid the data corruption as often as possible.

You will learn:

  • About real-life stories and experience from the front line of support
  • Simple resolutions for index corruption (hint: reindex)
  • How to diagnose data corruption and Thor tools to help you narrow down the corruption
  • About different types of table corruption and how and when it can be fixed
  • Ideas for how to avoid corruption and how Visual FoxPro works with us and against us
  • About today's repair tool marketplace
  • Solutions to ultimately protect against data disasters

Prerequisites: None, but people with weak hearts might not want to watch.

Making Sense of Cryptography and Certificates

Presenter: Christof Wollenhaupt
Level: Intermediate, Advanced

Note: if you cannot access YouTube, you can watch the video here

One day your client tells you that there was a security review on one of the Web APIs that your application uses. The review discovered that your URLs can be intercepted, modified without detection and replayed at any time. A security disaster, even though your application was state of the art when you wrote it 18 years ago.

You are told that you have to encode the URL using the SHA256withRSA algorithm. As you're trying to figure out what that is, you are informed that the required certificate is stored in a Java Key Store file that you and your client have no control over as that is provided by the company's IT department.

Granted, that might not be your everyday experience. However, security is starting to be an issue even for old in-house software as our business and our customer's IT infrastructure is increasingly regulated. Software controls all critical infrastructure. Ransomware has become the new burglary. Countries around the world invest massively into the so called cyber war despite current developments in Ukraine.

In this session we cover the foundations of cryptography.: What are certificates and how do they work? Why are some cheap and some expensive? How are they stored? How do you make use of them? What's a certificate authority? What's the interaction between certificates, encryption algorithms, and hashes? What algorithms are still considered to be secure? How do you deal with code that is no longer considered to be adequate? How might quantum computing affect our systems?

You will learn:

  • How certificates work
  • How to use certificates
  • How to evaluate the security of your application

Prerequisites: A desire to improve security in your applications large enough to deal with a dozen of three letter acronyms

Opening Session

Presenters: Rick Schummer, Tamar E Granor, Doug Hennig

Note: if you cannot access YouTube, you can watch the video here

Running VFP Apps as Windows Services

Presenter: Tuvia Vinitsky
Level: Intermediate

Note: if you cannot access YouTube, you can watch the video here

Monitoring message queues or report requests are among the tasks that VFP can handle more efficiently running as a Windows service. But every version of Windows changes how to best accomplish this—and a VFP application has to be carefully constructed to successfully run as an unattended service.

This session will walk you through the process from A to Z. We will review how services work, how to install VFP apps as services, and we will create from scratch a VFP app that runs as a service monitoring report requests.

You will learn:

  • What a windows service can and cannot do
  • How to install and maintain a VFP app as a service
  • VFP coding to make a VFP app run successfully as a service.
  • When to use a "service" vs when to use a COM object and the differences between the two.

Prerequisites: VFP and Windows knowledge.

Using the Visual FoxPro Debugger Effectively

Presenter: Tamar E Granor
Level: Intermediate

Note: if you cannot access YouTube, you can watch the video here

Debugging is a part of every developer's day. Use the right tools for the job and you can spend more time coding and less time tracking down bugs. Visual FoxPro's powerful debugger gives you many tools for figuring out why your code doesn't work or doesn't produce the right results.

In this session we'll dig into the debugger and learn how to make the most of its tools to speed up development, improve your code, and understand Visual FoxPro better.

You will learn:

  • How to configure the Debugger to fit your work style
  • How to step through code to find problems
  • How to set breakpoints
  • How to use Event Tracking
  • How to use the Coverage Profiler

Prerequisites: None

VFP2C32 V2

Presenter: Eric J Selje
Level: All levels

Note: if you cannot access YouTube, you can watch the video here

Imagine having the entire Windows API at your disposal, allowing you to do things with your Visual FoxPro application you didn't think were possible. You CAN, with the VFP2C32 library written by Christian Ehlscheid . It slices (your development time)! It dices (your effort)! It even pureés (I'm not sure what this means)! Watch as it makes using the Windows API as easy as calling native functions.

In this session, you will learn about the Windows API and how VFP2C32 helps you take advantage of it. You'll see VFP2C32 in use, including in some VFPX projects.

You will learn:

  • What is the Windows API?
  • How does it compare to .NET?
  • How can I figure out what's in the Windows API?
  • How do I manually call methods in the Windows API?
  • What other tools are available to make Windows API calls?
  • What does VFP2C32.fll bring to the table?

Prerequisites: None

Platinum Sponsors
Diamond Sponsors
Gold Sponsors