Southwest Fox 2015
Southwest Xbase++ 2015

October 15-18, 2015
SanTan Elegante Conference Center
Gilbert, AZ

Southwest Fox 2015 Sessions

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.

Pre-Conference: These half-day sessions are offered on Thursday before the main conference starts, and are available for an additional cost; see the Register page for details.
Extending VFP: The sessions in this track look at ways to extend VFP's reach, by using it together with other products or by taking advantage of native extension capabilities, including working with SQL back-ends.
Solidifying VFP Development: This track appeals to all VFP developers. Sessions cover either VFP fundamentals, aimed at those newer to VFP, whether moving up from FP2.x or coming to VFP from other languages; VFP best practices, aimed at helping all VFP developers improve; or in-depth looks at aspects of VFP that some developers may not have mastered yet.
Taking Advantage of VFPX: The sessions in this track showcase the projects in VFPX, providing attendees with enough information to put those projects to work for them. These sessions are deep dives into specific VFPX projects.
Technology and Business for the Developer: This track looks at tools, technologies and techniques to make life as a developer easier and more productive. Topics in this track are application to both VFP and Xbase++ developers.
Web and Mobile: The sessions in this track are aimed at developers who want to learn more about creating web and connected mobile applications.

Keynote

Pre-Conference

Pre-ConferenceSolidifying VFP DevelopmentExtending VFP

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:

  • Where to find and how to install SQL Server Express and SQL Server Reporting Services
  • How to use Report Designer
  • Ways to tie data to reports
  • About the native Report Output Options
  • Differences between SSRS "express" and paid versions
  • Ways to "centralize" reporting services to be used by more than one type of client
  • Ways to render SSRS reports in Visual FoxPro
  • Methods for integrating existing report technology with SSRS reporting to create a common look and feel between reports

Prerequisites: None

Pre-ConferenceExtending VFP

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:

  • What the GemBox libraries can do
  • How they are licensed and what the costs are
  • How to perform a variety of tasks
  • What does not work from Visual FoxPro

Prerequisites: None

Pre-Conference

Presenters: Roger Donnay, Spyros Bobby Drakos
Level: All levels
When: Thursday, October 15, 9:00 - 12:00, Bisbee
Thursday, October 15, 1:00 - 4:00, Bisbee

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:

  • The Xbase++ Project file: creation of EXEs and DLLs
  • The compiler, linker and project builder
  • Console mode for quick migration of Fox 2.6 apps
  • INIT and EXIT procedures, DBESYS, APPSYS and MAIN
  • The DBE (Database engine)
  • LOCALS, STATICS, PRIVATE and PUBLIC variables
  • STATIC functions
  • New data types such as Code Blocks and Objects, also detached locals
  • The Reference operator, the Alias operator, and the Index operator
  • Multi-Dimensional arrays, including ragged arrays
  • The Pre-Processor and how to create your own commands
  • The Error Handler
  • Understanding the Xbase++ "Environment"
  • Xbase Parts for GUI elements
  • Multi-threading and workspaces
  • Class creation and usage, including methods and instance variables
  • ActiveX
  • The graphics engine and owner-drawing
  • The garbage collector

Prerequisites: Experience with Visual FoxPro or Clipper. Attendees should bring their laptops to the session.

Extending VFP

Extending VFP

Presenter: Doug Hennig
Level: All levels

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:

  • How and why to replace the VFP toolbar with a better control
  • About replacements for some VFP controls that are more attractive and provide more capabilities
  • How to combine your application's forms into a tabbed interface
  • How to replace various window elements such as the title bar or close button to give an alternative appearance

Prerequisites: None

Extending VFPPre-ConferenceSolidifying 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:

  • Where to find and how to install SQL Server Express and SQL Server Reporting Services
  • How to use Report Designer
  • Ways to tie data to reports
  • About the native Report Output Options
  • Differences between SSRS "express" and paid versions
  • Ways to "centralize" reporting services to be used by more than one type of client
  • Ways to render SSRS reports in Visual FoxPro
  • Methods for integrating existing report technology with SSRS reporting to create a common look and feel between reports

Prerequisites: None

Extending VFP

Presenter: Christof Wollenhaupt
Level: Intermediate

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:

  • How to access sensors
  • How to figure out if sensors are available
  • What can be useful in a business application

Prerequisites: None

Extending VFP

Presenter: Rick Strahl
Level: Intermediate

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:

  • About various Web service technologies available in .NET
  • How to call SOAP Web Services from Visual FoxPro using .NET
  • How to implement .NET Web Services and access FoxPro logic from .NET

Prerequisites: Some familiarity with .NET and COM Interop (both from VFP to .NET and from .NET to VFP)

Extending VFP

Presenter: Doug Hennig
Level: Intermediate

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:

  • What plug-ins are
  • The advantages of adding plug-in support
  • Several ways to implement plug-ins
  • A strategy for tying several techniques together
  • Some practical uses for plug-ins

