Self-explanatory executable documentation
("cane" for dementia: then)
Self-explanatory executable documentation
("cane" for dementia: then)
("cane" for dementia: then)
Katsunobu IMAI, Hiroshima Univ.
Feb. 3, 2020 @ CiNet
Feb. 3, 2020 @ CiNet
"You can't come in here if you don't remember
It is said that snakes do not pass. A Story That I Don't Want to Be
It is said that snakes do not pass. A Story That I Don't Want to Be
Sorry, these slides are “originally” written in Japanese.
Sorry, these slides are “originally” written in Japanese.
It is essential for this talk.
These slides are the machine translated English version of these slides:
These slides are the machine translated English version of these slides:
TranslateNotebook[nb_]:=NotebookPutNotebookGet[nb]/.GraphicsBox[g__]GraphicsBox[g], o_StringIfLanguageIdentify[o]===,TextTranslation[o,"Japanese""English"],o,nbTranslateThisNotebook[]:=TranslateNotebook[InputNotebook[]](* TranslateThisNotebook[]; *)
Despite this announcement in three places last year
Despite this announcement in three places last year
I didn't even get a clue to find a "guru" who I believed to be
I didn't even get a clue to find a "guru" who I believed to be
"The system you say is impossible!" 」
"The system you say is impossible!" 」
The listener's main reactions are:
1
.Only assumes the support of supporters of dementia patients
"It's impossible!" "Dementia patients don't have judgment."
2
.I didn't think it was possible, but I was aware of the need.
"That's what we need in the field of nursing care, can we do it?"
3
.I didn't think about it, but I think it's natural that it's possible if you do it.
"Well, you can do it, can't you?"
Among the people who answered, "That would be possible," there were people who said, "I thought about such a problem, too," and I couldn't help thinking, "Guru! I almost screamed, but in fact, the person was neither "thinking" or at least a problem I was thinking about. I have gradually realized that it is very difficult for people to "recognize forgotten conditions", but in fact, it may also be difficult to recognize the state in which they know.
What's essential?
What's essential?
一人称視点の欠如
"Is it possible to do that?" "Well, I guess I can do it."
Even if you are willing to do (implement), you may not always have a first-person perspective.
Even if you are willing to do (implement), you may not always have a first-person perspective.
What's essential?
What's essential?
to keep other people away
to keep other people away
Aside from others, it is essential for me to be able to deal with "documents" and accompanying "scripts" in a sustainable way even if my cognitive abilities decline.
Self-explanatory executable documentation
今 xIf you're 90-xDocuments are understandable and executable after a year (live documents)
Now, of course that and 90-xWhat is natural in ten years is different
Now that is natural does not last
Now that is natural does not last
What files related to graduation and thesis in my school days are still understandable and executable...
Microsoft Excel, Adobe Postscript files andProperly studded with comments and execution casesOnly some Common Lisp files are
The original files of various applications have been wiped out (cannot be opened)
Data has been wiped out, including related text files (without proper documentation, you don't know what settings of the data is, and you don't get the benefit of getting the amount of work to recover it)
Difficulty in leaving notes for the future
The Importance of "One Document"
Relationship between data and scripts to be processed
However, the integration ability to finish each document accurately is lost first.
Now that is natural does not last
Now that is natural does not last
"Disorientation" can occur at any (micro, macro) level
e.g. It's hard to fix bugs that were easily addressed
What is the level at which bugs occur?
Different cognitive levels change the tools that are easy to use
Even though Mathematica was able to perform spreadsheets in Mathematica, which can hide the amount of data written reasonably short, it has become "lost" in a one-page Excel file that handles the same data (unsensed)
(Excel is rather "data-oriented" and the script is hidden from the field of view, when it becomes impossible to rely on short-term memory to continue to grasp both at the same time.)
cf. Maps with different resolutions and interest points, guide maps and their layer representations)
What can't you understand what you've been able to understand?
I don't even know what a page is anylonger.
I don't even know what a page is anylonger.
What is the document understandable?
What is the document understandable?
In the first place, what kind of state do we call understand and be able to do?
If a self-explanatory executable document is a <a0>T:System.Xml.理解可能
If a self-explanatory executable document is a <a0>T:System.Xml.Run可能
If a self-explanatory executable document is a <a0>T:System.Xml.作成可能
What does it mean for me to have "ideal" self-explanatory feasibility?
I can understand and execute the document
Ask others to present documents, understand them, and help them do so
Others can understand and execute documents independently of me.
e.g. Systems that contain all sources and their execution systems are .
How do you support self-explanatory executable documents?
How do you support self-explanatory executable documents?
Is it necessary that the language specification encompasses the documentation and the specifications of the execution environment (assuming that you lose enough short-term memory that can rely on both memory and/or external material)?
Xerox Smalltalk (VisualWorks) 1972-
(DEC-10)/Prolog 1972-
Xerox Star Development Environment/Mesa(, Interlisp) 1976-1981
UNIX/C 1977-
Emacs/Emacs Lisp (EINE and ZWEI/Lisp Machine Lisp)1978-
(Literate programming 1984)
FrameMaker+SGML/MML 1981-
Interleaf/Interleaf Lisp (QuickSilver) 1981-
Symbolics Genera/Zeta Lisp (Symbolics Document Examiner) 1983-2005
Adobe PostScript (& PDF) 1984-
ICOT PSI/ESP, KL1 1985-1992
Microsoft Excel/VisualBasic 1985-
NTT ELIS/TAO 1986-1993
Canon Cat/Forth 1987-1987
Apple HyperCard/HyperTalk 1987-2004
Mathematica Notebook/Wolfram Language 1988-
Macromind Director/Lingo 1989-2017
Fujitsu TownsGear/GearBASIC 1990-1997
Apple Soup/NewtonScript 1993-1998
WWW HTML+CSS/Javascript 1995-
Google Drive/Google Apps Script 2009-
Jupiter notebook/Julia, Python and R 2015-
...
How do you support self-explanatory executable documents?
How do you support self-explanatory executable documents?
Is it necessary that the language specification encompasses the documentation and execution environment specifications?
Xerox Smalltalk (VisualWorks) 1972- As a generic document...If SmallTalk takes in Xanadu...
(DEC10) /Prolog 1972- Get an integrated environment called PSI/ESP in the 1972-80s, but it's already late (ISO standard rejects ESP)
Xerox Star Development Environment/Mesa(, Interlisp) 1976-1981 終わりました
UNIX/C 1977- If you are confident that you can recognize the entire UNIX as a fusion document and its execution base, and that you can still control and use the entire system after dementia.
Emacs/Emacs Lisp 1978- Only text can be handled...
(Literate programming 1984)
Interleaf/Interleaf Lisp (QuickSilver) 1981- High and NoWhere
Adobe PostScript (&PDF) 1984- If you have a high degree of general purpose as script...
ICOT PSI/ESP, KL1 1985-1992 After all, it's the same road as the LISP machine.
Microsoft Excel/VisualBasic 1985- Looking at The Neshin Excel file...
NTT ELIS/TAO 1986-1993 Of course finished
Apple HyperCard/HyperTalk 1987-2004 finished
Mathematica Notebook/Wolfram Language 1988- When Wolfram retires, it will jam
Macromind Director/Lingo 1989-2017 Finished
Fujitsu TownsGear/GearBASIC 1990-1997 I don't know much
Apple Soup/NewtonScript 1993-1998 is over.I'm sorry.
WWW HTML+CSS/Javascript 1995- If you like Javascript that has survived in various web add-on languages... (By the way, JavaScript is Lisp with C skin, but https://kazu-yamamoto.hatenablog.jp/entry/20071027/1193474111)
Google Drive/Google Apps Script 2009- How serious is google?
Jupiter notebook/Julia, Python and R 2015- Unfortunately it is a general purpose IDE like Eclipse.便利But.
...
Apple Soup/NewtonScript 1993-1998 is over.I'm sorry.
“Procrastination” and Larry Tesler
“Procrastination” and Larry Tesler
Tesler worked at Xerox PARC, where some of his main projects were the Gypsy word processor and Smalltalk. Copy and paste was first implemented in 1973-1976 by Tesler and Tim Mott.
http://www.nomodes.com/Larry_Tesler_Consulting/Articles.html
https://guidebookgallery.org/articles/designingthestaruserinterface
https://guidebookgallery.org/articles/designingthestaruserinterface
Tesler worked with Niklaus Wirth on adding object-oriented language extensions to the Pascal programming language, calling the new language Object Pascal. He was also involved in the development of the MacApp.
Tesler led the efforts of developing the Apple Newton.
(Wikipedia)
※Cognitive HandicapIs there a computer language system developed by developers that also assumes knowledge of
「一件書類」概念の重要性
「一件書類」概念の重要性
UNIX/C 1977- If you are confident that you can recognize the entire UNIX as a fusion document and its execution base, and that you can still control and use the entire system after dementia.
The biggest problem when used when using cognitive decline:
Environment-dependent across individual file systems
「一件書類」概念が欠如
Perhaps, what is desired will change the required "resolution" according to your cognitive change (environment)多重解像度の自己説明的実行可能 一件書類to generate and present from their own work history database, even if it is not created, trying to make
Even if the data in the main body is hypertext, in the sense that it is presented as a single document (behaving so as not to be hypertext), it is opposite to the conventional hypertext concept.
Why is Lisp the only system that contains the language specification and the specifications of the execution environment?
Why is Lisp the only system that contains the language specification and the specifications of the execution environment?
"I've been using Lisp for a long time. But I can't stand to use real Lisp, so I'm just going to use Mathematica. 」
What is Mathematica Lisp?
"Yes, Kippari."
"But it doesn't say Lisp, does it? 」
"That's right, even if i write Lisp at this time, it won't go up even if sales fall."
What is Mathematica Lisp?
"Yes, Kippari."
"But it doesn't say Lisp, does it? 」
"That's right, even if i write Lisp at this time, it won't go up even if sales fall."
Lisper doesn’t seem to trust “the intuition of a man who doesn’t know well.”
https://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3AS式の理由
Why is Lisp the only system that contains the language specification and the specifications of the execution environment?
Why is Lisp the only system that contains the language specification and the specifications of the execution environment?
What is Mathematica Lisp?
"Yes, Kippari."
"But it's not An S-expression, is it? Lisp is not everything is An S-expression."
"It's a little different from the S-expression, but Mathematica's everything is Su-expression."
"Yes, Kippari."
"But it's not An S-expression, is it? Lisp is not everything is An S-expression."
"It's a little different from the S-expression, but Mathematica's everything is Su-expression."
This notebook is, of course, a formula, and you won't get angry if you write SelectedNotebook[] + 1, and you can actually define a feature for this operation.
Mathematica Issues
Mathematica Issues
Lots of bugs
The structure of the notebook is complex, but the load is vulnerable to grammatical errors
(cf. A general-purpose web browser that reads error-covered HTML anyway)
Almost nothing is considered about security.
In addition to file and namespace security, the single execution environment is more secure. And when the kernel falls, everything falls.
(In Mathematica, security refers to the fact that it is necessary to ensure the correctness of calculations (and of course very important), not so-called "security.") Symbol space can be isolated in context, but not more protection (more than the Protect declaration). In the same Lisp environment, NTT ELIS already had a symbol and cell space protection mechanism under multi-user multi-process. )
There is a difficulty in handling Japanese in the notebook (part of it is clear by looking at this slide)
(Compared to FrameMaker, PDF, etc.) In the first place, other language environments that are not even unified by specification are out of the question of how to handle character codes.)
The language specification itself is now old-fashioned
The problem when i tried to use a formula processing system is also a lot of different problems with it.
Still, there is no more choice than Mathematica notebook as it is.
Still, there is no more choice than Mathematica notebook as it is.
The language specification certainly encompasses it of the specification and execution environment of the documentation
One of the few "high-class languages" that have existed without making 30 years "living fossils"
(In the same "Lisp", Common Lisp "fossilized alive" by the "success" of democratic specifications for "high-class language".) C has so far succeeded in avoiding "living fossilization" by continuing to refuse to become a "high-level language." What will happen to Python in 30 years? )
in relation to othersThe complexity of the product of language and its description
1. I can understand and execute the file
2. Ask others to present documents, understand them, and help them do so
3. Others can understand and execute documents independently of me
Still, there is no more choice than Mathematica notebook as it is.
Still, there is no more choice than Mathematica notebook as it is.
SomedayA system that considers Japanese as an executable scriptCanShouldand it is likely to be able to run, including abstracted mathematical descriptions.
It may be effective to train students to write good sentences (which can interpret mechanical meaning) in preparation for the day.
it is still an important basis regardless of executable documents.
it is still an important basis regardless of executable documents.
普遍的数学的記述I want to find a way to get the support of others, as i rely on the document to behave in a self-explanatory manner, and to make it a document that I can understand after a dozen years of cognitive decline.
「90-xEven if Fortran is lost in a year's time, the basic system of mathematics described in the formula is not lost? If so, should we convert it into a mathematical description that is more abstract in bootstrapping whenever possible, and shouldn't mathematica use it as it is?
「If Mathematica gets stuck, why don't you use Maple?」
What is a dementia-friendly computer language?
What is a dementia-friendly computer language?
At least from the beginning, the language that "despair stakes that i have such a handicap" is rejected.
Originally, it should be aimed at writing directly in a native language (Japanese).
An English-based computer language environment is like a double pointer to all objects.
Why don't programmers who are "poor" originally care about double pointer reference costs, but don't worry about the double pointer reference cost of English?
What is a dementia-friendly computer language?
What is a dementia-friendly computer language?
Distance to me:
日本語 < 数式 < Lisp(Mathematica, CommonLisp) < 英語, C
If you give me a simplified analogy with a misunderstanding... subtract two from six... I have a feeling that the meaning of the formula "6 - 2" is faster than when the English sentence "can not be read" is not understood (individual impression).
What about Lisp?
How much can we continue to recognize the neighborhood coupling of each atom in the S-expression?
When will the recognition of sentences after machine translation exceed the original work of English for me? (It's already oversurpassing...)
It is often that the readability increases at presenting the sentence before and after the translation in contrast. However, due to the decrease in cognitive ability, there is a possibility that the arrangement of the contrasted sentences is too far to be understood by matching each other.
Mathematica as a glue for executable
Mathematica as a glue for executable
Principles are written using Japanese and formulas.
First of all, from the starting point
You have to make a choice anyway.
You have to make a choice anyway.
(I've only given the reasons for elimination and reluctance so far.)
Is there a "aggressive" reason to choose Mathematica?
The system must meet the following two points
If the designer of the system一人称視点Designed in
ThatThe purpose of the designerButMy Purposeand as close as possible
Mathematica is designed from Stephen's first-person perspective to see Stephen's desire for knowledge, and features continue to be added.
You have to make a choice anyway.
You have to make a choice anyway.
ThatThe purpose of the designerButMy Purposeand as close as possible
Apparently, Mathematica Notebook was designed by someone who wanted to record their work (Theodore Gray or Stephen Wolfram Himself?).
"Escape" from Mathematica
"Escape" from Mathematica
many times in the pastWe're losing data.From experience this is an important point
First of all, the minimum非常口I have to make sure
If you can't afford to pay wolfram Research, you can just play files for free.
If you need to stop using your notebook:
To uproot a folder notebook to pdf:
As long as you are aware of executable documents that are as easy to guarantee as much as possible for self-explanatory, you will find a reasonable meaning in the Exported data. (※ 90-x問題)
Now, this "共通Let's discuss the possibility of "preparation" related to cognitive decline which should come to "Me and its vicinity" on the "executable document infrastructure".
From here, it's like wolfram Research's promotion.
Mathematica Notebook How-to Guide
From here, it's like wolfram Research's promotion.
Mathematica Notebook How-to Guide
Mathematica Notebook How-to Guide
I want to tag and leave every clue
I want to tag and leave every clue
It's even better if tagging is semi-automated
Can you live on 777 like the former Stallman?
Can you live on 777 like the former Stallman?
It is clear that it is better to avoid unnecessary encryption as a measure against dementia and disorientation.
(The current trend of privacy compliance is not dementia-friendly in every scene)
Can you avoid encrypting your entire hard disk with a properly partially encrypted document?
It may be necessary to secure by electronic signature or blockchain for security measures and tampering measures, but we want to keep it as plain as possible.
Of course, to face reality, you need to consider complex situations: 参考PDF参照
The whole file must not be kept secret.
The whole file must not be kept secret.
There should be no necessity that the entire file system will be encrypted as a whole.
However, the part that should be kept secret should be automatically kept secret when exposed to the outside.
However, the part that should be kept secret should be automatically kept secret when exposed to the outside.
Even with current cognitive abilities, current file management cannot support data security
Even with current cognitive abilities, current file management cannot support data security
Multi-level security management is essential considering cognitive changes
Smart Contracts as One Document
Smart Contracts as One Document
Smart Contract Szabo 1977
Ask others to present documents, understand them, and help them do so
Let's exchange keys!
Let's exchange keys!
How do I store the master key?
90-x Where is the biometric key that can be used until two years later and where is its implementation?
Redundant password for oblivion that Masui wrote in bit
At present, there seems to be no choice but to prepare itself as a self-explanatory executable document.
Encrypting data for system users
Encrypting data for system users
or how to leave a will
With identity-based cryptography, the certificate authority has not yet used the system (the key has not been issued), relying on the master private key to be able to issue its own private key based on its own IDENTIT. It is possible to create encrypted data using the ID for a person. But what should I do if I don't have a certificate authority (which authenticates any individual) and want to leave encrypted data for someone who hasn't already used the system?
1
.Use the above-mentioned redundant password protection with questions and answers that are considered to be shared only with people who want to share secrets (there is a risk that you cannot guarantee whether they can truly be decrypted)
2
.Rely on secret distributed sharing by multiple system users (difficult to guarantee that they remain completely hidden).
I think that the role of "Information Bank" is important as a certificate authority that authenticates individuals based on id, whether it is my card number or sumimoto code, but it is not possible to start relying on what is not now by example, Is the combination technique of 1,2 a real solution (if the situation changes in the next ten years, it may be corrected flexibly)
3
.By combining the "letter of recommendation" authenticated by some system users with the answer to the question that one party will surely know, to determine whether or not to decode. Determine the security policy for that time in advance.
If the "recommendation" issuer "attaches" a letter of recommendation to the notebook, the recommender's ID remains, cannot be anonymously recommended, and the risk of leakage will be reduced somewhat if the required number of letters of recommendation is determined by the security policy.
Multi-resolution self-explanatory executable documents
Multi-resolution self-explanatory executable documents
Even with current cognitive abilities, current file management cannot support data security
Multi-level security management is essential considering cognitive changes
Self-explanatory documentation that can absorb cognitive variability
(half) automation of documentation of necessary related data from hypertext and back-end data bases tailored to cognitive fluctuations as well as security levels
What is a multi-resolution executable document?
Schedule a delay evaluation basis according to the level of cognitive change
Can (semi) automatically outsource parts that require the support of others
Others include not only supporters, but also themselves when cognitive ability is restored due to cognitive variability.
展望
展望
HyperCard runs at an astonishing speed with powerless hardware, Genera, which can't be imagined from the current situation with only a dumb terminal, was the OS standard. The existence of is no longerOh Parts LevelIt is.
「If Mathematica gets stuck, why don't you use Maple?To be able toThe demands of scientists, mathematicians, and hobbyists (very important) who crave the evolution of a mathematical processing environment like Mathematica are strong and universal.That is, it is necessary. Is it reasonable to assume and rely on it?
If this assumption is false or true, its strength is not sufficient to be economically or for any other reason, and the execution environment and other options are lost. Can you recover the temporary loss of "short-term memory" from the "mathematical knowledge" as "long-term memory" of society to the loss of short-term memory of such a society? Is there any way to speed up the recovery process?
It's the foundation of Asimov.
I'd like to believe that I probably don't need to go deeper and worry about this problem (more than to secure an exit from Mathematica).
I'd like to believe that I probably don't need to go deeper and worry about this problem (more than to secure an exit from Mathematica).
That’s another story, isn’t it?
Note
Note
If it is determined that the past history of Log should be kept in secret as described in plain text (or low privacy level encryption), the section must be encrypted (changed level), i.e. the privacy level must be changeable.
In the case of a case in which the person who determined that the data that should not be disclosed in the history of Log exists in plain text, family acquaintances, etc., and others encrypt and protect it, and each strategy. In addition, the person's condition and the person's privacy policy should be an argument of the function that implements the measure.
Raising the privacy level is generally easier than lowering. However, raising the privacy level, such as encrypting just in case, can lead to cases where, for example, a rival sets a public advertisement to private and interferes with business operations. In addition, if the person's cognitive ability is declining, it is not always possible to recognize that the person is correct in the act that others have kept the secret.
In the future, advances in biometric authentication may be available as a key to determine the need for authentication, including the state related to the intention of the person in question from the signal of the brain, but for the time being Masui-san wrote in the old bit for the time being “ “Super-safe password” something like, and if you correct the set of questions and answers for each generation above a certain threshold, you will need to prepare a document that the master key can take.
The privacy policy itself should also be disclosed and encrypted. Disclosure may be mandatory for a part, but depending on the item, it may be necessary to keep it written or not. It will be necessary to implement policy execution on such various settings in a zero-knowledge proof framework.