Discussion:
IBM scrambles to find or train more COBOL programmers to help states
(too old to reply)
Peter Flass
2020-04-15 13:49:13 UTC
Permalink
https://arstechnica.com/tech-policy/2020/04/ibm-scrambles-to-find-or-train-more-cobol-programmers-to-help-states/
--
Pete
m***@gmail.com
2020-04-15 16:40:17 UTC
Permalink
COBOL (COmmon Business Oriented Language) is a major taerget language for the re-coding of a Mentifex AI Mind originally in Forth or Perl or JavaScript. Rumor has it that there are more lines of COBOL code in existence than in any other programming language. Any corporation or individual is invited to folllow these AI Steps to coding concept-based True AI in COBOL:

1. Code the MainLoop module -- http://ai.neocities.org/MainLoop.html

Code the MainLoop in COBOL. Use either an actual loop with subroutine calls, or make a ringlet of perhaps object-oriented module stubs, each calling the next stub. Provide the ESCAPE key or other mechanisms for the user to stop the AI.

2. Code the Sensorium module or subroutine -- http://ai.neocities.org/Sensorium.html

Start a subroutine or module that is able to sense something coming in from the outside world, i.e., a key-press on the keyboard.

3. Stub in the EnThink module for English thinking -- http://ai.neocities.org/EnThink.html

4. Initiate the AudInput module for keyboard or acoustic input.

Drop any [ESCAPE] mechanism down by one tier, into the AudInput module, but do not eliminate or bypass the quite essential Sensorium module, because another programmer may wish to specialize in implementing some elaborate sensory modality among your sensory input stubs. Code the AudInput module initially to deal with ASCII keyboard input. If you are an expert at speech recognition, extrapolate backwards from the storage requirements (space and format) of the acoustic input of real phonemes in your AudInput system, so that the emerging robot Mind may be ready in advance for the switch from hearing by keyboard to hearing by microphone or artificial ear.

5. The TabulaRasa loop.

Before you can create an auditory memory AudMem subroutine for storing input from the keyboard, you may need to code a "TabulaRasa" loop that will fill the mental memory of the AI with blank engrams, thus reserving the memory space and preventing error messages about unavailable locations in the AI memory.

6. MindBoot English +/- Russian bootstrap -- http://ai.neocities.org/MindBoot.html

The knowledge base (MindBoot) module makes it possible for the Strong AI Mind to begin thinking immediately when you launch the more advanced AI program. Here we stub in the EnBoot subroutine with an English word or two before the AudMem module begins to store new words coming from the AudInput module. The EnBoot stub shows us that the first portion of the AI mental memory is reserved for the innate concepts and the English words that express each concept. If you use the same Unicode that Perl enjoys to create a Strong AI Mind in Arabic, Chinese, Hungarian, Indonesian, Japanese, Korean, Swahili, Urdu or any other natural human language, you will need to create a bootstrap module for your chosen human language.

7. AudMem (Auditory Memory) -- http://ai.neocities.org/AudMem.html

Into the auditory array that was filled with blank spaces by the TabulaRasa sequence and primed with some bootstrap content by the EnBoot or MindBoot sequence, insert some new memories with the AudMem auditory memory module. Modify the AudInput module to prompt for English words and modify the EnThink module to display words stored in memory as if they were a thought being generated in English (or in your chosen natural human language).


8. NewConcept Module -- http://ai.neocities.org/NewConcept.html

The NewConcept module creates a new concept for any unrecognized word in the input stream, even a misspelled word entered by mistake. In Symbolic AI, each word of natural language is the symbol of a concept, and as such is the key to accessing the concept. Of course, a recognized image may also grant access to a concept.


9. EnParser English Parsing Module -- http://ai.neocities.org/EnParser.html

The EnParser (English parser) module does not so much determine the part of speech of a word of input, but more importantly it assigns to an input word its grammatical role in the complete phrase being processed during Natural Language Understanding.


10. InStantiate -- -- http://ai.neocities.org/InStantiate.html

The InStantiate module creates a new instance or node of a concept in Symbolic AI when a word of input activates the concept. The created instance is subject to change by the possibly delayed action of the English EnParser or Latin LaParser or Russian RuParser module, because Natural Language Understanding must often wait for the end of an idea before the whole idea can be understood.


