<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Karljürgen Computes!</title>
	<atom:link href="https://computing.feuerherm.ca/feed/" rel="self" type="application/rss+xml" />
	<link>https://computing.feuerherm.ca</link>
	<description>Let&#039;s get digital, … digital …, I wanna get digital … </description>
	<lastBuildDate>Wed, 24 Aug 2022 17:20:27 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Installing ANTLR on Windows</title>
		<link>https://computing.feuerherm.ca/2022/08/24/installing-antlr-on-windows/</link>
					<comments>https://computing.feuerherm.ca/2022/08/24/installing-antlr-on-windows/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Wed, 24 Aug 2022 17:20:26 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=81</guid>

					<description><![CDATA[As the Mac is still unavailable and in the tradition of making my Windows PC a good back-up work machine, I decided to instal the ANTLR parser generator . This took place in several steps. Installation of ANTLR itself The download page of the ANTLR site has the information required to set up ANTLR, though...]]></description>
										<content:encoded><![CDATA[
<p>As the Mac is still unavailable and in the tradition of making my Windows PC a good back-up work machine, I decided to instal the ANTLR parser generator <span class="zp-InText-zp-ID--7910634-Q4GPTAJU--wp81 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:Q4GPTAJU}', 'format': '(%a%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>. This took place in several steps.</p>



<h2 class="wp-block-heading">Installation of ANTLR itself</h2>



<p>The download page of the ANTLR site has the information required to set up ANTLR, though it&#8217;s not as clearly laid out as one might like, in terms of page structure.</p>



<p>Here&#8217;s what we&#8217;re told in summary: &#8216;All users should download the <a href="https://www.antlr.org/download/antlr-4.10.1-complete.jar">ANTLR tool itself</a> and then choose a runtime target below, unless you are using Java which is built into the tool jar.&#8217; Clicking the link downloads the file <code>antlr-4.10.1-complete.jar</code>. </p>



<p>Of the available run-time targets, only Python was really viable for me. So, as per instructions, I ran a Powershell as administrator and issued the command <code>pip install antlr4-python3-runtime</code>. While this worked fine, I was also advised that pip was out of date and encouraged to update it, which I did. The output follows below.</p>



<h3 class="wp-block-heading">Python 3 run-time installation output</h3>



<pre class="wp-block-code"><code>pip install antlr4-python3-runtime<br>Collecting antlr4-python3-runtime<br>Downloading antlr4-python3-runtime-4.10.tar.gz (116 kB)<br>|████████████████████████████████| 116 kB 1.1 MB/s<br>Using legacy 'setup.py install' for antlr4-python3-runtime, since package 'wheel' is not installed.<br>Installing collected packages: antlr4-python3-runtime<br>Running setup.py install for antlr4-python3-runtime … done<br>Successfully installed antlr4-python3-runtime-4.10<br>WARNING: You are using pip version 21.1.1; however, version 22.2.2 is available.<br>You should consider upgrading via the 'c:\program files\python39\python.exe -m pip install --upgrade pip' command.</code></pre>



<h3 class="wp-block-heading">Pip ugrade output</h3>



<p>This got a little messy, as you can see, but it got done.</p>



<pre class="wp-block-code"><code>c:\program files\python39\python.exe -m pip install --upgrade pip
c:\program : The term 'c:\program' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ c:\program files\python39\python.exe -m pip install --upgrade pip
+ ~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (c:\program:String) &#091;], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException</code></pre>



<pre class="wp-block-code"><code>PS C:\WINDOWS\system32&gt; pip install --upgrade pip<br>Requirement already satisfied: pip in c:\program files\python39\lib\site-packages (21.1.1)<br>Collecting pip<br>Downloading pip-22.2.2-py3-none-any.whl (2.0 MB)<br>|████████████████████████████████| 2.0 MB 1.3 MB/s<br>Installing collected packages: pip<br>Attempting uninstall: pip<br>Found existing installation: pip 21.1.1<br>Uninstalling pip-21.1.1:<br>Successfully uninstalled pip-21.1.1<br>ERROR: Could not install packages due to an OSError: &#091;WinError 5] Access is denied: 'C:\Users\k\AppData\Local\Temp\pip-uninstall-pnbcktle\pip.exe'<br>Consider using the <code>--user</code> option or check the permissions.</code></pre>



<pre class="wp-block-code"><code>PS C:\WINDOWS\system32&gt; cd \<br>PS C:&gt; cd '.\Program Files\'<br>PS C:\Program Files&gt; cd .\Python39\<br>PS C:\Program Files\Python39&gt; python.exe -m pip install --upgrade pip<br>Requirement already satisfied: pip in c:\program files\python39\lib\site-packages (22.2.2)</code></pre>



<h2 class="wp-block-heading">How to use ANTLR?</h2>



<p>The download page suggested visiting the &#8216;read-me&#8217; on github, which I did, following which I opened the &#8216;Getting started&#8217; page <span class="zp-InText-zp-ID--7910634-BV52FBUR--wp81 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:BV52FBUR}', 'format': '(%a%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>. In the &#8216;Windows&#8217; section, things got a little more explicit; here was the workflow:</p>



<ul class="wp-block-list"><li>it was suggested to place the original ANTLR download in a suitable directory such as <code>C:\Javalib</code>. Ok, all things being equal, I created that directory and moved the file over</li><li>I added <code>antlr-4.10.1-complete.jar</code> to the CLASSPATH environment variable, which I created as a system-wide<br><img fetchpriority="high" decoding="async" width="653" height="165" class="wp-image-83" style="width: 600px" src="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220824-Classpath.png" alt="Displays the values for the CLASSPATH variable" srcset="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220824-Classpath.png 653w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220824-Classpath-300x76.png 300w" sizes="(max-width: 653px) 100vw, 653px" /></li><li>create<code> antlr4.bat</code> in some directory accessed by the PATH variable (I used a newly created <code>C:\Bat</code>, which I added to the system path)<br><code>java org.antlr.v4.Tool %*</code></li><li>create grun.bat in a similar way<br><code>@ECHO OFF<br>SET TEST_CURRENT_DIR=%CLASSPATH:.;=%<br>if "%TEST_CURRENT_DIR%" == "%CLASSPATH%" ( SET CLASSPATH=.;%CLASSPATH% )<br>@ECHO ON</code><br><code>java org.antlr.v4.gui.TestRig %*</code></li></ul>



<h2 class="wp-block-heading">Testing</h2>



<h3 class="wp-block-heading">Installation test</h3>



<p>As suggested, I ran the command<code> java -jar /usr/local/lib/antlr-4.10.1-complete.jar</code> from the command line to check the installation. Apparently, my Java version (only just installed, so latest) was too old??</p>



<pre class="wp-block-code"><code>java org.antlr.v4.Tool<br>Error: A JNI error has occurred, please check your installation and try again<br>Exception in thread "main" java.lang.UnsupportedClassVersionError: org/antlr/v4/Tool has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0<br>at java.lang.ClassLoader.defineClass1(Native Method)<br>at java.lang.ClassLoader.defineClass(Unknown Source)<br>at java.security.SecureClassLoader.defineClass(Unknown Source)<br>at java.net.URLClassLoader.defineClass(Unknown Source)<br>at java.net.URLClassLoader.access$100(Unknown Source)<br>at java.net.URLClassLoader$1.run(Unknown Source)<br>at java.net.URLClassLoader$1.run(Unknown Source)<br>at java.security.AccessController.doPrivileged(Native Method)<br>at java.net.URLClassLoader.findClass(Unknown Source)<br>at java.lang.ClassLoader.loadClass(Unknown Source)<br>at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)<br>at java.lang.ClassLoader.loadClass(Unknown Source)<br>at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)</code></pre>



