<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>KENET Training  - Recent changes [en]</title>
		<link>http://training.kenet.or.ke/index.php/Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>en</language>
		<generator>MediaWiki 1.28.2</generator>
		<lastBuildDate>Wed, 10 Jun 2026 07:17:41 GMT</lastBuildDate>
		<item>
			<title>Intermediate Usage: PyTorch and Tensorflow</title>
			<link>http://training.kenet.or.ke/index.php?title=Intermediate_Usage:_PyTorch_and_Tensorflow&amp;diff=1762&amp;oldid=1749</link>
			<guid isPermaLink="false">http://training.kenet.or.ke/index.php?title=Intermediate_Usage:_PyTorch_and_Tensorflow&amp;diff=1762&amp;oldid=1749</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 18:47, 20 May 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='4' style='text-align: center;' class='diff-multi' lang='en'&gt;(One intermediate revision by the same user not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot; &gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  mpi/openmpi-x86_64&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  mpi/openmpi-x86_64&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  ----------------------------------------------------------------- /opt/ohpc/pub/modulefiles ------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  ----------------------------------------------------------------- /opt/ohpc/pub/modulefiles ------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160;  &lt;/del&gt;applications/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;gpu/gromacs/2024.4&amp;#160; &amp;#160; &amp;#160; &amp;#160; applications&lt;/del&gt;/gpu/python/conda-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;25&lt;/del&gt;.1.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/del&gt;-python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21 (D)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &lt;/ins&gt;applications/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;eng&lt;/ins&gt;/gpu/python/conda-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;26&lt;/ins&gt;.1.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;0&lt;/ins&gt;-python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  applications/gpu/python/base-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&amp;#160; &amp;#160; applications/gpu/qespresso/7.3.1&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  applications/gpu/python/base-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  ---------------------------------------------------------- /usr/share/lmod/lmod/modulefiles/Core -------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  ---------------------------------------------------------- /usr/share/lmod/lmod/modulefiles/Core -------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  lmod&amp;#160; &amp;#160; settar&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  lmod&amp;#160; &amp;#160; settar&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot; &gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This conda&amp;#160; module that appear in the prior list has both TensorFlow and PyTorch installed:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This conda&amp;#160; module that appear in the prior list has both TensorFlow and PyTorch installed:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; applications/gpu/python/conda-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;25&lt;/del&gt;.1.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/del&gt;-python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; applications&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/eng&lt;/ins&gt;/gpu/python/conda-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;26&lt;/ins&gt;.1.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;0&lt;/ins&gt;-python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot; &gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;We can Load the module using this Slurm command: &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;We can Load the module using this Slurm command: &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; module load applications/gpu/python/conda-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;25&lt;/del&gt;.1.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/del&gt;-python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; module load applications&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/eng&lt;/ins&gt;/gpu/python/conda-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;26&lt;/ins&gt;.1.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;0&lt;/ins&gt;-python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot; &gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ conda env list&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ conda env list&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &lt;/del&gt;base&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  /&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;opt&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ohpc&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pub&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;conda&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;instdir&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &lt;/del&gt;python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;21 &lt;/del&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  /&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;opt&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ohpc&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pub&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;conda&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;instdir&lt;/del&gt;/envs/python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;base &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; /scratch/lustre/apps/eng/gpu/miniconda3&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;octave &lt;/ins&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; /&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;scratch/lustre/apps/eng&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;gpu&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;miniconda3&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;envs&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;octave&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;12&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; /scratch/lustre/apps/eng/gpu/miniconda3/envs/python-3.12&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;python-3&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14 &lt;/ins&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*&amp;#160;  &lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;scratch&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lustre&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;apps&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;eng&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;gpu/miniconda3&lt;/ins&gt;/envs/python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;qgis&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  /scratch/lustre/apps/eng/gpu/miniconda3/envs/qgis&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;we can safely ignore the base environment, and make use of the *python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&lt;/del&gt;* conda environment, this has the two&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;we can safely ignore the base environment, and make use of the *python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;* conda environment, this has the two&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;machine learning frameworks, Tensorflow and PyTorch.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;machine learning frameworks, Tensorflow and PyTorch.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Pytorch_logo.png|250px]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Pytorch_logo.png|250px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;code bash&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; $ conda activate python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; $ conda activate python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; (python-3.9.21)$&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; (python-3.9.21)$&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l68&quot; &gt;Line 68:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 76:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; cd ~/localscratch/mnist &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; cd ~/localscratch/mnist &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; module load applications/gpu/python/conda-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;25&lt;/del&gt;.1.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1&lt;/del&gt;-python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; module load applications&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/eng&lt;/ins&gt;/gpu/python/conda-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;26&lt;/ins&gt;.1.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;0&lt;/ins&gt;-python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; conda activate python-3.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;9.21&amp;#160; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; conda activate python-3.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;14&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; python&amp;#160; main.py&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; python&amp;#160; main.py&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 20 May 2026 18:47:46 GMT</pubDate>			<dc:creator>Atambo</dc:creator>			<comments>http://training.kenet.or.ke/index.php/Talk:Intermediate_Usage:_PyTorch_and_Tensorflow</comments>		</item>
		<item>
			<title>Nyanza Region Cohort: Cybersecurity Resilience Workshop -Track 2: Securing campus networks and IT assets</title>
			<link>http://training.kenet.or.ke/index.php?title=Nyanza_Region_Cohort:_Cybersecurity_Resilience_Workshop_-Track_2:_Securing_campus_networks_and_IT_assets&amp;diff=1760&amp;oldid=0</link>
			<guid isPermaLink="false">http://training.kenet.or.ke/index.php?title=Nyanza_Region_Cohort:_Cybersecurity_Resilience_Workshop_-Track_2:_Securing_campus_networks_and_IT_assets&amp;diff=1760&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;KENET is pleased to invite you to the Cybersecurity Resilience Workshop - Track 2. This track focuses on the architectural resilience of campus networks through advanced traff...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;KENET is pleased to invite you to the Cybersecurity Resilience Workshop - Track 2. This track focuses on the architectural resilience of campus networks through advanced traffic control and infrastructure hardening. Participants will master the deployment of Access Control Lists (ACLs) and  Firewalls while executing a secure IPv6 transition using Dual-Stack strategies.&lt;br /&gt;
