# Apollia Jargon
by Apollia - [https://apollia.com/](https://apollia.com/)
<br>03:40:08 06/01/2018. This file contains definitions for various jargon terms I often use in my source code, or other software-related writing.
* Terms I made up myself.
* Terms I didn't make up, which I use with possibly unexpected new connotations, or which I simply prefer using rather than common alternative names.
* Possibly confusing abbreviations I use.
<br>**Abrev** - an abbreviation for "abbreviation". :-)
<br>**AGPL** - The GNU Affero General Public License. The software license I prefer, which I even use on documentation files like the file you're now reading. [https://www.gnu.org/licenses/agpl-3.0.en.html](https://www.gnu.org/licenses/agpl-3.0.en.html)
<br>**ApMod** or **apmod** - Something I, Apollia, modified.
<br>**App** - Any package of runnable software, preferably (but not necessarily) which I can comfortably store in an apphoard. An app might be anything from just one simple, small script (or collection of closely related scripts) to a very big, complicated compiled program.
However, some packages are so complicated, and made up so many different separate components - like Astroblahhh GLMP-GTK, containing things like PHP, PHP-GTK, MySQL, MariaDB, PostGreSql, and numerous other things - I think I should probably install them in their own separate apphoards!
**Apphoard** - A folder I can install apps in, using APSK Apphoard Manager.
Each app folder in an apphoard contains possibly multiple different folders which each contain a different version of that app.
And APSK Apphoard Manager makes it easy to set whichever version you want as the default version, and you can easily switch default versions anytime you want. (However, APSK Apphoard Manager still isn't complete, as of 06:27:27 06/01/2018.)
Every apphoard is also a **swaphoard**, but not all swaphoards are apphoards.
<br>An apphoard can be located anywhere (within reason) in your GNU/Linux system. An apphoard may contain an execpath (so any software in the apphoard can optionally be made runnable via the console), and/or a Perl-INC path, which will be added to Perl's @INC list of folders to search for available Perl modules.
Apphoards are an alternative to storing files in the confusingly cluttery but traditional locations where GNU/Linux software usually gets installed, such as /usr/bin, /usr/lib, etc.
<br>My notion of apphoards was partly inspired by Gobo Linux and NixOS, which both store installed software in unconventional locations, which enables a lot more flexibility (and tidiness) than the average GNU/Linux system.
Until hearing about Gobo Linux, I didn't even realize it was possible to reorganize a GNU/Linux system so tidily, and apparently without that causing anywhere near as many problems as I assumed it would.
<br>My software is just inspired by them, but doesn't use actual code from them. I wasn't able to figure out how to make the software from Gobo Linux and NixOS work with my usual OS, Puppy Linux. [http://puppylinux.com/](http://puppylinux.com/)
Also, to make sure APSK (Apollia's Puppy Linux Setup Kit) would continue to have a good chance of easily working with most uncustomized Puppy Linuxes, I wanted APSK's basic building blocks to mostly be written in Bash and/or Perl.
I also wanted to be able to easily put multiple apphoards anywhere I wanted. And I figured I could probably get by OK without many of Gobo Linux and NixOS's very clever features, which I quite possibly couldn't figure out how to re-implement myself even if I wanted to, or at least not in a reasonable amount of time.
<br>So, I ended up making APSK Apphoard Manager in April/May 2018. (Though, as of 06:14:49 06/01/2018, it's still not totally done.)
Those efforts were preceded by a few years of pondering, daydreaming, and previous, even less refined efforts.
It's relatively simple and basic, but I'm quite happy with it so far.
See also: **maphoard**, **swaphoard**
<br>**APSK** - Short for Apollia's Puppy Linux Setup Kit. As of 08:46:20 06/01/2018, I'm currently renovating it. [https://apollia.org/gitlist/Puppy-Linux-Setup-Kit--Legacy-Versions.git](https://apollia.org/gitlist/Puppy-Linux-Setup-Kit--Legacy-Versions.git)
**Arg** - Short for argument.
**Arrin** - ARRay INdex. A variable which holds an integer which points to an item in a numbered, probably non-associative array.
<br>**Bubble** - My preferred term for "node" in **VUE: Visual Understanding Environment** concept maps. One of the basic components of **vuemaps**.
Sort of like speech bubbles in comic books, bubbles can contain whatever text you want, and be positioned wherever you want. You can **fashionize** them with whatever fonts and colors you want, and choose between a small variety of custom border styles and shapes for them. You can connect bubbles with arrows or lines I like to call **yarn**.
<br>**Dest** - Short for "destination".
**Disknick** - Short for "disk nickname". I first used this term in Astroblahhh Desktop - [https://apollia.org/gitlist/Astroblahhh-Desktop.git](https://apollia.org/gitlist/Astroblahhh-Desktop.git)
**Dragdrop** - Short for "drag and drop".
<br>**Encao** - See also **encape**. An abbreviation for "encaped and enclosed". An "encao" string is a string which is not only encaped, but which begins and ends with an enclosure character such as a single quote.
<br>**Encape** - Since the technical jargon word "escape" has confusing alternate meanings in English, I decided to coin a synonym which lacks those alternate meanings, since it isn't found in English dictionaries: "encape"
Similar to how the word "enfold" means "to surround as if with folds" (quoted from [https://www.dictionary.com/browse/enfold?s=t](https://www.dictionary.com/browse/enfold?s=t) ) - "encape" could mean something like "to surround as if with a cape".
<br>I chose the word "encape" because:
* Putting a backslash behind a character to encape (escape) it is kind of like giving that character a cape - a garment which constantly trails behind the wearer.
<br>* The word "encape" is similar to "escape", and when you see it in context, it's easy to guess that it's meant as an alternate word for "escape".
For example, "encape a string" instead of "escape a string".
<br>* It reminds me of superheros, since many of them wear capes. :-)
<br>**Execpath** - What I call the confusingly-named $PATH environment variable, which lists folders containing software you can execute just by opening a console window and typing that software's filename, or symfilename. Then, that software will execute regardless of your current working directory. I call any folder listed in $PATH an execpath folder.
**Fashionize** - to apply cosmetic styling to [whatever].
**Fiol** - Something which is either a file or a folder.
**FLO software** - A new abbreviation for free, libre, open source software I thought of maybe a few weeks or months ago (as of June 1, 2018), and have been thinking of maybe trying to popularize. (Maybe other people already thought of this - I didn't check.) But, after some thought, I decided I actually prefer LOAF software, described below in the **FLOSS software** section. :-)
<br>**FLOSS software** - Free, libre, open source software. But I don't really like the term FLOSS because it reminds me of the dentist.
Even LOAF software sounds more appealing to me - libre, open, and free. :-D
LOAF reminds me of bread (yum!), and loafing - another word for being lazy and idle, which sounds nice and relaxing, especially after the tons of work I've been doing lately.
I also find loafing reminiscent of freedom, since if you're able to loaf, that means you've somehow escaped (at least temporarily) from the oppressive, freedom-sapping duress most everyone is under to either make money, or suffer.
<br>**Fupgrade, f-upgrade** - A supposed "upgrade" which is actually a downgrade at least in some ways, because it effs up at least some features which worked better in previous versions.
Examples: Firefox 57, Windows Vista
Here's someone else's definition from Sept. 7, 2009: [https://www.urbandictionary.com/define.php?term=fupgrade](https://www.urbandictionary.com/define.php?term=fupgrade)
<br>**Full path** or **fullpath** - A shorter way of saying "absolute path". The opposite of a relpath (short for relative path).
**GFDL** - Short for the GNU Free Documentation License, which I avoid because I don't want any of my documentation acquiring invariant sections that people aren't free to modify or delete. [https://www.gnu.org/licenses/fdl.html](https://www.gnu.org/licenses/fdl.html)
**GPL** - Short for the GNU General Public License. I used to use it on some of my software, but I now prefer the Affero GNU General Public License (AGPL). [https://www.gnu.org/licenses/gpl-3.0.en.html](https://www.gnu.org/licenses/gpl-3.0.en.html)
<br>**Inpvar** - INPut VAR. A local variable used in a function for holding input to a function, such as function arguments. The opposite of an **outvar**, which holds output from a function. Related terms: **inrvar** and **outvar**
**Inrvar** - INneR VAR. A local variable used within a function, and not used for input or output, unlike an **inpvar** or **outvar**.
<br>**Landmark** - A simple script whose only purpose is to open a folder with my preferred file manager.
(Inspired by [Second Life](https://secondlife.com/) landmark inventory items, which you can double-click on to immediately teleport to the location which that landmark item is like a bookmark for.)
<br>**LH64_602_B2** - My abbreviation for Lighthouse 64 Puppy Linux 6.02 Beta 2. [http://astroblahhh.com/blog/puppy-linux/lhpup-org-is-down-but-lighthouse-64-puppy-linux-6-02-beta-2-is-still-available-i-400.shtml#blogtoc](http://astroblahhh.com/blog/puppy-linux/lhpup-org-is-down-but-lighthouse-64-puppy-linux-6-02-beta-2-is-still-available-i-400.shtml#blogtoc)
**Link** - Usually short for "hyperlink", such as a web hyperlink, which sends you to somewhere on the World Wide Web when you click on it. I never use "link" as an **abrev** for symlink.
**LOAF software** - See **FLOSS software**.
**Lupu5284** - My abbreviation for Lucid Puppy Linux 5.2.8 version 004. [http://www.murga-linux.com/puppy/viewtopic.php?t=70855](http://www.murga-linux.com/puppy/viewtopic.php?t=70855)
<br>**Maphoard** - a folder containing (or intended to contain) numerous **vuemap** **repos**. A term inspired by **apphoard**, even though currently the symlink-related glitches in **VUE: Visual Understanding Environment** make it unwise to use symlinks to do anything apphoard-like with a maphoard.
**Multifile** - The marvelous "multifiles" add-on for the wonderful text editor (and more) GNU Emacs enables you to edit multiple files all in the same window tab! (Most text editors only let you work on multiple files in separate tabs.) [https://github.com/magnars/multifiles.el](https://github.com/magnars/multifiles.el)
I made a modified version since there were numerous new features I wanted:
I can comfortably work on small projects with a conventional text editor. But with bigger projects, I can't tolerate conventional text editors anymore (not even if they can easily search multiple files), since I tend to waste too much time being lost amongst my tabs or doing searches, since I often can't easily remember where the things I want to work on are.
<br>But with GNU Emacs and a multifile, all I have to do is scroll around a bit, or use my keyboard shortcuts Ctrl-Page Up and Ctrl-Page Down to jump up or down to the top of any of the files in the multifile.
The files in my multifiles tend to be in a stable order (unlike my chaotic, unordered tabs in conventional text editors), which makes it much easier to remember roughly where things are, and what direction to scroll in.
And, with or without multifiles, I can use one of my bookmark add-ons which can jump to places even in other files than the one I'm currently looking at.
**Outvar** - A variable used in a function to hold output from that function. In my Bash programs, these have to be global (or at least, non-local) variables, since the only info you can return from a Bash function with the return command is a **return code** - an integer from 0 to 255. Related terms: **inpvar** and **inrvar**.
**Path** - A fiolpath. I never use the term "path" to refer to the $PATH environment variable - I only say execpath, or $PATH (unless the latter seems confusing).
**Perms** - Short for "permissions". An abbreviation I picked up from [Second Life](https://secondlife.com/).
**Physave** - To save something to a physical disk, rather than possibly just a ramdisk.
**Physaved** - Something that's saved on a physical disk.
<br>**Platz** - I use this word to mean a nickname for a path, or for any portion of a path. Hopefully, that nickname is easier to remember than the path itself is.
A platz's name might or might not include namespace names. Example:
APSK - Action-Doer - Install app ~gtk-theme-switch2~
The namespace of the above platz is "APSK - Action-Doer".
<br>For this concept, I wanted a name which was somehow kind of similar to "path" (but easily distinguished from "path"), short, easy to type, and preferably not already used in English for any other purpose.
So, somehow, I arrived at the German word Platz, which means "place" in German.
However, I don't speak German, and still haven't asked any native German speakers what they think of this - so, I'm just hoping this is a fitting use for the word.
The way I say it, it rhymes with "cats".
<br>This platz idea was largely inspired by how inflexible and difficult to update my legacy APSK (Apollia's Puppy Linux Setup Kit) was simply because of APSK not being able to easily deal with fiols being moved to new locations.
Platz Trailblazer is a very important part of my not-yet-finished (as of 05:20:22 06/01/2018) renovated APSK (Apollia's Puppy Linux Setup Kit). [https://apollia.org/gitlist/Platz-Trailblazer.git](https://apollia.org/gitlist/Platz-Trailblazer.git)
<br>"platz" is a console command in Platz Trailblazer which tells you the path (or path portion) associated with any platz.
"noteplatz" is the Platz Trailblazer command which associates a platz with a path (or path portion).
Possibly most of my renovated APSK scripts are going to rely on platzes instead of paths, so I will no longer have to edit so many of my APSK scripts just to update paths of fiols I recently moved.
And I intend to revise the legacy APSK to use platzes as well, so all my old legacy APSK scripts will hopefully continue to work.
<br>I think it was probably in early 2016 that I thought up the platz concept, and gave it the name "platz".
But my "disknicks" idea - short for disk nicknames - is an earlier version of this idea. I needed to keep Astroblahhh Desktop useable with both Windows XP (with paths in the format "C:\Folder of Files"), and GNU/Linux (with paths in the format "/mnt/sda1/Folder of Files") - and disknicks helped me do that.
Unlike a platz, which is only associated with one path or path portion - each Astroblahhh Desktop disknick is associated with multiple things: a Windows drive letter, and a GNU/Linux mountpoint follpath.
<br>In early 2016, I made a rather elaborate JSON-dependent way of defining platzes, and of joining them (and other things) together to dynamically define new platzes.
That's in this repo: [https://apollia.org/gitlist/Puppy-Linux-Setup-Kit--Legacy-2.0.git](https://apollia.org/gitlist/Puppy-Linux-Setup-Kit--Legacy-2.0.git)
That was written in Bash, and it was heavily dependent on the superb console program jq - "a lightweight and flexible command-line JSON processor". [https://stedolan.github.io/jq/](https://stedolan.github.io/jq/)
It was quite a lot of work, and I wonder if any of my work from then might still be useful.
But, I'm reluctant to use jq as one of the basic building blocks of APSK, because jq must be compiled before it can be run, and I'd rather not burden newbies to Puppy Linux with having to compile software (or download pre-compiled software) before platzes - a very important part of the renovated APSK - will even work.
<br>It's possible I might make Platz Trailblazer more complicated even without using jq. For example, it might be nice if updating one platz could automatically update all the other platzes which were derived from that platz.
But, that might be more elaborate than APSK really needs.
<br>My blog software WordsPlatz (written in 2008) actually has nothing to do (yet?) with platzes as defined here. The name WordsPlatz is a parody of the name of the popular blog software WordPress.
<br>**Ramize** - To put something in a ramdisk.
**Ramized** - Something that's in a ramdisk.
**Ramdisk** - An easier to type way of saying RAM disk. [https://en.wikipedia.org/wiki/RAM_drive](https://en.wikipedia.org/wiki/RAM_drive)
<br>**Rel-** - a prefix meaning "relative". The opposite of a relpath is a fullpath.
<br>**Repo** - I usually mean a Git repo - a folder being tracked by the Git version control software:
But for private repos, I use the Mercurial (hg) version control software - [https://en.wikipedia.org/wiki/Mercurial](https://en.wikipedia.org/wiki/Mercurial) even though nowadays I prefer Git, since I find Git overall less confusing, and Mercurial is written mainly in one of my least favorite programming languages, Python.
<br>**Return code** - In Bash, the code you can get from the "$?" variable immediately after any command or function has finished running. It's always a number from 0 to 255, and traditionally, 0 indicates success - a tradition I usually follow. It's sometimes called an "exit code" or "exit status", but I say "exit code" only if my Bash script is about to end. I rarely use the synonym "exit status".
**Sharefol** - a shorter name for a VirtualBox shared folder. [http://virtualbox.org/](http://virtualbox.org/)
<br>**Swaphoard** - a folder containing folders of anything you want to be able to easily swap with a different version.
All **apphoards** managed by APSK Apphoard Manager - [https://apollia.org/gitlist/APSK-Apphoard-Manager.git](https://apollia.org/gitlist/APSK-Apphoard-Manager.git) - are also swaphoards, but not every swaphoard is an apphoard, since swaphoards can contain things other than **apps**, such as different swappable sets of user settings.
<br>**Switch** - Any non-positional command line argument whose name is preceded by one or more dashes. I prefer to use this term rather than "option" because "option" implies "optional", which is sometimes inaccurate.
**Sym-** - a prefix meaning "symlink".
<br>**Termwin** - short for terminal window, which I assume is the same thing as a console window. Also the name of a program I wrote and use very frequently:
<br>**Valicheck** - verb, to check something for validity. Or noun - something which checks something else for validity.
**Var** - short for "variable".
<br>**VB** - When I say VB, I probably mean VirtualBox. [http://virtualbox.org/](http://virtualbox.org/)
**VBox** - short for VirtualBox.
<br>**VUE: Visual Understanding Environment** - a wonderful concept mapping program I've been using since around 2010.
According to Wikipedia - [https://en.wikipedia.org/wiki/Visual_Understanding_Environment](https://en.wikipedia.org/wiki/Visual_Understanding_Environment) - VUE was first released July 20, 2005.
Here's my modified version of VUE, which I started working on in Jan. 2017:
<br>**Vuemap** - a concept map file in the format used by **VUE: Visual Understanding Environment**. Quite conveniently, vuemaps are XML files!
<br>**Vuerbs** - Short for "VUE-Related Bash Scripts", a repo I began building in 2017. A collection of numerous tools which do various things related to **VUE: Visual Understanding Environment** concept maps, such as easily creating new maps using templates, moving aside old maps, and converting images of any size to a standard small size, suitable for my maps.
Not everything in Vuerbs is written in Bash. Vuerbs also contains the "Test Maps" example **maphoard**, which contains example vuemaps, and also example XSLT templates intended for use with Salty XML Transformer:
<br>**Yarn** - In [VUE: Visual Understanding Environment](https://apollia.org/gitlist/VUE---Modified-by-Apollia.git), one of the lines or arrows which can connect **bubbles**. The original term for this is "link", but I prefer not to call it that, since when I say **link**, I usually mean a hyperlink (such as a web hyperlink, which sends you to somewhere on the World Wide Web when you click on it).
<br>Things which could be either relative or full (absolute) paths:
**Filepath**, **Folpath**, **Folderpath**, **Fiolpath**
**Symfilepath**, **Symfolpath**, **Symfiolpath**
<br>Things which are definitely full (absolute) paths:
**Fillepath**, **Follpath**, **Fiollpath**
**Symfillepath**, **Symfollpath**, **Symfiollpath**
<br>Things which are definitely relative paths:
**Relfilepath**, **Relfolpath**, **Relfiolpath**
**Relsymfilepath**, **Relsymfolpath**, **Relsymfiolpath**