<p>I put a query out on StackOverflow <span class="zp-InText-zp-ID--7910634-W58MPLZL--wp81 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:W58MPLZL}', 'format': '(%a%, %d%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>, and discovered that a different version of Java altogether was required <span class="zp-InText-zp-ID--7910634-YTYF2GH6--wp81 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:YTYF2GH6}', 'format': '(%a%, %d%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>. There are zip and msi versions of the installer; it turns out that the zip requires one to manually move the run-time to some location and set the path accordingly; and I also had to run the Java uninstal tool to get rid of the unwanted version <span class="zp-InText-zp-ID--7910634-SX7JPIIF--wp81 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:SX7JPIIF}', 'format': '(%a%, %d%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>.</p>



<p>This solved the problem!</p>



<pre class="wp-block-code"><code>java org.antlr.v4.Tool
ANTLR Parser Generator  Version 4.10.1
 -o ___              specify output directory where all output is generated
 -lib ___            specify location of grammars, tokens files
 -atn                generate rule augmented transition network diagrams
 -encoding ___       specify grammar file encoding; e.g., euc-jp
 -message-format ___ specify output style for messages in antlr, gnu, vs2005
 -long-messages      show exception details when available for errors and warnings
 -listener           generate parse tree listener (default)
 -no-listener        don't generate parse tree listener
 -visitor            generate parse tree visitor
 -no-visitor         don't generate parse tree visitor (default)
 -package ___        specify a package/namespace for the generated code
 -depend             generate file dependencies
 -D&lt;option&gt;=value    set/override a grammar-level option
 -Werror             treat warnings as errors
 -XdbgST             launch StringTemplate visualizer on generated code
 -XdbgSTWait         wait for STViz to close before continuing
 -Xforce-atn         use the ATN simulator for all predictions
 -Xlog               dump lots of logging info to antlr-timestamp.log
 -Xexact-output-dir  all output goes into -o dir regardless of paths/package</code></pre>



<h3 class="wp-block-heading">Practical test</h3>



<p>Next, I set up the little test programme as suggested and saved it (<code>hello.g4</code>) in a temporary directory.</p>



<pre class="wp-block-code"><code>// Define a grammar called Hello
grammar Hello;
r  : 'hello' ID ;         // match keyword hello followed by an identifier
ID : &#091;a-z]+ ;             // match lower-case identifiers
WS : &#091; \t\r\n]+ -&gt; skip ; // skip spaces, tabs, newlines</code></pre>



<p>I navigated to the directory using Powershell and entered the following:</p>



<pre class="wp-block-code"><code>$ antlr4 Hello.g4
$ javac Hello*.java
hello parrt
^Z</code></pre>



<p>This got me the expected output:</p>



<pre class="wp-block-code"><code>(r hello parrt)</code></pre>



<p>Next I tried the GUI option.</p>



<pre class="wp-block-code"><code>$ grun Hello r -gui
hello parrt
^Z</code></pre>



<p>This got me a nice graphical representation of the same information:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="586" height="493" src="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220824-ANTLR-Hello-test-gui.png" alt="Display of the parse tree in graphical form" class="wp-image-88" srcset="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220824-ANTLR-Hello-test-gui.png 586w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220824-ANTLR-Hello-test-gui-300x252.png 300w" sizes="(max-width: 586px) 100vw, 586px" /><figcaption>A graphical ANTLR parse tree</figcaption></figure>



<p>All systems go!</p>



<h2 class="wp-block-heading">References</h2>




<div id='zp-InTextBib-zotpress-655e14f53f344cbbb057a198a0201f30' class='zp-Zotpress zp-Zotpress-InTextBib wp-block-group zp-Post-81'>
		<span class="ZP_ITEM_KEY ZP_ATTR">{7910634:Q4GPTAJU};{7910634:BV52FBUR};{7910634:W58MPLZL};{7910634:YTYF2GH6};{7910634:SX7JPIIF}</span>
		<span class="ZP_STYLE ZP_ATTR">chicago-annotated-bibliography</span>
		<span class="ZP_SORTBY ZP_ATTR">creator</span>
		<span class="ZP_ORDER ZP_ATTR">asc</span>
		<span class="ZP_TITLE ZP_ATTR"></span>
		<span class="ZP_SHOWIMAGE ZP_ATTR"></span>
		<span class="ZP_SHOWTAGS ZP_ATTR"></span>
		<span class="ZP_DOWNLOADABLE ZP_ATTR"></span>
		<span class="ZP_NOTES ZP_ATTR"></span>
		<span class="ZP_ABSTRACT ZP_ATTR"></span>
		<span class="ZP_CITEABLE ZP_ATTR"></span>
		<span class="ZP_TARGET ZP_ATTR"></span>
		<span class="ZP_URLWRAP ZP_ATTR"></span>
		<span class="ZP_FORCENUM ZP_ATTR">0</span>
		<span class="ZP_HIGHLIGHT ZP_ATTR"></span>
		<span class="ZP_POSTID ZP_ATTR">81</span><div class='zp-List loading'>
<div class="zp-SEO-Content"></div><!-- .zp-zp-SEO-Content -->
</div><!-- .zp-List --></div><!--.zp-Zotpress-->


]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2022/08/24/installing-antlr-on-windows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Adding the &#8216;python-docx&#8217; package to Anaconda</title>
		<link>https://computing.feuerherm.ca/2022/08/20/adding-the-python-docx-package-to-anaconda/</link>
					<comments>https://computing.feuerherm.ca/2022/08/20/adding-the-python-docx-package-to-anaconda/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Sat, 20 Aug 2022 18:15:45 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorised]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=75</guid>

					<description><![CDATA[Today I continued working on converting my syllabus builder to run on Mac and PC from a NAS drive. The first thing I discovered was that the python-docx package was not installed. I ran into two problems while trying to remedy this. Package channel location First, I discovered that this package was not housed in...]]></description>
										<content:encoded><![CDATA[
<p>Today I continued working on converting my syllabus builder to run on Mac and PC from a NAS drive. The first thing I discovered was that the <code>python-docx </code>package was not installed. I ran into two problems while trying to remedy this.</p>



<h2 class="wp-block-heading">Package channel location</h2>



<p>First, I discovered that this package was not housed in the default &#8216;channels&#8217; of <code>conda install &lt;package name&gt;</code>, and was advised to just search the Anaconda site <span class="zp-InText-zp-ID--7910634-Y9C7KEJ5--wp75 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:Y9C7KEJ5}', 'format': '(%a%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span> for the package name. Doing this, I learned that the <code>conda-forge </code>channel had a recent version of this package, and when I clicked on the link, discovered that it could be installed with <code>conda install -c conda-forge python-docx</code>. Great!<span class="footnote_referrer"><a role="button" tabindex="0" onclick="footnote_moveToReference_75_4('footnote_plugin_reference_75_4_1');" onkeypress="footnote_moveToReference_75_4('footnote_plugin_reference_75_4_1');" ><sup id="footnote_plugin_tooltip_75_4_1" class="footnote_plugin_tooltip_text">[1]</sup></a><span id="footnote_plugin_tooltip_text_75_4_1" class="footnote_tooltip">Somehow, I found this information a different way earlier, and used the longer form<code> -channel</code> as you&#8217;ll see from the output shown below.</span></span><script type="text/javascript"> jQuery('#footnote_plugin_tooltip_75_4_1').tooltip({ tip: '#footnote_plugin_tooltip_text_75_4_1', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });</script></p>



<p>But then I discovered that the <code>conda </code>command was only accessible when I ran the Powershell from within Anaconda &#8230; but that this didn&#8217;t give me the necessary write permissions. A Google search found the solution, however <span class="zp-InText-zp-ID--7910634-H8XFNASD--wp75 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:H8XFNASD}', 'format': '(%a%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>.</p>



<p>Issuing the command <code>where conda </code>from within the Anaconda-run Powershell told me where to find what I needed, and so I updated the system environment variables accordingly (see the last three lines of the screenshot below).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="527" height="501" src="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220820-Anaconda-environment-variables.png" alt="Shows the environment variables required to locate the conda command" class="wp-image-76" srcset="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220820-Anaconda-environment-variables.png 527w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220820-Anaconda-environment-variables-300x285.png 300w" sizes="(max-width: 527px) 100vw, 527px" /><figcaption>Environment variables associated with the conda command</figcaption></figure>
</div>


<p>Finally, I opened a new Powershell window and ran the <code>python-docx </code>installation. The output is shown below.</p>



<pre class="wp-block-code"><code>conda install --channel "conda-forge" python-docx
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\ProgramData\Anaconda3

  added / updated specs:
    - python-docx


The following NEW packages will be INSTALLED:

  python-docx        conda-forge/noarch::python-docx-0.8.11-pyhd8ed1ab_0
  python_abi         conda-forge/win-64::python_abi-3.8-2_cp38

The following packages will be UPDATED:

  conda              pkgs/main::conda-4.13.0-py38haa95532_0 --&gt; conda-forge::conda-4.14.0-py38haa244fe_0


Proceed (&#091;y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done</code></pre>



<h2 class="wp-block-heading">References</h2>




<div id='zp-InTextBib-zotpress-86ec049588032f50c5e78330e176f429' class='zp-Zotpress zp-Zotpress-InTextBib wp-block-group zp-Post-75'>
		<span class="ZP_ITEM_KEY ZP_ATTR">{7910634:Y9C7KEJ5};{7910634:H8XFNASD}</span>
		<span class="ZP_STYLE ZP_ATTR">chicago-annotated-bibliography</span>
		<span class="ZP_SORTBY ZP_ATTR">creator</span>
		<span class="ZP_ORDER ZP_ATTR">asc</span>
		<span class="ZP_TITLE ZP_ATTR"></span>
		<span class="ZP_SHOWIMAGE ZP_ATTR"></span>
		<span class="ZP_SHOWTAGS ZP_ATTR"></span>
		<span class="ZP_DOWNLOADABLE ZP_ATTR"></span>
		<span class="ZP_NOTES ZP_ATTR"></span>
		<span class="ZP_ABSTRACT ZP_ATTR"></span>
		<span class="ZP_CITEABLE ZP_ATTR"></span>
		<span class="ZP_TARGET ZP_ATTR"></span>
		<span class="ZP_URLWRAP ZP_ATTR"></span>
		<span class="ZP_FORCENUM ZP_ATTR">0</span>
		<span class="ZP_HIGHLIGHT ZP_ATTR"></span>
		<span class="ZP_POSTID ZP_ATTR">75</span><div class='zp-List loading'>
<div class="zp-SEO-Content"></div><!-- .zp-zp-SEO-Content -->
</div><!-- .zp-List --></div><!--.zp-Zotpress-->


<div class="speaker-mute footnotes_reference_container"> <div class="footnote_container_prepare"><p><span role="button" tabindex="0" class="footnote_reference_container_label pointer" onclick="footnote_expand_collapse_reference_container_75_4();">Footnotes</span><span role="button" tabindex="0" class="footnote_reference_container_collapse_button" style="display: none;" onclick="footnote_expand_collapse_reference_container_75_4();">[<a id="footnote_reference_container_collapse_button_75_4">+</a>]</span></p></div> <div id="footnote_references_container_75_4" style=""><table class="footnotes_table footnote-reference-container"><caption class="accessibility">Footnotes</caption> <tbody> 

<tr class="footnotes_plugin_reference_row"> <th scope="row" class="footnote_plugin_index_combi pointer"  onclick="footnote_moveToAnchor_75_4('footnote_plugin_tooltip_75_4_1');"><a id="footnote_plugin_reference_75_4_1" class="footnote_backlink"><span class="footnote_index_arrow">&#8593;</span>1</a></th> <td class="footnote_plugin_text">Somehow, I found this information a different way earlier, and used the longer form<code> -channel</code> as you&#8217;ll see from the output shown below.</td></tr>

 </tbody> </table> </div></div><script type="text/javascript"> function footnote_expand_reference_container_75_4() { jQuery('#footnote_references_container_75_4').show(); jQuery('#footnote_reference_container_collapse_button_75_4').text('−'); } function footnote_collapse_reference_container_75_4() { jQuery('#footnote_references_container_75_4').hide(); jQuery('#footnote_reference_container_collapse_button_75_4').text('+'); } function footnote_expand_collapse_reference_container_75_4() { if (jQuery('#footnote_references_container_75_4').is(':hidden')) { footnote_expand_reference_container_75_4(); } else { footnote_collapse_reference_container_75_4(); } } function footnote_moveToReference_75_4(p_str_TargetID) { footnote_expand_reference_container_75_4(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } } function footnote_moveToAnchor_75_4(p_str_TargetID) { footnote_expand_reference_container_75_4(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } }</script>]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2022/08/20/adding-the-python-docx-package-to-anaconda/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Setting up the PC for office work</title>
		<link>https://computing.feuerherm.ca/2022/08/19/setting-up-the-pc-for-office-work/</link>
					<comments>https://computing.feuerherm.ca/2022/08/19/setting-up-the-pc-for-office-work/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Fri, 19 Aug 2022 23:25:26 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=62</guid>

					<description><![CDATA[My Mac is with Apple for a battery replacement, which is estimated to take up to ten (10!) days. In the meantime, this means having to do my office work on the Windows PC instead. That meant three things for the moment: installation of the TeX typesetting system installation of Anaconda (or so I thought)...]]></description>
										<content:encoded><![CDATA[
<p>My Mac is with Apple for a battery replacement, which is estimated to take up to ten (10!) days. In the meantime, this means having to do my office work on the Windows PC instead.</p>



<p>That meant three things for the moment:</p>



<ol class="wp-block-list"><li>installation of the TeX typesetting system</li><li>installation of Anaconda (or so I thought)</li><li>adapting my Jupyter Notebook for course syllabus generation to work on both the PC and the Mac.</li></ol>



<h2 class="wp-block-heading">TeX</h2>



<p>There are several options for installation of *TeX on Windows. In the past, I&#8217;ve tried MikTeX but found it kludgy, so I decided to go with TeX Live.</p>



<h3 class="wp-block-heading">TeX Live</h3>



<p>TeXLive installation is fairly straightforward <span class="zp-InText-zp-ID--7910634-XNMJUECZ--wp62 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:XNMJUECZ}', 'format': '(%a%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>:</p>



<ul class="wp-block-list"><li>download and run <a href="https://mirror.ctan.org/systems/texlive/tlnet/install-tl-windows.exe">install-tl-windows.exe</a><ul><li>Note: this results in a warning message;<span class="footnote_referrer"><a role="button" tabindex="0" onclick="footnote_moveToReference_62_6('footnote_plugin_reference_62_6_1');" onkeypress="footnote_moveToReference_62_6('footnote_plugin_reference_62_6_1');" ><sup id="footnote_plugin_tooltip_62_6_1" class="footnote_plugin_tooltip_text">[1]</sup></a><span id="footnote_plugin_tooltip_text_62_6_1" class="footnote_tooltip">&#8216;Microsoft Defender SmartScreen prevented an unrecognised app from starting. Running this app might put your PC at risk.&#8217;</span></span><script type="text/javascript"> jQuery('#footnote_plugin_tooltip_62_6_1').tooltip({ tip: '#footnote_plugin_tooltip_text_62_6_1', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });</script>; select &#8216;Run anyway&#8217;</li><li>by default, installation is single-user; for all users, run as administrator</li><li>at the time of writing, this required 76822 MB of space on C: drive</li><li>specify preferred default paper size<span class="footnote_referrer"><a role="button" tabindex="0" onclick="footnote_moveToReference_62_6('footnote_plugin_reference_62_6_2');" onkeypress="footnote_moveToReference_62_6('footnote_plugin_reference_62_6_2');" ><sup id="footnote_plugin_tooltip_62_6_2" class="footnote_plugin_tooltip_text">[2]</sup></a><span id="footnote_plugin_tooltip_text_62_6_2" class="footnote_tooltip">It is set to &#8216;A4&#8217;; in North America, change to &#8216;Letter&#8217;.</span></span><script type="text/javascript"> jQuery('#footnote_plugin_tooltip_62_6_2').tooltip({ tip: '#footnote_plugin_tooltip_text_62_6_2', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });</script></li><li>by default it will instal the TeXworks editor, which is likely what is wanted.<span class="footnote_referrer"><a role="button" tabindex="0" onclick="footnote_moveToReference_62_6('footnote_plugin_reference_62_6_3');" onkeypress="footnote_moveToReference_62_6('footnote_plugin_reference_62_6_3');" ><sup id="footnote_plugin_tooltip_62_6_3" class="footnote_plugin_tooltip_text">[3]</sup></a><span id="footnote_plugin_tooltip_text_62_6_3" class="footnote_tooltip">This is the Windows equivalent to the Mac-only TeXShop. It&#8217;s not as sophisticated but works well enough.</span></span><script type="text/javascript"> jQuery('#footnote_plugin_tooltip_62_6_3').tooltip({ tip: '#footnote_plugin_tooltip_text_62_6_3', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });</script></li><li>as a reference, the installation took over 3.5 hours on my Bell satellite internet system</li></ul></li><li>no updates were required following installation.</li></ul>



<h3 class="wp-block-heading">TeXworks additional configuration</h3>



<p>The TeXworks editor is installed by default with a TeX Live installation unless one tells it otherwise.</p>



<p>Out of the box, it is configured for all the basic compilation choices; the make script is not included by default, but I need it with my complex file set-ups.</p>



<p>I found a question regarding this on StackExchange <span class="zp-InText-zp-ID--7910634-JDX8DF62--wp62 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:JDX8DF62}', 'format': '(%a%, %d%, %p%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>. The salient configuration for the make utility is as follows:</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" src="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2022/08/220819-XeLaTeXmk.png" alt="The configuration details for a xelatexmk run" class="wp-image-69" /><figcaption>Configuration details for a XeLaTeX make run in TeXworks</figcaption></figure>
</div>


<h2 class="wp-block-heading">Anaconda</h2>



<p>Anaconda <span class="zp-InText-zp-ID--7910634-Y9C7KEJ5--wp62 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:Y9C7KEJ5}', 'format': '(%a%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span> is a popular Python-based data science tool. I first came across it when I took a few free edx.org Python courses. Now I use its Jupiter Notebook module to create my class syllabi. Eventually, I may do something more sophisticated with ANTLR <span class="zp-InText-zp-ID--7910634-Q4GPTAJU--wp62 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:Q4GPTAJU}', 'format': '(%a%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>The installer download is prominently placed on the Anaconda home page.</p>



<ul class="wp-block-list"><li>at the time of writing, the 64-bit graphical installer was 594 MB</li><li>as a precaution, I right-clicked and ran as administrator, though it&#8217;s not clear this was necessary from the dialogue</li><li>disc space requirement was given as 5.3 GB</li><li>apparently I had already installed Anaconda in the past and had forgotten, so that was the end of that!</li></ul>



<p>So, instead, I looked into how to upgrade my installation:</p>



<ul class="wp-block-list"><li>open Anaconda (Navigator)</li><li>click on &#8216;Documentation&#8217; in the lower left corner</li><li>choose &#8216;Updating Navigator&#8217;<ul><li>apparently running Anaconda results in an automatic check for updates, but the procedure is given to do it manually if desired</li><li>so, no need to do this, either</li></ul></li><li>try to update installed python packages<ul><li>from within Navigator, open the PowerShell Prompt</li><li>type <code>conda update</code></li><li>this informed me that I had to supply the name(s) of package(s) I wanted to update, but also told me I could update Anaconda using<br><code>conda update --prefix C:\ProgramData\Anaconda3 anaconda</code></li><li>I discovered that for this to work, I needed write permissions, i.e., Anaconda had to be run as administrator, so did that</li><li>the output from the successful run is given below.</li></ul></li></ul>



<pre class="wp-block-code"><code>Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\ProgramData\Anaconda3

  added / updated specs:
    - anaconda


The following NEW packages will be INSTALLED:

  pathlib            pkgs/main/noarch::pathlib-1.0.1-pyhd3eb1b0_1

The following packages will be UPDATED:

  conda                               4.10.3-py38haa95532_0 --&gt; 4.13.0-py38haa95532_0
  conda-content-tru~ pkgs/main/noarch::conda-content-trust~ --&gt; pkgs/main/win-64::conda-content-trust-0.1.3-py38haa95532_0
  conda-package-han~                   1.7.3-py38h8cc25b3_1 --&gt; 1.8.1-py38h8cc25b3_0
  conda-repo-cli     pkgs/main/noarch::conda-repo-cli-1.0.~ --&gt; pkgs/main/win-64::conda-repo-cli-1.0.5-py38haa95532_0

The following packages will be DOWNGRADED:

  xmltodict                                     0.12.0-py_0 --&gt; 0.12.0-pyhd3eb1b0_0


Proceed (&#091;y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done</code></pre>



<p>By the way, opening Jupyter Notebook the usual way within Anaconda will always only show files on C: drive. If one wants it to look elsewhere, one must</p>



<ul class="wp-block-list"><li>open Powershell Prompt within Anaconda Navigator</li><li>issue the command, e.g., <code>jupyter notebook --notebook-dir=Y:/ </code>(Y: is where I keep things shared by the Mac and PC).</li></ul>



<h2 class="wp-block-heading">The Jupyter Notebook syllabus builder</h2>



<p>I generate my MS Word syllabi programmatically. This saves a great deal of time, especially when teaching the course beyond the first time, as this typically simply means updating some dates, and also ensures that dates appearing in various places are not inconsistent.</p>



<p>This currently relies on several Excel spreadsheets as data sources, which are read by the notebook and used to produce the syllabus.</p>



<p>Thus far, I have always run this on the Mac. As I now wish to be able to do it from PC as well, I&#8217;ve started adapting the Python code in the notebook to find its input on my NAS drive as well as send the output there.</p>



<p>I didn&#8217;t quite finish the task today, but made good headway!</p>



<h2 class="wp-block-heading">References</h2>




<div id='zp-InTextBib-zotpress-14fa2009ecfeb9e59da2445b489d1d13' class='zp-Zotpress zp-Zotpress-InTextBib wp-block-group zp-Post-62'>
		<span class="ZP_ITEM_KEY ZP_ATTR">{7910634:XNMJUECZ};{7910634:JDX8DF62};{7910634:Y9C7KEJ5};{7910634:Q4GPTAJU}</span>
		<span class="ZP_STYLE ZP_ATTR">chicago-annotated-bibliography</span>
		<span class="ZP_SORTBY ZP_ATTR">creator</span>
		<span class="ZP_ORDER ZP_ATTR">asc</span>
		<span class="ZP_TITLE ZP_ATTR"></span>
		<span class="ZP_SHOWIMAGE ZP_ATTR"></span>
		<span class="ZP_SHOWTAGS ZP_ATTR"></span>
		<span class="ZP_DOWNLOADABLE ZP_ATTR"></span>
		<span class="ZP_NOTES ZP_ATTR"></span>
		<span class="ZP_ABSTRACT ZP_ATTR"></span>
		<span class="ZP_CITEABLE ZP_ATTR"></span>
		<span class="ZP_TARGET ZP_ATTR"></span>
		<span class="ZP_URLWRAP ZP_ATTR"></span>
		<span class="ZP_FORCENUM ZP_ATTR">0</span>
		<span class="ZP_HIGHLIGHT ZP_ATTR"></span>
		<span class="ZP_POSTID ZP_ATTR">62</span><div class='zp-List loading'>
<div class="zp-SEO-Content"></div><!-- .zp-zp-SEO-Content -->
</div><!-- .zp-List --></div><!--.zp-Zotpress-->


<div class="speaker-mute footnotes_reference_container"> <div class="footnote_container_prepare"><p><span role="button" tabindex="0" class="footnote_reference_container_label pointer" onclick="footnote_expand_collapse_reference_container_62_6();">Footnotes</span><span role="button" tabindex="0" class="footnote_reference_container_collapse_button" style="display: none;" onclick="footnote_expand_collapse_reference_container_62_6();">[<a id="footnote_reference_container_collapse_button_62_6">+</a>]</span></p></div> <div id="footnote_references_container_62_6" style=""><table class="footnotes_table footnote-reference-container"><caption class="accessibility">Footnotes</caption> <tbody> 

<tr class="footnotes_plugin_reference_row"> <th scope="row" class="footnote_plugin_index_combi pointer"  onclick="footnote_moveToAnchor_62_6('footnote_plugin_tooltip_62_6_1');"><a id="footnote_plugin_reference_62_6_1" class="footnote_backlink"><span class="footnote_index_arrow">&#8593;</span>1</a></th> <td class="footnote_plugin_text">&#8216;Microsoft Defender SmartScreen prevented an unrecognised app from starting. Running this app might put your PC at risk.&#8217;</td></tr>

<tr class="footnotes_plugin_reference_row"> <th scope="row" class="footnote_plugin_index_combi pointer"  onclick="footnote_moveToAnchor_62_6('footnote_plugin_tooltip_62_6_2');"><a id="footnote_plugin_reference_62_6_2" class="footnote_backlink"><span class="footnote_index_arrow">&#8593;</span>2</a></th> <td class="footnote_plugin_text">It is set to &#8216;A4&#8217;; in North America, change to &#8216;Letter&#8217;.</td></tr>

<tr class="footnotes_plugin_reference_row"> <th scope="row" class="footnote_plugin_index_combi pointer"  onclick="footnote_moveToAnchor_62_6('footnote_plugin_tooltip_62_6_3');"><a id="footnote_plugin_reference_62_6_3" class="footnote_backlink"><span class="footnote_index_arrow">&#8593;</span>3</a></th> <td class="footnote_plugin_text">This is the Windows equivalent to the Mac-only TeXShop. It&#8217;s not as sophisticated but works well enough.</td></tr>

 </tbody> </table> </div></div><script type="text/javascript"> function footnote_expand_reference_container_62_6() { jQuery('#footnote_references_container_62_6').show(); jQuery('#footnote_reference_container_collapse_button_62_6').text('−'); } function footnote_collapse_reference_container_62_6() { jQuery('#footnote_references_container_62_6').hide(); jQuery('#footnote_reference_container_collapse_button_62_6').text('+'); } function footnote_expand_collapse_reference_container_62_6() { if (jQuery('#footnote_references_container_62_6').is(':hidden')) { footnote_expand_reference_container_62_6(); } else { footnote_collapse_reference_container_62_6(); } } function footnote_moveToReference_62_6(p_str_TargetID) { footnote_expand_reference_container_62_6(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } } function footnote_moveToAnchor_62_6(p_str_TargetID) { footnote_expand_reference_container_62_6(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } }</script>]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2022/08/19/setting-up-the-pc-for-office-work/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows PowerShell update</title>
		<link>https://computing.feuerherm.ca/2022/08/19/windows-powershell-update/</link>
					<comments>https://computing.feuerherm.ca/2022/08/19/windows-powershell-update/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Fri, 19 Aug 2022 17:15:13 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=57</guid>

					<description><![CDATA[The other day, I opened the Windows shell to check my Python installation, and I was greeted with this message: So I decided to look into it. In the end, it&#8217;s not hard to do . Open the shell, then issue This downloads the latest version and runs the installer. Output is similar to the...]]></description>
										<content:encoded><![CDATA[
<p>The other day, I opened the Windows shell to check my Python installation, and I was greeted with this message:</p>



<pre class="wp-block-code"><code>Install the latest PowerShell for new features and improvements! <a rel="noreferrer noopener" href="https://aka.ms/PSWindows" target="_blank">https://aka.ms/PSWindows</a></code></pre>



<p>So I decided to look into it.</p>



<p>In the end, it&#8217;s not hard to do <span class="zp-InText-zp-ID--7910634-P3DVXYAX--wp57 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{7910634:P3DVXYAX}', 'format': '(%a%, %d%, %p%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span>. Open the shell, then issue</p>



<pre class="wp-block-code"><code>winget install --id Microsoft.Powershell.Preview --source winget</code></pre>



<p>This downloads the latest version and runs the installer. Output is similar to the following:</p>



<pre class="wp-block-code"><code>Found PowerShell &#091;Microsoft.PowerShell] Version 7.2.6.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.2.6/PowerShell-7.2.6-win-x64.msi
  ██████████████████████████████   102 MB /  102 MB
Successfully verified installer hash
Starting package install...
Successfully installed</code></pre>



<h2 class="wp-block-heading">References</h2>




<div id='zp-InTextBib-zotpress-8a845fb935e888c2ce2e773f8606f2d9' class='zp-Zotpress zp-Zotpress-InTextBib wp-block-group zp-Post-57'>
		<span class="ZP_ITEM_KEY ZP_ATTR">{7910634:P3DVXYAX}</span>
		<span class="ZP_STYLE ZP_ATTR">chicago-annotated-bibliography</span>
		<span class="ZP_SORTBY ZP_ATTR">default</span>
		<span class="ZP_ORDER ZP_ATTR">asc</span>
		<span class="ZP_TITLE ZP_ATTR"></span>
		<span class="ZP_SHOWIMAGE ZP_ATTR"></span>
		<span class="ZP_SHOWTAGS ZP_ATTR"></span>
		<span class="ZP_DOWNLOADABLE ZP_ATTR"></span>
		<span class="ZP_NOTES ZP_ATTR"></span>
		<span class="ZP_ABSTRACT ZP_ATTR"></span>
		<span class="ZP_CITEABLE ZP_ATTR"></span>
		<span class="ZP_TARGET ZP_ATTR"></span>
		<span class="ZP_URLWRAP ZP_ATTR"></span>
		<span class="ZP_FORCENUM ZP_ATTR">0</span>
		<span class="ZP_HIGHLIGHT ZP_ATTR"></span>
		<span class="ZP_POSTID ZP_ATTR">57</span><div class='zp-List loading'>
<div class="zp-SEO-Content"></div><!-- .zp-zp-SEO-Content -->
</div><!-- .zp-List --></div><!--.zp-Zotpress-->


]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2022/08/19/windows-powershell-update/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Updated GIMP</title>
		<link>https://computing.feuerherm.ca/2022/01/13/updated-gimp/</link>
					<comments>https://computing.feuerherm.ca/2022/01/13/updated-gimp/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Fri, 14 Jan 2022 00:53:05 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=36</guid>

					<description><![CDATA[I updated GIMP to version 2.10.30 on my Dell system today. I had used GIMP and a pop-up informed me that there was an upgrade (from .28). Then I decided to check the Mac; opened GIMP and nothing happened. Checked on-line, and yes indeed, there was an update for it as well. I wonder why...]]></description>
										<content:encoded><![CDATA[
<p>I updated <a href="http://www.gimp.org">GIMP </a>to version 2.10.30 on my Dell system today. I had used GIMP and a pop-up informed me that there was an upgrade (from .28).</p>



<p>Then I decided to check the Mac; opened GIMP and nothing happened. Checked on-line, and yes indeed, there was an update for it as well. I wonder why that didn&#8217;t feature a pop-up?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2022/01/13/updated-gimp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Accessing an Airport Extreme backup drive from Windows 11</title>
		<link>https://computing.feuerherm.ca/2022/01/02/accessing-an-airport-extreme-backup-drive-from-windows-11/</link>
					<comments>https://computing.feuerherm.ca/2022/01/02/accessing-an-airport-extreme-backup-drive-from-windows-11/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Sun, 02 Jan 2022 17:25:09 +0000</pubDate>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=25</guid>

					<description><![CDATA[I recently moved my RAID USB drive from a direct connection to my MacBook Pro to the network level in order to make it accessible to all my devices. Despite evidence to the contrary, I was not able to connect the drive directly to my network hub, so I set up my old Airport Extreme...]]></description>
										<content:encoded><![CDATA[
<p>I recently moved my RAID USB drive from a direct connection to my MacBook Pro to the network level in order to make it accessible to all my devices.</p>



<p>Despite <a href="https://support.bell.ca/internet/connection-help/home-hub-2000-modem.how_to_connect_a_usb_device_to_my_home_hub_2000">evidence to the contrary</a>, I was not able to connect the drive directly to my network hub, so I <a href="https://discussions.apple.com/thread/7494818">set up my old Airport Extreme as a bridge</a> between the two. This worked just fine, and the MacBook now backs up to the RAID drive just fine.</p>



<p>I discovered, however, that my Dell Desktop, which is on the same network, fails to recognize it; in fact, I eventually realized that it wasn&#8217;t seeing the Airport Extreme, even. After some on-line searching, I concluded that I should instal the <a href="https://support.apple.com/kb/dl1547?locale=en_US">Windows version of the Airport Utility</a>, which immediately detected the Airport Extreme and asked for the password!</p>



<p>Alas, this was the end of the line, despite the fact that I had enabled the SMB 1 protocol, which, I understand, is disabled in Windows by default due to security vulnerabilities but required by the Airport Extreme. It refused to accept the password, and all attempts to configure manually from the Windows end failed with an error.</p>



<p>While it may well be possible to remedy this situa<a href="https://www.dell.com/en-ca/shop/wd-my-cloud-ex2-ultra-wdbvbz0120jch-personal-cloud-storage-device-12-tb/apd/a8994560/storage-drives-media">tion, the problem is temporary, as I have a </a>WD RAID drive on order which is due to arrive later this month. Let&#8217;s hope that&#8217;s the end of the complications!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2022/01/02/accessing-an-airport-extreme-backup-drive-from-windows-11/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Initial set-up</title>
		<link>https://computing.feuerherm.ca/2021/12/29/initial-set-up/</link>
					<comments>https://computing.feuerherm.ca/2021/12/29/initial-set-up/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Wed, 29 Dec 2021 17:59:10 +0000</pubDate>
				<category><![CDATA[Site maintenance]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=21</guid>

					<description><![CDATA[Today, I decided that rather than have all kinds of diverse things on my personal website, I should create dedicated sites for each of my interests, and keep it for biographical and personal interest information. This site will house my various (professional and personal) endeavours in the realm of computer science. I began with a...]]></description>
										<content:encoded><![CDATA[
<p>Today, I decided that rather than have all kinds of diverse things on my <a href="http://karljurgen.feuerherm.ca">personal website</a>, I should create dedicated sites for each of my interests, and keep it for biographical and personal interest information.</p>



<p>This site will house my various (professional and personal) endeavours in the realm of computer science.</p>



<p>I began with a <a href="https://computing.feuerherm.ca/2021/12/29/set-mac-finder-view-globally/" data-type="post" data-id="4">first post</a> and then created a stub <a href="https://computing.feuerherm.ca/about-me/" data-type="page" data-id="17">About me</a> page and set up the basic menu structure. I&#8217;ll continue as I have time and leisure.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2021/12/29/initial-set-up/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Set Mac Finder view globally</title>
		<link>https://computing.feuerherm.ca/2021/12/29/set-mac-finder-view-globally/</link>
					<comments>https://computing.feuerherm.ca/2021/12/29/set-mac-finder-view-globally/#respond</comments>
		
		<dc:creator><![CDATA[Karljürgen Feuerherm]]></dc:creator>
		<pubDate>Wed, 29 Dec 2021 16:26:44 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<guid isPermaLink="false">http://computing.feuerherm.ca/?p=4</guid>

					<description><![CDATA[From time to time, such as when I&#8217;ve upgraded the operating system on my Mac, I&#8217;ve found that the Finder view resets to icon view. In my line of work (higher education), I prefer list view, since this lets me inspect various file attributes at a glance as well as sort on them easily. And...]]></description>
										<content:encoded><![CDATA[
<p>From time to time, such as when I&#8217;ve upgraded the operating system on my Mac, I&#8217;ve found that the Finder view resets to icon view. In my line of work (higher education), I prefer list view, since this lets me inspect various file attributes at a glance as well as sort on them easily. And each time, I am frustrated by the difficulty in figuring out how to set everything back the way it was, <em>globally</em>. (It&#8217;s amazing how often a search on how to change &#8220;all folders&#8221; results in solutions for how to change a given folder only!</p>



<p>Here&#8217;s one way to do it:</p>



<ol class="wp-block-list"><li>Open <em>Finder</em> and select the hard drive.</li><li>Set the view type of this folder to <em>list</em>:<br><img loading="lazy" decoding="async" width="2064" height="1096" class="wp-image-6" style="width: 450px" src="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window.png" alt="Finder window for the hard drive with focus on the list view selection" srcset="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window.png 2064w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window-300x159.png 300w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window-700x372.png 700w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window-768x408.png 768w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window-1536x816.png 1536w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window-2048x1088.png 2048w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Hard-drive-finder-window-800x425.png 800w" sizes="auto, (max-width: 2064px) 100vw, 2064px" /><br><span class="zp-InText-zp-ID--5462604-IKWYUZ6R--wp4 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{5462604:IKWYUZ6R}', 'format': '(%a%, %d%, %p%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span></li><li>Issue <em>command-J</em> and tick the top two boxes, labelled <em>Always open in list view</em> and <em>Browse in list view</em>:<span class="footnote_referrer"><a role="button" tabindex="0" onclick="footnote_moveToReference_4_16('footnote_plugin_reference_4_16_1');" onkeypress="footnote_moveToReference_4_16('footnote_plugin_reference_4_16_1');" ><sup id="footnote_plugin_tooltip_4_16_1" class="footnote_plugin_tooltip_text">[1]</sup></a><span id="footnote_plugin_tooltip_text_4_16_1" class="footnote_tooltip">The first of these ensures that the current folder will be opened in list view (actually, in whatever view was selected when the command-J was issued), while the second cascades this to all&nbsp;&#x2026; <span class="footnote_tooltip_continue"  onclick="footnote_moveToReference_4_16('footnote_plugin_reference_4_16_1');">Continue reading</span></span></span><script type="text/javascript"> jQuery('#footnote_plugin_tooltip_4_16_1').tooltip({ tip: '#footnote_plugin_tooltip_text_4_16_1', tipClass: 'footnote_tooltip', effect: 'fade', predelay: 0, fadeInSpeed: 200, delay: 400, fadeOutSpeed: 200, position: 'top center', relative: true, offset: [-7, 0], });</script><br><img loading="lazy" decoding="async" width="564" height="1338" class="wp-image-7" style="width: 150px" src="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Always-open-browse.png" alt="Window showing view options when command-J has been issued" srcset="https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Always-open-browse.png 564w, https://computing.feuerherm.ca/wp-content/uploads/sites/13/2021/12/211229-Always-open-browse-126x300.png 126w" sizes="auto, (max-width: 564px) 100vw, 564px" /><br><span class="zp-InText-zp-ID--5462604-HZ8GX4HD--wp4 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{5462604:HZ8GX4HD}', 'format': '(%a%, %d%, %p%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span></li><li>Click <em>Use as Defaults</em> at the bottom of the window.</li><li>Open a <em>Terminal</em> window and issue the following command (root password will be required) to remove any individual folder overrides which have been set in the past:<br></li></ol>



<pre class="wp-block-code"><code>sudo find / -name ".DS_Store"  -exec rm {} \;</code></pre>



<p>Full discussion at <span class="zp-InText-zp-ID--5462604-BR5VLUMI--wp4 zp-InText-Citation loading" rel="{ 'pages': 'np', 'items': '{5462604:BR5VLUMI}', 'format': '(%a%, %d%, %p%)', 'brackets': '', 'etal': '', 'separator': '', 'and': '' }"></span> </p>



<h2 class="wp-block-heading">Image credits and references</h2>




<div id='zp-InTextBib-zotpress-0fb8c34a4eb389990cea5c97f1541f9d' class='zp-Zotpress zp-Zotpress-InTextBib wp-block-group zp-Post-4'>
		<span class="ZP_ITEM_KEY ZP_ATTR">{5462604:IKWYUZ6R};{5462604:HZ8GX4HD};{5462604:BR5VLUMI}</span>
		<span class="ZP_STYLE ZP_ATTR">chicago-annotated-bibliography</span>
		<span class="ZP_SORTBY ZP_ATTR">creator</span>
		<span class="ZP_ORDER ZP_ATTR">asc</span>
		<span class="ZP_TITLE ZP_ATTR"></span>
		<span class="ZP_SHOWIMAGE ZP_ATTR"></span>
		<span class="ZP_SHOWTAGS ZP_ATTR"></span>
		<span class="ZP_DOWNLOADABLE ZP_ATTR"></span>
		<span class="ZP_NOTES ZP_ATTR"></span>
		<span class="ZP_ABSTRACT ZP_ATTR"></span>
		<span class="ZP_CITEABLE ZP_ATTR"></span>
		<span class="ZP_TARGET ZP_ATTR"></span>
		<span class="ZP_URLWRAP ZP_ATTR"></span>
		<span class="ZP_FORCENUM ZP_ATTR">0</span>
		<span class="ZP_HIGHLIGHT ZP_ATTR"></span>
		<span class="ZP_POSTID ZP_ATTR">4</span><div class='zp-List loading'>
<div class="zp-SEO-Content"></div><!-- .zp-zp-SEO-Content -->
</div><!-- .zp-List --></div><!--.zp-Zotpress-->


<div class="speaker-mute footnotes_reference_container"> <div class="footnote_container_prepare"><p><span role="button" tabindex="0" class="footnote_reference_container_label pointer" onclick="footnote_expand_collapse_reference_container_4_16();">Footnotes</span><span role="button" tabindex="0" class="footnote_reference_container_collapse_button" style="display: none;" onclick="footnote_expand_collapse_reference_container_4_16();">[<a id="footnote_reference_container_collapse_button_4_16">+</a>]</span></p></div> <div id="footnote_references_container_4_16" style=""><table class="footnotes_table footnote-reference-container"><caption class="accessibility">Footnotes</caption> <tbody> 

<tr class="footnotes_plugin_reference_row"> <th scope="row" class="footnote_plugin_index_combi pointer"  onclick="footnote_moveToAnchor_4_16('footnote_plugin_tooltip_4_16_1');"><a id="footnote_plugin_reference_4_16_1" class="footnote_backlink"><span class="footnote_index_arrow">&#8593;</span>1</a></th> <td class="footnote_plugin_text">The first of these ensures that the current folder will be opened in list view (actually, in whatever view was selected when the <em>command-J</em> was issued), while the second cascades this to all sub-folders.</td></tr>

 </tbody> </table> </div></div><script type="text/javascript"> function footnote_expand_reference_container_4_16() { jQuery('#footnote_references_container_4_16').show(); jQuery('#footnote_reference_container_collapse_button_4_16').text('−'); } function footnote_collapse_reference_container_4_16() { jQuery('#footnote_references_container_4_16').hide(); jQuery('#footnote_reference_container_collapse_button_4_16').text('+'); } function footnote_expand_collapse_reference_container_4_16() { if (jQuery('#footnote_references_container_4_16').is(':hidden')) { footnote_expand_reference_container_4_16(); } else { footnote_collapse_reference_container_4_16(); } } function footnote_moveToReference_4_16(p_str_TargetID) { footnote_expand_reference_container_4_16(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } } function footnote_moveToAnchor_4_16(p_str_TargetID) { footnote_expand_reference_container_4_16(); var l_obj_Target = jQuery('#' + p_str_TargetID); if (l_obj_Target.length) { jQuery( 'html, body' ).delay( 0 ); jQuery('html, body').animate({ scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.2 }, 380); } }</script>]]></content:encoded>
					
					<wfw:commentRss>https://computing.feuerherm.ca/2021/12/29/set-mac-finder-view-globally/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk

Served from: computing.feuerherm.ca @ 2026-03-17 13:19:31 by W3 Total Cache
-->