Tag: Code

Lean Code and JavaScript IDE

BracketsJavascript is one of the more popular programming languages in use today and its use and capabilities are further enhanced by a variety of available frameworks, such as Node.js and AngularJS, and other libraries.

Although you can use almost any text editor to write Javascript, a language based Interactive Development Environment (IDE) or Code Editor can greatly improve your ability to write code more efficiently and effectively.  This is especially true where syntax and case sensitive languages – like Javascript – are concerned.

I use WebStorm by JetBrains for the majority of my web-based applications, however, a number of less capable cross-platform IDE’s and editors are also available for writing JavaScript, HTML, and CSS.  One such editor is Brackets created by Adobe Systems.

Review:  The 10 best JavaScript editors” by Martin Heller, Contributing Editor, InfoWorld (May 17, 2017) presents a number of JavaScript editors for consideration of which Brackets is among them.  I prefer to use cross-platform tools wherever possible and I use a variety of IDE’s and editors that are best suited for the project at hand.

Brackets is a light-weight open-source cross-platform editor equipped with sufficient functionality to efficiently write HTML, CSS, and JavaScript code.  A number of extensions are also available to further enhance your experience using Brackets.

Extensions are often written by third-party programmers or developers and should be installed with caution.  I highly recommend researching and reading reviews by others to ensure they are worthwhile and trustworthy.

If you are just learning JavaScript or writing a quick a script, consider the simplicity of using an editor like Brackets where you can focus on writing your code rather than get bogged down with learning all the details and nuances of a full-featured IDE.

If you’re wondering what kind of programs can be written using JavaScript, HTML, and CSS, you’ll have Brackets to serve as your source of inspiration as one of the many possibilities.  For more information, visit the Brackets web page.  As of this writing, Brackets 1.11 is available for download.

The excitement of learning a new language is often met with varying degrees of chaos and confusion when selecting the right tools to get started.  I recommend starting with something simple and less distracting that will allow you to focus on the task at hand.  Brackets is one such editor.

In time, you will learn which tools will best serve your needs and you can adjust your working and coding environment accordingly.  Feature filled IDE’s and Editors will do little to serve your needs if you have yet to learn or don’t know how to program.

Until Next Time – STAY lean!


Related Articles, Resources, and References


On Target Tangents

Time Tangents

Our world is full of distractions and we often find ourselves on a path that seems so distant from our original plan. We wonder where the time went and ask ourselves …

“How Did We Get There From Here?”

Are tangents disruptive impulses that take our eyes off of the goal, causing us to lose focus, and drain away our valuable time? Or, do we embrace them as an extension of “how we think” and seize the opportunity to expand the scope of our original thought processes.  Our desire to learn fuels our passion to …

Explore New Options

Some time ago we expressed our interest in learning the C++ programming language.  C++ is an amazing language and we have gained a real appreciation for object oriented programming.  While learning C++, we discovered that another very powerful language, Python, was written in C++.

Naturally, we decided to check out Python to see the power of C++ in action.  To our surprise, we learned that Python is readily available at no charge from https://python.org, is very powerful, and is an extremely versatile Object Oriented Programming language.  Python is also relatively easy to learn and is now our language of choice for rapid prototyping and development of complex solutions.

Today we discovered yet another language:  “Go”.  Coincidentally, we stumbled upon a post at TechCrunch.com titled, “Google’s Go:  A New Programming Language That’s Python Meets C++”.  We downloaded “Go” from GoLang.org to explore what this language brings to the table.

We’re committed to continue learning C++, however, we would be remiss if we decided to simply stick to the straight and narrow path of one language alone.  Where speed of execution is a factor, C++ prevails.  Where speed of execution, small size, and a “close to the metal” solution is required, Assembler takes precedent. However, where speed is less of a concern, a solution in Python is heavily favoured.  As we’ve stated many times before:

“There’s always a better way and more than one solution.” ~ Redge

When Opportunity Knocks … Answer

It would be easy to ignore the distractions that seem to stall our progress and keep us from reaching our destination, however, sometimes the journey is best enjoyed when we stop and take in the sights along the way.  In this case, the ride has been an eye opening experience.

Although we started our learning process with Python 2.7.6, we’re currently using Python 3.4.1.  Python is available and runs across the three platforms that concern us most:  Windows, OSX, and LINUX.  Soon after, we also downloaded Anaconda Python from Continuum Analytics.  The reasons for downloading Anaconda Python will become clear once you’ve had a chance to delve into the world of Python and all it has to offer.

