Welcome to LeanExecution!

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 LeanExecution@gmail.com or VergenceAnalytics@gmail.com.  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
Advertisements

Lean Programming – 5S for Code

I enjoy coding and learned many programming languages over the years. As diverse as these languages are, there is one trait that is consistent among them all: every instruction matters.

The principles of Lean, defined as “the pursuit of perfection to achieve excellence through the continual elimination of waste,” can also be applied to programming. The seven forms of waste are:

  • Defects: Bugs in our Code. Avoid using clever tricks or complicated code where a simple statement or expression is just as effective.
  • Overproduction: Features or functions that are not required,
  • Waiting: Synchronous versus asynchronous processes, load times, code sequencing, multi-core threading, distributed networking,
  • Inventory: Redundant Code,
  • Motion: Inefficient algorithms, poorly designed UI,
  • Over-processing: Unnecessary functions or capabilities. Deliver the solution requested per the scope of the application, no more, no less.
  • Transport: Movement of resources or data. Consider in memory processes versus disk intensive transactions, or client side versus server side data processing.

There is a notable difference between “sloppy programming” and clean code written by someone who knows better. Have you ever spent hours attempting to decipher someone’s code, or even your own? A clean, readable, and well documented file is much easier to work with and, more importantly, understandable.

5S Your Code

We can minimize some forms of waste by using a method known as 5S. IDE’s such as those offered by JetBrains, allow us to create a workspace for a given application, but we can extend this concept to each file or script too.

  1. Sort (Seiri): Eliminate all unnecessary tools, functions, comments, and resources. Choose meaningful file and variable names to minimize tedious and redundant comments in your Code.
  2. Set in Order (Seiton): Use an effective directory management strategy to organize all your files for quick and easy reference. Deploy an effective “Model, View, Controller” strategy when developing your applications. Restrict your functions to a single purpose to better enable re-usability.
  3. Shine (Seiso): Set and follow standardized coding guidelines and naming conventions. Deploy rigorous version control standards.
  4. Standardize (Seiketsu): Publish coding guidelines and maintain your Code accordingly.
  5. Sustain (Shitsuke): Cascade requirements and communicate expectations throughout the organization. Continually review and update the guidelines accordingly.

5S is one of the fundamental elements of Kaizen and, when practiced regularly, helps to minimize the seven wastes, allowing you to work effectively and efficiently.

Until Next Time – STAY lean!

Related Articles and Resources

What is 5S? – kanbanize.com

Give Your Fingers a Break

If everyday typing or keyboarding were a professional sport, we would be more inclined to pay attention to the keyboard at our finger tips. Does the quality of our keyboard affect or influence our efficiency and performance?

Gamers will spend hundreds of dollars on a keyboard to get the slightest edge over their competitors. Look and feel, layout, spacing, travel, shape, switch timing, macro keys, and key combinations can be the difference between winning and losing.

Many of us don’t view activities like programming, writing emails or reports, blogging, and working with spreadsheets, with the same degree of vigour and ambition. I doubt few of us would even begin to appreciate the technology behind one switching mechanism and the advantage it may have over another.

In the beginning …

We used manual typewriters in my grade nine high school typing class. A black ribbon fed between two spools with every long and forceful keystroke. I recall doing numerous exercises to give our “pinky” fingers an extra strength-building workout.

My grade 10 typing class was much more enjoyable as we moved on to electric machines. No more finger workouts, just focus on the task at hand – typing. My fingers could fly effortlessly across the keyboard.

The differences between manual and electric typewriters are many and quite obvious, even to the untrained eye. My typing speed increased dramatically using the electric machine. Achieving 140 words per minute is one of my more memorable achievements.

Just as notable are the physical and ergonomic benefits of the electric typewriter. By the time I finished high school and went on to college, computers began to appear and became an integral part of how we work. Any frustrations or efficiency issues I had with keyboards at the time seemed to all but disappear.

All was good until the IBM PC, and Compaq computers, among others, entered the workplace. Time to choose between the tactile feel of the PC and the soft mushy feel of the Compaq keyboard. Today’s computers and devices have brought a whole new realm of keyboard technologies along with them.

What Keyboards do I Use?

Logitech CRAFT

I use Logitech’s CRAFT keyboard on my home desktop. This is my favourite “third party” keyboard by far, and the flow technology coupled with my MAX Master 2S mouse allows me to switch between three devices on the fly.

Logitech K750

