IPython FTW \m/
Yes! That title is very much justified! IPython keeps surprising me with ways to make my life easy, to understand python better and to code in ease with emphasis on the IPython-Notebook(ipynb). To quote "The IPython Notebook is a web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document." I've just begun exploiting each of those features. For starters, plots can be embedded into the ipynb files ("%matplotlib inline"), making it easier to show the results of various segments of code. You can define a raw text/markdown cell where you can add comments to the code or explain what's going on at various parts. You can convert said ipynb files (ipython nbconvert) into html files ( --to html) or python ( --to python) files so you can show the results online and run the files without the need for a ipy interpreter. And I found ipywidgets, which helps interact with plots and understand how variation in a certain parameter changes the function (RangeWidget). The best part if that ipywidgets computes the function output for the range of given variable before hand instead of computing it live using the ipython interpreter. Therefore, you can create interactive plots and convert the ipynb file into a html file, making it easier to view/display anywhere on the web! For example, here's a simple ipynb file i wrote that shows the variation in the blackbody radiation curve with temperature! The possibilities are endless!
I'm going to stop now. FYI, i'm not being paid by ipython to promote them. This is just me keeping track of the things i found interesting while using ipython. Signing off...