begin

begin


The promotion of literacy encourages sharing knowledge by writing and reading. That provides the feelings of receiving and giving, a common ebb and flow of life.

Most commodity computers barricade their labeled buttonboards behind an unlabeled device that must be repetitiously lifted, clunked, and slid with gymnastic precision. Options are what the software developers decided, are without immediate documentation (if any), and are hidden within a maze of non-personalized menus.

However, once the commodity software permits the buttonboard to function as a means for typing text, personal expression and communication become possible with the ubiquitous skill of writing. The flow of writing fills in the gap made by the looking/pointing interface, partially sating the interest of personal comfort.

Freedom is a side-effect from taking on the responsibility of following through with personal interests. In other words, the experience of pursuing personal interests is the essence of living life, but is perceived externally or by self-reflection as freedom. The pursuit itself is active involvement, hence no absence of responsibility.

Opportunity is sometimes mistaken as freedom, as is the lack of molestation or expectation from other people. Like security and privacy, freedom is never taken away because it is only a perception. At most, freedom is disrupted like the daydream it is.

Jumping through hoops or over hurdles provides a false sense of accomplishment, a façade of freedom after the labyrinthine escape. Ideally, writing in the computer medium would be without an obstacle course entrance, as immediate as writing on paper.

Unique text editing software often produce unique file types, which make the documents eventually inaccessible when the software is abandon by its company. Only plain text documents are accessible with any computer, old or new, commodity or personalized.

# notetaking with the computer medium

Paper is one of the best mediums for recording notes. Notes on a sheet of paper can be read by someone else without the need for that person to have a pad of paper.

Notes recorded in the computer medium are undeniably less accessible and less sharable. Computer documents require a computer for reading them, and the computer requires electricity.

A buttonboard with a button for each letter of the alphabet does aid in writing legibly, and quickly, on a computer. However, the casual markings on paper for emphasizing specific text is typically beyond what is provided by a buttonboard with its limited set of symbols.

Nonetheless, prose often has parentheses and square brackets distinguishing supplemental information, or quote marks specifying exact wording. The same approach with a different pair of symbols can emphasize text within the computer medium.

# the motivation for markup

Plain text is whatever is typed, because plain text is as plain text does. As such, plain text is compatible with any operating system of any computer, from the past to the present and into the future. There is no need for unique programs or unique operating systems.

Formatting options such as spacing, line thickness for drawing text, and margins help delineate and emphasize ideas. Unfortunately, some text editor programs merge that formatting with the prose in a way that is unviewable and uneditable with any other text editor.

Typing marks in the prose of a document for formatting its text ensures compatibility, because those marks are also plain text. Such a document is still perusable even without other software for interpreting the marks in an alternate view.

In other words, consider writing and reading as two different actions: edit text plainly, or view text as read-only. When editing text, mark the text when it would be helpful for a read-only view. Quite often there is no need to mark anything, as it is just a bonus for the read-only mode.

There is no conversion necessary for sharing plain text with markup. Extra software for a read-only view is optional. Reading and editing personal or shared notes remains possible with any text editor on any computer, old or new, commodity or personalized.

# writing and marking plainly

The uncommon angle brackets (< and >) provide the means for distinctive marks within prose typed in the computer medium, and without significant loss of prior meaning for these symbols. They are also more conveniently available, as they are on the same buttons for the comma and period.

Declaring the intent of the mark within the angle brackets provides the opportunity for a system of marks. Such named marks indicate how the text would be drawn on paper, including thickness of the lines and spacing around the text. They evoke imagination and promote association of external meaning with the text.

Maintaining brevity of intent is necessary for typing the marks as easily as the pair of symbols. Having only that intent within the mark keeps it distinct from the prose. Preferably, a descriptive name is chosen for the mark, but only its first letter is used. This results in only three characters for the mark, yet more easily identifiable from the prose.

For example, thicker lines of text is known as "bold" text, therefore the mark is <b>.

A marked region of text is purposely distinct from the remainder of the document. The region has a mark at its beginning, and a conveniently similar mark at its ending. Only a single symbol is added to the ending mark for distinction, the forward slash /, which is conveniently on the button (with the question mark) next to the angle brackets.

For example, a region of text marked at its beginning with <b> would have </b> at its ending. Mnemonically, the "/" then "b" means "end b".

Normally drawn text with <b>this text to be drawn with thicker lines</b> and normally drawn text after it.

Sometimes the ending of a region is obvious by a mark beginning a new region after it, f.e. a paragraph after a paragraph. Ideally, the ending mark for such obvious circumstances is optional for convenience.

<p>A paragraph of text that is followed by another paragraph.
<p>The previous paragraph obviously ends when this paragraph begins. This one has an ending mark, though it might be unnecessary.</p>

