FoxCon Toledo 2017 Presentation – Using Machine Learning to Automatically Predict and Identify Defects in Automotive Assembly Processes

Operators use torque tools to build a car with nuts and bolts, but what happens when the tools themselves have problems? In this presentation Dave will examine a case study of how preventative maintenance and quality inspection can be improved by using machine learning to model the failures observed on the assembly line.  Learn how Bayesian prediction (frequently used in email spam filters) can be applied to predict and identify these failures before they occur.

Presentation download: [ machinelearningdefects PDF ]


FoxCon Toledo 2017 Conference Presentation Schedule

Saturday January 28

Time             Speaker                  Topic

08:00-09:00 Bob Ruple           Opening Comments

1 09:00-10:15 Bob Pierce          Controlling Factory Automation with VFP – Behind the Scenes

10:15-10:30                 Break

2 10:30-11:45 Doug Hennig       Windows Powershell – Batch Files on Steroids

11:45-12:45 pm             Lunch at Park Inn Hotel

3 12:45-02:00 Mike Levy           Building Hypermedia APIs Using .NET Core

02:00-02:15                 Break

4 02:15-03:30 David Johnson    Using Machine Learning to Automatically Predict and Identify Defects in Automotive Assembly Processes

03:30-03:45                Break

5 03:45-05:00 Dave Bernard     The Death of Privacy

Sunday January 29

Time            Speaker                   Topic

09:00-09:15  Bob Ruple         Opening Comments

6 09:15-10:15  Ondrej Balas     Identity Management in ASP.NET Core

10:15-10:45                Break

7 10:45-noon   Mike Feltman    Introducing F1 MD – Just What the Doctor Ordered

Noon-1:15 pm               Lunch at Park Inn Hotel

8 01:15-02:30  Mark Beno        CLEARPATH (CLEveland Area Research Platform for Advancing Translational Healthcare)

02:30-03:00                Closing Comments

3:00 pm                Conference Dismisses

FoxCon Toledo 2017 Software Developers Conference – Abstracts

*** Begin Abstracts ***

Bob Pierce               Allentown

Controlling Factory Automation With VFP – Behind The Scenes

Smooth-On, a manufacturer of liquid rubbers and plastics, recently moved their operation into a much larger facility near Allentown PA.  Last year Bob showed a case study of automating a large chemical manufacturing plant using Microsoft Visual FoxPro.  This year he pulls back the curtain and delves  into the structure and code that drives this process and how it is integrated into Smooth-On’s custom ERP/MRP (also created in VFP).

Dave Bernard           Atlanta

The Death of Privacy

Companies today can learn almost everything about everyone, especially where they are at any particular time, or where they’ve been over a period of time.  That’s because people holding smartphones carry transmitters of their geolocation data. The phone is the enabler.  I know Google, my Internet service provider, my credit card company, and my phone company all mine my personal data. One day I’ll know as much about me as Google and Facebook do! Facebook has your friends, Google has your email, Flickr has your pictures–everyone has the data that you created, but you don’t actually have control over it yourself.

David Johnson Toledo

Using Machine Learning to Automatically Predict and Identify Defects in Automotive Assembly Processes

Operators use torque tools to build a car with nuts and bolts, but what happens when the tools themselves have problems? In this presentation we will examine a case study of how preventative maintenance and quality inspection can be improved by using machine learning to model the failures observed on the assembly line.  Learn how Bayesian prediction (frequently used in email spam filters) can be applied to predict and identify these failures before they occur.

Doug Hennig Winnipeg

Windows PowerShell: Batch Files on Steroids

Windows PowerShell has been included with the operating system since Windows 7 and is available for download for Windows XP and Vista. What is PowerShell? It’s Microsoft’s task automation scripting framework. PowerShell isn’t just a replacement for batch files; it can do a lot more than batch files ever could. This session looks at PowerShell, including why you should start using it and how to create PowerShell scripts.

You will learn:

– Why PowerShell is useful

– How to create PowerShell scripts

– The basics of PowerShell programming

Mark Beno Cleveland

CLEARPATH (CLEveland Area Research Platform for Advancing Translational Healthcare)

As an academic collaboration between Case Western Reserve University, University Hospitals Cleveland Medical Center, and the Cleveland Clinic, the Institute for Computational Biology (ICB) uses the combined resources and expertise of these institutions to achieve its mission, to advance knowledge of human biology through computational methods on big and diverse datasets, and promote the translation of this knowledge into better diagnosis, prognosis, treatment, prevention, and delivery.

For this purpose, CLEARPATH (CLEveland Area Research Platform for Advancing Translational Healthcare) is being proposed to facilitate discovery and research with tools for generating a person’s single synthetic electronic medical record, cohort discovery, and population health analytics.   CLEARPATH aspires to provide a multi-institutional, broad clinical data exchange research collaborative focused on the Cleveland area (including data from, but not limited to, EHRs, disease registries, biorepositories, clinical trials databases, etc.)

Mike Feltman Toledo

