AI for writing documentation

Knowledge is knowledge about the own knowledge.
Does one know what one knows?
Perhaps only as far as one does not know what one does not know about what one knows.
 
“To know what you know and what you do not know, that is true knowledge.” ~ Confucius
Tell me how long is a string?

---

The question I posed about my problem is mainly about "structure" and "methods" and "whatnot" (something(s) I may not know about as well as others--hence my cry for help/opinions).
 
Knowledge is knowledge about the own knowledge.
Does one know what one knows?
Perhaps only as far as one does not know what one does not know about what one knows.
Ancients have thought a lot about all this! I recommend you read this (ignore any religious aspect and think of it as an epistemology): https://en.wikipedia.org/wiki/Pramana - in particular ponder on the main ways of gaining knowledge (see the section on six pramanas): evidence/perception, inference, comparison & analogy, postulation/implication, non-perceptions/negative proof, and testimony of past/present reliable experts. This goes far beyond Rumsfeld's stupid categorization of {known,unknown}x{knowns,unknowns}
 
From the beginning I said that without AI I would no
Maybe you misunderstood the term "work out":
wou.jpg

To pay some one who works out for you is not the same as saying to pay some one to work for you.
The punchline is:
If somebody else is working out for you, not your fat is burned, nor you grow muscles.
 
You can pay someone to work for you, but that someone can end up not working out for you. As in, you're questioning whether you're spending the money on anything good.
 
So, when I work, I write down my specs ahead of time (code is almost the last step for me). Do professional others dev's not create a spec of what they want before they start coding?
 
So, when I work, I write down my specs ahead of time (code is almost the last step for me). Do professional others dev's not create a spec of what they want before they start coding?
It's called "Spec-Driven Development" (SDD). I've glanced at a few different articles, and some seem driven towards using it for Ai development (write down what you want and have the agent build...blah, blah). However, I approach/view the documentation as an agreement between me and others (who are helping) as a direction the project is supposed to go.
 
it was meant to say: "gong".
Also good.
It's called "Spec-Driven Development"
I didn't knew the name for it. Thank you. I'm pretty sure a prof at U told us a long time ago, but many years later I "reinvented it by myself", back when I was programming 8bit µCs in Assembler. If Assembler teaches you one thing, it's to document your code in a way you can understand what the code does, how, and why.
First write pure text, what you're going to do, and how, for the whole program. Today I place it into an own file, 'cause two or three pages of prose in the header is no fun to have in the code file. I have at least two vim sessions open at the same time: code and the according docu.
Also write down some ideas you have how to code something (mostly the core), if you already have such. Having a certain idea how to do a certain job is tempting to start directly on writing code. Not good. Because all the "rest around" is still not even sketched yet. Write it down, so you don't have the pressure to forget it.
Then there is two jobs to be done parallel: split the job into smaller parts, as prose text, which you only need to fill later with code. Those will become the in code comments. And write the code, while you correct/adapt the text/docu to it. Often enough I realize I need to reconsider the one thing or the other cannot be done as I thought in the first place. (In some of my sources actually textplaces can be found like "I have the feeling this can be done more elegant, but at this moment I cannot think of anything better.")

At the end, both jobs are done: working code, and a good documentation already done. No need to do the docu while new jobs already attracting, and having no interest anymore doing this dull, boring task, postponing it, finding arguments to shut up those who say documenation is needed...instead of doing it.

It sounds like twice the work, but it's not, since both needs to be done anyway. Plus you not only approach the code from two sides: code, and thinking about it in prose, which makes you reconsider more what you're doing, which IMO delivers not only better code, but brings you quicker to the target, since it also lightens debugging a lot.
Plus you have less pressure, because you don't need to think always of several parts in the code at the same time, fearing to forget something. The text is your notes: Having a sudden idea for another part of the code: Write it down now. Do it later.
Plus you come easy into work: Instead of staring at a blank screen for quite a while, thinking of code snippets in your head, you can directly start writing, which transforms into code almost automatically; and it's easier to delete some lines of prose BS written, than to realize you coded BS, and then bicker with yourself, how to remodel, to safe all the work, while you already know deep inside, this BS needs to be rewritten all over completely new again aynway.
 
yes!
Obviously, *I* use my `md2mdoc` program for my documentation but it's the same with or without my program. -i.e. When I start a project I'll start like this:

Code:
date: <today>
author: <me>
title: <awesome>

# awesome

# NAME
awesome -- a program to go \*boom\*.

# SYN
awesome 
[-a <file>]
[-b <out>]

# DESC
A long description of my program.

<!---
This is future stuff or a decision I've made, or a problem I need to solve, etc.

more hidden text.
-->
...
# HIST
for me.

