Jupyter Install IRkernel and Python 3 kernel on Windows


R and python3 will be installed in separated environment using Anaconda distribution. Jupyter is already installed in root environment.

Install IRkernel

In Anaconda Command Prompt.

Create r-env a new environment just for “R essentials”

C:\Users\USER\Anaconda> conda create -n r-env

Activate r-env

C:\Users\USER\Anaconda> activate r-env
Activating environment "C:\Users\USER\Anaconda\envs\r-env"...`

Install R

[r-env] C:\Users\USER\Anaconda> conda install -c r r-essentials

Update R env

[r-env] C:\Users\USER\Anaconda> conda update -c r --all

Open an R console

[r-env] C:\Users\USER\Anaconda> R

In an R console

R> install.packages(c('rzmq','repr','IRkernel','IRdisplay'),
             repos = c('http://irkernel.github.io/', getOption('repos')))

Two alternatives to install IRkernel

  1. To install only User
    R> IRkernel::installspec()
    Installed kernelspec R in C:\Users\USER\AppData\Roaming\jupyter\kernels\ir
  2. To install system-wide
    R> IRkernel::installspec(user = FALSE)

Install Python 3 Kernel

In Anaconda Command Prompt

C:\Users\USER\Anaconda> conda create -n py34 python=3.4
C:\Users\USER\Anaconda> activate py34
[py34] C:\Users\USER\Anaconda> conda install notebook ipykernel

Two alternatives to install python3 kernel

  1. To install only User
    [py34] C:\Users\USER\Anaconda> ipython3 kernel install --user
    [InstallNativeKernelSpec] Installed kernelspec python3 in C:\Users\USER\AppData\Roaming\jupyter\kernels\python3
  2. To install system-wide
    [py34] C:\Users\USER\Anaconda> ipython3 kernel install
    Installed kernelspec python3 in C:\ProgramData\jupyter\kernels\python3

Check Available kernels

[py34] C:\Users\USER\Anaconda> deactivate
C:\Users\USER\Anaconda> jupyter kernelspec list
Available kernels:
  python2    C:\Users\USER\Anaconda\lib\site-packages\ipykernel\resources
  ir         C:\Users\USER\AppData\Roaming\jupyter\kernels\ir
  python3    C:\Users\USER\AppData\Roaming\jupyter\kernels\python3

Now on jupyter notebook

C:\Users\USER\Anaconda> jupyter notebook

Reference

Python Gmail script (smtp)


A veces nos gustaría que nuestro computador nos enviara un email informándonos de algo, por ejemplo:

  1. – Que nos envíe un email cuando terminamos de descargar una imagen iso en Bittorrent. (deluge)
  2. – Que nos envíe un email cuando nuestra webcam detectó movimiento. (motion)
  3. etc.

Si no sabes como correr un script visita “Mi primer programa en Python

Con este script podemos hacer eso y muchas otras cosas más.

Seguir leyendo

Trac Geo alpha


Desde que estoy usando Trac para gestionar el progreso de mi memoria, me llevó sólo un par de horas de uso, para maravillarme con las  características de esta herramienta, más aún cuando descubrí algunos de sus plugins.

Eso me motivó a crear un simple instalador, que llamé TracGeo, para tener en pocos minutos nuestro propio sistema de gestión de incidencias, con elementos geospaciales, como edición de mapas en el wiki o geolocalizar las incidencias.

TracGeo

TracGeo

ONLINE DEMO

Seguir leyendo

Convertir videos para ver en reproductor MP4 Fujitel


Llevo un par de meses aprendiendo a programar en python, yo no soy informático por lo que este script dista mucho de ser pythonico, pero pretendo ir mejorando en el futuro.

Script para transformar videos compatibles con reproductor MP4:

MP4 2GB FUJITEL 80MP4TV2 MP4-TV (AVIConverter_320X240_20FPS_EN Setup.exe)
Requiere:
    - ffmpeg - mencoder
Extras:
    Divide video en partes de 10 min
    Agrega subtítulos si existe el archivo file_name.srt
Uso:
    $ avi2mp4.py file_name.avi

Instrucciones para usar el script en Ubuntu:
# Instalar ffmpeg y mencoder
$ sudo aptitude install ffmpeg mencoder
# Abrir un editor y copiar el contenido del script
$ nano avi2mp4.py
# Ejecutar el script
$ python avi2mp4.py video_de_prueba.avi

El código lo pueden descargar desde aquí o lo pueden revisar aquí.

Software libre para Hidrología


Actualmente me encuentro haciendo mi memoria de trabajo de título en “DESARROLLO DE UN MODELO DE PRONÓSTICO DE CAUDALES DE DESHIELO AFLUENTES AL EMBALSE PUCLARO UTILIZANDO HERRAMIENTAS DE SOFTWARE LIBRE”, para lo cual he tenido que instalar un entorno de desarrollo dentro de mi distribución favorita de GNU/Linux llamada Ubuntu.

Actualmente tengo instalada la versión 9.04 Jaunty Jackalope, pero si están comenzando les recomiendo que instalen la última versión desde ya, para comenzar a disfrutar lo más nuevo que ofrece el software libre.

Los paquetes que actualmente tengo instalados para trabajar son los siguientes:

Para cálculo numérico e interfaz gráfica:
– python (El lenguaje de desarrollo ágil y efectivo Python )
– ipython (Consola interactiva iPython)
– idle (Entorno de desarrollo integrado IDLE ), aunque Geany también me ha resultado cómodo de usar.
– python-scipy (Scientific tools for Python)
– python-numpy ( Numerical Python )
– python-rpy (Interfaz para trabajar con R, pero si instalan Ubuntu 9.10 recomiendo usar rpy2)
– python-matplotlib (Librería matplotlib para graficas 2D en python)
– python-tables (En caso que algún día tengamos muchos datos y desde muchas fuentes podremos probar PyTables Hierarchical database for Python based on HDF5)
– ( Tengo muchas ganas de instalar pytseries , pero sólo lo he visto disponible para Ubuntu 9.10 )

Para análisis estadístico:
– rkward (rkward Frontend de R)

Para trabajo con herramientas GIS:
qgis (Me ha sorprendido la versatilidad de este programa, nada que envidiar a los típicos ArcGis )
grass ( El clásico GIS opensource grass, lo bueno es activar los complementos de qgis para trabajar con los módulos de grass de una forma intuitiva y amigable)
marble (bajar imágenes atlas, el complemento ideal para obtener una imagen de la zona y georeferenciar algunos puntos )

Manipular GeoTiff:
–  gdal-bin (Permite además trabajar con elementos vectoriales)
–  geotiff-bin
–  python-imaging (Python Imaging Library PIL)
–  hdf4-tools (HDF command line utilities )
–  python-gdal Python (bindings to the Geospatial Data Abstraction Library)

Seguir leyendo

SciPy, pasión por la ciencia


Me gustaría resumir este artículo con las observaciones de Travis E. Oliphant en su presentación de la EuroSciPy 2008, agregando mi interpretación personal más adelante:

  1. Compartir código es adictivo.
  2. La catedral  necesita traer el bazar.
  3. Estar dispuestos a dejar ir nuestro código — alguien por ahí puede mejorarlo, dejemos que ellos se ganen nuestra confianza.

1. Compartir código es adictivo.

Que frase más cierta!, nada es más satisfactorio que cuando empiezas a intercambiar recetas con gente que está trabajando en resolver problemas similares, después no paras. Quizás se deba la atracción que tiene la gente con intereses específicos.

2. La catedral  necesita traer al bazar.

Ese fue mi sueño truncado un años atrás, cuando tuve la necesidad de idear el aprendizaje colaborativo ágil, para rellenar la brecha entre  mis profesores PhD.  y los problemas reales de las personas, con un bazar generado por nosotros los estudiantes de pregrado.

3. Estar dispuestos a dejar ir nuestro código — alguien por ahí puede mejorarlo, dejemos que ellos se ganen nuestra confianza.

Cuando alguien cree que su trabajo en un tema muy complejo, no puede ser mejorado, es porque no entiende una de las frases de Linus :  “Eso es dar a tu inteligencia demasiado crédito“, si trabajamos de manera colaborativa siempre aparecerá alguien que mejore algo y eso lo anime a involucrarse más en el proyecto colaborativo.

Aunque suene muy ñoño me he entretenido mucho leyendo sobre la historia de Python. Lo primero que me sorprende es la importancia que se les da a las personas, quizás por eso la comunidad de Python crece tan rápido. Me identifiqué mucho con Guido y como utilizó la experiencia adquirida en sus “fracasos iniciales” cuando trabajaba en el CWI, para después desarrollar Python, ojalá que mis “fracasos iniciales” me inspiren y logre concretar alguno de mis proyectos más adelante.

Debo reconocer que me he ido transformando en un fanático de python, mi motivación actual es empezar a ocuparlo en mi memoria, ojalá eso resulte.

Por qué no volver a empezar de cero


Este es un artículo muy interesante que me ví en la necesidad de traducir, lo comparto aquí porque lo estaré citando en el futuro, ya que creo que comparte una gran enseñanza experimental que debemos valorar. La traducción tiene varios errores, ojalá me ayuden en sus comentarios para corregirlos.

Artículo Original: Things You Should Never Do, Part I

Artículo en Castellano: Cosas que Nunca se Deberían Hacer, Parte I

Continúa Traducción libre hecha por el autor de este blog…. se recomienda ir a la versión original

Seguir leyendo