Introducing F1 MD – just what the doctor ordered.

After developing several websites based on Angular and Angular Material I have cobbled together a seed project for new web sites. Mike is tentatively calling it F1 MD (the MD stands for Material Design).  F1 MD makes heavy use of Angular components as building blocks for typical, modern, responsive mobile-friendly websites. It also favors convention over configuration which makes getting a new site up and running with it a snap.  Although any back-end is easily supported, Mike makes heavy use of free storage and Internet services such as Google Drive, Google Sheets, YouTube and Google Calendars.  F1 MD includes components that make it easy to plug in items from any of the aforementioned services.

Mike Levy Cincinnati

Building Hypermedia APIs using .NET core

For the last couple of years, Mike has dedicated a part of his “saw sharpening” to the area of Hypermedia APIs. So when Microsoft released ASP.NET Core, it was only natural to jump into the platform and explore what the product team had delivered. This presentation is a report of his learnings.

Ondrej Balas Detroit

Identity Management in ASP.NET Core

Injecting custom code into authentication and authorization in ASP.NET has always been a chore. ASP.NET Identity is a library built to replace both ASP.NET Membership and Simple Membership, making it much easier to implement custom authentication and authorization without the need to rewrite core components. In this session Ondrej will go deep into the abstractions that ASP.NET Identity builds atop of, and show how to take advantage of these hook points to implement a custom membership system.

CodeMash 2017 Thu

How to Win Friends and Influence People With Data Visualization by Amanda Cinnamon.
This talk was pretty good because it covered the essentials about making good presentations. Focus on the action you want the audience to take. Don’t overwhelm with data. The default Excel charts and tables have too many useless lines. Try using tables for their layouts, not emphasizing or using their lines. Pie charts use a lot of space but make area comparisons hard (nonlinear).

Having said that, this presentation used a lot of xkcd comics, which is cheating. Also, the presenter seemed to be unaware of the wealth of existing books about making good presentations, in particular, How to Write and Publish a Scientific Paper by Robert A. Day. I emailed it to her, and she said she’d look into it. That’s a good outcome.

A math-free introduction to Neural Networks by Randall Koutnik.
UI/UX Netflix employee. Enthusiast, not expert. No math, high level talk. Mostly pictures and poorly hand-drawn diagrams. Recommendations: Use Python tensor flow learning, not JS. Try those ANN tutorials again using Tensor Flow. This wasn’t a good talk because I didn’t learn much. At least the presenter was entertaining with the “Calculords” and “Warror JS” projects he worked on, but I wasn’t convinced that he understood ANN very well.

Why Clock Speeds Won’t Be Getting Much Faster, or: EEs Are Amazing by Dan Wiebe. This was one of my favorite talks this year, despite it not being news for years. I really liked learning about the main factors currently limiting clock speeds in silicon: propagation delays, capacitative distortion, heat dissipation, speed of light, diode drop, and feature size (manufacturing contaminants). This presenter wasn’t an EE, and he didn’t seem to know much about the D latch (Flip flop) circuit he showed, but at least he got the facts right, and he gave a solid presentation.

A Synchronicity – Asynchronous Programming in Android by John Pendexter. This talk was pretty good because the presenter emphasized the two main rules of Android threading and gave specific examples of what can go wrong if you don’t. 1. Do not block the UI thread. 2. Do not access the UI outside the UI thread. (These are the same rules in every UI I’ve ever written for, i.e., Win32 and Android, but their exact details vary widely.) He covered a lot of libraries in a short time, but I was very satisfied with this presentation because I learned some new tricks for Loaders.

Digital Payments in a Mobile World by Parag Joshi. I enjoyed learning about the different payment methods (Square readers, Stripe, Android Pay, Apple Wallet). The variations in fees are somewhat surprising, but I guess everyone needs to make a profit somehow. It was valuable to learn that there is no “debug” mode for payment APIs. All calls are real! Refund fees are about 30%. Also: charities are treated very differently by some APIs.

Square readers for credit cards are used to build your own POS system. You can do NFC tap, chip reader, or mag stripe read. Square already has an app that businesses can use (no programming required). Even for 3rd party POS, Square App must be used. Fee for manually entering CC number is higher (due to fraud risk).

Python 3: It’s Time by Charles Yost. I’m a casual Python user, mostly for Scikit-learn, but I haven’t been happy to see the fragmentation of Python 2 vs 3. This talk convinced me that it’s OK to just ignore Python 2 at this point. Python 3.0.0 (2008) was a complete rewrite with sluggish performance and few packages. The point of the rewrite was to fix Unicode strings and byte encoding. 3.2.0 was the first good one. Integer division is now float by default, but floor is available. map and filter return iterators. range now behaves like xrange, and xrange is gone. pyenv – easily switch between versions of python.

