User:Anton Latukha

From ArchWiki
Jump to: navigation, search

Migrated from account User:PiroXiline.

  • I love old Unix ways.
  • I love terminology. Behind it lies great power. Behind it lies understanding.
  • I love to construct algorithms, describe in diagrams. Behind algorithms lies possibilities. Behind shapes lies order.
  • I love Linux. I hate Linux because it can be better.

We need to harness processes.

Look at NixOS and Guix. When they was developed.

And think about Snaps. Flatpacks.

Color draft Theory

Topic of colored output is difficult. One of main reasons - theory is highly mangled in a pile of interchangeably used words through time in Linux community, therefore terminology much unknown. Let's make it straight-forward.

This section tries to clear-out process, theory, separate parts and define them and explain differences.


Word 'console' or 'system console' in old-school sense refer to physical, hw device to send/receive information between human and OS software. OS/User - HW I/O device.

More, at Wikipedia:System_console.

Term 'Console' is still wildly used in right direction in embedded systems.

Virtual console

FreeBSD doc [1]: While the system console can be used to interact with the system, a user working from the command line at the keyboard of a FreeBSD system will typically instead log into a virtual console.

This is because system messages are configured by default to display on the system console. These messages will appear over the command or file that the user is working on, making it difficult to concentrate on the work at hand.

RedHat mail (diff Virtual console (linux) and xterm capabilities): [2]

Linux console

Note: Move Terminal emulator out (to userscape)

Line discipline

A line discipline (LDISC) is a layer in the terminal subsystem in some Unix-like systems.[1] The terminal subsystem consists of three layers: the upper layer to provide the character device interface, the lower hardware driver to communicate with the hardware or pseudo terminal, and the middle line discipline to specify a policy for the driver.

The line discipline glues the low level device driver code with the high level generic interface routines (such as read(2), write(2) and ioctl(2)), and is responsible for implementing the semantics associated with the device.[2] The policy is separated from the device driver so that the same serial hardware driver can be used by devices that require different data handling.

For example, the standard line discipline processes the data it receives from the hardware driver and from applications writing to the device according to the requirements of a terminal on a Unix-like system. On input, it handles special characters such as the interrupt character (typically Control-C) and the erase and kill characters (typically backspace or delete, and Control-U, respectively) and, on output, it replaces all the LF characters with a CR/LF sequence.

A serial port could also be used for a dial-up Internet connection using a serial modem and PPP. In this case, a PPP line discipline would be used; it would accumulate input data from the serial line into PPP input packets, delivering them to the networking stack rather than to the character device, and would transmit packets delivered to it by the networking stack on the serial line.

Some Unix-like systems use STREAMS to implement line disciplines. [3]


Word terminal is solidly used/stated in telecommunication theory.

Wikipedia:Terminal_(telecommunication): terminal is a device which ends a telecommunications link and is the point at which a signal enters and/or leaves a network. Examples of equipment containing network terminations are telephones, fax machines, computer terminals and network devices, printers and workstations.

So, the 'terminal' is a (termination) device (or device system) that ends a 'telecommunication system' and directly operates with human.

Computer terminal

Wikipedia:Computer_terminal - is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system.

Terminal emulator

Wikipedia:Terminal_emulator is a program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term terminal covers all remote terminals, including graphical interfaces. A terminal emulator inside a graphical user interface is often called a terminal window.

Virtual terminal

Wikipedia:Virtual_terminal In open systems, a virtual terminal (VT) is an application service that:

Allows host terminals on a multi-user network to interact with other hosts regardless of terminal type and characteristics, Allows remote log-on by local area network managers for the purpose of management, Allows users to access information from another host processor for transaction processing, Serves as a backup facility.

Command-line interface

Character user interface - any text UI.



Teletypewriter (originally), or a text display device, as used by deaf to read voice communication converted to text by a communication assistant device (CA). (text messaging, Internet slang) Initialism of talk to you.



Pseudo terminal