11. AudRecog auditory Recognition Module -- http://ai.neocities.org/AudRecog.html

The AudRecog module for auditory recognition recognizes various forms of a word, such as singular or plural nouns, or verbs with various inflected endings.


12. OldConcept Module -- http://ai.neocities.org/OldConcept.html

If the AudRecog module recognizes a particular word, then the AudInput module calls the OldConcept module to create a new instance of the previously known concept. If a word is not recognized, AudInput calls the NewConcept module to create a new concept for the word as a symbol.


13. SpreadAct Spreading Activation Module -- http://ai.neocities.org/Spreadact.html

The SpreadAct module for Spreading Activation performs both simple spreading activation between concepts and also an extremely sophisticated role of responding to various input queries posed by human users.


14. PsiDecay -- -- http://ai.neocities.org/PsiDecay.html

The PsiDecay module lets the activation on "Psi" concepts decay gradually over time, so that mind-modules which impose or spread activation may operate more effectively and so that artificial Consciousness may emerge as the seearchlight of attention shifts from one highly activated concept or sensation to other highly activated concepts or sensations.


15. Speech Module -- http://ai.neocities.org/Speech.html

The Speech module fetches characters from a starting point in auditory memory and displays the characters on-screen until a blank space occurs to signify the end of the word stored in memory.


16. Indicative -- http://ai.neocities.org/Indicative.html

The Indicative Mood module, as opposed to the Imperative Mood module for expressing commands, calls linguistically generative modules such as EnNounPhrase and EnVerbPhrase to express a thought indicating an idea or a belief.


17. EnNounPhrase English Noun-Phrase Module -- http://ai.neocities.org/EnNounPhrase.html

The English noun-phrase module selects the most activated noun-concept to be the subject of a phrase or sentence.


18. ReEntry -- http://mind.sourceforge.net/reentry.html

The ReEntry module is used in the various JavaScript Minds to facilitate the reentry of an output word back into the AI Mind.


19. EnVerbPhrase English Verb-Phrase Module -- http://ai.neocities.org/EnVerbPhrase.html

The English verb-phrase module fetches from memory a verb that has basically been pre-ordained to be expressed as the verb in a Subject-Verb-Object (SVO) phrase or sentence. EnVerbPhrase also calls a module like EnVerbGen to generate an inflected form of an indicated verb. EnVerbPhrase is designed with a view to calling the VisRecog module to supply the English word for the visually recognized object of the action of a verb, such as in a sentence like "I see... (a dog)."


20. EnAuxVerb English Auxiliary Verb Module -- http://ai.neocities.org/EnAuxVerb.html

The English auxiliary-verb module calls auxiliary verbs such as "do" or "does" for use in the generation of such sentences as a negated idea, such as "God does not play dice."


21. AskUser Module -- http://ai.neocities.org/AskUser.html

The AskUser module works in conjunction with the logical InFerence module to ask a human user to confirm or deny a logical inference being proposed inside an AI Mind.

22. ConJoin Module -- http://ai.neocities.org/ConJoin.html

The ConJoin module inserts a conjunction during the generation of a compound thought. For instance, if an AI Mind has two or more higjly activated subjects of thought, the ConJoin module will insert the conjunction "and" to join two active ideas together.


23. EnArticle Module -- http://ai.neocities.org/EnArticle.html

The English article module inserts the article "a" or the article "the" before a noun in a sentence being generated.


24. EnAdjective Module -- http://ai.neocities.org/EnAdjective.html

The English adjective module recalls and inserts an adjective during the generation of a thought.


25. EnPronoun Module -- http://ai.neocities.org/EnPronoun.html

The English pronoun module replaces a noun with a pronoun.

26. AudBuffer Module -- http://ai.neocities.org/AudBuffer.html

The auditory buffer module stores a word in memory for transfer to the OutBuffer module for inflectional processing.


27. OutBuffer Module -- http://ai.neocities.org/OutBuffer.html

The OutBuffer module holds a word in a right-justified framework where the ending of the word may be modified by a module like the EnVerbGen module for generating a required English verb-form.


