Versalytics - Lean Execution - Toronto, Ontario, Canada

Welcome to LeanExecution!

July 1, 2009 2 comments

Welcome! If you are a first time visitor interested in getting started with Overall Equipment Effectiveness (OEE), click here to access our very first post “OEE – Overall Equipment Effectiveness“.

We have presented many articles featuring OEE (Overall Equipment Effectiveness), Lean Thinking, and related topics.  Our latest posts appear immediately following this welcome message.  You can also use the sidebar widgets to select from our top posts or posts by category.

Free Downloads

All downloads mentioned in our articles and feature posts are available from the FREE Downloads page and from the orange “FREE Downloads” box on the sidebar.  You are free to use and modify these files as required for your application.  We trust that our free templates will serve their intended purpose and be of value to your operation.

Visit our EXCEL Page for immediate access to websites offering answers and solutions for a wide variety of questions and problems.  Click here to access the top ranking Excel Dashboards.  Convert your raw data into intelligent data to drive intelligent metrics that will help you to analyze and manage your business effectively.

Questions, Comments, Future Topics

Your comments and suggestions are appreciated.  Feel free to leave a comment or send us your feedback by e-mail to or  We respect your privacy and will not distribute, sell, or share your contact information to any third parties.  What you send to us stays with us.

Subscribe to our blog and receive notifications of our latest posts and updates.  Simply complete the e-mail subscription in the sidebar.  Thank you for visiting.

Until Next Time – STAY lean!

Vergence Analytics

SQLite Database Tools / Resources

July 10, 2015 Leave a comment

SQLite is powerful, fast, and supported by a number of languages including a few of our favorites Python, Tcl/Tk, C/C++, Java, Ruby, and more.  This post serves as a baseline for some of the resources that are freely available on the web:

Getting Started:

SQLite Official Site – Follow this link to learn more about SQLite and how to get started.

SQLDatabase Tools:

Although the Command Line Shell for SQLite can be used to create and work with your SQLite database, there are some fairly powerful (and free) tools that provide a more intuitive Graphical User Interface (GUI).

  • SQLite Expert:  As of this writing, version 3.5.83 is available as well as a 4.0 beta version.  The Personal versions are free, however, a professional version is available for a nominal fee.
  • SQLite Browser:  This SQLite utility can be used to create, design, edit, search and so much more.  Working with SQLite databases doesn’t get much easier than this.  (Windows / Mac / Linux).  Freeware.
  • SQLite Studio:  An SQLite database manager that runs on Windows / Mac OSx / Linux and also supports Exporting to, and importing from, a variety of file formats. This free utility also offers extra plugins for a nominal fee.
  • Mozilla Firefox:  If you’re running Mozilla Firefox, an extension, SQLite Manager, can be used to manage any database on your computer.

C/C++, Python, Java, and Tcl/Tk are the primary languages we use to work with SQLite databases.  However, it’s always good to have these tools at hand when things just don’t seem to be working as they should.

SQLite Tutorials / Information

This should be more than enough to get you started to begin exploring data solutions for your own applications.  One of the most significant challenges that programmer face is data structure.  An SQLite database may just be the efficient and effective solution you need to manage your data.

Using Tcl/Tk and SQLite – Solution for creating a database and entering basic data.

Until Next TimeSTAY lean!

Vergence Analytics

Don’t Panic – When Bad Things Happen

December 21, 2014 2 comments
WordPress dashboard interface

WordPress dashboard interface (Photo credit: Wikipedia)

Don’t Panic

Although the situation I am about to describe was successfully resolved, I felt compelled to share this event with you. Times like this expose our vulnerabilities and reinforce the adage to “expect the unexpected”.

The Situation

Imagine the shock and surprise followed by the deep, sinking feeling that set in when an unexpected notice suddenly appeared on my screen stating that our site was suspended effective immediately for failing to comply with’s terms and conditions. An attempt to visit our site from another computer confirmed it.

While you may not have noticed, I’m quite certain many others were wondering what was going on – especially first time visitors or recent subscribers. As our site often appears at the top of most Google searches – depending on the search term used – I can only imagine what was going through the minds of those who were attempting to visit.

After contacting WordPress, we learned that our site was subject to a spam detection error and suspended by the “system” in error. The fact that you’re reading this means the problem was successfully resolved by the great people at WordPress – apologies for the inconvenience included.

