# 2015-02-17 Creating an animation using Gizeh + MoviePy

Gizeh (that is, Cairo for tourists) is a great interface to the Cairo drawing library.

I recently wished to make a small animation of a bar moving in the visual field and crossing a simple receptive field to illustrate some simple motions that could be captured in the primary visual cortex ansd experiments that could be done there.

• A new version of owncloud is out, I will try today to push that new infomation to http://caskroom.io/
• I will base things on my contribution
• set-up variables
cd \$(brew --prefix)/Library/Taps/caskroom/homebrew-cask
github_user='meduz'
project='owncloud'
git remote -v

# 2015-01-16 Rendering 3D scenes in python

The above snippet shows how you can create a 3D rendered scene in a few lines of codes (from http://zulko.github.io/blog/2014/11/13/things-you-can-do-with-python-and-pov-ray/):

In [1]:
import vapory

camera = vapory.Camera( 'location', [0, 2, -3], 'look_at', [0, 1, 2] )
light = vapory.LightSource( [2, 4, -3], 'color', [1, 1, 1] )
sphere = vapory.Sphere( [0, 1, 2], 2, vapory.Texture( vapory.Pigment( 'color', [1, 0, 1] )))

scene = vapory.Scene(camera = camera , # a Camera object
objects = [light, sphere], # POV-Ray objects (items, lights)
included = ["colors.inc"]) # headers that POV-Ray may need

# passing 'ipython' as argument at the end of an IPython Notebook cell
# will display the picture in the IPython notebook.
scene.render('ipython', width=900, height=500)

Out[1]:

Here are more details...

# 2015-01-07 The right imports in a notebook

Following this post http://carreau.github.io/posts/10-No-PyLab-Thanks.ipynb.html, here is ---all in one single cell--- the bits necessary to import most useful libraries in an ipython notebook:

In [1]:
# import numpy and set the printed precision to something humans can read
import numpy as np
np.set_printoptions(precision=2, suppress=True)
# set some prefs for matplotlib
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams.update({'text.usetex': True})
fig_width_pt = 700.  # Get this from LaTeX using \showthe\columnwidth
inches_per_pt = 1.0/72.27               # Convert pt to inches
fig_width = fig_width_pt*inches_per_pt  # width in inches
FORMATS = ['pdf', 'eps']
phi = .5*np.sqrt(5) + .5 # useful ratio for figures
# define plots to be inserted interactively
%matplotlib inline
#%config InlineBackend.figure_format='retina' # high-def PNGs, quite bad when using file versioning
%config InlineBackend.figure_format='svg'


Below, I detail some thoughts on why it is a perfect preamble for most ipython notebooks.

# 2014-12-29 todo.txt

In a previous post, I described steps to follow to live with decentralized, open-source cloud services (see here), let's focus on setting up a todo list.

Everything revolves under the http://todotxt.com/ specifications -- all in one, simple todo.txt file

# 2014-12-29 Bib Cloud

I always used a single babel.bib BibTex file to keep a record of all my readings. Great. Then I managed it using a VCS (first SVN, then git). Super great. But at the same time, resources like CiteUlike or Mendeley (but also other services like orcid) allow for cloud-like services of having this data everywhere, anytime. Super super great!

But this fails if you have no connection to internet (remote conference, ...) or more importantly if these services change their policy (mendeley to citeulike sync disappeared at a sudden). The work you provide is not yours. These are mostly commercial services while all the open-source tools are there. Most importantly, the multiplicity of tools makes it difficult to share bibliographic data easily, while if we would have a tool to translate between them this would make it possible (without changing your habits).

# 2014-12-18 Can we live without Google and co?

The tools offered by so-called "cloud services" are useful but most often rely on the capacity to lock you in. Without leaving them completely, is there an alternative?

In a previous post on how to live with open-source cloud services and to not depend on centralized private cloud services (see here), let's focus on an install on a empty android phone.