# using HTML for document sources

Hypertext markup language (HTML) is a system of marks for declaring intention of how text typed on a computer would be drawn or spaced on paper. As aforementioned, the marks evoke imagination thereby promoting association, understanding, and memory retention of the content.

The HTML system provides recommendations for an alternate view of a document marked with HTML marks. The marks are hidden and the characteristics implied by the marks are applied to the marked regions. This eases some of the mental strain of imagination, preferably without provoking too much boredom.

Notes about some other document will often have the name of that other document for later reference. For computer documents, this more reliably also includes the filename of the document and its location.

...found in "The name of a document" in the file "a-directory/document.txt".

...found in "The name of a document" (document.txt).

...found in "The name of a document" (https://domain.tld/document.txt).

HTML considers a location as an "anchor", because of the ideal of permanent availability of a document as a source. The HTML mark for a location is <a> and supplemented with the href attribute for the location (hyperlink reference).

...found in <a href="a-directory/document.txt">"The name of a document"</a>.

...found in <a href="document.txt">"The name of a document"</a>.

...found in <a href="https://domain.tld/document.txt">"The name of a document"</a>.

As aforementioned, the beginning and ending marks are never shown in the alternate HTML view of the text. Additionally, the HTML system recommends presenting an anchor as a link to its specified document, traditionally underlining the text within the marked region. This makes the HTML view more concise, while enhancing access to referenced documents.

# using HTML for organizing files

A plain text document with hyperlinks to other documents is a personalized view of the other documents and images on the computer. Images can be shown within the HTML document itself efficiently by reference rather than insertion. That is more personalizable and customizable than any automated document listing from any operating system.

A plain text document is a file, therefore always accessible regardless of what computer. An document with HTML marks is still plain text. That makes HTML documents perfect for providing information about documents and images in any directory listing (a.k.a. a folder) that is copied to external storage to be shared with others.

Commodity operating systems are without much if any options for writing descriptions for a file, nor for grouping or categorizing with personal meaning as easily as typing text. An approach provided by one operating system makes such notes inaccessible with other operating systems.

An HTML document is a cleaner and simpler approach to organizing files rather than creating lots of folders and moving files around, or even creating so-called symlinks or aliases to files. No need to move anything or rename anything, just type a hypertext link to it within a document and describe it as easily as writing a simple note. Start as basic and simple as a list with hyperlinks, then add paragraphs as desired.

In this way, the reason for having each document or image is available, rather than opening each and every document with many different applications and trying to remember later. Documents without descriptions, reasons, or relations to other documents become prime candidates for removal in order to reduce clutter.

No matter what operating system, even from before the turn of the century, every computer comes witha a simple text editor for editing plain text and an HTML viewer (a.k.a. web browser). Thereby, the document can be viewed in any web browser on any computer, and without need for a webserver or even an internet connection.

No special programs necessary, no extra cost, and HTML is as plain as the buttons on a keyboard.

# essential HTML

The "language" in HyperText Markup Language (HTML) means it is a system or set of guidelines. There is no communication by the means of HTML, itself being only a description of a set of plain-text marks.

HTML is useful for inserting guidance for a temporary read-only view of a document. Start typing something, and then minimally mark it up when helpful. Sort of like proofreader marks, except consistent because all marks begin with < and end with >.

The angle brackets make the occasional HTML mark readily distinguished from the prose, just like parentheses or square brackets. They are often readily available on the comma and period buttons of the keyboard.

A name for the mark is usually immediately after (t.i. with no space) the < and afterwards sometimes there is more describing characteristics of the mark itself, before the >. However, any text can be placed in between < and >. Just type whatever. Programs for a read-only view of a document with HTML marks generally ignore any unknown named marks, thereby never show them.

The ".html" at the end of the filename for a document is typically the only (artificial) requirement made by the operating system and its applications. All HTML marks are optional, as such a document declared to be HTML can be just prose without any marks.

Links are "hyper" text, because the text is marked with an address for a location within the document or to another document. In other words, a link is an option to view some other part of the document or to view another document. Hypertext is traditionally underlined by HTML viewers.

Mark a location in a document with an anchor having an ID by typing <a id="some-name"> and end it with </a> to give that spot in the document that named ID as an address. No need for any text between the marks when it is an ID, merely type the marks before something interesting, like before a heading.

Mark text as hypertext with a reference href in an anchor mark <a href=""> before the text, then follow the text with the </a> ending mark.

In essence, making a note about another document typically involves typing the title of the document, and typing the address of where to find it. In other words, that is the act of referencing a source. A hypertext link is the same thing, with just a few more characters to type. The same information is recorded, and it will be a link in the read-only HTML view.

Embed a document with the internal frame mark <iframe> by referencing the source with the src attribute. The <iframe> mark is replaced by the source framed with a border. Its document is scrollable when larger than the frame. Change the default frame size with its width or height attributes.

<iframe src="some-other-document.html"></iframe>

<iframe src="can-be-an-image.jpg" width="400" height="300"> This description is never shown. </iframe>

Specifically add an image with the <img> mark and reference its source with the src attribute. There is never an end mark, because its description is recorded in its alt attribute instead. Optionally scale the image with its width or height attributes. The <img> mark is replaced by either the image itself or its description in the alternate HTML view.

<img src="an-image.jpg">

<img src="another.jpg" width="500" height="375" alt="Maybe a thousand words or so...">

Change the default characteristics of any mark with the style="" attribute for it. A colon associates a characteristic with its value, and a semicolon separates characteristics. Optionally use spaces around the colon or semicolon for clarity.

For example, set the width of a paragraph and center it horizontally.

<p
style="
text-align: right
;width: 50%
;padding-top: .25in
;border-bottom-style: double
;border-bottom-width: 2mm
;margin-left: auto
;margin-right: auto
">For example, set the width of a paragraph and center it horizontally.


[Transitioning... (transition completed) Rewriting...]

# resources

# markup a CSS stylesheet

A stylesheet for stylesheet documentation, a.k.a. a hybrid CSS+HTML document.

The "style" of Cascading Style Sheet refers to expression rather than decoration, because CSS is for changing the default spacing and drawing of HTML marked regions of plain text documents. Therefore, CSS actually describes the characteristics of HTML marks rather than the document.

A CSS stylesheet is itself documented with comments embraced by /* and */. Comments can be marked up with HTML, thereby documentation for a stylesheet can have an alternate view in an HTML viewer.

A well-documented stylesheet inevitably links to itself for providing samples of its rules within its documentation. Therefore, a "stylesheet stylesheet" such as this one is "the mother of all stylesheets", as it precedes and begets all thereafter.

# PDF: portable document format

Portable Document Format (PDF) describes how to layout text and images, and is plain text. Basic notes for PDF version 1.4, mostly with the purpose of combining images into a single PDF document.


# emacs (Editing MACroS)

Use emacs (from its website) for editing text, and when it is helpful occasionally record sequences of typing and commands as macros to repeat with a single keystroke. No computer programming necessary. Hence, "editing macros" means macros for use with editing text, and in emacs everything is text (though it can show an image as an image, too).

Everything can be done with the keyboard in emacs. That is especially helpful for people too lazy to precisely move a computer mouse or a trackpad. The keyboard can remain sitting still and most of its keys are actually labeled. With repeatability there is no worry about repetitive stress, no need for ergonomics.

Remember: it is a computer, not a typewriter. There is no need to keep hands positioned over the "home" keys of asdf and jkl; at all times. Just relax, occasionally press a few keys in whatever comfortable manner, and let the computer do the work.

The following description is mostly an overview of the interface and the exceptional experience of emacs, a supplement but not a replacement for its classic tutorial.

# what?  how?  the command prompt

A single blank line known as the "minibuffer" is at the very bottom where short messages are revealed after evoking a command, or a prompt is shown waiting for an answer. This is how to know what has just happened, or what is needed in order for something to happen.

A command can be executed by typing the two characters ESC x, t.i. the ESC (escape) key and then the x key, and then typing the command's full name and the RET (return) key. The use of the ESC key causes these typed characters to be shown in the minibuffer while typing them, not in the document being edited. After typing RET the command will be executed.

Sometimes there will be a message about the results of the command evoked, depending on the command. For example, typing ESC x forward-paragraph RET will move the text cursor to the beginning of the next paragraph, and there will be no message about the result.

Tab completion is usually available whenever there is a prompt in the minibuffer, such as text followed by a colon ": ", when typing a command name or other values in the minibuffer. At such a prompt either type the TAB key, or type the beginning of something and then type the TAB key. Either the only possible value is filled in, or all possibilities are shown in a temporary view. Not much need to remember how to spell anything or whether it exists.

Type Controlg to give up and go back to editing text instead of finishing typing a command in the minibuffer.

# shortcuts

Sometimes a command name is bound to a shorter sequence of keystrokes (a keybinding or shortcut), which is a nickname of sorts. A shortcut is often one modifier key combined with one other character, or the ESC character followed by another character.

Modifier keys tend to be at the bottom corners of the keyboard, on either side of the space key. The SHIFT key is a modifier key, and so is the CONTROL key, the ALT key, the OPTION key, the COMMAND key, and even the FN key. They all work in same way, so knowing how to use the SHIFT key means knowing how to use any modifier key, but of course each does a different modification. For example, Shifta inserts a capital "a", t.i. "A".

On the other hand, the ESC (escape) key, the TAB key, the SPACE (space) key, and the RET (return) key are regular keys and therefore produce characters (though typically without symbols) just like the letter keys, number keys, and punctuation keys.

A shortcut can also have multiple modifier keys used with a character. Typically, shortcuts are kept simple and the complex ones are for rarely used commands. Of course, they can be personally customized if desired, and more than one shortcut for the same command is allowed.

The helpful shortcut Controlh w will reveal which shortcuts a command has by prompting for the command name in the minibuffer. For example, type Controlh w, then at the prompt type the command name forward-paragraph (or use tab completion) and then the RET (return) key. The minibuffer will reveal its shortcut, which is by default the two characters ESC }.

