https://github.com/MrIceman/go-uml#warning---ai-not-welcome-...
This is a pretty hard stance to take when creating an OSS project. The author made an open source, MIT-licensed repo. Right now, the statement reads "I wrote this all myself". Does that mean the author is not willing to accept PRs?
Or will we see something like a DCO that developers make an attestation that AI was not used in creating the change?
He says, "all the code in this repository _that_ was written by me" was, if fact, hand-written by him rather than auto-generated by a tool like copilot.
I read it as he is open to contributions and if you want to use AI that's allowed but he notes that he does not and he provides a rationale to boot. Fine by me.
I guess the argument is "I already know Go" (or Python etc.). But you probably already know json (yaml), too. And if not, it won't take long to learn.
I go farther, all told. I think any sort of diagram should almost certainly be process/pipeline based. Parts can be generated by a declarative markup, certainly. But you need a pipeline to "hand tune" things or you will end with diagrams that are clearly generated by a program. Fine for some things, sure. But there is a reason most of the diagrams that you remember the looks of were bespoke authored in a much more graphical environment.
Honestly I'd use it just for the auto-complete.
(Admittedly, I didn't look too hard for dedicated editing environments that could do it for DOT files specifically. I just wanted to make something real quick.)
OK, I know the author are against AI, but just in case anyone want to see an AI solution.
> You don't need to download any dependencies such as plantUML or Graphviz, which is what most of the tools out there require and what was also my motivation to start this project. go-uml is using a 2D graphics engine written 100% in Go https://github.com/fogleman/gg
This is not a solution for these requirements.
> Because of my own personal philosophy regarding technology and AI, all the code in this repository that was written by me - I wrote 100% on my own. There is and will be no usage of Github Co-Pilot or any other AI tool. I became a software developer because of my passion for our craft - Software Engineering. I build this tool because I enjoy programming. Every single line of code you'll read in this repo, that was written by me, is produced first in my mind and then manifested into reality through my hands. I encourage any contributor to follow the same principle, though I can't and don't want to put any restrictions on this. Just like people stopped walking because they commute by cars and trains, which caused an increase in obesity and illness, I believe that the massive usage of AI will cause people to stop thinking and using their minds and the resulting havoc is unthinkable.
AI Gatekeeping... What a time to be alive!
Diagram as Code is simply awesome. My only issue is how ugly it looks, even using themes.
I wish an application managed to be a drop in replacement that looked like it wasn't drawn in MS Paint in 1996.
I think there's an error in the last diagram. The arrow pointing at User A should point at User B.
(And look it's possible to say something other than blithering about AI controversy. The author doesn't like AI, get over it)
As a developer that recently went to the dark side with co-pilot... all I can say is that from my perspective having used AI-augmented IDEs, arguments like this seem to me like a carpenter refusing to try power saws and power drills because craftsmanship will be lost compared to using handsaws and awls + hand drills. In my opinion, AI tools greatly enhance my craftsmanship by both saving me time and by suggesting solutions I didn't even know existed (most recent example being JS .every() and .some() - I was about to roll my own every/some equivalent with loops)
> When coding with AI, you are getting actual code snippets and hints.
I still know the cut that needs to be made. Say I need a function that returns true if an array contains a value. Without AI, I would write it by hand, which might require me to RTFM. But with AI, I can simply prompt "// return whether the provided array contains a given value" and the AI will fill in the function. I could have accomplished my goal either way. But with AI, I was done and moved on without context switching to google or stackoverflow.
I could have sawed the 4x4 in half by hand. But instead I buzzed it with a buzz saw and moved on to the next part of my project 5 minutes ago.
Typing manually vs auto-complete is a correct handsaw/power saw analogy.
Immediate utility aside that’s a probable prediction by the author though.
Let’s hope the optimists will be right…
https://github.com/MrIceman/go-uml#warning---ai-not-welcome-...
Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them.
On a less snarky note, this seems like a pretty serious exaggeration. You could have learned about .every() and .some() in many many other ways
> On a less snarky note, this seems like a pretty serious exaggeration. You could have learned about .every() and .some() in many many other ways
Yeah but I didn't because it was an unknown unknown. How would I have learned about .every() when I didn't know it existed? Copilot as a discovery engine is a fantastic way to learn about language features you didn't know about.
That was just one recent example. Copilot occasionally suggests ways of doing things I didn't know about and that were even better than my original approach.
Rejecting AI-backed software tooling reminds me more of Amish power tools.
https://www.npr.org/sections/money/2013/02/22/172626089/insi...
although, i suppose, to your point, even an alien could introduce a skilled carpenter to a new table saw technique.
I was referring to the following line.
"Just like people stopped walking because they commute by cars and trains, which caused an increase in obesity and illness"