Keyboard Maestro macro to open .pickle file in IPython

I often want to view the contents of .pickle files on my computer. I like doing this in the IPython REPL, so I would manually open a new Terminal window, switch to my data science virtualenv, import pickle, and then load the .pickle file in question into a variable. Sounds like a prime target for automation, eh?

Here's a Keyboard Maestro macro that will take the selected .pickle file in Finder and open it up in IPython (inside iTerm2), assigning it to the variable x.

Here's what it looks like (the macro is triggered through LaunchBar with this custom action):

After the macro runs, I type in x to show the object in the Pickle file (in this case, it's just {"hello": "world"}.

Here's what the macro looks like in Keyboard Maestro:

Here's the code:

Note that this requires your Python virtualenv to be set up like this and you have to have a "data" virtualenv. If either of these things aren't true, you'll need to modify the shell commands in the AppleScript accordingly.

Add padding under each Jupyter cell

Put one of the following in a Jupyter notebook cell and run. If you make changes, clear cell contents, save, and refresh the browser.


All cells:

import IPython.core.display as di

di.display_html("""
$('<style>.cell { margin-bottom: 100px !important;}</style>').appendTo('head');
""", raw=True)

To add padding just after code cells:

import IPython.core.display as di

di.display_html("""
$('<style>.code_cell { margin-bottom: 100px !important;}</style>').appendTo('head');
""", raw=True)

To add padding just between code cells:

import IPython.core.display as di

di.display_html("""
$('<style>.code_cell+.code_cell { margin-top: 100px !important;}</style>').appendTo('head');
""", raw=True)

macOS: Set audio balance to middle to correct drift with an AppleScript

On multiple Macs, I have had the left/right balance of my headphones randomly drift. Apple says this can be caused by changing the volume while the CPU is under load, which doesn't seem to be what is happening to me. In any case, it's annoying.

Here's an AppleScript that will automatically reset the sound balance to the middle for the current output device:

There's also a $5 app called Balance Lock that in theory will solve this problem – I haven't tested it.