Home / Blogs

Just because you can, doesn’t mean you should

Things have changed a lot since I started in this business. In the “old days”, you could use any color combination you wanted on your HMI screen, as long as it was amber on a black background. You could use timers and counters in your ladder logic, as long as they were structured exactly right, and outputs always went at the end of the rung. Always.
read more…

Multi-Tasking is a Girl’s Best Friend

If you’ve ever worked in a small company, you know that you often have to wear many hats. When you’re being pulled in multiple directions, it’s important to manage your time well.  The secret is to work smarter, not harder.  Here are some tips on how to be productive and manage your time more effectively.
read more…

Programmer Humor: How to Write Unmaintainable Code

Recently I saw a humorous guide on GitHub titled, How To Write Unmaintainable Code. GitHub is primarily a repository for open source software, and therefore serves as a bastion for programmer humor. The author of the guide is claiming to be “passing on these tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes” so you can “Ensure a job for life”. While the guide is geared towards Java programming, most of the “tips and tricks” apply to all realms of coding. As an integrator the maintainability of the code is equally as important as functionality, so several of the points (listed below) particularly resonated with me.
read more…

How we learn….

In a recent project kick-off meeting, I explained to our client how our team would discover his process operations and then adapt our code standards and methods to his specific application. With a straight face and a deep stare, he replied, “I don’t want to pay for your learning curve, too.”
read more…

In Requirements and Life, a Picture is Worth a Thousand Words

Words can often be one of the least efficient methods of communication. Indeed, language is typically not the most effective tool when we use it to gain agreement on design elements and systems design approach. One of the reasons we employ an agile development methodology is to allow our customers the benefit of actually seeing and touching portions of their solution — an experience that helps them refine or agree on a system design without parsing every word in a sentence and making sure everyone agrees on a definition. Over the past few years we have had success in extending this visual approach to the starting point of agile development – requirements definition – by using UML (Unified Modeling Language) diagrams.
read more…