Similarly, Controlh f will also prompt for a command name to find, but it reveals the documentation for the command name which will also include the shortcuts for it. The documentation will be shown in a view rather than shown in the minibuffer.

Contrarily, the shortcut Controlh c will reveal the command name for a shortcut, if there is one. For example, type Controlh c and then at the prompt type the two-character shortcut ESC {. The command name for that shortcut will be immediately revealed as backward-paragraph in the minibuffer. Or, query about either Shifta or just a, and then the minibuffer will reveal the command self-insert-command.

Similarly, Controlh k will also prompt for a shortcut, but it reveals the command name and its documentation, and in a view rather than in the minibuffer.

Sometimes a modifer key and character is a prefix for a longer shortcut name, for example Controlx (a very common prefix for executing shortcuts). In that case, the minibuffer will show an abbreviated form of the characters typed (f.e. C-x- for Controlx) after a short pause, meaning it's waiting for more. There's no need to wait for the prompt when the complete shortcut is already known, and when typed fast enough it won't show in the minibuffer at all. Either finish typing the shortcut sequence to evoke the command, or type Controlh for help and then a listing of known shortcuts beginning with that prefix will be revealed in another view. On the other hand, using Controlg with a prefix will typically cancel it because the resulting shortcut is typically not defined.

# repeat commands without repeating commands

Commands can be repeated a specific number of times by using the CONTROL key with a number (or with just the first digit of the number) before evoking a command. For example, to move the text cursor forward three paragraphs type Control3 ESC x forward-paragraph RET.

Or, use repeatibility with its shortcut by typing Control1 Control2 ESC } to move the text cursor 12 paragraphs forward, or perhaps more conveniently with only Control1 2 ESC }.