When I’m on the road, I use Logitech’s K750 Solar keyboard. I like the look and feel of this keyboard, USB or Bluetooth connectivity, and I never have to worry about batteries. Yes, I could use the keyboard on my client’s machines, but I prefer to work with my own keyboard and mouse, especially as the cold and flu season approaches.

Logitech K760

Logitech’s K760 solar keyboard is also a frequent traveller, especially when I’m working with multiple Bluetooth devices. While this keyboard lacks the convenience of the extended layout, the smaller footprint makes it easier to take with me where space is a concern. I have been using this keyboard and the K750 pictured above for quite a few years without issue.

Brydge 12. Pro 128

The Brydge 12.3 Pro 128 is the perfect match for my SurfacePro and is almost a twin to my MacBook Pro keyboard. The integrated SSD drive is a welcome added convenience. This keyboard looks great and carries well, although its much thicker than Microsoft’s SurfacePro keyboard offering.

As much as I like the minimalistic design of Microsoft’s SurfacePro keyboard, it is flimsy and tends to bounce if I get too aggressive with my keystrokes. While it’s great for traveling, I prefer something with a more substantial base when I’m working at a desk.

You may be wondering if I’ve ever been pleased with a keyboard that came with the computer. When it comes to laptops, the keyboard is one of the criteria I use in my selection. My 15″ MacBook Pro keyboard is the standard by which all others are measured.

The Republic of Gamers ROG Claymore is my keyboard of choice for gaming though I have very little time to play them. For an added touch of ingenuity, ROG SYNC also has synchronized lighting effects, fan speed control, and CPU temperature monitoring when connected to my ROG laptop.

Does your keyboard matter to you?

We each have our favourites and personal tastes. Some may not even think twice about their keyboard. As for me, I appreciate the experience a quiet, highly responsive, quality keyboard can bring. Of course we must always be mindful of the price we pay for the value we receive.

Whether a performance advantage or efficiency gain exists is subject to opinion. When I consider how many hours my fingers spend typing away at a keyboard, I give them a break and reward them with the best experience I can.

Until Next Time – STAY lean!

Versalytics

On the cutting edge of software

Updating software applications is a routine maintenance practice that many choose to ignore. While many of my applications are set to update automatically, I want to be sure they are current.

I prefer to update my core software packages manually and with good reason. Some updates can be “buggy” and blindly upgrading could shut an application or system down. Code that worked in one version may now refer to deprecated functions or features.

Integrated Development Environments or IDE’s and programming languages continue to evolve. Incorporating and taking advantage of new features and capabilities can make writing code that much more effective and efficient.

I use the suite of IDE’s by JetBrains and appreciate the value my subscription brings to make code that much easier to write and manage. Integrated version control is certainly one of the features that I have learned to depend on over the years.

Performing regular updates also makes it easier to keep up with changes as they occur as opposed to learning them in one sitting several releases later. There is always a risk to being on the cutting – or bleeding – edge of technology, but the rewards may be even greater.

Until Next Time, STAY lean!

Web Browsing with Brave

The Brave web browser addresses two of the most significant concerns when browsing the web: Security and Privacy. With the Brave browser, you don’t have to compromise when surfing the web. Keep your personal data private and secure. As an added bonus, you can save time and even earn rewards to view privacy-respecting ads.

After watching this video by MaxDapp, I was intrigued to give the Brave web browser a try. The browser displays the number of Ads and Trackers that have been blocked, HTTPS Upgrades, and the estimated time you saved by using the Brave browser.

The Brave browser works on mobile too and, depending on your data plan, it can save you money by blocking unwanted ads and trackers. The Brave browser also claims to be 2 to 8 times faster, saving time for things you’d rather be doing other than waiting. Visit the Brave Browser features page for more details.

Like other browsers – including Chrome, Edge, Tor, and Epic, to name a few – the Brave browser is built on Chromium; a free and open-source web browser initially developed by Google. Watch this video by ThioJoe to understand the differences between Chromium and Google’s Chrome browser.

I use a variety of browsers depending on the machine I’m working on. For quick searches, I usually default to using Edge on Windows machines or Safari on my Apple devices. I frequently use Firefox and Chrome across all of my devices as well.

Developing applications for the web typically requires testing across all of the major browsers. When developing code locally on my machine, I use Google’s Chrome browser or Mozilla’s Firefox browser and now the Brave browser has been added to the list.

undefined

After using the Brave browser for just under an hour, I was surprised to learn that 136 Cross-site trackers were blocked. For now, I will continue to use Brave and, instead of sacrificing my privacy and security, hopefully, save a little time and earn some revenue by viewing some ads.

