Saturday, March 29, 2014

Cool Technology: IPython Notebooks

I may be very late to the party but I've recently discovered IPython notebooks.  IPython is an extremely useful Python shell environment that has been kicking around for 10+ years. Initially the number of advantages it offered over the built-in python shell was small.  But then again it started out as a couple of hundred line hack.  So back then it seemed like it wasn't worth the trouble to make sure it was install on all the machines you might hack Python on.

Fast forward to 2010 or so, IPython has reached a 1.0 milestone, and has evolved significantly to an extremely powerful platform.  However the aspect that I find the most useful is notebooks that display in a web browser.   It's supposed to be somewhat reminiscent of Mathematica which I've never used.

Notebooks contain blocks of executable Python code and their output.  The Python code can be edited and run/rerun right there from the browser.  But where it really gets interesting is that rich multimedia stuff, especially graphs can be displayed right there, in-line.  It's pretty enabling for scientific computing, enabling very short hacking and visualization cycles almost like a spreadsheet.

I really should write a lot more about this.  It's not just for Python, and it's not just for the web, it seems like it could be a big thing.  It should also make teaching and learning a lot easier.

Check out:
I really like this example, reading a .WAV file and showing side by side plots of amplitude and spectrum:

There are a few things that I think could use improvement.
  1. More Document Structure, Real Head 1, 2, 3 and Table of Contents.   I'm a big fan of Mediawiki's nice native built-in structure.  It really helps organize documents in my opinion.  It's also one of the biggest things lacking from Evernote (IMHO).
  2. Native Tabular output widgets.  There are some extensions but they aren't quite there yet.  This could make an awesome SQL Workbench, but it could really use ways of presenting and working with tables as output cells.

What is a dB, dBm, dBu, dBc, (Tutorial Videos from W2AEW on Youtube)

If the concept of decibels (dB) is confusing, this Youtube video from W2AEW has a very clear explanation with a demonstration using a spectrum analyzer:

Remember: dB is a ratio of Power levels, so when you need to do a ratio of Voltages, the formula is different.  He doesn't mention that until late in the video.  However, he gives a much clearer explanation of why the formula is different (20 x Log10() vs 10 x Log10()) by doing the
math to demonstrate where the difference comes from.

(Remember P=I x E or P = (V^2)/R ?)

There is a table at the beginning of the video of the few things you should memorize both for your amateur radio test and for general use later:

  • 3 dB represents a ratio that is a doubling.  Of the two things being compared, one has twice as much power as the reference.
  • -3 dB represents a ratio that is a half.
  • 10 dB is 10 times greater.
  • 20 dB is 100 times greater.

Note: W2AEW has posted a whole bunch of good video tutorials on electronics and radio.

A couple that might be relevant to prepping for your General Class amateur radio exam:

I've also found his oscilloscope and spectrum analyzer tutorials to be very useful.  He's very good at explaining and documenting things.  Compared to a normal text presentation, the demonstrations / experiments really drive the concepts home and show that it's possible to try these things for yourself.