<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://training.kenet.or.ke/index.php?action=history&amp;feed=atom&amp;title=Code_server</id>
		<title>Code server - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://training.kenet.or.ke/index.php?action=history&amp;feed=atom&amp;title=Code_server"/>
		<link rel="alternate" type="text/html" href="http://training.kenet.or.ke/index.php?title=Code_server&amp;action=history"/>
		<updated>2026-05-15T11:52:59Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>http://training.kenet.or.ke/index.php?title=Code_server&amp;diff=1474&amp;oldid=prev</id>
		<title>Atambo at 19:57, 9 January 2026</title>
		<link rel="alternate" type="text/html" href="http://training.kenet.or.ke/index.php?title=Code_server&amp;diff=1474&amp;oldid=prev"/>
				<updated>2026-01-09T19:57:28Z</updated>
		
		<summary type="html">&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 19:57, 9 January 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-l8&quot; &gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&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;'''Access:''' VS Code is available through the KENET Open OnDemand web portal at https://ondemand.vlab.ac.ke&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;'''Access:''' VS Code is available through the KENET Open OnDemand web portal at https://ondemand.vlab.ac.ke&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;−&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;'''Code Examples:''' All code examples for this tutorial are available in our GitHub repository at https://github.com/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;KENET&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;HPC&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ood&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;tutorials&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;'''Code Examples:''' All code examples for this tutorial are available in our GitHub repository at https://github.com/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Materials&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Modelling-Group&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;training&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;examples&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;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;----&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;----&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;== Prerequisites ==&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;== Prerequisites ==&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;−&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;Before using VS Code, you should have an active KENET HPC cluster account with access to the Open OnDemand portal. Basic familiarity with a programming language such as Python, R, or shell scripting will be helpful. Your project files should be stored in your home directory at &amp;lt;code&amp;gt;/home/username/&amp;lt;/code&amp;gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;or in the scratch directory at &amp;lt;code&amp;gt;/scratch/username/&amp;lt;/code&amp;gt; for collaborative projects.&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;Before using VS Code, you should have an active KENET HPC cluster account with access to the Open OnDemand portal. Basic familiarity with a programming language such as Python, R, or shell scripting will be helpful. Your project files should be stored in your home directory at &amp;lt;code&amp;gt;/home/username/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;localscratch&lt;/ins&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 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;----&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;----&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-l62&quot; &gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 61:&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;=== Opening Files and Folders ===&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;=== Opening Files and Folders ===&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;To begin working with your files, click '''File &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;→ &lt;/del&gt;Open Folder''' from the menu. Navigate to your home directory or project folder at &amp;lt;code&amp;gt;/home/username/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/scratch/username/project/&lt;/del&gt;&amp;lt;/code&amp;gt; and click '''OK''' to open the workspace. The Explorer view in the Side Bar will now display your project structure, allowing you to browse and open files with a single click.&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;To begin working with your files, click '''File &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-&amp;gt; &lt;/ins&gt;Open Folder''' from the menu. Navigate to your home directory or project folder at &amp;lt;code&amp;gt;/home/username/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;localscratch&lt;/ins&gt;&amp;lt;/code&amp;gt; and click '''OK''' to open the workspace. The Explorer view in the Side Bar will now display your project structure, allowing you to browse and open files with a single click.&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;=== Creating Your First Python File ===&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;=== Creating Your First Python File ===&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-l202&quot; &gt;Line 202:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 201:&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;For learning VS Code effectively, Microsoft provides interactive tutorials at https://code.visualstudio.com/learn and video courses at https://learn.microsoft.com/en-us/shows/intro-to-vs-code/. The VS Code tips and tricks page at https://code.visualstudio.com/docs/getstarted/tips-and-tricks contains many productivity-enhancing shortcuts and features.&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;For learning VS Code effectively, Microsoft provides interactive tutorials at https://code.visualstudio.com/learn and video courses at https://learn.microsoft.com/en-us/shows/intro-to-vs-code/. The VS Code tips and tricks page at https://code.visualstudio.com/docs/getstarted/tips-and-tricks contains many productivity-enhancing shortcuts and features.&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;−&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;'''Code Examples Repository:''' All code examples referenced in this tutorial are available at https://github.com/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;KENET&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;HPC&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ood&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;tutorials&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;'''Code Examples Repository:''' All code examples referenced in this tutorial are available at https://github.com/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Materials&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Modelling-Group&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;training&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;examples&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;/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;For support, contact KENET at support@kenet.or.ke, consult the documentation at https://training.kenet.or.ke, or access the Open OnDemand portal at https://ondemand.vlab.ac.ke.&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;For support, contact KENET at support@kenet.or.ke, consult the documentation at https://training.kenet.or.ke, or access the Open OnDemand portal at https://ondemand.vlab.ac.ke.&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-l208&quot; &gt;Line 208:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 207:&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;----&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;----&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;−&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version Information ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This tutorial documents VS Code version 1.85 or later running through Open OnDemand. The VS Code installation is located at &amp;lt;code&amp;gt;/opt/ohpc/pub/codes/ood/code-server&amp;lt;/code&amp;gt; on the cluster. This tutorial was last updated on 2026-01-09 and is currently at version 1.0.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;----&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;== Feedback ==&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;== Feedback ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Atambo</name></author>	</entry>

	<entry>
		<id>http://training.kenet.or.ke/index.php?title=Code_server&amp;diff=1473&amp;oldid=prev</id>
		<title>Atambo: Created page with &quot;= VS Code (Web) Tutorial - KENET HPC Cluster =  == Overview == '''VS Code''' is a powerful, modern code editor that runs in your web browser, providing a full development envi...&quot;</title>
		<link rel="alternate" type="text/html" href="http://training.kenet.or.ke/index.php?title=Code_server&amp;diff=1473&amp;oldid=prev"/>
				<updated>2026-01-09T19:42:18Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= VS Code (Web) Tutorial - KENET HPC Cluster =  == Overview == &amp;#039;&amp;#039;&amp;#039;VS Code&amp;#039;&amp;#039;&amp;#039; is a powerful, modern code editor that runs in your web browser, providing a full development envi...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= VS Code (Web) Tutorial - KENET HPC Cluster =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