Wikipedia:Terminfo: is a library and database that enables programs to use display terminals in a device-independent manner. Mark Horton implemented the first terminfo library in 1981-1982 as an improvement over termcap.[1] The improvements include

faster access to stored terminal descriptions,[citation needed] longer, more understandable names for terminal capabilities and general expression evaluation for strings sent to the terminal.

Catalog of Terminfo located at /usr/share/terminfo


Wikipedia:Termcap: (terminal capability) is a software library and database used on Unix-like computers. It enables programs to use display computer terminals in a device-independent manner.


term(7) - conventions for naming terminal types


The environment variable TERM should normally contain the type name of the terminal, console or display-device type you are using. This information is critical for all screen-oriented programs, including your editor and mailer.

From this variable determined what type of Terminfo config should be loaded and used.

To get type you using:

$ echo "$TERM"

Today most of virtual terminals use some version of xterm* (xterm, xterm-256color).

If you use TTY interface and Linux console - you always get and use particular value - linux. linux value should be only used by real original Linux console from Linux Kernel, if other default is use some sort of xterm.

Escape sequences

ANSI escape codes are a method of using in-band signaling to control the formatting, color, and other output options on video text terminals.

Certain sequences of bytes are embedded into the text, which the terminal looks for and interprets as commands, not as character codes.


Bot & serverside parser with correction

  • Is there autocorrection bot on server side (in scanning mode somewhere)?
  • How does it work. Can it parse body text, wiki codes, tags, templates, nowiki tags and so on. And how (algorithm) he do it.
  • Does it <nowiki>|<nowiki> replace with {{!}}. It must be safe to do, because {{!}} escapes 1=. And there are no need for someone to use <nowiki>|<nowiki>, because {{!}} works in all cases.
  • Can <br> be replaced with two EOL?
    MW:Help:Formatting says: The usage of #: and *: for breaking a line within an item may also harm accessibility.
    It improve readability of wikicode greatly. Some articles extensively use
    (seen, but not going to search now, admins know), some very diry. Ex especially with extensive list stucture.
    So, there is a moment:
    *::text<br>text *: *:AND *: *::text *: *:text *:
    Results in:

So, bot needs to take body text between special wikicodes (seems it must be only
, or new two EOL is only two cases I found), delete
, create EOL with

  • Mediawiki list Item
  • Can {{bc}} be replaced with ^space? Or it better other way around?
  • If '#line EOL EOL #line' found - delete one EOL. So named list going to be continued, and not 1. 1. 1.
  • If spaceEOL delete space.


  • Articles need 'Backup' section.
  • Troubleshoot
    • Encourage 'Troubleshoot' sections.
    • Define terms for info in Troubleshoot sections.
    • Because they tend to grow.
    • Many troubleshoot questions become outdated quickly.
    • And nobody knows is this question is still relevant to someone.
    • Arch is rolling almost bleading-edge distro.
    • Make a reference, "If you using old package (older than ver... or date) look at troubleshoot history.
    • So there need to deviate Timeless Troubleshoot questions from temporary workarounds that should be fixed.
  • Make a Help:Style_drafts page. Now the problem is:

Tip: A way to speed up the addition or modification of style rules is to provide some text that, if approved, can be directly copy-pasted in the guide, just like patches work for bug reports


"Avoid editing another user's comments."


"Do not edit your posts if somebody has already replied, otherwise you will break the flow of the discussion and make it difficult for others to further respond. Only striking (using <s> tags) words or sentences is allowed, but the related explanation should be given in a regular reply."

  • Convert all nowiki>|</nowiki to {!}
  • Tip: ':#' can create a numbered list in comment section.
  • Tip: '#:' can create a new line in numbered list.
  • So if wiki code symbols not parsing properly - try to combine symbols (research that before posting).
  • hc if you have header and body with code. You cannot use 1= in body, you need to use 2=.

Arch Talk Abbreviation Dictionary

It is a ArchWiki RFC to Talk and Summaries

IMs invent abbreviations all the time. Why?

