In a previous article I discussed the use of the highlight tool to highlight syntax in Keynote and powerpoint etc… That required the installation of said tool. Yesterday, I discovered an even easier way to do this through a web interface: https://romannurik.github.io/SlidesCodeHighlighter Now that’s really cool. Enjoy!

## Timestep and Cost Analysis of Pressure- and Density-Based Methods

Jupyter Notebook here: https://git.io/fjRjL PDF Article here: http://dx.doi.org/10.13140/RG.2.2.17472.58886 For an explicit compressible algorithm the maximum timestep one can take is dictated by both the advective and acoustic speeds in the flow. This is given by the famous CFL condition \begin{equation} V \frac{\delta t}{\Delta x} \leq 1 \end{equation} where $V$ is the maximum speed in the …

## The Amazing Taylor-Green Vortex

If you’ve worked in computational fluid dynamics, then you’re probably aware of the Taylor-Green vortex – at least the two-dimensional case. A simple google search will land you on this wikipedia page. The classic solution there is presented in the form \begin{equation} u = \cos x \sin y F(t);\quad v = -\sin x \cos y …

## Remove Indentation after LaTeX Subequations

LaTeX subequations produce a suprious space or indent immediately after. To get rid of this space, do one of two things Place your subequations label at the begining of the subequations environment, If you insist on placing the label at the end of the subequations environment, then place % sign after that.

## The Amazing Kronecker Product

Kronecker products can be used to efficiently and easily create 2D and 3D finite difference (and other) operators based on simple 1D operators for derivatives. Here’s a Jupyter notebook that shows you how to do this. You can find this notebook on nbviewer here.

## How to Fail in Grad School

This is from a short talk I gave at our group meeting last week.

## Update: Zotero Box Sync – Not syncing or no zotero folder

In a recent article, I discussed how to sync your zotero library with your box account. However, as many have informed me, there seems to be a problem in setting up the “initial” folder. In fact, I just encountered this same exact problem today on a new computer that I am setting up. Today I …

## How to Modify Video Speed with ffmpeg?

For Faster video speeds use: ffmpeg -i input.mov -filter:v “setpts=0.5*PTS” output.mov For Slower video speeds use: ffmpeg -i input.mov -filter:v “setpts=2*PTS” output.mov Note the factor multiplying PTS. If that factor is less than 1, then you get a faster video. The opposite otherwise. Thanks to: Modify Video Speed with ffmpeg

## Something Made

May all the best that time and chance have to offer be yours – Jeff Bendock: friend, mentor, and role model. Today (Aug 10) my wife and I went through an extraordinary experience. But what we experienced was not unique. We’re not the first or last people to experience it by any means. There was …

## Vector Graphics Plots using Matplotlib in Jupyter

Here’s a neat trick I learned today to display all matplotlib plots as vector format rather than raster in Jupyter notebooks:

## nbviewer and gitlab

You can view your (public) jupyter notebooks hosted by gitlab using nbviewer by changing the “blob” work in the hyperlink to raw.

## Learn Python the Easy Way

## Convert IPython Notebook to Slides

Convert and display in place: jupyter-nbconvert –to slides mynotebook.ipynb –reveal-prefix=reveal.js –post serve Convert to html: jupyter-nbconvert –to slides mynotebook.ipynb –reveal-prefix=reveal.js as always, try: jupyter-nbconvert –help

## Jupyter Notebook doesn’t Automatically Open a Browser on OS X

This issue appears to have showed up on Sierra. Here’s a simple fix: Edit your bash profile (emacs ~/.bash_profile) Add export BROWSER=open Close your shell or source it (source ~/.bash_profile) Things should get back to normal now. Ref: https://github.com/conda/conda/issues/5408

## Copying Lists in Python

make sure you don’t fall into the trap of copying pointers in Python: import numpy as np a = np.zeros(2) print(“a = “, a) b = np.zeros(2) print(“b = “, b) b = a # this assignment is simply a pointer copy – b points to the same data pointed to by a a[0]=33.33 # …