Loading ...
Sorry, an error occurred while loading the content.
 

Re: [mach1mach2cnc] Re: NEW bug reporting proceedure ???

Expand Messages
  • Brian Barker
    Well I am thinking about starting a new product.. and the code with the base all redone would be called xxxxx (no idea at this time) and we would start fresh..
    Message 1 of 18 , May 1, 2009
      Well I am thinking about starting a new product.. and the code with the
      base all redone would be called xxxxx (no idea at this time) and we
      would start fresh.. this would allow me to redo the data structures and
      so on.. I have a version of Mach3 with the new comp code and a few other
      goodies.. but the last step that I would like to make just took it over
      the edge :( I have been working for 3 days and can't compile the code..
      that is a BIG change! This change is so big that I am thinking we need a
      new name.. So the plan is that the software without a name will be the
      next product... I will add some new tools and better interface for
      plugins.. The new tools will be GoTo's and I may even add some
      conditional codes ;) (I know Terry you will get what you have been
      asking for) also the base will be fully modular . At this time the
      current Mach3 is like tiptoeing through a mine field and it is time to
      divide it up in to some modular parts (That I can then work on).

      So Bug list will be for the new version of Mach3 with the new comp and
      toolpath. I will do small bug fixes and anything out of that scope will
      be put to the new program and tagged as Not doable in the current platform.

      Well just an idea at this point.. (Also don't see Turn getting multi
      turret code in this version.. Far to much work to get it to work in the
      current platform).

      Thanks
      Brian


      Terry Parker wrote:
      > HECK Brian, you have 2 hands and feet and ten fingers and toes teach them puppies how to type.
      >
      > NO help?? what am I chopped liver??? Don't answer that(;-)
      >
      > I think starting the bug list will help in the long run as it will flush out all the old quirks that have been forgotten. I assumed the dog ate the old list.(;-)
      >
      > (;-) TP
      >
      >
      >
      >
      >
      > --- In mach1mach2cnc@yahoogroups.com, Brian Barker <brianb@...> wrote:
      >
      >> Hello,
      >> It is in place.. I am thinking about holding the bug reporting for the
      >> 4.0 version.. :) I think that is where I am going to need the help.. I
      >> think the version that is on the web may stay where it is so I can have
      >> time to get 4.0 to the point I would like to have it at.. If I had a
      >> bunch of programmers working on this I could bug fix and develop at the
      >> same time.. But at the price we sell at I can't get any help ;( ... O
      >> well.. it is what we live with :)
      >>
      >> Thanks
      >> Brian
      >>
      >>
      >> Terry Parker wrote:
      >>
      >>> Is the new bug reporting proceedure in place yet????
      >>>
      >>> Where????
      >>>
      >>> (;-) TP
      >>>
      >>>
      >>>
      >>>
      >
      >
      >
      >
      > ------------------------------------
      >
      > www.machsupport.com - Web site AccessYahoo! Groups Links
      >
      >
      >
      >
      >
      >
    • paultitchener
      ... Hi Brian- I know as a programmer that its very hard to resist the temptation to be continually adding new features to a program. But at this point, for the
      Message 2 of 18 , May 1, 2009
        > This change is so big that I am thinking we need a
        > new name.. So the plan is that the software without a name will be the
        > next product... I will add some new tools and better interface for
        > plugins.. The new tools will be GoTo's and I may even add some
        > conditional codes ;)

        Hi Brian-

        I know as a programmer that its very hard to resist the temptation to be continually adding new features to a program.

        But at this point, for the best of your customers and your company I think its extremely important to focus now on supplying a release version of Mach that eliminates all the outstanding bugs and instabilities before adding any additional features.

        The problems with subroutines, feed hold, run from here and work offsets that are currently in the release version of the software are all "class A" bugs and really need to be eliminated, not in a development version that includes a lot of additional features, but in a stable release version of the software.

        From what I understand, the recent code restructuring makes it easier for you to repair these bugs, and I think it would really be best for every one to get that work done before adding any new features.

        I hate sounding like a broken record as I've recommended this in the past, but its also very important to keep an "active" (ie compilable) version of the release software alive so that any bugs that come up can be quickly fixed in that version, allowing a new release version to be made available that doesn't include any untested development code.

        I know, just what you want to hear, somebody trying to tell you how to run your business, but I sincerely think it would be in your best interest to seriously consider these suggestions, especially given the increased adoption of Mach by OEM customers.

        Thanks,

        Paul T.
      • Terry Parker
        Brian that sounds like a good plan. Put out the latest M3 with the comp code and toolpath display. Then lets debug it down to the bone and fix some old
        Message 3 of 18 , May 1, 2009
          Brian that sounds like a good plan. Put out the latest M3 with the comp code and toolpath display.

          Then lets debug it down to the bone and fix some old glitches and call it a day. Then it will be what it can be.

          Then take a little time and fix a few bugs in scream4 and Lcam needs a few things fixed.

          Then let it mature with ONLY bug fixes as can be made.


          Then you can start with a new base and work from there. Maybe even convert to a low cost PCI motion card control and leave the old LPT behind. Maybe a new Scurve option(;-) Rigid tapping(;-)

          Let me know IF I can be of help, (;-) TP



          --- In mach1mach2cnc@yahoogroups.com, Brian Barker <brianb@...> wrote:
          >
          > Well I am thinking about starting a new product.. and the code with the
          > base all redone would be called xxxxx (no idea at this time) and we
          > would start fresh.. this would allow me to redo the data structures and
          > so on.. I have a version of Mach3 with the new comp code and a few other
          > goodies.. but the last step that I would like to make just took it over
          > the edge :( I have been working for 3 days and can't compile the code..
          > that is a BIG change! This change is so big that I am thinking we need a
          > new name.. So the plan is that the software without a name will be the
          > next product... I will add some new tools and better interface for
          > plugins.. The new tools will be GoTo's and I may even add some
          > conditional codes ;) (I know Terry you will get what you have been
          > asking for) also the base will be fully modular . At this time the
          > current Mach3 is like tiptoeing through a mine field and it is time to
          > divide it up in to some modular parts (That I can then work on).
          >
          > So Bug list will be for the new version of Mach3 with the new comp and
          > toolpath. I will do small bug fixes and anything out of that scope will
          > be put to the new program and tagged as Not doable in the current platform.
          >
          > Well just an idea at this point.. (Also don't see Turn getting multi
          > turret code in this version.. Far to much work to get it to work in the
          > current platform).
          >
          > Thanks
          > Brian
          >
          >
          > Terry Parker wrote:
          > > HECK Brian, you have 2 hands and feet and ten fingers and toes teach them puppies how to type.
          > >
          > > NO help?? what am I chopped liver??? Don't answer that(;-)
          > >
          > > I think starting the bug list will help in the long run as it will flush out all the old quirks that have been forgotten. I assumed the dog ate the old list.(;-)
          > >
          > > (;-) TP
          > >
          > >
          > >
          > >
          > >
          > > --- In mach1mach2cnc@yahoogroups.com, Brian Barker <brianb@> wrote:
          > >
          > >> Hello,
          > >> It is in place.. I am thinking about holding the bug reporting for the
          > >> 4.0 version.. :) I think that is where I am going to need the help.. I
          > >> think the version that is on the web may stay where it is so I can have
          > >> time to get 4.0 to the point I would like to have it at.. If I had a
          > >> bunch of programmers working on this I could bug fix and develop at the
          > >> same time.. But at the price we sell at I can't get any help ;( ... O
          > >> well.. it is what we live with :)
          > >>
          > >> Thanks
          > >> Brian
          > >>
          > >>
          > >> Terry Parker wrote:
          > >>
          > >>> Is the new bug reporting proceedure in place yet????
          > >>>
          > >>> Where????
          > >>>
          > >>> (;-) TP
          > >>>
          > >>>
          > >>>
          > >>>
          > >
          > >
          > >
          > >
          > > ------------------------------------
          > >
          > > www.machsupport.com - Web site AccessYahoo! Groups Links
          > >
          > >
          > >
          > >
          > >
          > >
          >
        • cnc2@digitalfires.com
          I seem to recall hearing that Mach was under version control these days. One point of which is branching, no? Perhaps one for development and one for lock
          Message 4 of 18 , May 1, 2009
            I seem to recall hearing that Mach was under version control these days.

            One point of which is branching, no? Perhaps one for development and one
            for lock down?

            Which is a bitch till you get the hang of it, I well know.


            On Fri May 1 18:36 , 'Terry Parker' <vmax549@...> sent:

            >Then let it mature with ONLY bug fixes as can be made.
          • Brian Barker
            Well as a programmer you should understand that something I CAN T fix! The platform will not support it .. The new Version that I am looking at will have the
            Message 5 of 18 , May 1, 2009
              Well as a programmer you should understand that something I CAN'T fix!
              The platform will not support it .. The "new Version" that I am looking
              at will have the new structure to fix the bugs that you are seeing.. And
              at that they are not "bugs" more that the users would like to have a
              175.00 control software run like the 20K CNC they see on TV.. I
              understand that and think we should have it.. BUT it was never designed
              for that and I don't know what magic you can do in your code but I just
              can't pull it off.. Mach3 was born as a hobby level program with a
              Programmer that was not into CNC.. He learned as he went and because of
              that some of the underlying structure will not support what you are
              asking for.. So NO they are not bugs.. It is what it is.. So if you get
              an econo car and Try to push it and it breaks.. would you be that
              shocked... If you get a drill out of the local tool sale for 10.00 and
              burn it up and say .. well that was not up to the task of the Dewalt.

              SO I CAN'T DO IT! NOT GOING TO HAPPEN! That is all I can do... Not upset
              but I have told you a few times what I can do..

              Thanks for your understanding
              Brian


              paultitchener wrote:
              >> This change is so big that I am thinking we need a
              >> new name.. So the plan is that the software without a name will be the
              >> next product... I will add some new tools and better interface for
              >> plugins.. The new tools will be GoTo's and I may even add some
              >> conditional codes ;)
              >>
              >
              > Hi Brian-
              >
              > I know as a programmer that its very hard to resist the temptation to be continually adding new features to a program.
              >
              > But at this point, for the best of your customers and your company I think its extremely important to focus now on supplying a release version of Mach that eliminates all the outstanding bugs and instabilities before adding any additional features.
              >
              > The problems with subroutines, feed hold, run from here and work offsets that are currently in the release version of the software are all "class A" bugs and really need to be eliminated, not in a development version that includes a lot of additional features, but in a stable release version of the software.
              >
              > >From what I understand, the recent code restructuring makes it easier for you to repair these bugs, and I think it would really be best for every one to get that work done before adding any new features.
              >
              > I hate sounding like a broken record as I've recommended this in the past, but its also very important to keep an "active" (ie compilable) version of the release software alive so that any bugs that come up can be quickly fixed in that version, allowing a new release version to be made available that doesn't include any untested development code.
              >
              > I know, just what you want to hear, somebody trying to tell you how to run your business, but I sincerely think it would be in your best interest to seriously consider these suggestions, especially given the increased adoption of Mach by OEM customers.
              >
              > Thanks,
              >
              > Paul T.
              >
              >
              >
              > ------------------------------------
              >
              > www.machsupport.com - Web site AccessYahoo! Groups Links
              >
              >
              >
              >
              >
              >
            • Brian Barker
              Source control works fine IF you can have one of projects open at a time.. At the rate I need to work I have to work on both at the same time. As you can see I
              Message 6 of 18 , May 1, 2009
                Source control works fine IF you can have one of projects open at a
                time.. At the rate I need to work I have to work on both at the same
                time. As you can see I am getting pushed harder then most programmers. I
                NEED to budget my time ... No one knows what I am dealing with... Please
                accept what I am telling you as what I need to do I would truly
                appreciate it ;) .

                Thanks
                Brian


                cnc2@... wrote:
                > I seem to recall hearing that Mach was under version control these days.
                >
                > One point of which is branching, no? Perhaps one for development and one
                > for lock down?
                >
                > Which is a bitch till you get the hang of it, I well know.
                >
                >
                > On Fri May 1 18:36 , 'Terry Parker' <vmax549@...> sent:
                >
                >
                >> Then let it mature with ONLY bug fixes as can be made.
                >>
              • Jeffrey T. Birt
                I hear what you are saying Brian. I m in a similar spot on a project; simply can t bolt on more stuff as the underlying structure was not built for it. I m
                Message 7 of 18 , May 1, 2009
                  I hear what you are saying Brian. I'm in a similar spot on a project; simply
                  can't bolt on more stuff as the underlying structure was not built for it.
                  I'm sure that in the end we'll all have a better Mach than we can even
                  imagine.



                  Jeff Birt

                  Check out - Soigeneris.com



                  From: mach1mach2cnc@yahoogroups.com [mailto:mach1mach2cnc@yahoogroups.com]
                  On Behalf Of Brian Barker
                  Sent: Friday, May 01, 2009 8:10 PM
                  To: mach1mach2cnc@yahoogroups.com
                  Subject: Re: [mach1mach2cnc] Re: NEW bug reporting proceedure ???



                  Well as a programmer you should understand that something I CAN'T fix!
                  The platform will not support it .. The "new Version" that I am looking





                  [Non-text portions of this message have been removed]
                • Brian Barker
                  Yeah and the other problem is that I am only one man and I need more time ;) . Or I need to have a few programmers to pull off what I would like too.. But
                  Message 8 of 18 , May 1, 2009
                    Yeah and the other problem is that I am only one man and I need more
                    time ;) . Or I need to have a few programmers to pull off what I would
                    like too.. But then the price of the software would have to be more and
                    well as you can see that will just not work :( . So I will just keep
                    working on code all day till I die and have people bitch at me about how
                    and what I am doing.. I am starting to see that it is my place in life..
                    I am the ant under the magnifying glass (It is getting hot in here )! O
                    well we only live once !

                    That is it... this is all I can take for one day :) I think I may take
                    the weekend off too.. I have not taken one off in a VERY log time.. I
                    think that is my problem ;)

                    Thanks
                    Brian


                    Jeffrey T. Birt wrote:
                    > I hear what you are saying Brian. I'm in a similar spot on a project; simply
                    > can't bolt on more stuff as the underlying structure was not built for it.
                    > I'm sure that in the end we'll all have a better Mach than we can even
                    > imagine.
                    >
                    >
                    >
                    > Jeff Birt
                    >
                    > Check out - Soigeneris.com
                    >
                    >
                    >
                    > From: mach1mach2cnc@yahoogroups.com [mailto:mach1mach2cnc@yahoogroups.com]
                    > On Behalf Of Brian Barker
                    > Sent: Friday, May 01, 2009 8:10 PM
                    > To: mach1mach2cnc@yahoogroups.com
                    > Subject: Re: [mach1mach2cnc] Re: NEW bug reporting proceedure ???
                    >
                    >
                    >
                    > Well as a programmer you should understand that something I CAN'T fix!
                    > The platform will not support it .. The "new Version" that I am looking
                    >
                  • Leslie Newell
                    Hi Brian, The whole point of version control is that you can have as many different versions as you want, all being developed simultaneously. For instance with
                    Message 9 of 18 , May 2, 2009
                      Hi Brian,

                      The whole point of version control is that you can have as many
                      different versions as you want, all being developed simultaneously. For
                      instance with SheetCam I have the development version and the stable
                      version. The stable version is just a branch of the main trunk. I can
                      make any changes I want to the stable version and commit them to the
                      branch without affecting the development version in any way. The two
                      versions sit in different directories on my computer so I can build
                      either at any time.

                      If for some reason you have to build in a fixed directory (e.g c:\mach)
                      then you have two options.

                      1) Rename the directory that you aren't using at the time. For example
                      you could have c:\mach as the one you are working on and c:\mach.release
                      as the one you aren't wworking on. To build the release, rename the dev
                      version to c:\mach.dev and the release to c:\mach. It is a trivial task
                      to automate this with a batch file or two.

                      2) Commit the current version then check out the other version in it's
                      place. For a big project this is a bit slower than the previous method.

                      With ether method it is a matter of seconds or at the worst minutes to
                      switch between the two versions.

                      Les

                      Brian Barker wrote:
                      > Source control works fine IF you can have one of projects open at a
                      > time.. At the rate I need to work I have to work on both at the same
                      > time. As you can see I am getting pushed harder then most programmers. I
                      > NEED to budget my time ... No one knows what I am dealing with... Please
                      > accept what I am telling you as what I need to do I would truly
                      > appreciate it ;) .
                      >
                      > Thanks
                      > Brian
                      >
                    • art2
                      Les: (This isnt really a responce to Les s comments, but I off to vacation for a week, and since Im the most verbose among us, I thought I kick in a touch on
                      Message 10 of 18 , May 2, 2009
                        Les:

                        (This isnt really a responce to Les's comments, but I off to vacation for a week, and since Im the most verbose among us, I thought
                        I kick in a touch on development, versioning and why Brian sounds tired. Totally out of context and probably not required, but Im in vacation mode, so what the heck, and you know me, I love writing books... :-)

                        >>The whole point of version control is that you can have as many
                        different versions as you want, all being developed simultaneously

                        I know thats just about what Brian does. What has to be understood is that it isnt about file versions, Mach3 is not by any means a linear program, its logic is very intertwined with all modules using logic from other modules. Switching files takes only seconds, getting your head back into the logic of whats going on in each version is what takes the time. Misunderstanding what is going on is the killer of time, and getting your head into a position to understand the intrinsic changes involved in various versions is always the problem. A mistake in thinking will produce bugs that may not be seen for months. Mach3 is truly a program pushed to extraordinary limits in terms of what it does with the resources it has. As a result, the various versions he's working on are drastically different.

                        For example, you can have a development version that is currently in development, but the release version may be VERY different internally in how it does many operations. So a wrong assumption can cause you hours , if not days, of headaches when switching around. Much of that is my fault, one has to follow the sometimes tortured logic I used over the years on various features and operations people wanted. Mach3 is a very large code base, and its not properly bifercated along logical or class lines, its more of a labyrinth of logic progression which for any programmer would be very hard to follow at times. Some of this is due to the way I think, but much of it is due to the rather complex way Mach3 takes over Windows to do its job and its evolution form Master, to Mach1, Mach2 and finally to today.

                        Ideally, I would have made the Printer port simply a hardware level above the program, but in the beginning, I was only programming for the printer port, and the challenges I faced were ones that could not be solved conventionally, so the entire program pivoted on the capabilities of the driver itself, which is understood fully only by me, even to this point. In that, lies the
                        true nature of the dragon.

                        What Brian is doing isnt so much "feature" work while ignoring bugs, he's redeveloping it to be more conventional, to follow a proper logical flow with all modules reporting to a proper supervisor, and allowing for tracing and flow diagrams to show whats going on. This will take time, Im impressed by his work so far personally, and I can tell you the source is much better controlled now,
                        he knows whats going on in each version, but the work is arduous to remove the hooks I placed in there over time as the
                        driver grew up, and to understand the possible interactions involved in the most simplistic of "fixes" or changes. What sounds
                        trivial rarely is. When he says he's working on a "feature" , he really is describing an advantage of consolidation of poorly constructed modules to a more solid module and the added functionallity that allows as a matter of the conversion.

                        His responces I know sometimes show an exasperation that I think most misunderstand, it is agravating for him, as it was for me, when whats he's doing is misunderstood, or perhaps he misunderstands a request for a feature or a bug report, and takes
                        the heat. Any exasperation you see isnt really meant for the individual, but more to a sense of logical despair at the disposition
                        of the time required to repair or twist the code to perform properly. As a good friend, it wont surprise him when I say he isnt
                        the best person at explaining a situation or course of events to a group of people, some of us can blather on in detail,others are
                        the "engineering" type who's explainations are somewhat more curt. Its why I kick in sometimes to try to more fully explain a situation. Im a better teacher than a programmer in truth, Brians a better programmer than a teacher ( but only in email,in truth he excells at teaching in person and has taught me reams over the past year or two. ). I blame it on his extensive education, we high school dropouts are better at explaining why we screw up. :-)

                        I guess all I can tell you programmer types to explain it, is that his moves over the past year are slowly evolving the program to
                        a HAL layer type of code, where the printer port could be made a motion plugin, just like any other device, thus making the program
                        back into what it should have been, a linear responce engine that can coordinate events based on CNC logic and flow, rather
                        than a program that manipulates a driver to do what Windows was never meant to do, and switches hundreds of variables and states every 1/10th of a second. The benefits of such a move are enormous, and would make Mach3 much more conventional and erase 90% of possible bug interaction.

                        Personally, I agree with the thrust. To spend weeks fixing a "Pause" LED for example, wouldnt make much sense if the
                        redeveloped code could simply ask the supervisor "what mode are you in at the moment?", to find out if your in "Pause"
                        mode now would require checking dozens of operational modifiers across dozens of class objects and threaded modules, and then making a decision if that "looks" like everything is in pause mode. ( if there was such a mode. :-) ). But "fixing" a pause LED sure sounds simple.

                        This isnt a hit on anyone, I know that I, and Brian as well, always read comments and suggestions from other programmers as
                        being important, and you and others have certainly helped us both out over the years, and its always appreciated, so I write
                        this only so no-one seeing Brians exasperation thinks it directed at a person or suggestion, you guys are great supporters
                        and no-one in the development stream thinks otherwise, I just wanted to explain that Brians at the stage of a huge hump to
                        jump over, he's doing it well, and everyone I think will win from the end result, but we have to allow him to fight the dragons
                        he faces and understand that the situation is much like hiring a contractor to renovate your house, halfway in the look of the
                        house will discourage the owners and make them think "What DID I get into?", but soon, as the renovation gets closer
                        to completion, smiles occur all round as things look better.

                        Important bugs are of course given a priority to fix in a current version, but only Brian can really determine, with Scotts, Hoods,
                        Chips, and my feedback , what is an "Important" fix. Support feedback and load determines them primarily, and when consolidating
                        reports and suggestions from all of us, the "importance" of any report is determined properly. One has to remember there are over 20,000 users now, and group mail can be misleading as to current program status. Its much more complex than that in reality.
                        When the BUG system is implemented, when it can be, this will become more apparent I think, and everyone will be able to
                        see their report, and any status attached to it. As well as discuss the relativity of such reports. Im content to wait till the foundation
                        is properly hardened before starting to nail the 2x6's on that one.

                        Personally, Im off to the Sun for a week, ( I suggested he do the same, but that "work ethic" thing holds him back.), then
                        Ill be back at LTurn, ( which current testers tell me I "have" to finish for them, and I must admit its pretty promising :-) ), and a new RPM/Threading module using much more accurate timers. We all have our own dragons to slay. I just sometimes wish I had a better sword.

                        Thanks, I'll have a drink for you all..as usual, sorry for the long ramble, I must be getting old..
                        Art



                        ----- Original Message -----
                        From: Leslie Newell
                        To: mach1mach2cnc@yahoogroups.com
                        Sent: Saturday, May 02, 2009 4:19 AM
                        Subject: Re: [mach1mach2cnc] Re: NEW bug reporting proceedure ???





                        Hi Brian,

                        The whole point of version control is that you can have as many
                        different versions as you want, all being developed simultaneously. For
                        instance with SheetCam I have the development version and the stable
                        version. The stable version is just a branch of the main trunk. I can
                        make any changes I want to the stable version and commit them to the
                        branch without affecting the development version in any way. The two
                        versions sit in different directories on my computer so I can build
                        either at any time.

                        If for some reason you have to build in a fixed directory (e.g c:\mach)
                        then you have two options.

                        1) Rename the directory that you aren't using at the time. For example
                        you could have c:\mach as the one you are working on and c:\mach.release
                        as the one you aren't wworking on. To build the release, rename the dev
                        version to c:\mach.dev and the release to c:\mach. It is a trivial task
                        to automate this with a batch file or two.

                        2) Commit the current version then check out the other version in it's
                        place. For a big project this is a bit slower than the previous method.

                        With ether method it is a matter of seconds or at the worst minutes to
                        switch between the two versions.

                        Les

                        Brian Barker wrote:
                        > Source control works fine IF you can have one of projects open at a
                        > time.. At the rate I need to work I have to work on both at the same
                        > time. As you can see I am getting pushed harder then most programmers. I
                        > NEED to budget my time ... No one knows what I am dealing with... Please
                        > accept what I am telling you as what I need to do I would truly
                        > appreciate it ;) .
                        >
                        > Thanks
                        > Brian
                        >






                        [Non-text portions of this message have been removed]
                      • mvcalypso
                        ... One has to remember there are over 20,000 users now, ... Thanks, I ll have a drink for you all..as usual, sorry for the long ramble, I must be
                        Message 11 of 18 , May 2, 2009
                          --- In mach1mach2cnc@yahoogroups.com, art2 <fenerty@...> wrote:
                          < snip>
                          One has to remember there are over 20,000 users now, ...

                          Thanks, I'll have a drink for you all..as usual, sorry for the long ramble, I must be getting old..
                          > Art
                          >

                          Art, I'm not sure wether to feel a bit sligted that I'm only worth 1/20,000 of a drink or to worry about you having 20,0000 drinks in a week's vacation.... :-0

                          Dave
                        • Brian Barker
                          I wish I could tell it like Art... The myth! All that is spot on.. Thank you Art and have a great trip! Brian
                          Message 12 of 18 , May 2, 2009
                            I wish I could tell it like Art... The myth! All that is spot on..

                            Thank you Art and have a great trip!
                            Brian


                            art2 wrote:
                            > Les:
                            >
                            > (This isnt really a responce to Les's comments, but I off to vacation for a week, and since Im the most verbose among us, I thought
                            > I kick in a touch on development, versioning and why Brian sounds tired. Totally out of context and probably not required, but Im in vacation mode, so what the heck, and you know me, I love writing books... :-)
                            >
                            >
                            >>> The whole point of version control is that you can have as many
                            >>>
                            > different versions as you want, all being developed simultaneously
                            >
                            > I know thats just about what Brian does. What has to be understood is that it isnt about file versions, Mach3 is not by any means a linear program, its logic is very intertwined with all modules using logic from other modules. Switching files takes only seconds, getting your head back into the logic of whats going on in each version is what takes the time. Misunderstanding what is going on is the killer of time, and getting your head into a position to understand the intrinsic changes involved in various versions is always the problem. A mistake in thinking will produce bugs that may not be seen for months. Mach3 is truly a program pushed to extraordinary limits in terms of what it does with the resources it has. As a result, the various versions he's working on are drastically different.
                            >
                            > For example, you can have a development version that is currently in development, but the release version may be VERY different internally in how it does many operations. So a wrong assumption can cause you hours , if not days, of headaches when switching around. Much of that is my fault, one has to follow the sometimes tortured logic I used over the years on various features and operations people wanted. Mach3 is a very large code base, and its not properly bifercated along logical or class lines, its more of a labyrinth of logic progression which for any programmer would be very hard to follow at times. Some of this is due to the way I think, but much of it is due to the rather complex way Mach3 takes over Windows to do its job and its evolution form Master, to Mach1, Mach2 and finally to today.
                            >
                            > Ideally, I would have made the Printer port simply a hardware level above the program, but in the beginning, I was only programming for the printer port, and the challenges I faced were ones that could not be solved conventionally, so the entire program pivoted on the capabilities of the driver itself, which is understood fully only by me, even to this point. In that, lies the
                            > true nature of the dragon.
                            >
                            > What Brian is doing isnt so much "feature" work while ignoring bugs, he's redeveloping it to be more conventional, to follow a proper logical flow with all modules reporting to a proper supervisor, and allowing for tracing and flow diagrams to show whats going on. This will take time, Im impressed by his work so far personally, and I can tell you the source is much better controlled now,
                            > he knows whats going on in each version, but the work is arduous to remove the hooks I placed in there over time as the
                            > driver grew up, and to understand the possible interactions involved in the most simplistic of "fixes" or changes. What sounds
                            > trivial rarely is. When he says he's working on a "feature" , he really is describing an advantage of consolidation of poorly constructed modules to a more solid module and the added functionallity that allows as a matter of the conversion.
                            >
                            > His responces I know sometimes show an exasperation that I think most misunderstand, it is agravating for him, as it was for me, when whats he's doing is misunderstood, or perhaps he misunderstands a request for a feature or a bug report, and takes
                            > the heat. Any exasperation you see isnt really meant for the individual, but more to a sense of logical despair at the disposition
                            > of the time required to repair or twist the code to perform properly. As a good friend, it wont surprise him when I say he isnt
                            > the best person at explaining a situation or course of events to a group of people, some of us can blather on in detail,others are
                            > the "engineering" type who's explainations are somewhat more curt. Its why I kick in sometimes to try to more fully explain a situation. Im a better teacher than a programmer in truth, Brians a better programmer than a teacher ( but only in email,in truth he excells at teaching in person and has taught me reams over the past year or two. ). I blame it on his extensive education, we high school dropouts are better at explaining why we screw up. :-)
                            >
                            > I guess all I can tell you programmer types to explain it, is that his moves over the past year are slowly evolving the program to
                            > a HAL layer type of code, where the printer port could be made a motion plugin, just like any other device, thus making the program
                            > back into what it should have been, a linear responce engine that can coordinate events based on CNC logic and flow, rather
                            > than a program that manipulates a driver to do what Windows was never meant to do, and switches hundreds of variables and states every 1/10th of a second. The benefits of such a move are enormous, and would make Mach3 much more conventional and erase 90% of possible bug interaction.
                            >
                            > Personally, I agree with the thrust. To spend weeks fixing a "Pause" LED for example, wouldnt make much sense if the
                            > redeveloped code could simply ask the supervisor "what mode are you in at the moment?", to find out if your in "Pause"
                            > mode now would require checking dozens of operational modifiers across dozens of class objects and threaded modules, and then making a decision if that "looks" like everything is in pause mode. ( if there was such a mode. :-) ). But "fixing" a pause LED sure sounds simple.
                            >
                            > This isnt a hit on anyone, I know that I, and Brian as well, always read comments and suggestions from other programmers as
                            > being important, and you and others have certainly helped us both out over the years, and its always appreciated, so I write
                            > this only so no-one seeing Brians exasperation thinks it directed at a person or suggestion, you guys are great supporters
                            > and no-one in the development stream thinks otherwise, I just wanted to explain that Brians at the stage of a huge hump to
                            > jump over, he's doing it well, and everyone I think will win from the end result, but we have to allow him to fight the dragons
                            > he faces and understand that the situation is much like hiring a contractor to renovate your house, halfway in the look of the
                            > house will discourage the owners and make them think "What DID I get into?", but soon, as the renovation gets closer
                            > to completion, smiles occur all round as things look better.
                            >
                            > Important bugs are of course given a priority to fix in a current version, but only Brian can really determine, with Scotts, Hoods,
                            > Chips, and my feedback , what is an "Important" fix. Support feedback and load determines them primarily, and when consolidating
                            > reports and suggestions from all of us, the "importance" of any report is determined properly. One has to remember there are over 20,000 users now, and group mail can be misleading as to current program status. Its much more complex than that in reality.
                            > When the BUG system is implemented, when it can be, this will become more apparent I think, and everyone will be able to
                            > see their report, and any status attached to it. As well as discuss the relativity of such reports. Im content to wait till the foundation
                            > is properly hardened before starting to nail the 2x6's on that one.
                            >
                            > Personally, Im off to the Sun for a week, ( I suggested he do the same, but that "work ethic" thing holds him back.), then
                            > Ill be back at LTurn, ( which current testers tell me I "have" to finish for them, and I must admit its pretty promising :-) ), and a new RPM/Threading module using much more accurate timers. We all have our own dragons to slay. I just sometimes wish I had a better sword.
                            >
                            > Thanks, I'll have a drink for you all..as usual, sorry for the long ramble, I must be getting old..
                            > Art
                            >
                            >
                            >
                            > ----- Original Message -----
                            > From: Leslie Newell
                            > To: mach1mach2cnc@yahoogroups.com
                            > Sent: Saturday, May 02, 2009 4:19 AM
                            > Subject: Re: [mach1mach2cnc] Re: NEW bug reporting proceedure ???
                            >
                            >
                            >
                            >
                            >
                            > Hi Brian,
                            >
                            > The whole point of version control is that you can have as many
                            > different versions as you want, all being developed simultaneously. For
                            > instance with SheetCam I have the development version and the stable
                            > version. The stable version is just a branch of the main trunk. I can
                            > make any changes I want to the stable version and commit them to the
                            > branch without affecting the development version in any way. The two
                            > versions sit in different directories on my computer so I can build
                            > either at any time.
                            >
                            > If for some reason you have to build in a fixed directory (e.g c:\mach)
                            > then you have two options.
                            >
                            > 1) Rename the directory that you aren't using at the time. For example
                            > you could have c:\mach as the one you are working on and c:\mach.release
                            > as the one you aren't wworking on. To build the release, rename the dev
                            > version to c:\mach.dev and the release to c:\mach. It is a trivial task
                            > to automate this with a batch file or two.
                            >
                            > 2) Commit the current version then check out the other version in it's
                            > place. For a big project this is a bit slower than the previous method.
                            >
                            > With ether method it is a matter of seconds or at the worst minutes to
                            > switch between the two versions.
                            >
                            > Les
                            >
                            > Brian Barker wrote:
                            > > Source control works fine IF you can have one of projects open at a
                            > > time.. At the rate I need to work I have to work on both at the same
                            > > time. As you can see I am getting pushed harder then most programmers. I
                            > > NEED to budget my time ... No one knows what I am dealing with... Please
                            > > accept what I am telling you as what I need to do I would truly
                            > > appreciate it ;) .
                            > >
                            > > Thanks
                            > > Brian
                            > >
                            >
                            >
                            >
                            >
                            >
                            >
                            > [Non-text portions of this message have been removed]
                            >
                            >
                            >
                            > ------------------------------------
                            >
                            > www.machsupport.com - Web site AccessYahoo! Groups Links
                            >
                            >
                            >
                            >
                            >
                            >
                          • nc_karl
                            How come Art gets soooo many vacations? Wasn t it just last week that we saw a picture of him on a camel? I ve been retired 18 years and I haven t taken a
                            Message 13 of 18 , May 2, 2009
                              How come Art gets soooo many vacations? Wasn't it just last week that we saw a picture of him on a camel? I've been retired 18 years and I haven't taken a camel ride yet!

                              Have a great time, Art

                              Karl



                              --- In mach1mach2cnc@yahoogroups.com, art2 <fenerty@...> wrote:
                              >
                              > Les:
                              >
                              > (This isnt really a responce to Les's comments, but I off to vacation for a week, and since Im the most verbose among us, I thought
                              > I kick in a touch on development, versioning and why Brian sounds tired. Totally out of context and probably not required, but Im in vacation mode, so what the heck, and you know me, I love writing books... :-)
                              >
                              > >>The whole point of version control is that you can have as many
                              > different versions as you want, all being developed simultaneously
                              >
                              > I know thats just about what Brian does. What has to be understood is that it isnt about file versions, Mach3 is not by any means a linear program, its logic is very intertwined with all modules using logic from other modules. Switching files takes only seconds, getting your head back into the logic of whats going on in each version is what takes the time. Misunderstanding what is going on is the killer of time, and getting your head into a position to understand the intrinsic changes involved in various versions is always the problem. A mistake in thinking will produce bugs that may not be seen for months. Mach3 is truly a program pushed to extraordinary limits in terms of what it does with the resources it has. As a result, the various versions he's working on are drastically different.
                              >
                              > For example, you can have a development version that is currently in development, but the release version may be VERY different internally in how it does many operations. So a wrong assumption can cause you hours , if not days, of headaches when switching around. Much of that is my fault, one has to follow the sometimes tortured logic I used over the years on various features and operations people wanted. Mach3 is a very large code base, and its not properly bifercated along logical or class lines, its more of a labyrinth of logic progression which for any programmer would be very hard to follow at times. Some of this is due to the way I think, but much of it is due to the rather complex way Mach3 takes over Windows to do its job and its evolution form Master, to Mach1, Mach2 and finally to today.
                              >
                              > Ideally, I would have made the Printer port simply a hardware level above the program, but in the beginning, I was only programming for the printer port, and the challenges I faced were ones that could not be solved conventionally, so the entire program pivoted on the capabilities of the driver itself, which is understood fully only by me, even to this point. In that, lies the
                              > true nature of the dragon.
                              >
                              > What Brian is doing isnt so much "feature" work while ignoring bugs, he's redeveloping it to be more conventional, to follow a proper logical flow with all modules reporting to a proper supervisor, and allowing for tracing and flow diagrams to show whats going on. This will take time, Im impressed by his work so far personally, and I can tell you the source is much better controlled now,
                              > he knows whats going on in each version, but the work is arduous to remove the hooks I placed in there over time as the
                              > driver grew up, and to understand the possible interactions involved in the most simplistic of "fixes" or changes. What sounds
                              > trivial rarely is. When he says he's working on a "feature" , he really is describing an advantage of consolidation of poorly constructed modules to a more solid module and the added functionallity that allows as a matter of the conversion.
                              >
                              > His responces I know sometimes show an exasperation that I think most misunderstand, it is agravating for him, as it was for me, when whats he's doing is misunderstood, or perhaps he misunderstands a request for a feature or a bug report, and takes
                              > the heat. Any exasperation you see isnt really meant for the individual, but more to a sense of logical despair at the disposition
                              > of the time required to repair or twist the code to perform properly. As a good friend, it wont surprise him when I say he isnt
                              > the best person at explaining a situation or course of events to a group of people, some of us can blather on in detail,others are
                              > the "engineering" type who's explainations are somewhat more curt. Its why I kick in sometimes to try to more fully explain a situation. Im a better teacher than a programmer in truth, Brians a better programmer than a teacher ( but only in email,in truth he excells at teaching in person and has taught me reams over the past year or two. ). I blame it on his extensive education, we high school dropouts are better at explaining why we screw up. :-)
                              >
                              > I guess all I can tell you programmer types to explain it, is that his moves over the past year are slowly evolving the program to
                              > a HAL layer type of code, where the printer port could be made a motion plugin, just like any other device, thus making the program
                              > back into what it should have been, a linear responce engine that can coordinate events based on CNC logic and flow, rather
                              > than a program that manipulates a driver to do what Windows was never meant to do, and switches hundreds of variables and states every 1/10th of a second. The benefits of such a move are enormous, and would make Mach3 much more conventional and erase 90% of possible bug interaction.
                              >
                              > Personally, I agree with the thrust. To spend weeks fixing a "Pause" LED for example, wouldnt make much sense if the
                              > redeveloped code could simply ask the supervisor "what mode are you in at the moment?", to find out if your in "Pause"
                              > mode now would require checking dozens of operational modifiers across dozens of class objects and threaded modules, and then making a decision if that "looks" like everything is in pause mode. ( if there was such a mode. :-) ). But "fixing" a pause LED sure sounds simple.
                              >
                              > This isnt a hit on anyone, I know that I, and Brian as well, always read comments and suggestions from other programmers as
                              > being important, and you and others have certainly helped us both out over the years, and its always appreciated, so I write
                              > this only so no-one seeing Brians exasperation thinks it directed at a person or suggestion, you guys are great supporters
                              > and no-one in the development stream thinks otherwise, I just wanted to explain that Brians at the stage of a huge hump to
                              > jump over, he's doing it well, and everyone I think will win from the end result, but we have to allow him to fight the dragons
                              > he faces and understand that the situation is much like hiring a contractor to renovate your house, halfway in the look of the
                              > house will discourage the owners and make them think "What DID I get into?", but soon, as the renovation gets closer
                              > to completion, smiles occur all round as things look better.
                              >
                              > Important bugs are of course given a priority to fix in a current version, but only Brian can really determine, with Scotts, Hoods,
                              > Chips, and my feedback , what is an "Important" fix. Support feedback and load determines them primarily, and when consolidating
                              > reports and suggestions from all of us, the "importance" of any report is determined properly. One has to remember there are over 20,000 users now, and group mail can be misleading as to current program status. Its much more complex than that in reality.
                              > When the BUG system is implemented, when it can be, this will become more apparent I think, and everyone will be able to
                              > see their report, and any status attached to it. As well as discuss the relativity of such reports. Im content to wait till the foundation
                              > is properly hardened before starting to nail the 2x6's on that one.
                              >
                              > Personally, Im off to the Sun for a week, ( I suggested he do the same, but that "work ethic" thing holds him back.), then
                              > Ill be back at LTurn, ( which current testers tell me I "have" to finish for them, and I must admit its pretty promising :-) ), and a new RPM/Threading module using much more accurate timers. We all have our own dragons to slay. I just sometimes wish I had a better sword.
                              >
                              > Thanks, I'll have a drink for you all..as usual, sorry for the long ramble, I must be getting old..
                              > Art
                              >
                              >
                              >
                              > ----- Original Message -----
                              > From: Leslie Newell
                              > To: mach1mach2cnc@yahoogroups.com
                              > Sent: Saturday, May 02, 2009 4:19 AM
                              > Subject: Re: [mach1mach2cnc] Re: NEW bug reporting proceedure ???
                              >
                              >
                              >
                              >
                              >
                              > Hi Brian,
                              >
                              > The whole point of version control is that you can have as many
                              > different versions as you want, all being developed simultaneously. For
                              > instance with SheetCam I have the development version and the stable
                              > version. The stable version is just a branch of the main trunk. I can
                              > make any changes I want to the stable version and commit them to the
                              > branch without affecting the development version in any way. The two
                              > versions sit in different directories on my computer so I can build
                              > either at any time.
                              >
                              > If for some reason you have to build in a fixed directory (e.g c:\mach)
                              > then you have two options.
                              >
                              > 1) Rename the directory that you aren't using at the time. For example
                              > you could have c:\mach as the one you are working on and c:\mach.release
                              > as the one you aren't wworking on. To build the release, rename the dev
                              > version to c:\mach.dev and the release to c:\mach. It is a trivial task
                              > to automate this with a batch file or two.
                              >
                              > 2) Commit the current version then check out the other version in it's
                              > place. For a big project this is a bit slower than the previous method.
                              >
                              > With ether method it is a matter of seconds or at the worst minutes to
                              > switch between the two versions.
                              >
                              > Les
                              >
                              > Brian Barker wrote:
                              > > Source control works fine IF you can have one of projects open at a
                              > > time.. At the rate I need to work I have to work on both at the same
                              > > time. As you can see I am getting pushed harder then most programmers. I
                              > > NEED to budget my time ... No one knows what I am dealing with... Please
                              > > accept what I am telling you as what I need to do I would truly
                              > > appreciate it ;) .
                              > >
                              > > Thanks
                              > > Brian
                              > >
                              >
                              >
                              >
                              >
                              >
                              >
                              > [Non-text portions of this message have been removed]
                              >
                            • John Stevenson
                              ... On holiday AGAIN.....................????? John S.
                              Message 14 of 18 , May 2, 2009
                                --- In mach1mach2cnc@yahoogroups.com, art2 <fenerty@...> wrote:
                                >
                                > Les:
                                >
                                > (This isnt really a responce to Les's comments, but I off to vacation for a week, and since Im the most verbose among us, I thought
                                > I kick in a touch on development, versioning and why Brian sounds tired. Totally out of context and probably not required, but Im in vacation mode, so what the heck, and you know me, I love writing books... :-)


                                On holiday AGAIN.....................?????

                                John S.
                              • Dave
                                Probably way overdue Brian! I think I understand exactly where you are at - in more ways than one. Wrestling with a complex windows program like Mach that is
                                Message 15 of 18 , May 2, 2009
                                  Probably way overdue Brian!

                                  I think I understand exactly where you are at - in more ways than one.

                                  Wrestling with a complex windows program like Mach that is expected to
                                  work in real time is a huge and time consuming undertaking.

                                  No one should underestimate the effort required. Until you have been
                                  there, is it hard to fathom.

                                  Brian is a very bright guy, and he is doing the right things.

                                  Backup, give him some room..... ;-)

                                  Hang in there Brian!!!

                                  I just finished installing some high end servo gear recently only to
                                  have it flat-out fail. First the controller, and then the drive. (I
                                  didn't spec the gear) The tech support hotline had no answers. So we
                                  temporarily removed all of the high end servo controls and I dragged an
                                  old industrial PC into the plant, loaded up a licensed version of Mach3
                                  (thank you Scott) and the machine is now running with Mach3.

                                  My old PC (on loan) is running the machine while sitting on a fold up,
                                  plastic table, tied into a replacement Servo drive via step and
                                  direction and a PLC (also loaned) via Modbus. It has been running for
                                  just over a week now 24x7. It took me literally 20 minutes to show the
                                  engineer how to program Mach3 with Gcode so he could setup his own part
                                  programs. I did the first one with him and since then he has written 3
                                  more on his own. I think they will have processed roughly 10,000 parts
                                  by the end of this weekend. (About 1 part per minute)

                                  The high end servo drive and controller? - well those are sitting in
                                  foam padded boxes in the engineers office.

                                  The customer really likes the Mach3 solution and it will be permanently
                                  installed on a new small PC that will live in the control panel. That
                                  way I can get my PC and plastic fold up table back. :-)

                                  Now the salesman is wrestling with the customer over the commercial
                                  aspects on how to deal with the failed equipment - in the meantime Mach3
                                  is making parts and a very large farm equipment manufacturer (Yellow
                                  equipment, starts with a "C") is much happier and they have shipped
                                  several more tons of parts for processing.

                                  The I/O cables for the "high end servo controller" cost more than the
                                  Mach3 license!

                                  Have you made money with Mach3 today???

                                  Once again - Mach3 ROCKS !!!! :-)

                                  Dave
                                  Cole Controls Inc.


                                  Brian Barker wrote:
                                  >
                                  >
                                  > Yeah and the other problem is that I am only one man and I need more
                                  > time ;) . Or I need to have a few programmers to pull off what I would
                                  > like too.. But then the price of the software would have to be more and
                                  > well as you can see that will just not work :( . So I will just keep
                                  > working on code all day till I die and have people bitch at me about how
                                  > and what I am doing.. I am starting to see that it is my place in life..
                                  > I am the ant under the magnifying glass (It is getting hot in here )! O
                                  > well we only live once !
                                  >
                                  > That is it... this is all I can take for one day :) I think I may take
                                  > the weekend off too.. I have not taken one off in a VERY log time.. I
                                  > think that is my problem ;)
                                  >
                                  > Thanks
                                  > Brian
                                  >
                                  > Jeffrey T. Birt wrote:
                                  > > I hear what you are saying Brian. I'm in a similar spot on a
                                  > project; simply
                                  > > can't bolt on more stuff as the underlying structure was not built
                                  > for it.
                                  > > I'm sure that in the end we'll all have a better Mach than we can even
                                  > > imagine.
                                  > >
                                  > >
                                  > >
                                  > > Jeff Birt
                                  > >
                                  > > Check out - Soigeneris.com
                                  > >
                                  > >
                                  > >
                                  > > From: mach1mach2cnc@yahoogroups.com
                                  > <mailto:mach1mach2cnc%40yahoogroups.com>
                                  > [mailto:mach1mach2cnc@yahoogroups.com
                                  > <mailto:mach1mach2cnc%40yahoogroups.com>]
                                  > > On Behalf Of Brian Barker
                                  > > Sent: Friday, May 01, 2009 8:10 PM
                                  > > To: mach1mach2cnc@yahoogroups.com
                                  > <mailto:mach1mach2cnc%40yahoogroups.com>
                                  > > Subject: Re: [mach1mach2cnc] Re: NEW bug reporting proceedure ???
                                  > >
                                  > >
                                  > >
                                  > > Well as a programmer you should understand that something I CAN'T fix!
                                  > > The platform will not support it .. The "new Version" that I am looking
                                  > >
                                  >
                                  >
                                Your message has been successfully submitted and would be delivered to recipients shortly.