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.
  • 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