28. KbRetro Module -- http://ai.neocities.org/KbRetro.html

The KbRetro module retroactively adjusts the knowledge base (KB) of the AI in response to user input responding to a question from the AskUser module.


29. EnNounGen English-Noun Generating Module

The English noun-generating module shall modify a singular English noun into its proper plural form by adding "s" or "es".


30. EnVerbGen EnGlish Verb Generating Module -- http://ai.neocities.org/EnVerbGen.html

The verb-generation module operates when the verb-phrase module fails to find a needed verb-form in auditory memory.


31. InFerence Module -- http://ai.neocities.org/InFerence.html

The InFerence module engages in automated reasoning with logical inference. For instance, if the user inputs 'John is a student," the AI may infer the possibility that John reads books, The AskUser module asks the user, "Does John read books?" Depending on a "yes" or "no" answer, the KbRetro module retroactively adjusts the knowledge base (KB), either discarding the unwarranted inference or by leaving intact a true inference or inserting "not" into a negated inference such as "John does not read books."


32. EnThink English Thinking Module -- http://ai.neocities.org/EnThink.html

The English thinking module calls such subordinate modules as the Indicative module for a declarative sentence or the InFerence module for automated reasoning.


33. Motorium Robot Motor Memory Module -- http://ai.neocities.org/Motorium.html

As soon as you have sensory memory for audition, it is imperative to include motor memory for action. The polarity of robot-to-world is about to become a circularity of robot - motorium - world - sensorium - robot. If you have been making robots longer than you have been making minds, you now need to engrammatize whatever motor software routines you may have written for your particular automaton. You must decouple your legacy motor output software from whatever mindless stimuli were controlling the robot and you must now associate each motor output routine with memory engram nodes accreting over time onto a lifelong motor memory channel for your mentally awakening robot. If you have not been making robots, implement some simple motor output function like emitting sounds or moving in four directions across a real or virtual world.

34. Volition module for robot free will -- http://ai.neocities.org/Volition.html

In your robot software, de-link any direct connection that you have hardcoded between a sensory stimulus and a motor initiative. Force motor execution commands to transit through your stubbed-in Volition module, so that future versions of your thought-bot will afford at least the option of incorporating a sophisticated algorithm for free will in robots. If you have no robot and you are building a creature of pure reason, nevertheless include a Volition stub for the sake of AI-Complete design patterns.


35. Imperative -- http://ai.neocities.org/Imperative.html

The Imperative Mood module, called by the free-will Volition module, issues commands such as "Teach me something" to the human user.


36. The SeCurity module -- http://github.com/kernc/mindforth/blob/master/wiki/SeCurity.wiki

The SeCurity module is not a natural component of the mind, but rather a machine equivalent of the immune system in a human body. When we have advanced AI robots running factories to fabricate even more advanced AI robots, let not the complaint arise that nobody bothered to build in any security precautions. Stub in a SeCurity module and let it be called from the MainLoop by uncommenting any commented-out mention of SeCurity in the MainLoop code. Inside the new SeCurity module, insert a call to ReJuvenate but immediately comment-out the call to the not-yet-existent ReJuvenate module. Also insert into SeCurity any desired code or diagnostic messages pertinent to security functions.


37. The HCI module in JavaScript manages human-computer interaction.


38. Spawn -- http://ai.neocities.org/Spawn.html

The Spawn module issues commands to the operating system to make copies of an AI Mind that include experiential memories up to the point of the spawning of each new AI Mind.


39. MetEmPsychosis -- http://ai.neocities.org/MetEmPsychosis.html

The module of MetEmPsychosis or soul travel is designed to spawn a remote copy of an AI Mind while immediately deleting the previous version of the software and memories so that the remote new version of the AI Mind is effectively the same AI traveling across cyberspace in a metastatic process akin to mind uploading.