Expect the Best, Prepare for the Worst

While I am more than happy to have our site restored to full service, we needed more than just a simple backup of our data to preserve our blogging ecosystem. Our contingency plan included setting up a self hosted site and this event served as the trigger to make it a reality.

1617 A. SWETNAM School of Defence 56 He is a fool which will adventure all his goods in one ship.

Fortunately, provides several means for transferring or downloading a copy of your pages and posts. The suspension notice advised that the data for “your site” will only be available for a limited period of time.  Eventually all data will be completely removed from the system.

In other words, act quickly and methodically because the clock is ticking. Unless you’ve done this for yourself, there are a few items worth noting.

  • Although it’s possible to export the  entire site in a single XML file, the size of the file may exceed the import capacity of the new host.  Free XML import tools seem to have a limit of 1MB.   Our file exceeded this limitation.
  • The XML file does not include current subscribers or any of the data in your media gallery.
  • The current theme may not be available at the new host site and some of the functionality you may have expected has been lost.
  • Conversely, some themes offer more and better features than you may have expected.
  • Six (6) years of blogging creates a relatively large digital ecosystem with roots deeper than we first thought possible.

Corrective Actions

Setting up a self-hosted site may seem like an over-reaction to this situation, however, this event was very disturbing and quite unsettling, especially when we consider the number of visitors we receive over the course of a given day. Fortunately, this event occurred on a weekend when traffic volume is typically lower.

Since we already own several top-level domains, finding a hosting service was our next challenge.  We purchased our top-level domains from and decided to pursue our hosting services through them as well.

We found two (2) excellent services that offer a variety of WordPress themes, set up our domains, and began the process of transferring a copy of our blog over to the new sites.  It is possible to upload themes directly and there a numerous themes to choose from.

Although we found a site that offers the same “Inove” theme we are using here, we noted that this theme has not been updated for the past two (2) years. We selected the Responsive theme for our new site as it offers new functionality and features that includes mobile platforms.

Lessons Learned supports millions of bloggers and losing one – for whatever reason – is not going to have a significant impact on their continued and ever-growing success. This experience helped us to realize just how vulnerable we are when we trust our property, intellectual or otherwise, to an independent entity.  To circumvent the possibility of yet another catastrophic blogging event:

Statues of Don Quixote (left) and Sancho Panza...

Statues of Don Quixote (left) and Sancho Panza (right) (Photo credit: Wikipedia)

“It is the part of a wise man to keep himself today for tomorrow, and not venture all his eggs in one basket.”—Sancho Panza—Don Quixote (Part I, Book III, Chapter 9) by Miguel de Cervantes [1547-1616].

In simpler terms:  “Don’t put all your eggs in one basket!”

  • Have a contingency plan that includes creating a second, self-hosted site.  Note that it is possible to transfer your blog to a number of venues.  We successfully uploaded our XML data to several different platforms.
  • Prepare and Execute your contingency plan to determine and mitigate any risks or other consequential losses.
  • If you are presently blogging on, be aware that a complete XML copy of your site data may exceed the import limits of the receiving host – at least for the tools that are offered free of charge.
  • To minimize the size of the XML file, Pages and Posts can be exported separately.  You can also specify a date based range of posts to export. As such, you can create several smaller files that will contain all of your posts for a given period of time.
  • Perform regular exports of recent posts for importing to your self-hosted site and to serve as a local back up.
  • Transferring your site is not that difficult, however, will transfer your site for you for a fee.
  • Don’t be too naive. You are the only one who really cares about YOUR property – intellectual or otherwise. Although your subscribers and followers will be devastated, chances are you won’t be missed by the team unless you’re as big as the Huffington Post or some other notable blog venue.
  • When forced to look for options, there are better, feature filled alternative WordPress themes and options to be found. As we’ve said many times before, “There’s always a better way and more than one solution!”

Going Forward:

We recently celebrated six years of blogging on and plan to do so for many years to come.  While this experience has cast a shadow on our overall experience, we have learned yet again that we need to preserve and protect our own interests.

With over 218,000 page views from virtually every country around the world, we are doing something right. Our visitors and views continue to grow with each passing year. The top five countries that contributed to our Top Views this year are:

  1. United States
  2. India
  3. United Kingdom
  4. Canada
  5. Australia

