The classic Snake with a twist

I had the idea for this minigame a long time ago, when I played Yoshi Island on my cousin’s Gameboy Advanced. I finally have a chance to do it.

Read more...

Algoritmo para generar laberintos

En términos muy generales, un algoritmo para generar laberintos inicia con un grafo plano en el que cada arista representa una pared, y el objetivo final de dicho algoritmo es encontrar un subgrafo. Dependiendo del grafo inicial y el algoritmo empleado el subgrafo final puede ser un laberinto muy intrincado o uno muy simple.

Read more...

Conjuntos de Julia

Los conjuntos de Julia, nombrados así en honor al matemático Gaston Julia, son una familia de fractales que se obtienen al estudiar los conjuntos invariantes bajo iteraciones de una función compleja. Al complemento de un conjunto de Julia se le llama conjunto de Fatou en honor al matemático Pierre Fatou.

En términos muy generales se puede decir que el conjunto de Julia de una función racional compleja son aquellos puntos cuyo comportamiento es caótico, es decir que pequeñas perturbaciones provocan cambios drásticos. Mientras que el conjunto de Fatou contiene aquellos puntos cuyo comportamiento es regular.

Read more...

Estructuras de datos en R

En R como en cualquier otro lenguaje existen diversas estructuras de Datos, pero a diferencia de otros lenguajes en R la estructura básica son los vectores. Incluso los números y las cadenas de texto se de hecho vectores de un solo elemento. En este artículo explicaré algunas estructuras de datos y como manipularlas.

Read more...

Introducción a R

R es un popular lenguaje de programación especialmente útil para análisis estadístico. Este artículo explican algunos conceptos básicos para empezar a usar R.

Read more...

Dataframes en R

La estructura de datos más común en R son los dataframes. La mayoría de los paquetes en R contienen rutinas para manipular dicha estructura de datos. Este artículo explica algunas de sus funcionalidades básicas.

Read more...

Usar Google Drive desde una terminal en linux

En esta entrada voy a hablar sobre drive, un programa que permite usar Google Drive desde una terminal. El programa fue credo por Jaana B. Dogan quien trabajaba como parte del equipo a cargo de Google Drive, así que hay la garantía de que el código fue escrito por alguien que conoce a la perfección el servicio.

Este cliente permite hacer pulls y pushes de archivos muy parecido a lo que se hace con un repositorio en GitHub, la analogía va más allá, hay la posibilidad de crear un archivo .driveignore que cumple la misma función que .gitignore, permitiendo omitir archivos o directorios a partir de una lista de nombres o expresiones regulares.

Drive no tiene la intención de ser un cliente que automáticamente sincroniza tus archivos, la programadora que lo creó lo hizo intencionalmente porque «la sincronización automática no es para todos». Por supuesto uno puede escribir un script para sincronizar automáticamente o usar crontab para hacer respaldos periódicos. Este repositorio que contiene algunos scripts para dichos escenarios, pero no los he probado.

Read more...

Crear una máquina virtual base CentOS para Vagrant

Vagrant es un software que permite manejar máquinas virtuales desde la linea de comandos. Muy útil cuando uno necesita un entorno aislado para probar software o correr un servicio. Por ejemplo un servidor LDAP o html.

En esta entrada explico en términos generales como crear una máquina base para Vagrant. Dicha máquina se usa posteriormente para crear rápidamente una nueva máquina virtual cuando se necesite.

Asumiré que se tiene ya cierta experiencia usando Vagrant. La mayor parte del proceso que aquí se describe es desde una terminal. Crearemos una máquina virtual con CentOS 7.

Read more...

Descargar información bibliográfica automáticamente desde MathSciNet

MathSciNet es una base de datos que contiene información bibliográfica y reseñas sobre casi cualquiér publicación matemática. Escribí un pequeño script para shell (Linux/Mac) que automáticamente añade entradas bibliográficas a un archivo .bib usando los números MR de matscinet. Mostraré dos ejemplos, uno que usa natbib y otro con biblatex

Para que el código funcione se requiere acceso a MathSciNet. Muchas universidades tienen una suscripción que permite a todos sus alumnos acceder al sitio, así que sólo hay que conectarse a internet desde la red universitaria.

Read more...

Tema Cuerna para beamer

LaTeX Beamer es un paquete diseñado para facilitar el crear presentaciones que incluyen fórmulas matemáticas. Dichas presentaciones se pueden personalizar combinando temas y paletas de colores, muchos de los cuales se incluyen por defecto en la distribución de LaTeX. El problema principal es que todos los temas se parecen.

El tema Cuerna para beamer un tema personalizado que escribí para diversificar las opciones cuando se trata de hacer una presentación que sea visualmente agradable. Así es como luce:

Beamer theme cuerna

La forma más sencilla de usarlo es a partir de una plantilla en línea en algún editor como ShareLaTeX o Overleaf. También es posible descargar el código fuente desde Github o instalarlo desde CTAN usando el gestor de paquetes de tu distribución de TeX.

Read more...