En una API de cuyo endpoint no quiero acordarme...

… rigen los siguientes términos de servicio (que traduzco, porque el original vienen en inglés): Usuarios autorizados: usuarios afiliados a una institución educativa de investigación o sin ánimo de lucro. Supongo que ese es el fin de la historia: estoy expulsado de ella, salvo que retuerza el hilo de la casuística, relaje el perímetro de las acepciones y me considere afiliado a alguna de las instituciones educativas donde imparto alguna clase; y justifique, claro está, que no tienen ánimo de lucro. ...

22 de abril de 2016 · Carlos J. Gil Bellosta

Túneles ssh para conectarse de manera segura con RStudio Server

La solución que presenté el otro día para resolver el problema en cuestión, tal como indicó Iñaki Úcar, es demasiado aparatosa. La alternativa a mi propuesta ssh -ND 2001 miusuario@datanalytics.com y todo lo que sigue es crear un túnel ssh mediante ssh -NL 2001:localhost:8787 miusuario@datanalytics.com y conectarse a la sesión remota de RStudio apuntando en cualquier navegador a http://localhost:2001. El comando anterior exige la debida exégesis, que nunca había tenido del todo clara. Lo que hace es, primero, crear una conexión entre mi ssh local, el ordenador en el que lanzo el comando, y mi ssh remoto (el servidor con nombre datanalytics.com). Eso es lo que verán los terceros: una conexión ssh entre dos máquinas. ...

4 de abril de 2016 · Carlos J. Gil Bellosta

Redirección dinámica de puertos para conectarse de manera segura con RStudio Server

Finalmente, instalé RStudio Server en la máquina que está sirviéndote esta página. Pero no dejo abierto el puerto 8787 al exterior ni jarto de vino. (De hecho, veréis que desde hace un tiempo a este blog escucha en el puerto 443 y, aunque esa es otra historia, utiliza HTTP/2). Así que lo he configurado para que solo se pueda acceder a él desde localhost, i.e., que no admita conexiones remotas, añadiendo la línea ...

1 de abril de 2016 · Carlos J. Gil Bellosta

Lenguajes de programación probabilísticos

Son lenguajes de programación diseñados para describir modelos probabilísticos y realizar inferencias ellos. El resto de la entrada de la Wikipedia sobre este apasionante (y lo uso sin retintín) tema, aquí (y puede que también quieras visitar esto).

9 de marzo de 2016 · Carlos J. Gil Bellosta

PyData Madrid 2016, en abril de este año

Me llegan noticias de PyData Madrid 2016, que tendrá lugar en abril de este año en Madrid: Os pongo un poco en contexto. Las PyData empezaron como conferencias de desarrolladores y usuarios de herramientas Python para trabajar con datos. Las primeras se hicieron en Silicon Valley, Nueva York, Londres,… Actualmente hay conferencias en NY, SV, Dallas, Seattle, Boston, Londres, Berlín, Amsterdam, París, Colonia, Tokio, Singapur,…, y Madrid. Como he comentado, empezaron un poco enfocadas en Python pero ahora están mucho más abiertas y se habla de Julia, Python, R, Scala,… ...

28 de enero de 2016 · Carlos J. Gil Bellosta

agate: análisis de datos optimizado para humanos (y no para máquinas)

Una de las cosas que menos me canso de repetir es que R no es (solo) un lenguaje de programación. R es un entorno para el análisis de datos. Los informáticos se horrorizan con él: no entienden por qué es como es. Pero, fundamentalmente, su problema es que no conciben que pueda haber sido diseñado para el REPL y no (solamente) para crear programas. Casi todo el tiempo que paso con R abierto lo consumo trabajando interactivamente, no programando. R está pensado para facilitar ese tipo de trabajo, no para crear programas complejos. Está optimizado para el usuario, no para la máquina. De ahí se sigue una cascada de corolarios que no ha lugar plantear aquí. ...

17 de noviembre de 2015 · Carlos J. Gil Bellosta

Unix para poetas

Existe una breve obrita, Unix for Poets, que utiliza el análisis cuantitativo de texto como excusa para aprender a manejar una serie de comandos imprescindibles de Unix y sus derivados: wc, grep, etc. Se la recomiendo particularmente a aquellos que se compraron una Mac y no saben que cuentan con una terminal decente oculta en alguna parte de su sistema (en serio, los hay: el otro día se la descubrí a una maquera).

7 de octubre de 2015 · Carlos J. Gil Bellosta

Spam 2.0 (increíblemente bien hecho)

Recibí recientemente este correo (con los enlaces que aparecen en él; solo he eliminado el apellido de la remitente): Subject: Carlos - Scala resource Hi Carlos, I was doing some research for our students here at Udemy on people using Scala resources and when I came across your site, saw you were using the tutorial from Wikipedia. We really like that resource, and actually created our own that we think is a perfect supplement! This Scala tutorial is text-and image based, easy to search for quick answers, and super helpful for anyone: as a base for learning or as a reference guide. ...

6 de octubre de 2015 · Carlos J. Gil Bellosta

¿Cómo contar el número de elementos distintos de una lista?

El problema es sencillo: se cuentan y ya. Pero hay quienes tienen cantidades ingentes de elementos que contar. Tantos que, por razones de falta de memoria, etc., es inviable hacer lo obvio, es decir, guardar una lista de claves (elementos distintos) y valores (el número de ocurrencias) sumando uno a los últimos conforme se van observando las primeras. Por ese motivo, existen algoritmos que aproximan el número de elementos distintos de una lista. Más aún, existe toda una industria dedicada a crearlos. ...

23 de septiembre de 2015 · Carlos J. Gil Bellosta

APIdays Mediterranea vuelve a Barcelona (la semana que viene)

Los que estéis por allí o tengáis la posibilidad de acudir, sabed: la semana que viene (5, 6 y 7 de mayo de 2015) se celebra una nueva edición de APIdays Mediterránea en Barcelona. Quienes tengáis pensado acudir, podéis beneficiaros de un 30% de descuento si os registráis desde este enlace. Participé en la edición de 2013 en Madrid y me duele no poder asistir este año. Entre otras cosas, por esto. Y me displace perdérmelo porque mi nuevo stealth project tiene mucho que ver con APIs…

30 de abril de 2015 · Carlos J. Gil Bellosta