On behalf of the Lean Execution Strategy Team, I appreciate and thank you for the privilege of serving you – our clients, subscribers, and visitors.  We wish each of you a happy holiday season and look forward to serving you in the new year with the best of successes in 2015.

Until Next Time – STAY lean!



GUI’s, wxPack, and wxWidgets

October 19, 2014 Leave a comment
The official wxPython logo

The official wxPython logo (Photo credit: Wikipedia)

wxWidgets and GUI’s

In our post “Where’s the Graphics? Learning from our Roots (Tcl / Tk)” we focused on Tcl/Tk as a primary GUI development language.  We also mentioned QT as a viable alternative.  QT provides a more powerful GUI development API when compared to Tcl/Tk, however, the licensing schema for QT is also more complex.

To paraphrase the description from the wxWidgets website, wxWidgets is a C++ library that includes bindings for C++, Python and other languages to create cross-platform applications for Windows, Mac OS X, Linux, and more.

wxWidgets is available free of charge and offers a comprehensive collection of widgets that make it ideally suited for advanced GUI intensive applications. By using the native platform API, wxWidgets provides a native look and feel to your applications.

The latest version of wxWidgets is 3.0.2 as announced in the latest news release dated October 6, 2014.


Thanks to wxPack, we’ve expanded our list of cross-platform GUI’s to include wxWidgets.  wxPack greatly simplifies the task of installing and setting up wxWidgets on your machine.  wxPack is a full wxWidgets Development Kit, complete with wxWidgets source and binaries, wxFormBuilder (RAD Tool), and more.  Without wxPack, installing wxWidgets is a task best left to more seasoned developers.


From a development perspective, wxFormBuilder is the tool that ultimately caught our attention.  More specifically, wxFormBuilder offers the following features that are ideally suited to our language base and development environments:

  • Visual design of wxWidgets dialogs, frames, panels, toolbars and menubars
  • Source code generation for C++, Python, PHP, Lua and XRC
  • Support for wxWidgets 3.0 widgets (wxRibbonBar, wxPropertyGrid, wxDataViewCtrl, …)
Python and Qt

Python and Qt (Photo credit: Wikipedia)

Selecting Your GUI Tool Kit

The wealth of information available to learn and implement Qt suggests it is one of the better supported GUI tool kits in general. TKinter (Tcl/Tk) is also well supported due to it’s inclusion with the standard Python distribution.  Regardless of the tool kit chosen, the initial learning curve can be rather steep for more complex applications.  The number of widgets and options available with each package only add to the challenge of which package to choose.

Keeping it Lean

Too many options can make for more complicated interfaces than are necessary to meet the needs of the application and it’s end users.  For Python, TKinter provides a minimal widget set that serves the majority of our requirements.  That it’s already included with the standard Python distribution makes TKinter an even more convenient and attractive option.

There are times where a higher level of complexity and sophistication is necessary.  Of course, to learn every GUI kit available isn’t an option available to everyone.  The wealth of information and code samples available for QT make it a highly regarded option.

wxWidgets may just be the Goldilocks solution, falling somewhere between simplicity and sophistication where the tools available make it “just right” to get the job done.  A quick review of the wxWidgets Class List suggests there are more than enough features to develop a robust GUI for your application.

Ultimately, the right choice is the tool kit that is both effective and efficient for the given application.  Simplicity serves the purpose best especially during rapid development cycles and iterations.

Your feedback matters

If you have any comments, questions, or topics you would like us to address, please feel free to leave your comment in the space below or email us at or  We look forward to hearing from you and thank you for visiting.

Until Next Time – STAY lean

Vergence Analytics

ActiveState Tcl

October 6, 2014 Leave a comment
Tkinter demo: many widgets

Tkinter demo: many widgets (Photo Leancredit: Wikipedia)

It’s hard to believe that one day after we published “Where’s the Graphics?” ActiveState released Tcl  Though the link to the download page remains the same, we updated the context of our post to reflect the latest version number.

Visit the ActiveState Tcl 8.6 page for more detailed information.  ActiveState’s ActiveTcl Community Edition is a free, ready-to-install distribution for Windows, Linux, and Max OSx.