I am not devoted or loyal to merely using one browser. I use the browser that serves my purpose or is most convenient at the time. As I’ve said many times before, “There’s always a better way and more than one solution.” This statement even applies to web browsing.

Visit the Brave Downloads page to get your Brave Browser surf the web with confidence.

Until Next Time – STAY lean!

Versalytics - Logo (293x293)

Related Articles and Resources – Web Browsers:

There are a number of web browsers to choose from and each carries its own unique features and capabilities. The following browsers are listed in alphabetic order and does not reflect any preference or ranking:

Microsoft Excel 2019 VBA and Macros

I received my paperback copy of Microsoft Excel 2019 VBA and Macros, by Bill Jelen and Tracy Syrstad, on December 31, 2018. I finally managed to work my way through it cover to cover and highly recommend this book for anyone wanting to learn how to be more productive with Excel using VBA.

This book presents a wide range of topics where you will learn how to take advantage of VBA and the new features available in Excel 2019. With the assumption that you already know how to use Excel, this book helps you to understand and take advantage of the many capabilities and features of VBA itself to enhance your experience as a user and to create effective and efficient applications.

If you want to increase your productivity with Excel 2019, then I highly recommend getting your copy of Microsoft Excel 2019 VBA and Macros. This is another welcome addition to our growing library of Excel books.

  • ISBN-13: 978-1-5093-0611-4
  • ISBN-10: 1-5093-0611-0
  • Pages: 585

Accompanying Excel workbooks with code, data sets, and bonus macros are available online for download.

Until Next Time – STAY lean!

JIRA Development Cookbook – Third Edition

JIRA Development Cookbook – Third Edition by Jobin Kuruvilla, September 2016, 598 pages. This book is available from Amazon in Paperback and Kindle Edition.

  • ISBN-13: 978-1785885617
  • ISBN-10: 1785885618

Delving into JIRA requires a minimum $10.00 per month expense per user after a free 7 day trial. The question is, does the expense justify the return?

We shall soon find out.

The Logitech CRAFT Keyboard is by far the best keyboard to grace my desktop. Protect your investment with the Hard Travel Case by co2CREA

Until Next Time – STAY lean!

Machine Learning Algorithms

The next book adventure is “Machine Learning Algorithms” by Giuseppe Bonaccorso, Packt Publishing, (Jul 2017), 360 pages.

My initial preview suggests there is a lot to learn and so little time. Perhaps its time to let machines do more of the work.

Until Next Time – Stay lean!

Related Articles and Resources

  • Python Machine Learning – Second Edition by Sebastian Raschka and Vahid Mirjalili, Pack Publishing, (Sep 2017).
  • Machine Learning for Developers by Rodolfo Bonnin, Pack Publishing, (Oct 2017).
  • Statistic for Machine Learning by Pratap Dangeti, Packt Publishing, (Jul 2017).
  • Mastering Java Machine Learning by Dr. Udav Kamath and Krishna Choppella, Pack Publishing, (Jul 2017), 556 pages.
  • Java Machine Learning for Computer Vision (Video) by Klevis Ramo, Pack Publishing, (Jul 2018), 5 hours 6 minutes.
  • Machine Learning in Java – Second Edition – by AshishSingh Bhatia and Bostjan Kaluza, Packt Publishing, Nov 2018, 300 pages.

JavaFX-12.0.1

With the recent release of Java Development Kit 12 (JDK 12), it’s time to upgrade to JavaFX-12.0.1 as well. JavaFX is now managed and released as it’s own independent entity and is not shipped as part of the Java Development Kit.

If you are new to Java and JavaFX, visit Getting Started with JavaFX 12 to install and test the latest version of JavaFX. Instructions are presented for use with Linux/Mac and Windows.

If you already have Java 12 installed, download the JavaFX runtime, unzip the file to your location of choice, and add the PATH_TO_FX environment variable: set PATH_TO_FX=”path\to\javafx-sdk-12\lib”

Now you’re ready to test the installation using the HelloFX.java sample which is available for download from GitHub.

From the command line, use javac to compile the program as follows:

  • javac –module-path %PATH_TO_FX% –add-modules javafx.controls HelloFX.java

Now execute the program using:

  • java –module-path %PATH_TO_FX% –add-modules javafx.controls HelloFX

If all went as planned, running the program should produce a window as pictured below:

Why JavaFX?