This gives me the ability to keep both code and doc open as well (actually, I'm trying to use buffers in vim more but two sessions work the same). The big plus for me is the ability to comment out sections in my documentation files because I can keep notes about future the direction--which I can see but isn't part of the actual documentation (I don't need to create/keep multiple/different files).

I fully agree that it is in no way twice the work. It saves you so much time! And when you get done planning, it's just code (put on a good playlist, shutup and code).
 
Don't know if I got you right, but I put the docu files also under version control.
Oh yes. Doc in version control! We are on the same page.

I'm experimenting at the moment; I'm attempting to sort of merge the "plan/design" (which is: past, present and future) document and "documentation" (which is: present) document into one (like my example above). I found that having a 'plan/design' separate from the actual 'documentation', one will eventually fall behind and/or actually slow me down because I forgot to update something in one...and I have to back and find out which is correct.

Basically for me, `md2mdoc` allows me to keep my notes/thoughts (in a "comment block") in the same file as my actual documentation and I'm finding this a huge help because it's just one file and I don't forget to update something.
 
A lot of people understand what AI can do, but they don't understand how it works. Machine learning is one part I know the gist of: it takes in information and sorts it. This information is obtained from documents, other files, ocr, scanners, networks, cameras or any sensor. The next part of AI makes an action, which is like a decision to us, based on an algorithm, like a flow chart. When I read about machine learning, I thought it would be good to emulate its "decision" making process. Also, when I described machine learning to someone else, without telling them that was AI, they also said what I thought, that we should think more like that. When I understood parts of AI, I became less scared of it. Though, we have to remember how inventions intended for good have been used for evil. The cotton gin was intended to end slavery, but it ended up doing the opposite. The loud speaker wasn't intended to allow people with evil intents to manipulate masses and take over countries with the intent of causing war.

AI can be used to find out which documentation is obsolete. In FreeBSD, there's a scare of not using AI for writing code, because its not understood how copyright law will affect that code, so they stay on the safe side, and not allow AI written code.

AI can be used for writing open-source software documentation, but it would have to be as a separate project, and the author would have to be an AI program, with minimal user input. This likely wouldn't be accepted as a FreeBSD sponsored project. But anyone can do it as a separate side project, until further notice. AI can still be used by FreeBSD, for determining obsolete documentation and for other purposes which don't involve writing code.

I've gone over documentation, and sorted out which was obsolete before. I've written about what works on forums, based on trial and error on operating system behavior through configuration files. Perhaps, I didn't take the extra step of writing a bug report on which manages were obsolete, because there's been a lot of discouragement by bugs being ignored. Though writing documentation through how-to/faq threads has taught others, and it has gotten that further documentation going.
 
the output of an AI cannot be copyrighted, therefore it cannot be licensed, therefore there is no point in having AI do work that will have to be redone by a human. the entire endeavor is a waste of time that obfuscates information. the chatbot interface drives people into psychosis, the companies themselves lie to you about the functionality of the models, and long-term use destroys your ability to judge quality and make non-neutral decisions. why would you bother using any of this at all?
 
the output of an AI cannot be copyrighted, therefore it cannot be licensed, therefore...
That's what they say, bc it's not human expression. I'm not sure though. However, you know companies and individuals will use AI to write, then claim they wrote it themselves, and copyright it.

Also, AI can be used for tasks aside from writing direct documentation. AI can help determine which documentation is obsolete, or where documentation may be lacking. It can be used to make lists and outlines, which aren't copyrightable anyways. There's other stuff AI can do, which doesn't need to be copyrighted.

There can also be a sideproject of AI documentation which documents FreeBSD, but at the same time isn't a project of FreeBSD. Who cares if that's not copyright-able: the purpose is documentation. Someone can learn from that, and write in their own words.
 
That's what they say, bc it's not human expression. I'm not sure though. However, you know companies and individuals will use AI to write, then claim they wrote it themselves, and copyright it.

Also, AI can be used for tasks aside from writing direct documentation. AI can help determine which documentation is obsolete, or where documentation may be lacking. It can be used to make lists and outlines, which aren't copyrightable anyways. There's other stuff AI can do, which doesn't need to be copyrighted.

There can also be a sideproject of AI documentation which documents FreeBSD, but at the same time isn't a project of FreeBSD. Who cares if that's not copyright-able: the purpose is documentation. Someone can learn from that, and write in their own words.
except it can't do any of that, because the only thing it can do is, given a prompt, produce a likely sequence of words. sorry to break it to you, but this is not intelligence, and having the machine do it for you causes your intelligence to degrade. you're basically just doing corporate bootlicking for sam altman and satya nadella at this point.
 
except it can't do any of that, because the only thing it can do is, given a prompt, produce a likely sequence of words. sorry to break it to you, but this is not intelligence, and having the machine do it for you causes your intelligence to degrade. you're basically just doing corporate bootlicking for sam altman and satya nadella at this point.
There's a lot which took people lots of time to find, which was obsolete. There's spots in everything that went unnoticed, and it took someone looking at it to find inefficiencies, which thousands missed. Or it took someone checking on code and configuration files to find what was obsolete, then write it in their own words. It took years or decades to find some which someone who looked spotted.

The purpose of AI is to do low level time intensive or repetitive tasks. Overly relying on AI may cause one to become mentally lazy, so this is not the way to go. If AI can find which documentation is obsolete that will do a lot. If AI can find redundant code that will do a lot. If that's not available yet, it's a matter of time before it is.

I didn't say AI was actually intelligence: machine learning picks up data, and sorts it for the next AI task. AI mimics procedures based on algorithms. Additionally, AI can tie a percentage of guessed accuracy for each value.

AI has intelligence in its name, but it uses procedures to give each output. It behaves as if making a decision, but this output is based on predefined mathematical like values, based on data. It's more like a computation than a decision.
 
Back
Top