Talk pages and Summary does't need to be pretty. They need to be:

  • Casual in usage
  • Faster to share information, type.
  • Faster to read. Have less extensive text to read through. Less thingies of author. More information.
  • Highlighted.
  • Be very clear and informative.
  • Good if they than corespond to strict rules

And Abbreviation Dictionary does just that.

This is why IMs invent abbreviations and acronyms all the time.

Abbreviation Dictionary is a unified dictionary with exesivly used talk words on ArchWiki. Dictionary can be used as Talk and Summary shortcuts. So work for ArchWiki admins be easier. They are intuitive even to newcomer

  • Example:
    Expression - ex, or exp
    Example - eX, or exa
    Result - re
    Change - ch
    Move - mv
    Article - AA, or Art
    Section - Se
    Subsection - SSe
    Rewrite - rew
    Fixing typos, structure typos - fx or fix
    Link - l
    Definition, define any word, - df
    Added to Troubleshoot section - ts #See "Encourage 'Troubleshoot' sections.", maybe come later.

Not use I.

And lets use present simple. Not: I have made a changes to this expression: "..."


Piroxiline Add many new point

I think Summary lines can be statistically analyzed to see usage of words. I think current talk pages

Invent Summary structure. Remember, changes need to be atomic. So one

  1. What is new or what is done.
  2. what was old

Style post Exception

  1. If you saw resources and now see that topic needs a more technical explanation, Arch Linux scope, like ghb:
    1. Only one exception here is real and be practical.
      1. If the name of a link to non-existent article is one strict word like "Kate" (remark: most (95%) of List_of_applications are one word names). (maybe someday ease restriction on strict well-known or popular names like Open Shot, KDE Connect)
      2. Than make a link named Name of article to non-existent article.

This can be automatically controlled by bot. - PiroXiline (talk) 18:58, 10 September 2016 (UTC)

Strict well-known or popular names
How do you define "strict well-known or popular names" without generating controversy? – Kynikos (talk) 02:51, 11 September 2016 (UTC)
  1. Names of core utilities, GNU projects.
  2. Acronyms of protocols, standards widely adopted in their fields.
  3. If name is literal name of man page. Or man(1) redirects name as alias to another man.
  4. If name is literal name of package (or meta) in Core, Extra, Community package in Arch Linux.
Also maybe:
Acronyms overall.
With checklist from comment points:
Acronyms & single-word names.
Acronyms have plural meaning over the world.
But almost absolutely all acronyms have one meaning on ArchWiki:
  1. People understand scope, context and filter-out what is meant. So, say people can filter-out 1/10 of acronym meaning here.
  2. Roughly half if not greater of what's left is software development related (not ArchWiki scope).
    1. Devs world love invent bicycles in the first place.
    2. Than goes love to loudly Name every sneeze now.
      1. Because of branding. To serve food on the table, and some want huge money. Every new small is called 'technology' (like in Microsoft) and have name. Frameworks. Development concepts, patterns. Languages with their different and excessive terminology to everything.
        All that mostly not touch ArchWiki.
    3. ArchWiki is really not a place where devs would post software development in detail articles. It is not a place. It is a place for ArchWiki admins, and maybe Arch devs.
      In other words: only major dev acronyms used and all other are relatively very rarely and specifically used on ArchWiki.
    4. StackOverflow launched technical documentation initiative.
      So that all goes out of the way. (1/2)
  3. Most of acronyms, thank God, have one sense in Open Source perspective. Proprietary terms used rarely on ArchWiki. (1/2 of acronyms)
  4. Than this all, in our case, is filtered by *nix perspective (Win, Mac, IOS, Android is important topics on ArchWiki, but I point out - that not excessively and majorly used, covered). (1/2)
  5. Half of what left is Linux related. Portion of Mac OS X and BSD goes away (say 3/4 of acronyms stays).
  6. ArchWiki is a narrow platform for more administration, architecture Linux topics. Revolving around Arch. If I can say Arch Linux 'management' wiki. And then many acronyms (example, of other distributions, many of kernel insides related) fall-off in Arch Linux perspective. (say 4/5 of acronyms left)
  7. Let also remember, not every acronym really need ArchWiki reference page. Many of acronyms are too small in info or scope that they does not sanely require any reference to other ArchWiki place, many discussed internally and mostly in specific-to them articles. (like java terms). So if needed, contributer can provide direct link to that ArchWiki article section (as all works now), or person going to search related article by himself. (say, 3/4 of terms stay)