http://ai.neocities.org/AiSteps.html
Questor
2020-04-15 19:59:09 UTC
Permalink
Post by Peter Flass
https://arstechnica.com/tech-policy/2020/04/ibm-scrambles-to-find-or-train-more-cobol-programmers-to-help-states/
There's an object-oriented extension for the language now. It's called
Add One to COBOL.
Gareth Evans
2020-04-15 20:34:40 UTC
Permalink
Post by Questor
Post by Peter Flass
https://arstechnica.com/tech-policy/2020/04/ibm-scrambles-to-find-or-train-more-cobol-programmers-to-help-states/
There's an object-oriented extension for the language now. It's called
Add One to COBOL.
LOL!
John Levine
2020-04-15 21:39:54 UTC
Permalink
Post by Questor
Post by Peter Flass
https://arstechnica.com/tech-policy/2020/04/ibm-scrambles-to-find-or-train-more-cobol-programmers-to-help-states/
There's an object-oriented extension for the language now. It's called
Add One to COBOL.
Haha. FYI actual COBOL has had OOP features since 2002. They look a lot like C++, not by accident.
--
Regards,
John Levine, ***@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly
Quadibloc
2020-04-15 23:07:07 UTC
Permalink
Post by John Levine
Haha. FYI actual COBOL has had OOP features since 2002. They look a lot like
C++, not by accident.
I knew there was a Structured COBOL.

However, it may be that the COBOL the government needs help with is on machines
for which the latest compilers, for the updated language, are not available.

John Savard
Thomas Koenig
2020-04-15 21:49:48 UTC
Permalink
Post by Questor
Add One to COBOL.
And I thought it was

ADD 1 TO COBOL GIVING COBOL-PLUS-ONE.
Dennis Boone
2020-04-16 00:45:32 UTC
Permalink
Post by Thomas Koenig
ADD 1 TO COBOL GIVING COBOL-PLUS-ONE.
ADD 1 TO COBOL GIVING COBOL.

De
Quadibloc
2020-04-16 08:01:17 UTC
Permalink
Post by Dennis Boone
ADD 1 TO COBOL GIVING COBOL.
Yup, you got it right. If the object-oriented version of C is called C++, is the object-oriented version of C called

ADD 1 TO COBOL GIVING COBOL.

It may have taken s few tries, but here it is!

John Savard
Bob Eager
2020-04-16 08:14:28 UTC
Permalink
Post by Quadibloc
Post by Dennis Boone
ADD 1 TO COBOL GIVING COBOL.
Yup, you got it right. If the object-oriented version of C is called
C++, is the object-oriented version of C called
ADD 1 TO COBOL GIVING COBOL.
It may have taken s few tries, but here it is!
"object-oriented version of COBOL..."
--
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
http://www.mirrorservice.org
Charlie Gibbs
2020-04-16 21:27:37 UTC
Permalink
Post by Dennis Boone
Post by Thomas Koenig
ADD 1 TO COBOL GIVING COBOL-PLUS-ONE.
ADD 1 TO COBOL GIVING COBOL.
That looks like the work of the Department of Redundancy Department.
The GIVING clause is unnecessary if you're incrementing a variable.
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Thomas Koenig
2020-04-17 16:11:05 UTC
Permalink
Post by Charlie Gibbs
Post by Dennis Boone
Post by Thomas Koenig
ADD 1 TO COBOL GIVING COBOL-PLUS-ONE.
ADD 1 TO COBOL GIVING COBOL.
That looks like the work of the Department of Redundancy Department.
Stamp out, eliminate and abolish redundancy!
m***@gmail.com
2020-04-17 22:09:33 UTC
Permalink
Post by Thomas Koenig
[...]
Stamp out, eliminate and abolish redundancy!
What you say is not unmeaningless.

ATM

https://groups.google.com/d/msg/net.ai/IJpSNRGEE7w/70BtsqcpRDoJ
Charlie Gibbs
2020-04-17 23:52:22 UTC
Permalink
Post by m***@gmail.com
Post by Thomas Koenig
[...]
Stamp out, eliminate and abolish redundancy!
What you say is not unmeaningless.
I couldn't fail to disagree with you more.
--
/~\ Charlie Gibbs | Microsoft is a dictatorship.
\ / <***@kltpzyxm.invalid> | Apple is a cult.
X I'm really at ac.dekanfrus | Linux is anarchy.
/ \ if you read it the right way. | Pick your poison.
Loading...