'''VS Code''' is a powerful, modern code editor that runs in your web browser, providing a full development environment with syntax highlighting, debugging, Git integration, and extensions. It offers the complete VS Code experience without requiring any local installation, making it ideal for cloud-based development on the KENET HPC cluster.&lt;br /&gt;
&lt;br /&gt;
'''Use Cases:''' VS Code is particularly well-suited for Python, R, and Julia development with data analysis workflows, editing configuration files and scripts directly on the cluster, interactive debugging with breakpoints and variable inspection, Git version control for research code management, Jupyter notebook development within the editor, and multi-language project development with a single interface.&lt;br /&gt;
&lt;br /&gt;
'''Access:''' VS Code is available through the KENET Open OnDemand web portal at https://ondemand.vlab.ac.ke&lt;br /&gt;
&lt;br /&gt;
'''Code Examples:''' All code examples for this tutorial are available in our GitHub repository at https://github.com/KENET-HPC/ood-tutorials&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
Before using VS Code, you should have an active KENET HPC cluster account with access to the Open OnDemand portal. Basic familiarity with a programming language such as Python, R, or shell scripting will be helpful. Your project files should be stored in your home directory at &amp;lt;code&amp;gt;/home/username/&amp;lt;/code&amp;gt; or in the scratch directory at &amp;lt;code&amp;gt;/scratch/username/&amp;lt;/code&amp;gt; for collaborative projects.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Launching VS Code ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Access Interactive Apps ===&lt;br /&gt;
Begin by logging into Open OnDemand at https://ondemand.vlab.ac.ke using your KENET credentials. Once logged in, click the '''Interactive Apps''' menu in the top navigation bar, then select '''VS Code''' from the dropdown list of available applications.&lt;br /&gt;
&lt;br /&gt;
[[File:OOD_VSCode_Menu.png|thumb|600px|center|Navigate to Interactive Apps → VS Code]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Configure Job Parameters ===&lt;br /&gt;
The job submission form allows you to specify the computational resources needed for your VS Code session. For most development work, modest resources are sufficient since you are primarily editing code rather than running intensive computations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Description !! Recommended Value&lt;br /&gt;
|-&lt;br /&gt;
| '''Partition''' || Queue for job execution || &amp;lt;code&amp;gt;normal&amp;lt;/code&amp;gt; for general development&lt;br /&gt;
|-&lt;br /&gt;
| '''Walltime''' || Maximum runtime in hours || &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; hours for development sessions&lt;br /&gt;
|-&lt;br /&gt;
| '''CPU Cores''' || Number of processor cores || &amp;lt;code&amp;gt;2-4&amp;lt;/code&amp;gt; cores for typical work&lt;br /&gt;
|-&lt;br /&gt;
| '''Memory''' || RAM allocation || &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; GB is sufficient for most tasks&lt;br /&gt;
|-&lt;br /&gt;
| '''Working Directory''' || Starting directory || &amp;lt;code&amp;gt;/home/username&amp;lt;/code&amp;gt; or your project folder&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:OOD_VSCode_Form.png|thumb|600px|center|Job configuration form with recommended settings]]&lt;br /&gt;
&lt;br /&gt;
'''Tip:''' VS Code itself is lightweight, so you typically do not need large resource allocations unless you plan to run computational tasks from the integrated terminal.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Submit and Wait ===&lt;br /&gt;
After configuring your job parameters, click the '''Launch''' button to submit your job to the cluster scheduler. The job will initially show a &amp;quot;Queued&amp;quot; status while waiting for resources to become available. Once resources are allocated (typically within 30-60 seconds), the status will change to &amp;quot;Running&amp;quot; and a '''Connect to VS Code''' button will appear. Click this button to open your VS Code session in a new browser tab.&lt;br /&gt;
&lt;br /&gt;
[[File:OOD_VSCode_Running.png|thumb|600px|center|Session card showing &amp;quot;Running&amp;quot; status with Connect button]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Quick Start Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Understanding the VS Code Interface ===&lt;br /&gt;
When VS Code opens, you will see a clean interface divided into several key areas. The Activity Bar on the far left provides access to different views such as Explorer, Search, Source Control, and Extensions. The Side Bar displays the content of the selected view. The Editor area in the center is where you write and edit your code. The Panel at the bottom can show the integrated terminal, problems, output, and debug console.&lt;br /&gt;
&lt;br /&gt;
[[File:VSCode_Interface.png|thumb|600px|center|VS Code web interface on first load]]&lt;br /&gt;
&lt;br /&gt;
=== Opening Files and Folders ===&lt;br /&gt;
To begin working with your files, click '''File → Open Folder''' from the menu. Navigate to your home directory or project folder at &amp;lt;code&amp;gt;/home/username/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/scratch/username/project/&amp;lt;/code&amp;gt; and click '''OK''' to open the workspace. The Explorer view in the Side Bar will now display your project structure, allowing you to browse and open files with a single click.&lt;br /&gt;
&lt;br /&gt;
=== Creating Your First Python File ===&lt;br /&gt;
To create a new Python file, right-click in the Explorer view and select '''New File''', then name it with a &amp;lt;code&amp;gt;.py&amp;lt;/code&amp;gt; extension. See the &amp;lt;code&amp;gt;examples/01_hello_cluster.py&amp;lt;/code&amp;gt; file in our GitHub repository for a simple example to get started. Type or paste the code into the editor and save with Ctrl+S.&lt;br /&gt;
&lt;br /&gt;
=== Running Code ===&lt;br /&gt;
There are multiple ways to execute your code in VS Code. You can use the integrated terminal by pressing Ctrl+` (backtick) to open it, then type commands like &amp;lt;code&amp;gt;python script.py&amp;lt;/code&amp;gt; to run your code. Alternatively, if you have the Python extension installed, you can right-click in the editor and select &amp;quot;Run Python File in Terminal&amp;quot; for a more streamlined experience.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Installing Extensions ==&lt;br /&gt;
&lt;br /&gt;
Extensions significantly enhance VS Code's capabilities. To browse and install extensions, click the '''Extensions''' icon in the Activity Bar (it looks like four squares with one detached) or press Ctrl+Shift+X.&lt;br /&gt;
&lt;br /&gt;
=== Essential Extensions ===&lt;br /&gt;
&lt;br /&gt;
The '''Python extension by Microsoft''' provides comprehensive Python language support including IntelliSense code completion, linting, debugging, and Jupyter notebook integration. Search for &amp;quot;Python&amp;quot; in the extensions marketplace and click '''Install'''.&lt;br /&gt;
&lt;br /&gt;
The '''Jupyter extension''' enables you to create and run Jupyter notebooks directly within VS Code, combining the power of notebooks with the full editor experience. This is particularly useful for data science workflows.&lt;br /&gt;
&lt;br /&gt;
The '''GitLens extension''' enhances Git capabilities by showing code authorship, commit history inline, and providing powerful repository visualization tools. This helps you understand how your code has evolved over time.&lt;br /&gt;
&lt;br /&gt;
The '''Remote - SSH extension''' allows you to connect to other systems, though this is less relevant when you are already working on the cluster through Open OnDemand.&lt;br /&gt;
&lt;br /&gt;
See &amp;lt;code&amp;gt;extensions/recommended_extensions.md&amp;lt;/code&amp;gt; in our GitHub repository for a complete list of useful extensions for HPC development.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Task 1: Working with the Integrated Terminal ===&lt;br /&gt;
&lt;br /&gt;
The integrated terminal in VS Code provides full access to the cluster's command line environment. Press Ctrl+` to open it, or go to '''Terminal → New Terminal''' from the menu. The terminal opens in your working directory and has access to all loaded environment modules. See the &amp;lt;code&amp;gt;examples/02_terminal_usage.sh&amp;lt;/code&amp;gt; file for examples of common terminal commands you will use frequently.&lt;br /&gt;
&lt;br /&gt;
You can open multiple terminal instances by clicking the plus icon in the terminal panel. This is useful when you want to run a long computation in one terminal while keeping another available for quick commands. Split terminals are also available by clicking the split icon.&lt;br /&gt;
&lt;br /&gt;
=== Task 2: Git Version Control ===&lt;br /&gt;
&lt;br /&gt;
VS Code provides excellent Git integration for managing your code versions. To initialize a Git repository, open the Source Control view from the Activity Bar (the branch icon) and click '''Initialize Repository'''. This creates a new Git repository in your current workspace folder.&lt;br /&gt;
&lt;br /&gt;
The Source Control view shows all modified files. To commit changes, stage the files you want to include by clicking the plus icon next to each file, enter a commit message in the text box at the top, and click the checkmark to commit. See &amp;lt;code&amp;gt;examples/03_git_workflow.sh&amp;lt;/code&amp;gt; in our GitHub repository for a complete workflow including connecting to remote repositories.&lt;br /&gt;
&lt;br /&gt;
=== Task 3: Python Development and Debugging ===&lt;br /&gt;
&lt;br /&gt;
VS Code offers powerful debugging capabilities for Python code. To debug a script, open your Python file and click in the left margin next to line numbers to set breakpoints (red dots will appear). Press F5 or go to '''Run → Start Debugging''' to begin a debug session. The code will run until it hits a breakpoint, then you can inspect variables, step through code line by line, and evaluate expressions.&lt;br /&gt;
&lt;br /&gt;
The Debug Console allows you to execute Python code in the context of your paused program. The Variables pane shows all local and global variables with their current values. See &amp;lt;code&amp;gt;examples/04_debugging_example.py&amp;lt;/code&amp;gt; for a sample script with common debugging scenarios.&lt;br /&gt;
&lt;br /&gt;
=== Task 4: Working with Jupyter Notebooks ===&lt;br /&gt;
&lt;br /&gt;
After installing the Jupyter extension, you can create and run notebooks directly in VS Code. Create a new file with a &amp;lt;code&amp;gt;.ipynb&amp;lt;/code&amp;gt; extension, and VS Code will open it in notebook mode. Click the plus icon to add cells, and use the play button or Shift+Enter to execute cells.&lt;br /&gt;
&lt;br /&gt;
The advantage of using notebooks in VS Code is that you get the full editor features including IntelliSense, debugging, and Git integration while maintaining the interactive cell-based workflow. See &amp;lt;code&amp;gt;examples/05_notebook_in_vscode.ipynb&amp;lt;/code&amp;gt; for an example notebook demonstrating data analysis workflows.&lt;br /&gt;
&lt;br /&gt;
=== Task 5: Multi-file Project Development ===&lt;br /&gt;
&lt;br /&gt;
For larger projects with multiple files, VS Code provides excellent navigation and refactoring tools. Use Ctrl+P to quickly open files by name. Use F12 to jump to function or class definitions across files. Use Shift+F12 to find all references to a function or variable throughout your project.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;projects/data_pipeline/&amp;lt;/code&amp;gt; directory in our GitHub repository demonstrates a multi-file Python project structure with proper organization, imports, and configuration files.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Tips &amp;amp; Best Practices ==&lt;br /&gt;
&lt;br /&gt;
=== Performance Optimization ===&lt;br /&gt;
&lt;br /&gt;
For optimal performance, request 2-4 cores for typical development work. Close unused editor tabs to keep the interface responsive. Use the search functionality sparingly on large directories, as it can be resource-intensive. Save your work frequently using Ctrl+S, though VS Code does provide auto-save which you can enable in '''File → Auto Save'''.&lt;br /&gt;
&lt;br /&gt;
=== Keyboard Shortcuts ===&lt;br /&gt;
&lt;br /&gt;
Learning keyboard shortcuts significantly improves productivity. Press Ctrl+Shift+P to open the Command Palette, which provides access to all VS Code commands through a searchable interface. Use Ctrl+B to toggle the Side Bar visibility for more editor space. Press Ctrl+` to toggle the terminal. Use Ctrl+/ to comment or uncomment lines of code. Press Alt+Up or Alt+Down to move lines up or down.&lt;br /&gt;
&lt;br /&gt;
=== Session Management ===&lt;br /&gt;
&lt;br /&gt;
VS Code sessions run for the duration of your requested walltime. Your workspace state including open files, editor layout, and terminal sessions persists as long as the session is running. If you close the browser tab, you can reconnect by clicking the '''Connect to VS Code''' button again on the session card. However, once the walltime expires, the session terminates and unsaved work will be lost.&lt;br /&gt;
&lt;br /&gt;
=== Security Best Practices ===&lt;br /&gt;
&lt;br /&gt;
Never commit credentials or API keys to Git repositories. Use a &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; file to exclude sensitive configuration files from version control. Keep API keys in environment variables or in configuration files that are explicitly excluded from Git. The &amp;lt;code&amp;gt;examples/06_security_patterns.py&amp;lt;/code&amp;gt; file demonstrates secure ways to handle credentials.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Example Workflows ==&lt;br /&gt;
&lt;br /&gt;
=== Example 1: Data Analysis Script Development ===&lt;br /&gt;
&lt;br /&gt;
'''Objective:''' Develop and test a Python script for data processing with proper error handling and logging.&lt;br /&gt;
&lt;br /&gt;
Begin by launching VS Code with 4 cores and a 4-hour walltime. Open your project directory containing your data files. Create a new Python file and follow the structure shown in &amp;lt;code&amp;gt;workflows/01_data_analysis_script.py&amp;lt;/code&amp;gt; from our GitHub repository.&lt;br /&gt;
&lt;br /&gt;
The workflow demonstrates loading data from CSV files, implementing error handling with try-except blocks, adding logging to track execution progress, processing data with pandas, generating visualizations, and exporting results. Use the integrated terminal to test your script with sample data before running it on the full dataset. The debugger helps identify and fix issues quickly when they arise.&lt;br /&gt;
&lt;br /&gt;
=== Example 2: Version Controlled Research Project ===&lt;br /&gt;
&lt;br /&gt;
'''Objective:''' Create a research analysis project with Git version control for reproducibility and collaboration.&lt;br /&gt;
&lt;br /&gt;
Launch VS Code and open your project folder. Initialize a Git repository using the Source Control view. Follow the project structure shown in &amp;lt;code&amp;gt;workflows/02_research_project/&amp;lt;/code&amp;gt; which includes a README file documenting the project, Python scripts organized by function, a requirements file listing dependencies, a data directory (excluded from Git), a results directory for outputs, and a proper &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
Make regular commits as you develop your analysis. Push changes to a remote repository on GitHub or GitLab for backup and collaboration. The workflow demonstrates how to create meaningful commit messages, work with branches for experimental features, and merge changes back into the main branch.&lt;br /&gt;
&lt;br /&gt;
=== Example 3: Machine Learning Development ===&lt;br /&gt;
&lt;br /&gt;
'''Objective:''' Develop and iterate on machine learning models with organized code structure and experiment tracking.&lt;br /&gt;
&lt;br /&gt;
Launch VS Code with the GPU partition if you need GPU acceleration. The &amp;lt;code&amp;gt;workflows/03_ml_development/&amp;lt;/code&amp;gt; directory demonstrates a complete ML project structure including data preprocessing modules, model definition files, training scripts with hyperparameter configuration, evaluation and visualization code, and notebooks for exploration.&lt;br /&gt;
&lt;br /&gt;
Use VS Code's debugging capabilities to step through model training and inspect tensor shapes and values. The integrated terminal allows you to run training jobs while you continue editing code. Use Git to track different model architectures and hyperparameter configurations.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Problem: Extensions won't install ===&lt;br /&gt;
&lt;br /&gt;
Extension installation failures typically occur due to network issues or permissions problems. First, try closing and reopening VS Code. Check that you have write access to your home directory with the command &amp;lt;code&amp;gt;ls -la ~&amp;lt;/code&amp;gt; in the terminal. If the problem persists, some extensions may not be compatible with the web version of VS Code. Consider using alternative extensions with similar functionality.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Terminal not opening or freezing ===&lt;br /&gt;
&lt;br /&gt;
If the integrated terminal fails to open or becomes unresponsive, first try closing the terminal panel and opening a new one with Ctrl+`. If that does not work, check the cluster status to ensure the compute node is responsive. As a last resort, disconnect from the session and reconnect using the '''Connect to VS Code''' button. If problems continue, contact KENET support as there may be an issue with the compute node.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Cannot access files or folders ===&lt;br /&gt;
&lt;br /&gt;
File access problems usually indicate permission issues or incorrect paths. Verify the path by running &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt; in the terminal to see your current directory. Check file permissions with &amp;lt;code&amp;gt;ls -la /path/to/file&amp;lt;/code&amp;gt;. Ensure you are trying to access files within your home directory or areas where you have been granted access. You cannot access files in other users' home directories without explicit permission.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Git authentication failing ===&lt;br /&gt;
&lt;br /&gt;
When pushing to remote repositories, you may encounter authentication failures. GitHub no longer accepts password authentication, so you must use a personal access token or SSH keys. See &amp;lt;code&amp;gt;examples/03_git_workflow.sh&amp;lt;/code&amp;gt; for instructions on setting up SSH keys for Git authentication. Alternatively, use HTTPS with a personal access token stored securely.&lt;br /&gt;
&lt;br /&gt;
=== Problem: Python interpreter not found ===&lt;br /&gt;
&lt;br /&gt;
If the Python extension cannot find the Python interpreter, you need to select it manually. Press Ctrl+Shift+P to open the Command Palette, type &amp;quot;Python: Select Interpreter&amp;quot;, and choose from the available Python installations. The cluster modules you loaded before launching VS Code should be available. If not, you can load modules in the integrated terminal with &amp;lt;code&amp;gt;module load&amp;lt;/code&amp;gt; commands.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Additional Resources ==&lt;br /&gt;
&lt;br /&gt;
The official VS Code documentation is available at https://code.visualstudio.com/docs and provides comprehensive information about all features and capabilities. The Python in VS Code guide at https://code.visualstudio.com/docs/python/python-tutorial is particularly useful for data science workflows. KENET HPC usage guidelines are documented at https://training.kenet.or.ke/index.php/HPC_Usage.&lt;br /&gt;
&lt;br /&gt;
For learning VS Code effectively, Microsoft provides interactive tutorials at https://code.visualstudio.com/learn and video courses at https://learn.microsoft.com/en-us/shows/intro-to-vs-code/. The VS Code tips and tricks page at https://code.visualstudio.com/docs/getstarted/tips-and-tricks contains many productivity-enhancing shortcuts and features.&lt;br /&gt;
&lt;br /&gt;
'''Code Examples Repository:''' All code examples referenced in this tutorial are available at https://github.com/KENET-HPC/ood-tutorials&lt;br /&gt;
&lt;br /&gt;
For support, contact KENET at support@kenet.or.ke, consult the documentation at https://training.kenet.or.ke, or access the Open OnDemand portal at https://ondemand.vlab.ac.ke.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Version Information ==&lt;br /&gt;
&lt;br /&gt;
This tutorial documents VS Code version 1.85 or later running through Open OnDemand. The VS Code installation is located at &amp;lt;code&amp;gt;/opt/ohpc/pub/codes/ood/code-server&amp;lt;/code&amp;gt; on the cluster. This tutorial was last updated on 2026-01-09 and is currently at version 1.0.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Feedback ==&lt;br /&gt;
&lt;br /&gt;
If you encounter issues or have suggestions for improving this tutorial, please contact KENET support or submit feedback through the Open OnDemand interface using the feedback button.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Back to:''' [[KENET Open OnDemand | Easy HPC access with KENET Open OnDemand]]&lt;/div&gt;</summary>
		<author><name>Atambo</name></author>	</entry>

	</feed>