All that also goes to single-word names Maybe change word acronym and include into single-word name.

So we have estimation: 1*(1/10)*(1/2)*(1/2)*(1/2)*(3/4)*(4/5)*(3/4) = 0.005625

Probability that acronym going to really, seriously coincide is 0.006 in an reference article. I think we can live with 0.6% references not showing us to proper place. But in return we have a huge gain of cross-referencing and condensing of information.

From the top of the head example: DRM - Digital Rights Management and Direct Rendering Manager. What you think is going to be pointed on ArchWiki reference page? There is no sense to create Digital Rights Management info stash in ArchWiki it is very fragmented theme in ArchWiki scope. And then DRM is logically always points to external link, or proper place on ArchWiki for that product/format. So obviously we discuss Direct Rendering Manager here. And reference [[DRM]] is also a bad reference page now. Because it covered in ATI, NVIDIA, Intel. And that is why [[DRM]] if become, will become a sort of for term reference and disambiguation page.

So we can safely adopt acronyms in Arch Linux always have one meaning.


  1. 'Wiki'
    a type of website whose contents can be edited from the web browser, and which keeps a version history for each editable page. Wikis are often, but not always, editable by any visitor to the site.}}
  1. That is why 'wiki' word on ArchWiki mean 'ArchWiki' or general termin above.
  1. 'wiki and Wikipedia are not same termins (MW:Differences_between_Wikipedia,_Wikimedia,_MediaWiki,_and_wiki).
    1. Explanation: Wikis is a great network of knowledge. Besides general-info Wikipedia there are many special wikis which specialize on their topics, like ArchWiki. By referring to Wikipedia as the 'wiki' or 'Wiki' you shorting the circuit, undermining other great wikis effort to become centers of valuable but special information.

ArchWiki name

  1. 'ArchWiki' is a proper name of ArchWiki.
    1. Naming ArchWiki by Arch Wiki or Arch Linux Wiki, or any other name is a writing error.

Interwiki links

  1. Install MW:Extension:InterwikiMap on ArchWiki.
  2. ArchWiki and many other wikis work on Mediawiki engine. They all are interconnected.
  3. Show how interlinks work.
    1. Show how subsections to wikis work.
  4. note:I just basically read and found a lot of interesting MediaWiki staff in couple of days and sort of understood picture that devs dreamed to implement. Like, why you think interwiki links exist, they are the same as external links inside. They basicly just add another load on engine, to resolve it to external links. The idea of devs here is that all wikis they imagined as a single network of intertwined knowledge.
  5. Description of what goes to ArchWiki. And what needs to be offloaded to other wikis and linked here. This means ArchWiki clarifies its role and type of audience. And stream content and work to more appropriate for that wikis. , by not loosing it, offloading content and work other, proper wikis. And start referencing their articles subsection.
  6. Wikipedia:Wikipedia As general public info resource is great for detailed general explanation of what topic is, different meanings, (Arch does not need huge general explanation for general people, only short, "what is needed" description with links, and then extensive technical explanation, expecially for usage in Arch Linux), history of topic goes to Wikipedia history section (exept recent version technical changes and info)
    • Table of most useful wikis

From sandbox edit.

You are right about transclusion. Subsection edit leads to main content. It was dangerous.

But MW:Extension:Labeled_Section_Transclusion#Transcluding_sections_by_headings can be more healpful

Pity interwiki transclusion {{MW:Extension:Labeled_Section_Transclusion#Transcluding_sections_by_headings}} does not work ))












GNU Source-highlight

So hidden from eyes WikiApiary seach by tags