
Kalman and Bayesian Filters in Python - cast42
http://nbviewer.ipython.org/github/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/table_of_contents.ipynb
======
RogerL
Author here.

I struggle a lot with the choice of medium. In many senses Jupyter (IPython
Notebook) is fanstastic in terms of workflow. With latex+external
program+external data+external output it is hard to keep everything in sync.
Here, it all happens in one place. And, of course, it should make it easier
for the reader. "What happens if I change this constant?" (A normal question
with scientific processing). Trivial to find out in the notebook; much more
painful with a paper book.

OTOH, latex is mature technology, and I mean that in in the most positive way
possible. I don't have to worry that version 1.7 is coming out tomorrow, and
that \int will no longer display an integral sign. I would like to make the
book much more interactive - go all 'Bret Victor' on it, but at what cost? I
just tried to use Plotly, for example, but they don't support the current
version of matplotlib; they are skipping a version for whatever reason. I
can't expect readers to play the version war just to read a book. Even with
core Python+scipy stack I have doomed myself to endless maintenance as new,
breaking changes occur. That is not hypothetical; IPython changed the format
of the notebooks, and there went a weekend of work. And, with all of that
said, I think most are just reading the PDF version, or using the static
nbviewer rendering, not running it locally on their machine. Heck, that is how
I read the other IPython books - in nbviewer or PDF form. You know what you
can do in PDF that you can't do in Jupyter? Search. I can ctrl+f in a PDF and
search an entire book; in Jupyter, which has no concept of a 'book', I have to
go from notebook to notebook.

Anyway, I welcome ideas on how to approach this. I come from a world of C++
where code I wrote in 1995 is still running today, and still compiles with the
latest compilers. I'm sure I'm not approaching this problem optimally due to
lack of experience in web based mediums. But I do fear, not unreasonably, that
once I move on the book will become essentially inaccessible in just 10-20
years or so.

~~~
nacs
A brief introduction stating what Kalman/Bayesian filters are and what they
can be used for in the real world would be good for the start of the book.

In your Preface/Motivation section, you currently mention Kalman filters (4
times in the 1st 4 sentences) without explaining what it is and that seems to
be the only intro to the topic.

~~~
RogerL
Good point, I will do that.

------
lovelearning
I have just started, and will likely take a couple of days to finish, but I
already like what I've read so far.

I really appreciate this author (Roger Labbe, yes?) as well as all the other
authors of these online interactive ebooks or whatever they're called
("interabooks"?) for taking the time to prepare such comprehensive and
informative material, purely to help others. Surely, preparing something like
this could not have been easy or quick. The other day there was a fantastic
one on digital signal processing, and today this.

Really, a big thanks to all you e-authors out there!

~~~
Bootvis
If you're one of those authors I too would like to thank you. Also I like to
toot my own horn and help you. With some help I built ipy_pep8[1]. It helps
iPython Notebook authors to make their code pep8 valid. It has already been
used to improve "Probabilistic Programming and Bayesian Methods for Hackers".

[1]:
[https://github.com/bobjansen/ipy_pep8](https://github.com/bobjansen/ipy_pep8)

[2]:
[http://nbviewer.ipython.org/github/CamDavidsonPilon/Probabil...](http://nbviewer.ipython.org/github/CamDavidsonPilon/Probabilistic-
Programming-and-Bayesian-Methods-for-
Hackers/blob/master/Prologue/Prologue.ipynb)

~~~
RogerL
Sweet tool; I didn't know about it. I will be running it tonight against my
source.

~~~
Bootvis
Cool! Please let me know what you think.

------
whatok
Just got started on this over the weekend and was really impressed with not
only the content but the presentation as well. Really enjoy learning through
iPython notebooks (now Jupyter) and can only imagine things getting better in
the future.

~~~
splike
My Machine Learning professor uses iPython notebooks to teach the content in a
format much like this. I think its a fantastic way to present it. You have
working code snippets right next to theoretical LaTeX formulas and all of the
text and matplotlib graphs to explain it.

------
gdubya
I really like the subtle hat-tip to Star Wars with the use of TIE fighters in
the graphs.

(see [http://nbviewer.ipython.org/github/rlabbe/Kalman-and-
Bayesia...](http://nbviewer.ipython.org/github/rlabbe/Kalman-and-Bayesian-
Filters-in-Python/blob/master/01_g-h_filter.ipynb))

~~~
engi_nerd
I see error bars...I really don't think those were intended to be anything but
error bars.

~~~
RogerL
Total accident. Is it not clear to some that these are error bars?

~~~
engi_nerd
Apparently there was some confusion, but from my perspective it was perfectly
clear.

------
epenn
> I with IPython Notebook had spell check, but it doesn't seem to.

I got a chuckle out of this. :) PS, I love the presentation thus far.