Sometimes it makes sense to use a negative value with a command. Type a hyphen first to indicate a negative value, such as Control- 27 for -27. Also, using only Control- is a convenient equivalent to Control- 1.

Of course, this can be used with typing. For example, type Control8 0 - to produce 80 hyphens. Or, use it with the DEL (delete) key to remove a specific number of characters, forwards when with a positive value and backwards with a negative value. Or, use it to select text, such as a specific number of words or paragraphs, either forwards or backwards.

# type anything, start highlighting, select everything

The prefix Controlx 8 is for inserting any Unicode character. Just type Controlx 8 Controlh for a helpful list of all possibilities revealed in a new buffer (and likely in a new view).

The prefix ESC s h is for specially highlighting patterns of text, f.e. the same word or phrase throughout a document. As usual, following the prefix with Controlh will reveal the various possibilities. For example, ESC s h p will prompt for a phrase to highlight, and then color that text throughout the document. (Using ESC s h r asks for a "regular expression", which is a pattern for text.) The default is yellow the first time, and then a different color for each successive call for new phrases, but any color can be chosen.

Search with Controls or in reverse with Controlr. All matches will be highlighted, and can be traversed forwards or backwards by repeating those shortcuts. While searching, use the higlighting command ESC s h r to choose a color for the matches, which then ends the search. Or while searching, use the shortcut ESC % to specify a replacement and begin getting asked for each match.

Use CONTROL and the SPACE (space) key, t.i. ControlSPACE, to set the mark for selecting text. Then maneuver the text cursor as normal and the text will be selected. For example, use ESC } to move to the beginning of the next paragraph thereby selecting everything in between. Or, use ControlSPACE ControlSPACE (t.i. twice) to deactivate the mark, which cancels selecting text.

Similarly, using the SHIFT modifier key with the movement shortcuts will also select a region. For example, the tutorial reveals ESC e moves to the end of the sentence (or the next one if at the end already), so ESC Shifte would select to the end of the sentence. The content of the whole buffer can be selected with the simpler Controlx h, no matter where the cursor is currently located.