Stranger Streams: How to RxAndroid by Michael Yotive. RxAndroid – subscribe to Android UI events as Observables. creates a pool of background threads, but they aren’t used unless you observe on them. Warning: Observables are immutable, so calling functions on them will create new Observables. So always use method chaining! Warning: Back Pressure – when consumers can’t consume events fast enough. Rx will throw “missing back pressure handler” exception; app dies.

CodeMash 2017 Plans

It’s time for CodeMash again. I’m looking forward to learning new things and getting outside my comfort zone, with respect to programming languages and new frameworks. Last year I tried to get familiar with Node.js and microservices. This year, I’m trying to go to more of the functional programming and machine learning talks. I’m somewhat sad that Stephen Cleary doesn’t have a presentation this year, and neither do I. I guess the reviewers want a wider variety of presenters, as the acceptance rate was under 20% and there are a lot of new presenters.

Anyway, we’ll see how it goes. Time to mash some code!


TWP Presentation: Real-time Messaging to Webapps from a Production Database

I am pleased to present a new talk, “Real-time Messaging to Webapps from a Production Database”. Click here to launch the non-interactive presentation. If you want to host by a local server to show the interactive version of the slides, follow the instructions here. Here is a link to the PDF version which should work even after all the javascript code has become too old to run in any browser.


WebSockets are a fast and efficient way to push data from servers to browsers on both desktop computers and mobile devices. Well-known examples include stock tickers, chat rooms (e.g. Slack), social media updates, and online games. Learn how WebSockets are used at the Jeep Wrangler plant for messaging and notifications for critical production activities.

This talk will demonstrate Java servlets with CometD, front-end jQuery code, and webapps currently being used to support production of 250,000+ Jeep Wranglers per year. By attending this talk, you will gain a better understanding of the constraints of an automotive assembly line and real-time messaging.

Bio – David Johnson is a software developer at the Toledo South Assembly Plant, which produces the Jeep Wrangler. David splits his time between writing webapps, and automation. He uses Java, C#, C++, and Javascript. Ask him about barcodes!

Happy Pi Day 2016! (Galperin’s method)

This year for Pi Day, I have a demo of π’s appearance in bouncing balls, also known as Galperin‘s method due to a paper published in 2003 (Playing Pool with π (the Number π from a Billiard Point of View”, Regular and Chaotic Dynamics, V. 8, No 4, 2003). Here is a youtube video demonstrating the phenomenon:

Numberphile also produced a video about it, and the NY Times Blog also gave a different derivation.

Here’s a link discussing the math.

Basically, conservation of momentum and conservation of energy produce a system of equations that reduce down to stating that the the cosine of the number of collisions will change from positive to negative at an integer equal to [10^N*π], so the number of collisions will produce digits of π!

FoxCon2016 – abstract and references

Abstract: Building Webapps to Help You Build a Jeep

Historically, automotive plant operators received part numbers and VINs in printed formats to run production line (including sub-assembly lines, e.g., sequencing and kitting). These “broadcasts” or build sheets were temporarily attached to cars and quickly discarded upon vehicle completion. In contrast to the traditional printouts, this talk will introduce mobile webapps as an effective way to replace paper printouts and provide vital production information quickly and efficiently. Videos of an automotive plant assembly line will illustrate how operators receive and use information from both the original paper and new webapp formats.

References and External Links (videos, etc.):

Megafactories Ford F150
23:50 final assembly – JPH through 25:49

Four Principles Lean Management – Get Lean in 90 Seconds

Megafactories Dodge Challenger
Broadcast sheets

Kanban Pull Simple Demo
Shows kitting concept

Sonic Production at Lake Orion
Shows kitting carts on the assembly line

Digital Picking System By nbtprofessional

Chrysler Group LLC Belvidere Assembly Plant
at 3:39, sequenced parts in carts

FoxCon2016 – Schedule

Saturday January 30

Time        Speaker        Topic

08:00-09:00 Bob Ruple      Opening Comments

1 09:00-10:15 Bob Pierce    Automating the manufacturing process powered by VFP – A Case Study

10:15-10:30                Break

2 10:30-11:45 Kevin Cully    Xojo Development with focus on 64bit apps and Raspberry Pi

11:45-12:45 pm             Lunch at Park Inn Hotel

3 12:45-02:00 Mike Levy     On my way through the Actor Model, I met Microsoft Orleans

02:00-02:15                Break

4 02:15-03:30 Ondrej Balas   Custom Middlewate in ASP.NET 5

03:30-03:45               Break

5 03:45-05:00 Dave Bernard   The Driverless Car Revolution

Sunday January 31

Time         Speaker       Topic

09:00-09:15  Bob Ruple     Opening Comments

6 09:15-10:30  David Johnson Building Webapps to Help You Build a Jeep

10:30-10:45                Break

7 10:45-Noon   Phil Sherwood The Business of Software

  Noon-1:15 pm               Lunch at Park Inn Hotel

8 01:15-02:30  Brian   Koryzinski          The Secrets of LINQ: the modern day Houdini/Introduction to  DocumentDB

02:30-03:00                Closing Comments

3:00 pm                    Conference Dismisses