<br><br><div class="gmail_quote">On Wed, Jun 20, 2012 at 1:31 AM, Thomas Pfaff <span dir="ltr">&lt;<a href="mailto:toromtomtom@googlemail.com" target="_blank">toromtomtom@googlemail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi everyone,<br>
<br>
I&#39;m using Ipython 0.12, python 2.6.6, 32-bit on a Windows7 x64 system.<br>
I *love* the notebook. It has revolutionized the way I work with<br>
python and on my data.<br>
For the first time, it feels really natural to explore data<br>
interactively, have the plots inline, and do the documentation<br>
instantly.<br>
Thank you for this awesome piece of software!<br>
<br>
But now enough of the praise, back to business.<br>
<br>
There are a few things that kind of bother me, still and I wonder if<br>
I&#39;m alone with those.<br>
These are:<br>
<br>
1. My notebooks are timing out too fast and too often.<br>
<br>
If there is the slightest load on my PC, I usually get the message<br>
that the Kernel has died even when opening a notebook for the first<br>
time. Needless to say that these local kernels are enjoying perfect<br>
health and can be connected to by qtconsoles without any problems.<br>
Also, often I get timeouts when returning from suspend, which is<br>
especially annoying because that is what suspend is for. Getting back<br>
to your work without having to re-run everything.<br>
Is there a way to increase the timeout for the notebook as a first workaround?<br></blockquote><div><br></div><div>This was a bug discovered and fixed almost immediately after the 0.12 release.  It is pretty much the only reason there was an 0.12.1 release.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
2. I could live with the timeout message if there were an easy way to<br>
reconnect to a kernel without having to restart it.<br>
<br>
Closing the notebook and reopening from the dashboard doesn&#39;t seem the<br>
right option, because sometimes I try something, which I don&#39;t want to<br>
save, but like to keep for the current session.<br>
Is there another way? Or could I persuade you to introduce a<br>
&#39;reconnect&#39; button in the next release?<br></blockquote><div><br></div><div>The timeout message is the notebook believing that the kernel is *dead*, due to a bug in 0.12.  There is no reconnect necessary - even on kernel restart, there is no reconnection because the zeromq connections remain valid across endpoint restart.  This should not be relevant in 0.13.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
3. You can&#39;t tell a notebook with a dead kernel from a live one.<br>
<br>
Right now, the only way to tell is that the notebook doesn&#39;t change to<br>
&#39;Busy&#39; when submitting a code cell on a dead notebook. It&#39;s not a big<br>
deal, but people also put an &#39;out-of-order&#39; sign to an elevator and<br>
don&#39;t expect the people to find out for themselves.<br>
Couldn&#39;t you just use the status display and extend it by &#39;Connected&#39;<br>
and &#39;Disconnected&#39; for the times it&#39;s not &#39;Busy&#39; or &#39;Restarting&#39;?<br></blockquote><div><br></div><div>Yes you can, this is precisely what the heartbeat does.  If the kernel goes down, you will get a &#39;kernel has died&#39; message, prompting for restart.  The kernel can be busy holding the gil and 100% CPU for days, and the notebook will know that it is still alive, chugging along.  0.12 had a GIL-related bug that could cause false-positive in the heartbeat mechanism (see above)</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
4. Is there a way to create a copy of a notebook?<br>
<br>
Right now I&#39;m doing it by copying the .ipynb file and changing the<br>
notebook title using a text editor. That&#39;s fine, but prone to errors.<br>
It would be nice to have a copy function of some sorts, because,<br>
again, sometimes you&#39;d like to make changes to an existing notebook,<br>
or re-use code from one without modifying the original.<br></blockquote><div><br></div><div>In 0.13, there is a button for this.  In 0.12, you have to do `cp foo.ipynb bar.ipynb` at the command-line.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
<br>
That would be my kind of wishlist (they do sound a bit trivial, now<br>
that I read them a second time, so maybe they could be implemented<br>
easily?).<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If they are not trivial, how difficult do you think they would be to<br>
implement. Maybe I&#39;d use some spare time after I finished my thesis,<br>
to try and increase ipython&#39;s awesomeness on these issues by myself.<br>
<br>
Or maybe just tell me that all this has already been solved in 0.13.<br>
Christmas would have got serious competition.<br></blockquote><div><br></div><div>Indeed, I believe every one of your points is addressed by 0.13.  Can you check out <a href="http://archive.ipython.org/testing/0.13.beta1/">the beta</a>?</div>

<div><br></div><div>-MinRK</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers<br>
<br>
<br>
Thomas<br>
_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
</blockquote></div><br>