Every book, online tutorial, or course typically begin with writing programs that run on the console or terminal. An initial frustration for new users is that Interactive Development Environments or IDE’s such as Eclipse, NetBeans, or Visual Studio Code all use a Graphical User Interface or GUI interface and leaves us wondering why we can’t do graphics.

Of course, the books and tutorials do eventually address GUI’s; however, the subject of GUI’s is a topic for later chapters or course segments. Since JavaFX is not part of the JDK distribution, you must download it separately.

Until Next Time – STAY lean!

Related Articles and Resources

Lean Code and Comments

When I learned to program, hardware and storage were scarce. It is imperative for the code to be tight and the speed of execution is and remains a first and foremost concern. Achieving this isn’t always easy and often requires some very sophisticated programming techniques.

If there was ever a time or place to demand comments, a clever or complicated code sequence is it. Many books and courses will tell you to comment on your code and many experienced programmers do an excellent job of doing so. Writing clear and useful comments is as much a skill as it is a discipline.

The coding style where indentation, line length (80 characters maximum), avoiding the use of global variables and writing single purpose functions also help to understand and debug the code. Make your comments relevant and don’t restate what should already be clear.

Some will argue that good well-written code is self-documenting although my experience strongly suggests otherwise. Well-worded variable names are helpful; however, their intended purpose may not always be clear. Functions, subroutines, or classes may also have well-defined names yet arguments and/or parameters and results may not be.

I recently found myself having to debug a program I wrote over a year ago. The application was working on all machines but one. I learned that the client replaced the computer with an old legacy system. Fortunately, I have been working with PC’s for more years than I care to admit and understand what was happening and why.

Needless to say, were it not for the comments, fixing the issue in the actual code would’ve been a daunting task otherwise. The very sections of code that were to occupy my time were cause for previous visits. The comments clearly describe what the code sequence is supposed to do and the potential caveats to avoid.

Good Meaningful Comments

All of my code modules have an opening comment block that, aside from the author(s), date created, purpose, and revision, provide specific details regarding the methods/techniques and how they are used in the code to follow. Even the method of versioning the module is clearly outlined.

Complete history with version/revision number, date, and description of the changes accompanies the opening block. The specific changes are dated and documented in the revised code segments as well. Dating the changes in my code serves as a frame of reference and allows me to better recall the events that triggered the changes in the first place.

/* System.out.println(“Don’t use block comments to block out code\n”); */

Rule of Thumb

A good “rule of thumb” is to provide sufficient comments to reteach yourself or to teach others what the code is supposed to do. I also provide ample warnings and advise of possible side effects that code changes may introduce.

If there is ever a place to serve yourself best in your coding skills, it’s in the comments. Everything that appears fresh today will be everything but fresh a year from now. A well-documented program requires focus and discipline, but the effort will make the debugging process so much easier when you visit your work in the near or distant future.

Until next time, STAY lean!

Related Articles and Resources

Review – Microsoft Surface Keyboard

Microsoft Surface Keyboard - Unopened Box

Background

Everyone has a preference when it comes to keyboards. I know I do.  I’m a long time user of Logitech’s Solar K750 (USB) and K760 (Bluetooth) keyboards and I’m very happy with them. While the materials used in their construction are primarily plastic, they are sleek, well-crafted keyboards and I don’t have to worry about changing the batteries in the short term.

Logitech K760 KeyboardAlthough it doesn’t have a fully extended keyboard layout, the Logitech K760 is one of my personal favourites. I can connect it with any one of 3 devices and switch between them with the simple press of a function key. One keyboard for my iPhone, iPad, and MacBook Pro.

The profiles of all the Logitech Solar keyboards are minimal and rival those of any competitor. Lightweight, thin, and battery-free. With all this praise for Logitech’s keyboards, you may be wondering why I decided to take a look at the Microsoft Surface keyboard.

Why Change?

As I’ve said many times before, there’s always a better way and more than one solution. I watched and read a number of compelling reviews of Microsoft’s Surface Keyboard.  One reviewer claims he was typing at 105 words per minute and can now type up to 130 words per minute consistently. The reviewer also states the keys are quieter.

Aside from the minimalistic design of the keyboard, faster and quieter were two key (no pun intended) points that sparked my interest to find out just how good this keyboard is. I’m not a fan of battery powered keyboards but the benefit of having a quieter and more efficient typing experience may be worth the compromise. I decided to take a closer look at the Microsoft Surface keyboard.MicrosoftSurfaceKeyboardOpenBox

