Buffalo Bill: Let’s ask the BIG question: Why do you support open-source software, but refrain from publishing your coded AEC applications?

AI Sheriff: It’s complicated. I love open-source software, Linux distros, BSD, Zig, etc.. I’d really, really like to provide my code to folks in the open-source community. Unfortunately, in the Age of AI, we have bots, corporate clowns, moneyed patent lawyers, automated scrappers, and outright code thieves. GitHub is Microsoft, right? Why would I give Microsoft my code without compensation? LLMs are all over GitHub for AI model training as well. I’d essentially be providing my code to these big AI labs to replicate my specialized code. Plus, in terms of security, I’ve literally just given these folks the key to the castle. Would Microsoft do good with my code? Maybe. Probably not.

I’ve been coding for decades, friend, learning via trial and error. I don’t steal code. Period. I use open-source libraries, utilities, code snippets, and apps with permission. I’ve paid a crazy amount of money over the years for apps and software, good and bad. I want software developers and engineers to make a living wage and keep families fed.

Buffalo Bill: Okay, tell me a bit about Adaptive Ermine Coding principles.

AI Sheriff: I’ll give you an extended answer. In the 90’s I was coding day and night. I’d regularly go to work in the morning and return home the following day. Have you ever gone a couple of days without sleeping? I remember walking into a glass 7-Eleven wall after an extended coding bender. I was young and stupid. Lying in bed, mending my bruised ego, I started thinking about all those logic and reasoning principles I’d learned at UC Santa Barbara. Well, that’s not completely true. I was sleeping on the beach and driving my Lambretta scooters to local cafes, living like a Mod dandy and contemplating the meaning of life…and AEC.

Have you even taken a media or communication course? The professor invariably will discuss the importance of WHO, WHAT, WHY, WHEN, and HOW. So, having to audit and edit all sorts of spaghetti code, I quickly realized developers often failed to address these five questions. More often than not, the code would address two things like WHAT and HOW. Developers don’t like to comment code or put together Read Me files, especially when they have a bunch of stakeholders yelling at them to compile functional production-ready code at light speed. It didn’t matter how the 0’s and 1’s were organized…complied or otherwise… C, C++, C#, Java, Python, Perl, Ruby, TCL, Fortran, Cobol, Basic, Assembler…

So when I was coding my own stuff, I’d start new projects with pseudo code that clearly defined WHO, WHAT, WHY, WHEN, and HOW. If I didn’t have a solid answer to WHY I was coding, I’d drop the project entirely.

Simple…”If it’s not worth doing, it’s not worth doing well.”…