While selecting text, use search to extend the selected region. The selection will extend to the next or previous match, and each thereafter for each repeat of the search shortcut. End the search and then do whatever with the region, such as search/replace within it and only it.

Once a region is selected, then use Controlx n n to narrow the contents to only that selected region. In other words, everything else in the buffer is hidden. Select another region and narrow it again, if desired. Show everything once again by widening with Controlx n w. (Obviously, Controlx n is a shortcut prefix, so Controlx n Controlh will show help in another view with other shortcuts beginning with it.)

# documents

Editing a document is always on a copy of it from its file, and in emacs this is explicitly acknowledged by referring to the copy as a "buffer", a temporary place for editing.

Already existing documents can be viewed with the "directory edit" mode using the command ESC x dired RET (shortcut: Controlx d). The prompt in the minibuffer shows the name of the default directory (folder) that will be listed in the current view, otherwise type the name of the desired directory before typing RET.

When viewing a listing of files in dired mode, help for the mode can be shown with Controlh m (as that shortcut does for any mode). Note that many of dired's shortcuts are simply a single key or use the SHIFT modifier key, such as for copying (Shiftc), renaming (Shiftr), or toggle sorting the listing by name or date (s). Just move the text cursor to the name of the file and type RET to reveal its contents for editing.

Compress or uncompress a file in a dired listing with Shiftz (which also adds or removes ".gz" from end of name). If gnupg is installed with emacs (perhaps for use with email authentication), then a file in dired can be encrypted with : e (which also adds or removes ".gpg" from end of name).

No need to uncompress a file before editing it. In emacs, the uncompressed contents are shown for editing, and then automatically recompressed when saved again. Same thing for encrypted files (".gpg") (automatically asking for passphrase), or even encrypted compressed files (".gz.gpg", or the potentially smaller ".gpg.gz").
(But tricky: Will work when a document is saved with both extensions, in either order. However, compressing an encrypted file within dired results in viewing only encrypted data. To fix: Open file; use Controlx h to select contents of whole buffer; use ESC x epa-decrypt-region, and agree to replace text; then save document.)

A new document (file) can be initiated with Controlx Controlf and then typing a name for it in the prompt in the minibuffer. However, it will be only a buffer (a temporary place for editing), and the file will not actually exist until the buffer is saved.

Save the changes of a document done within a buffer to its associated file with Controlx Controls. Saving a buffer overwrites the document's file (if already existing), though a backup of the original is automatically made the first time (with same name plus "~"). Write a document to a new file name with Controlx Controlw. Add ".gz" to the name of the file to have it compressed when saved, or ".gpg" to have it encrypted when saved (assuming that has already been set up), or add both.

# buffers, views, and frames

A simple listing of all buffers is available with the command ESC x list-buffers (shortcut: Controlx Controlb). Or, use ESC x ibuffer for ibuffer mode with more features for sorting, filtering, marking, and general organizing of a long list of buffers. (Again, Controlh m shows help for the mode in a view.)

More than one view of the same document is possible, such as when desiring to view different parts of the document simultaneously instead of scrolling back and forth. Simply show the buffer listing in a view and choose the buffer with the same document already shown in another view. Or, use ESC x switch-to-buffer (shorcut: Controlx b) to switch to it by typing its name at the prompt in the minibuffer at the bottom (and with tab completion). In other words, it's possible to have more buffers than views, or more views than buffers.

It's worth keeping in mind emacs has tiled-view management rather than the typical overlapping-view management. (A view is sometimes referred to as a "window" in operating systems (OSes) like macOS or MS Windows, or other OSes might have a "window manager".) A tiled layout means all views are always visible from edge to edge, never obscuring each other, and no wasted space.

There's no need for micromanaging widths and heights of views (though it is possible). Simply use the whole screen for emacs and then split its height in half (new view below) with Controlx 2, or split its width in half (new view on right side) with Controlx 3, as many times as desired. Equally distribute the size of all the tiled views with Controlx +. The computer does the computing.

Close (kill) the buffer/document in the current view with Controlx k RET and then the next most recent buffer is shown in the same view, keeping the layout the same. Collapse a view to nothing (without closing the document) to give its space to a nearby view with Controlx 0 (zero), and the document remains available in the list of buffers. Or do both: collapse the view and close the document shown within it at the same time with Controlx 4 0 (zero), for less clutter.

For example, imagine the whole screen is one view showing the contents of a document. After splitting the width of that view in half with Controlx 3, the right half shows the same content as the left half, and the left half retains the focus. Scroll a few pages down in the left half and the right half will stay still, it retains the original position. Split the width of the left view in half and there will be a new right half. Both are one-quarter of the screen width because they began as the left half of the screen. So, three views of the same document: two views are one-quarter of the screen width, one view is one half of the screen width. Now equally distribute the three views with Controlx + and the width of each will become one-third of the screen width: left, middle, right. The left still has the focus, so now close that one with Controlx 0: its area is merged with the middle, and now has the focus. That means there are now two views: the left view is two-thirds of the screen width, and the right side is one-third of the screen width.