&lt;br /&gt;
The training will be held from April 20th to April 24th, 2026, at the Silver Palm Spa &amp;amp; Resort in Kilifi.&lt;br /&gt;
&lt;br /&gt;
=Objective=&lt;br /&gt;
&lt;br /&gt;
By the end of the program, attendees will be able to secure critical IT assets—including switches, servers, and wireless controllers—through robust filtering and configuration auditing. The ultimate goal is to build a high-performance, segmented environment where security policies remain consistent across both legacy and modern protocols, backed by proactive monitoring and logging.&lt;br /&gt;
&lt;br /&gt;
=Who Should Attend?=&lt;br /&gt;
&lt;br /&gt;
This course is designed for Cybersecurity specialists, Network engineers and network administrators.&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
&lt;br /&gt;
1. Laptop for the sessions with Wi-Fi capability&lt;br /&gt;
2. Intermediate to expert knowledge of TCP/IP networks, IP Addressing and firewalls.&lt;br /&gt;
&lt;br /&gt;
=Course content=&lt;br /&gt;
'''Note''': All lab manuals and slides can be found in the [Workshop Resource Folder] at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
==Trainers==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:75%;&amp;quot;&lt;br /&gt;
|+ '''List of Training Team Members'''&lt;br /&gt;
! Full Name&lt;br /&gt;
! Initials (Inst.)&lt;br /&gt;
! Role&lt;br /&gt;
! Organization&lt;br /&gt;
|-&lt;br /&gt;
| Nyanjau Kimani&lt;br /&gt;
| NK&lt;br /&gt;
| Program Manager&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Alfred Kipruto&lt;br /&gt;
| AKip&lt;br /&gt;
| Quality Assurance&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Zeinab Mzungu&lt;br /&gt;
| ZM&lt;br /&gt;
| Logistics &amp;amp; Support &lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Caroline Gachuhi&lt;br /&gt;
| CG&lt;br /&gt;
| Registration &amp;amp; Support &lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Anne Inapat&lt;br /&gt;
| AI&lt;br /&gt;
| Trainer&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Barrack Otieno&lt;br /&gt;
| BO&lt;br /&gt;
| Trainer&lt;br /&gt;
| ISOC/ICANN&lt;br /&gt;
|-&lt;br /&gt;
| Kevin Chege&lt;br /&gt;
| KC&lt;br /&gt;
| Trainer/Lab&lt;br /&gt;
| Consultant&lt;br /&gt;
|-&lt;br /&gt;
| Kelvin Kariuki&lt;br /&gt;
| KK&lt;br /&gt;
| Trainer&lt;br /&gt;
| MMU&lt;br /&gt;
|-&lt;br /&gt;
| Geoffrey Luora&lt;br /&gt;
| GL&lt;br /&gt;
| Trainer&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Samuel Macharia&lt;br /&gt;
| SK&lt;br /&gt;
| Trainer&lt;br /&gt;
| KENET&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Participants==&lt;br /&gt;
&lt;br /&gt;
==TimeTable==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Master Schedule: Track 2: Securing Campus Network Infrastructure and IT Assets&lt;br /&gt;
! Time !! Day 1 (Joint) !! Day 2 !! Day 3 !! Day 4 !! Day 5&lt;br /&gt;
|-&lt;br /&gt;
| **07:00** || **Welcome and registrations** || colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#eee; text-align:center;&amp;quot; | ''Sessions start at 08:00''&lt;br /&gt;
|-&lt;br /&gt;
| **08:00** || **Introductions &amp;amp; Objectives (JOINT)** (AKip) || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap''' || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap''' || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap''' || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap'''&lt;br /&gt;
|-&lt;br /&gt;
| **08:20** || **Housekeeping (JOINT)** (ZM/Akip) || **Module 1:** Concepts on Campus Network Design (KK)|| **Module 4:** Dual Stack concepts and planning (BO) [https://training.kenet.or.ke/images/8/87/Module_4_Dual_Stack_Implementation_and_Operation-2026.pdf [6]] || **Module1:** Wireless Networks &amp;amp; Security -802.1X (KK) || **Module 8:** Monitoring &amp;amp; Troubleshooting (KK/BO)&lt;br /&gt;
|-&lt;br /&gt;
| **08:35** || style=&amp;quot;background:#f0f0f0;&amp;quot; | (08:35 - 09:00 Joint Session) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd)&lt;br /&gt;
|-&lt;br /&gt;
| **09:00** || **ICANN Grant Funded Project Overview (JOINT)** (AKip/NK/BO) [https://training.kenet.or.ke/images/6/60/ICANN_KENET_Grant_-_Project_Overview_2026-2.pdf [1] ][[https://training.kenet.or.ke/images/d/d5/KENET_Program_Overview_ICANN_BO.pdf [1.2]] || **Module 1:** DISCUSSION on Respective existing institutional campus network diagrams (KK/GL) || Module 4:LAB (Configuring dual stack on switches and routers) (BO/GL) || **Module 1:**eduroam (SK) || **Module 8:** DEMO (Monitoring Devices &amp;amp; Troubleshooting tools) (KK/BO)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#eef;&amp;quot; | **10:00** || colspan=&amp;quot;5&amp;quot; style=&amp;quot;background:#eef; text-align:center;&amp;quot; | '''Tea break (10:00 – 10:30)'''&lt;br /&gt;
|-&lt;br /&gt;
| **10:30** ||  **Lab Environment &amp;amp; Topology Walkthrough (Lab Support)** (KC) [https://training-labs.kenet.or.ke [1.3]] &amp;amp; Bootcamp Refresher -Linux (SK) Networking (KK) || **Module 1:** VLANS LAB (KK) || **Module 7:** Authentication &amp;amp; Authorization (BO) [https://training.kenet.or.ke/images/f/f5/Module_7_Authentication_and_Authorization.pdf [7]] || **Module7:** Network Encryption (BO) || **Best Practices on Campus network and security (GL)&lt;br /&gt;
|-&lt;br /&gt;
| **11:30** || **Module 1: Intro to IP Addressing &amp;amp; Routing (JOINT)** (KK) [https://training.kenet.or.ke/images/7/7d/Track_2-Module_1-Introduction_to_IP_Addressing_and_Routing.pdf [2] || **Module 1:** Routing LAB (KK) || **Module 7:** LAB (Installation of AAA software TACACS+) (BO) || **Module 7:**LAB (Connecting remote sites; establish VPN connections and L2 tunnels) (BO) || **Assessment -section 1 MCQs** (CG)&lt;br /&gt;
|-&lt;br /&gt;
| **12:30** || **Module 1: DNS and its roles (JOINT)** (Akoech) [https://training.kenet.or.ke/images/b/bd/01_Track_1_A_Module_1_Introduction_to_DNS_%26_its_Role_in_Network_Security-2026.pdf [3]] || (Contd) || (Contd) || (Contd) || Assessment -section 2 - LAB (BO/KK/GL)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#efe;&amp;quot; | **13:00** || colspan=&amp;quot;1&amp;quot; style=&amp;quot;background:#efe; text-align:center;&amp;quot; | '''Lunch break - Break into respective rooms after lunch''' || colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#efe; text-align:center;&amp;quot; | '''Lunch break'''&lt;br /&gt;
|-&lt;br /&gt;
| **14:00** || **Module 1:** Continuation on IP addressing- introducing routing and switching for v4 and v6 (KK) [https://training.kenet.or.ke/images/7/7d/Track_2-Module_1-Introduction_to_IP_Addressing_and_Routing.pdf [2]] || **Module2:** IPv4 and IPv6 Security Landscape (GL) [https://training.kenet.or.ke/images/4/43/02_Track_2_B_Module2_Security_Landscape_in_IPv4_and_IPv6-2026.pdf [4]] &amp;amp; **Module3: ** Transitioning to IPv6 Strategy (GL) [https://training.kenet.or.ke/images/f/f4/03_Track_2_B_Module3_Transitioning_to_IPv6_%E2%80%93Strategy_and_Security_Considerations.pdf [5]] || **Module7:** Dual Stack Firewalling &amp;amp; Blocking Traffic (BO) [https://training.kenet.or.ke/images/4/40/Module_7_Blocking_Traffic.pdf [8]] &amp;amp; LAB (ACLs on switches and Routers) LAB (Firewall policies on switches, routers) and pFsense LAB (iptables and ipv6 tables on RADIUS or TACACS+ server) (GL/BO) || **Module8:**  Network Management &amp;amp; Asset Verification (GL) &amp;amp; **DEMO using lldp/cdp to identify connected devices (GL/BO) || **Module 5:** Compliance and DPA 2019 -security&amp;amp;safeguards (BO) [https://training.kenet.or.ke/images/2/2a/Data_protection_Overview_Kenet.pdf [12]] **Vote of Thanks (Guest Speaker:)&lt;br /&gt;
|-&lt;br /&gt;
| **16:00** || **Recap** || **Recap** || **Recap** || **Recap** || style=&amp;quot;background:#f0f0f0;&amp;quot; | (16:00 - 16:30 Final Wrap)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#eef;&amp;quot; | **16:30** || **Tea break and Day End** || **Tea break and Day End** || **Tea break and Day End** || **Tea break and Day End** || **Certificate Award** ** [https://www.surveymonkey.com/r/9XWQKX9-KENETCybersecurityPostTrainingSurvey2026 Post-Training Survey]**&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Workshop Resources==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#ffe6e6; padding:10px; border-radius:5px; margin-top:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Track 2: Network Security &amp;amp; IPv4, IPv6 Security'''&lt;br /&gt;
* [https://filesender.kenet.or.ke/download.php?token=db8229bd-fd5d-43bd-8527-b4fbdfff5bf2&amp;amp;files_ids=544 Download Track 2 Materials]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#e6f7ff; padding:10px; border-radius:5px;&amp;quot;&amp;gt;&lt;br /&gt;
'''JOINT Sessions'''&lt;br /&gt;
* [https://training.kenet.or.ke/images/d/d5/KENET_Program_Overview_ICANN_BO.pdf Download Project Overview]&lt;br /&gt;
* [https://training.kenet.or.ke/images/b/b8/ICANN_KENET_Grant_-_Project_Overview_2026.pdf Download Project Overview_2]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#e6f7ff; padding:10px; border-radius:5px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Additional Resources from NSRC -a KENET Training Partner'''&lt;br /&gt;
* [https://learn.nsrc.org/cndo/REN_ecosystem Access NSRC REN_ecosystem]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Session Photos==&lt;/div&gt;</description>
			<pubDate>Sun, 17 May 2026 21:43:12 GMT</pubDate>			<dc:creator>Admin</dc:creator>			<comments>http://training.kenet.or.ke/index.php/Talk:Nyanza_Region_Cohort:_Cybersecurity_Resilience_Workshop_-Track_2:_Securing_campus_networks_and_IT_assets</comments>		</item>
		<item>
			<title>Nyanza Region Cohort: Cybersecurity Resilience Workshop -Track 1: Securing institutional e-mail, websites and identity systems</title>
			<link>http://training.kenet.or.ke/index.php?title=Nyanza_Region_Cohort:_Cybersecurity_Resilience_Workshop_-Track_1:_Securing_institutional_e-mail,_websites_and_identity_systems&amp;diff=1759&amp;oldid=0</link>
			<guid isPermaLink="false">http://training.kenet.or.ke/index.php?title=Nyanza_Region_Cohort:_Cybersecurity_Resilience_Workshop_-Track_1:_Securing_institutional_e-mail,_websites_and_identity_systems&amp;diff=1759&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;KENET is pleased to invite you to the Cybersecurity Resilience Workshop - Track 1. This track focuses on fortifying the institutional digital perimeter by mastering the core p...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;KENET is pleased to invite you to the Cybersecurity Resilience Workshop - Track 1. This track focuses on fortifying the institutional digital perimeter by mastering the core protocols of DNS, Email, and Identity. Participants will transition from managing local services to building a &amp;quot;Circle of Trust&amp;quot; through the deployment of DNSSEC, DMARC/SPF/DKIM email protections, and eduroam infrastructure. The training will be held from April 20th-April 24th, 2026, at the Silver Palm Spa &amp;amp; Resort in Kilifi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The training will be held from April 20th to April 24th, 2026&lt;br /&gt;
&lt;br /&gt;
=Objective=&lt;br /&gt;
&lt;br /&gt;
By the end of the program, attendees will be able to architect a full-lifecycle Identity Management (IdM) system, configure an Identity Provider (IdP) for global federation, and ensure all services meet international compliance and security standards. The ultimate objective is to provide seamless, secure access to resources while protecting the institution's brand and data integrity from modern cyber threats.&lt;br /&gt;
&lt;br /&gt;
=Who Should Attend?=&lt;br /&gt;
&lt;br /&gt;
This course is designed for Cybersecurity specialists, Systems administrators and webmasters. &lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
&lt;br /&gt;
1. Laptop for the sessions with Wi-Fi capability&lt;br /&gt;
2. Intermediate to expert knowledge of Linux and the command line operations.&lt;br /&gt;
&lt;br /&gt;
=Course content=&lt;br /&gt;
'''Note''': All lab manuals and slides can be found in the [Workshop Resource Folder] at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Trainers==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:75%;&amp;quot;&lt;br /&gt;
|+ '''List of Training Team Members'''&lt;br /&gt;
! Full Name&lt;br /&gt;
! Initials (Inst.)&lt;br /&gt;
! Role&lt;br /&gt;
! Organization&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Nyanjau Kimani&lt;br /&gt;
| NK&lt;br /&gt;
| Program Manager&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Alfred Kipruto&lt;br /&gt;
| AKip&lt;br /&gt;
| Quality Assurance&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Zeinab Mzungu&lt;br /&gt;
| ZM&lt;br /&gt;
| Logistics &amp;amp; Support &lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Caroline Gachuhi&lt;br /&gt;
| CG&lt;br /&gt;
| Registration &amp;amp; Support &lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Amos Koech&lt;br /&gt;
| AKoech&lt;br /&gt;
| Trainer&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Anne Inapat&lt;br /&gt;
| AI&lt;br /&gt;
| Trainer&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Anthony Kimani&lt;br /&gt;
| AK&lt;br /&gt;
| Trainer&lt;br /&gt;
| KENET&lt;br /&gt;
|-&lt;br /&gt;
| Kevin Chege&lt;br /&gt;
| KC&lt;br /&gt;
| Trainer/Labs&lt;br /&gt;
| Consultant&lt;br /&gt;
|-&lt;br /&gt;
| Kelvin Kariuki&lt;br /&gt;
| KK&lt;br /&gt;
| Trainer &lt;br /&gt;
| MMU&lt;br /&gt;
|-&lt;br /&gt;
| Samuel Macharia&lt;br /&gt;
| SK&lt;br /&gt;
| Trainer&lt;br /&gt;
| KENET&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Participants==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TimeTable==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Master Schedule: Track 1: Securing Institutional Emails, Websites and Identity Systems&lt;br /&gt;
! Time !! Day 1 (Joint) !! Day 2  !! Day 3  !! Day 4  !! Day 5 &lt;br /&gt;
|-&lt;br /&gt;
| **07:00** || **Welcome and registrations** || colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#eee; text-align:center;&amp;quot; | ''Sessions start at 08:00''&lt;br /&gt;
|-&lt;br /&gt;
| **08:00** || **Introductions &amp;amp; Objectives (JOINT)** (AKip) || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap''' || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap''' || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap''' || style=&amp;quot;background:#f9f9f9;&amp;quot; | '''Recap'''&lt;br /&gt;
|-&lt;br /&gt;
| **08:20** || **Housekeeping (JOINT)** (ZM/Akip) || **Module 13:** Intro to Identity and Access Management (IAM) in Education (AK) [https://training.kenet.or.ke/images/e/e0/Track_1_Introduction_to_Identity_Management_in_Educational_Institutions.pdf [5]] || **Module 3:** Email Security Basics (KK) [https://training.kenet.or.ke/images/4/4b/03_Track_1_A_Module_3_Email_Security_Basics.pdf [10]] || *Module 9:** Installing and Configuring an Identity Provider (AK) || **Module 17:** Future of Identity and Trust in Education(AK) [https://training.kenet.or.ke/images/0/05/Track_1_Module_17_Future_of_Identity_and_Trust_in_Education.pdf [14]]&lt;br /&gt;
|-&lt;br /&gt;
| **08:35** || style=&amp;quot;background:#f0f0f0;&amp;quot; | (08:35 - 09:00 Joint Session) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (Contd)&lt;br /&gt;
|-&lt;br /&gt;
| **09:00** || **ICANN Grant Funded Training Project - an overview (JOINT)** (AKip/NK/BO)&lt;br /&gt;
[https://training.kenet.or.ke/images/6/60/ICANN_KENET_Grant_-_Project_Overview_2026-2.pdf [1]] &lt;br /&gt;
[https://training.kenet.or.ke/images/d/d5/KENET_Program_Overview_ICANN_BO.pdf [1.2]] &lt;br /&gt;
[https://www.surveymonkey.com/results/SM-sWBpp5INtmvcdIcDykpfkg_3D_3D/ [1.13]&lt;br /&gt;
|| **Module 14:** Authentication and Authorization Protocols (AK) [https://training.kenet.or.ke/images/4/44/Track_1_Authentication_and_Authorization_Protocols.pdf [6]] || **Module 4:** Securing Email (DKIM, SPF, DMARC) (Akoech/KK) [https://training.kenet.or.ke/images/d/d3/Track_1_Module_4_Secure_Email_Authentication_2026.pdf [11]] || (Contd) || **Module 12: ** Best Practices for eduroam, and IdP** (AI/AK) &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#eef;&amp;quot; | **10:00** || colspan=&amp;quot;5&amp;quot; style=&amp;quot;background:#eef; text-align:center;&amp;quot; | '''Tea break (10:00 – 10:30)'''&lt;br /&gt;
|-&lt;br /&gt;
| **10:30** ||  **Lab Environment &amp;amp; Topology Walkthrough (Lab Support)** (KC) [https://training-labs.kenet.or.ke [1.3]] &amp;amp; Bootcamp Refresher -Linux (SK) Networking (KK) || **Module 15:** Federated Identity &amp;amp; Trust (AK) [https://training.kenet.or.ke/images/b/b6/Track_1_Federated_Identity_and_Trust.pdf [7]] || (Contd) || (Contd) || Assessment -section 1 MCQs** (ZM) &lt;br /&gt;
|-&lt;br /&gt;
| **11:30** || **Module 1 on Intro to IP addressing and Routing (JOINT)** (KK) [https://training.kenet.or.ke/images/7/7d/Track_2-Module_1-Introduction_to_IP_Addressing_and_Routing.pdf [2]] || **Module 14:** LDAP Identity Management Lab (AK) || **Module 6:** Best Practices for Securing Managed Email Services (KK) [https://training.kenet.or.ke/images/3/32/Track_1-Module_6-Best_Practices_for_Managed_Email_S.pdf [12]] || (Contd) || Assessment -section 2 - LAB&lt;br /&gt;
|-&lt;br /&gt;
| **12:30** || **Module 1: DNS and its roles (JOINT)** (Akoech) [https://training.kenet.or.ke/images/b/bd/01_Track_1_A_Module_1_Introduction_to_DNS_%26_its_Role_in_Network_Security-2026.pdf [3]] || (Contd) || (Contd) || (Contd) || (Contd)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#efe;&amp;quot; | **13:00** || colspan=&amp;quot;1&amp;quot; style=&amp;quot;background:#efe; text-align:center;&amp;quot; | '''Lunch break - Break into respective rooms after lunch''' || colspan=&amp;quot;4&amp;quot; style=&amp;quot;background:#efe; text-align:center;&amp;quot; | '''Lunch break'''&lt;br /&gt;
|-&lt;br /&gt;
| **14:00** || **Module 2: DNS Security &amp;amp; DNS Security Lab** (AKoech) [https://training.kenet.or.ke/images/b/bd/01_Track_1_A_Module_1_Introduction_to_DNS_%26_its_Role_in_Network_Security-2026.pdf [4]] || **Module 8:** Secure Wi-Fi Authentication (eduroam &amp;amp; RADIUS) (SK/AI) [https://training.kenet.or.ke/images/1/12/Implementing_Secure_Wi-Fi_Authentication_Using_FreeRADIUS.pdf [8]] &amp;amp; **Module 8:** Implementing Secure Wi-Fi Authentication Using FreeRADIUS Lab (AI/SK) [https://training.kenet.or.ke/images/a/ae/Module_8_Lab_Freeradius.pdf [9]] || **Module 5:** Common Web Vulnerabilities&amp;amp; Security Assessment Lab (Akoech/KK)  || **Module 10:** eduroam/freeRADIUS Monitoring &amp;amp; Troubleshooting (SK/AI) &amp;amp; LAB (Configuring and propagating eduroam SSID on AP controller) (SK)&lt;br /&gt;
 || **Module 5:** Compliance and DPA 2019 -security&amp;amp;safeguards (NK) [https://training.kenet.or.ke/images/2/2a/Data_protection_Overview_Kenet.pdf [15]] **Vote of Thanks (Guest Speaker)&lt;br /&gt;
|-&lt;br /&gt;
| **16:00** || **Recap** (All) || **Recap** (All) || **Recap** (All) || **Recap** (All) || style=&amp;quot;background:#f0f0f0;&amp;quot; | (16:00 - 16:30 **Certificate Award** **Post-Training Survey**)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#eef;&amp;quot; | **16:30** || **Tea break and Day End** || **Tea break and Day End** || **Tea break and Day End** || **Tea break and Day End** || **Tea break &amp;amp; End of Training!**&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Training Feedback Survey==&lt;br /&gt;
&lt;br /&gt;
==Workshop Training Resources==&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#e6ffe6; padding:10px; border-radius:5px; margin-top:10px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Track 1: Securing Domains, Email, Web &amp;amp; Identity and Federation Services'''&lt;br /&gt;
* [https://filesender.kenet.or.ke/download.php?token=db8229bd-fd5d-43bd-8527-b4fbdfff5bf2&amp;amp;files_ids=543 Download Track 1 Resources]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#e6f7ff; padding:10px; border-radius:5px;&amp;quot;&amp;gt;&lt;br /&gt;
'''JOINT Sessions'''&lt;br /&gt;
* [https://training.kenet.or.ke/images/d/d5/KENET_Program_Overview_ICANN_BO.pdf Download Project Overview]&lt;br /&gt;
* [https://training.kenet.or.ke/images/b/b8/ICANN_KENET_Grant_-_Project_Overview_2026.pdf Download Project Overview_2]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color:#e6f7ff; padding:10px; border-radius:5px;&amp;quot;&amp;gt;&lt;br /&gt;
'''Additional Resources from NSRC -a KENET Training Partner'''&lt;br /&gt;
* [https://learn.nsrc.org/cndo/REN_ecosystem Access NSRC REN_ecosystem]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Session Photos==&lt;/div&gt;</description>
			<pubDate>Sun, 17 May 2026 21:41:36 GMT</pubDate>			<dc:creator>Admin</dc:creator>			<comments>http://training.kenet.or.ke/index.php/Talk:Nyanza_Region_Cohort:_Cybersecurity_Resilience_Workshop_-Track_1:_Securing_institutional_e-mail,_websites_and_identity_systems</comments>		</item>
		<item>
			<title>Main Page</title>
			<link>http://training.kenet.or.ke/index.php?title=Main_Page&amp;diff=1758&amp;oldid=1751</link>
			<guid isPermaLink="false">http://training.kenet.or.ke/index.php?title=Main_Page&amp;diff=1758&amp;oldid=1751</guid>
			<description>&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;2026 Workshops&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:22, 17 May 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l76&quot; &gt;Line 76:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 76:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[ Coast Region Cohort: Cybersecurity Resilience Workshop -Track 2: Securing campus networks and IT assets ]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[ Coast Region Cohort: Cybersecurity Resilience Workshop -Track 2: Securing campus networks and IT assets ]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 20th April - 24th April, 2026&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 20th April - 24th April, 2026&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| Focuses on network security and protocol transition. Participants learn to design and operate secure networks with modern security principles, implement IPv4 and IPv6 security measures in dual-stack environments and integrate network security considerations into infrastructure planning &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Network Engineers /Administrators. At least two (2) years’ experience&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&amp;#160; &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; Registration Closed&amp;lt;/span&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&amp;#160; &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; Registration Closed&amp;lt;/span&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| 8&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|[[ Nyanza Region Cohort: Cybersecurity Resilience Workshop -Track 1: Securing institutional e-mail, websites and identity systems ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| 18th May - 22nd May, 2026 &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| Focuses on domain and email security, federated identity, and trust services. Participants gain hands-on experience in proper domain records configuration to prevent spoofing, identify email threats and ways to mitigate and remediate as well as managing federated identity systems.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cybersecurity Specialists, Webmasters and Systems Administrators. At least two (2) years’ experience&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&amp;#160; &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;quot;&amp;gt; Registration Closed&amp;lt;/span&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&amp;#160; &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; Registration Closed&amp;lt;/span&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| 9&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|[[ Nyanza Region Cohort: Cybersecurity Resilience Workshop -Track 2: Securing campus networks and IT assets ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| 18th May - 22nd May, 2026&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Focuses on network security and protocol transition. Participants learn to design and operate secure networks with modern security principles, implement IPv4 and IPv6 security measures in dual-stack environments and integrate network security considerations into infrastructure planning &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Focuses on network security and protocol transition. Participants learn to design and operate secure networks with modern security principles, implement IPv4 and IPv6 security measures in dual-stack environments and integrate network security considerations into infrastructure planning &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 17 May 2026 21:22:15 GMT</pubDate>			<dc:creator>Admin</dc:creator>			<comments>http://training.kenet.or.ke/index.php/Talk:Main_Page</comments>		</item>
	</channel>
</rss>