Though we may have strayed from our C++ learning process for a short while, the Python experience has been and continues to be a tremendous journey.  Python has presented a realm of significant possibilities in Object Oriented Programming that would otherwise have remained a mystery.

Learning Python

A simple Google search for “Python Programming” will yield a host of web sites that offer tutorials, books, and so much more.  We started with a few simple books and added a few more that we purchased from our local book store to gain a sense of what Python had to offer:

The number of books available on the store shelves pales in comparison to the offerings available on Amazon.  We have since purchased a number of e-books that are easily and readily accessible using Kindle across multiple devices including my iPad and Surface Pro.  If you haven’t had a chance to work with Kindle, we highly recommend it.  It is an excellent app that makes reading e-books a breeze.

Unlocking Potential

Certainly this recent tangent has opened more doors than we could ever have imagined and we’re grateful for the experience.  While this may seem to have little to do with Lean or OEE, we would suggest otherwise.  Each program or script is comprised of multiple processes or series of processes and the environments in which they run are as diverse as the machines we find in manufacturing operations.  From our perspective, programming serves as an excellent surrogate to demonstrate lean practices and the effectiveness of our operations.

Just when you think you have all the answers, consider that one of them may hold more questions than you ever imagined.

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 feedback@leanexecution.ca or feedback@versalytics.com.  We look forward to hearing from you and thank you for visiting.

Until Next Time – STAY lean

Versalytics Associates

Executable Python on Windows

We provide solutions to our clients in a variety of forms.  Customized software solutions is just one of them and knowing more than one programming language makes it possible to choose an effective and efficient platform accordingly.

Python is a relatively simple yet powerful language. I was concerned that anyone wanting to use programs written in Python would also have to install Python on their system. After spending a little time researching Python on the internet, I was pleased to learn that Python programs can be converted into executable files – at least on Windows.

You can visit the py2exe.org website for more information including a tutorial and links to download the software required for your version of Python. To quote the first line of the py2exe.org Tutorial page:

py2exe turns Python programs into packages that can be run on other Windows computers without needing to install Python on those computers.

The py2exe installation wizard checks the version of Python installed on your machine. Be sure to select the py2exe version that matches the version of Python installed on your system.  The wizard will not install py2exe otherwise. I’m running Python version 2.7.6 on my Surface Pro 2 and successfully installed py2exe from Source Forge – py2exe for py 2.7

If programming is of interest to you, check out Python for yourself. Like so much on the web today, you can get everything you need to get started free of charge.  All you need is a computer, time, and a little determination.

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 feedback@leanexecution.ca or feedback@versalytics.com.  We look forward to hearing from you and thank you for visiting.

Until Next Time – STAY lean

Versalytics Analytics

Teaching with Analogies

Over the past few weeks we’ve been taking on the challenge of learning C++. We’ve made our way through the first of 7 books in the C++ All-In-One For Dummies 2nd Edition, by John Paul Mueller and Jeff Cogswell, and we’re working our way through chapter 6 of Sams Teach Yourself C++ in One Hour a Day Seventh Edition by Siddhartha Rao.


We’re going through both books at the same time and it’s fair to say that the approach for creating a foundation of knowledge on which to build is unique to each of them. Both books make heavy use of analogies to explain and build on the concepts as a means to create a form of intuitive instruction.

Remember Goldilocks

Both books assume little or no prior programming experience so establishing a base line from scratch is clearly a challenge, especially when there is no way for printed copy to determine our level of comprehension. C++ All-In-One For Dummies tends to offer too much explanation for even the simplest of concepts – almost to the point of creating confusion.

C++, like C, allows comments to be inserted throughout the code to help the developer and others understand the code in real English. I question why the authors of C++ All-In-One For Dummies chose to formally introduce comments in Chapter 8: Using Advanced C++ Features. Introducing comments earlier in the book would’ve allowed the authors to use comments to explain the code as part of the program listings rather than resorting to a drawn out line by line explanation in the text.

The presentation of material in Sams Teach Yourself C++ in One Hour a Day tends to be more thorough and the progression of topics from one chapter to the next is not as aggressive. Though analogies are used, the introduction of concepts is seemingly more structured – concepts are followed by relevant program listings and analysis. Each chapter concludes with a Summary, Q&A, and a Workshop comprised of a quiz and exercises to reinforce the concepts presented.

Goldilocks reminds us that we should present content that is “just right” – not too much, not too little – and in the right context. Suffice it to say that analogies are an effective tool for teaching abstract concepts, especially when it comes to learning a new language.

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 feedback@leanexecution.ca or feedback@versalytics.com.  We look forward to hearing from you and thank you for visiting.

Until Next Time – STAY lean

Versalytics Analytics