Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Weird and The Wonderful
  4. A career first for me

A career first for me

Scheduled Pinned Locked Moved The Weird and The Wonderful
hardwarecssdebuggingjsonperformance
19 Posts 11 Posters 4 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Greg UtasG Greg Utas

    And :laugh: There's probably a good business case for a site where developers saddled with this kind of thing can trade their jobs of breaking the perpetrators' legs.

    Robust Services Core | Software Techniques for Lemmings | Articles
    The fox knows many things, but the hedgehog knows one big thing.

    G Offline
    G Offline
    Gary Wheeler
    wrote on last edited by
    #3

    'twould be nice, except this guy passed away a couple of years ago :suss:.

    Software Zen: delete this;

    Greg UtasG D C 3 Replies Last reply
    0
    • G Gary Wheeler

      'twould be nice, except this guy passed away a couple of years ago :suss:.

      Software Zen: delete this;

      Greg UtasG Offline
      Greg UtasG Offline
      Greg Utas
      wrote on last edited by
      #4

      I guess the Simulation will get broken any day now... :)

      Robust Services Core | Software Techniques for Lemmings | Articles
      The fox knows many things, but the hedgehog knows one big thing.

      <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
      <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

      1 Reply Last reply
      0
      • G Gary Wheeler

        'twould be nice, except this guy passed away a couple of years ago :suss:.

        Software Zen: delete this;

        D Offline
        D Offline
        Daniel Pfeffer
        wrote on last edited by
        #5

        Gary Wheeler wrote:

        passed away a couple of years ago

        Did he fall, or was he pushed? :suss: :)

        Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

        G 1 Reply Last reply
        0
        • G Gary Wheeler

          I have been working as a developer for a little over 40 years. In all that time, I have kept my comments clean. I am an avid user of curse words in my normal conversations, both verbal and online. It just always seemed unprofessional to use vulgar language in my code. Until today.

          /***********************************************************
          * USELESS SHIT LEFT OVER FROM THE ORIGINAL IMPLEMENTATION *
          ***********************************************************/

          I am now saddled with responsible for a piece of product code that is over 30 years old and still in active use. It's in C and started out on custom-built embedded hardware. Now it runs under Windows on an industrial PC. The original creator of this pus-oozing bedsore author of this stuff deliberately wrote it in a fashion that no one else could maintain it. He even cultivated a mythology about it, that it was dangerous for other people to even look at it, because it was so "performance-intensive". A few years ago he decided to retire rather than accept reassignment to another product. A succession of other people have taken it over, but no significant maintenance has been performed. We now have a hardware obsolescence issue that requires a code change. I've spent well over 100 hours over the last month going through the code, finding all references to the bits that need replaced. Based on my study, only 4 out of the over 20 functions in the module really do anything with the hardware that's going obsolete. The rest are basically stubs and no-ops, but their return values are used to direct logic elsewhere. I have had to trace every single reference to the functions and the global values involved to ensure that it was safe to change things. I had to leave all these other bits in place because removing them would have wreaked havoc in other logic I don't want to touch. After all this, it took me less than a day to write the new code.

          Software Zen: delete this;

          H Offline
          H Offline
          honey the codewitch
          wrote on last edited by
          #6

          Congratulations! I don't envy you your task, and that's quite a rabbit to pull out of your hat. Horror stories like these are how I convince my managers that code reviews are worth their weight in meetings.

          Real programmers use butterflies

          G 1 Reply Last reply
          0
          • D Daniel Pfeffer

            Gary Wheeler wrote:

            passed away a couple of years ago

            Did he fall, or was he pushed? :suss: :)

            Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

            G Offline
            G Offline
            Gary Wheeler
            wrote on last edited by
            #7

            Let me put it this way. The only thing he and I had in common is that we are/were both avid cyclists. I used to see him out on our local bike paths a couple times a month. It was so, so tempting...

            Software Zen: delete this;

            1 Reply Last reply
            0
            • H honey the codewitch

              Congratulations! I don't envy you your task, and that's quite a rabbit to pull out of your hat. Horror stories like these are how I convince my managers that code reviews are worth their weight in meetings.

              Real programmers use butterflies

              G Offline
              G Offline
              Gary Wheeler
              wrote on last edited by
              #8

              I've been working here for 30 years, and in all that time there has only been one code review ever held. At the end of that one, the developer on the 'hot seat' told his boss if he ever held another one, he'd quit. I wasn't present, but I'm pretty sure it wasn't handled very well. I don't think anyone went into it with the idea of "stabbing it with their steely knives" trying to kill the beast, but I doubt the ground rules were very detailed. Also, the guy chosen as the guinea pig was probably the worst choice to go first. Sharp guy and easy to work with, but not one to handle criticism well. That said, if there had ever been any kind of detailed code review of the POS I'm modifying, the author would have been terminated with extreme prejudice shortly thereafter.

              Software Zen: delete this;

              H 1 Reply Last reply
              0
              • G Gary Wheeler

                I've been working here for 30 years, and in all that time there has only been one code review ever held. At the end of that one, the developer on the 'hot seat' told his boss if he ever held another one, he'd quit. I wasn't present, but I'm pretty sure it wasn't handled very well. I don't think anyone went into it with the idea of "stabbing it with their steely knives" trying to kill the beast, but I doubt the ground rules were very detailed. Also, the guy chosen as the guinea pig was probably the worst choice to go first. Sharp guy and easy to work with, but not one to handle criticism well. That said, if there had ever been any kind of detailed code review of the POS I'm modifying, the author would have been terminated with extreme prejudice shortly thereafter.

                Software Zen: delete this;

                H Offline
                H Offline
                honey the codewitch
                wrote on last edited by
                #9

                That sounds like a disaster. Code reviews can be helpful but you do have to go in with the idea of constructive criticism, and in any case, it's easier after the first couple of times. :)

                Real programmers use butterflies

                1 Reply Last reply
                0
                • G Gary Wheeler

                  I have been working as a developer for a little over 40 years. In all that time, I have kept my comments clean. I am an avid user of curse words in my normal conversations, both verbal and online. It just always seemed unprofessional to use vulgar language in my code. Until today.

                  /***********************************************************
                  * USELESS SHIT LEFT OVER FROM THE ORIGINAL IMPLEMENTATION *
                  ***********************************************************/

                  I am now saddled with responsible for a piece of product code that is over 30 years old and still in active use. It's in C and started out on custom-built embedded hardware. Now it runs under Windows on an industrial PC. The original creator of this pus-oozing bedsore author of this stuff deliberately wrote it in a fashion that no one else could maintain it. He even cultivated a mythology about it, that it was dangerous for other people to even look at it, because it was so "performance-intensive". A few years ago he decided to retire rather than accept reassignment to another product. A succession of other people have taken it over, but no significant maintenance has been performed. We now have a hardware obsolescence issue that requires a code change. I've spent well over 100 hours over the last month going through the code, finding all references to the bits that need replaced. Based on my study, only 4 out of the over 20 functions in the module really do anything with the hardware that's going obsolete. The rest are basically stubs and no-ops, but their return values are used to direct logic elsewhere. I have had to trace every single reference to the functions and the global values involved to ensure that it was safe to change things. I had to leave all these other bits in place because removing them would have wreaked havoc in other logic I don't want to touch. After all this, it took me less than a day to write the new code.

                  Software Zen: delete this;

                  B Offline
                  B Offline
                  Bernhard Hiller
                  wrote on last edited by
                  #10

                  Look at it from a different angle: that guy was actually very smart. When ever you touch a little useless line, you are likely to break the codez. Thus he provides proof that the code really requires deep long thoughts and enormous diligence. Which can be provided by really smart asses people like him only.

                  Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!

                  1 Reply Last reply
                  0
                  • G Gary Wheeler

                    I have been working as a developer for a little over 40 years. In all that time, I have kept my comments clean. I am an avid user of curse words in my normal conversations, both verbal and online. It just always seemed unprofessional to use vulgar language in my code. Until today.

                    /***********************************************************
                    * USELESS SHIT LEFT OVER FROM THE ORIGINAL IMPLEMENTATION *
                    ***********************************************************/

                    I am now saddled with responsible for a piece of product code that is over 30 years old and still in active use. It's in C and started out on custom-built embedded hardware. Now it runs under Windows on an industrial PC. The original creator of this pus-oozing bedsore author of this stuff deliberately wrote it in a fashion that no one else could maintain it. He even cultivated a mythology about it, that it was dangerous for other people to even look at it, because it was so "performance-intensive". A few years ago he decided to retire rather than accept reassignment to another product. A succession of other people have taken it over, but no significant maintenance has been performed. We now have a hardware obsolescence issue that requires a code change. I've spent well over 100 hours over the last month going through the code, finding all references to the bits that need replaced. Based on my study, only 4 out of the over 20 functions in the module really do anything with the hardware that's going obsolete. The rest are basically stubs and no-ops, but their return values are used to direct logic elsewhere. I have had to trace every single reference to the functions and the global values involved to ensure that it was safe to change things. I had to leave all these other bits in place because removing them would have wreaked havoc in other logic I don't want to touch. After all this, it took me less than a day to write the new code.

                    Software Zen: delete this;

                    M Offline
                    M Offline
                    MarkTJohnson
                    wrote on last edited by
                    #11

                    Gary Wheeler wrote:

                    He even cultivated a mythology about it, that it was dangerous for other people to even look at it,

                    Observing the code changes the code. Physics!

                    I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.

                    G 1 Reply Last reply
                    0
                    • M MarkTJohnson

                      Gary Wheeler wrote:

                      He even cultivated a mythology about it, that it was dangerous for other people to even look at it,

                      Observing the code changes the code. Physics!

                      I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.

                      G Offline
                      G Offline
                      Gary Wheeler
                      wrote on last edited by
                      #12

                      He told his management he didn't want anyone else to see it since they wouldn't understand it and would screw it up if allowed.

                      Software Zen: delete this;

                      1 Reply Last reply
                      0
                      • G Gary Wheeler

                        I have been working as a developer for a little over 40 years. In all that time, I have kept my comments clean. I am an avid user of curse words in my normal conversations, both verbal and online. It just always seemed unprofessional to use vulgar language in my code. Until today.

                        /***********************************************************
                        * USELESS SHIT LEFT OVER FROM THE ORIGINAL IMPLEMENTATION *
                        ***********************************************************/

                        I am now saddled with responsible for a piece of product code that is over 30 years old and still in active use. It's in C and started out on custom-built embedded hardware. Now it runs under Windows on an industrial PC. The original creator of this pus-oozing bedsore author of this stuff deliberately wrote it in a fashion that no one else could maintain it. He even cultivated a mythology about it, that it was dangerous for other people to even look at it, because it was so "performance-intensive". A few years ago he decided to retire rather than accept reassignment to another product. A succession of other people have taken it over, but no significant maintenance has been performed. We now have a hardware obsolescence issue that requires a code change. I've spent well over 100 hours over the last month going through the code, finding all references to the bits that need replaced. Based on my study, only 4 out of the over 20 functions in the module really do anything with the hardware that's going obsolete. The rest are basically stubs and no-ops, but their return values are used to direct logic elsewhere. I have had to trace every single reference to the functions and the global values involved to ensure that it was safe to change things. I had to leave all these other bits in place because removing them would have wreaked havoc in other logic I don't want to touch. After all this, it took me less than a day to write the new code.

                        Software Zen: delete this;

                        Mike HankeyM Offline
                        Mike HankeyM Offline
                        Mike Hankey
                        wrote on last edited by
                        #13

                        I embed some curse words in my comments but I'm the only one that will ever read itr.

                        The less you need, the more you have. Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load? JaxCoder.com

                        1 Reply Last reply
                        0
                        • G Gary Wheeler

                          I have been working as a developer for a little over 40 years. In all that time, I have kept my comments clean. I am an avid user of curse words in my normal conversations, both verbal and online. It just always seemed unprofessional to use vulgar language in my code. Until today.

                          /***********************************************************
                          * USELESS SHIT LEFT OVER FROM THE ORIGINAL IMPLEMENTATION *
                          ***********************************************************/

                          I am now saddled with responsible for a piece of product code that is over 30 years old and still in active use. It's in C and started out on custom-built embedded hardware. Now it runs under Windows on an industrial PC. The original creator of this pus-oozing bedsore author of this stuff deliberately wrote it in a fashion that no one else could maintain it. He even cultivated a mythology about it, that it was dangerous for other people to even look at it, because it was so "performance-intensive". A few years ago he decided to retire rather than accept reassignment to another product. A succession of other people have taken it over, but no significant maintenance has been performed. We now have a hardware obsolescence issue that requires a code change. I've spent well over 100 hours over the last month going through the code, finding all references to the bits that need replaced. Based on my study, only 4 out of the over 20 functions in the module really do anything with the hardware that's going obsolete. The rest are basically stubs and no-ops, but their return values are used to direct logic elsewhere. I have had to trace every single reference to the functions and the global values involved to ensure that it was safe to change things. I had to leave all these other bits in place because removing them would have wreaked havoc in other logic I don't want to touch. After all this, it took me less than a day to write the new code.

                          Software Zen: delete this;

                          S Offline
                          S Offline
                          Slow Eddie
                          wrote on last edited by
                          #14

                          Would it be easier to deduce the function it performed and re-write from scratch. Or is that not possible given the circumstances?

                          "Momma looks down and she spit on the ground evry time my (his) name gets mentioned" - Paul Simon

                          G 1 Reply Last reply
                          0
                          • S Slow Eddie

                            Would it be easier to deduce the function it performed and re-write from scratch. Or is that not possible given the circumstances?

                            "Momma looks down and she spit on the ground evry time my (his) name gets mentioned" - Paul Simon

                            G Offline
                            G Offline
                            Gary Wheeler
                            wrote on last edited by
                            #15

                            We have sufficient information to recreate the product, but neither the manpower nor the time to do so.

                            Software Zen: delete this;

                            1 Reply Last reply
                            0
                            • G Gary Wheeler

                              'twould be nice, except this guy passed away a couple of years ago :suss:.

                              Software Zen: delete this;

                              C Offline
                              C Offline
                              Caslen
                              wrote on last edited by
                              #16

                              If you know where he's buried you could still arrange for his legs to be broken...

                              G 1 Reply Last reply
                              0
                              • C Caslen

                                If you know where he's buried you could still arrange for his legs to be broken...

                                G Offline
                                G Offline
                                Gary Wheeler
                                wrote on last edited by
                                #17

                                If I came across it, I hope my bladder's full...

                                Software Zen: delete this;

                                1 Reply Last reply
                                0
                                • G Gary Wheeler

                                  I have been working as a developer for a little over 40 years. In all that time, I have kept my comments clean. I am an avid user of curse words in my normal conversations, both verbal and online. It just always seemed unprofessional to use vulgar language in my code. Until today.

                                  /***********************************************************
                                  * USELESS SHIT LEFT OVER FROM THE ORIGINAL IMPLEMENTATION *
                                  ***********************************************************/

                                  I am now saddled with responsible for a piece of product code that is over 30 years old and still in active use. It's in C and started out on custom-built embedded hardware. Now it runs under Windows on an industrial PC. The original creator of this pus-oozing bedsore author of this stuff deliberately wrote it in a fashion that no one else could maintain it. He even cultivated a mythology about it, that it was dangerous for other people to even look at it, because it was so "performance-intensive". A few years ago he decided to retire rather than accept reassignment to another product. A succession of other people have taken it over, but no significant maintenance has been performed. We now have a hardware obsolescence issue that requires a code change. I've spent well over 100 hours over the last month going through the code, finding all references to the bits that need replaced. Based on my study, only 4 out of the over 20 functions in the module really do anything with the hardware that's going obsolete. The rest are basically stubs and no-ops, but their return values are used to direct logic elsewhere. I have had to trace every single reference to the functions and the global values involved to ensure that it was safe to change things. I had to leave all these other bits in place because removing them would have wreaked havoc in other logic I don't want to touch. After all this, it took me less than a day to write the new code.

                                  Software Zen: delete this;

                                  K Offline
                                  K Offline
                                  kapalmuks 3
                                  wrote on last edited by
                                  #18

                                  ..with all your due respect!!.. 😇😇😇😇

                                  1 Reply Last reply
                                  0
                                  • G Gary Wheeler

                                    I have been working as a developer for a little over 40 years. In all that time, I have kept my comments clean. I am an avid user of curse words in my normal conversations, both verbal and online. It just always seemed unprofessional to use vulgar language in my code. Until today.

                                    /***********************************************************
                                    * USELESS SHIT LEFT OVER FROM THE ORIGINAL IMPLEMENTATION *
                                    ***********************************************************/

                                    I am now saddled with responsible for a piece of product code that is over 30 years old and still in active use. It's in C and started out on custom-built embedded hardware. Now it runs under Windows on an industrial PC. The original creator of this pus-oozing bedsore author of this stuff deliberately wrote it in a fashion that no one else could maintain it. He even cultivated a mythology about it, that it was dangerous for other people to even look at it, because it was so "performance-intensive". A few years ago he decided to retire rather than accept reassignment to another product. A succession of other people have taken it over, but no significant maintenance has been performed. We now have a hardware obsolescence issue that requires a code change. I've spent well over 100 hours over the last month going through the code, finding all references to the bits that need replaced. Based on my study, only 4 out of the over 20 functions in the module really do anything with the hardware that's going obsolete. The rest are basically stubs and no-ops, but their return values are used to direct logic elsewhere. I have had to trace every single reference to the functions and the global values involved to ensure that it was safe to change things. I had to leave all these other bits in place because removing them would have wreaked havoc in other logic I don't want to touch. After all this, it took me less than a day to write the new code.

                                    Software Zen: delete this;

                                    O Offline
                                    O Offline
                                    obermd
                                    wrote on last edited by
                                    #19

                                    Been there done this rewrite. Only in my case it was my boss's code that I rewrote. He had four entry points and I whittled them down to two - add() and delete(). Had to track down all the instances where he used the four entry points and rework those as well. Final code not only was about two thirds the size it executed about a third faster (very disk intensive).

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • World
                                    • Users
                                    • Groups