chore(doc/location):Remove old exported README cruft
authorSteven Baltakatei Sandoval <baltakatei@gmail.com>
Fri, 16 Oct 2020 22:44:59 +0000 (22:44 +0000)
committerSteven Baltakatei Sandoval <baltakatei@gmail.com>
Fri, 16 Oct 2020 22:44:59 +0000 (22:44 +0000)
doc/location/README.html [deleted file]
doc/location/README.odt [deleted file]

diff --git a/doc/location/README.html b/doc/location/README.html
deleted file mode 100644 (file)
index 69a4789..0000000
+++ /dev/null
@@ -1,799 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-<head>
-<!-- 2020-06-30 Tue 19:45 -->
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<meta name="viewport" content="width=device-width, initial-scale=1" />
-<title>Ninfacyzga-01 Manual</title>
-<meta name="generator" content="Org mode" />
-<meta name="author" content="Steven Baltakatei Sandoval" />
-<style type="text/css">
- <!--/*--><![CDATA[/*><!--*/
-  .title  { text-align: center;
-             margin-bottom: .2em; }
-  .subtitle { text-align: center;
-              font-size: medium;
-              font-weight: bold;
-              margin-top:0; }
-  .todo   { font-family: monospace; color: red; }
-  .done   { font-family: monospace; color: green; }
-  .priority { font-family: monospace; color: orange; }
-  .tag    { background-color: #eee; font-family: monospace;
-            padding: 2px; font-size: 80%; font-weight: normal; }
-  .timestamp { color: #bebebe; }
-  .timestamp-kwd { color: #5f9ea0; }
-  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
-  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
-  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
-  .underline { text-decoration: underline; }
-  #postamble p, #preamble p { font-size: 90%; margin: .2em; }
-  p.verse { margin-left: 3%; }
-  pre {
-    border: 1px solid #ccc;
-    box-shadow: 3px 3px 3px #eee;
-    padding: 8pt;
-    font-family: monospace;
-    overflow: auto;
-    margin: 1.2em;
-  }
-  pre.src {
-    position: relative;
-    overflow: visible;
-    padding-top: 1.2em;
-  }
-  pre.src:before {
-    display: none;
-    position: absolute;
-    background-color: white;
-    top: -10px;
-    right: 10px;
-    padding: 3px;
-    border: 1px solid black;
-  }
-  pre.src:hover:before { display: inline;}
-  /* Languages per Org manual */
-  pre.src-asymptote:before { content: 'Asymptote'; }
-  pre.src-awk:before { content: 'Awk'; }
-  pre.src-C:before { content: 'C'; }
-  /* pre.src-C++ doesn't work in CSS */
-  pre.src-clojure:before { content: 'Clojure'; }
-  pre.src-css:before { content: 'CSS'; }
-  pre.src-D:before { content: 'D'; }
-  pre.src-ditaa:before { content: 'ditaa'; }
-  pre.src-dot:before { content: 'Graphviz'; }
-  pre.src-calc:before { content: 'Emacs Calc'; }
-  pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
-  pre.src-fortran:before { content: 'Fortran'; }
-  pre.src-gnuplot:before { content: 'gnuplot'; }
-  pre.src-haskell:before { content: 'Haskell'; }
-  pre.src-hledger:before { content: 'hledger'; }
-  pre.src-java:before { content: 'Java'; }
-  pre.src-js:before { content: 'Javascript'; }
-  pre.src-latex:before { content: 'LaTeX'; }
-  pre.src-ledger:before { content: 'Ledger'; }
-  pre.src-lisp:before { content: 'Lisp'; }
-  pre.src-lilypond:before { content: 'Lilypond'; }
-  pre.src-lua:before { content: 'Lua'; }
-  pre.src-matlab:before { content: 'MATLAB'; }
-  pre.src-mscgen:before { content: 'Mscgen'; }
-  pre.src-ocaml:before { content: 'Objective Caml'; }
-  pre.src-octave:before { content: 'Octave'; }
-  pre.src-org:before { content: 'Org mode'; }
-  pre.src-oz:before { content: 'OZ'; }
-  pre.src-plantuml:before { content: 'Plantuml'; }
-  pre.src-processing:before { content: 'Processing.js'; }
-  pre.src-python:before { content: 'Python'; }
-  pre.src-R:before { content: 'R'; }
-  pre.src-ruby:before { content: 'Ruby'; }
-  pre.src-sass:before { content: 'Sass'; }
-  pre.src-scheme:before { content: 'Scheme'; }
-  pre.src-screen:before { content: 'Gnu Screen'; }
-  pre.src-sed:before { content: 'Sed'; }
-  pre.src-sh:before { content: 'shell'; }
-  pre.src-sql:before { content: 'SQL'; }
-  pre.src-sqlite:before { content: 'SQLite'; }
-  /* additional languages in org.el's org-babel-load-languages alist */
-  pre.src-forth:before { content: 'Forth'; }
-  pre.src-io:before { content: 'IO'; }
-  pre.src-J:before { content: 'J'; }
-  pre.src-makefile:before { content: 'Makefile'; }
-  pre.src-maxima:before { content: 'Maxima'; }
-  pre.src-perl:before { content: 'Perl'; }
-  pre.src-picolisp:before { content: 'Pico Lisp'; }
-  pre.src-scala:before { content: 'Scala'; }
-  pre.src-shell:before { content: 'Shell Script'; }
-  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
-  /* additional language identifiers per "defun org-babel-execute"
-       in ob-*.el */
-  pre.src-cpp:before  { content: 'C++'; }
-  pre.src-abc:before  { content: 'ABC'; }
-  pre.src-coq:before  { content: 'Coq'; }
-  pre.src-groovy:before  { content: 'Groovy'; }
-  /* additional language identifiers from org-babel-shell-names in
-     ob-shell.el: ob-shell is the only babel language using a lambda to put
-     the execution function name together. */
-  pre.src-bash:before  { content: 'bash'; }
-  pre.src-csh:before  { content: 'csh'; }
-  pre.src-ash:before  { content: 'ash'; }
-  pre.src-dash:before  { content: 'dash'; }
-  pre.src-ksh:before  { content: 'ksh'; }
-  pre.src-mksh:before  { content: 'mksh'; }
-  pre.src-posh:before  { content: 'posh'; }
-  /* Additional Emacs modes also supported by the LaTeX listings package */
-  pre.src-ada:before { content: 'Ada'; }
-  pre.src-asm:before { content: 'Assembler'; }
-  pre.src-caml:before { content: 'Caml'; }
-  pre.src-delphi:before { content: 'Delphi'; }
-  pre.src-html:before { content: 'HTML'; }
-  pre.src-idl:before { content: 'IDL'; }
-  pre.src-mercury:before { content: 'Mercury'; }
-  pre.src-metapost:before { content: 'MetaPost'; }
-  pre.src-modula-2:before { content: 'Modula-2'; }
-  pre.src-pascal:before { content: 'Pascal'; }
-  pre.src-ps:before { content: 'PostScript'; }
-  pre.src-prolog:before { content: 'Prolog'; }
-  pre.src-simula:before { content: 'Simula'; }
-  pre.src-tcl:before { content: 'tcl'; }
-  pre.src-tex:before { content: 'TeX'; }
-  pre.src-plain-tex:before { content: 'Plain TeX'; }
-  pre.src-verilog:before { content: 'Verilog'; }
-  pre.src-vhdl:before { content: 'VHDL'; }
-  pre.src-xml:before { content: 'XML'; }
-  pre.src-nxml:before { content: 'XML'; }
-  /* add a generic configuration mode; LaTeX export needs an additional
-     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
-  pre.src-conf:before { content: 'Configuration File'; }
-
-  table { border-collapse:collapse; }
-  caption.t-above { caption-side: top; }
-  caption.t-bottom { caption-side: bottom; }
-  td, th { vertical-align:top;  }
-  th.org-right  { text-align: center;  }
-  th.org-left   { text-align: center;   }
-  th.org-center { text-align: center; }
-  td.org-right  { text-align: right;  }
-  td.org-left   { text-align: left;   }
-  td.org-center { text-align: center; }
-  dt { font-weight: bold; }
-  .footpara { display: inline; }
-  .footdef  { margin-bottom: 1em; }
-  .figure { padding: 1em; }
-  .figure p { text-align: center; }
-  .inlinetask {
-    padding: 10px;
-    border: 2px solid gray;
-    margin: 10px;
-    background: #ffffcc;
-  }
-  #org-div-home-and-up
-   { text-align: right; font-size: 70%; white-space: nowrap; }
-  textarea { overflow-x: auto; }
-  .linenr { font-size: smaller }
-  .code-highlighted { background-color: #ffff00; }
-  .org-info-js_info-navigation { border-style: none; }
-  #org-info-js_console-label
-    { font-size: 10px; font-weight: bold; white-space: nowrap; }
-  .org-info-js_search-highlight
-    { background-color: #ffff00; color: #000000; font-weight: bold; }
-  .org-svg { width: 90%; }
-  /*]]>*/-->
-</style>
-<script type="text/javascript">
-/*
-@licstart  The following is the entire license notice for the
-JavaScript code in this tag.
-
-Copyright (C) 2012-2018 Free Software Foundation, Inc.
-
-The JavaScript code in this tag is free software: you can
-redistribute it and/or modify it under the terms of the GNU
-General Public License (GNU GPL) as published by the Free Software
-Foundation, either version 3 of the License, or (at your option)
-any later version.  The code is distributed WITHOUT ANY WARRANTY;
-without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
-
-As additional permission under GNU GPL version 3 section 7, you
-may distribute non-source (e.g., minimized or compacted) forms of
-that code without the copy of the GNU GPL normally required by
-section 4, provided you include this license notice and a URL
-through which recipients can access the Corresponding Source.
-
-
-@licend  The above is the entire license notice
-for the JavaScript code in this tag.
-*/
-<!--/*--><![CDATA[/*><!--*/
- function CodeHighlightOn(elem, id)
- {
-   var target = document.getElementById(id);
-   if(null != target) {
-     elem.cacheClassElem = elem.className;
-     elem.cacheClassTarget = target.className;
-     target.className = "code-highlighted";
-     elem.className   = "code-highlighted";
-   }
- }
- function CodeHighlightOff(elem, id)
- {
-   var target = document.getElementById(id);
-   if(elem.cacheClassElem)
-     elem.className = elem.cacheClassElem;
-   if(elem.cacheClassTarget)
-     target.className = elem.cacheClassTarget;
- }
-/*]]>*///-->
-</script>
-</head>
-<body>
-<div id="content">
-<h1 class="title">Ninfacyzga-01 Manual</h1>
-<div id="table-of-contents">
-<h2>Table of Contents</h2>
-<div id="text-table-of-contents">
-<ul>
-<li><a href="#org4ab28d5">1. Location Logging</a>
-<ul>
-<li><a href="#org3a44301">1.1. Narrative</a></li>
-<li><a href="#orgeb3a61f">1.2. Description</a>
-<ul>
-<li><a href="#org68434d8">1.2.1. Hardware</a></li>
-<li><a href="#org6bf1f28">1.2.2. Software</a></li>
-<li><a href="#orga640ec2">1.2.3. Output</a></li>
-</ul>
-</li>
-<li><a href="#org78712e3">1.3. Operating Procedures</a>
-<ul>
-<li><a href="#orgcc76a4c">1.3.1. Initial Startup</a></li>
-<li><a href="#org8fbf566">1.3.2. Normal Startup</a></li>
-<li><a href="#orgbc8af37">1.3.3. Normal Operation</a></li>
-<li><a href="#org46c0af5">1.3.4. Normal Shutdown</a></li>
-<li><a href="#org662e1e8">1.3.5. Unscheduled Shutdown</a></li>
-<li><a href="#org70e088c">1.3.6. End of Life Disposal</a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<div id="outline-container-org4ab28d5" class="outline-2">
-<h2 id="org4ab28d5"><span class="section-number-2">1</span> Location Logging</h2>
-<div class="outline-text-2" id="text-1">
-<p>
-This document was created by Steven Baltakatei Sandoval on
-<code>2020-06-29T12:14Z</code> under a <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons BY-SA 4.0 license</a>. It
-was updated by Steven Baltakatei Sandoval on <code>2020-06-30T19:44Z</code>
-</p>
-</div>
-<div id="outline-container-org3a44301" class="outline-3">
-<h3 id="org3a44301"><span class="section-number-3">1.1</span> Narrative</h3>
-<div class="outline-text-3" id="text-1-1">
-<p>
-Ninfacyzga-01 records (logs) its position in time and space using a
-<a href="https://en.wikipedia.org/wiki/Satellite_navigation_device">GPS receiver</a>. The NMEA location data produced by the receiver is
-converted into the more commonly used GPS data storage formats of GPX
-and KML. All three types of data are then compressed and encrypted
-against a set of public keys. The encrypted data is then written to
-disk. Data produced by the receiver is segmented into 60-second chunks
-before being processed and written to disk.
-</p>
-</div>
-</div>
-<div id="outline-container-orgeb3a61f" class="outline-3">
-<h3 id="orgeb3a61f"><span class="section-number-3">1.2</span> Description</h3>
-<div class="outline-text-3" id="text-1-2">
-</div>
-<div id="outline-container-org68434d8" class="outline-4">
-<h4 id="org68434d8"><span class="section-number-4">1.2.1</span> Hardware</h4>
-<div class="outline-text-4" id="text-1-2-1">
-</div>
-<ol class="org-ol">
-<li><a id="org3fcab7d"></a>Raspberry Pi Zero W<br />
-<div class="outline-text-5" id="text-1-2-1-1">
-<p>
-See the <a href="https://www.raspberrypi.org/pi-zero-w/">OEM</a> webpage for this product.
-</p>
-</div>
-</li>
-<li><a id="org4a38c06"></a>PiZ UpTime 2.0<br />
-<div class="outline-text-5" id="text-1-2-1-2">
-<p>
-See the <a href="https://alchemy-power.com/piz-uptime-2-0/">OEM</a> webpage for this product.
-</p>
-</div>
-</li>
-</ol>
-</div>
-<div id="outline-container-org6bf1f28" class="outline-4">
-<h4 id="org6bf1f28"><span class="section-number-4">1.2.2</span> Software</h4>
-<div class="outline-text-4" id="text-1-2-2">
-<p>
-<code>bkgpslog</code> : The bash script that performs the location data
-collection and processing. Is an executable file contained within this
-repository at <code>exec/bkgpslog</code>. It should be copied to
-<code>$HOME/.local/bin</code>.
-</p>
-
-<p>
-<code>gpsd</code> : A background daemon app capable of interfacing with the
-Ozzmaker BerryGPS-IMU's GPS submodule. Installed and initialized by
-<code>apt</code>.
-</p>
-
-<p>
-<code>gpspipe</code> : A command line app that polls <code>gpsd</code> and produces a stream
-stdout consisting of GPS data lines in NMEA format. Installed via
-<code>apt</code>.
-</p>
-
-<p>
-<code>gpsbabel</code> : A command line app that converts GPS data from one format
-into another. <code>bkgpslog</code> uses it to convert NMEA data into GPX and
-KML. Installed via <code>apt</code>.
-</p>
-
-<p>
-<code>gzip</code> : A simple command line app that compresses stdin into a
-smaller stdout stream.
-</p>
-
-<p>
-<code>age</code> : A simple command line app that encrypts stdin against public
-keys specified in its options. Produces encrypted stdout. Is an
-executable file contained within this repository at <code>exec/age</code>. It
-should be copied to <code>$HOME/.local/bin</code>.
-</p>
-</div>
-
-<ol class="org-ol">
-<li><a id="org33a99e7"></a>Narrative<br />
-<div class="outline-text-5" id="text-1-2-2-1">
-<p>
-<code>bkgpslog</code> populates a 60-second buffer with NMEA data from <code>gpsd</code> via
-<code>gpspipe</code>. This buffer is used by <code>gpsbabel</code> to produce GPX and KML
-versions of the buffer. All 3 buffers are then comprssed with <code>gzip</code>,
-encrypted with <code>age</code>, and then written to disk.
-</p>
-</div>
-</li>
-</ol>
-</div>
-
-<div id="outline-container-orga640ec2" class="outline-4">
-<h4 id="orga640ec2"><span class="section-number-4">1.2.3</span> Output</h4>
-<div class="outline-text-4" id="text-1-2-3">
-</div>
-<ol class="org-ol">
-<li><a id="orgbe90ee3"></a>File Formats<br />
-<ol class="org-ol">
-<li><a id="orga69e180"></a>NMEA<br />
-<div class="outline-text-6" id="text-1-2-3-1-1">
-<p>
-See the <a href="https://en.wikipedia.org/wiki/NMEA_0183">Wikipedia page</a> for this.
-</p>
-</div>
-</li>
-<li><a id="org03fca13"></a>GPX<br />
-<div class="outline-text-6" id="text-1-2-3-1-2">
-<p>
-See the <a href="https://en.wikipedia.org/wiki/GPS_Exchange_Format">Wikipedia page</a> for this. <a href="http://wiki.gis.com/wiki/index.php/WGS84">WGS84</a> is the datum used.
-</p>
-</div>
-</li>
-<li><a id="org9469dda"></a>KML<br />
-<div class="outline-text-6" id="text-1-2-3-1-3">
-<p>
-See the <a href="https://en.wikipedia.org/wiki/Keyhole_Markup_Language">Wikipedia page</a> for this. <a href="http://wiki.gis.com/wiki/index.php/WGS84">WGS84</a> is the datum used.
-</p>
-</div>
-</li>
-</ol>
-</li>
-<li><a id="org4923cfc"></a>Encryption Method<br />
-<div class="outline-text-5" id="text-1-2-3-2">
-<p>
-Files produced by the bkgpslog script are encrypted against a set of
-public keys using <a href="https://github.com/FiloSottile/age"><code>age</code></a>, a simple command line encryption tool
-selected over <code>gpg</code> because of <code>age</code>'s deliberate lack of
-configurability.
-</p>
-
-<p>
-The public keys are bech32 strings supplied as options to bkgpslog
-when called. The secret key should <b>NOT</b> be stored in Ninfacyzga-01.
-</p>
-
-<p>
-If a key pair was generated using <code>age-keygen</code>, then it is an <a href="https://en.wikipedia.org/wiki/Curve25519"><code>X25519</code></a>
-key pair. See the <a href="https://age-encryption.org/v1"><code>age</code> Version 1 specification</a>.
-</p>
-
-<p>
-An <code>ssh-rsa</code> or <code>ssh-ed25519</code> SSH public key string may be used instead of
-the bech32 public key string produced by <code>age-keygen</code> for convenience.
-</p>
-
-<p>
-Help information for <code>age</code> is available by running <code>$ age --help</code>.
-</p>
-</div>
-<ol class="org-ol">
-<li><a id="org5f006f6"></a>Encryption Commands<br />
-<div class="outline-text-6" id="text-1-2-3-2-1">
-<p>
-Files may be encrypted to several recipients using a command similar to:
-</p>
-<pre class="example">
-timeout "60s" gpspipe -r | gpsbabel -i nmea -f - -o gpx -F | age \
--r age1kza7pfshy7xwygf9349zgmk7x53mquvedgw9r98qwyyqhssh830qqjzlsw \
--r age1ce3pvzrqfcn2pc6zqzglc8ac8yjk3fzukpy08cesqjjwns53xywqmaq7xw \
--r age1pu5usxm743sx7rf22985xv2f4s0luzv6r6yx4fa7p8c2zyvp9fvqus2xr5 \
-&gt; location.gpx.age
-</pre>
-
-<p>
-In this example, the strings beginning with <code>age1...</code> are
-bech32-formatted public key strings. 
-</p>
-</div>
-</li>
-
-
-<li><a id="orgd0d1b14"></a>Decryption Commands<br />
-<div class="outline-text-6" id="text-1-2-3-2-2">
-<p>
-Files may be decrypted using a command similar to:
-</p>
-
-<pre class="example">
-cat location.gpx.age | age -d -i key.txt &gt; location.gpx
-</pre>
-
-<p>
-The version of <code>age</code> used to perform the encryption 
-</p>
-</div>
-</li>
-</ol>
-</li>
-</ol>
-</div>
-</div>
-<div id="outline-container-org78712e3" class="outline-3">
-<h3 id="org78712e3"><span class="section-number-3">1.3</span> Operating Procedures</h3>
-<div class="outline-text-3" id="text-1-3">
-</div>
-<div id="outline-container-orgcc76a4c" class="outline-4">
-<h4 id="orgcc76a4c"><span class="section-number-4">1.3.1</span> Initial Startup</h4>
-<div class="outline-text-4" id="text-1-3-1">
-<p>
-See OEM (Ozzmaker) <a href="https://ozzmaker.com/berrygps-berrygps-imu-quick-start-guide/">quickstart guide for the BerryGPS-IMU</a>.
-</p>
-</div>
-
-<ol class="org-ol">
-<li><a id="orgae43b4b"></a>Physical Setup<br />
-<div class="outline-text-5" id="text-1-3-1-1">
-<p>
-BerryGPS-IMU must be electrically connected to the correct pins on the
-GPIO header of a Raspberry Pi Zero W.
-</p>
-
-<p>
-<b>Optional</b>: stack together with PiZ Uptime 2.0 module. No GPIO pins
-conflict so a simple stacking and soldering with long header pins is
-possible.
-</p>
-</div>
-</li>
-
-<li><a id="orgb3c2fc2"></a>Software Setup<br />
-<ol class="org-ol">
-<li><a id="org651214a"></a>Install Executables<br />
-<div class="outline-text-6" id="text-1-3-1-2-1">
-<p>
-Install Raspbian 10 Buster onto an SD card image. See the Raspberry Pi
-Foundation <a href="https://www.raspberrypi.org/documentation/installation/installing-images/README.md">installation instructions</a>. Configure WiFi to permit log
-file transfer. Configure SSH to permit remote administration via the
-command line interface.
-</p>
-
-<p>
-Make sure to install the <code>unattended-upgrades</code> package to make sure
-the latest security patches for packages are installed. See <a href="https://linux-audit.com/using-unattended-upgrades-on-debian-and-ubuntu/">this page</a>
-for a description of how <code>unattended-upgrades</code> works.
-</p>
-
-<p>
-Install <code>gpsd</code>, <code>gpspipe</code>, <code>git</code>, and this repository for location
-logging capability.
-</p>
-
-<p>
-Install <code>syncthing</code> for log file transfer capability.
-</p>
-
-<p>
-Place <code>age</code> binary (the one compiled for ARM CPU architecture for
-Linux) in <code>$HOME/.local/bin</code>.
-</p>
-</div>
-</li>
-
-<li><a id="org1cc0c53"></a>Disable Swap File<br />
-<div class="outline-text-6" id="text-1-3-1-2-2">
-<p>
-Since standard Raspbian 10 (Buster) install involves copying
-unencrypted file system image to SD card which is mounted by the
-Raspberry Pi, system memory may be written to disk in the form of a
-Swap file as described <a href="https://ideaheap.com/2013/07/stopping-sd-card-corruption-on-a-raspberry-pi/">here</a>. In order to reduce the chance that
-location log data is ever written to disk, swap file functionality
-must be disabled<sup><a id="fnr.1" class="footref" href="#fn.1">1</a></sup>.
-</p>
-
-<p>
-Raspbian 10 uses dphys-swapfile to manage a swap file. It may be
-disabled persistently<sup><a id="fnr.2" class="footref" href="#fn.2">2</a></sup> by running
-the following command:
-</p>
-
-<pre class="example">
-sudo systemctl disable dphys-swapfile.service
-
-</pre>
-
-<p>
-To view the status of the swap file in Raspbian 10, run <code>free -m</code>:
-</p>
-
-<pre class="example">
-pi@ninfacyzga-01:~$ free -m
-          total    used    free  shared  buff/cache   available
-Mem:        432      86      36      21         309         268
-Swap:        99       0      99
-</pre>
-
-<p>
-After disabling the swap file and rebooting:
-</p>
-
-<pre class="example">
-pi@ninfacyzga-01:~$ free -m
-          total    used    free  shared  buff/cache   available
-Mem:        432      89     214       3         128         289
-Swap:         0       0       0
-</pre>
-</div>
-</li>
-
-<li><a id="orgfdbf7d1"></a>Automatic Start Configuration<br />
-<div class="outline-text-6" id="text-1-3-1-2-3">
-<p>
-Edit the user cron job list with <code>$ crontab -e</code> to add the following
-lines:
-</p>
-
-<pre class="example">
-0 * * * * /bin/bash ~/bkgpslog --output ~/dir
-
-@reboot /bin/bash ~/bkgpslog --output ~/dir
-</pre>
-
-<p>
-The first line will run <code>bkgpslog</code> at the start of every hour and save
-output files to the <code>dir</code> directory in your home folder.
-</p>
-
-<p>
-The second line will run <code>bkgpslog</code> when the system starts up.
-</p>
-
-<p>
-<code>/bin/bash</code> tells <code>cron</code> to run <code>bkgpslog</code> with Bash.
-</p>
-
-<p>
-If encryption and compression are required, then the appropriate
-options must be added. The lines that must be added via <code>$ crontab -e</code>
-may resemble:
-</p>
-
-<pre class="example">
-0 * * * * /bin/bash ~/bkgpslog -c -e -r age1z2...qkv6p -o ~/dir
-
-@reboot /bin/bash ~/bkgpslog -c -e -r age1z2...qkv6p -o ~/dir
-</pre>
-
-<p>
-The <code>age1z2...qkv6p</code> is an <code>age</code> public key string. Please see the
-<a href="#org4647532">Key Generation</a> section for an explanation.
-</p>
-
-<p>
-The options are:
-</p>
-
-<pre class="example">
--c : tells bkgpslog to compress output
--e : tells bkgpslog log to encrypt output
--r : tells bkgpslog to interpret the next argument as a pubkey string
--o : tells bkgpslog to write output files to the directory represented
-       by the next argument
-
-</pre>
-</div>
-</li>
-
-<li><a id="org2de2dd5"></a>Log Transfer Configuration<br />
-<div class="outline-text-6" id="text-1-3-1-2-4">
-<p>
-Log files may be shared to other machines via <code>syncthing</code>. See <a href="https://docs.syncthing.net/">this</a>
-manual for how to set up a shared folder and add Ninfacyzga-01 as a
-device. Syncthing's directory synchronization capability allows a
-remote machine to delete files from Ninfacyzga-01 by deleting from the
-shared folder that they both share.
-</p>
-
-<p>
-When log files are removed from Ninfacyzga-01 is not within the scope
-of this document.
-</p>
-</div>
-</li>
-
-<li><a id="org4647532"></a>Key Generation<br />
-<div class="outline-text-6" id="text-1-3-1-2-5">
-<p>
-An <code>age</code> encryption key may be generated like so:
-</p>
-<pre class="example">
-$ umask          # Gets current umask
-0022             # Note: This is the default umask for Raspbian 10
-$ umask 066      # So key.txt will have no perms except for owner (you)
-$ umask          # Confirm umask set to 066
-0066
-$ age-keygen &gt; key.txt
-Public key: age1pu5usxm743sx7rf22985xv2f4s0luzv6r6yx4fa7p8c2zyvp9fvqus2xr5
-$ ls -al key.txt
--rw------- 1 baltakatei baltakatei 184 Jun 29 18:28 key.txt
-$ umask 0022     # Return umask to default value
-$ umask          
-0022
-</pre>
-
-<p>
-The resulting public/private keypair data looks like:
-</p>
-<pre class="example">
-$ cat key.txt
-# created: 2020-06-29T18:01:56Z
-# public key: age1pu5usxm743sx7rf22985xv2f4s0luzv6r6yx4fa7p8c2zyvp9fvqus2xr5
-AGE-SECRET-KEY-1NEUU5U2XGZGL9UYWNPU5DL99TGJJHFSN4F2E2WCCSDJJ6L5ZMLESNTVTU0
-</pre>
-
-<p>
-The file <code>key.txt</code> is not password-protected by default and should be
-secured like an SSH public key should. The <code>$ umask 066</code> command run
-before the <code>$ age-keygen &gt; key.txt</code> command ensures <code>key.txt</code> will not
-be readable, writeable, or executable to anyone except the owner
-(you).
-</p>
-</div>
-</li>
-</ol>
-</li>
-</ol>
-</div>
-
-<div id="outline-container-org8fbf566" class="outline-4">
-<h4 id="org8fbf566"><span class="section-number-4">1.3.2</span> Normal Startup</h4>
-<div class="outline-text-4" id="text-1-3-2">
-<p>
-Turn on Ninfacyzga-01 by supplying 5VDC power to the Raspberry Pi. No
-further interaction should be required.
-</p>
-</div>
-</div>
-<div id="outline-container-orgbc8af37" class="outline-4">
-<h4 id="orgbc8af37"><span class="section-number-4">1.3.3</span> Normal Operation</h4>
-<div class="outline-text-4" id="text-1-3-3">
-<p>
-No interaction beyond continually supplying approximately 100mA of
-5VDC power and occasionally removing log files to conserve disk space
-is required.
-</p>
-</div>
-<ol class="org-ol">
-<li><a id="orgeaa5887"></a>Log Transfer<br />
-<div class="outline-text-5" id="text-1-3-3-1">
-<p>
-Log files may be transferred by use of <code>syncthing</code> shared folders.
-</p>
-</div>
-</li>
-<li><a id="org51a37e4"></a>Automatic Updates<br />
-<div class="outline-text-5" id="text-1-3-3-2">
-<p>
-The <code>automatic-upgrades</code> package, if installed, should automatically
-install security patches to packages installed via <code>apt</code>.
-</p>
-</div>
-</li>
-</ol>
-</div>
-<div id="outline-container-org46c0af5" class="outline-4">
-<h4 id="org46c0af5"><span class="section-number-4">1.3.4</span> Normal Shutdown</h4>
-<div class="outline-text-4" id="text-1-3-4">
-<p>
-The system may be shutdown via SSH by running:
-</p>
-
-<pre class="example">
-$ sudo shutdown -r 0
-
-</pre>
-</div>
-</div>
-
-<div id="outline-container-org662e1e8" class="outline-4">
-<h4 id="org662e1e8"><span class="section-number-4">1.3.5</span> Unscheduled Shutdown</h4>
-<div class="outline-text-4" id="text-1-3-5">
-<p>
-Ninfacyzga-01 as described and setup should tolerate unscheduled power
-loss. Log files being written every 60 seconds means, at most, 60
-seconds worth of location data may be lost.
-</p>
-</div>
-</div>
-<div id="outline-container-org70e088c" class="outline-4">
-<h4 id="org70e088c"><span class="section-number-4">1.3.6</span> End of Life Disposal</h4>
-<div class="outline-text-4" id="text-1-3-6">
-<p>
-LiPo batteries used by the PiZ Uptime 2.0 module should be disposed of
-properly with their potential ignitability in mind, especially if they
-are not fully discharged.
-</p>
-
-<p>
-Consult your local municipality for its "E-Waste Disposal" (or
-equivalent) policy. Metals used in the Raspberry Pi and related
-components may be recycled.
-</p>
-
-<p>
-Take extra precuation if lead solder was used in assembling the
-electronics. Consumer electronics in early 21st century should use
-lead-free solder.
-</p>
-</div>
-</div>
-</div>
-</div>
-<div id="footnotes">
-<h2 class="footnotes">Footnotes: </h2>
-<div id="text-footnotes">
-
-<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1">1</a></sup> <div class="footpara"><p class="footpara">
-Explanation:
-<a href="https://ideaheap.com/2013/07/stopping-sd-card-corruption-on-a-raspberry-pi/">https://ideaheap.com/2013/07/stopping-sd-card-corruption-on-a-raspberry-pi/</a>
-</p></div></div>
-
-<div class="footdef"><sup><a id="fn.2" class="footnum" href="#fnr.2">2</a></sup> <div class="footpara"><p class="footpara">
-Persistant disabling of swap in
-Raspbian 10 Buster:
-<a href="https://www.raspberrypi.org/forums/viewtopic.php?p=1490692&amp;sid=5c596a124b7805d6b10dab8d3d7caf16#p1490692">https://www.raspberrypi.org/forums/viewtopic.php?p=1490692&amp;sid=5c596a124b7805d6b10dab8d3d7caf16#p1490692</a>
-</p></div></div>
-
-
-</div>
-</div></div>
-<div id="postamble" class="status">
-<p class="author">Author: Steven Baltakatei Sandoval</p>
-<p class="date">Created: 2020-06-30 Tue 19:45</p>
-<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
-</div>
-</body>
-</html>
diff --git a/doc/location/README.odt b/doc/location/README.odt
deleted file mode 100644 (file)
index 4348316..0000000
Binary files a/doc/location/README.odt and /dev/null differ