IDE WTF's



  • Right now I am doing work for a customer that involves using GE-IP's "Machine Edition" (ME). This is the graphical IDE that you use to program GE-IP's range of Programmable Logic Controllers (PLC's). The final target isn't important for this rant, but GE-IP hardware is used all over the manufacturing world and Machine Edition is their flagship IDE product. Here are just some of the fun things I am experiencing:

    • I am trying to understand and merge code from 3 different sources. But ME only allows one instance of itself to run, and only one project open at a time. So I have 3 full Windows 7 VMs running simultaneously, with a single copy of ME running in each one.
    • You can import libraries of code into what ME calls its Toolchest. You need to open a project before you can import a library, but the import is actually at the IDE level so that every other project you open sees the library you imported for the first project. That would be OK except that if you open a project that used a different version of the library (perhaps an older version) with functions of the same name - ME then crashes big time, with just "Kthxbye" on the way out
    • When you select code and hit copy its a crapshoot whether or not you will succeed in the copy, or just get a dialog box that says "Copy failed". Fortunately the code remains highlighted and doing the copy a second time always seems to work.
    • ME provides a nice list of all the variables in use in the project which are displayed along with 3 buttons that allow you to display different aspects of each variable (like type, address, comment act) in columns along side the name. Except those buttons are always grayed out and no one seems to know why. So you always have to select a variable and hit a "Properties" command to see the additional details. (actually I just found out there is a reason - they are not supported under Windows 7 64)
    • You can generate a bunch of reports about your code (such as a list of variables by type, a cross reference etc) which are rendered as HTML in a window inside the IDE .. but you can't save this data to an external file for additional analysis .. the best you can do is highlight the HTML and do a copy/paste into a external text editor - unless you want to print to a file
    • In a PLC, the concept of an un-initialized variable does not exist, and does not generate any warnings. You can generate a cross reference report from which you can manually search for un-initialized vars. You can generate a report of defined, but un-used vars, but there is no report of "un-initialized vars" .. hence my desire to post-process the cross ref.
    • There is no way to test your code without downloading it into the actual hardware. While you can think of a PLC as an embedded system, a PLC program is more like a Java program running on a JVM. But in this case the only GE-IP "JVM" available is the one on the actual hardware itself, even though that hardware is based on generic Intel CPUs. I can buy a test system if I wanted to, but the starting price is around $5k. But as I am being a cheapskate .. I'll do all my editing now and then in a few weeks time I'll visit my customer and do a mammoth testing and debugging session (which in fact is pretty much an industry wide accepted way of doing things).


  •  That sounds worse than the RealBasic IDE. My sympathies.



  • @OzPeter said:

    When you select code and hit copy its a crapshoot whether or not you will succeed in the copy, or just get a dialog box that says "Copy failed". Fortunately the code remains highlighted and doing the copy a second time always seems to work.

    How is it even possible to write code that shitty?



  • @blakeyrat said:

    How is it even possible to write code that shitty?
    using Visual Basic ?



  • @blakeyrat said:

    @OzPeter said:
    When you select code and hit copy its a crapshoot whether or not you will succeed in the copy, or just get a dialog box that says "Copy failed". Fortunately the code remains highlighted and doing the copy a second time always seems to work.

    How is it even possible to write code that shitty?

    VMWare View Client seems to be a lottery at times when copying and pasting between my local and remote machines.



  • Lotus Notes, the golden standard of fucking awful software everywhere, also has issues copying.

    But it doesn't SHOW A DIALOG BOX WHEN A COPY FAILS! Even Lotus Notes developers figured out THAT was a bad idea!



  • @blakeyrat said:

    Lotus Notes, the golden standard of fucking awful software everywhere, also has issues copying.

    But it doesn't SHOW A DIALOG BOX WHEN A COPY FAILS! Even Lotus Notes developers figured out THAT was a bad idea!
    My favourite LN bug at the moment (There are so many...) is that for roughly 20% of users that we support (Hundreds out of thousands, Independant of location/machine) there is no toolbar on the new mail screen with the options "Send", "Send and File", "Save as Draft"...

    To send mail, you need to go to the "Actions" menu, and "Send". Or, press F9, which refreshes the page and brings the toolbar into existance. Or, call Service Desk*.

    A Lotus Notes fixpack can fix the issue, but you can probably understand why we'd be hesistant to drop a Lotus Notes fixpack across thousands of computers...

    I really need to write these down and write a post later with a list of them...

    * Lotus Notes, as we all know, was developed entirely by IT Service Desk team members as an effort to ensure job security throughout their lifetime.



  • @blakeyrat said:

    How is it even possible to write code that shitty?
    Beats me, but I was reminded of Navision's
    <img src="http://eternallybored.org/tdwtf/navisioncut.png" alt="Cut selected lines?>



  • Obviously TRWTF is not using vim.


Log in to reply