Though other GUI options exist, Tcl/Tk is a proven technology that has persisted for more than 25 years.  The latest release offers features that continue to keep Tcl/Tk relevant and at the top of our GUI toolkit.

In addition to the numerous resources listed in our “Where’s the Graphics” post, a wealth of information can also be found at

Your feedback matters

If you have any comments, questions, or topics you would like us to address, please feel free to leave your comment in the space below or email us at or  We look forward to hearing from you and thank you for visiting.

Until Next Time – STAY lean

Vergence Analytics

Where’s the Graphics? Learning from our Roots (Tcl / Tk)

October 4, 2014 2 comments
Tkinter demo: many widgets

Tkinter demo: many widgets (Photo Leancredit: Wikipedia)

One of our “side bar” challenges is developing software solutions (applications) for our clients.  Simple or complex, they all have one element in common, a Graphical User Interface or GUI.

Imagine the surprise and disappointment on the faces of many beginning programmers and developers when they discover that powerful languages like Assembler, C, C++, and even Python start by teaching you how to write software from the command prompt!

We’ve been there too!  When we decided to learn Python – a powerful, high-level, dynamic interpreted scripting language that is quickly becoming the language of choice for new developers – we were just as surprised to be writing and running programs from the command line (C:\).  Even Python’s Interactive Development Environment (IDLE) uses a “prompt” driven interface.

Basic Fundamentals

Our journey with Python originated with our interest in learning C++.  When we discovered that Python is written in C++, we were curious to see how C++ could be used to create an even more powerful dynamic language.

Learning a language and creating a GUI are related but they are not necessarily the same.  Developing an application requires a solid understanding of the core language itself including its capabilities and constraints.  A GUI “simply” serves as a means of interacting with the core application without concern for how the program actually functions or performs internally.

By way of analogy, driving a car does not require us to understand the intricate functions of the engine and powertrain.  As drivers, we use a key to turn the engine on or off, a gear selector, the accelerator and brake pedals, and the  instrument panel – all of which are the equivalent of a GUI in terms of function – to control and monitor the vehicle.  As developers, however, we are more concerned with ensuring that the engine and powertrain function as expected.  In other words, the GUI can wait but it should still be a consideration during the development process.

Where’s the Graphics?

The result

The result (Photo credit: Wikipedia)

Is writing applications with a nice, clean, graphical interface a mystery that only professional programmers can master?  This answer may surprise you.  Anyone can create a GUI and there is yet another language for doing just that:  Tcl/Tkinter. Tcl is a general purpose scripting language developed by John Ousterhout in 1988 and was designed to enable communication between applications.   Tkinter is a cross platform toolkit that provides a variety of widgets for building GUI’s in many languages.

Most introductory books on Python are concerned with teaching the core fundamentals of the Python language itself, though some may provide a brief introduction to Tkinter.  It is significant that Tkinter is included as part of the Python distributions that are freely available for download from the website.  Including Tkinter in the Python distribution enables the development of simple to complex GUI’s for your application.

Back to the Beginning

Although other packages such as wxWidgets and PyQt are available, that Tkinter is included in the standard Python distribution makes it much easier to integrate and explore.

To fully understand the Tcl/Tk programming language, we decided to search for more information.  We discovered an excellent Tcl/Tk Tutorial at where we are served with a wealth of information for both Tcl and Tk.  This is certainly enough to whet your appetite for more.

The TutorialsPoint Tcl/Tk  Tutorial describes several features of Tcl and this is one that caught our attention:

 “You can easily extend existing applications with Tcl. Also, it is possible to include Tcl in C, C++ or Java to Tcl or vice versa.”

What seems like an overly extended tangent from our original pursuit of C++ has become a worthwhile journey.  One of our greatest frustrations while learning C (and C++) was the lack of information for developing a graphical interface for our applications.  It looks like we may have discovered something that will help us along the way for a variety of languages.

Tcl/Tkinter Resources:

If you are using an Apple computer, Tk and Python are already installed on your system as part of the OSx.  The versions installed depend on the version of OSx you are running on your computer.

We recommend visiting and searching for the term “Tcl/Tk”, without the quotes, using the site’s search box.  You will be presented with the latest version of Tcl (8.6.2) and variety of other related tools including several Tcl extension packages and IDE’s.

