Profile cover photo
Profile photo
Brian Granger
405 followers
405 followers
About
Brian's posts

Post has attachment

Post has attachment

Post has attachment
<a class='ot-hashtag' href='https://plus.google.com/s/%23hangoutsonair'>#hangoutsonair</a>Fernando Perez, Paul Ivanov, Jonathan Frederic, Kyle Kelley, and Thomas Kluyver

At the PyData conference at Google today.

Post has attachment
+Sean Vig has been working on the quantum angular momentum module of sympy since his Google Summer of Code project in 2011. He has done a spectacular job and sympy.physics.quantum.spin can now do some mind blowing things. The test suite for this module alone is over 3500 LOC. Angular momentum coupling, rotation operators, Wigner symbols, just about anything you could ever imagine wanting! I don't know of any other software out there that does all of these things. Hats off to Sean. For fun, here is a screen shot of an IPython notebook with a few of the latest tests.
Photo

Post has attachment
Make your Python objects pretty! IPython has a powerful display protocol that allows your Python objects to declare different representations (html, javascript, png, jpeg, latex, etc.). The IPython notebook knows how to display those representations giving you the ability to create notebooks with rich views of your objects. To do this, just give your classes "_repr_<format>_" methods (<format>=html,javascript,etc) and it will instantly work. Here is a screenshot of an HTML representation of the pandas.DataFrame object.
Photo

Post has attachment
More fun on the IPython notebook front. The notebook now has Heading cells (levels 1-6) and Plaintext cells (for reST, LaTeX, etc.). To go along with these new cell types, we have also implemented a thin horizontal toolbar right below the menu bar that has commonly used actions.

Warning: we have incremented the notebook version to v3. The new v3 notebooks are backwards incompatible with the pre-yesterday v2 notebook. This means if you start using the guthub master, the notebooks you create can't be opened by older versions of the notebook.
Photo

Post has attachment
This design blog is filled with treasures like this. This particular film is a perfectly blended juxtaposition of natural beauty and human talent.

http://www.brandsixtysix.com/brand66new/way-back-home.html

Work on the IPython notebook continues. Lots of work underneath the hood to refactor and clean up code. We have updated to the recent version of CodeMirror, which fixes a number of bugs. A little while ago, we added an "Edit in Ace" capability. We got many questions about why we really needed to be using Ace. After looking at the issues carefully, we have decided to remove this feature and instead focus on improving the CodeMirror experience as much as possible. We have already fixed of the main complaints: block-level indent/dedent.

Next on the horizon: RST cells and heading cells...

Post has attachment
In the IPython notebook, we use the CodeMirror (http://codemirror.net/) Javascript editor. CodeMirror is fantastic: it is lightweight, fast and allows many small editors to be placed on a single page. This is critical because a large notebook can have many cells that are being moved around, editing, hidden/shown, etc.

At the same time, Ace (http://ace.ajax.org/) is probably a better options for serious development. It is now being used by github for inline editing of code in repositories. On the downside, Ace is much bigger and only allows one editor on a page.

In the IPython notebook, we want the best of both worlds. To accomplish this we have implemented a new "Edit in Ace" functionality that lets you edit a single cell at a time using Ace. As the screen shot below shows, this mode gives you a nice clean UI for editing a large block of code. Currently we don't allow the Ace editor to be configured, but we plan on adding that in the future.
Photo
Wait while more posts are being loaded