October 15-18, 2015
SanTan Elegante Conference Center
Gilbert, AZ
There are 6 conference tracks at Southwest Fox 2015. "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: Bill Lace
When: Thursday, October 15, 7:00 - 8:30, Elliott/Flagstaff/Gilbert
U.S. and Western organizations have been under siege from cyber actors attempting everything from stealing intellectual property to exposing embarrassing information. Whether state-sponsored or loosely-knit, the actors can inflict damage physically, financially, and to reputation. The FBI and partner organizations investigate and work to counter efforts by these actors. Learn about these efforts and examples of the actors' tactics, techniques, and procedures from the FBI's Phoenix Division.
Pre-Conference
Presenter: Toni M. Feltman
Level: Intermediate
When: Thursday, October 15, 9:00 - 12:00, Elliott
SQL Server Reporting Services (SSRS) is the Microsoft answer to reporting tools like Crystal Reports. The really nice thing about SSRS is that a version is now included with SQL Server Express which is FREE. Free is good, right? SQL Server Reporting Services is a quick and inexpensive way for developers to create and deploy reports when using SQL Server as the database engine. It is not difficult to use and is similar to other reporting tools that may already be in your toolbox. There are benefits to having a language-agnostic reporting tool such as the ability to share reports between different applications and platforms. It also makes really good sense to have a reporting tool tightly coupled with the data used for reporting.
Desktop applications need reporting. These applications are being extended through other technologies such as the web and mobile. Even if your development environment has its own reporting engine, SQL Server Reporting Services is a great way to get query and reporting capabilities that are available on the desktop, web and mobile device all from one code base.
You will learn:
Prerequisites: None
Presenter: Christof Wollenhaupt
Level: All levels
When: Thursday, October 15, 1:00 - 4:00, Elliott
GemBox.Document and GemBox.Spreadsheet are two commercial .NET libraries to programmatically create Microsoft Word documents and Microsoft Excel spreadsheets without Word or Excel having to be installed on the computer. Not only does this save your customer a lot of license fees, but it also saves us from a lot of hassle. You don't need to deal with different Office versions, incompatible add-ons, or misconfigured templates. This pre-con covers how you control the .NET libraries from Visual FoxPro.
We will cover reading and writing documents in a variety of formats including PDF and images for use in previews. We will look into various approaches to creating reports and mail-merge letters including using the built-in mail merge features, bookmarks, and FoxPro's text merge capabilities. Additionally we will cover the various features for document manipulation including creating paragraphs, tables, sections, headers and footers, shapes, pictures, text boxes, and styles. We will also see a number of limitations and possible work arounds.
For GemBox.Spreadsheet we will look into importing and exporting data in various formats. We will cover the generation of Excel spreadsheets using templates and programmatically. GemBox supports many features of Excel-like styles and formatting, formulas, comments, hyperlinks, images, header and footers, and more. There are unsupported features, as well.
Finally, we will take a look at competing libraries giving you a few alternatives with different licensing models. While we won't cover them in the same detail as GemBox, you can still apply many of the .NET interoperability aspects as well as the higher level approaches.
You will learn:
Prerequisites: None
Presenters: Roger Donnay, Spyros Bobby Drakos
Level: All levels
When: Thursday, October 15, 9:00 - 12:00, Flagstaff
Thursday, October 15, 1:00 - 4:00, Flagstaff
Xbase++ has extended the capabilities of the language beyond what is available in Visual FoxPro. For Visual FoxPro developers who are new to Xbase++, there are new variable types and language concepts that can enhance the programmer's ability to create more powerful and more supportable applications.
The flexibility of the Xbase++ language is what makes it possible to create libraries of functions that can be used dynamically across multiple applications. The preprocessor, code blocks, ragged arrays and objects combine to give the programmer the ability to create their own language of commands and functions and all the advantages of a 4th generation language.
This session will also show how these language concepts can be employed to use 3rd party add-on products to Xbase++ that will integrate seamlessly into Xbase++ applications.
The Xbase++ language is incredibly robust and it can take years to understand most of its capabilities. However, when migrating Visual FoxPro applications, it is not necessary to know all of this. We have aided many Clipper and FoxPro developers with the migration process over the years and have found that only a basic introduction to a few concepts is necessary to get off to a great start.
If you are a Visual FoxPro programmer then the structure of the Xbase language, the FOXCDX database and the SQL language will be very familiar. This kind of compatibility is the reason that Xbase++ is the most natural migration path for Visual FoxPro developers. The methods employed to create GUI windows will be new to you, yet there are a variety of techniques available to ease this process.
This pre-conference session will introduce the Visual FoxPro programmer to the world of Xbase++ by using methods that will help attendees become quickly productive. Attendees will receive free software and libraries to aid in developing Xbase++ applications.
You will learn:
Prerequisites: Experience with Visual FoxPro or Clipper. Attendees should bring their laptops to the session.
Extending VFP
Presenter: Doug Hennig
Level: All levels
When: Friday, October 16, 3:30 - 4:45, Elliott (R1)
Sunday, October 18, 10:00 - 11:15, Elliott (R2)
There's no excuse for creating a boring-looking VFP application. Using some of the controls available today, you can create a new, modern user interface for your forms that'll add years to the life of your applications. With a few days of effort, your apps can be as pretty as anything out there. This session looks at several new controls that allow you to freshen your user interface and wash out the grey.
You will learn:
Prerequisites: None
Presenter: Toni M. Feltman
Level: Intermediate
When: Thursday, October 15, 9:00 - 12:00, Elliott
SQL Server Reporting Services (SSRS) is the Microsoft answer to reporting tools like Crystal Reports. The really nice thing about SSRS is that a version is now included with SQL Server Express which is FREE. Free is good, right? SQL Server Reporting Services is a quick and inexpensive way for developers to create and deploy reports when using SQL Server as the database engine. It is not difficult to use and is similar to other reporting tools that may already be in your toolbox. There are benefits to having a language-agnostic reporting tool such as the ability to share reports between different applications and platforms. It also makes really good sense to have a reporting tool tightly coupled with the data used for reporting.
Desktop applications need reporting. These applications are being extended through other technologies such as the web and mobile. Even if your development environment has its own reporting engine, SQL Server Reporting Services is a great way to get query and reporting capabilities that are available on the desktop, web and mobile device all from one code base.
You will learn:
Prerequisites: None
Presenter: Christof Wollenhaupt
Level: Intermediate
When: Friday, October 16, 2:00 - 3:15, Flagstaff (R1)
Saturday, October 17, 2:00 - 3:15, Flagstaff (R2)
Most notebooks have a variety of sensors that were uncommon when Visual FoxPro 9 was released. In this session we cover a variety of modern sensors and devices and how to access them from Visual FoxPro by using some .NET helper code. These devices include the camera to take pictures and the microphone for audio recording, the touch screen to respond to finger input and multi-touch gestures, the GPS receiver to determine the current location, the compass to obtain directions, and the accelerometer to measure device movements.
Sensors are useful in many mobile business applications. For instance, you can automatically track time and route of mobile workers. The camera takes pictures that are directly added to the VFP application when entering orders at a client site.
You will learn:
Prerequisites: None
Presenter: Rick Strahl
Level: Intermediate
When: Friday, October 16, 11:30 - 12:45, Flagstaff (R1)
Saturday, October 17, 5:15 - 6:30, Flagstaff (R2)
Web Services continue to be important technology to interface Visual FoxPro with other systems. SOAP Web Services—although falling out of favor—continue to be the most popular interface for remote services to enterprise systems. Unfortunately Windows discontinued support for SOAP-based services for COM when .NET came in the early 2000's out so there aren't any still supported and valid tools to directly access Web Services from Visual FoxPro. However, you can take advantage of .NET to consume Web Services using either WCF or .NET Web Service clients and you can also create .NET Web Services that interface with Visual FoxPro via COM. In this session we'll look at different use cases for consuming and creating Web Services and demonstrate how you can leverage .NET to build to interface with Web Services effectively.
You will learn:
Prerequisites: Some familiarity with .NET and COM Interop (both from VFP to .NET and from .NET to VFP)
Presenter: Doug Hennig
Level: Intermediate
When: Saturday, October 17, 8:30 - 9:45, Elliott (R1)
Saturday, October 17, 5:15 - 6:30, Elliott (R2)
Adding support for plug-ins to your applications has a lot of benefits: users can extend or alter the functionality of the application, you can deploy new features without installing a new build, and you can create customer-specific versions of an application without endless sets of CASE statements. This session looks at how adding plug-in support can help your applications and looks at several techniques that can be used independently or together.
You will learn:
Prerequisites: None
Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced
When: Friday, October 16, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 18, 8:30 - 9:45, Flagstaff (R2)
VFP developers have always had strong WYSIWYG tools available for creating and designing native VFP databases. But moving to SQL Server meant using the SQL Server Studio or similar tools—or even just using the command line. All that has changed with the product dbSchema. Now you can design databases visually, manages joins, triggers, stored procedures and more all from an intuituve interface.
dbSchema does not stop there! Compare and update database schemas between databases or between designs and live databases. Coordinate multiple database design staff. Organize and manage sub-layouts and layout slices, design queries and run them interactively, edit data almost like the VFP browse and command window!
In this session Tuvia Vinitsky will demonstrate how to use the dbSchema tool to create and manage SQL Server databases, queries, data, and designs. Life with SQL Server just got a lot easier!
You will learn:
Prerequisites: Understanding of SQL Server databases and related functionality
Presenter: Christof Wollenhaupt
Level: All levels
When: Thursday, October 15, 1:00 - 4:00, Elliott
GemBox.Document and GemBox.Spreadsheet are two commercial .NET libraries to programmatically create Microsoft Word documents and Microsoft Excel spreadsheets without Word or Excel having to be installed on the computer. Not only does this save your customer a lot of license fees, but it also saves us from a lot of hassle. You don't need to deal with different Office versions, incompatible add-ons, or misconfigured templates. This pre-con covers how you control the .NET libraries from Visual FoxPro.
We will cover reading and writing documents in a variety of formats including PDF and images for use in previews. We will look into various approaches to creating reports and mail-merge letters including using the built-in mail merge features, bookmarks, and FoxPro's text merge capabilities. Additionally we will cover the various features for document manipulation including creating paragraphs, tables, sections, headers and footers, shapes, pictures, text boxes, and styles. We will also see a number of limitations and possible work arounds.
For GemBox.Spreadsheet we will look into importing and exporting data in various formats. We will cover the generation of Excel spreadsheets using templates and programmatically. GemBox supports many features of Excel-like styles and formatting, formulas, comments, hyperlinks, images, header and footers, and more. There are unsupported features, as well.
Finally, we will take a look at competing libraries giving you a few alternatives with different licensing models. While we won't cover them in the same detail as GemBox, you can still apply many of the .NET interoperability aspects as well as the higher level approaches.
You will learn:
Prerequisites: None
Presenter: Tamar E. Granor
Level: Intermediate, Advanced
When: Friday, October 16, 3:30 - 4:45, Flagstaff (R1)
Saturday, October 17, 3:30 - 4:45, Flagstaff (R2)
The SQL 2003 standard introduced the OVER keyword that lets you apply a function to a set of records. Introduced in SQL Server 2005, this capability was extended in SQL Server 2012. The functions allow you to rank records, aggregate them in a variety of ways, put data from multiple records into a single result record, and compute and use percentiles. The set of problems they solve range from removing exact duplicates to computing running totals and moving averages to comparing data from different periods to removing outliers.
In this session, we'll look at the OVER operator and the many functions you can use with it. We'll look at a variety of problems that can be solved using OVER.
You will learn:
Prerequisites: Some familiarity with SQL
Presenter: Rick Borup
Level: All levels
When: Friday, October 16, 8:30 - 9:45, Flagstaff (R1)
Saturday, October 17, 2:00 - 3:15, Bisbee (R2)
Git and Mercurial are both popular Distributed Version Control Systems (DVCS), but it seems like Git is getting all the love these days. What are the real differences between the two? Is one better than the other? Which one should you choose? What's all this fuss about GitHub? How can the new FoxBin2Prg project on VFPX help you use a DVCS to full advantage with VFP? Come to this session for practical advice to improve your version control skills as we explore and discuss answers to these and other questions.
You will learn:
Prerequisites: None
Presenter: Rick Schummer
Level: All levels
When: Saturday, October 17, 10:00 - 11:15, Elliott (R1)
Sunday, October 18, 8:30 - 9:45, Elliott (R2)
VFPX, one of many active open source projects hosted on CodePlex, has some terrific tools to enhance the Visual FoxPro Interactive Development Environment (IDE) and components to impress your customers in the applications you write for them. This session covers some of the updates and additions to VFPX in 2015.
We are going to cover as many of these tools as time allows. We'll:
The session will vary between deeper dives and overviews depending on conference attendee needs and the work by the VFPX project managers as the year progresses.
Note, this list is subject to changes based on the releases by VFPX project managers and what other presenters want to talk about at the conference...
You will learn:
Prerequisites: None
Presenter: Rick Schummer
Level: All levels
When: Friday, October 16, 10:00 - 11:15, Elliott (R1)
Saturday, October 17, 3:30 - 4:45, Elliott (R2)
It has been nearly a decade since Microsoft has made any improvements to the Visual FoxPro Interactive Development Environment (IDE). The release of Visual FoxPro 9 included some critical extensibility with the addition of Property Editors and MenuHits. Additionally, we have the ability to create and use Builders and extend IntelliSense to meet our needs. Over the past couple of years I have been optimizing my IDE experience to save time via updates and upgrades to IntelliSense, but the most bang for my buck in this regard has been the innovations provided by Thor.
In this session I show a number of things that Thor provides to extend and improve the Visual FoxPro IDE. Not only will you see some of the great things the Fox Community has contributed to the Thor Repository (a treasure trove of cool functionality and features), but I expose you to some of the plumbing, explain how these tools work, and show you how to create your own tools with the hope of inspiring you to write some of your own tools to share with the community.
You will learn:
Prerequisites: Ability to install Thor on your computer, or have it installed already
Solidifying VFP Development
Presenter: Toni M. Feltman
Level: Intermediate
When: Thursday, October 15, 9:00 - 12:00, Elliott
SQL Server Reporting Services (SSRS) is the Microsoft answer to reporting tools like Crystal Reports. The really nice thing about SSRS is that a version is now included with SQL Server Express which is FREE. Free is good, right? SQL Server Reporting Services is a quick and inexpensive way for developers to create and deploy reports when using SQL Server as the database engine. It is not difficult to use and is similar to other reporting tools that may already be in your toolbox. There are benefits to having a language-agnostic reporting tool such as the ability to share reports between different applications and platforms. It also makes really good sense to have a reporting tool tightly coupled with the data used for reporting.
Desktop applications need reporting. These applications are being extended through other technologies such as the web and mobile. Even if your development environment has its own reporting engine, SQL Server Reporting Services is a great way to get query and reporting capabilities that are available on the desktop, web and mobile device all from one code base.
You will learn:
Prerequisites: None
Presenter: Tamar E. Granor
Level: Intermediate
When: Friday, October 16, 8:30 - 9:45, Elliott (R1)
Saturday, October 17, 11:30 - 12:45, Elliott (R2)
What do you do when your customer says that your application is too slow? How can you figure out what's slowing things down? How can you make it faster?
Optimization of a VFP application is more than just applying Rushmore correctly, though that's an important step. In this session, we'll explore techniques for measuring performance of a VFP application and look at things you can do to speed it up.
You will learn:
Prerequisites: None
Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 16, 2:00 - 3:15, Elliott (R1)
Sunday, October 18, 11:30 - 12:45, Elliott (R2)
Few terms strike terror into the hearts of developers like the phrase "PCI-compliant." Generally thought of as relating only to credit card and financial transactions, PCI Compliance has expanded into an issue that seems to be everywhere. We all approve of the goal of increasing security and decreasing theft, but few issues in the VFP world seem to be as scary and unclear as PCI compliance.
In this session Tuvia Vinitsky reviews the PCI standards for developers, applications, and companies as they apply to VFP developers.
What does PCI-compliant mean to me as a developer? What are my responsibilities? What are my liabilities? What exactly do I have to do to provide my employer or client with a PCI-compliant application? If we do not process financial transactions how does this apply to me? How scared should I really be? Get the straight answers to these and all your PCI questions at this session.
You will learn:
Prerequisites: Solid VFP knowledge
Taking Advantage of VFPX
Presenter: Rick Borup
Level: All levels
When: Friday, October 16, 8:30 - 9:45, Flagstaff (R1)
Saturday, October 17, 2:00 - 3:15, Bisbee (R2)
Git and Mercurial are both popular Distributed Version Control Systems (DVCS), but it seems like Git is getting all the love these days. What are the real differences between the two? Is one better than the other? Which one should you choose? What's all this fuss about GitHub? How can the new FoxBin2Prg project on VFPX help you use a DVCS to full advantage with VFP? Come to this session for practical advice to improve your version control skills as we explore and discuss answers to these and other questions.
You will learn:
Prerequisites: None
Presenter: Rick Schummer
Level: All levels
When: Saturday, October 17, 10:00 - 11:15, Elliott (R1)
Sunday, October 18, 8:30 - 9:45, Elliott (R2)
VFPX, one of many active open source projects hosted on CodePlex, has some terrific tools to enhance the Visual FoxPro Interactive Development Environment (IDE) and components to impress your customers in the applications you write for them. This session covers some of the updates and additions to VFPX in 2015.
We are going to cover as many of these tools as time allows. We'll:
The session will vary between deeper dives and overviews depending on conference attendee needs and the work by the VFPX project managers as the year progresses.
Note, this list is subject to changes based on the releases by VFPX project managers and what other presenters want to talk about at the conference...
You will learn:
Prerequisites: None
Presenter: Rick Schummer
Level: All levels
When: Friday, October 16, 10:00 - 11:15, Elliott (R1)
Saturday, October 17, 3:30 - 4:45, Elliott (R2)
It has been nearly a decade since Microsoft has made any improvements to the Visual FoxPro Interactive Development Environment (IDE). The release of Visual FoxPro 9 included some critical extensibility with the addition of Property Editors and MenuHits. Additionally, we have the ability to create and use Builders and extend IntelliSense to meet our needs. Over the past couple of years I have been optimizing my IDE experience to save time via updates and upgrades to IntelliSense, but the most bang for my buck in this regard has been the innovations provided by Thor.
In this session I show a number of things that Thor provides to extend and improve the Visual FoxPro IDE. Not only will you see some of the great things the Fox Community has contributed to the Thor Repository (a treasure trove of cool functionality and features), but I expose you to some of the plumbing, explain how these tools work, and show you how to create your own tools with the hope of inspiring you to write some of your own tools to share with the community.
You will learn:
Prerequisites: Ability to install Thor on your computer, or have it installed already
Technology and Business for the Developer
Presenter: Toni M. Feltman
Level: All levels
When: Friday, October 16, 3:30 - 4:45, Bisbee (R1)
Saturday, October 17, 2:00 - 3:15, Elliott (R2)
It is no surprise that as seniority increases, the draw on experiences over abilities tends to also increase. There is a natural progression in any career to move from a full-time doer to a manager over time. When working in the technical fields, how do you best handle this progression? It is very unlikely that any one of us will go to sleep one night as a full-time coder and wake up the next morning as a manager with no programming duties. There are so many facets to management from the basic HR duties to motivating employees to work above and beyond their capabilities. It is an extremely difficult and rewarding role to fill.
This session is intended to be a fully interactive session led by the speaker but controlled by the feedback of the audience. Be sure to bring your best ideas and stories to this session.
You will learn:
Prerequisites: None
Presenter: Rick Borup
Level: All levels
When: Friday, October 16, 11:30 - 12:45, Elliott (R1)
Sunday, October 18, 8:30 - 9:45, Bisbee (R2)
Data visualization is a powerful tool for turning raw data into useful information. Because vision is the dominant human perception, an effective visual presentation of data can quickly convey meaning that might otherwise be obscured or difficult to ferret out. Data visualization is much more than just pie charts and bar graphs, and is just as relevant for small data as it is for big data. Come to this session to learn tools and techniques for turning the data from your applications into meaningful information for your users.
You will learn:
Prerequisites: None
Presenter: Tuvia Vinitsky
Level: All levels
When: Friday, October 16, 2:00 - 3:15, Elliott (R1)
Sunday, October 18, 11:30 - 12:45, Elliott (R2)
Few terms strike terror into the hearts of developers like the phrase "PCI-compliant." Generally thought of as relating only to credit card and financial transactions, PCI Compliance has expanded into an issue that seems to be everywhere. We all approve of the goal of increasing security and decreasing theft, but few issues in the VFP world seem to be as scary and unclear as PCI compliance.
In this session Tuvia Vinitsky reviews the PCI standards for developers, applications, and companies as they apply to VFP developers.
What does PCI-compliant mean to me as a developer? What are my responsibilities? What are my liabilities? What exactly do I have to do to provide my employer or client with a PCI-compliant application? If we do not process financial transactions how does this apply to me? How scared should I really be? Get the straight answers to these and all your PCI questions at this session.
You will learn:
Prerequisites: Solid VFP knowledge
Presenter: Phil Sherwood
Level: All levels
When: Friday, October 16, 11:30 - 12:45, Bisbee (R1)
Saturday, October 17, 11:30 - 12:45, Flagstaff (R2)
What does it take to market and sell your software? Do the old methods still work? Yes…and, NO! The landscape has changed in marketing and sales. You used to be the gate-keeper of the information; now the potential customer is in charge. You used to have to sell your application to a potential client; now they usually know what they want when they contact you. We’ll look at what you need to be doing to attract potential customers and how to provide them with useful information that tilts the discussion in your favor.
You will learn:
Prerequisites: An interest in marketing and sales
Presenter: Andreas Herdt
Level: Beginner, Intermediate
When: Friday, October 16, 3:30 - 4:45, Arizona (R1)
Sunday, October 18, 11:30 - 12:45, Arizona (R2)
Having information about your application's current state and that of the environment it runs in often determines success or failure. Which DLLs are being loaded from where into your application's process? Which drives are currently plugged into the computer? The answers to questions such as these often are the key to analyzing application startup, stability and performance.
In this session, we'll take a close look at third-party performance tools such as the Process Monitor and the Dependency Walker which provide you with a host of information about your application and the resources it uses. In addition, the Windows Management Instrumentation (WMI) is also introduced as a technology for getting detailed information from the operating system's own internal databases.
You will learn:
Prerequisites: Basic knowledge of programming with Xbase++, Visual FoxPro or Clipper
Web and Mobile
Presenter: Rick Strahl
Level: All levels
When: Saturday, October 17, 10:00 - 11:15, Flagstaff (R1)
Sunday, October 18, 11:30 - 12:45, Flagstaff (R2)
Mobile and rich client applications continue to be in high demand and this session describes how to build mobile applications that can run either on the Web in a Web Browser or on-device using hybrid technology like Cordova. We'll look at a small application that runs both on the Web and from a device and interacts with a Visual FoxPro based JSON service on the server using Web Connection. You'll see what's involved in building rich client-side interactivity using AngularJS and the Bootstrap CSS framework as well how to build service interfaces that can provide the data to provide to the front end application.
You will learn:
Prerequisites: Some familiarity with HTML, JavaScript and CSS
Presenter: Phil Sherwood
Level: All levels
When: Saturday, October 17, 8:30 - 9:45, Flagstaff (R1)
Sunday, October 18, 10:00 - 11:15, Flagstaff (R2)
Almost all of us can write code. That’s a given. What do we do when we need to work on the web? Usually we switch to creating static brochure-type sites. It doesn’t have to be this way! Creating a dynamic eye-appealing web site is within your grasp. In this session we’ll look at web design, specifically the client-side, to see how good looking sites are created. We’ll look at the tools and techniques used in front-end design. We’ll also explore how you can get up to speed fairly quickly by looking at the training options available.
You will learn:
Prerequisites: Familiarity with HTML