The footprint of the Microsoft Surface keyboard is minimal (420.90 mm x 112.60 mm x 19.30 mm high), requiring only enough space to accommodate the extended keyboard layout. The keyboard’s Bluetooth 4.0 wireless technology has a range of 7 to 15 meters, depending on your location, and makes connecting to your computer quick and easy.

Setting up the keyboard

Remove the keyboard from the box and remove the plastic ribbon that extends from under the magnetic battery cap on the rear of the keyboard. The battery cover is easily removed by pulling it away from the keyboard.

To pair the keyboard with your computer, simply press the “Bluetooth” button on the left end of the rear support bar for at least 3 seconds. A flashing light will appear above the “up arrow” key indicating the keyboard is ready to pair with your computer.

Microsoft Surface Keyboard ConnectedOn your computer, go to Windows Settings and select “Devices – Bluetooth, printers, mouse”. Click on the Bluetooth option and, when the “Manage Bluetooth devices” screen appears, click on the “Microsoft Surface Keyboard” icon. Using the Microsoft Surface keyboard, enter the password that appears on the screen.  Once paired, the keyboard’s device driver software installs automatically and the keyboard is ready to use.

First impressions

The angle of the keyboard, key spacing, and key travel make this keyboard quite comfortable to use. The key tops are relatively flat compared to my Logitech K750, but the fingers settle quite nicely as they should. Of course, your typing speed depends on your typing skills and ultimately how fast you can move your fingers.

Did my typing performance improve? I tested my typing speed using an online speed test and there was no measurable difference when using the Microsoft Surface keyboard or the Logitech K750 or K760 keyboards.

Finger movement across the keyboard is fluid though slightly more effort is required to strike the keys as compared to my Logitech keyboards. The difference is slight and may be less noticeable as I become accustomed to using this new keyboard.

Is the keyboard quieter? The tone of the key presses on the Microsoft Surface keyboard is lower pitched and the keys don’t “clack” as much when compared to my Logitech keyboards.  This may also be a factor of the keyboard’s inherent resonance by design and the materials used in its construction.

The keyboard feels solid thanks to the aluminum top and full-length contact between the base of the keyboard and my desk. A full-length rubber grip strip under the front of the keyboard and two shorter length grip strips along the rear support bar prevent the keyboard from slipping and also serve to prevent scratching your desktop.

The keyboard is not backlit but shift indicator lights appear on the Fn, Caps, ScrLk, and NumLk keys. My fingers know their way around a keyboard so backlighting isn’t an issue and the “F” and “J” keys have small raised bars making the “home row” easy to find.

The “Fn” key makes it easy to toggle or set which function key features are active. When the light is on, the function keys behave normally as F1 … F12. When the light is off, the “icon” features become the active function key behaviour.

The insert key does not have a shift state indicator light and there are times I wish it did. Most software applications will change the shape or size of the cursor to indicate whether you are inserting or overwriting text, however, this is not always the case.  I really can’t complain because other keyboards lack this feature as well.

The only concerns I have with the Microsoft Surface keyboard – at this time anyway – have to do with the power source. I don’t like batteries due to their potential impact on the environment. The Microsoft Surface keyboard is powered by two ‘AAA’ batteries that, according to the box, will last at least 12 months.

If the power source is limited by design, the least Microsoft could do is follow the footsteps of others like Apple or Logitech and provide a power status indicator. Always having to carry spare batteries is another of my pet peeves with portable with keyboards.

There is no disclaimer as to the type of batteries that can be used, so rechargeable batteries may be an option. A USB charging port to an internal battery may even prove to be a better option in the long run.

I knew the keyboard didn’t have the best of power options when I bought it so I really can’t spend a lot of time festering over it. However, considering the price of this keyboard, I was expecting more.

At $129.99 CAD the Microsoft keyboard carries a hefty price tag and is considerably more expensive than Logitech’s keyboards selling in the $75-$80.00 CAD range.

Overall, I’m quite impressed with the construction of the Microsoft Surface keyboard and intend to keep using it – at least until the batteries run out. As for the price, I find it relatively steep when compared to my Logitech keyboards and the performance is not necessarily worth the extra money.

The Microsoft Surface keyboard does not deliver the value for the money when other “as capable” keyboards are available at much lower prices.

Related Articles and Resources

Typing Trainer – 100% Free Online Typing Tutor for Everyone

Microsoft Surface Keyboard Review – My New Favourite – The Tech Chap (Video)

Microsoft Surface Keyboard – A Modern Looking Office Keyboard – Saleh Tech.

Hands-On with Microsoft Surface Keyboard and Surface Ergonomic Keyboard – The Mac Observer (Video)