Of course, a document can be edited at any time in any of its views, they are all functional. That can make it easier to copy/cut from one section of a document and then past in another of its sections, while being able to see both places at once.

Switch the focus to the other view with Controlx o, either from top to bottom or from left to right. Or, switch to the other view in the other direction with Control- Controlx o. Or, switch the focus to any view with command repeatability, f.e. switch to the fifth next view with Control5 Controlx o.

Therefore there is nothing to move because views are always aligned edge to edge, and no listing of views because they are all visible. Instead, peruse a listing of buffers/documents, or a dired listing ("directory edit" mode). Just choose what buffer/document is shown in a view, split a view in half for viewing the same buffer/document or for showing another one, and collapse any view no longer needed in order to give space to everything else.

With that said, it is worth knowing that all views are together within a frame, and it is also possible to have more frames. For example, using emacs with the whole screen means all the views are in a frame that is the size of the whole screen. Creating another frame the size of the whole screen would obscure the other frame. However, in this way it would be possible to have multiple layouts of views because each frame would have its own set of views showing whichever buffers/documents have been chosen for them.

Multiple frames within emacs is akin to the "virtual desktops" implemented with over-lapping views of most every window manager of most any operating system (OS). With emacs, this is without the novel addition of an unchangeable default directory listing (a.k.a. the desktop) that becomes inaccessible beneath overlapping views. Instead, in emacs any directory is listed with dired (directory edit) in any view of any width/height, fullscreen or otherwise. No artificial limits, no obscuring, no imposing novelty.

# getting to know emacs

Mac OS X is notorious for having an ancient version of emacs, and macOS is no different. Best to find and install the latest emacs on macOS instead. (Or, some other operating system, such as GuixSD. (Or preferably an operatable system, but then that would be like emacs anyway.))

Starting emacs will show a message saying to start the tutorial with C-h t, which means to use the CONTROL key to type Controlh and then type t. (Recall from the shortcuts description that the CONTROL key is used like the SHIFT key.)

After completion of the tutorial, it is worthwhile reading manual sections 30, 17, 13, and 44 sooner rather than later, t.i. rather than starting with section 1. As revealed with help on help (with Controlh Controlh), the emacs manual can be referenced at any time desired with Controlh r by means of Info mode.

The latest emacs manual is also available at its website.

When reading anything in Info mode the node name for a page can be seen at its top. A name in parentheses indicates the manual name, and after the parentheses is a section name. The node name for a page can be instantly copied with c regardless of where the cursor is located, and then the name is also temporarily shown in the minibuffer. The manual name in parentheses is needed only when changing manuals.