Prerequisites: None

Extending VFP

Presenter: Tuvia Vinitsky
Level: Intermediate, Advanced

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:

  • Overview of dbSchema functionality
  • Creating databases, tables, triggers, and stored procedures
  • Working with layouts
  • Working with schema offline and live
  • Producing documentation
  • Schema management: updating servers and designs from each other
  • Data management via dbSchema

Prerequisites: Understanding of SQL Server databases and related functionality

Extending VFPPre-Conference

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:

  • What the GemBox libraries can do
  • How they are licensed and what the costs are
  • How to perform a variety of tasks
  • What does not work from Visual FoxPro

Prerequisites: None

Extending VFP

Presenter: Tamar E. Granor
Level: Intermediate, Advanced

The SQL 99 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:

  • How to find the top N records in a group
  • How to compute running totals and moving averages
  • How to compare data from multiple records side-by-side
  • How to divide records into n-tiles, including percentiles
  • How to search for records in a particular percentile

Prerequisites: Some familiarity with SQL

Extending VFPTaking Advantage of VFPX

Presenter: Rick Borup
Level: All levels

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:

  • How distributed version control systems work
  • How to install and get started with Git
  • How to install and get started with Mercurial
  • About the similarities and differences between Git and Mercurial
  • How to set up and use repositories on GitHub and Bitbucket
  • How to incorporate the new FoxBin2Prg project on VFPX into your daily workflow

Prerequisites: None

Extending VFPTaking Advantage of VFPX

Presenter: Rick Schummer
Level: All levels

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:

  • Explore the Data Explorer enhancements.
  • Determine how FoxBin2PRG fits in the binary source code flattening space.
  • Show how to spruce up application user interfaces with the ThemedTitleBars.
  • Get a quick overview of changes to the mighty Thor!
  • Check out advances in the Thor Repository.
  • See how to integrate credit card processing via Stripe.com using StripeX.
  • Look at the VFP 9 SP2 and Runtime Installer projects now hosted on VFPX.
  • ...and more as the year progresses.

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:

  • What is new in VFPX in 2015
  • How VFPX makes a developer's life easier
  • Where to get all the new goodness
  • Why it is more important than ever to get involved in VFPX

Prerequisites: None

Extending VFPTaking Advantage of VFPX

Presenter: Rick Schummer
Level: All levels

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:

  • About some Thor tools I find indispensable
  • How Thor's tools are assembled
  • What it takes to create a Thor tool
  • How to leverage and create Thor Templates

Prerequisites: Ability to install Thor on your computer, or have it installed already

Solidifying VFP Development

Solidifying VFP DevelopmentPre-ConferenceExtending VFP

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:

  • Where to find and how to install SQL Server Express and SQL Server Reporting Services
  • How to use Report Designer
  • Ways to tie data to reports
  • About the native Report Output Options
  • Differences between SSRS "express" and paid versions
  • Ways to "centralize" reporting services to be used by more than one type of client
  • Ways to render SSRS reports in Visual FoxPro
  • Methods for integrating existing report technology with SSRS reporting to create a common look and feel between reports

Prerequisites: None

Solidifying VFP Development

Presenter: Tamar E. Granor
Level: Intermediate

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:

  • How to figure out what's actually slowing things down
  • How to work with Coverage logs outside the Coverage Profiler
  • Why some "best practices" may not actually be best

Prerequisites: None

Solidifying VFP DevelopmentTechnology and Business for the Developer

Presenter: Tuvia Vinitsky
Level: All levels

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:

  • What is PCI
  • The 3 types of PCI and which apply to whom
  • What is my personal responsibility or liability?
  • Origin and structure of the PCI rules
  • PCI's original use: financial transactions
  • The New PCI covering everything
  • Enforcement: what happens when something goes wrong and somebody says "Were you PCI compliant?"
  • PCI certification - the in's and out's ot PCI audits
  • Exactly what programming do I need to have in my application?
  • Verifying your programming against the standards.

Prerequisites: Solid VFP knowledge

Solidifying VFP Development

Presenter: Spyros Bobby Drakos
Level: All levels

Xbase++ and Visual FoxPro are both powerful languages. They afford developers enough latitude to write complex and visually stimulating screen designs that are most part limited only by their imagination. However, the reasoning behind a complex screen design should not stem from our ability to creatively put objects together or mash color schemes, but rather from the correct usage of data placement within task oriented controls that guide logic flow to an intended goal. So understanding the relationships between controls and their interactivity with the user is well worth exploring. In addition, understanding the relationships between controls and the data they present also bears inspection.

Lastly, it should be said that the screen interface is an integral part of the user interface; some will argue that it is one and the same. However, there are times when a screen design will not follow the guidelines of UI design. How far should you stretch or ignore UI design guidelines is what we will cover in this session through real world examples of control design, task orientation, data presentation, and UI personalization.

