<html>#2577: CactusTutorial.ipynb contains code only suitable or tutorial server
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td>development version</td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>EinsteinToolkit Virtual Machine</td></tr>
</table>

<p>The tutorial notebook is intended for both use inside of the tutorial server (and docker image) as well as users' own jupyer notebook server in their account and finally as a read-only, offline version.</p>
<p>The current notebook contains instances of code that will fail or do dangerous things on a user’s laptop. Namley:</p>
<div class="codehilite language-python"><pre><span></span><span class="kn">import</span> <span class="nn">scrolldown</span>
</pre></div>


<p>will fail unless a Python module <code>scrolldown</code> is available. This should be encased in a <code>try:... except ModuleNotFoundError</code> block. </p>
<p>And</p>
<div class="codehilite language-shell"><pre><span></span><span class="nb">cd</span> ~/
rm -fr ~/Cactus
tar xzf ~etuser/Cactus.tar.gz
</pre></div>


<p>which is very dangerous since it will remove any <code>Cactus</code> directory in a user’s $HOME which is a bad thing to do for offline use where users may want to use a different directory (eg GW150914 or so). The tarbal will also only exist on the notebook server and thus <code>tar</code> will fail on private jupyter notebook servers or in offline use. This can confuse potential new users that expect to be able to enter each command in the notebook and thus be able to run Cactus.</p>
<p>This cell should be protect by some bash-level if statements that check if it is being run on the notebook server and a comment that this cell will only be used on the notebook server added to the cell as a shell comment (so that it cannot be lost).</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2577/cactustutorialipynb-contains-code-only'>https://bitbucket.org/einsteintoolkit/tickets/issues/2577/cactustutorialipynb-contains-code-only</a></p>
</html>