October 18-21, 2018
SanTan Elegante Conference Center
Gilbert, AZ
There are 7 conference tracks at Southwest Fox 2018. "Level" shows the expected Visual FoxPro level for attendees for a session. Click a track's icon to jump to the sessions for that track.
Keynote
Presenter: Rick Schummer
Level: All levels
When: Thursday, October 18, 7:00 - 8:30, Elliott/Flagstaff
A developer's life can be extremely stressed, busy, and mentally challenging on a daily basis. There is never a shortage of moments that we all face: impossible deadlines, difficult to figure out bugs, ransomware hits on our customer's data, demanding customers who skip reading the fine help files, the unending list of enhancement requests, the rapid pace of innovation, the always fun deprecation of all the things we finally perfect, and the necessity to constantly learn the latest new thing. And that is just a normal Monday, right?
How does a developer cope in this pressure cooker and learn how to reap some of the rewards of our hard work, and still maintain mental sanity and find a proper life balance as our brains thin out as we age? What can neuroscience teach software developers to keep a healthy body, mind and spirit?
As a developer your brain is your body's most powerful tool, yet we rarely take time to properly recharge it and take care of it like some people do at the gym for the rest of their body. Mindfulness and a Mindfulness Practice is one of the easier ways to take care of our brain, and in turn the rest of your body, and surprise (spoiler alert!), it is not all that hard and does not take all that much time.
Expect some surprises as I share my journey and the actual techniques learned over the last three decades that have lead me to be a better developer and probably a better human. Learn how to quickly improve your life, your brain health, and find the critical balance of body, mind and spirit using the same science researched and studied at some small institutions you may have heard of including Harvard, MIT, Stanford, Yale, and Oxford.
Pre-Conference
Presenter: Kevin McNeish
Level: Intermediate
When: Thursday, October 18, 1:00 - 4:00, Flagstaff
Microsoft's Xamarin technology is finally mature enough to develop real-world apps that run on iOS, Android, and the Universal Windows Platform (UWP) for Windows 10!
In this pre-conference session, you first get a high-level overview of the Xamarin technologies that make it possible to write code in C# that can be shared on these three main platforms.
Next, you'll see a live demonstration building a business and data access layer with a SQLite back end using a Code First workflow to declare business entities and rules. Then, you'll learn the basics of Language INtegrated Query (LINQ) and raw SQL for retrieving and updating entities.
Finally, you'll see a live demo showing how to build a Xamarin Forms user interface that gets compiled to native UI controls on iOS, Android and Windows Forms for the best UI experience.
You will learn:
Prerequisites: Basic familiarity with C#
Presenter: Phil Sherwood
Level: All levels
When: Thursday, October 18, 9:00 - 12:00, Flagstaff
Have you looked around at the landscape lately? Desktop applications aren't the rage anymore. Almost everyone wants a cloud application these days.
If you want to take one or more of your existing applications to the cloud, what are your options?
None of those options were going to work for me. I needed to get our application in the cloud as quickly as I could for the lowest cost.
That is why I chose to go with VFP and West Wind Web Connection. I already had a couple Web Connection applications running and have been using it since the early 2000's. I've been using VFP since before it was VFP. I decided to leverage what I knew in order to get our first application up quickly.
This session will cover the process of going from a desktop application to a true SaaS (Software as a Service) application. Have you ever given any thought to everything you need for a SaaS application? We'll cover that too.
What about reporting from a web app? You can code all of the reports or you can use a 3rd party application for reporting. We chose the latter. All of our reporting is done with Stonefield Query Enterprise Web.
At the end of this session, you'll leave with a framework for SaaS applications using VFP and Web Connection. All you'll need to do is create the rest of your application pages.
You will learn:
Prerequisites: Should understand HTML and have a basic working knowledge of CSS
Extending VFP
Presenter: Tamar E. Granor
Level: Intermediate, Advanced
When: Friday, October 19, 10:00 - 11:15, Elliott (R1)
Saturday, October 20, 11:30 - 12:45, Elliott (R2)
Users today expect to be able to interact with applications by dragging and dropping. FoxPro has offered drag-and-drop capability since VFP 3, but many developers have never worked with it. In fact, VFP offers two separate approaches for drag-and-drop, a native capability and OLE drag-and-drop, which allows you to interact with other applications and gives you greater control over the process.
In this session, we'll look at both approaches and show both how easy simple drag-and-drop is, and the complex things you can accomplish with it.
You will learn:
Prerequisites: None
Presenter: Rick Strahl
Level: All levels
When: Saturday, October 20, 8:30 - 9:45, Flagstaff (R1)
Sunday, October 21, 11:30 - 12:45, Flagstaff (R2)
Markdown is easily one of the most interesting technologies that have had an impact on the way I've worked in the last few years. Markdown is a plain text format that can be rendered to HTML. Rather than creating HTML element tag soup to create even the most simple HTML text, Markdown lets you write mostly plain text with only a few easy to remember markup text "symbols" that signify things like bold and italic text, links, images headers and lists and so on. The beauty of Markdown is that it's very readable as plain text, and yet can render nice looking HTML content.
Markdown is used for writing documentation, for handling rich content in many Web applications, for note taking and much much more. You can also integrate it into your own applications for handling rich text input, or in Web applications handle layout for larger sections of static text.
In this session, I'll introduce you to what Markdown looks like and how you can easily create it using a number of tools. I'll also demonstrate a few use cases of how you can use Markdown in your daily work flow as well as inside of your own applications. We'll look at a number of Markdown use cases like documentation, blog posts, CMS, product catalogs, messages on forums, note taking and help desks and more.
You will learn:
Prerequisites: None
Presenter: James S. Heuer
Level: Intermediate, Advanced
When: Friday, October 19, 10:00 - 11:15, Flagstaff (R1)
Saturday, October 20, 2:00 - 3:15, Flagstaff (R2)
Python is a powerful open source object-oriented programming language with many features to appeal to Visual FoxPro programmers looking for a way to extend their applications without being tied to Microsoft .NET technology. Python has its own version of a “Command Window” where Python expressions can be typed in and immediately evaluated, and Python source code files are directly executable (no compilation step). Python even has equivalents to the & macro operator, the VFP EXECSCRIPT() function, and a powerful suite of VFP-like TEXTMERGE-type functions. All this and more make Python a comfortable environment for VFP programmers.
In this overview we will provide a window into the vast Python ecosystem of libraries, platform options (there is even a version called “Iron Python” which is compiled to .NET CLR code), and the key technologies like COM that make it interoperable with Visual FoxPro. We'll cover some of the things Python can do that VFP struggles with and touch on those VFP features that Python likewise struggles with. The presentation will end with a brief introduction to the presenter's work in building Python modules that can access DBF tables concurrently with VFP, interoperate with WestWind tools, and enable smooth integration with Visual FoxPro applications.
You will learn:
Prerequisites: Intermediate level knowledge of Visual FoxPro. No knowledge of Python required.
Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Friday, October 19, 11:30 - 12:45, Flagstaff (R1)
Sunday, October 21, 8:30 - 9:45, Flagstaff (R2)
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 the participants 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:
Prerequisites: VFP and Windows knowledge
Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 19, 8:30 - 9:45, Elliott (R1)
Sunday, October 21, 11:30 - 12:45, Elliott (R2)
A modern looking UI is almost essential in any VFP project, regardless of the backend data source. Now only do we need to know how to create a modern interface, we need to know how to define what exactly we mean by a "modern interface." What components and appearances contribute to the "modern" look? Which ones are the most important? Then how do we implement this look? In this session we will analyze and determine the components of a modern UI and how to create them in VFP.
You will learn:
Prerequisites: Basic VFP knowledge
Moving VFP Applications Forward
Presenter: James S. Heuer
Level: Intermediate, Advanced
When: Friday, October 19, 10:00 - 11:15, Flagstaff (R1)
Saturday, October 20, 2:00 - 3:15, Flagstaff (R2)
Python is a powerful open source object-oriented programming language with many features to appeal to Visual FoxPro programmers looking for a way to extend their applications without being tied to Microsoft .NET technology. Python has its own version of a “Command Window” where Python expressions can be typed in and immediately evaluated, and Python source code files are directly executable (no compilation step). Python even has equivalents to the & macro operator, the VFP EXECSCRIPT() function, and a powerful suite of VFP-like TEXTMERGE-type functions. All this and more make Python a comfortable environment for VFP programmers.
In this overview we will provide a window into the vast Python ecosystem of libraries, platform options (there is even a version called “Iron Python” which is compiled to .NET CLR code), and the key technologies like COM that make it interoperable with Visual FoxPro. We'll cover some of the things Python can do that VFP struggles with and touch on those VFP features that Python likewise struggles with. The presentation will end with a brief introduction to the presenter's work in building Python modules that can access DBF tables concurrently with VFP, interoperate with WestWind tools, and enable smooth integration with Visual FoxPro applications.
You will learn:
Prerequisites: Intermediate level knowledge of Visual FoxPro. No knowledge of Python required.
Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Friday, October 19, 11:30 - 12:45, Flagstaff (R1)
Sunday, October 21, 8:30 - 9:45, Flagstaff (R2)
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 the participants 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:
Prerequisites: VFP and Windows knowledge
Solidifying VFP Development
Presenter: Christof Wollenhaupt
Level: Intermediate, Advanced
When: Friday, October 19, 2:00 - 3:15, Elliott (R1)
Saturday, October 20, 2:00 - 3:15, Elliott (R2)
"It works on my machine!" Who has not said this when a customer calls because something isn't working? Debugging problems in a live environment at a customer site is a set of challenges on their own. We will look into various aspects: What tools are available to access a computer or transfer files? What tools can you use to analyze problems on the remote computer with a special focus on the limited options you sometimes have? What can you do in your application to aid you in debugging production issues? What are some of the legal considerations (*no legal advice will be given)? We also look into some of the common problems you can run into such as:
You will learn:
Prerequisites: None
Presenter: Tamar E. Granor
Level: Intermediate, Advanced
When: Friday, October 19, 10:00 - 11:15, Elliott (R1)
Saturday, October 20, 11:30 - 12:45, Elliott (R2)
Users today expect to be able to interact with applications by dragging and dropping. FoxPro has offered drag-and-drop capability since VFP 3, but many developers have never worked with it. In fact, VFP offers two separate approaches for drag-and-drop, a native capability and OLE drag-and-drop, which allows you to interact with other applications and gives you greater control over the process.
In this session, we'll look at both approaches and show both how easy simple drag-and-drop is, and the complex things you can accomplish with it.
You will learn:
Prerequisites: None
Presenter: Doug Hennig
Level: All levels
When: Saturday, October 20, 8:30 - 9:45, Elliott (R1)
Sunday, October 21, 10:00 - 11:15, Elliott (R2)
Your customer calls to report that their application crashes. Where do you start to figure out what's causing the problem? This session looks at techniques for troubleshooting application problems, including advanced error handling to provide complete state information and instrumenting your applications to determine exactly what steps led up to the crash.
You will learn:
Prerequisites: General knowledge of VFP
Presenter: Tamar E. Granor
Level: Intermediate
When: Friday, October 19, 3:30 - 4:45, Elliott (R1)
Saturday, October 20, 5:15 - 6:30, Elliott (R2)
Sooner or later, almost every developer has to take over an existing application. This session looks at tools (mostly free) and techniques for understanding how such applications work, improving the data model, dealing with non-developers who wrote the original code, and more. Since this session was originally presented in 2008, VFPX has significantly improved the set of tools available for this work; this session will explore some of those newer tools.
You will learn:
Prerequisites: None
Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Friday, October 19, 11:30 - 12:45, Flagstaff (R1)
Sunday, October 21, 8:30 - 9:45, Flagstaff (R2)
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 the participants 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:
Prerequisites: VFP and Windows knowledge
Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 19, 8:30 - 9:45, Elliott (R1)
Sunday, October 21, 11:30 - 12:45, Elliott (R2)
A modern looking UI is almost essential in any VFP project, regardless of the backend data source. Now only do we need to know how to create a modern interface, we need to know how to define what exactly we mean by a "modern interface." What components and appearances contribute to the "modern" look? Which ones are the most important? Then how do we implement this look? In this session we will analyze and determine the components of a modern UI and how to create them in VFP.
You will learn:
Prerequisites: Basic VFP knowledge
Presenter: Christof Wollenhaupt
Level: Intermediate
When: Saturday, October 20, 10:00 - 11:15, Elliott (R1)
Sunday, October 21, 8:30 - 9:45, Elliott (R2)
These days you are likely to interact with Unicode or different character encodings even as a VFP developer:
Character encoding is confusing, especially if multiple layers of encoding start to interact. In this session we look at various types of character encoding: Code pages, Unicode, character sets, base64, url, xml entities, forms, etc. We also cover the various layers of conversion such as DBF files, UI controls, COM Interaction, Win API conversion, HTTP services, and others.
You will learn:
Prerequisites: None
Taking Advantage of VFPX
Presenter: Tamar E. Granor
Level: Intermediate
When: Friday, October 19, 3:30 - 4:45, Elliott (R1)
Saturday, October 20, 5:15 - 6:30, Elliott (R2)
Sooner or later, almost every developer has to take over an existing application. This session looks at tools (mostly free) and techniques for understanding how such applications work, improving the data model, dealing with non-developers who wrote the original code, and more. Since this session was originally presented in 2008, VFPX has significantly improved the set of tools available for this work; this session will explore some of those newer tools.
You will learn:
Prerequisites: None
Presenter: Doug Hennig
Level: All levels
When: Friday, October 19, 11:30 - 12:45, Elliott (R1)
Saturday, October 20, 3:30 - 4:45, Elliott (R2)
It's been three years since Rick Schummer last presented one of his excellent "deep dive" sessions into VFPX, so it's time for an update. We'll start by looking at the new GitHub-based VFPX site, then dive into several exciting projects.
You will learn:
Prerequisites: General knowledge of VFP
Technology and Business for the Developer
Presenter: Kevin McNeish
Level: Intermediate
When: Friday, October 19, 3:30 - 4:45, Flagstaff (R1)
Saturday, October 20, 11:30 - 12:45, Flagstaff (R2)
There are many ways to access and manipulate data in .NET. This session provides an overview of each technology, discusses the pros and cons of each, and helps you decide which is the best fit for you.
You first learn about traditional ADO.NET technologies including Data Sets, Data Readers, and Data Adapters, which include concepts and technologies using raw SQL and stored procedures familiar to most VFP developers.
Next, we take a close look at the latest versions of .NET's Entity Framework, which provides high-level access and control over your application's data. This includes a comparison between Entity Framework 6.x and the all new Entity Framework Core.
You will also learn about the different scenarios available to .NET developers, including using an Entity Data Model, Code First, and Database First workflows.
As each technology is presented, you get a live demonstration that shows how all the moving parts fit together in real-world samples showcasing best practices.
You will learn:
Prerequisites: Basic familiarity with C# is beneficial, but not required
Presenter: Rick Borup
Level: All levels
When: Friday, October 19, 8:30 - 9:45, Flagstaff (R1)
Saturday, October 20, 5:15 - 6:30, Flagstaff (R2)
What constitutes a disaster? How well is your business prepared to recover from one? Do you have a plan for business continuity while recovery is in progress? This session, geared towards software developers, takes a fresh look at the resources and best practices for disaster recovery and business continuity planning. Topics include the kinds of disasters you should anticipate and prepare for, steps you can take to reduce their impact, what a disaster recovery and business continuity plan looks like, and how to create and test one. This session also includes all-new sections on the risks associated with the growing dependence on cloud resources and the role of insurance in disaster recovery and business continuity.
You will learn:
Prerequisites: None
Presenter: Rick Borup
Level: All levels
When: Saturday, October 20, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 21, 10:00 - 11:15, Flagstaff (R2)
As the percentage of Web traffic from mobile devices steadily increases, websites that don't adjust their content for smaller screens risk becoming irrelevant. Sites originally designed for desktop browsers may be almost unreadable on mobile devices. If the site doesn't detect smaller viewports and adjust its content accordingly, the visitor might see a postage-stamp miniature of the original or content that overflows to the right and requires horizontal scrolling. Short of redesigning and rewriting the entire website—or even creating a completely separate site for mobile devices—how do you make an existing site responsive to mobile devices? Using an example adapted from a real-world experience, this session shows you how to update a website to respond to mobile devices using only CSS and a little Javascript. No new frameworks required!
You will learn:
Prerequisites: Working knowledge of HTML. Some knowledge of CSS and Javascript helpful but not required.
Web and Mobile
Presenter: Kevin McNeish
Level: Intermediate
When: Thursday, October 18, 1:00 - 4:00, Flagstaff
Microsoft's Xamarin technology is finally mature enough to develop real-world apps that run on iOS, Android, and the Universal Windows Platform (UWP) for Windows 10!
In this pre-conference session, you first get a high-level overview of the Xamarin technologies that make it possible to write code in C# that can be shared on these three main platforms.
Next, you'll see a live demonstration building a business and data access layer with a SQLite back end using a Code First workflow to declare business entities and rules. Then, you'll learn the basics of Language INtegrated Query (LINQ) and raw SQL for retrieving and updating entities.
Finally, you'll see a live demo showing how to build a Xamarin Forms user interface that gets compiled to native UI controls on iOS, Android and Windows Forms for the best UI experience.
You will learn:
Prerequisites: Basic familiarity with C#
Presenter: Phil Sherwood
Level: All levels
When: Thursday, October 18, 9:00 - 12:00, Flagstaff
Have you looked around at the landscape lately? Desktop applications aren't the rage anymore. Almost everyone wants a cloud application these days.
If you want to take one or more of your existing applications to the cloud, what are your options?
None of those options were going to work for me. I needed to get our application in the cloud as quickly as I could for the lowest cost.
That is why I chose to go with VFP and West Wind Web Connection. I already had a couple Web Connection applications running and have been using it since the early 2000's. I've been using VFP since before it was VFP. I decided to leverage what I knew in order to get our first application up quickly.
This session will cover the process of going from a desktop application to a true SaaS (Software as a Service) application. Have you ever given any thought to everything you need for a SaaS application? We'll cover that too.
What about reporting from a web app? You can code all of the reports or you can use a 3rd party application for reporting. We chose the latter. All of our reporting is done with Stonefield Query Enterprise Web.
At the end of this session, you'll leave with a framework for SaaS applications using VFP and Web Connection. All you'll need to do is create the rest of your application pages.
You will learn:
Prerequisites: Should understand HTML and have a basic working knowledge of CSS
Presenter: Rick Borup
Level: All levels
When: Saturday, October 20, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 21, 10:00 - 11:15, Flagstaff (R2)
As the percentage of Web traffic from mobile devices steadily increases, websites that don't adjust their content for smaller screens risk becoming irrelevant. Sites originally designed for desktop browsers may be almost unreadable on mobile devices. If the site doesn't detect smaller viewports and adjust its content accordingly, the visitor might see a postage-stamp miniature of the original or content that overflows to the right and requires horizontal scrolling. Short of redesigning and rewriting the entire website—or even creating a completely separate site for mobile devices—how do you make an existing site responsive to mobile devices? Using an example adapted from a real-world experience, this session shows you how to update a website to respond to mobile devices using only CSS and a little Javascript. No new frameworks required!
You will learn:
Prerequisites: Working knowledge of HTML. Some knowledge of CSS and Javascript helpful but not required.
Presenter: Rick Strahl
Level: All levels
When: Friday, October 19, 2:00 - 3:15, Flagstaff (R1)
Saturday, October 20, 3:30 - 4:45, Flagstaff (R2)
Web Security—or lack thereof—is frequently in the headlines these days and if you are building Web applications you need to be aware of the the variety of threats that are going to be directed at your Web sites as soon as they go live. It's important to think about security right from the start when you build applications, and using Web Connection and Visual FoxPro is no different than other platforms.
In this session you'll learn about basic Web site security concepts both for Web Connection specifically and IIS and Web Servers in general. We'll cover:
While all this sounds fairly basic, there are a lot of things you need to consider to make sure your application and your data stays safe and this session touches on all the core areas that you need to consider for creating secure Web applications.
You will learn:
Prerequisites: Some experience with Web technologies. Bonus: experience with Web Connection
Post-Conference