You will learn:

  • About control customization
  • How to determine which control best suits a task
  • Dashboard design
  • Color scheming
  • Data grouping and presentation
  • Proper usage of browses
  • When to ignore the rules
  • When to change the way tasks are done

Prerequisites: Experience with XBase++ or Visual FoxPro code

Taking Advantage of VFPX

Taking Advantage of VFPXExtending VFP

Presenter: Rick Borup
Level: All levels

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:

  • How distributed version control systems work
  • How to install and get started with Git
  • How to install and get started with Mercurial
  • About the similarities and differences between Git and Mercurial
  • How to set up and use repositories on GitHub and Bitbucket
  • How to incorporate the new FoxBin2Prg project on VFPX into your daily workflow

Prerequisites: None

Taking Advantage of VFPXExtending VFP

Presenter: Rick Schummer
Level: All levels

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:

  • Explore the Data Explorer enhancements.
  • Determine how FoxBin2PRG fits in the binary source code flattening space.
  • Show how to spruce up application user interfaces with the ThemedTitleBars.
  • Get a quick overview of changes to the mighty Thor!
  • Check out advances in the Thor Repository.
  • See how to integrate credit card processing via Stripe.com using StripeX.
  • Look at the VFP 9 SP2 and Runtime Installer projects now hosted on VFPX.
  • ...and more as the year progresses.

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:

  • What is new in VFPX in 2015
  • How VFPX makes a developer's life easier
  • Where to get all the new goodness
  • Why it is more important than ever to get involved in VFPX

Prerequisites: None

Taking Advantage of VFPXExtending VFP

Presenter: Rick Schummer
Level: All levels

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:

  • About some Thor tools I find indispensable
  • How Thor's tools are assembled
  • What it takes to create a Thor tool
  • How to leverage and create Thor Templates

Prerequisites: Ability to install Thor on your computer, or have it installed already

Technology and Business for the Developer

Technology and Business for the Developer

Presenter: Toni M. Feltman
Level: All levels

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:

  • What makes a good manager
  • The roles that a manger might have to fill and why
  • About team size and how the roles differ based on the size
  • About non-traditional work environments and how they effect management and team dynamics: telecommuting managers, telecommuting workers, teams across time zones
  • About some tools that managers can use for measuring success

Prerequisites: None

Technology and Business for the Developer

Presenter: Rick Borup
Level: All levels

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:

  • About human perception and why vision trumps the other senses
  • Why visual data is more effective than raw numbers
  • About the importance of seeing data from the user’s point of view
  • How to move beyond simple charts and graphs
  • About tools and techniques for presenting data visually
  • How to lie with graphics, and how to tell when you're being lied to

Prerequisites: None

Technology and Business for the DeveloperSolidifying VFP Development

Presenter: Tuvia Vinitsky
Level: All levels

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:

  • What is PCI
  • The 3 types of PCI and which apply to whom
  • What is my personal responsibility or liability?
  • Origin and structure of the PCI rules
  • PCI's original use: financial transactions
  • The New PCI covering everything
  • Enforcement: what happens when something goes wrong and somebody says "Were you PCI compliant?"
  • PCI certification - the in's and out's ot PCI audits
  • Exactly what programming do I need to have in my application?
  • Verifying your programming against the standards.

Prerequisites: Solid VFP knowledge

Technology and Business for the Developer

Presenter: Phil Sherwood
Level: All levels

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:

  • How marketing and sales has changed
  • How to get found by potential customers
  • What types of content you need to be providing to help market your applications
  • How to keep track of who is looking at your applications and how to use that information

Prerequisites: An interest in marketing and sales

Technology and Business for the Developer

Presenter: Andreas Herdt
Level: Beginner, Intermediate

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:

  • About detecting file and registry access Problems
  • About using Windows Management Instrumentation from within your Xbase++ applications
  • About using the Process Monitor and Dependency Walker to analyze process initialization and application startup
  • About the resources being used by your process

Prerequisites: Basic knowledge of programming with Xbase++, Visual FoxPro or Clipper

Web and Mobile

Web and Mobile

Presenter: Rick Strahl
Level: All levels

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:

  • How to use the AngularJs JavaScript framework
  • About the Bootstrap CSS Framework
  • Why mobile development is different than standard Web development
  • About building mobile apps using Cordova
  • How to create JSON services using West Wind Web Connection

Prerequisites: Some familiarity with HTML, JavaScript and CSS

Web and Mobile

Presenter: Phil Sherwood
Level: All levels

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:

  • Why you need a dynamic web site
  • Why you need to use a CSS framework like Bootstrap or Foundation
  • How to get up to speed quickly in client-side programming using jQuery
  • A little about different training options

Prerequisites: Familiarity with HTML

Platinum Sponsors
Gold Sponsors