@SpectateSwamp said:
Noodles for spaghetti code. Just one or 2 of these noodles winding its way through the search logic can completely change the results. [...] Let the computer kick out the errors. Make a quick change and jam it again and again. That would always get results fast. And it's a fun way to go about it. When strange data was sent for the first time. Try one data format then the next and the next till you hit the one that worked.
I think I get it now. I understand his code delusion. He's a tinkerer that never grew out of it.
In the mid/late 90s, just as the internets were coming into their own, I became part of a fansite that happened to use good old Matt's WWWBoard. I was curious about how it worked, but the code was incomprehensible to me at the time. I only knew enough HTML to shoot myself in the foot, and not a bit of Perl. Alas, the irresponsible host got their server hacked, and the entire site was basically lost. We switched to newer, niftier, less Matt-tastic software. Unlike WWWBoard though, this one had official support forums, including one for "code hacks." The author encouraged members of the community to modify the software and post their changes.
This piqued my interest, and I dove in head-first. I still didn't know a single bit of Perl, but through reading what others did to the code, and actively tinkering with it myself, I soon figured out the gist of things. I published a dozen or so "hacks" for the code, some tiny one or two liners, some huge paragraphs of code to add some weird feature. I did things that nobody in their right mind would ever consider. (I still have a few of the snippets. They make my blood run cold, they're that awful...)
Two years later, it ended up getting me hired by the company that created the software, to take over development.
It took me years to get out of the tinkerer mindset. Indeed, the cowboy coder, hacker, twiddler, one-line-change-right-before-release, "who needs testing?" side of me ended up causing a huge amount of trouble. There was no mentoring, no software development lifecycle, no specifications process, no code review, minimal concepts of testing and QA. In fact, I only ever got code feedback from the minority of end-users that happened to be code hackers, and none of them raised an eyebrow at some of the WTF-worthy crap I coded over the years. It ended up as a contributing factor in the demise of the product and my job.
Swamp never got past that critical phase. He still lives in the bubble of irresponsible coding. Everything is a quick little hack. Who cares if it doesn't work exactly right the first time the end-user uses it? Worse, he IS the end-user! Who cares about specifications when you have the entire thing in your head? Who cares about code reuse and sanity when you know the whole codebase backwards and forwards?
Without some major situational changes, I doubt that this code outlook on life will never change. He'd basically have to be hired somewhere as a junior dev or an intern or something, and be shown how the real world works. Even then, he'd prolly reject it all as useless, time-wasting fluff, because he thinks he knows exactly what he's doing.