This project was for Ruby Tuesday, and features things that are not public domain. As such, I do not have source code for this.

This project was one of the more straightforward ones, but it was also one of the few that I was allowed to do development work on. Early into my position with IT POS Systems we did a major system upgrade. We moved from Pentium 4 machines to 4th gen i5s, from Windows XP to Windows 7, and to a new major version of our POS system. As you can imagine, a lot of little things were involved here. One of the things that became a bigger issue was a stability problem with one of our workstation models. After this upgrade, this model would crash the POS application, forcing the stores to reboot these workstations pretty regularly.

By the time I got into this, we were manually pulling log files and crash dumps trying to find out the cause of this. We also wanted to give the stores a way to alleviate this faster. For that we needed some way to restart the POS client without rebooting.

Initially, restarting the POS client was the main requirement for this project, which I accomplished by writing a C# app to call the POS client and placed a shortcut (for which I created an icon for) on the workstation’s desktop. But, while working on this, I had an idea; why not automate all this data collection with it? My director liked the idea, and I expanded the application.

Pulling the data involved three parts: pulling the system logs (in this case we wanted System and Application event logs), pulling the Dr Watson logs (this was a POS Ready 2009 based system), and notifying us when it happened. I research WMIC commands and found command line functions to pull the logs, and used standard C# libraries to send us an email with links to the shared drive that the logs were being stored on. This not only saved time, but gave us fill visibility to the issue (as we got emailed every time they had to deal with it).

Leave a comment