To get the latest copy of ActiveState‘s version ( of Tcl/Tk for your system (Windows, Linux, Mac OSx) visit the download page.  The community version is free and will be more than sufficient to get you started.  Click here to see some interesting code snippets or “recipes” on the ActiveState site that demonstrate some of the key features of Tcl/Tk.

We already suggested that TutorialsPoint offers an excellent introduction to Tcl/Tk Programming, however, we have also discovered several books that are worth mentioning to get you started:

Python and Tkinter GUI:

Python and Other GUI’s:

C++ and Qt:

English: Screenshot Qt Designer Русский: Скрин...

English: Screenshot Qt Designer Русский: Скриншот Qt Designer (Photo credit: Wikipedia)

While some are comfortable to accept the tools at face value, we found it helpful to delve into the core of Tkinter and Tcl to fully appreciate and understand the underlying language and tools that are available to us.


As Operating Systems continue to compete for market share, it is good to know that we have cross platform GUI options that will allow us to write applications that will work on all of them.  To this end, we’re less concerned about “who wins” and more concerned about writing efficient and effective applications for our clients.

Your feedback matters

If you have any comments, questions, or topics you would like us to address, please feel free to leave your comment in the space below or email us at or  We look forward to hearing from you and thank you for visiting.

Until Next Time – STAY lean

Vergence Analytics

Method Matters and OEE

September 21, 2014 Leave a comment
English: This figure demonstrates the central ...

English: This figure demonstrates the central limit theorem. It illustrates that increasing sample sizes result in sample means which are more closely distributed about the population mean. It also compares the observed distributions with the distributions that would be expected for a normalized Gaussian distribution, and shows the reduced chi-squared values that quantify the goodness of the fit (the fit is good if the reduced chi-squared value is less than or approximately equal to one). (Photo credit: Wikipedia)

Tricks of the Trade


Work smarter not harder! If we’re honest with ourselves, we realize that sometimes we have a tendency to make things more difficult than they need to be. A statistics guru once asked me why a sample size of five (5) is commonly used when plotting X-Bar / Range charts. I didn’t really know the answer but assumed that there had to be a “statistically” valid reason for it. Do you know why?


Before calculators were common place, sample sizes of five (5) made it easier to calculate the average (X-Bar). Add the numbers together, double it, then move the decimal over one position to the left.  All of this could be done on a simple piece of paper, using some very basic math skills, making it possible for almost anyone to chart efficiently and effectively.


  1. Sample Measurements:
    1. 2.5
    2. 2.7
    3. 3.1
    4. 3.2
    5. 1.8
  2. Add them together:
    • 2.5+2.7+3.1+3.2+1.8 = 13.3
  3. Double the result:
    • 13.3 + 13.3 = 26.6
  4. Move the decimal one position to the left:
    • 2.66

To calculate the range of the sample size, we subtract the smallest value (1.8) from the largest value (3.2). Using the values in our example above, the range is 3.2 – 1.8 = 1.4.


The point of this example is not to teach you how to calculate Average and Range values. Rather, the example demonstrates that a simple method can make a relatively complex task easier to perform.


Speed of Execution


We’ve written extensively on the topic of Lean and Overall Equipment Effectiveness or OEE as means to improve asset utilization. However, the application of Lean thinking and OEE doesn’t have stop at the production floor.  Can the pursuit of excellence and effective asset utilization be applied to the front office too?


Today’s computers operate at different speeds depending on the manufacturer and installed chip set. Unfortunately, faster computers can make sloppy programming appear less so. In this regard, I’m always more than a little concerned with custom software solutions.


We recently worked on an assignment that required us to create unique combinations of numbers. We used a “mask” that is doubled after each iteration of the loop to determine whether a bit is set. This simple programming loop requiring this is also the kernel or core code of the application.  All computers work with bits and bytes.  One byte of data has 8 bit positions (0-7) and represents numeric values as follows:


  • 0 0 0 0 0 0 0 0 =   0
  • 0 0 0 0 0 0 0 1 =   1
  • 0 0 0 0 0 0 1 0 =   2
  • 0 0 0 0 0 1 0 0 =   4
  • 0 0 0 0 1 0 0 0 =   8
  • 0 0 0 1 0 0 0 0 =  16
  • 0 0 1 0 0 0 0 0 =  32
  • 0 1 0 0 0 0 0 0 =  64
  • 1 0 0 0 0 0 0 0 = 128

To determine whether a single bit is set, our objective is to test it as we generate the numbers 1, 2, 4, 8, 16, 32, 64 and so on – each representing a unique bit position in binary form . Since this setting and testing of bits is part of our core code, we need a method that can double a number very quickly:


  • Multiplication:  Multiply by Two, where x = x * 2
  • Addition:  Add the Number to Itself, where x = x + x

These seem like simple options, however, in computer terms, multiplying is slower than addition, and SHIFTing is faster than addition.  You may notice that every time we double a number, we’re simply shifting our single “1” bit to the left one position.  Most computers have a built in SHL instruction in the native machine code that is designed to do just that.  In this case, the speed of execution of our program will depend the language we choose and how close to the metal it allows us to get.  Not all languages provide for “bit” manipulation.  For this specific application, a compiled native assembly code routine would provide the fastest execution time.  Testing whether a bit is set can also be performed more efficiently using native assembly code.


Method Matters


The above examples demonstrate that different methods can be used to yield the same result.  Clearly, the cycle times will be different for each of the methods that we deploy as well.  This discussion matters from an Overall Equipment Effectiveness, OEE, perspective as well.  Just as companies focus on reducing setup time and eliminating quality problems, many also focus on improving cycle times.


Where operations are labour intensive, simply adding an extra person or more to the line may improve the cycle time.  Unless we change the cycle time in our process standard, the Performance Factor for OEE may exceed 100%.  If we use the ideal cycle time determined for our revised “method”, it is possible that the Performance Factor remains unchanged.


Last Words


The latter example demonstrates once again why OEE cannot be used in isolation.  Although an improvement to cycle time will create capacity, OEE results based on the new cycle time for a given process may not necessarily change.  Total Equpiment Effectiveness Performance (TEEP) will actually decrease as available capacity increases.


When we’re looking at OEE data in isolation, we may not necessarily the “improved” performance we were looking for – at least not in the form we expected to see it.  It is just as important to understand the process behind the “data” to engage in a meaningful discussion on OEE.


Your feedback matters


If you have any comments, questions, or topics you would like us to address, please feel free to leave your comment in the space below or email us at or  We look forward to hearing from you and thank you for visiting.


Until Next Time – STAY lean




Versalytics Analytics


Flawed Execution: Performance Matters – Surface Pro 3

September 10, 2014 Leave a comment

Softpedia recently published an article titled, “New Intel Drivers Boost Surface Pro 3 Performance by 30 Percent“.  According to the article:

Intel says that the new drivers released for the HD 4400/5000 graphics used on the Core M processor range can improve performance by up to 30 percent, which means that the Surface Pro 3 can now reduce loading times and make the device faster overall.

Our Surface Pro 3, i7, is already a high performance machine, however, a free boost in performance from Intel would make it even more so.  The “updates” can be downloaded as zip files for both 32 and 64 bit machines.  Before you do … read on.

After downloading, extracting the files, and attempting to install we were greeted with the following unexpected message:

Intel Driver Update

We clicked “Yes” and read the information provided on the Intel support website.  After realizing that this could get more complicated than we anticipated, we decided to leave things as they are.

This little exercise certainly demonstrates what “Flawed Execution” looks like:  Excellent Intentions, Rough Plan, Execution Failure.  Our Surface Pro 3 configuration is factory set, “as is” out of the box.  Did someone actually succeed with the installation?  We can’t be sure.  The only comment posted under the article suggests that at least one other person tried and also failed.

Certainly other articles may have been published to announce the same performance improvements.  For now, it looks like we have a little more research to do before pursuing this potentially significant performance enhancement.


Even comments in the “Related Articles” suggest varying degrees of success.  Waiting for Microsoft to incorporate this improvement in a future update is likely the better route to take.  We attempted updating directly from Intel’s site, only to stumble on more concerns than we had hoped for.

Your feedback matters

If you have any comments, questions, or topics you would like us to address, please feel free to leave your comment in the space below or email us at or  We look forward to hearing from you and thank you for visiting.

Until Next Time – STAY lean

Vergence Analytics

Get every new post delivered to your Inbox.

Join 6,483 other followers

%d bloggers like this: