Difference between revisions of "Main Page"

From Wiki at Neela Nurseries
Jump to: navigation, search
m (Linux Distributions for Download)
m (Add abbreviated top link to local page "Duniya" or World.)
 
(650 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[musica|<font color="#80aaff">m</font>]] &nbsp; [[bulletin-board|<font color="#80aaff">b</font>]] &nbsp; [[Bootloading|<font color="#80aaff">bl</font>]] &nbsp; [[Devzone_posts|<font color="#80aaff">d</font>]] &nbsp; [[#bottom|<font color="#80aaff">e</font>]] &nbsp; [[Zephyr_drivers|<font color="#80aaff">z</font>]] &nbsp; [[at_commands|<font color="#80aaff">a</font>]] &nbsp; [[Duniya|<font color="#80aaff">d</font>]]
 +
<br />
 +
<center>
 +
<font size="4">
 
<strong>MediaWiki installation at Neela Nurseries, 2017 June</strong>
 
<strong>MediaWiki installation at Neela Nurseries, 2017 June</strong>
 +
</font>
 +
</center>
 +
 +
  
 
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.
 
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.
  
== Getting started - this is MediaWiki's default main page section ==
+
== Getting started ==
 +
 
 +
Note "Getting started" is MediaWiki's default main page section.  But it can be edited like any other page section.
 +
 
 +
{| class="wikitable"  <!-- align="left" cellpadding="3" ::: style="border: 1px solid darkgray;" -->
 +
|-
 +
| bgcolor="f0f0f0" valign="top" cellpadding="10" |
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
Line 9: Line 23:
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
 +
 +
*  https://www.opb.org/article/2020/09/12/live-updates-oregon-northwest-wildfires/
 +
*  [[Devzone_posts|Nordic Devzone and CircuitDojo posts]]
 +
 +
<!--
 +
| style="bgcolor=f0f0f0; vertical-align: top; cellpadding=10px" |
 +
* [[quick_links|quick links]] <font size="1">embedded work</font>
 +
-->
 +
|}
 +
 +
__TOC__
  
  
Line 14: Line 39:
 
<!-- comment -->
 
<!-- comment -->
  
== Linux Distributions for Download ==
+
== [[#top|^]] Linux Distributions ==
 +
 
 +
<br />
 +
Following section holds links to some commonly used server and desktop Linux distributions, available for download as install isos and sometimes as minimal net install isos.  After these full-scale distros are listed some of the smaller distributions of Linux and supporting softwares.  These smaller distros appear to be a good starting point for learning how to design and build embedded Linux systems . . .
  
 
*  [https://www.ubuntu.com/download/alternative-downloads Ubuntu Linux supported releases, 32-bit and 64-bit]
 
*  [https://www.ubuntu.com/download/alternative-downloads Ubuntu Linux supported releases, 32-bit and 64-bit]
 +
**  https://launchpad.net/ubuntu/+archivemirrors  . . . Ubuntu package mirrors
 +
 
*  [https://www.debian.org/releases/ Debian Linux releases description and list]
 
*  [https://www.debian.org/releases/ Debian Linux releases description and list]
 
**  [https://raphaelhertzog.com/2011/03/14/missing-firmware-in-debian-learn-how-to-deal-with-the-problem/ Debian missing firmware, e100/d102e_ucode.bin]
 
**  [https://raphaelhertzog.com/2011/03/14/missing-firmware-in-debian-learn-how-to-deal-with-the-problem/ Debian missing firmware, e100/d102e_ucode.bin]
Line 22: Line 52:
 
*  [https://www.archlinux.org/download/ Arch Linux download]
 
*  [https://www.archlinux.org/download/ Arch Linux download]
  
 +
- 2017-11-30 -
 +
*  [http://distro.ibiblio.org/tinycorelinux/ Tiny Core Linux]
 +
*  [http://www.zdnet.com/article/hands-on-with-picore-7-0-tiny-core-linux-for-the-raspberry-pi/ Tiny Core Linux for RaspberryPi - ZDNet article]
 +
*  [http://www.tinycorelinux.net/corebook.pdf Tiny Core Book]
 +
 +
- 2017-12-08 -
 +
*  http://trac.clfs.org/
 +
 +
- 2018-08-24 - 32-bit and light-weight Linux distros
 +
*  https://itsfoss.com/lightweight-linux-beginners/  Distros Peppermint, Lubuntu . . . Puppy Linux, Tinycore
 +
**  https://lubuntu.net/lubuntu-18-04-bionic-beaver-released/
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] lists of Linux distribution releases ===
 +
 +
<ul>
 +
*  [https://access.redhat.com/articles/3078 Red Hat Enterprise releases]
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Create Linux install drive from iso ===
 +
 +
Iso to USB thumb drive details at https://askubuntu.com/questions/372607/how-to-create-a-bootable-ubuntu-usb-flash-drive-from-terminal . . .
 +
 +
<i>Excerpt from AskUbuntu article:</i>
 +
 +
<pre>
 +
sudo umount /dev/sdb
 +
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M
 +
 +
</pre>
 +
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] 32-bit OS options BSD and Linux ==
 +
 +
Having trouble locating a Linux distro with Long Term Support (LTS), such as Ubuntu, which yet supports 32-bit computer systems.  Here is a first article on the search for alternatives:
 +
 +
<ul>
 +
*  https://itsfoss.com/32-bit-os-list/
 +
*  http://www.tribblix.org/about.html
 +
*  https://www.openbsd.org/sparc.html
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Netbsd ===
 +
 +
<ul>
 +
*  http://www.netbsd.org/releases/formal.html
 +
*  http://ftp.netbsd.org/pub/NetBSD/NetBSD-8.1/
 +
*  https://cdn.netbsd.org/pub/NetBSD/NetBSD-8.1/sparc/INSTALL.html
 +
- - -
 +
*  http://www.netbsd.org/ports/sparc/faq.html#pmap-failure
 +
*  http://www.netbsd.org/ports/sparc/faq.html#smp-cpus
 +
</ul>
 +
 +
Some hardware related references to vintage Sun Microsystems computers, on which NetBSD can be installed and used:
 +
 +
<ul>
 +
*  http://www.obsolyte.com/sun_ipx/
 +
*  http://www.obsolyte.com/sunFAQ/faq_nvram.html
 +
*  https://www.st.com/en/clocks-and-timers/m48t02.html
 +
 +
*  https://www.rs-online.com/designspark/restoring-a-sun-sparcstation-ipx-part-1-psu-and-nvram  DesignSpark restore Sparc IPX
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Linux and Linux Kernel Projects ==
 +
 +
<ul>
 +
*  https://www.kernel.org/
 +
*  https://tiny.wiki.kernel.org/
 +
*  [http://wiki.tinycorelinux.net/wiki:persistence_for_dummies Tiny Core runs in memory, persistence needs manual attention]
 +
*  [https://www.cnx-software.com/2013/01/16/understanding-preempt_rt-the-real-time-patch-elce-2012/ kernel real-time preemption 2012 ELCE summary]
 +
*  https://rt.wiki.kernel.org/index.php/Main_Page
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Dual Boot Linux and Other OS ==
 +
 +
*  https://hackaday.com/2021/11/30/linux-fu-the-ultimate-dual-boot-laptop/
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Issue related to Linux kernel ===
 +
 +
Radeon GPU graphics driver not working, gives error in dmesg:
 +
 +
  [    6.266884] [drm:r600_ring_test [radeon]] *ERROR* radeon: ring 0 test failed (scratch(0x8504)=0xCAFEDEAD)
 +
  [    6.266902] radeon 0000:01:00.0: disabling GPU acceleration
 +
 +
<ul>
 +
*  https://bugs.freedesktop.org/show_bug.cgi?id=99851&_sm_au_=iVVHsr2TTf61T5R7
 +
*  https://bugzilla.kernel.org/show_bug.cgi?id=198239
 +
*  https://bugzilla.kernel.org/show_bug.cgi?id=196197  . . . <code>git bisect</code> command and use mentioned in this post
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Linux Administration ==
 +
 +
This section needs organizing, including a better separation of Debian package management from networking configuration.  - TMH
 +
 +
*  [http://www.pontikis.net/blog/debian-upgrade-wheezy-to-jessie Debian upgrade from wheezy to jessie]
 +
 +
*  https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.html . . . upgrading Debian from 8 to 9
 +
 +
*  https://help.ubuntu.com/community/EOLUpgrades  . . . Ubuntu end-of-life upgrades
 +
 +
While setting up Ubuntu LTS package mirros, using Perl based program from package named apt-mirror, needed at least 470GB of disk space for Ubuntus LTS 12.04 through 16.04.  Also want to add 10.04 LTS.  Have 1TB drive just purchased from FreeGeek.  Partitioned and formatted as follows, UUID included here in mke2fs messages:
 +
 +
<pre>
 +
$ sudo cfdisk /dev/sda
 +
 +
Syncing disks.
 +
 +
$ sudo mke2fs -j /dev/sda1
 +
mke2fs 1.42.12 (29-Aug-2014)
 +
Creating filesystem with 244190390 4k blocks and 61054976 inodes
 +
Filesystem UUID: dfb1e141-85c0-43b0-930c-6bb5dde6d9aa
 +
Superblock backups stored on blocks:
 +
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
 +
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
 +
        102400000, 214990848
 +
 +
Allocating group tables: done                           
 +
Writing inode tables: done                           
 +
Creating journal (32768 blocks): done
 +
Writing superblocks and filesystem accounting information: done   
 +
 +
$
 +
</pre>
 +
 +
Information on setting up an Ubuntu or Debian packages mirror here at Programster blog site:
 +
 +
*  https://blog.programster.org/set-up-a-local-ubuntu-mirror-with-apt-mirror
 +
 +
 +
Beyond apt-mirror, modify meta-release files to enable Ubuntu dist-upgrade tool to accept our own, unofficial mirror:
 +
 +
*  http://blog.ef.net/2012/10/26/unbutu-release-upgrade-with-local-apt-mirror.html
 +
 +
 +
How to get past some circular dependencies in Ubuntu / Debian package management system:
 +
 +
<pre>
 +
$ sudo dpkg -i --force-breaks dpkg_1.18.4ubuntu1_i386.deb
 +
</pre>
 +
 +
Some further notes on [[manual_debian_package_fixes|manual Debian package fixes]].
 +
 +
 +
 +
*  [https://serverfault.com/questions/406123/second-ip-address-on-the-same-interface-but-on-a-different-subnet multiple IPs assigned to one network interface]
 +
 +
*  [https://help.ubuntu.com/lts/serverguide/network-configuration.html intro to network configuration at Ubuntu LTS Server Guide pages]
 +
 +
*  [https://unix.stackexchange.com/questions/98344/does-the-gateway-have-to-be-on-the-subnet default gateway need be on host subnet?]
 +
 +
*  [https://lwn.net/Articles/232781/ source routing article on LWN, cerca 2007]
 +
 +
*  [https://tools.ietf.org/html/draft-reitzel-ipv4-source-routing-is-evil-00 Draft Reitzel IPv4 Source Routing Is Evil 00]
 +
 +
 +
Article detailing how to add IPV4 route to configured network interface:
 +
*  https://my.esecuredata.com/index.php?/knowledgebase/article/2/add-a-static-route-on-centos
 +
 +
 +
 +
*  [https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-16-04#configure-secondary-dns-server Digitalocean tutorial:  configure bind9 on Ubuntu on private network]
 +
 +
*  [http://www.admin-magazine.com/Articles/Automating-with-Expect-Scripts Automating admin tasks with 'expect' scripts]
 +
 +
*  [https://nmap.org/ Network mapper nmap]
 +
 +
- 2018-03-30 FRI -
 +
In the midst of attempting a dist-upgrade of a two or three year old Debian system, encountered need to run apt or aptitude with its "Force Loop Break" option enabled.  This option is spelled Force-LoopBreak . . .
 +
 +
    $ sudo aptitude -o APT::Force-LoopBreak=1
 +
 +
*  https://askubuntu.com/questions/27933/what-are-post-installation-triggers?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
 +
  *  https://wiki.ubuntu.com/DpkgTriggers
 +
 +
Issue with older Debian system trying to upgrade:
 +
 +
<pre>
 +
Preparing to unpack libc-bin_2.27-2_i386.deb ...
 +
dpkg: error processing archive libc-bin_2.27-2_i386.deb (--install):
 +
triggers ci file contains unknown directive `interest-await'
 +
Errors were encountered while processing:
 +
libc-bin_2.27-2_i386.deb
 +
</pre>
 +
 +
 +
Dpkg developers' team at https://wiki.debian.org/Teams/Dpkg.  Article linked to from there regarding apt triggers:
 +
 +
*  https://web.archive.org/web/20140127083557/http://www.seanius.net/blog/2009/09/dpkg-triggers-howto/
 +
 +
See also man page for dpkg-trigger(1).
 +
 +
 +
Linux system libraries and `ldconfig`:
 +
*  https://www.lifewire.com/ldconfig-linux-command-4093742
 +
 +
 +
<!-- comment -->
 +
 +
=== Debian APT sources.list files ===
 +
 +
Example Linux Mint official-package-repositories.list file:
 +
 +
<pre>
 +
deb http://packages.linuxmint.com sarah main upstream import backport
 +
 +
deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
 +
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
 +
deb http://archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse
 +
 +
deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
 +
deb http://archive.canonical.com/ubuntu/ xenial partner
 +
</pre>
 +
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Linux User Space Configuration ==
 +
 +
 +
<b>To configure <code>xserver-xorg</code></b>
 +
 +
Snippet from work on getting xserver-xorg to recognize a 1920x1080 native resolution monitor, ViewSonic VX2250 Series monitor . . .
 +
 +
<pre>
 +
 +
user@localhost:~$ gtf 1920 1080 60
 +
 +
  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
 +
  Modeline "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
 +
 +
user@localhost:~$ lsb_release -a
 +
No LSB modules are available.
 +
Distributor ID: Debian
 +
Description:    Debian GNU/Linux 8.9 (jessie)
 +
Release:        8.9
 +
Codename:      jessie
 +
 +
user@localhost:~$
 +
 +
</pre>
 +
 +
 +
Looking at /var/log/Xorg.0.log there appear to be two or more issues keeping xserver-xorg framework from fully recognizing the resolutions of the attached monitor.  First we'll sift for errors from X, then we look at loading of modules, unloading of modules, the module named 'radeon', and also look at the timing of these X-logged events:
 +
 +
<pre>
 +
 +
user@localhost:/var/log$ grep -n EE Xorg.0.log
 +
15:    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
 +
342:[    27.938] (EE) open /dev/dri/card0: No such file or directory
 +
344:[    27.938] (EE) open /dev/dri/card0: No such file or directory
 +
351:[    27.945] (EE) open /dev/fb0: No such file or directory
 +
359:[    27.946] (EE) open /dev/fb0: No such file or directory
 +
360:[    27.946] (EE) Screen 0 deleted because of no matching config section.
 +
362:[    27.946] (EE) Screen 0 deleted because of no matching config section.
 +
364:[    27.946] (EE) Screen 0 deleted because of no matching config section.
 +
2689:[    28.915] (EE) AIGLX: reverting to software rendering
 +
 +
user@localhost:/var/log$ grep -n 'LoadModule: ' Xorg.0.log
 +
47:[    27.193] (II) LoadModule: "glx"
 +
58:[    27.669] (II) LoadModule: "ati"
 +
64:[    27.719] (II) LoadModule: "radeon"
 +
70:[    27.795] (II) LoadModule: "modesetting"
 +
76:[    27.832] (II) LoadModule: "fbdev"
 +
82:[    27.842] (II) LoadModule: "vesa"
 +
346:[    27.938] (II) LoadModule: "fbdevhw"
 +
354:[    27.946] (II) LoadModule: "fbdevhw"
 +
368:[    27.946] (II) LoadModule: "vbe"
 +
374:[    27.994] (II) LoadModule: "int10"
 +
396:[    28.200] (II) LoadModule: "ddc"
 +
2651:[    28.611] (II) LoadModule: "shadow"
 +
2657:[    28.621] (II) LoadModule: "fb"
 +
2664:[    28.630] (II) LoadModule: "int10"
 +
2694:[    31.327] (II) LoadModule: "evdev"
 +
 +
user@localhost:/var/log$ grep -n UnloadModule Xorg.0.log
 +
361:[    27.946] (II) UnloadModule: "radeon"
 +
363:[    27.946] (II) UnloadModule: "modesetting"
 +
365:[    27.946] (II) UnloadModule: "fbdev"
 +
 +
user@localhost:/var/log$ grep -n radeon Xorg.0.log
 +
64:[    27.719] (II) LoadModule: "radeon"
 +
65:[    27.720] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
 +
66:[    27.795] (II) Module radeon: vendor="X.Org Foundation"
 +
361:[    27.946] (II) UnloadModule: "radeon"
 +
 +
user@localhost:/var/log$
 +
 +
</pre>
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] to configure net-tools ifconfig and isc-dhcp-client ===
 +
 +
The program or script <code>ifconfig</code> is, as of this spring 2018 entry found in Debian's package named <code>net-tools</code>.  Having a weird issue where ifconfig no longer properly configures the primary network interface to request and obtain and DHCP address on the LAN.  The specific error message which occurs for both an Intel-based PCIExpress card and an integrated Marvel 10/100/1000 mbit card is:
 +
 +
<pre>
 +
user@localhost:~/Desktop$ sudo ifup eth4
 +
2018-04-12 - called with $IFACE set to eth4,
 +
user[1678]: WARNING: Initialising interface eth4 which does not have link
 +
</pre>
 +
 +
 +
These messages come from a script in <code>/etc/network/if-up.d/00check-network-cable</code>.
 +
 +
Attempting the basic shot-gun approach of purging this package and re-installing.  Dependent packages which must also be purged include <code>ifupdown-extra</code> and <code>dhcp-probe</code> . . .
 +
 +
 +
A patch for one of the ifconfig network scripts:
 +
 +
*  https://launchpadlibrarian.net/191602212/00check-network-cable.patch
 +
 +
 +
Example lshw command to list network card interface details:
 +
 +
https://www.linuxquestions.org/questions/centos-111/network-interface-is-not-shown-in-ifconfig-command-4175577340/
 +
 +
 +
Verbose output of ELF executable <code>ifup</code>:
 +
 +
<pre>
 +
user@localhost:/etc/network$ sudo ifup -v eth4
 +
Configuring interface eth4=eth4 (inet)
 +
run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
 +
run-parts: executing /etc/network/if-pre-up.d/ethtool
 +
run-parts: executing /etc/network/if-pre-up.d/vde2
 +
 +
run-parts --exit-on-error --verbose /etc/network/if-up.d
 +
run-parts: executing /etc/network/if-up.d/00check-network-cable
 +
2018 check_status:  above IF-ELSE block to call /sbin/ethtool or other,
 +
2018 check_status:  calling check_status_ethtool . . .
 +
2018-04-12 - called with $IFACE set to eth4,
 +
+  and $ABORT_NO_LINK holds 'iyes',
 +
+  changing $ABORT_NO_LINK to 'yes',
 +
2018 check_status_ethtool:  as a test returning 0 in place of 1 when link not found . . .
 +
2018 check_status:  back from routine check_status_ethtool, $status holds 0,
 +
2018 check_status:  returning 0 to calling script . . .
 +
run-parts: executing /etc/network/if-up.d/10check-duplicate-ip
 +
run-parts: executing /etc/network/if-up.d/20static-routes
 +
run-parts: executing /etc/network/if-up.d/30check-gateway
 +
run-parts: executing /etc/network/if-up.d/avahi-daemon
 +
run-parts: executing /etc/network/if-up.d/ethtool
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-05vlan
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-10eth-interfacename
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-10lo-linkup
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-30link
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-40address
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-60specialcommands
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-60staticroutes
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-80proxy-arp
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-80redirects
 +
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-90flags
 +
run-parts: executing /etc/network/if-up.d/mountnfs
 +
run-parts: executing /etc/network/if-up.d/openssh-server
 +
run-parts: executing /etc/network/if-up.d/upstart
 +
user@localhost:/etc/network$ which run-parts
 +
/bin/run-parts
 +
</pre>
 +
 +
 +
- 2018-04-18 WED -
 +
No reference from run-parts messages about missing DHCP client.  Turns out Debian 8.10 "Jessie" provides a package named isc-dhcp-client, or offers it as part of their package mirrors lists, but its recommended rather than required when installing the ifupdown package.  Adding this package solved the problem of no action and no messages occurring when attempting to bring up one or another network interface card whose config settings called for DHCP to be applied to those interfaces.  - TMH
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Edit point . . . ===
 +
 +
References for Linux user-space configuration issues:
 +
 +
*  [https://forums.gentoo.org/viewtopic-t-1048946-start-0.html Gentoo forum post, kernel may be missing something when /dev/dri/card0 not found]
 +
*  https://bugs.launchpad.net/ubuntu/+source/libdrm/+bug/430876
 +
*  https://wiki.archlinux.org/index.php/xrandr
 +
*  https://wiki.archlinux.org/index.php/xrandr#Adding_undetected_resolutions
 +
*  [https://forums.linuxmint.com/viewtopic.php?t=202637 /etc/modprobe.d holds file naming black-listed drivers]
 +
*  [http://forums.debian.net/viewtopic.php?f=5&t=111521 . . . Debian forums topic 111521, package linux-firmware-nonfree]
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] SSH key pair configuration and use ===
 +
 +
<br />
 +
Ted copying some ssh key commands from Digital Ocean article on-line.  Also noting that ssh keys and secure network connections is a topic to factor into its own wiki article at Neela wiki installation . . . - TMH
 +
 +
 +
*  [https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2 Digital Ocean ssh key pairs tutorial]
 +
 +
 +
Key ssh key generation and set up commands are:
 +
 +
<pre>
 +
 +
  $ ssh-keygen -t rsa
 +
 +
  $ cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"
 +
 +
</pre>
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] SSH keep alive facility ===
 +
 +
*  https://patrickmn.com/aside/how-to-keep-alive-ssh-sessions/
 +
 +
In the file /etc/ssh/ssh_config make sure to add . . .
 +
 +
<pre>
 +
Host *
 +
    ServerAliveInterval 300
 +
    ServerAliveCountMax 2
 +
</pre>
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] installing PHP 7.0 ===
 +
 +
<pre>
 +
Creating config file /etc/php/7.0/cgi/php.ini with new version
 +
Setting up php7.0 (7.0.25-0ubuntu0.16.04.1) ...
 +
Setting up php (1:7.0+35ubuntu6) ...
 +
Setting up shtool (2.0.8-8) ...
 +
Setting up php7.0-dev (7.0.25-0ubuntu0.16.04.1) ...
 +
update-alternatives: using /usr/bin/php-config7.0 to provide /usr/bin/php-config (php-config) in auto mode
 +
update-alternatives: using /usr/bin/phpize7.0 to provide /usr/bin/phpize (phpize) in auto mode
 +
Setting up php-all-dev (1:35ubuntu6) ...
 +
Setting up php-cgi (1:7.0+35ubuntu6) ...
 +
Setting up php-cli (1:7.0+35ubuntu6) ...
 +
Setting up php-dev (1:7.0+35ubuntu6) ...
 +
Setting up php-doc (20140201-1ubuntu1) ...
 +
Setting up php7.0-mysql (7.0.25-0ubuntu0.16.04.1) ...
 +
 +
Creating config file /etc/php/7.0/mods-available/mysqlnd.ini with new version
 +
 +
Creating config file /etc/php/7.0/mods-available/mysqli.ini with new version
 +
</pre>
 +
 +
 +
- 2018-03-28 -
 +
 +
<!-- https://daniel.haxx.se/about.html https://daniel.haxx.se/docs/sshproxy.html -->
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] GNU gpg utility and to configure gpg with proxy ===
 +
 +
- 2018-03-29 THU -
 +
  We have a new and strict firewall policy in place, which is blocking GNU gpg requests from our work site to the greater internet.  Here are some initial references to the issue, both of which mention a protocol called <code>hkps</code>, and also a default gpg port 11371 . . .
 +
 +
*  [https://gpgtools.tenderapp.com/kb/faq/cant-reach-key-server-are-you-behind-a-company-firewall gpgtools at TenderApp dot com, hkps:// hkps protocol]
 +
*  https://lists.gnupg.org/pipermail/gnupg-users/2003-April/017551.html
 +
*  https://wiki.archlinux.org/index.php/GnuPG
 +
&nbsp;&nbsp;*  https://www.gnupg.org/faq/gnupg-faq.html#no_default_of_rsa4096
 +
 +
*  https://www.gnupg.org/documentation/manuals/gnupg/GPG-Configuration.html
 +
 +
 +
Invoking gpg for first time, and then a second time behind firewall we get the following messages:
 +
 +
<pre>
 +
user@localhost:~$ gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
 +
gpg: directory `/home/ted/.gnupg' created
 +
gpg: new configuration file `/home/ted/.gnupg/gpg.conf' created
 +
gpg: WARNING: options in `/home/ted/.gnupg/gpg.conf' are not yet active during this run
 +
gpg: keyring `/home/ted/.gnupg/secring.gpg' created
 +
gpg: keyring `/home/ted/.gnupg/pubring.gpg' created
 +
gpg: requesting key 2B90D010 from hkp server pgpkeys.mit.edu
 +
^C
 +
gpg: Interrupt caught ... exiting
 +
 +
user@localhost:~$ gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
 +
gpg: requesting key 2B90D010 from hkp server pgpkeys.mit.edu
 +
^C
 +
gpg: Interrupt caught ... exiting
 +
 +
user@localhost:~$
 +
</pre>
 +
 +
 +
STEP 1
 +
 +
Configuration file created for gpg, to allow communications across filewall with few ports open:
 +
 +
<pre>
 +
## Started 2018-30-29 - TMH
 +
## Reference - https://wiki.archlinux.org/index.php/GnuPG
 +
keyserver hkp://pool.sks-keyservers.net:443
 +
</pre>
 +
 +
 +
STEP 2
 +
 +
And a crucial step to adding a public key to <code>apt</code> explained here at this ccm web page:
 +
 +
*  https://ccm.net/faq/809-debian-apt-get-no-pubkey-gpg-error
 +
 +
<pre>
 +
gpg --keyserver pgpkeys.mit.edu --recv-key 010908312D230C5F
 +
gpg -a --export 010908312D230C5F | sudo apt-key add -
 +
</pre>
 +
 +
 +
- 2019-01-30 WED -
 +
 +
Again missing a public key on host running "Debian GNU/Linux 8.11 (jessie)" . . .
 +
 +
*  https://askubuntu.com/questions/13065/how-do-i-fix-the-gpg-error-no-pubkey
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Secure shell via alternate ports ===
 +
 +
- 2018-04-04 -
 +
*  https://unix.stackexchange.com/questions/324610/is-it-bad-to-port-forward-port-443-for-ssh
 +
*  https://unix.stackexchange.com/questions/190490/how-to-use-ssh-over-http-or-https
 +
*  https://daniel.haxx.se/docs/sshproxy.html
 +
 +
- 2018-04-10 -
 +
*  https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding
 +
 +
*  https://www.revsys.com/writings/quicktips/turn-off-selinux.html
 +
 +
- 2018-04-11 -
 +
*  https://serverfault.com/questions/117775/multiple-sshd-instances-using-different-pam-configurations
 +
 +
ArchLinux article:
 +
*  https://wiki.archlinux.org/index.php/HTTP_tunneling
 +
*  [https://tools.kali.org/maintaining-access/httptunnel tools.kali.org . . . detailed hts and htc usage]
 +
 +
 +
<!--
 +
If you are going to do this, at the minimum, please:
 +
 +
    Create a whitelist: Limit access to port 443 from only known IPs
 +
    Disable Password logins and only use SSH Keys
 +
 +
You could open yourself up to danger otherwise. What if someone finds a security bug that allows them to automatically login when given an SSH prompt? Your whitelist will reduce that future risk.
 +
 +
By disabling password logins to SSH, if a bad actor on the whitelist manages to access your server, it will be much harder to bruteforce a way in.
 +
 +
This is good security hygiene. If you are a regular university student, the chances of attack could be low, but why take an unnecessary risk?
 +
 +
-->
 +
 +
Using <code>netstat</code> to see ports in use . . .
 +
 +
<pre>
 +
1010  sudo netstat -tulnp | grep 10443
 +
1011  sudo netstat -tulnp | grep 53
 +
1012  sudo netstat -tulnp | grep 443
 +
1013  sudo netstat -tulnp | grep 180
 +
1014  sudo netstat -tulnp | grep ssh
 +
1015  ps aex | grep sshd
 +
1016  cd /etc/init.d
 +
1017  ls
 +
1018  vi ssh
 +
1019  sudo ./ssh status
 +
1020  date
 +
1021  history
 +
</pre>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Keybox a possible web based shell client + server ===
 +
 +
*  https://www.sshkeybox.com/
 +
**  https://github.com/skavanagh/KeyBox#keybox
 +
 +
 +
<!-- comment -->
 +
 +
 +
=== [[#top|^]] Samba and Windows to Linux file shareing ===
 +
 +
*  https://doxfer.webmin.com/Webmin/Samba_Windows_File_Sharing<br />
 +
 +
How-to-Geek reference good:
 +
*  https://www.howtogeek.com/176471/how-to-share-files-between-windows-and-linux/
 +
Step 1 right-click on lower edge of screen System Tray or task bar, on the networking icon.  Select "advanced sharing settings".  Make sure that among a few sets of radio buttoned options that 'network discovery' is enabled and that 'file and printer sharing' is enabled . . .
 +
 +
<ul>
 +
[*] Turn on network discovery<br />
 +
[*] Turn on file and printer sharing<br />
 +
</ul>
 +
<br />
 +
*  https://www.dummies.com/computers/operating-systems/windows-10/how-to-enable-network-discovery-and-configure-sharing-options-in-windows-10/
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Desktop environments ===
 +
 +
2019-11-02 - Ted breaking out [[Linux Desktop Environments|linux-desktop-environments]] to its own article, first references yet here also:
 +
 +
<ul>
 +
*  https://www.lifewire.com/customize-xfce-desktop-environment-2202080  . . . xfce4 basic configurations
 +
*  Openbox . . .
 +
<ul>
 +
*  http://openbox.org/wiki/Help:Configuration  . . . /etc/xdg/openbox and ~/.config/openbox/rc.xml and menu.xml
 +
*  http://openbox.org/wiki/Help:Applications  . . . Openbox per application settingsk
 +
*  https://wiki.archlinux.org/index.php/openbox
 +
</ul>
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Wayland replacement for Xserver graphics infrastructure ===
 +
 +
<ul>
 +
*  https://wiki.debian.org/Wayland
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
<!-- SECTION - Unix and Linux utilities -->
 +
 +
== [[#top|^]] Unix and Linux utilities ==
 +
<i>[ Key words:  unix utils unix utilites , linux utils linux utilities ]</i><br />
 +
This section as of 2018-11-01 Thursday contains both command line utilities (some shell built-ins) and user space programs both text-based and graphical.
 +
 +
=== [[#top|^]] date command ===
 +
 +
Unix date command syntax to change time and date on Unix-like systems:
 +
 +
  $ sudo date -s 15:59 +%H:%M
 +
 +
Some related timezone check and set stuff:
 +
<pre>
 +
$ date +%Z
 +
 +
$ timedatectl list-timezones
 +
 +
$ sudo timedatectl set-timezone America/Los_Angeles
 +
</pre>
 +
 +
And a good reference to these commands:  https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-check-and-set-timezone-in-ubuntu-20-04/
 +
 +
Use of `date` command to convert Unix timestamps:
 +
 +
<pre>
 +
Vagrant Cascadian < * e-mail address here * >
 +
 +
AttachmentsDec 7 (1 day ago)
 +
 +
to Juergen, Santiago, Reprobuilds, bug-apl
 +
On 2017-12-05, Juergen Sauermann wrote:
 +
> I have adopted the environment variable approach, which is now
 +
> contained in *SVN 1026*. (and therefore also in the next GNU APL release).
 +
 +
That's great news!
 +
 +
 +
> I took the freedom to change your patch from:
 +
>
 +
> +    BUILD_DATE=`date -u "%F %R:%S %Z" --date=@$SOURDCE_DATE_EPOCH`
 +
>
 +
> to:
 +
>
 +
> + BUILD_DATE=`date -u "+%F %R:%S %Z" --date=$SOURCE_DATE_EPOCH`
 +
 +
Unfortunately, the "@" in the --date argument is necessary for it to
 +
work correctly when SOURCE_DATE_EPOCH is specified:
 +
 +
  $ date -u "+%F %R:%S %Z" --date=1412583777
 +
  date: invalid date ‘1412583777’
 +
  $ date -u "+%F %R:%S %Z" --date=@1412583777
 +
  2014-10-06 08:22:57 UTC
 +
  $ date -u "+%F %R:%S %Z" --date=
 +
  2017-12-06 00:00:00 UTC
 +
 +
At least, that's how it works on my Debian system...
 +
 +
 +
live well,
 +
  vagrant
 +
</pre>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] vim ===
 +
 +
On-line posting how to configure <code>vim</code> text editor, on Windows and Unix systems:
 +
 +
*  http://vim.wikia.com/wiki/How_to_stop_auto_indenting
 +
*  https://vim.fandom.com/wiki/Example_vimrc  . . . example .vimrc run-time config file
 +
*  https://vi.stackexchange.com/questions/22901/replace-multiple-spaces-with-one Editor vim replace multiple spaces with one character
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] bash for windows ===
 +
 +
*  https://itsfoss.com/install-bash-on-windows/
 +
 +
 +
=== [[#top|^]] udevadm ===
 +
Linux "user devices" subsystem and <code>udevadm</code>:
 +
*  https://www.tecmint.com/udev-for-device-detection-management-in-linux/
 +
 +
 +
=== [[#top|^]] bc ===
 +
*  https://www.linuxjournal.com/article/2544  article on bc with title 'bc: A Handy Utility'
 +
 +
Note that along with Unix utility `bc` there is also a *nix calculator utility named `dc`.
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] cpu info related ===
 +
 +
2022
 +
<ul>
 +
0801
 +
*  https://www.tecmint.com/check-linux-cpu-information/
 +
</ul>
 +
 +
<!-- comentario -->
 +
 +
 +
=== [[#top|^]] retext editor for editing Markdown and Restructured Text files ===
 +
 +
The following AskUbuntu forum post mentions not only `retext` package, but Debian package managing utility `apt-cache`:
 +
 +
*  https://askubuntu.com/questions/333186/markdown-md-and-restructuredtext-rst-editor
 +
 +
<!-- comentario -->
 +
 +
== [[#top|^]] Linux Security ==
 +
 +
*  https://itsfoss.com/meltdown-spectre/
 +
*  https://www.theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability/
 +
*  https://meltdownattack.com/
 +
**  https://meltdownattack.com/meltdown.pdf
 +
 +
 +
<!-- https://en.wikipedia.org/wiki/Die_(integrated_circuit) -->
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Shell scripting ==
 +
 +
<br />
 +
A well-written and comprehensive guide to bash shell scripting:
 +
 +
*  [http://www.tldp.org/LDP/abs/html/index.html Advanced Bash Shell Scripting Guide]
 +
 +
Shell aliases to sequence of commands, return values of shell aliases:
 +
 +
*  https://superuser.com/questions/192041/what-is-the-return-value-of-a-complex-alias-in-bash
 +
 +
GNU reference to bash builtin commands:
 +
 +
*  https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html
 +
 +
Bash arrays:
 +
 +
*  https://www.linuxjournal.com/content/bash-arrays
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] bash example:  back up multiple MYSQL databases ===
 +
 +
Simple bash script to back up MYSQL databases to local .sql file, in following figure.  Ted noting that script variables are not consistently capitalized, would be better form to capitalize all or none of them.  Ted also noting that script could read database user passphrase from a file, a file which could be root-only readable and located in a place different from the script, which is likely to be run as a cron job.
 +
 +
 +
<i>Figure x - shell script to dump MYSQL databases, first draft script:</i>
 +
 +
<pre>
 +
#!/bin/bash
 +
 +
 +
DATABASE_LIST="information_schema mysql phpmyadmin wikidb database_1 database_2 database_3 ..."
 +
 +
SERVER_NAME="example_database_server"
 +
 +
user="root"
 +
pass_phrase_for_mysql="database-passphrase"
 +
options_extra="--skip-lock-tables"
 +
 +
 +
response="n"
 +
 +
mode_interactive="n"
 +
 +
 +
 +
echo "shell script starting,"
 +
 +
 +
 +
for database in ${DATABASE_LIST};
 +
do echo "backing up $SERVER_NAME database $database . . .";
 +
 +
#    command="mysqldump --databases $database -u$user -p$pass_phrase_for_mysql $options_extra >> au-database-back-up--${database}.sql"
 +
    command="mysqldump --databases $database -u$user -p$pass_phrase_for_mysql $options_extra"
 +
    redirect="au-database-back-up--${database}.sql"
 +
 +
    if [ $mode_interactive = 'y' ]; then
 +
 +
        echo "build command '$command' and database back-up filename'$redirect',"
 +
        echo "full command will be '$command' > '$redirect',"
 +
        echo "trying running this command and redirect? [y/N/q]  yes, no, 'q' to quit"
 +
 +
        read response
 +
        if [ $response = 'Y' -o $response = 'y' ]; then
 +
            ${command} > $redirect
 +
        elif [ $response = 'N' -o $response = 'n' ]; then
 +
            echo "skipping present command . . ."
 +
        elif [ $response = 'Q' -o $response = 'q' ]; then
 +
            echo "stopping script '$0' and exiting."
 +
            break
 +
        fi
 +
        echo
 +
 +
    else
 +
 +
        echo "$0:  backing up database '$database' to file '$redirect' . . ."
 +
        ${command} > $redirect
 +
        ls -l $redirect
 +
 +
    fi
 +
 +
done
 +
 +
 +
echo "done."
 +
 +
exit 0
 +
</pre>
 +
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] bash example:  show Linux kernel version in kernel makefile ===
 +
 +
<i>Figure x - script to show Linux kernel version in source tree makefile</i>
 +
 +
<pre>
 +
#!/bin/bash
 +
 +
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
## Started 2017-12-15 FRI - script to parse and show Linux kernel
 +
##  version from top-level makefile in set of kernel sources.  Patterns
 +
##  to `grep` chosen based on kernel version identifiers in first
 +
##  three lines of typical kernel top-level makefile.  Example:
 +
##
 +
##  $ head -n 6 Makefile
 +
##  VERSION = 4
 +
##  PATCHLEVEL = 9
 +
##  SUBLEVEL = 66
 +
##  EXTRAVERSION =
 +
##  NAME = Roaring Lionus
 +
##
 +
##
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
 +
 +
if [ ]; then
 +
    head -n 5 Makefile | grep ^VERSION | cut -d " " -f 3
 +
    head -n 5 Makefile | grep ^PATCH | cut -d " " -f 3
 +
    head -n 5 Makefile | grep ^SUBLEVEL | cut -d " " -f 3
 +
fi
 +
 +
MAJOR=$(head -n 5 Makefile | grep ^VERSION | cut -d " " -f 3)
 +
MINOR1=$(head -n 5 Makefile | grep ^PATCH | cut -d " " -f 3)
 +
MINOR2=$(head -n 5 Makefile | grep ^SUBLEVEL | cut -d " " -f 3)
 +
 +
KERNEL_REVISION="${MAJOR}.${MINOR1}.${MINOR2}"
 +
 +
echo
 +
echo "Kernel version in present kernel sources tree, per makefile, is ${KERNEL_REVISION}"
 +
echo
 +
 +
 +
 +
exit 0
 +
</pre>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] bash example:  list symbolic links in long format ===
 +
 +
<pre>
 +
for file in `ls`; do if [ -h $file ]; then ls -l $file; fi; done
 +
</pre>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] directory bookmarking script ===
 +
 +
For ease of navigating long directory paths Ted has written a amending script to the [[bash_start_up_script|Bash start up script]].  The directory bookmarker is open sourced by its author,
 +
 +
*  https://github.com/tedhavelka/directory-bookmarker
 +
 +
On a system which has Bash or Gitbash but no default user start up script, a minimal .bashrc file can be created containing something like the following, which happens to be tailored for Gitbash installed under Windows 10:
 +
 +
<pre>
 +
#!/usr/bin
 +
 +
if [ -e $HOME/Desktop/dot-bashrc-amendments.sh ]; then
 +
    . $HOME/Desktop/dot-bashrc-amendments.sh
 +
fi
 +
 +
# --- EOF ---
 +
</pre>
 +
 +
 +
This start up file assumes there is a shell script named <code>dot-bashrc-amendments.sh</code> in the user's Desktop directory, under their home directory.  This is a typical Windows path, but not a typical Unix or Linux path.  This path came about during author's early gitbash use, when it was unclear which path gitbash was adopting as the user's home directory.  This uncertainty, it turned out, came from some intermittently available network mapped volumes.  The reader is encouraged to make their own best choice of a stable and sensible path or location for their start up files.
 +
 +
As of this Monday 2018-11-05 wish list for directory bookmarker script includes:
 +
 +
<ul>
 +
  <li> automatic dating of latest update of given bookmark<br />
 +
  <li> verbose listing of directory bookmarks in given group of bookmarks<br />
 +
  <li> option for users to give title to each group of bookmarks<br />
 +
  <li> option for users to further annotate groups of bookmarks<br />
 +
<!--
 +
  <li> <br />
 +
-->
 +
</ul>
 +
 +
 +
 +
<!-- 2021-05-21 Friday, factoring out Windows path additions:
 +
 +
#!/bin/bash
 +
 +
##----------------------------------------------------------------------
 +
##
 +
##
 +
##  FILE:  .bashrc-amendments, also named dot-bashrc-amendments.sh
 +
##
 +
##
 +
##  LAST TOUCHED:  2017-12-14 THU
 +
##
 +
##
 +
##  DESCRIPTION:  short script to amend Debian and Ubuntu and or
 +
##    Bourne shell run-time config file, normally named '.bashrc'.
 +
##    Adds directory book-marking for up to thirty directories -- or
 +
##    file system paths -- making these accessible by means of
 +
##    three- and four- character aliases of the form 'gdnn' where
 +
##    nn is an integer in the range 1 to 30.
 +
##
 +
##
 +
##  HOW TO USE THIS SCRIPT:
 +
##
 +
##    To enjoy directory bookmark aliases in this file, in a bash
 +
##    command line environment, the user may source this file by
 +
##    hand,
 +
##
 +
##    $ . dot-bashrc-amendments.sh
 +
##
 +
##    or alternately for convenience a given user may amend their
 +
##    .login or .bashrc start-up script to include a line which
 +
##    does the same sourcing of this file.
 +
##
 +
##
 +
##
 +
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
 +
##
 +
##  NOTES ON IMPLEMENTATION:
 +
##
 +
##  (1) When this script is called with no arguments, it reads a run-
 +
##    time config file to determine which group of file-stored,
 +
##    bookmarked paths to read into shell variables and to make readily
 +
##    accessible via path navigation aliases.  If the run-time config
 +
##    is not found the shell creates it and populates it with its
 +
##    identifier '1' for the first group among 1..9 supported groups
 +
##    of path (also referred to as directory) bookmarks.
 +
##
 +
##  (2) When this script is called with a first argument in the range
 +
##    1..9, a single character number representation, the script
 +
##    writes this number to its run-time config file, and uses this
 +
##    number to choose among groups of saved paths written to the
 +
##    given user's dot-bashrc-amendments stored path files.  If not
 +
##    called with a valid bookmarks group id, this script falls back
 +
##    to doing the tasks in (1)
 +
##
 +
##
 +
##
 +
##
 +
##  TO DO:
 +
##
 +
##    [ ]  add to this script function which detects and shows
 +
##        the script's own aliases, and another function(s) to
 +
##        allow user to change aliases, e.g. in event that alias
 +
##        conflicts with a locally installed command,
 +
##
 +
##    [ ]  add to this script the ability to open arbitrary text
 +
##        file containing bookmarked paths, and to show it without
 +
##        replacing present bookmarks,
 +
##
 +
##    [ ]  add to this script a function to show bookmarks it
 +
##        holds and status of whether each given bookmark exists
 +
##        as a valid path on the local file system,
 +
##
 +
##    [ ]  2017-12-02 - add parameters sanity check to routine 'read_bookmarks_file',
 +
##
 +
##    [ ]  2017-12-02 - add settings file to store latest selected group of bookmarks,
 +
##
 +
##
 +
##
 +
##
 +
##
 +
##  TO CONFIRM:
 +
##
 +
##    [ ]  2017-12-02 - make sure that variable 'index' is visible in
 +
##        the scope of the script which sets the alias 'sp' which
 +
##        saves bookmarked paths,
 +
##
 +
##
 +
##
 +
##  REFERENCES:
 +
##
 +
##    See 'The Linux Documentation Project' at http://tldp.org/
 +
##
 +
##    *  http://tldp.org/LDP/abs/html/testconstructs.html . . . [, [[ ]], (( )) - builtin test,
 +
##        extended test, arithmetic test in bash context
 +
##
 +
##    *  http://tldp.org/LDP/abs/html/testbranch.html    . . . note shell 'shift' parameters operator
 +
##
 +
##    *  http://tldp.org/LDP/abs/html/complexfunct.html  . . . $1 $2 are first parameters to shell functions
 +
##
 +
##    *  http://www.grymoire.com/Unix/Sed.html
 +
##
 +
##    *  https://www.cyberciti.biz/faq/unix-howto-read-line-by-line-from-file/
 +
##
 +
##    *  http://www.linuxjournal.com/content/return-values-bash-functions
 +
##
 +
##
 +
##
 +
##  AUTHORS AND MAINTAINERS:
 +
##
 +
##    Ted Havelka, ted@cs.pdx.edu
 +
##
 +
##
 +
##
 +
##----------------------------------------------------------------------
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  SECTION - script variables of directory-bookmarker project
 +
##----------------------------------------------------------------------
 +
 +
# --- SCRIPT VARS BEGIN ---
 +
 +
GREP=/bin/grep
 +
SED=/bin/sed
 +
 +
 +
SCRIPT_NAME=${0}
 +
# echo "\$SCRIPT_NAME assigned value of \${0} and holds ${SCRIPT_NAME},"
 +
SCRIPT_NAME="dot-bash-amendments.sh"
 +
 +
## 2018-07-13 - added by Ted:
 +
SCRIPT_NAME_ABBR="dbrca"
 +
 +
 +
DIRECTORY_OF_BOOKMARKS_FILES=".bookmarked-paths"
 +
 +
FILENAME_FORM_OF_BOOKMARKED_PATHS="bookmarked-paths-nn.txt"
 +
 +
FILENAME_OF_BOOKMARKS_RUNTIME_CONFIGURATION="bookmarked-paths.rc"
 +
 +
BOOKMARKS_GROUPS_SUPPORTED="1..9"
 +
 +
# Directory Book Marker watermark, for sane $PATH amendments:
 +
DBM_WATERMARK="${HOME}/path-amended-by-directory-bookmarker"
 +
 +
# . . .
 +
bookmarks_group_id=1
 +
 +
# Shell variable used in 'sp' alias to save bookmarked paths:
 +
index=0
 +
 +
 +
## 2017-12-02 - How are these variables used? - TMH
 +
bash_settings_file="${HOME}/.bash_settings_local"
 +
 +
 +
# --- SCRIPT VARS END ---
 +
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  SECTION - script functions
 +
##----------------------------------------------------------------------
 +
 +
function show_aliases_in_this_script()
 +
{
 +
## 2017-12-02 NEED - Contributor Ted noting that following command will
 +
##  show all script lines, including comments and commented out
 +
##  commands (which are also comments), which this function's name
 +
##  does not indicate.  NEED to fix this or rename this function . . .
 +
 +
    $(GREP) -n alias $0
 +
}
 +
 +
 +
 +
function set_aliases()
 +
{
 +
##----------------------------------------------------------------------
 +
##  PURPOSE: . . .
 +
##----------------------------------------------------------------------
 +
 +
#    echo "setting some shell safety and shortcut aliases . . ."
 +
 +
 +
## Some important shell safe-guarding aliases for Unix and Linux systems:
 +
 +
    alias rm='rm -i'
 +
    alias cp='cp -i'
 +
    alias mv='mv -i'
 +
 +
# list files in long format starting from a cleared screen:
 +
    alias lss='clear; ls -lF'
 +
 +
# list directories only in long format:
 +
    alias dls='ls -l | grep "^d"'
 +
 +
 +
 +
# run custom Remote UPtime script:
 +
    alias rup='${HOME}/bin/rup'
 +
 +
# . . .
 +
    alias cvs='cvs -d ${HOME}/cvs -e /usr/bin/vi'
 +
 +
 +
# Shell shortcuts to cd to local oft used directories:
 +
 +
    alias archive='cd ${HOME}/archive; echo "Now at `pwd`" '
 +
    alias bin='cd ${HOME}/bin; echo "Now at `pwd`" '
 +
    alias notes='cd ${HOME}/notes; echo "Now at `pwd`" '
 +
 +
 +
# 2012-01-25
 +
 +
    alias xterm='xterm -bg black -fg white -geometry 108x36'
 +
    alias x='xterm -bg black -fg white -geometry 115x36 &'
 +
 +
 +
# NOTE 2017-12-02 - xlock command generally not available on last
 +
#  three years' Debian and Ubuntu software package mirrors.  Related
 +
#  command 'xscreensaver-command -lock' is installable . . .
 +
 +
    alias xlock='/usr/bin/xlock -mode scooter -count 100'
 +
 +
 +
    alias restore-path-var='. ${HOME}/dot-bashrc-amendments.sh restore-path-variable'
 +
 +
 +
} # end function set_aliases()
 +
 +
 +
 +
 +
function set_aliases_for_bookmarking()
 +
{
 +
 +
#    echo "setting aliases for bookmarking of paths . . ."
 +
 +
    alias cb='echo "active directory bookmarks group presently set to group ${bookmarks_group_id},"'
 +
 +
#---------------------------------------------------------------------
 +
# STEP:  create aliases for saving paths and returning to paths
 +
#---------------------------------------------------------------------
 +
 +
# setting of bookmarks 1 through 10:
 +
 +
    alias sd1='export D1=`pwd`; echo "Set variable D1 to `pwd`" '
 +
    alias sd2='export D2=`pwd`; echo "Set variable D2 to `pwd`" '
 +
    alias sd3='export D3=`pwd`; echo "Set variable D3 to `pwd`" '
 +
    alias sd4='export D4=`pwd`; echo "Set variable D4 to `pwd`" '
 +
    alias sd5='export D5=`pwd`; echo "Set variable D5 to `pwd`" '
 +
 +
    alias sd6='export D6=`pwd`; echo "Set variable D6 to `pwd`" '
 +
    alias sd7='export D7=`pwd`; echo "Set variable D7 to `pwd`" '
 +
    alias sd8='export D8=`pwd`; echo "Set variable D8 to `pwd`" '
 +
    alias sd9='export D9=`pwd`; echo "Set variable D9 to `pwd`" '
 +
    alias sd10='export D10=`pwd`; echo "Set variable D10 to `pwd`" '
 +
 +
# setting of bookmarks 11 through 20:
 +
 +
    alias sd11='export D11=`pwd`; echo "Set variable D11 to `pwd`" '
 +
    alias sd12='export D12=`pwd`; echo "Set variable D12 to `pwd`" '
 +
    alias sd13='export D13=`pwd`; echo "Set variable D13 to `pwd`" '
 +
    alias sd14='export D14=`pwd`; echo "Set variable D14 to `pwd`" '
 +
    alias sd15='export D15=`pwd`; echo "Set variable D15 to `pwd`" '
 +
 +
    alias sd16='export D16=`pwd`; echo "Set variable D16 to `pwd`" '
 +
    alias sd17='export D17=`pwd`; echo "Set variable D17 to `pwd`" '
 +
    alias sd18='export D18=`pwd`; echo "Set variable D18 to `pwd`" '
 +
    alias sd19='export D19=`pwd`; echo "Set variable D19 to `pwd`" '
 +
    alias sd20='export D20=`pwd`; echo "Set variable D20 to `pwd`" '
 +
 +
# setting of bookmarks 21 through 30:
 +
 +
    alias sd21='export D21=`pwd`; echo "Set variable D21 to `pwd`" '
 +
    alias sd22='export D22=`pwd`; echo "Set variable D22 to `pwd`" '
 +
    alias sd23='export D23=`pwd`; echo "Set variable D23 to `pwd`" '
 +
    alias sd24='export D24=`pwd`; echo "Set variable D24 to `pwd`" '
 +
    alias sd25='export D25=`pwd`; echo "Set variable D25 to `pwd`" '
 +
 +
    alias sd26='export D26=`pwd`; echo "Set variable D26 to `pwd`" '
 +
    alias sd27='export D27=`pwd`; echo "Set variable D27 to `pwd`" '
 +
    alias sd28='export D28=`pwd`; echo "Set variable D28 to `pwd`" '
 +
    alias sd29='export D29=`pwd`; echo "Set variable D29 to `pwd`" '
 +
    alias sd30='export D30=`pwd`; echo "Set variable D30 to `pwd`" '
 +
 +
#    echo "- TEST - setting alias SD31 . . ."
 +
    alias sd31='echo "Doh, thirty one bookmarks not supported!"'
 +
 +
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
## 1024  cd foo; echo $?
 +
## 1025  cd foo; echo $?; if (( $? && 1 )); then echo "dir not found!"; else echo "now at $PWD"; fi
 +
## 1026  cd foo; if (( $? && 1 )); then echo "dir not found!"; else echo "now at $PWD"; fi
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
 +
## 2018-07-13 - added by Ted for improved notices when selected dir not found:
 +
alias announce_new_dir='if (( $? && 1 )); then echo "- ${SCRIPT_NAME_ABBR} - dir not found!"; else echo "now at $PWD"; fi'
 +
 +
# navigation to bookmarked directories 1 through 10:
 +
 +
#    alias gd1='cd $D1; echo "Now at $D1" '
 +
    alias gd1='cd $D1; if (( $? && 1 )); then echo "- ${SCRIPT_NAME_ABBR} - dir not found!"; else echo "now at $PWD"; fi'
 +
    alias gd2='cd $D2; announce_new_dir'
 +
    alias gd3='cd $D3; announce_new_dir'
 +
    alias gd4='cd $D4; announce_new_dir'
 +
    alias gd5='cd $D5; announce_new_dir'
 +
 +
    alias gd6='cd $D6; announce_new_dir'
 +
    alias gd7='cd $D7; announce_new_dir'
 +
    alias gd8='cd $D8; announce_new_dir'
 +
    alias gd9='cd $D9; announce_new_dir'
 +
    alias gd10='cd $D10; announce_new_dir'
 +
 +
# navigation to bookmarked directories 11 through 20:
 +
 +
    alias gd11='cd $D11; announce_new_dir'
 +
    alias gd12='cd $D12; announce_new_dir'
 +
    alias gd13='cd $D13; announce_new_dir'
 +
    alias gd14='cd $D14; announce_new_dir'
 +
    alias gd15='cd $D15; announce_new_dir'
 +
 +
    alias gd16='cd $D16; announce_new_dir'
 +
    alias gd17='cd $D17; announce_new_dir'
 +
    alias gd18='cd $D18; announce_new_dir'
 +
    alias gd19='cd $D19; announce_new_dir'
 +
    alias gd20='cd $D20; announce_new_dir'
 +
 +
# navigation to bookmarked directories 21 through 30:
 +
 +
    alias gd21='cd $D21; announce_new_dir'
 +
    alias gd22='cd $D22; announce_new_dir'
 +
    alias gd23='cd $D23; announce_new_dir'
 +
    alias gd24='cd $D24; announce_new_dir'
 +
    alias gd25='cd $D25; announce_new_dir'
 +
 +
    alias gd26='cd $D26; announce_new_dir'
 +
    alias gd27='cd $D27; if (( $? && 1 )); then echo "- ${SCRIPT_NAME_ABBR} - dir not found!"; else echo "now at $PWD"; fi'
 +
    alias gd28='cd $D28; announce_new_dir'
 +
    alias gd29='cd $D29; announce_new_dir'
 +
    alias gd30='cd $D30; announce_new_dir'
 +
 +
 +
 +
 +
 +
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
##  Banner message at end of alias 's' . . .
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
 +
alias s='\
 +
echo
 +
echo "Bookmarked paths in bookmarks group ${bookmarks_group_id} are:"
 +
echo
 +
\
 +
echo "variable D1 points to $D1";\
 +
echo variable D2 points to $D2; echo variable D3 points to $D3; echo variable D4 points to $D4; echo variable D5 points to $D5; echo variable D6 points to $D6; echo variable D7 points to $D7; echo variable D8 points to $D8; echo variable D9 points to $D9; echo variable D10 points to $D10;\
 +
\
 +
echo " - - - - -";\
 +
\
 +
echo variable D11 points to $D11; echo variable D12 points to $D12; echo variable D13 points to $D13; echo variable D14 points to $D14; echo variable D15 points to $D15; echo variable D16 points to $D16; echo variable D17 points to $D17; echo variable D18 points to $D18; echo variable D19 points to $D19; echo variable D20 points to $D20;\
 +
\
 +
echo " - - - - -";\
 +
\
 +
echo "variable D21 points to $D21";\
 +
echo "variable D22 points to $D22";\
 +
echo "variable D23 points to $D23";\
 +
echo "variable D24 points to $D24";\
 +
echo "variable D25 points to $D25";\
 +
\
 +
echo "variable D26 points to $D26";\
 +
echo "variable D27 points to $D27";\
 +
echo "variable D28 points to $D28";\
 +
echo "variable D29 points to $D29";\
 +
echo "variable D30 points to $D30";\
 +
\
 +
echo; \
 +
echo EDITOR is set to: $EDITOR;\
 +
echo "see file dot-bashrc-amendments.sh, typically in home directory of present user,";\
 +
echo "for implementation of directory bookmarks and D1..D30 variables - TMH";\
 +
echo "this shell script written by Ted Havelka and licensed under GNU Public License, 2005 - 2017";\
 +
\
 +
echo'
 +
 +
##------------------------------------------------------------------------------
 +
 +
 +
 +
 +
 +
alias sp='bookmarked_path[0]="zztop";
 +
  bookmarked_path[1]=$D1;    bookmarked_path[2]=$D2;    bookmarked_path[3]=$D3;    bookmarked_path[4]=$D4;    bookmarked_path[5]=$D5;
 +
  bookmarked_path[6]=$D6;    bookmarked_path[7]=$D7;    bookmarked_path[8]=$D8;    bookmarked_path[9]=$D9;  bookmarked_path[10]=$D10;
 +
 +
  bookmarked_path[11]=$D11;  bookmarked_path[12]=$D12;  bookmarked_path[13]=$D13;  bookmarked_path[14]=$D14;  bookmarked_path[15]=$D15;
 +
  bookmarked_path[16]=$D16;  bookmarked_path[17]=$D17;  bookmarked_path[18]=$D18;  bookmarked_path[19]=$D19;  bookmarked_path[20]=$D20;
 +
 +
  bookmarked_path[21]=$D21;  bookmarked_path[22]=$D22;  bookmarked_path[23]=$D23;  bookmarked_path[24]=$D24;  bookmarked_path[25]=$D25;
 +
  bookmarked_path[26]=$D26;  bookmarked_path[27]=$D27;  bookmarked_path[28]=$D28;  bookmarked_path[29]=$D29;  bookmarked_path[30]=$D30;
 +
 +
## 2017-12-14 THU:
 +
  echo "about to save bookmarked paths using old script code in alias,"
 +
  echo "in this code \$filename holds '$filename',"
 +
  echo "to local file $filename saving bookmarked directories:";
 +
  echo -n > $filename;
 +
  for index in 0  1 2 3 4 5 6 7 8 9 10  11 12 13 14 15 16 17 18 19 20  21 22 23 24 25 26 27 28 29 30; do
 +
      echo "saving bookmarked path $index = ${bookmarked_path[$index]}";
 +
      echo ${bookmarked_path[$index]} >> $filename;
 +
  done'
 +
 +
 +
 +
# alias clearpaths='\
 +
# echo "Clearing bookmarked paths in present shell . . ." \
 +
# echo "Note:  bookmarked paths in bookmarks group ${bookmarks_group_id} still stored in ${filename}" \
 +
# export D1=""; export D2=""; export D3=""; export D4=""; export D5=""; \
 +
# export D6=""; export D7=""; export D8=""; export D9=""; export D10=""; \
 +
# \
 +
# export D11=""; export D12=""; export D13=""; export D14=""; export D15=""; \
 +
# export D16=""; export D17=""; export D18=""; export D19=""; export D20=""; \
 +
# \
 +
# export D21=""; export D22=""; export D23=""; export D24=""; export D25=""; \
 +
# export D26=""; export D27=""; export D28=""; export D29=""; export D30="";'
 +
 +
 +
## 2017-12-14 - unexpected new behavior observed when backslash characters
 +
##  appear in alias defining statement above, removing those:
 +
 +
alias clearpaths='
 +
echo "Clearing bookmarked paths in present shell . . ."
 +
echo "Note:  bookmarked paths in bookmarks group ${bookmarks_group_id} still stored in ${filename}"
 +
echo "use \`lp${bookmarks_group_id}\` to reload those bookmarked paths."
 +
export D1=""; export D2=""; export D3=""; export D4=""; export D5=""; \
 +
export D6=""; export D7=""; export D8=""; export D9=""; export D10=""; \
 +
\
 +
export D11=""; export D12=""; export D13=""; export D14=""; export D15=""; \
 +
export D16=""; export D17=""; export D18=""; export D19=""; export D20=""; \
 +
\
 +
export D21=""; export D22=""; export D23=""; export D24=""; export D25=""; \
 +
export D26=""; export D27=""; export D28=""; export D29=""; export D30="";'
 +
 +
 +
 +
# 2017-12-02 - NEED TO ADDRESS INTENT AND ACTION OF load-paths:
 +
# This alias likely doesn't work as intended, to load one set
 +
# of bookmarked paths over others . . .    - TMH
 +
 +
alias load-paths=' \
 +
export D1=${bookmarked_path[1]}; \
 +
export D2=${bookmarked_path[2]}; \
 +
export D3=${bookmarked_path[3]}; \
 +
export D4=${bookmarked_path[4]}; \
 +
export D5=${bookmarked_path[5]}; \
 +
export D6=${bookmarked_path[6]}; \
 +
export D7=${bookmarked_path[7]}; \
 +
export D8=${bookmarked_path[8]}; \
 +
export D9=${bookmarked_path[9]}; \
 +
export D10=${bookmarked_path[10]}; \
 +
\
 +
export D11=${bookmarked_path[11]}; \
 +
export D12=${bookmarked_path[12]}; \
 +
export D13=${bookmarked_path[13]}; \
 +
export D14=${bookmarked_path[14]}; \
 +
export D15=${bookmarked_path[15]}; \
 +
export D16=${bookmarked_path[16]}; \
 +
export D17=${bookmarked_path[17]}; \
 +
export D18=${bookmarked_path[18]}; \
 +
export D19=${bookmarked_path[19]}; \
 +
export D20=${bookmarked_path[20]}; \
 +
\
 +
export D21=${bookmarked_path[21]}; \
 +
export D22=${bookmarked_path[22]}; \
 +
export D23=${bookmarked_path[23]}; \
 +
export D24=${bookmarked_path[24]}; \
 +
export D25=${bookmarked_path[25]}; \
 +
export D26=${bookmarked_path[26]}; \
 +
export D27=${bookmarked_path[27]}; \
 +
export D28=${bookmarked_path[28]}; \
 +
export D29=${bookmarked_path[29]}; \
 +
export D30=${bookmarked_path[30]}; \
 +
echo "Loaded user-saved paths:"; s'
 +
 +
 +
# Aliases to load different groups of bookmarked paths:
 +
 +
    alias lp1='. ${HOME}/dot-bashrc-amendments.sh 1'
 +
    alias lp2='. ${HOME}/dot-bashrc-amendments.sh 2'
 +
    alias lp3='. ${HOME}/dot-bashrc-amendments.sh 3'
 +
    alias lp4='. ${HOME}/dot-bashrc-amendments.sh 4'
 +
    alias lp5='. ${HOME}/dot-bashrc-amendments.sh 5'
 +
 +
    alias lp6='. ${HOME}/dot-bashrc-amendments.sh 6'
 +
    alias lp7='. ${HOME}/dot-bashrc-amendments.sh 7'
 +
    alias lp8='. ${HOME}/dot-bashrc-amendments.sh 8'
 +
    alias lp9='. ${HOME}/dot-bashrc-amendments.sh 9'
 +
    alias lp10='. ${HOME}/dot-bashrc-amendments.sh 10'
 +
 +
 +
# 2017-12-14 - Alias 'show non-empty bookmarks' added by Ted:
 +
 +
    alias sne='
 +
echo
 +
echo "Showing non-empty bookmarks in bookmarks group ${bookmarks_group_id}:"
 +
echo
 +
bookmarked_path[1]=$D1;    bookmarked_path[2]=$D2;    bookmarked_path[3]=$D3;    bookmarked_path[4]=$D4;    bookmarked_path[5]=$D5;
 +
bookmarked_path[6]=$D6;    bookmarked_path[7]=$D7;    bookmarked_path[8]=$D8;    bookmarked_path[9]=$D9;  bookmarked_path[10]=$D10;
 +
 +
bookmarked_path[11]=$D11;  bookmarked_path[12]=$D12;  bookmarked_path[13]=$D13;  bookmarked_path[14]=$D14;  bookmarked_path[15]=$D15;
 +
bookmarked_path[16]=$D16;  bookmarked_path[17]=$D17;  bookmarked_path[18]=$D18;  bookmarked_path[19]=$D19;  bookmarked_path[20]=$D20;
 +
 +
bookmarked_path[21]=$D21;  bookmarked_path[22]=$D22;  bookmarked_path[23]=$D23;  bookmarked_path[24]=$D24;  bookmarked_path[25]=$D25;
 +
bookmarked_path[26]=$D26;  bookmarked_path[27]=$D27;  bookmarked_path[28]=$D28;  bookmarked_path[29]=$D29;  bookmarked_path[30]=$D30;
 +
 +
for index in 1 2 3 4 5 6 7 8 9 10  11 12 13 14 15 16 17 18 19 20  21 22 23 24 25 26 27 28 29 30; do
 +
 +
    if [ -z ${bookmarked_path[$index]} ]; then
 +
        echo "bookmarked_path[$index] not set," >> /dev/null
 +
    else
 +
        echo "\$D${index} set to ${bookmarked_path[$index]},"
 +
    fi
 +
done
 +
echo
 +
echo "Note:  dot-bash-amendments script supports thirty (30) bookmarked paths per bookmarks group."
 +
echo'
 +
 +
} # end function set_aliases_for_bookmarking()
 +
 +
 +
 +
 +
function read_bookmarks_runtime_config()
 +
{
 +
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
## VARS BEGIN
 +
 +
    local rname="read_bookmarks_runtime_config"
 +
 +
    local line="DEFAULT_LINE_TO_BE_READ_FROM_FILE"
 +
 +
    local bookmarks_group_id=""
 +
 +
## VARS END
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
   
 +
 +
 +
#    echo "* * * SCRIPT FUNCTION ${rname}() IMPLEMENTATION UNDERWAY * * *"
 +
 +
    filename=${HOME}/${DIRECTORY_OF_BOOKMARKS_FILES}/${FILENAME_OF_BOOKMARKS_RUNTIME_CONFIGURATION}
 +
 +
    if [ -e ${filename} ]; then
 +
        # read bookmarked paths runtime config file . . .
 +
#        echo "${rname}:  reading directory bookmarks runtime configuration file ${filename},"
 +
#        cat ${filename}
 +
 +
        read -r line < ${filename}
 +
#        echo "line 1 holds:  ${line}"
 +
 +
    else
 +
        touch ${filename}
 +
        if [ -e ${filename} ]; then
 +
            echo "1" >> ${filename}
 +
        else
 +
            echo "${SCRIPT_NAME}:  - WARNING - unable to open and unable to create runtime config file!"
 +
            echo "${SCRIPT_NAME}:  - will start with bookmarks group set to 1,"
 +
            echo "${SCRIPT_NAME}:  - presently bookmarks groups 1 through 9 supported."
 +
        fi
 +
    fi
 +
 +
    echo ${line}
 +
## 2017-12-14 - Commented echo statement and variable for later time when
 +
##  this script able to parse several settings from rc file:
 +
#    echo ${bookmarks_group_id}
 +
 +
} # end function read_bookmarks_runtime_config()
 +
 +
 +
 +
 +
function write_bookmarks_runtime_config()
 +
{
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
##  2017-12-14 - Script contributor Ted noting that this function to
 +
##  write the bookmarks run-time config file is nearly identical to
 +
##  the function to read this same file.  Wondering if there's an
 +
##  elegant way to combine the two functions?  - TMH
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
 +
    echo "* * * Script function write_bookmarks_runtime_config() implementation underway * * *"
 +
    echo "called with bookmarks group identifier '${1}',"
 +
 +
    filename=${HOME}/${DIRECTORY_OF_BOOKMARKS_FILES}/${FILENAME_OF_BOOKMARKS_RUNTIME_CONFIGURATION}
 +
 +
    if [ -e ${filename} ]; then
 +
        # write one value bookmarked paths runtime config file, overwriting all data in this file:
 +
        echo "${SCRIPT_NAME}:  writing directory bookmarks runtime configuration file . . ."
 +
        echo ${1} > ${filename}
 +
    else
 +
        touch ${filename}
 +
        if [ -e ${filename} ]; then
 +
            echo ${1} > ${filename}
 +
        else
 +
            echo "${SCRIPT_NAME}:  - WARNING - unable to open and unable to create runtime config file!"
 +
            echo "${SCRIPT_NAME}:  - will start with bookmarks group set to 1,"
 +
            echo "${SCRIPT_NAME}:  - presently bookmarks groups 1 through 9 supported."
 +
        fi
 +
    fi
 +
}
 +
 +
 +
 +
 +
 +
function read_bookmarks_file()
 +
{
 +
 +
#    echo "*** Routine 'read_bookmarks_file' development in progress, ***"
 +
#    echo "first two arguments from caller are '$1' and '$2',"
 +
#    echo "variable \${SED} holds '${SED}',"
 +
 +
    local bookmarked_paths_group=${2}
 +
 +
REGEX="[1-9]"
 +
#    if [[ ${bookmarked_paths_group} =~ [1-5] ]] ; then
 +
    if [[ ${bookmarked_paths_group} =~ ${REGEX} ]] ; then
 +
        echo "caller requests valid bookmarks file identified by '${2}', which is in the range ${BOOKMARKS_GROUPS_SUPPORTED}"
 +
    else
 +
        echo "- NOTE - caller requests unsupported or unknown bookmarks file identified by '${2}',"
 +
        echo "- NOTE - defaulting to read bookmarked directories in bookmarks group 1,"
 +
        bookmarked_paths_group=1
 +
    fi
 +
 +
##    bookmarks_filename=$(echo ${FILENAME_FORM_OF_BOOKMARKED_PATHS} | ${SED} s/nn/0${2}/)
 +
    bookmarks_filename=$(echo ${FILENAME_FORM_OF_BOOKMARKED_PATHS} | ${SED} s/nn/0${bookmarked_paths_group}/)
 +
 +
    echo "will read bookmarks from file named ${bookmarks_filename},"
 +
 +
## * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 +
##  NOTE - had trouble getting these export statements to fly . . .
 +
##
 +
##  Ahh finally makes sense now 2017 DEC, these export statements
 +
##  don't express explicit variable names.  That is, bash must see
 +
##  a shell script declared array element as something other than a
 +
##  valid variable name:                                        - TMH
 +
## * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 +
 +
# export ${bookmarked_path[0]}
 +
# export ${bookmarked_path[1]}
 +
# export ${bookmarked_path[2]}
 +
# export ${bookmarked_path[3]}
 +
# export ${bookmarked_path[4]}
 +
# export ${bookmarked_path[5]}
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  STEP:  retrieve saved paths from previous user session
 +
##----------------------------------------------------------------------
 +
 +
# filename="${HOME}/.bash_paths_saved"
 +
# filename="${HOME}/bookmarked-paths.txt"  . . . commmented 2017-12-02 SAT
 +
filename=${HOME}/${DIRECTORY_OF_BOOKMARKS_FILES}/${bookmarks_filename}
 +
 +
## 2017-02-09 THU - To be added, support for storing and perusing multiple directory bookmarks files:
 +
filename__list_of_bookmark_files="${HOME}/bookmarked-path-files.txt"
 +
 +
 +
 +
# REFERENCE:  http://tldp.org/LDP/abs/html/arrays.html
 +
 +
declare -a bookmarked_path=()
 +
 +
 +
 +
if [ -e ${filename} ]; then
 +
    bookmarked_path=( $(cat "$filename") )  #  Stores contents of this script
 +
                                    #+ ($bash_settings_local) in an array.
 +
else
 +
#    echo "$O:  no local bash settings file named ${bash_settings_file} found," > /dev/null
 +
    echo "${SCRIPT_NAME}:  - WARNING - direcory bookmarks file named ${filename} not found!"
 +
    echo "${SCRIPT_NAME}:  - not able to read in bookmarked directories from this file,"
 +
    echo "${SCRIPT_NAME}:  - but creating to hold paths going forward . . ."
 +
    touch ${filename}
 +
    return
 +
fi
 +
 +
 +
    if [ ]; then
 +
        echo ""
 +
        echo "- DIAG START -"
 +
        echo "after reading bookmarks file,"
 +
        echo "\${bookmarked_path[1]} holds '${bookmarked_path[1]}'"
 +
        echo "\${bookmarked_path[2]} holds '${bookmarked_path[2]}'"
 +
        echo "\${bookmarked_path[3]} holds '${bookmarked_path[3]}'"
 +
        echo "- DIAG END -"
 +
        echo ""
 +
    fi
 +
 +
 +
# 2006-11-27
 +
# Prior to storing user-saved paths in a local file, path
 +
# variables were assigned zero-length strings and exported like this:
 +
#
 +
# export D1=""
 +
#
 +
# Now these variables are exported the same way but assigned
 +
# differently . . .
 +
 +
# echo "reading saved paths from file, skipping first place-holder token '${bookmarked_path[0]}' . . ."
 +
 +
    export D1=${bookmarked_path[1]}
 +
    export D2=${bookmarked_path[2]}
 +
    export D3=${bookmarked_path[3]}
 +
    export D4=${bookmarked_path[4]}
 +
    export D5=${bookmarked_path[5]}
 +
 +
    export D6=${bookmarked_path[6]}
 +
    export D7=${bookmarked_path[7]}
 +
    export D8=${bookmarked_path[8]}
 +
    export D9=${bookmarked_path[9]}
 +
    export D10=${bookmarked_path[10]}
 +
 +
    export D11=${bookmarked_path[11]}
 +
    export D12=${bookmarked_path[12]}
 +
    export D13=${bookmarked_path[13]}
 +
    export D14=${bookmarked_path[14]}
 +
    export D15=${bookmarked_path[15]}
 +
 +
    export D16=${bookmarked_path[16]}
 +
    export D17=${bookmarked_path[17]}
 +
    export D18=${bookmarked_path[18]}
 +
    export D19=${bookmarked_path[19]}
 +
    export D20=${bookmarked_path[20]}
 +
 +
    export D21=${bookmarked_path[21]}
 +
    export D22=${bookmarked_path[22]}
 +
    export D23=${bookmarked_path[23]}
 +
    export D24=${bookmarked_path[24]}
 +
    export D25=${bookmarked_path[25]}
 +
 +
    export D26=${bookmarked_path[26]}
 +
    export D27=${bookmarked_path[27]}
 +
    export D28=${bookmarked_path[28]}
 +
    export D29=${bookmarked_path[29]}
 +
    export D30=${bookmarked_path[30]}
 +
 +
 +
    if [ ]; then
 +
        echo ""
 +
        echo "- DIAG START -"
 +
        echo "after exporting \$D1..\$D30,"
 +
        echo "\$D1 holds '$D1',"
 +
        echo "\$D2 holds '$D2',"
 +
        echo "\$D3 holds '$D3',"
 +
        echo "- DIAG END -"
 +
        echo ""
 +
    fi
 +
 +
 +
} # end function read_bookmarks_file()
 +
 +
 +
 +
 +
function clear_paths_function()
 +
{
 +
 +
#    echo "clear_paths_function:  clearing bookmarked paths in current shell, setting \$D1..\$D30 to '',"
  
 +
    export D1=""; export D2=""; export D3=""; export D4=""; export D5="";
 +
    export D6=""; export D7=""; export D8=""; export D9=""; export D10="";
 +
 +
    export D11=""; export D12=""; export D13=""; export D14=""; export D15="";
 +
    export D16=""; export D17=""; export D18=""; export D19=""; export D20="";
 +
 +
    export D21=""; export D22=""; export D23=""; export D24=""; export D25="";
 +
    export D26=""; export D27=""; export D28=""; export D29=""; export D30="";
 +
 +
}
 +
 +
 +
 +
 +
function amend_path_var_with_windows_paths()
 +
{
 +
##----------------------------------------------------------------------
 +
## 2021-05-21 FRI - This shell function added to dot-bashrc-amendments.sh
 +
##  to factor PATH envirnment variables amendments which add
 +
##  Windows 10 paths contaning spaces.
 +
##----------------------------------------------------------------------
 +
 +
# 2021-04-13 - added for Windows 10, ARM toolchain use:
 +
        PATH=/c/Users/thavelka/bin/arm-gcc/8-2019-q3-update/bin:"${PATH}"
 +
        PATH=/c/Users/thavelka/bin/arm-gcc/8-2019-q3-update/arm-none-eabi/bin:"${PATH}"
 +
 +
## 2021-05-12 - added for Windows 10, Python 2.7.16 (Ted needs this to precede Python 3.9.5 path in envvar):
 +
#        PATH=/c/Python27:"${PATH}"
 +
 +
# 2021-04-15 - added for Windows 10, OpenOCD:
 +
        PATH=/c/Users/thavelka/bin/OpenOCD-20210407-0.10.0/bin:"${PATH}"
 +
 +
# 2021-05-11 - added for Windows 10, Nordic nRF command line tools namely mergehex:
 +
        PATH="c:\Program Files\Nordic Semiconductor\nrf-command-line-tools\bin":"${PATH}"
 +
 +
# 2021-05-21 - added for Oracle VirtualBox utilities:
 +
PATH="C:\Program Files\Oracle\VirtualBox":"${PATH}"
 +
 +
# 2018-01-19 - add a pattern to the path to avoid multple path variable
 +
#  amendments per shell session:
 +
        PATH="${PATH}:$DBM_WATERMARK"
 +
 +
}
 +
 +
 +
 +
function amend_path_variable()
 +
{
 +
##----------------------------------------------------------------------
 +
##  PURPOSE:  amend user's $PATH environment variable
 +
##
 +
##  NEED:  to add logic so that for a given shell session, when this
 +
##  script called a second or successive time it does not amend the
 +
##  $PATH variable with duplicate paths.  Need a test . . .  - TMH
 +
##
 +
##----------------------------------------------------------------------
 +
 +
    string=`echo $PATH | grep $DBM_WATERMARK`
 +
 +
    if [ -z "$string" ]
 +
    then
 +
        path_as_found=${PATH}
 +
 +
# Amending the default path variable:
 +
 +
#        PATH="/usr/bin:${PATH}"
 +
        PATH="${PATH}":/sbin
 +
        PATH="${PATH}":/usr/sbin
 +
        PATH="${PATH}":/opt/bin
 +
        PATH="${PATH}":/opt/cross/bin
 +
        PATH="${PATH}":/opt/nxp/lpcxpresso-8p2p2/lpcxpresso/tools/bin
 +
        PATH="${PATH}":/opt/nxp/lpcxpresso-8p2p2/lpcxpresso
 +
        PATH="${PATH}":/opt/cross/x-tools/arm-unknown-linux-gnueabi/bin
 +
#        PATH="${PATH}":.
 +
        PATH="${PATH}":${HOME}/bin
 +
        PATH="${PATH}":/usr/local/mysql/bin
 +
        PATH="${PATH}":/usr/lib/xscreensaver
 +
        PATH="${PATH}":/etc/init.d
 +
 +
# 2014-01-24 . . .
 +
        PATH="${PATH}":/var/opt/sam-ba_cdc_cdc_linux
 +
 +
# 2017-12-04 . . .
 +
        PATH="${PATH}":~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
 +
 +
 +
# 2021-05-21 - call to new shell function to factor Windows path amendments
 +
#  into that separate function:
 +
    amend_path_var_with_windows_paths
 +
 +
 +
 +
# 2018-01-19 - add a pattern to the path to avoid multple path variable
 +
#  amendments per shell session:
 +
        PATH="${PATH}:$DBM_WATERMARK"
 +
 +
    else
 +
        echo "\$PATH variable already amended, directory book-marker leaving untouched."
 +
    fi
 +
 +
}
 +
 +
 +
 +
function restore_path_variable_to_as_found()
 +
{
 +
    PATH=$path_as_found
 +
}
 +
 +
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##
 +
##  SECTION - main-line code of dot-bash-amendments.sh
 +
##
 +
##----------------------------------------------------------------------
 +
 +
echo "starting,"
 +
 +
## Following test fails when script passed an argument, should succeed . . .
 +
#if [[ "$ARGC" -eq "1" ]]; then
 +
#    echo "called with first argument set to '$1',"
 +
#fi
 +
 +
## Following test succeeds:
 +
if [[ "$#" -eq "1" ]]; then
 +
    echo "called with first argument set to '$1',"
 +
#    echo "calling 'read directory bookmarks file' with no arguments . . ."
 +
#    read_bookmarks_file
 +
fi
 +
 +
 +
 +
## Note:  single brackets in the following test work, double brackets
 +
##  seem to evaulate differently, may be because we're using a shell
 +
##  file test . . .
 +
 +
bookmarks_dir="${HOME}/${DIRECTORY_OF_BOOKMARKS_FILES}"
 +
 +
# echo "- DEV - constructed bookmarked paths directory which holds '$bookmarks_dir',"
 +
## 2017-12-03 - DISCOVERY:  hey why does bash 'file exists' test return true when
 +
## +  the argument to the file test is a zero-length string?  Or undefined variable?
 +
## +  Does Mendel Cooper's guide explain this behavior?  There was a type
 +
## +  just below with 'bookmarks_dir' spelled 'booksmarks_dir' . . .  - TMH
 +
 +
if [ -e ${bookmarks_dir} ]; then
 +
#    echo "found directory '${bookmarks_dir}' for bookmarked path files, not creating this directory."
 +
    echo "found directory '${bookmarks_dir}' for bookmarked path files, not creating this directory." > /dev/null
 +
else
 +
#    echo "creating directory ${bookmarks_dir} . . ."
 +
    mkdir -pv ${bookmarks_dir}
 +
fi
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  STEP:  set shell aliases . . . moved to two functions of this script
 +
##----------------------------------------------------------------------
 +
 +
    set_aliases
 +
 +
    set_aliases_for_bookmarking
 +
 +
#    echo "- DIAG BEGIN - calling builtin shell command 'alias' to check aliases just set:"
 +
#    alias
 +
#    echo "- DIAG END -"
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  STEP - read file holding bookmarked paths
 +
##----------------------------------------------------------------------
 +
 +
#    echo "- DIAG BEGIN - calling function (not alias) to clear any directory bookmarks . . ."
 +
    clear_paths_function
 +
#    echo "- DIAG END - \$D1 holds '$D1'"
 +
 +
##  *  https://stackoverflow.com/questions/806906/how-do-i-test-if-a-variable-is-a-number-in-bash
 +
 +
    re='^[0-9]+$'
 +
    if [[ $1 =~ $re ]]; then
 +
        if [ "$#" -gt 0 ]; then
 +
            bookmarks_group_id=${1}
 +
        else
 +
            bookmarks_group_id=1
 +
        fi
 +
    fi
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  STEP - check for valid bookmarks group identifier, should be
 +
##  an integer value between 1 and 9 for now, 2017 December:
 +
##----------------------------------------------------------------------
 +
 +
bookmarked_paths_group_in_script_main_line=${1}
 +
 +
if [[ ${bookmarked_paths_group_in_script_main_line} =~ [1-9] ]] ; then
 +
    echo "script called with bookmarks group number ${bookmarked_paths_group_in_script_main_line}, in range ${BOOKMARKS_GROUPS_SUPPORTED}"
 +
    echo "which we support as of 2017 December."
 +
    write_bookmarks_runtime_config ${bookmarked_paths_group_in_script_main_line}
 +
else
 +
    if [ -z ${bookmarked_paths_group_in_script_main_line} ]; then
 +
#        echo "setting bookmarks group to default value of 1, first group of bookmarks among ${BOOKMARKS_GROUPS_SUPPORTED}"
 +
#        bookmarked_paths_group_in_script_main_line=1
 +
 +
        echo "script called without bookmarked paths group specified,"
 +
        echo "looking for last-used bookmarks group in dot-bash-amendments run-time config file . . ."
 +
        bookmarks_group_id=$(read_bookmarks_runtime_config)
 +
        echo "- DEV - from rc file read bookmarks group id '${bookmarks_group_id}',"
 +
    else
 +
        echo "- NOTE - script called with unsupported bookmarks group id,"
 +
        echo "- NOTE - id we got is '${bookmarked_paths_group_in_script_main_line}',"
 +
        echo "- NOTE - setting bookmarks group to default value of 1, first group of bookmarks among ${BOOKMARKS_GROUPS_SUPPORTED}"
 +
        bookmarked_paths_group_in_script_main_line=1
 +
    fi
 +
fi
 +
 +
 +
# echo "calling bash amendments function to read run-time config file . . ."
 +
# read_bookmarks_runtime_config
 +
 +
echo "calling 'read directory bookmarks file' with arguments '$0 ${bookmarks_group_id}' . . ."
 +
read_bookmarks_file $0 ${bookmarks_group_id}
 +
 +
 +
 +
 +
## See http://tldp.org/LDP/abs/html/testconstructs.html, example script 7-1:
 +
 +
if [ ]; then
 +
    echo ""
 +
    echo "- DIAG START in main-line code of script -"
 +
    echo "back from call to read_bookmarks_file() which exports \$D1..\$D30,"
 +
    echo "\$D1 holds '$D1',"
 +
    echo "\$D2 holds '$D2',"
 +
    echo "\$D3 holds '$D3',"
 +
    echo "- DIAG END in main-line code of script -"
 +
    echo ""
 +
fi
 +
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  STEP - amend environment variables
 +
##----------------------------------------------------------------------
 +
 +
#
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
##  NOTE - path environment variable amendments, mostly for
 +
##  work on Debian and Ubuntu Linux based systems
 +
##
 +
##  NOTE - when $PATH variable includes present working directory, e.g.
 +
##  "." then buildroot 2.x complains and bails during project
 +
##  compilation.  For smooth buildroot project builds, keep the
 +
##  current working directory commented out.  Safer to run programs
 +
##  in cwd using ./[program_name] syntax anyway . . .  - TMH
 +
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 +
#
 +
 +
# Amending the default path variable:
 +
 +
    if [ "$1" == "restore-path-variable" ]; then
 +
echo "- dbm - RESTORING PATH VARIABLE . . ."
 +
        restore_path_variable_to_as_found
 +
    else
 +
        amend_path_variable
 +
    fi
 +
 +
 +
# Concurrent Versions System (CVS) variables:
 +
 +
    CVSROOT="/home/fulano/cvs"
 +
    CVS_RSH=""
 +
#    export EDITOR=/usr/bin/vim . . . commented out 2012-01-25 - TMH
 +
    export EDITOR=/usr/bin/vi
 +
    HISTSIZE=1000
 +
    HISTFILESIZE=1000
 +
 +
# Variables as shortcuts:
 +
 +
    archive=${HOME}/archive
 +
 +
# Enable tsocks transparent proxy service by setting this environment
 +
# variable:
 +
 +
## Note - needed back in 2004, 2005 for to enable proxy server
 +
##  settings . . .
 +
 +
#    export LD_PRELOAD=/lib/libtsocks.so.1.8
 +
#    export LD_PRELOAD=/usr/lib/libtsocks.so.1.8
 +
 +
 +
 +
##----------------------------------------------------------------------
 +
##  2014-02-19 - added by Ted . . .
 +
##
 +
##  STEP - cross compile variables to export
 +
##
 +
##  reference http://www.x.org/wiki/CrossCompilingXorg/
 +
##----------------------------------------------------------------------
 +
 +
# export CROSS_COMPILE=arm-none-linux-gnueabi-
 +
export CROSS_COMPILE=arm-unknown-linux-gnueabi-
 +
 +
export SESSION_MANAGER=lightdm
 +
 +
 +
# . ~/.bookmarked-paths/set-proxies.sh
 +
 +
 +
echo "done."
 +
 +
 +
 +
# EOF ( end of file )
 +
 +
 +
-->
 +
 +
=== [[#top|^]] ssh-agent start-up script for gitbash ===
 +
2020-10-30 Friday, amendment to bashrc amendments script to better configure ssh-agent in gitbash environment:
 +
<pre>
 +
# 2020-10-30 FRI - work to configure ssh-agent per gitbash session:
 +
 +
LOCAL_VAR_SSH_AGENT_RUNNING_PROCESS_COUNT=$(ps -u $USERNAME | grep agent | wc | awk '{print $1}')
 +
LOCAL_VAR_SSH_AGENT_VARS_FILENAME="z--ssh-agent-env-vars.txt"
 +
 +
echo "Checking for ssh-agent daemon process:"
 +
 +
if [ $LOCAL_VAR_SSH_AGENT_RUNNING_PROCESS_COUNT -ne 0 ]; then
 +
    echo "Found one or more ssh-agent processes running,"
 +
    if [ -e $LOCAL_VAR_SSH_AGENT_VARS_FILENAME ]; then
 +
        echo "Reading env variables relating to earliest started ssh-agent instance..."
 +
        var1=$(cat $LOCAL_VAR_SSH_AGENT_VARS_FILENAME | sed -n '2p')
 +
        var2=$(cat $LOCAL_VAR_SSH_AGENT_VARS_FILENAME | sed -n '4p')
 +
        echo "exporting $var1 to SSH_AGENT_PID env var..."
 +
        export SSH_AGENT_PID=$var1
 +
        echo "exporting $var2 to SSH_AUTH_SOCK env var..."
 +
        export SSH_AUTH_SOCK=$var2
 +
    else
 +
        echo "but no locally written environment vars found!"
 +
    fi
 +
else
 +
    echo "none found, starting..."
 +
    eval $(/usr/bin/ssh-agent -s)
 +
    /usr/bin/ssh-add $HOME/.ssh/ssh_private_key_for_gitlab
 +
    var3=$(set | grep SSH_AGENT_PID | cut -d'=' -f 2)
 +
    var4=$(set | grep SSH_AUTH_SOCK | cut -d'=' -f 2)
 +
    echo "var3 holds $var3"
 +
    echo "var4 holds $var4"
 +
    echo "Writing these variables to file for future Gitbash shell instances to read..."
 +
    echo $var3 > $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
 +
    echo $var3 >> $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
 +
    echo $var4 >> $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
 +
    echo $var4 >> $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
 +
fi
 +
 +
 +
echo "done."
 +
 +
 +
 +
# EOF ( end of file )
 +
 +
</pre>
 +
 +
Separate page created for [[ssh_agent_bashrc_amendment|refined version of ssh-agent checking script]].
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] shell arrays and array implementation ===
 +
 +
Classic Unix/*nix shell command interpreters are not designed to provide full or detailed mathematical operations support.  Variables tend to be weakly typed and treated as strings, but Bourne Again SHell or bash has some basic math facilities.  This in turn lends support to some limited, kind of clunky array syntax.  But this array facility in one or more versions of Unix based shell can be better than no array support.  Some references:
 +
 +
*  https://www.geeksforgeeks.org/array-basics-shell-scripting-set-1/
 +
*  https://tldp.org/
 +
  *  https://tldp.org/LDP/abs/html/arrays.html
 +
 +
Also may be worth looking at example 11-14, second shell script which omits 'do' and 'done' keywords in shell FOR-loop construct:
 +
  *  https://tldp.org/LDP/abs/html/loops1.html
 +
. . . there may be syntax here which allows for more sane, flexible array element assignments.
  
 
<!-- comment -->
 
<!-- comment -->
  
== Shell scripting ==
+
== [[#top|^]] C pointers and dereference rules ==
  
* [http://www.tldp.org/LDP/abs/html/index.html Advanced Bash Shell Scripting Guide]
+
* https://wiki.neelanurseries.com/index.php/User:Ted#.5E_C_programming_notes
  
 +
<!-- comment -->
 +
 +
== [[#top|^]] Windows User Applications ==
 +
 +
*  https://www.microsoft.com/en-us/p/vlc/9nblggh4vvnh
 +
  
  
 
<!-- comment -->
 
<!-- comment -->
  
== How To Use Git ==
+
== [[#top|^]] How To Use Git ==
 +
 
 +
<br />
 +
- 2017-12-04 - Hey Ted moving Git notes to a separate article.  Not a lot of notes but anticipating need to write down more detailed git-related stuff.  Ted's git notes on Neela wiki will be here at [[git_notes|Git notes]] article.
 +
 
 +
 
 +
Wanting to understand and use <code>git</code> better, here are some on-line references to <code>git</code> version control.  Also, Ted searching for a <code>git</code> reference posted by a female author, can't remember name but reference well-written with lots of commands and concise explanations of each command.  First URL reference may be that page, now 2017-10-02 not sure of the author's name . . .
 +
 
 +
 
 +
Basic git commands:
 +
 
 +
*  [https://orga.cat/posts/most-useful-git-commands Most useful git commands - Orga.cat]
 +
*  [http://mherman.org/blog/2013/10/11/basic-git-commands/#.WdFVqp5Lfok Basic git commands by Micheal Herman]
 +
 
 +
 
 +
Git references found while answering specific git task questions:
  
 
*  [http://kbroman.org/github_tutorial/pages/init.html Create new git repository by Karl Broman]
 
*  [http://kbroman.org/github_tutorial/pages/init.html Create new git repository by Karl Broman]
 
*  [https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ Add existing project to Github]
 
*  [https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ Add existing project to Github]
 
*  [https://help.github.com/articles/renaming-a-file-using-the-command-line/ rename a file under Git version control]
 
*  [https://help.github.com/articles/renaming-a-file-using-the-command-line/ rename a file under Git version control]
 +
*  [https://git-scm.com/docs/git-diff git-diff]
 +
 +
Markdown and .md file formatting at Github
 +
 +
*  [https://guides.github.com/features/mastering-markdown/ Mastering markdown]
 +
 +
 +
Git and Working with Remote Repositories
 +
 +
*  [https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes git-scm dot com - book, English, version 2, "Working with Remotes"]
  
  
Line 44: Line 2,230:
 
<!-- comment -->
 
<!-- comment -->
  
== Drupal Content Management ==
+
== [[#top|^]] Drupal Content Management ==
  
 
*  [https://www.drupal.org/node/1576420 Introduction to Drupal Web Content Management Framework]
 
*  [https://www.drupal.org/node/1576420 Introduction to Drupal Web Content Management Framework]
Line 119: Line 2,305:
 
<!-- comment -->
 
<!-- comment -->
  
== Composer, a dependency manager of PHP ==
+
== [[#top|^]] JProgramming ==
 +
 
 +
<font color="white">.<br /></font>
 +
C and C++
 +
 
 +
<!-- Yes, Ted using the <ul> tag pairs in a bastardized way here;  dont' yet know how to include custom overriding CSS to Mediawiki pages . . . -->
 +
<ul>
 +
Programming and GNU Compiler Toolchain
 +
<ul>
 +
<li> http://gcc.gnu.org/onlinedocs/cpp/Concatenation.html . . . GNU C preprocessor and macro syntax<br />
 +
</ul>
 +
 
 +
Memory management, stack and heap
 +
<ul>
 +
<li> https://www.gribblelab.org/CBootCamp/7_Memory_Stack_vs_Heap.html<br />
 +
</ul>
 +
</ul>
 +
 
 +
 
 +
Java Programming and Android App Development . . .
 +
 
 +
<ul>
 +
<li> http://www.vogella.com/tutorials/designpattern.html<br />
 +
</ul>
 +
 
 +
 
 +
 
 +
<!-- comment -->
 +
 
 +
== [[#top|^]] Composer, a dependency manager of PHP ==
  
 
*  [https://getcomposer.org/doc/00-intro.md#globally How to install composer globally]
 
*  [https://getcomposer.org/doc/00-intro.md#globally How to install composer globally]
Line 128: Line 2,343:
 
<!-- comment -->
 
<!-- comment -->
  
== Geography and Science ==
+
== [[#top|^]] Geography and Science ==
  
 
*  [https://en.wikipedia.org/wiki/Sri_Lanka Sri Lanka]
 
*  [https://en.wikipedia.org/wiki/Sri_Lanka Sri Lanka]
 
*  [https://eclipse.gsfc.nasa.gov/solar.html NASA eclipse page]
 
*  [https://eclipse.gsfc.nasa.gov/solar.html NASA eclipse page]
 
*  [http://www.solar-eclipse.de/en/eclipse/country/ZA/ Eclipses to come to South Africa, beyond 2017]
 
*  [http://www.solar-eclipse.de/en/eclipse/country/ZA/ Eclipses to come to South Africa, beyond 2017]
 +
 +
*  [http://wildfiretoday.com/2017/09/06/eagle-creek-fire-burns-structures-and-forces-evacuations-along-the-columbia-river-gorge/ Eagle Creek fire perimeter]
 +
*  [https://gacc.nifc.gov/nwcc/information/firemap.aspx NWCC]
 +
 +
*  [http://www.xeri.com/Moapa/wf-hr-foreword.htm Washingtonia filifera in Moapa and American southwest]
 +
 +
*  Mountain trail in Madeira, Portugal
 +
Beyond the biodiverse forests on the outer edges of Madeira Island, the land rises, reminding hikers that this Portuguese island is the tip of a shield volcano. Trails allow passage up into these higher elevations, including paths created from the island’s old (and still functioning) aqueduct system. Some of the decommissioned channels, called levadas, have been repurposed as hiking trails.
 +
 +
2023
 +
<ul>
 +
*  https://en.wikipedia.org/wiki/James_Webb_Space_Telescope_sunshield
 +
</ul>
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Mathematica ==
 +
 +
The irrational number e:
 +
 +
*  https://en.wikipedia.org/wiki/Category:E_(mathematical_constant)
 +
*  https://en.wikipedia.org/wiki/Proof_that_e_is_irrational
 +
 +
 +
Recommended calculus and algebra notes at Paul's Online Notes:
 +
<ul>
 +
*  https://tutorial.math.lamar.edu/Classes/CalcI/TypesOfInfinity.aspx
 +
</ul>
 +
 +
*  https://en.wikipedia.org/wiki/Cyclic_redundancy_check
 +
*  [https://en.wikipedia.org/wiki/TWINKLE Integer factorization device TWINKLE by Adi Shamir, of RSA developer trio]
 +
*  [https://en.wikipedia.org/wiki/TWIRL TWIRL factorization device, short article at Wikipedia]
 +
*  [https://en.wikipedia.org/wiki/General_number_field_sieve General Number Field Sieve]
 +
*  [https://en.wikipedia.org/wiki/Heuristic Heuristic way explained]
 +
*  [https://en.wikipedia.org/wiki/L-notation L-notation, to express computational complexity of algorithms]
 +
*  [https://en.wikipedia.org/wiki/Discrete_logarithm discrete logarithms]
 +
 +
Applied math . . .
 +
 +
*  https://owlcation.com/stem/Everything-About-Triangles-and-More-Isosceles-Equilateral-Scalene-Pythagoras-Sine-and-Cosine
 +
 +
Fractal geometry and math . . .
 +
 +
*  http://mathworld.wolfram.com/StrangeAttractor.html
 +
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Technology ==
 +
 +
Tech related references and notes moved to [[Tecnologia|NN Technology page]].
 +
 +
<!-- SECTION -  -->
 +
 +
== [[#top|^]] Music and Culture ==
 +
 +
Musica . . .
 +
*  [https://en.wikipedia.org/wiki/A._R._Rahman A R Rhaman - cantante, compositor y mas]
 +
**  [https://en.wikipedia.org/wiki/Leitmotif leitmotif defined - a short musical phrase . . .]
 +
*  [http://mukhtarlyallpuri.blogspot.com/2014/02/mann-chandre-nu-best-of-r-rahman.html liricos de Mann Chandra]
 +
*  [https://amansharma.wordpress.com/2009/01/25/an-unusual-review-mann-chandre/ liricos y revista de Mann Chandra por Aman Sharma]
 +
 +
*  [https://en.wikipedia.org/wiki/Nazia_Hassan Nazia Hassan singer, lawyer, activist 2018-04-03 Google doodle]
 +
**  [https://www.telegraphindia.com/1100214/jsp/7days/story_12103803.jsp article on East Indian composer, writer, musician Biddu]
 +
 +
 +
*  [http://www.johnmartyn.com/lyrics/sunshines-better/ John Martyn Sunshine's Better ] . . . from [https://www.djriver.com/the-red-room DJ River "Red Room"] remix of 2006
 +
 +
*  [https://www.gramophone.co.uk/feature/vaughan-williams-the-lark-ascending-which-recording-is-best Ralph Vaughan - Williams Lark Ascending
 +
 +
=== [[#top|^]] Ralph Vaughan Williams . . . ===
 +
<ul>
 +
*  https://www.youtube.com/watch?v=5y7nJL1hpUU Tallis Fantasia
 +
*  https://www.youtube.com/watch?v=ZR2JlDnT2l8 Lark Ascending
 +
*  https://www.youtube.com/watch?v=OLhpkvQLDt0 Lark Ascending
 +
*  https://www.youtube.com/watch?v=f4NMf2PO_mQ Lark Ascending  . . . 2018-10-06 not available
 +
*  https://www.youtube.com/watch?v=2XT9KLu86EE Lark Ascending, Janine Jansen
 +
  *  https://www.youtube.com/watch?v=b5yPdAjzihY Lark Ascending, Janine Jansen, lesser video resolution
 +
 +
2019-06-11
 +
*  https://www.youtube.com/watch?v=igm8TPhqwE0
 +
 +
*  https://www.youtube.com/watch?v=VEbyyqyKtM0  . . . Tchaikovsky's violin concerto live 2013
 +
 +
*  https://www.youtube.com/watch?v=0Uv4lJsu0Jw Symphony No 2 - 14:10 Lento, ..., 24:50 Sherzo (Nocturne)
 +
*  https://www.youtube.com/watch?v=-KF2Kb6pIaE Symphony No 3 - Pastoral
 +
 +
*  https://www.youtube.com/watch?v=LlZuR_KQa2g Symphony No 8
 +
*  Symphony No 3, Pastoral
 +
*  Sinfonia Antartica Sheila
 +
*  Oboe concerto in A minor
 +
</ul>
 +
 +
Claude Debussy . . .
 +
<ul>
 +
*  https://www.youtube.com/watch?v=OUx6ZY60uiI
 +
</ul>
 +
 +
 +
=== [[#top|^]]  Sinfonias ===
 +
<ul>
 +
*  https://www.youtube.com/watch?v=HClX2s8A9IE Dvoraks New World Symphony
 +
*  https://en.wikipedia.org/wiki/Scheherazade_(Rimsky-Korsakov)
 +
**  https://www.youtube.com/watch?v=SQNymNaTr-Y Sheherazade / Gergiev · Vienna Philharmonic · Salzburg Festival 2005
 +
**  https://www.youtube.com/watch?v=zY4w4_W30aQ Sheherazade op.35 - Leif Segerstam - Sinfónica de Galicia
 +
**  https://www.youtube.com/watch?v=h5ani0v758g Sheherazade op.35 - Conductor Gustavo Dudamel, Caracas Venezuela
 +
**  https://www.youtube.com/watch?v=17lEx0ytE_0 Sheherazade . . .
 +
**  https://www.youtube.com/watch?v=KOEX-8GhicU The Best of Nikolai Rimsky-Korsakov
 +
</ul>
 +
 +
2018-08-20
 +
<ul>
 +
*  https://www.youtube.com/watch?v=HClX2s8A9IE  . . . Dvorak's 'New World' Symphony
 +
 +
*  https://www.youtube.com/watch?v=2ckqOukGKK8  . . . Tchaikovsky Synfonia No 35, Alena Baeve solo violin
 +
</ul>
 +
 +
=== [[#top|^]] Harry Potter ===
 +
<ul>
 +
*  https://www.youtube.com/watch?v=AaMqnYvzE2Q  . . . Harry Potter Medley
 +
*  https://www.youtube.com/watch?v=kvdmqXcwSw0
 +
*  https://www.youtube.com/watch?v=pDst9A3sqis  . . . Harry Potter shorter clips, named songs
 +
<ul>
 +
1:02:00 <i>"My Love Is Always Here"</i>, 1:05:00, 1:09:00 <i>casting spell of oblivion</i>, 1:15:45, 1:18:55 <i>Severus and Lily</i>, 1:23:10 <i>The Sirius Deception</i>
 +
</ul>
 +
*  https://www.youtube.com/watch?v=Xpo5Ztlywfg
 +
<ul>
 +
31:10 <i>Dumbledore's Army,</i> 34:30 <i>The Ministry of Magic,</i> 35:35 <i>Fireworks,</i> 40:30 <i>When Ginny Kisses Harry,</i> 49:40 <i>Farewell to Dobby</i>
 +
</ul>
 +
*  https://www.youtube.com/watch?v=jATVgJ_grys  . . . Harry Potter ambient mix, con la lluvia fuera de escuela de Hogwart
 +
 +
*  https://www.youtube.com/watch?v=8ADnMJyNH-Q  . . . <s>Harry Potter and The Order of the Phoenix</s> <i>2019-09-06 unavailable!</i>
 +
</ul>
 +
 +
 +
<ul>
 +
*  <s>https://www.youtube.com/watch?v=_qTpwZn_56A</s>  . . . Fantastic Beasts And Where To Find Them -- 2019-07-23 No longer available!
 +
<ul>
 +
17:10 -- 3/4 count composition, energia alta, 33:00, 58:00 la tema 3/4 brevemente
 +
</ul>
 +
<ul>
 +
*  https://www.youtube.com/watch?v=kvdmqXcwSw0&index=10&list=RD_SBQvd6vY9s . . . in this URL not sure what HTTP GET items represent
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=r73nozwZ2Bg&index=12&list=RD_SBQvd6vY9s . . . Harry Potter, calm ambient 1:02:12 - Christmas music 44:03,
 +
<ul>
 +
45:00,
 +
</ul>
 +
*  https://www.youtube.com/watch?v=iLPhgWs_zKE
 +
*  https://www.youtube.com/watch?v=jDSSSa_TU18  . . . Harry Potter 6 "The Halfblood Prince"
 +
*  https://www.youtube.com/watch?v=trvpd-HJ4pU  . . . Ten Favorite Soundtracks de HP, por aficianada Leeloo
 +
</ul>
 +
 +
2020-05-04 Monday . . .
 +
<ul>
 +
https://www.youtube.com/watch?v=xRAce8GTx_8
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Lord Of The Rings ===
 +
 +
 +
*  https://www.youtube.com/watch?v=ybZINoDv8I8  . . . <i>Lord Of The Rings - private video as of 2020-05-20</i>
 +
**  http://www.elvish.org/gwaith/pdf/NewLOTRSymphonyTranslation.pdf
 +
*  https://www.youtube.com/watch?v=OJk_1C7oRZg  . . . Lord Of The Rings - ~00:11:00, 00:15:00, ... 1:55:55
 +
<ul>
 +
<ul>
 +
&nbsp;00:11:23  Rivendell <br />
 +
&nbsp;00:14:40  Rohan, 15:10 . . . <br />
 +
&nbsp;00:24:05  mourning for Gandalf <br />
 +
~00:30:00  elf song, <br />
 +
~00:42:00  <i>"But in dreams I can hear your name"</i> <br />
 +
</ul>
 +
</ul>
 +
*  https://www.youtube.com/watch?v=tyic00pDGGo  . . . The Hobbit, full soundtrack
 +
*  https://www.youtube.com/watch?v=_SBQvd6vY9s  . . . Lord Of The Rings, 18 20 19 tracks and titles.
 +
<ul>
 +
28:16 - 31:20 . . . Many Meetings<br />
 +
31:21 - 35:15 . . . The Counsel of Elrond<br />
 +
~35:20 -  . . . The Ring Goes South<br />
 +
 +
1:34:40 . . . Evenstar<br />
 +
1:38:40    -- The White Rider --<br />
 +
2:47:55 . . . Twilight and Shadow<br />
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=Gz8LFEf1MUQ
 +
 +
*  https://www.youtube.com/watch?v=3bY0XO0vuZA  . . . <i>"You will find that the world has changed forever . . . Trees are now turning from green to gold . . . I wish I could hold you so"</i>
 +
 +
*  https://www.youtube.com/watch?v=YwS4qgZQO-A
 +
 +
 +
*  https://www.youtube.com/watch?v=lVvIXmrDs4c  . . . Best of the Lord of the Rings soundtrack
 +
 +
2019-10-16 Wednesday:
 +
<ul>
 +
*  https://www.youtube.com/watch?v=y52hxqjT4RE
 +
*  https://www.youtube.com/watch?v=ldEM3h93Mfg  . . . <i>"In the dark I hear a call, I will go there, and back again"</i>
 +
</ul>
 +
 +
2019-11-06 Wednesday:
 +
<ul>
 +
*  https://www.youtube.com/watch?v=lVvIXmrDs4c&list=RDy52hxqjT4RE&index=5
 +
 +
*  https://www.youtube.com/watch?v=EbmBgeK14-k&list=RDy52hxqjT4RE&index=6
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] edit point - LOTR, the Hobbit, Narnia ===
 +
 +
*  https://www.youtube.com/watch?v=8JLNn5-zXMg&index=6&list=RD_SBQvd6vY9s  . . . LOTR complete soundtrack, length 09:50:02
 +
<ul>
 +
~1:20:00 Counsel of Elrond, ~1:30:00, ~2:23:15 flauta breve y canto por los duendes, ~2:48:00, ~2:54:00 "May It Be", ~2:57:30 "And In Dreams", 3:51:15 ..., 4:35:00, ~5:31:30
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=q8ir8rVl2Z4
 +
 +
*  https://www.youtube.com/watch?v=JV_PfGcPewY  . . . The Hobbit ambient sound track
 +
 +
2020-09-03
 +
*  https://www.youtube.com/watch?v=Or2QHt7BEgI  Moria | Lord Of The Rings Music and Ambience
 +
 +
 +
=== [[#top|^]] Narnia ===
 +
 +
*  https://www.youtube.com/watch?v=6wTJenOQaBo  . . . Narnia music, relaxing
 +
 +
 +
=== [[#top|^]] Elder Scrolls ===
 +
 +
*  https://www.youtube.com/watch?v=xULTMMgwLuo  . . . The Elder Scrolls III - Morrowind
 +
<ul>
 +
*  https://en.wikipedia.org/wiki/The_Elder_Scrolls_III:_Morrowind
 +
</ul>
 +
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=4ceowgHn8BE  RPG Playlist - Peaceful music
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=Xuxita687Ww  . . . Tribute to composer John Williams  - 11:45 SW, 17:00, 36:30, 43:08 JKR, 46:30, 58:00, 1:00:20, 1:05:00, 1:07:50, 1:09:43 timbales, 1:20:00 JKR, 1:27:00
 +
*  <s>https://www.youtube.com/watch?v=Zu3M1XoM2rw  . . . 33:55 LOTR</s> 2020-05-08 not available
 +
 +
*  https://www.youtube.com/watch?v=94IGuku0v1k  Anoushka Shankar - homenaje al Yehudi Med'
 +
*  https://www.youtube.com/watch?v=EHwMD4WwGzo  Pandit Anindo Chatterjee and Shri Anubrata Chatterjee tabla duet
 +
*  https://www.youtube.com/watch?v=Xx1lX50uBCo  Ustad Tafo Khan 1:30:00 tabla solo
 +
 +
 +
*  https://www.youtube.com/watch?v=k6zCLs1_LnI  Star Wars, performed by Danish orchestra
 +
 +
 +
=== [[#top|^]]  Ciudades y Lugares ===
 +
 +
*  Connemara Ireland
 +
 +
*  Cordillera Paine mountains, Chile
 +
 +
*  [https://www.google.com/search?q=802+area+code&ie=utf-8&oe=utf-8 Vermont and 802 area code]
 +
<!-- # 2017-12-04 - --><ul><ul><font size="2">Vermont cities:  Burlington, Montpelier, South Burlington, Essex, Middlebury</font></ul></ul>
 +
 +
=== [[#top|^]] edit point ===
 +
 +
*  https://www.youtube.com/watch?v=_fuIMye31Gw  . . . piano music with moving panning paintings
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Hans Zimmer ===
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=hL-BvWLPseE  . . . Hans Zimmer / Shea / Klebe - Planet Earth II soundtrack (vea 21:27 composicion de tabla, tambien 33:30, y 38:15)
 +
*  https://www.youtube.com/watch?v=apUConPW_K0  . . . Hans Zimmer best soundtracks
 +
*  https://www.youtube.com/watch?v=h3bve7T-phg  . . . short documentary, making of Planet Earth symphony
 +
 +
*  https://www.youtube.com/watch?v=gYdq1a6O9Pg  . . . Interstellar OST - Organ Variation
 +
</ul>
 +
 +
Similar:
 +
<ul>
 +
*  https://www.youtube.com/watch?v=WiEDvIlndEs
 +
 +
*  https://www.youtube.com/watch?v=h9WudJDkeBI  . . . Jeremy Soule (Oblivion) -- King and Country
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
Symphonies and compositions to explore . . . see also [[canciones_y_titulos|songs and song titles]] nn wiki article.
 +
<pre>
 +
11:03 am - Friday, June 1st, 2018
 +
Tragic Overture, Opus 81
 +
Brahms, Johannes
 +
London Philharmonic Orchestra
 +
Marin Alsop
 +
NAXOS 8.557428
 +
</pre>
 +
 +
Mas sinfonias . . .
 +
<ul>
 +
*  https://www.youtube.com/watch?v=_RyLq5Pbw8M  . . . best of Mussorgsky
 +
</ul>
 +
 +
<pre>
 +
8:02 am - Monday, July 23rd, 2018
 +
Ein Walzertraum (Waltz Dream)
 +
Straus, Oscar
 +
Cincinnati Pops Orchestra
 +
Erich Kunzel
 +
Telarc 80547
 +
 +
 +
7:50 am - Monday, July 23rd, 2018
 +
Oboe Concerto in C, RV 450
 +
Vivaldi, Antonio
 +
Albrecht Mayer, oboe
 +
I Musici di Roma
 +
DG 002713602
 +
 +
 +
2018-11-26 Monday . . .
 +
 +
5:23 pm - Monday, November 26th, 2018
 +
Five Bagatelles, Opus 47
 +
Dvorak, Antonin
 +
Quartetto Gelato
 +
Linus 270055
 +
 +
 +
8:07 pm - Wednesday, November 28th, 2018
 +
Norfolk Rhapsody No. 1
 +
Vaughan Williams, Ralph
 +
New Philharmonia Orchestra
 +
Adrian Boult
 +
EMI 64022
 +
 +
 +
 +
 +
4:15 pm - Wednesday, December 5th, 2018
 +
Oberon Overture
 +
Weber, Carl Maria Von
 +
Philharmonia Orchestra
 +
Neeme Järvi
 +
Chandos 9066
 +
 +
 +
 +
2018-12-06 Thursday . . .
 +
 +
11:18 am - Thursday, December 6th, 2018
 +
Violin Concerto in a minor, Opus 82
 +
Glazunov, Alexander
 +
Chloë Hanslip, violin
 +
Swiss Italian Orchestra
 +
Alexander Vedernikov
 +
Hyperion 67940
 +
 +
</pre>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Felix Mendelssohn y otros ===
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=o1dBg__wsuo
 +
*  https://www.youtube.com/watch?v=0Cg_0jepxow
 +
 +
*  Fantasy on Russian Themes (arr. Kreisler)
 +
 +
<pre>
 +
7:18 am - Tuesday, December 18th, 2018
 +
Fantasy on Russian Themes (arr. Kreisler)
 +
Rimsky-Korsakov, Nikolai
 +
Itzhak Perlman, violin
 +
Abbey Road Ensemble
 +
Lawrence Foster
 +
EMI 55475
 +
</pre>
 +
 +
*  https://www.youtube.com/watch?v=ywA_BsFvYxY
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Ragas ===
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=2kpn3nRNQ3c    Hariprasad Chaurasia, raga Maduvanti
 +
*  https://www.youtube.com/watch?v=p-ijCe1xRWQ    Ravi Shankar 1974
 +
*  https://www.youtube.com/watch?v=en4PBZ1Wzno
 +
*  https://www.youtube.com/watch?v=TaQKy-gTHtM    Pandit Hariprasad Chaurasia "The Last Word In Flute"
 +
*  https://www.youtube.com/watch?v=lIQrUZLyATo    Ravi y Anoushka Shankar
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Chill  ===
 +
 +
Chill and ambient music mixes, several by Blume:
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=XWGXimIJhGg . . . Work in Peace, chill mix -- eschucha a 17:10, ~37:30
 +
 +
*  https://www.youtube.com/watch?v=mgd9qMPoZGQ . . . Always Work | beautiful chill mix
 +
 +
*  https://www.youtube.com/watch?v=tNkZsRW7h2c . . . space ambient music, live 24/7
 +
 +
*  https://www.youtube.com/watch?v=2fqKmt8LZjE . . . Work In Peace | beautiful chill mix <i>(night time lake scene)</i> ~0:20:00, ~0:24:00, ~0:35:00, ~1:08:00
 +
<ul>
 +
*  5 de n - 00:16:32 Promethex "The Beacon"
 +
*  6 de n - 00:22:52 Braak "Maaloey"
 +
*  7 de 17 - 00:26:16 Antarctic Wastelands "Into Silence"
 +
*  9 de 17 - 00:32:54 Evocativ "Separated"
 +
*  15 de 17 - 00:56:49 Sublab "My Heart Stops, When I See You"
 +
*  16 de 17 - 01:03:44 AK "Reaching For The Clouds"
 +
*  17 de 17 - 01:07:37 Delectatio "1994" +++
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=Es4oajtfp_o . . . Work In Peace +++  ~0:18:15, ..., ~0:48:00
 +
 +
*  https://www.youtube.com/watch?v=E055GXcXPSQ . . . Mountains beautiful chill mix . . . ~0:28:00, ~0:47:00
 +
 +
=== [[#top|^]] Chill edit point ===
 +
*  https://www.youtube.com/watch?v=vi7rNAlL-IQ . . . For Your Mind | Beautiful Chill Mix por Blume
 +
<ul>
 +
* ~00:10:00 - 3 de n, Lexis "Brot" +++
 +
*  00:13:17 - 4 de n, Caduceus "The Reason" +++
 +
*  00:17:43 - 5 de n, Stay "Forest Day"
 +
* ~00:38:19 - SORA "Birdy"
 +
* ~00:50:00 <i>parecido a tema de 'Intersteller'</i>
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=mOvW1z7PGP4 . . . Infinity | beautiful ambient mix  0:09:40, ~0:24:00, ~0:59:00
 +
 +
*  https://www.youtube.com/watch?v=MgApT3VHtZY  . . . After The Rain -- ~0:47:00, 1:46:00
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] The Tale of the Broken Bird ===
 +
En esta compilacion tambien Swoof "Waves":
 +
 +
*  https://www.youtube.com/watch?v=n0svuurLibQ  . . . Infinite Ambient Mix - #WeAreAmbient<br />
 +
Lyrics for song <i>The Tale of the Broken Bird</i> are at [https://www.musixmatch.com/lyrics/Groundfold/The-Tale-of-the-Broken-Bird www.musixmatch.com].
 +
<ul>
 +
*  00 00 00 - 4 de 23, Groundfold "The Tale of a Broken Bird"
 +
*  00:29:43 - 7 de 23, A-GON "Her Smile"
 +
*  00:31:43 - 8 de 23, Swoof "Waves" +++
 +
*  ~00:45:00 - n de 23, Borne "Still Thinking About Things" +++
 +
*  14 de 23, Dominik Landahl "Nivalis"
 +
*  01:20:52 - 18 de 23, Tony Anderson "Immanuel"
 +
</ul>
 +
*  https://www.youtube.com/watch?v=3gPmhmSnZl0  . . . A Piece Of Calm | Beautiful Chill Mix, por Blume
 +
<ul>
 +
* ~0:10:00,
 +
</ul>
 +
</ul>
 +
 +
2020-06-09
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=b-b9Y_h6X7I  . . . Awakening Of A Dream ambient mix - Zenstep "Helo",
 +
</ul>
 +
 +
2020-06-17
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=dTW2MxfqVLI  . . . Blissful Solitude ambient mix
 +
<ul>
 +
+++ 00:42:18 NumberNin6 "Saltwater"
 +
</ul>
 +
 +
=== [[#top|^]] Glide ===
 +
 +
*  https://www.youtube.com/watch?v=yNFiNR0DpgI  . . . Glide | Chill Mix
 +
<ul>
 +
*  3 de 15  Vaeros "Exemption"
 +
*  4 de 15  The Ambientalist "Missing You"
 +
*  6 de 15  Vonnboyd "Mursa"
 +
*  11 de 15  Daminika "The Colors Of The Evening"
 +
*  13 de 15  subknoT "Vision"
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=G0_m9njOATc  . . . Lantern | Chill Mix -- 2 de 15 'MARION, Nostalgia', 5 de 15 'Nomyn : Horizon',
 +
 +
*  https://www.youtube.com/watch?v=990-kB-604A  . . . Skywalker Ambient Mix
 +
<ul>
 +
*  +++ 2 de 43 Ed Carlsen "Otto" <i>Steve Gibbs remix</i>
 +
*  7 de 43 Mvnners : Camden
 +
*  11 de 43 'Wezi Mkandawire : Oh The Wonder'
 +
*  19 de 43 'Borrtex : Snowflake'
 +
*  20 de 43 'Dexter Britain : Sleep Walker'
 +
*  24 de 43 'Sylvester G. Faustmann : Engage' part of Harry Potter score?
 +
*  29 de 43 "Flame Shapes : Beginnings"
 +
*  34 de 43 "Jameson Nathan Jones : "Fallen feat. Hannah Sumner",
 +
</ul>
 +
</ul>
 +
 +
<!-- comment -->
 +
 +
==== [[#top|^]] Singles ====
 +
<ul>
 +
*  https://www.youtube.com/watch?v=2ltqHGf4594  Southern Tier "The Words We Lost"  04:00
 +
<ul>
 +
*  https://www.youtube.com/watch?v=iWj68PlHYm8  Southern Tier "The Words We Lost"  ~06:00
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=WxFasHE0WQs  "Fallen"
 +
*  https://www.youtube.com/watch?v=MhmhLNUIZuc  Rise - Snowfall Remix +++
 +
*  https://www.youtube.com/watch?v=kSThrKGn9EU  Tony Anderson "Ember - Sascha Kirschtein mix"
 +
*  https://www.youtube.com/watch?v=IFgaI_htdZA  Jameson Nathan Jones
 +
*  https://www.youtube.com/watch?v=AfsloRIkxDE  Tymelapse "We Became Strangers"
 +
*  https://www.youtube.com/watch?v=2vfGTmNznzk  Miracle, dura 10:17
 +
*  https://www.youtube.com/watch?v=8f8MqYYk_yQ  Cosmos  . . . photo de la luna
 +
*  https://www.youtube.com/watch?v=Rig-Dt7khK0  Tony Anderson "Immanuel", also at https://www.youtube.com/watch?v=PIhIc_ehSdU
 +
 +
*  https://www.youtube.com/watch?v=4DVVGwRqB_0  Grandyzer "Bleed" <i>present in first 'Word In Peace' ambient mix.</i>
 +
 +
*  https://www.youtube.com/watch?v=nlcJwMCrX44  Oleg "Submissive"
 +
</ul>
 +
 +
2020-09-17 Thursday . . .
 +
<ul>
 +
*  https://www.youtube.com/watch?v=wP_p-ODn5rk  A-Gon "Her Smile"
 +
 +
 +
</ul>
 +
 +
<!-- comment -->
 +
 +
==== [[#top|^]] Compilations ====
 +
<ul>
 +
*  https://www.youtube.com/watch?v=GhtwQ3u5nJc  Lost In Thought | Chill Mix -- 00:34:00 Cotchi "Transendence",
 +
*  https://www.youtube.com/watch?v=iceS6BvhuQ8  ~00:21:00,
 +
*  https://www.youtube.com/watch?v=vtIporOiouE  Escape... chill mix
 +
<ul>
 +
*  00:13:45 Spheria "Serena"
 +
*  +++ 00:19:26 David Chapdelaine "Courage Theme" reprise
 +
*  +++ 00:29:29 Borrtex "Snowflake"
 +
*  +++ 00:37:59 Grandyzer "Hunter In The Snow"
 +
*  +++ 00:47:39 Trasler "Play Child"
 +
</ul>
 +
*  https://www.youtube.com/watch?v=XOln3pnzSIc  So Calm And Peace Here
 +
*  https://www.youtube.com/watch?v=3dah63MFoL4  Traveling ...<i>Through the Pines</i>, 00:55:20 Cerah "And She Was Beautiful",
 +
*  https://www.youtube.com/watch?v=DbnjO85lusM  Dreaming In Rain | Chill Mix, por Blume
 +
<ul>
 +
*  00:18:69 5 de 16 - Jellis "Reverence"
 +
* 00:00:00 9 de 16 - Grandyzer "Mantra"
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=4GnVDPD01as  Four hours ambient music, Aerial Nature Scenes
 +
 +
*  https://www.youtube.com/watch?v=mSbLQIGDLe8  Into The Light - Chill Mix
 +
<ul>
 +
*  2 de n - Colin McAllister "Seven Eighths"
 +
*  00:13:13 5 de n - Nomyn "Horizon"
 +
*  00:16:52 6 de n - Shah "Embrace"
 +
</ul>
 +
 +
2020-07-28 Tuesday
 +
*  # https://www.youtube.com/watch?v=YUIgPRQNjEA
 +
<ul>
 +
*  2 de n - Miro "The Garden Of Escapism (AK Remix)"
 +
*  6 de n - 00:26:37 Faodail "Plumeria"
 +
</ul>
 +
</ul>
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=oucOO3tp3BU  Grandyzer "Best Collection. Chill Mix" -- <i>Mantra 'Tell Me Now . . .'</i>
 +
 +
*  https://www.youtube.com/watch?v=lE9CPxDGNSU  Castle | Beautiful Chill Mix -- 2 de x - Cplin McAllister "Seven Eigths", 7 de x - Vaeros "Broken Drops",
 +
 +
*  https://www.youtube.com/watch?v=efi9ORBIEjM  4 de x - N u a g e s "Aware"
 +
 +
*  https://www.youtube.com/watch?v=CDkuaw0Pld8  Lonely Night | Chill Mix por Blume -- 12 de x Fabbro "Calling Heaven"
 +
 +
*  https://www.youtube.com/watch?v=iMW3dnQEgrU  I Want To See Your Eyes | Chill Vibes, por Blume
 +
<ul>
 +
*  00:22:04 7 de n - Michael Harris "Departure"
 +
</ul>
 +
</ul>
 +
 +
=== [[#top|^]] edit point ===
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=vHVDinNqz40  Together In The Rain | Beautiful Chill Mix, por Blume
 +
<ul>
 +
*  00:39:47 9 de n - Faodail "Peter" +++
 +
*  01:00:00 14 de 17 - Engvall "Akecheta" +++
 +
</ul>
 +
*  https://www.youtube.com/watch?v=5f3UP-Q49Xg  Something Beautiful | Chill Mix, por Blume
 +
<ul>
 +
*  00:16:30 - Cerah "The Part Where She Stopped"
 +
</ul>
 +
*  https://www.youtube.com/watch?v=dWkAJ-Dj3fY  Wind | Beautiful Chill Mix, por Blume
 +
<ul>
 +
*  5 de n - Faodail "Northbound"
 +
*  7 de n - Daminika "Beyond The Stars"
 +
*  11 de n - 4lienetic "Faint"
 +
</ul>
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=zKIfRRjj_w0  Life In Heaven | Chill Mix, por Blume
 +
<ul>
 +
6 de n "Here. Now"
 +
 +
 +
=== [[#top|^]] Forgotten Dreams compilacion ===
 +
 +
2020-09-17
 +
*  https://www.youtube.com/watch?v=f9qavey27Kc  Forgotten Dreams Mix - SheepyMixes . . .
 +
~00:03:20  Deep Focus "Don't Wake Up" +++
 +
~00:06:12  Above and Beyond "Tristate" 5vel remix +++
 +
~00:09:22  Dido and A R Rahman "If I Rise" Enigma Dubz Remix +++
 +
~00:13:26  Tolerance  +++
 +
~00:16:05  Boards of Canada "Olson" +++
 +
&nbsp;
 +
  00:32:40  "Liberta"
 +
&nbsp;
 +
~01:01:00  +++ <i></i>
 +
 +
 +
*  [https://www.edmsauce.com/2012/09/17/rameses-b-forgotten-dreams-chill-mixtape/ Forgotten Dreams track list]
 +
<pre>
 +
Tracklist:
 +
Essáy & Stumbleine – Rhiannon
 +
Deep Focus – Don't Wake Up (140 Edit)  +++
 +
Above & Beyond – Tri-State (5vel Remix)  +++
 +
Dido & A.R. Rahman – If I Rise (Enigma Dubz Remix) +++
 +
Tolerance – Dejection +++
 +
Boards Of Canada – Olson (Wrm Remix)
 +
Rameses B – Memoirs (Fracx Remix)
 +
Ed Sheeran – The A Team (KOAN Sound Remix)
 +
Mojo – Garden Walls
 +
Blackmill – Evil Beauty
 +
Loz Contreras – Liberta
 +
Rameses B – North
 +
Lisa Miskovksy – Still Alive (Mt Eden Remix)
 +
Imogen Heap – Headlock (Paper Tigers Remix)
 +
Imogen Heap – Hide & Seek (Enigma Dubz Remix)
 +
William Fitzsimmons – The Tide Pulls From The Moon (JacM Remix)
 +
Barcelona – Please Don't Go (Greg Cooke Remix)
 +
Phaeleh – Afterglow feat. Soundmouse (Akira Kiteshi Remix)
 +
Mario M – EvaC
 +
Phaeleh – Changes feat. Soundmouse
 +
New Look – The Ballad (GZUS Come Out Of The Dark Mix)
 +
Ollie Macfarlane – Shadows
 +
Submerse – Belong
 +
Late – Losing You
 +
Ghosts Of Paraguay – Piano Piece
 +
Kaiori Breathe & Tripwire – I'd Give Anything
 +
Hammock – I Can Almost See You
 +
</pre>
 +
 +
 +
01:01:15 - Changes feat. Soundmouse +++
 +
 +
=== Fluidified, Oleg Byonic chill mixes ===
 +
<ul>
 +
*  https://www.youtube.com/watch?v=T-wzhyTUCYc  Oleg Byonic, Anna Mekheles - Distant
 +
*  https://www.youtube.com/watch?v=TDcJJYY5sms  <i>(Image of lavender fields and sunset)</i>
 +
 +
*  https://www.youtube.com/watch?v=p_TkwNLJn68  Above and Beyond - "Oceanlab Sirens Of The Sea"
 +
 +
*  https://www.youtube.com/watch?v=slpk2rW4e0I  Chillout Music For Outdoor Activities
 +
 +
*  https://www.youtube.com/watch?v=cJ-rucOMuM4  Dreams | Beautiful Chill Music Mix +++
 +
Initial three songs excellent . . .
 +
<ul>
 +
3 de n - AK "Decades" +++
 +
</ul>
 +
*  https://www.youtube.com/watch?v=nVt046ToA38  Morning Chillstep Music — Beautiful Awakening Mix <i>(inage of man clicking heals in street like a walking district street)</i>
 +
 +
*  https://www.youtube.com/watch?v=l4kGf-KBjuQ    Autumn scene across lake +++
 +
+++ Outlier "Tales Of The Future"
 +
+++ Fyze "Harmony"
 +
</ul>
  
 
<!-- comment -->
 
<!-- comment -->
  
 +
=== [[#top|^]] Deep House Chill ===
  
 +
Dua Lipa, Coldplay - Feeling Me #38
 +
*  https://www.youtube.com/watch?v=Qz6XNSB0F3E
  
 +
*  https://www.youtube.com/watch?v=7sbbb7Dt3D8  Dua Lipa, Coldplay, Martin Garrix and Kygo... - Feeling Me #35
 +
 +
*  https://www.youtube.com/watch?v=KB15PmfhvBY  Night Music -- Deep Base -- Downtempo Mix
 +
 +
*  https://www.youtube.com/watch?v=DcHS3_A__Wg  中國古典音樂 古琴輕音樂 安靜音樂 放鬆音樂 心靈音樂 冥想音樂 睡眠音樂 - Hermosa Música China, La Mejor Para Relajarse
 +
 +
*  https://www.youtube.com/watch?v=MFCrZfc3nZc  Bansuri para meditar, duracion 01:11:10
 +
 +
*  https://www.youtube.com/watch?v=EG16dFYK0gw  Music For Creative People
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Downtempo music ===
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=5NVa4w-UXwA  Downtempo Music For Work And ...
 +
<ul>
 +
+++ Around You "Luthian"
 +
</ul>
 +
*  https://www.youtube.com/watch?v=nhSwrd0R64o  CITY AT NIGHT &nbsp; Smooth Driving Music — Deep Bass — Downtempo Car Mix
 +
<ul>
 +
+++ AK "New Age"
 +
++  Moonkay "Kyry"
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=12mdAx2Hz5s  Thievery Corporation • Tommy Guerrero • Gramatik • Emancipator - Special Coffeeshop Selection [SBM]
 +
<ul>
 +
+++ Tor "Loop Theory"
 +
+++ 15 de n - Emancipator "Ghost Pong"
 +
</ul>
 +
</ul>
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Progressive ===
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=ylgXkUN6cQ0  Air ballon atop stone hand
 +
<ul>
 +
+++ 2 de 11 - Entis "Escapism" <i>(original mix)</i>
 +
+++ 6 de 11 - Gregory Esayan "Sweet Insomnia"
 +
</ul>
 +
*  https://www.youtube.com/watch?v=HhzumRqYkMU  NewProgressive Mix.35 'In The Air Tonight' (Melodic Progressive Mix)
 +
 +
*  https://www.youtube.com/watch?v=qh3ZQ0gkWeE  NewProgressive Mix Pt.37 'The Words We Lost' (Melodic Progressive Mix)
 +
<ul>
 +
*  2 de 13  Southern Tier "The Words We Lost" +++
 +
*  10 de 13  Martin Zeidner "Lovestorm" +++
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=hyDA5RiwByQ  NewProgressive Mix 39 'See Beyond' (Melodic Progressive Mix)
 +
<ul>
 +
*  7 de 13 Jettan "With Me" (Valiant Remix) +++
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=NDqJ5YIBiUc  NewProgressive Mix Pt. 28 (Melodic Progressive House Mix)
 +
 +
*  https://www.youtube.com/watch?v=0JtjSIQCJz4  NewProgressive Mix Pt.31 - Progressive World (Melodic Progressive Mix) <i>(blue sky with clouds, mountain tops and green grass and mustard in flower)</i>
 +
</ul>
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] South Got Somethin To Say ==
 +
 +
*  https://www.youtube.com/watch?v=RBLWDFrncL4  ...Byrdman "South Got Somethin to Say"
 +
*  https://www.youtube.com/watch?v=4Mt97QsSzQA    "I Came Up In Da South"
 +
*  https://www.youtube.com/watch?v=lWByQI2kBgA    T. Neil, Ricco Barrino, ... "When It Comes To The Money"
 +
*  https://www.youtube.com/watch?v=pYdoQ6DZ3F4
 +
  Colonel Loud ft. T.I., Young Dolph, Ricco Barrino - California (Official Video)
 +
 +
*  https://www.youtube.com/watch?v=5SK48Bk_RnI  Jill Scott - "A Long Walk"
 +
*  https://www.youtube.com/watch?v=luuqF4bM_hw  "It's Getting Late" 
 +
*  https://www.youtube.com/watch?v=xRm_xS8tWIk  Jill Scott Soulful House Music Mix by JaBig
 +
 +
2020-09-25
 +
*  https://www.youtube.com/watch?v=W2mEjkBmDQo  Donlel Jones "U Know What's Up"
 +
*    Chuckii Booker "Games"
 +
*  https://www.youtube.com/watch?v=-F1WXeN833w  Patrice Rushen (disco style music)
 +
 +
*  https://www.youtube.com/watch?v=tr4O3dJcWm0  roller skating
 +
*  https://www.youtube.com/watch?v=Cow9CyZdWhI
 +
*  https://www.youtube.com/watch?v=SB2IJNIuo7w  Most Unique Skaters . . .
 +
 +
 +
*  https://www.youtube.com/watch?v=p_lZWI_JzKQ  T-Bone, Montell Jordan "To Da River" +++
 +
 +
*  https://www.youtube.com/watch?v=biuV5zFNYow
 +
 +
<!-- comment -->
 +
 +
== [[#top|^]] Lofi Hip Hop Mixes ==
 +
 +
*  https://www.youtube.com/watch?v=NxSDNogkKX0  Just wanna stay here forever
 +
*  https://www.youtube.com/watch?v=eRCNLqg8wSI  Open Your Mind - lofi hip hop mix
 +
<!-- Deep House - Ibiza ... Dua Lipa, Coldplay, Kygo and Garrix, The Chainsmokers - Feelin Me #68 -->
 +
 +
*  https://www.youtube.com/watch?v=CC04qXYhlGU  Downtempo Music - Chill Mix for Studying and Working
 +
  songs 5 and 6 excellent
 +
 +
*  https://www.youtube.com/watch?v=BF7qKO4h0Tk  Welcome to the Undeground ~ lofi hip hop / jazzhop / chillhop mix <i>checkout #Dreamy</i>
 +
 +
*  https://www.youtube.com/watch?v=FDEYHxtimKk  KEIHATSU 「 啓発 」 ☯ Japanese Lofi Hip-Hop ☯ Beats for relaxation by Raimu
 +
 +
*  https://www.youtube.com/watch?v=uN9tulBHr8Y  The Richest Man In Babylon - Thievery Corporation [Full Album] +++
 +
possible playlist:
 +
<pre>
 +
1.    All That We Perceive-  0:00
 +
2.    Exilio-  3:46
 +
3.    Facing East-  6:49
 +
4.    From Creation-  10:33
 +
5.    Heaven's Gonna Burn Your Eyes-  14:54
 +
6.    Interlude-  19:04
 +
7.    Liberation Front-  20:25
 +
8.    Meu Destino-  25:28
 +
9.    Resolution-  28:58
 +
10.  The Outernationalist-  33:45
 +
11.  The Richest Man In Babylon-  37:15
 +
12.  The State of the Union-  41:05
 +
13.  Un Simple Historie-  45:34  +++
 +
14.  Until the Morning-  49:20
 +
</pre>
 +
<!-- comment -->
 +
 +
== [[#top|^]] Meditation, Silent Forest, Calm Place ==
 +
 +
*  https://www.youtube.com/watch?v=odk_B8UvTQo  Meditation chill mix - Fluidified
 +
Hello Meteor "Where The Light Goes" +++
 +
 +
*  https://www.youtube.com/watch?v=18NHV4nJLQc  The Silent Forest - Chillstep Mix por Mixomnia
 +
<ul>
 +
*
 +
*
 +
*
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=Zr3LgL4EuDM  Calm Place | Beautiful Chill Mix por Fluidified <i>(photo of turquoise blue lake, alpine mountain peaks and fir trees)</i>
 +
<ul>
 +
*  00:00:00 - 1 de n Fyze "Alone" +++
 +
*  00:00:00 - Detz - Lost
 +
*  00:13:44 - 5 de n - ACRE x VAST - Somber +++
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=zgWxh1QheC0  Calm Morning | Deep Chill Music Mix
 +
 +
*  https://www.youtube.com/watch?v=jOyTWsTFsCQ  Wait For Me | Chill Mix by Fluidified
 +
<ul>
 +
*  +++ Fyze "Emotion"
 +
</ul>
 +
</ul>
 +
 +
Liquid Drum mix #60 . . .
 +
<ul>
 +
*  https://www.youtube.com/watch?v=aJoo79OwZEI  Liquid Drum and Bass Mix #60
 +
 +
*  https://www.youtube.com/watch?v=xYshY1SBVss  Marion "Ambra" +++
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Skyrim and others ===
 +
 +
2019-07-30 - Tuesday
 +
<ul>
 +
*  <s>https://www.youtube.com/watch?v=RWk51_Vz6I0</s> no longer available, account closed
 +
*  https://www.youtube.com/watch?v=nb7xHGQmFZc&list=RDnb7xHGQmFZc&start_radio=1&t=1998
 +
*  https://www.youtube.com/watch?v=OPlK5HwFxcw  Potr Ilyich Tchaikovsky - Hymn CherubiM
 +
</ul>
 +
 +
 +
<!-- comment -->
 +
 +
=== [[#top|^]] Musica de Bharat ===
 +
 +
2019-08-01 - Thursday
 +
<ul>
 +
*  https://www.youtube.com/watch?v=TaQKy-gTHtM  Hariprasad Chaurasia, raga Brindabani Sarang
 +
 +
*  https://www.youtube.com/watch?v=Y54W0HQ5qss  Anthony Hamilton, Cool ft. David Banner
 +
 +
*  https://www.youtube.com/watch?v=S16UGdG7jC8  <s>Arjit Singh, "Dua" umplugged, interesting time signature to start</s>
 +
<ul>
 +
*  https://www.youtube.com/watch?v=1ZMjFP9L2Dk  encontrado 2022-01-22,
 +
*  https://www.youtube.com/watch?v=wHU6w6cYE9E  +++ Jo Bheji Thi Dua Arijit Singh Unplugged +++
 +
</ul>
 +
 +
*  https://www.youtube.com/watch?v=-RAsJ6dAF68  Barfi - "Phir le aya dil", timbales buenos
 +
 +
*  https://www.youtube.com/watch?v=sTVMGaQtAy0  Phir Se Ud Chala full song, <i>por Mahadevan?</i>
 +
 +
*  https://www.youtube.com/watch?v=s8aAlUynpEY  "Maahi Ve" pelicula Highway, cantado por cantante como Sting
 +
 +
*  https://www.youtube.com/watch?v=k3SmnlVWPWg  Channa Mereya "I feel it comin'", Clinton Cerejo, Bianca Gomez
 +
 +
Sheherazade, otra sinfonia:
 +
*  https://www.youtube.com/watch?v=17lEx0ytE_0  Veliki Bolzicni Koncert 2010
 +
</ul>
 +
 +
<ul>
 +
*  https://www.youtube.com/watch?v=8HDTS80dlr4    Patakha Guddi
 +
*  https://www.youtube.com/watch?v=sPGcUCL6Prw    Samjhawan Arigit Singh full song <i>"na tere bina laga daji . . ."</i>
 +
 +
*  https://www.youtube.com/watch?v=jPdG0GP2sjo    Ambarsariya
 +
 +
*  https://www.youtube.com/watch?v=KcBSDtfrdUI  Dheere y Dheere Se
 +
 +
---
 +
 +
*  https://www.youtube.com/watch?v=YilsKP2KNok
 +
*  https://www.youtube.com/watch?v=lP4YDjMeJMc
 +
*  https://www.youtube.com/watch?v=eWiNPrFmtVA  "Roke Na Ruke" Tulsi Kulmar y Dev Negi, timbales y shenai ~03:00
 +
 +
 +
---
 +
 +
*  https://www.youtube.com/watch?v=hlWiI4xVXKY  calm instrumental music, piano, woodland scenes
 +
 +
</ul>
 +
 +
 +
*  https://www.youtube.com/watch?v=faAVAai7szM  . . . canciones acoustic
 +
 +
*  https://www.youtube.com/watch?v=WyZZBpxcLMw  Man Kunto Maula, dura 09:39
 +
 +
*  https://www.youtube.com/watch?v=tbyA8DiAGx8  Benaam Khwaayishein - Papon, Anweshaa - Coke Studio @ MTV Season 3
 +
<!--
 +
<ul>
 +
*
 +
</ul>
 +
 +
<ul>
 +
*
 +
*
 +
*
 +
</ul>
 +
-->
 +
 +
<!-- SECTION - Outdoors -->
 +
 +
== [[#top|^]] Outdoors ==
 +
 +
*  [https://www.fs.fed.us/portaldata/r6/passes/vendors.php NW Forest Pass]
 +
*  [https://www.outdoorproject.com/adventures/oregon/hikes/moraine-lake-three-sisters-wilderness South Sister Wilderness, Moraine Lake]
 +
 +
 +
<span id="bottom"></span>
 +
<!-- comment -->
  
 
<center>
 
<center>
 
[[#top|- - - top of page - - -]]
 
[[#top|- - - top of page - - -]]
 
</center>
 
</center>
 +
 
<!-- EOF -->
 
<!-- EOF -->

Latest revision as of 20:32, 10 July 2024

m   b   bl   d   e   z   a   d

MediaWiki installation at Neela Nurseries, 2017 June


Consult the User's Guide for information on using the wiki software.

Getting started

Note "Getting started" is MediaWiki's default main page section. But it can be edited like any other page section.

Contents



^ Linux Distributions


Following section holds links to some commonly used server and desktop Linux distributions, available for download as install isos and sometimes as minimal net install isos. After these full-scale distros are listed some of the smaller distributions of Linux and supporting softwares. These smaller distros appear to be a good starting point for learning how to design and build embedded Linux systems . . .

- 2017-11-30 -

- 2017-12-08 -

- 2018-08-24 - 32-bit and light-weight Linux distros



^ lists of Linux distribution releases


^ Create Linux install drive from iso

Iso to USB thumb drive details at https://askubuntu.com/questions/372607/how-to-create-a-bootable-ubuntu-usb-flash-drive-from-terminal . . .

Excerpt from AskUbuntu article:

sudo umount /dev/sdb
sudo dd if=/path/to/ubuntu.iso of=/dev/sdb bs=1M


^ 32-bit OS options BSD and Linux

Having trouble locating a Linux distro with Long Term Support (LTS), such as Ubuntu, which yet supports 32-bit computer systems. Here is a first article on the search for alternatives:


^ Netbsd

Some hardware related references to vintage Sun Microsystems computers, on which NetBSD can be installed and used:


^ Linux and Linux Kernel Projects


^ Dual Boot Linux and Other OS


^ Issue related to Linux kernel

Radeon GPU graphics driver not working, gives error in dmesg:

 [    6.266884] [drm:r600_ring_test [radeon]] *ERROR* radeon: ring 0 test failed (scratch(0x8504)=0xCAFEDEAD)
 [    6.266902] radeon 0000:01:00.0: disabling GPU acceleration


^ Linux Administration

This section needs organizing, including a better separation of Debian package management from networking configuration. - TMH

While setting up Ubuntu LTS package mirros, using Perl based program from package named apt-mirror, needed at least 470GB of disk space for Ubuntus LTS 12.04 through 16.04. Also want to add 10.04 LTS. Have 1TB drive just purchased from FreeGeek. Partitioned and formatted as follows, UUID included here in mke2fs messages:

$ sudo cfdisk /dev/sda

Syncing disks.

$ sudo mke2fs -j /dev/sda1
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 244190390 4k blocks and 61054976 inodes
Filesystem UUID: dfb1e141-85c0-43b0-930c-6bb5dde6d9aa
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done     

$

Information on setting up an Ubuntu or Debian packages mirror here at Programster blog site:


Beyond apt-mirror, modify meta-release files to enable Ubuntu dist-upgrade tool to accept our own, unofficial mirror:


How to get past some circular dependencies in Ubuntu / Debian package management system:

$ sudo dpkg -i --force-breaks dpkg_1.18.4ubuntu1_i386.deb

Some further notes on manual Debian package fixes.



Article detailing how to add IPV4 route to configured network interface:


- 2018-03-30 FRI - In the midst of attempting a dist-upgrade of a two or three year old Debian system, encountered need to run apt or aptitude with its "Force Loop Break" option enabled. This option is spelled Force-LoopBreak . . .

   $ sudo aptitude -o APT::Force-LoopBreak=1
 *  https://wiki.ubuntu.com/DpkgTriggers

Issue with older Debian system trying to upgrade:

Preparing to unpack libc-bin_2.27-2_i386.deb ...
dpkg: error processing archive libc-bin_2.27-2_i386.deb (--install):
 triggers ci file contains unknown directive `interest-await'
Errors were encountered while processing:
 libc-bin_2.27-2_i386.deb


Dpkg developers' team at https://wiki.debian.org/Teams/Dpkg. Article linked to from there regarding apt triggers:

See also man page for dpkg-trigger(1).


Linux system libraries and `ldconfig`:


Debian APT sources.list files

Example Linux Mint official-package-repositories.list file:

deb http://packages.linuxmint.com sarah main upstream import backport 

deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ xenial partner


^ Linux User Space Configuration

To configure xserver-xorg

Snippet from work on getting xserver-xorg to recognize a 1920x1080 native resolution monitor, ViewSonic VX2250 Series monitor . . .


user@localhost:~$ gtf 1920 1080 60

  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  Modeline "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

user@localhost:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.9 (jessie)
Release:        8.9
Codename:       jessie

user@localhost:~$


Looking at /var/log/Xorg.0.log there appear to be two or more issues keeping xserver-xorg framework from fully recognizing the resolutions of the attached monitor. First we'll sift for errors from X, then we look at loading of modules, unloading of modules, the module named 'radeon', and also look at the timing of these X-logged events:


user@localhost:/var/log$ grep -n EE Xorg.0.log
15:     (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
342:[    27.938] (EE) open /dev/dri/card0: No such file or directory
344:[    27.938] (EE) open /dev/dri/card0: No such file or directory
351:[    27.945] (EE) open /dev/fb0: No such file or directory
359:[    27.946] (EE) open /dev/fb0: No such file or directory
360:[    27.946] (EE) Screen 0 deleted because of no matching config section.
362:[    27.946] (EE) Screen 0 deleted because of no matching config section.
364:[    27.946] (EE) Screen 0 deleted because of no matching config section.
2689:[    28.915] (EE) AIGLX: reverting to software rendering

user@localhost:/var/log$ grep -n 'LoadModule: ' Xorg.0.log
47:[    27.193] (II) LoadModule: "glx"
58:[    27.669] (II) LoadModule: "ati"
64:[    27.719] (II) LoadModule: "radeon"
70:[    27.795] (II) LoadModule: "modesetting"
76:[    27.832] (II) LoadModule: "fbdev"
82:[    27.842] (II) LoadModule: "vesa"
346:[    27.938] (II) LoadModule: "fbdevhw"
354:[    27.946] (II) LoadModule: "fbdevhw"
368:[    27.946] (II) LoadModule: "vbe"
374:[    27.994] (II) LoadModule: "int10"
396:[    28.200] (II) LoadModule: "ddc"
2651:[    28.611] (II) LoadModule: "shadow"
2657:[    28.621] (II) LoadModule: "fb"
2664:[    28.630] (II) LoadModule: "int10"
2694:[    31.327] (II) LoadModule: "evdev"

user@localhost:/var/log$ grep -n UnloadModule Xorg.0.log
361:[    27.946] (II) UnloadModule: "radeon"
363:[    27.946] (II) UnloadModule: "modesetting"
365:[    27.946] (II) UnloadModule: "fbdev"

user@localhost:/var/log$ grep -n radeon Xorg.0.log
64:[    27.719] (II) LoadModule: "radeon"
65:[    27.720] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
66:[    27.795] (II) Module radeon: vendor="X.Org Foundation"
361:[    27.946] (II) UnloadModule: "radeon"

user@localhost:/var/log$



^ to configure net-tools ifconfig and isc-dhcp-client

The program or script ifconfig is, as of this spring 2018 entry found in Debian's package named net-tools. Having a weird issue where ifconfig no longer properly configures the primary network interface to request and obtain and DHCP address on the LAN. The specific error message which occurs for both an Intel-based PCIExpress card and an integrated Marvel 10/100/1000 mbit card is:

user@localhost:~/Desktop$ sudo ifup eth4
2018-04-12 - called with $IFACE set to eth4,
user[1678]: WARNING: Initialising interface eth4 which does not have link


These messages come from a script in /etc/network/if-up.d/00check-network-cable.

Attempting the basic shot-gun approach of purging this package and re-installing. Dependent packages which must also be purged include ifupdown-extra and dhcp-probe . . .


A patch for one of the ifconfig network scripts:


Example lshw command to list network card interface details:

https://www.linuxquestions.org/questions/centos-111/network-interface-is-not-shown-in-ifconfig-command-4175577340/


Verbose output of ELF executable ifup:

user@localhost:/etc/network$ sudo ifup -v eth4
Configuring interface eth4=eth4 (inet)
run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/vde2

run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/00check-network-cable
2018 check_status:  above IF-ELSE block to call /sbin/ethtool or other,
2018 check_status:  calling check_status_ethtool . . .
2018-04-12 - called with $IFACE set to eth4,
 +  and $ABORT_NO_LINK holds 'iyes',
 +  changing $ABORT_NO_LINK to 'yes',
2018 check_status_ethtool:  as a test returning 0 in place of 1 when link not found . . .
2018 check_status:  back from routine check_status_ethtool, $status holds 0,
2018 check_status:  returning 0 to calling script . . .
run-parts: executing /etc/network/if-up.d/10check-duplicate-ip
run-parts: executing /etc/network/if-up.d/20static-routes
run-parts: executing /etc/network/if-up.d/30check-gateway
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-05vlan
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-10eth-interfacename
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-10lo-linkup
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-30link
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-40address
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-60specialcommands
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-60staticroutes
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-80proxy-arp
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-80redirects
run-parts: executing /etc/network/if-up.d/ifupdown-scripts-zg2-90flags
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/upstart
user@localhost:/etc/network$ which run-parts
/bin/run-parts


- 2018-04-18 WED - No reference from run-parts messages about missing DHCP client. Turns out Debian 8.10 "Jessie" provides a package named isc-dhcp-client, or offers it as part of their package mirrors lists, but its recommended rather than required when installing the ifupdown package. Adding this package solved the problem of no action and no messages occurring when attempting to bring up one or another network interface card whose config settings called for DHCP to be applied to those interfaces. - TMH



^ Edit point . . .

References for Linux user-space configuration issues:



^ SSH key pair configuration and use


Ted copying some ssh key commands from Digital Ocean article on-line. Also noting that ssh keys and secure network connections is a topic to factor into its own wiki article at Neela wiki installation . . . - TMH



Key ssh key generation and set up commands are:


   $ ssh-keygen -t rsa

   $ cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"



^ SSH keep alive facility

In the file /etc/ssh/ssh_config make sure to add . . .

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2



^ installing PHP 7.0

Creating config file /etc/php/7.0/cgi/php.ini with new version
Setting up php7.0 (7.0.25-0ubuntu0.16.04.1) ...
Setting up php (1:7.0+35ubuntu6) ...
Setting up shtool (2.0.8-8) ...
Setting up php7.0-dev (7.0.25-0ubuntu0.16.04.1) ...
update-alternatives: using /usr/bin/php-config7.0 to provide /usr/bin/php-config (php-config) in auto mode
update-alternatives: using /usr/bin/phpize7.0 to provide /usr/bin/phpize (phpize) in auto mode
Setting up php-all-dev (1:35ubuntu6) ...
Setting up php-cgi (1:7.0+35ubuntu6) ...
Setting up php-cli (1:7.0+35ubuntu6) ...
Setting up php-dev (1:7.0+35ubuntu6) ...
Setting up php-doc (20140201-1ubuntu1) ...
Setting up php7.0-mysql (7.0.25-0ubuntu0.16.04.1) ...

Creating config file /etc/php/7.0/mods-available/mysqlnd.ini with new version

Creating config file /etc/php/7.0/mods-available/mysqli.ini with new version


- 2018-03-28 -



^ GNU gpg utility and to configure gpg with proxy

- 2018-03-29 THU -

 We have a new and strict firewall policy in place, which is blocking GNU gpg requests from our work site to the greater internet.  Here are some initial references to the issue, both of which mention a protocol called hkps, and also a default gpg port 11371 . . .

  * https://www.gnupg.org/faq/gnupg-faq.html#no_default_of_rsa4096


Invoking gpg for first time, and then a second time behind firewall we get the following messages:

user@localhost:~$ gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
gpg: directory `/home/ted/.gnupg' created
gpg: new configuration file `/home/ted/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/ted/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/ted/.gnupg/secring.gpg' created
gpg: keyring `/home/ted/.gnupg/pubring.gpg' created
gpg: requesting key 2B90D010 from hkp server pgpkeys.mit.edu
^C
gpg: Interrupt caught ... exiting

user@localhost:~$ gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
gpg: requesting key 2B90D010 from hkp server pgpkeys.mit.edu
^C
gpg: Interrupt caught ... exiting

user@localhost:~$


STEP 1

Configuration file created for gpg, to allow communications across filewall with few ports open:

## Started 2018-30-29 - TMH
## Reference - https://wiki.archlinux.org/index.php/GnuPG
keyserver hkp://pool.sks-keyservers.net:443


STEP 2

And a crucial step to adding a public key to apt explained here at this ccm web page:

gpg --keyserver pgpkeys.mit.edu --recv-key 010908312D230C5F
gpg -a --export 010908312D230C5F | sudo apt-key add -


- 2019-01-30 WED -

Again missing a public key on host running "Debian GNU/Linux 8.11 (jessie)" . . .

*  https://askubuntu.com/questions/13065/how-do-i-fix-the-gpg-error-no-pubkey



^ Secure shell via alternate ports

- 2018-04-04 -

- 2018-04-10 -

- 2018-04-11 -

ArchLinux article:


Using netstat to see ports in use . . .

 1010  sudo netstat -tulnp | grep 10443
 1011  sudo netstat -tulnp | grep 53
 1012  sudo netstat -tulnp | grep 443
 1013  sudo netstat -tulnp | grep 180
 1014  sudo netstat -tulnp | grep ssh
 1015  ps aex | grep sshd
 1016  cd /etc/init.d
 1017  ls
 1018  vi ssh 
 1019  sudo ./ssh status
 1020  date
 1021  history


^ Keybox a possible web based shell client + server



^ Samba and Windows to Linux file shareing

How-to-Geek reference good:

Step 1 right-click on lower edge of screen System Tray or task bar, on the networking icon. Select "advanced sharing settings". Make sure that among a few sets of radio buttoned options that 'network discovery' is enabled and that 'file and printer sharing' is enabled . . .

    [*] Turn on network discovery
    [*] Turn on file and printer sharing



^ Desktop environments

2019-11-02 - Ted breaking out linux-desktop-environments to its own article, first references yet here also:


^ Wayland replacement for Xserver graphics infrastructure



^ Unix and Linux utilities

[ Key words: unix utils unix utilites , linux utils linux utilities ]
This section as of 2018-11-01 Thursday contains both command line utilities (some shell built-ins) and user space programs both text-based and graphical.

^ date command

Unix date command syntax to change time and date on Unix-like systems:

 $ sudo date -s 15:59 +%H:%M

Some related timezone check and set stuff:

 $ date +%Z

 $ timedatectl list-timezones

 $ sudo timedatectl set-timezone America/Los_Angeles

And a good reference to these commands: https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-check-and-set-timezone-in-ubuntu-20-04/

Use of `date` command to convert Unix timestamps:

Vagrant Cascadian < * e-mail address here * >
	
AttachmentsDec 7 (1 day ago)
	
to Juergen, Santiago, Reprobuilds, bug-apl
On 2017-12-05, Juergen Sauermann wrote:
> I have adopted the environment variable approach, which is now
> contained in *SVN 1026*. (and therefore also in the next GNU APL release).

That's great news!


> I took the freedom to change your patch from:
>
> +    BUILD_DATE=`date -u "%F %R:%S %Z" --date=@$SOURDCE_DATE_EPOCH`
>
> to:
>
> + BUILD_DATE=`date -u "+%F %R:%S %Z" --date=$SOURCE_DATE_EPOCH`

Unfortunately, the "@" in the --date argument is necessary for it to
work correctly when SOURCE_DATE_EPOCH is specified:

  $ date -u "+%F %R:%S %Z" --date=1412583777
  date: invalid date ‘1412583777’
  $ date -u "+%F %R:%S %Z" --date=@1412583777
  2014-10-06 08:22:57 UTC
  $ date -u "+%F %R:%S %Z" --date=
  2017-12-06 00:00:00 UTC

At least, that's how it works on my Debian system...


live well,
  vagrant


^ vim

On-line posting how to configure vim text editor, on Windows and Unix systems:


^ bash for windows


^ udevadm

Linux "user devices" subsystem and udevadm:


^ bc

Note that along with Unix utility `bc` there is also a *nix calculator utility named `dc`.


^ cpu info related

2022


^ retext editor for editing Markdown and Restructured Text files

The following AskUbuntu forum post mentions not only `retext` package, but Debian package managing utility `apt-cache`:


^ Linux Security



^ Shell scripting


A well-written and comprehensive guide to bash shell scripting:

Shell aliases to sequence of commands, return values of shell aliases:

GNU reference to bash builtin commands:

Bash arrays:


^ bash example: back up multiple MYSQL databases

Simple bash script to back up MYSQL databases to local .sql file, in following figure. Ted noting that script variables are not consistently capitalized, would be better form to capitalize all or none of them. Ted also noting that script could read database user passphrase from a file, a file which could be root-only readable and located in a place different from the script, which is likely to be run as a cron job.


Figure x - shell script to dump MYSQL databases, first draft script:

#!/bin/bash


DATABASE_LIST="information_schema mysql phpmyadmin wikidb database_1 database_2 database_3 ..."

SERVER_NAME="example_database_server"

user="root"
pass_phrase_for_mysql="database-passphrase"
options_extra="--skip-lock-tables"


response="n"

mode_interactive="n"



echo "shell script starting,"



for database in ${DATABASE_LIST}; 
do echo "backing up $SERVER_NAME database $database . . .";

#    command="mysqldump --databases $database -u$user -p$pass_phrase_for_mysql $options_extra >> au-database-back-up--${database}.sql"
    command="mysqldump --databases $database -u$user -p$pass_phrase_for_mysql $options_extra"
    redirect="au-database-back-up--${database}.sql"

    if [ $mode_interactive = 'y' ]; then

        echo "build command '$command' and database back-up filename'$redirect',"
        echo "full command will be '$command' > '$redirect',"
        echo "trying running this command and redirect? [y/N/q]  yes, no, 'q' to quit"

        read response
        if [ $response = 'Y' -o $response = 'y' ]; then
            ${command} > $redirect
        elif [ $response = 'N' -o $response = 'n' ]; then
            echo "skipping present command . . ."
        elif [ $response = 'Q' -o $response = 'q' ]; then
            echo "stopping script '$0' and exiting."
            break
        fi
        echo

    else

        echo "$0:  backing up database '$database' to file '$redirect' . . ."
        ${command} > $redirect
        ls -l $redirect

    fi

done


echo "done."

exit 0



^ bash example: show Linux kernel version in kernel makefile

Figure x - script to show Linux kernel version in source tree makefile

#!/bin/bash


## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
## Started 2017-12-15 FRI - script to parse and show Linux kernel
##  version from top-level makefile in set of kernel sources.  Patterns
##  to `grep` chosen based on kernel version identifiers in first
##  three lines of typical kernel top-level makefile.  Example:
##
##  $ head -n 6 Makefile
##  VERSION = 4
##  PATCHLEVEL = 9
##  SUBLEVEL = 66
##  EXTRAVERSION =
##  NAME = Roaring Lionus
##
##
## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


if [ ]; then
    head -n 5 Makefile | grep ^VERSION | cut -d " " -f 3
    head -n 5 Makefile | grep ^PATCH | cut -d " " -f 3
    head -n 5 Makefile | grep ^SUBLEVEL | cut -d " " -f 3
fi

MAJOR=$(head -n 5 Makefile | grep ^VERSION | cut -d " " -f 3)
MINOR1=$(head -n 5 Makefile | grep ^PATCH | cut -d " " -f 3)
MINOR2=$(head -n 5 Makefile | grep ^SUBLEVEL | cut -d " " -f 3)

KERNEL_REVISION="${MAJOR}.${MINOR1}.${MINOR2}"

echo
echo "Kernel version in present kernel sources tree, per makefile, is ${KERNEL_REVISION}"
echo



exit 0


^ bash example: list symbolic links in long format

for file in `ls`; do if [ -h $file ]; then ls -l $file; fi; done


^ directory bookmarking script

For ease of navigating long directory paths Ted has written a amending script to the Bash start up script. The directory bookmarker is open sourced by its author,

On a system which has Bash or Gitbash but no default user start up script, a minimal .bashrc file can be created containing something like the following, which happens to be tailored for Gitbash installed under Windows 10:

#!/usr/bin

if [ -e $HOME/Desktop/dot-bashrc-amendments.sh ]; then
    . $HOME/Desktop/dot-bashrc-amendments.sh
fi

# --- EOF ---


This start up file assumes there is a shell script named dot-bashrc-amendments.sh in the user's Desktop directory, under their home directory. This is a typical Windows path, but not a typical Unix or Linux path. This path came about during author's early gitbash use, when it was unclear which path gitbash was adopting as the user's home directory. This uncertainty, it turned out, came from some intermittently available network mapped volumes. The reader is encouraged to make their own best choice of a stable and sensible path or location for their start up files.

As of this Monday 2018-11-05 wish list for directory bookmarker script includes:

  • automatic dating of latest update of given bookmark
  • verbose listing of directory bookmarks in given group of bookmarks
  • option for users to give title to each group of bookmarks
  • option for users to further annotate groups of bookmarks



^ ssh-agent start-up script for gitbash

2020-10-30 Friday, amendment to bashrc amendments script to better configure ssh-agent in gitbash environment:

# 2020-10-30 FRI - work to configure ssh-agent per gitbash session:

LOCAL_VAR_SSH_AGENT_RUNNING_PROCESS_COUNT=$(ps -u $USERNAME | grep agent | wc | awk '{print $1}')
LOCAL_VAR_SSH_AGENT_VARS_FILENAME="z--ssh-agent-env-vars.txt"

echo "Checking for ssh-agent daemon process:"

if [ $LOCAL_VAR_SSH_AGENT_RUNNING_PROCESS_COUNT -ne 0 ]; then
    echo "Found one or more ssh-agent processes running,"
    if [ -e $LOCAL_VAR_SSH_AGENT_VARS_FILENAME ]; then
        echo "Reading env variables relating to earliest started ssh-agent instance..."
        var1=$(cat $LOCAL_VAR_SSH_AGENT_VARS_FILENAME | sed -n '2p')
        var2=$(cat $LOCAL_VAR_SSH_AGENT_VARS_FILENAME | sed -n '4p')
        echo "exporting $var1 to SSH_AGENT_PID env var..."
        export SSH_AGENT_PID=$var1
        echo "exporting $var2 to SSH_AUTH_SOCK env var..."
        export SSH_AUTH_SOCK=$var2
    else
        echo "but no locally written environment vars found!"
    fi
else
    echo "none found, starting..."
    eval $(/usr/bin/ssh-agent -s)
    /usr/bin/ssh-add $HOME/.ssh/ssh_private_key_for_gitlab
    var3=$(set | grep SSH_AGENT_PID | cut -d'=' -f 2)
    var4=$(set | grep SSH_AUTH_SOCK | cut -d'=' -f 2)
    echo "var3 holds $var3"
    echo "var4 holds $var4"
    echo "Writing these variables to file for future Gitbash shell instances to read..."
    echo $var3 > $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
    echo $var3 >> $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
    echo $var4 >> $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
    echo $var4 >> $LOCAL_VAR_SSH_AGENT_VARS_FILENAME
fi


echo "done."



# EOF ( end of file )

Separate page created for refined version of ssh-agent checking script.


^ shell arrays and array implementation

Classic Unix/*nix shell command interpreters are not designed to provide full or detailed mathematical operations support. Variables tend to be weakly typed and treated as strings, but Bourne Again SHell or bash has some basic math facilities. This in turn lends support to some limited, kind of clunky array syntax. But this array facility in one or more versions of Unix based shell can be better than no array support. Some references:

 *  https://tldp.org/LDP/abs/html/arrays.html

Also may be worth looking at example 11-14, second shell script which omits 'do' and 'done' keywords in shell FOR-loop construct:

 *  https://tldp.org/LDP/abs/html/loops1.html

. . . there may be syntax here which allows for more sane, flexible array element assignments.


^ C pointers and dereference rules

*  https://wiki.neelanurseries.com/index.php/User:Ted#.5E_C_programming_notes


^ Windows User Applications


^ How To Use Git


- 2017-12-04 - Hey Ted moving Git notes to a separate article. Not a lot of notes but anticipating need to write down more detailed git-related stuff. Ted's git notes on Neela wiki will be here at Git notes article.


Wanting to understand and use git better, here are some on-line references to git version control. Also, Ted searching for a git reference posted by a female author, can't remember name but reference well-written with lots of commands and concise explanations of each command. First URL reference may be that page, now 2017-10-02 not sure of the author's name . . .


Basic git commands:


Git references found while answering specific git task questions:

Markdown and .md file formatting at Github


Git and Working with Remote Repositories



^ Drupal Content Management




2017-08-23


2017-08-23 - Drupal installation . . .


2017-08-24

2017-08-25

2017-08-30
Ted looking for information on how Drupal can aid setting up dynamic, site navigation menus:


2017-09-01



^ JProgramming

.
C and C++


Java Programming and Android App Development . . .



^ Composer, a dependency manager of PHP



^ Geography and Science

  • Mountain trail in Madeira, Portugal

Beyond the biodiverse forests on the outer edges of Madeira Island, the land rises, reminding hikers that this Portuguese island is the tip of a shield volcano. Trails allow passage up into these higher elevations, including paths created from the island’s old (and still functioning) aqueduct system. Some of the decommissioned channels, called levadas, have been repurposed as hiking trails.

2023


^ Mathematica

The irrational number e:

Recommended calculus and algebra notes at Paul's Online Notes:

Applied math . . .

Fractal geometry and math . . .


^ Technology

Tech related references and notes moved to NN Technology page.


^ Music and Culture

Musica . . .


^ Ralph Vaughan Williams . . .

Claude Debussy . . .


^ Sinfonias

2018-08-20

^ Harry Potter


2020-05-04 Monday . . .


^ Lord Of The Rings

       00:11:23 Rivendell
       00:14:40 Rohan, 15:10 . . .
       00:24:05 mourning for Gandalf
      ~00:30:00 elf song,
      ~00:42:00 "But in dreams I can hear your name"
    28:16 - 31:20 . . . Many Meetings
    31:21 - 35:15 . . . The Counsel of Elrond
    ~35:20 - . . . The Ring Goes South
    1:34:40 . . . Evenstar
    1:38:40 -- The White Rider --
    2:47:55 . . . Twilight and Shadow


2019-10-16 Wednesday:

2019-11-06 Wednesday:


^ edit point - LOTR, the Hobbit, Narnia

    ~1:20:00 Counsel of Elrond, ~1:30:00, ~2:23:15 flauta breve y canto por los duendes, ~2:48:00, ~2:54:00 "May It Be", ~2:57:30 "And In Dreams", 3:51:15 ..., 4:35:00, ~5:31:30

2020-09-03


^ Narnia


^ Elder Scrolls




^ Ciudades y Lugares

  • Connemara Ireland
  • Cordillera Paine mountains, Chile
      Vermont cities: Burlington, Montpelier, South Burlington, Essex, Middlebury

^ edit point


^ Hans Zimmer

Similar:


Symphonies and compositions to explore . . . see also songs and song titles nn wiki article.

11:03 am - Friday, June 1st, 2018
Tragic Overture, Opus 81
Brahms, Johannes
London Philharmonic Orchestra
Marin Alsop
NAXOS 8.557428 

Mas sinfonias . . .

8:02 am - Monday, July 23rd, 2018
Ein Walzertraum (Waltz Dream)
Straus, Oscar
Cincinnati Pops Orchestra
Erich Kunzel
Telarc 80547


7:50 am - Monday, July 23rd, 2018
Oboe Concerto in C, RV 450
Vivaldi, Antonio
Albrecht Mayer, oboe
I Musici di Roma
DG 002713602


2018-11-26 Monday . . .

5:23 pm - Monday, November 26th, 2018
Five Bagatelles, Opus 47
Dvorak, Antonin
Quartetto Gelato
Linus 270055


8:07 pm - Wednesday, November 28th, 2018
Norfolk Rhapsody No. 1
Vaughan Williams, Ralph
New Philharmonia Orchestra
Adrian Boult
EMI 64022




4:15 pm - Wednesday, December 5th, 2018
Oberon Overture
Weber, Carl Maria Von
Philharmonia Orchestra
Neeme Järvi
Chandos 9066 



2018-12-06 Thursday . . .

11:18 am - Thursday, December 6th, 2018
Violin Concerto in a minor, Opus 82
Glazunov, Alexander
Chloë Hanslip, violin
Swiss Italian Orchestra
Alexander Vedernikov
Hyperion 67940


^ Felix Mendelssohn y otros


^ Ragas


^ Chill

Chill and ambient music mixes, several by Blume:

2020-06-09

2020-06-17

      +++ 00:42:18 NumberNin6 "Saltwater"

    ^ Glide

      • 3 de 15 Vaeros "Exemption"
      • 4 de 15 The Ambientalist "Missing You"
      • 6 de 15 Vonnboyd "Mursa"
      • 11 de 15 Daminika "The Colors Of The Evening"
      • 13 de 15 subknoT "Vision"
      • +++ 2 de 43 Ed Carlsen "Otto" Steve Gibbs remix
      • 7 de 43 Mvnners : Camden
      • 11 de 43 'Wezi Mkandawire : Oh The Wonder'
      • 19 de 43 'Borrtex : Snowflake'
      • 20 de 43 'Dexter Britain : Sleep Walker'
      • 24 de 43 'Sylvester G. Faustmann : Engage' part of Harry Potter score?
      • 29 de 43 "Flame Shapes : Beginnings"
      • 34 de 43 "Jameson Nathan Jones : "Fallen feat. Hannah Sumner",


^ Singles

2020-09-17 Thursday . . .


^ Compilations

^ edit point

Liquid Drum mix #60 . . .


^ Skyrim and others

2019-07-30 - Tuesday


^ Musica de Bharat

2019-08-01 - Thursday



^ Outdoors


- - - top of page - - -