Use g to go to a node by name, then the minibuffer at the bottom will prompt with "Go to node: ". The keyboard shortcut ESC ( (for ESC x insert-parentheses) inserts a pair of parentheses and places the text cursor in between them. Tab completion for typing manual page names is possible, as expected.

For example, Controlh i evokes Info mode with a listing of all available manuals. Type g and then the minibuffer at the bottom will show the prompt "Go to node: ", then type (ses) to switch to the "Simple Emacs Spreadsheet" manual. Or, type (emacs)Rmail Basics to switch to a page within the rmail section in the emacs manual. Or, type (emacs)Rmail TAB to use tab completion to reveal in another view a listing of emacs manual page names beginning with "Rmail".

# SPOILER to the emacs manual

Note that section 17 is about the "editing macros", which is the namesake of emacs. It is the basic premise of ancient science fiction about computers: at the touch of a button a computer does whatever is desired, no computer programming necessary.

In short, F3 starts memorizing all keystrokes as a new macro until F4 is typed to end recording it. Then each time F4 is typed, whatever keystrokes were memorized are done again. Note that commands are typed, shortcuts are typed, text is typed, and so on. Therefore, any series of actions ever done in emacs can be memorized by the computer as a list of instructions, and then it can be repeated at the press of a button.

Select a document in dired, open it, search for a specific location in the text, insert a copy of some text, save and close the document: repeat. Anything that becomes repetitive can be recorded and repeated. There can even be moments when a macro queries whether to continue, which also allows for doing something different at any time within the middle of a macro, as many times as helpful. To emphasize again: no programming necessary at all.

Of course, a macro can be repeated a specific number of times, too. For example, type Control4 2 for 42, and then type F4: the prior memorized sequence is performed that number of times.

With emacs, the computer does the work. Just show it how. No computer engineer needed, no code needed.

# email is text

Reading email in emacs is quick and simple with rmail, t.i. ESC x rmail. The key factor is installing mailutils for accessing IMAP email accounts. Consider using this alternate rmail.el.gz library for checking email from multiple email accounts.

Sending email works simply. Configuring requires setting at least two variables: send-mail-function, message-send-mail-function. Consider using this alternate smtpmail.el.gz library for sending email from multiple email accounts, and also obviating a slew of other variables.

# archæological loss of the computer medium

Writing and reading is the basis of the computer medium. Freedom of expression, t.i. the result of a person taking on the responsibility of speaking for itself, is what has been curiously missing with the commodity computers sold to the everyday person. Choice is often the only opportunity given to the purchaser of a computer, choosing amongst decisions already made by the software developers.

The skill of writing and reading has been impressed upon as many people as possible, and has become an expected means of learning and communicating. However, the computer medium is sold as a means of looking and pointing at options thought of by somebody else, failing at integrating with the flow of thoughts and actions of the everyday person implementing the computer medium. Paying money for a computer and then having applications do what somebody else wanted to do can only be a novelty, merely entertaining a person whose desires were never asked.

A computer application, a type of software, is an example of grouping basic commands for a specific task. Obviously, that is very useful for the person who groups them, and less so for a person when they are grouped by someone else.

Sometimes a single command is a group of other commands rather than emerging from new computer programming. A list of commands can be saved for later recall as a single command, f.e. by repeating the sequence of commands the person has just done.

Arbitrary actions with a pointer are prone to misinterpretation when part of automating repetitious activities. A shared command whose composition can never be explored, whose list of subcommands is forbidden from discovery, is an insincere gift that will fail to support the everyday person to correct it, simplify it, or adapt it for personal comfort.

Ultimately, personal expression is supported by writing and reading, impeded by insincere sharing, and essentially neutralized by having only choices. Sharing an approach inspires and supports the emergence of new approaches, with dissimilarity possible though unrequired.

The computer medium is inferior (f.e. when compared with pen and paper) for promoting self-education and cultural growth when it is distributed as an unexplorable trade secret providing a kiosk of choices rather than unrestrictedly adaptable by the everyday person for each moment of life.

# recipes and pseudocode

An approach is a recipe or pseudocode, and its application is the result.

A recipe declares an intent by means of a list of ingredients and events that have been effective for producing a desired result. An application is the result of the recipe, a final presentation either palatable or inedible.

A computer application is typically somebody else's execution of an approach, somebody else's results. With a computer, an application of an approach is invariable, but pseudocode is by definition a recipe and therefore an adaptable approach. The pseudocode is the gist and intentions, the springboard for a variety of forms, thereby distinct from any specific attempt.

Life is variable. Therefore, the predefined results of applications are inapplicable to the ever changing flow of events. On the other hand, an approach is guidance for transitioning through a moment, retaining opportunity for adaptation with each jump.

# documentation is prime

A computer programming language is merely a set of symbols or codewords. A computer is simply a machine, a piece of hardware, there is no possible communication with it. Instead, such a "language" is for a person briefly recording a set of instructions. Unfortunately, a computer program without documentation is as informative as a quote taken out of context.

Ingredients are fabricated with the computer programming language, or perhaps parts of the computer hardware are activated with it. Even then, the phrases and terms need to be interpreted as a specified sequence of toggle switches within the circuitry of that machine, typically a barebones coding with only two letters in its alphabet and no phonemes because it is never spoken.

In other words, the computer is just a tool chosen for applying an appoach, and a computer language records mere gesticulations of the person applying the approach. Therefore, the approach or purpose is inherently underivable from the computer coding, as it is no more than the pattern on a wall of toggled switches.

An approach must be recorded before or as it is applied if it is ever to be known by anyone else, as many archeologists have lamented. Minimizing it by shedding its context deprives everyone of its meaning, even the later self of the person applying it.

To reiterate, there is no communication possible with a computer language, for it is intended only for toggling switches for a result rather than sharing an understanding. A computer program is merely one adaptation of an approach, one choreographed dance for a feeling, forever unrevealing of its own inception.

# an operatable system

A computer is a medium for writing and reading, with the writing reduced to mere presses of labeled buttons for each letter of an alphabet. There is no other skill needed for operating a computer, though there are sometimes other means besides a keyboard.

A computer is operatable, and automatable, when it is capable of restoring what has been recorded within its medium. That is, a computer recording the actions done with it in the moment and then repeating those actions upon request is being operated.

A system of programs operating on their own, especially when unmodifiable, is an "operating system". Somebody else's program is somebody else's operation of a computer, recorded from some other moment for that other person.

As a computer program is a proxy for the person who created it, vetting a computer program is the same as trusting the person who wrote it, perhaps a complete stranger. A computer virus is merely a computer program. A system readily operating on its own, t.i. an operating system, is operating for the interests and intentions of the people who wrote the programs.

In contrast, an "operatable system" does nothing until it is operated, so known programs can be the only programs ever activated or automated, per the decisions made by the person operating the computer.

There is no denying the various computer mediums are archeologically unsound. That makes it all the more important for using the computer medium as freely as possible during this transition beyond the computer medium itself for more sustainable, sharable, and perusable recording mediums. The medium of pen and paper (as an example of the latter) preceded the computer medium, and is destined to continue beyond the computer medium during the search for other millenially persisting recording mediums like pen and paper, clay tablets, and stone structures.

The unadaptable predetermined decisions of the operating-system/application paradigm is worthless for the everyday person, who is the core of any people, the core of any culture. This is evident by companies creating applications for their own use, with the employee (an everyday person) making do with what is available while waiting for those applications.

An operating system is non-functioning without its applications, and developing an application is a tangent away from the flow of the moment. Without documentation, there is no hope of adapting someone else's program for the current moment. There is only choice of the decisions made by someone else, without opportunity for freedom of expression by the person choosing.

A core characteristic of the computer medium is that of immediate and exact duplication of any of its recordings, thereby the freedom for trial and dismissal without loss or corruption of the original version. That is the opportunity of self improvement with the freedom of saving and reveiwing inspirations and influences, and sharing those with the community for discussion and accelerating cultural development.

# design is a collection of foreign decisions

Voting is choosing amongst a set of pre-made decisions. A decision is inherently presumed acceptable, regardless of whether it is desirable. Choosing from someone else's menu is choosing from someone else's comfort, perhaps a selection of someone else's abilities. A vote or a choice is at most the wiggling of a toe tag, nothing like personal expression as there is no opportunity for a personal decision.

Design is a set of decisions. Somebody else's design is somebody else's decisions. Ultimately, a design is a past, foreign to the present, an opportunity for reflection and release. The adaptation of a set of decisions is the conversion of it into a new approach, perhaps a setup for a eventual spin-off or even a prequel.

# computer displays: punchcard or GUI

Punchcard is a recording medium readable by computers and people, a type of memory card, t.i. a memcard. A punchcard can be a piece of cardboard with holes made from a holepunch tool, by either a person or a machine. The holes and the lack thereof are arranged along rows and columns of a grid, and can be detected by either machinary or a person feeling a card, or by a person visually perceiving the arrangement of the holes in a card.

A "graphical user interface" (GUI) is an oblique phrase for any object with drawings on it, essentially for only visual interpretation rather than physical or aural. For example, a sheet of paper, or a sheet of glass, or a grid of lights. Text and other shapes are drawn with lines or with dots, perhaps by coloring each square of a grid.

Obviously, shape is visibly noticeable only when there are at least two distinctive colors; corollarily, there are no distinctions with only one color. Text and other shapes can be drawn with only two colors available, commonly referred to as a foreground color for the most important areas and a background color for less important areas. Additional colors allow for more distinctions, thereby more variety of lines and dots for text and other shapes. Notably, an extraneous use of distinction is distracting or muddling.

A drawing, t.i. a graphical recording, using more than two colors on a grid bound by having only a single color per square (t.i. a dot) can record a greater variety than a punchcard using only one hole shape. Similarly, more than one physically distinguishable hole shape would increase the variety for a punchcard.

Notably, the raised dots of braille pressed into paper are the inverse of a hole, and provides such a variety potentially detectable by machines, too. Furthermore, the eight-dot version of braille is equivalent to the eight-bits of a byte, thereby suggesting bytes might be readily perceived visually and physically. The million symbols or characters of Unicode is one step away from that, each represented by one or more bytes, f.e. with the UTF-8 or UTF-32 formats.

A touchscreen is a transparent overlay for a graphical display, such as on top of a sheet of paper or on top of a grid of lights. The drawings of text and shapes, or the lack thereof, beneath the screen are coordinated with the same areas of the transparent screen overlaying them. The transparent screen detects physical touch, and those touches are related with the areas on the graphical display. While that physical action with the overlay is imitative of recording information on a punchcard, an unshapable graphical display remains unreadable physically.


More:
HyperText Markup Language (HTML)
markup a CSS stylesheet
basic PDF 1.4
approaches for documenting binary files
file transfer, find, and grep
ssh key generation and use
installing emacs
email in emacs
ImageMagick command-line options for convert and mogrify (or magick as of 7.x)
Examples of ImageMagick Usage (6.x)