Adrianistán

El blog de Adrián Arroyo


Artículos con etiqueta «programacion»

Desplegar una página estática con GitHub Actions y Netlify

Hace unos días desplegué una nueva versión de mi página de inicio: https://adrianistan.eu. Se trata de un sitio estática, hecha con Lektor, alojado en Netlify y que gracias a GitHub Actions se publica una nueva versión cada vez que hay un commit nuevo. En este post explicaré como construí el despliegue continuo para que tú también puedas hacerlo.

Seguir leyendo

Primeros pasos con Nix: un Linux más funcional

Como ya sabéis, me encanta experimentar cosas alternativas dentro de la informática. Cosas que quizá no sean populares ni vayan a serlo, pero aportan un punto de vista diferente. Es por eso que en este blog se habla de Prolog, hablamos de web semántica, de Rust y se habla de Haiku. Porque para ver el típico framework hecho en Java ya tienes cientos de blogs por ahí. En este blog intento hablar de cosas de las que poca gente habla. Hoy nos toca hablar de Nix, un gestor de paquetes funcional, y base de NixOS, una distribución Linux muy interesante. Sin embargo aquí solo nos centraremos en Nix.

Seguir leyendo

Teletexto #002

Bienaventurados todos aquellos lectores del Teletexto. En esta segunda edición voy a seguir repasando algunos proyectos, artículos y noticias que me parecen de interés.

Seguir leyendo

Prolog DCG: gramáticas de clausula definida

Seguir leyendo

Teletexto #001

Bienvenidos a una nueva sección del año 2020. Se trata de Teletexto, una sección donde recopilaré enlaces que considero interesantes junto con un pequeño texto. La idea de esta sección viene de que tengo un Trello con ideas gigante. Muchas de ellas no las voy a tocar, pero me gustaría mencionarlas en el blog, ya que me parecen cosas muy interesantes. Así pues, el contenido de esta sección será principalmente técnico, pero guiado por mi curiosidad y mi interés en las cosas que vaya viendo. Esta sección además me servirá para poder publicar un poco más rápido. Finalmente, se llama Teletexto, precisamente por ser una muy buena metáfora de lo que es: resúmenes cortos de información y tecnología algo ya viejuna, pero sumamente interesante. Y sin nada más que decir, empezamos la primera edición.

Seguir leyendo

Diesel, un ORM para Rust

Un tipo de librería muy popular en lenguajes dinámicos son los ORM. Los ORM son librerías que hacen de intermediario entre la base de datos y nuestra aplicación, permitiéndonos expresar en el lenguaje de programación deseado las estructuras y datos y procedimientos. Rust, a pesar de ser un lenguaje de programación estático, cuenta con un potente ORM gracias al sistema de macros. Se llama Diesel  y es compatible con PostgreSQL, SQLite y MySQL. Un ejemplo uso de Diesel es este mismo blog, que lo usa para almacenar posts y comentarios en una base de datos PostgreSQL.

Seguir leyendo

Yield, generadores y corrutinas en Python

Estaba realizando uno de los problemas del Advent of Code 2019, cuando tuve la oportunidad de usar generadores y yield en Python, y para mi sorpresa, mucha gente los desconocía. Os pongo en situación. Si recordáis, el año pasado intenté publicar mis soluciones al Advent of Code comentadas aquí, aunque no logré acabar y sigo teniendo pendientes de hacer los últimos días de 2018. Este año lo he vuelto a intentar pero no he publicado nada por aquí, lo que considero que ha sido una buena decisión, ya que gastaba mucho tiempo y eran posts bastante densos de leer con poca utilidad. Sin embargo, he seguido comentando con compañeros, a través de Telegram sobre todo, diferentes soluciones. Ese día había que ejecutar 4 procesos de forma circular, uno detrás de otro pero manteniendo el estado en cada uno de ellos. Aunque existen otras formas válidas de resolverlo, considero que merece la pena echar un vistazo a los generadores y corrutinas de Python.

Seguir leyendo

Historia de la privacidad

Últimamente se habla mucho de la privacidad. Si bien antes era algo anecdótico, tras la llegada de las redes sociales y los dispositivos móviles, la privacidad se ha convertido en un tema mucho más común. Más aún con los escándalos como el de Cambridge Analytica que obligaron a Mark Zuckerberg a declarar. Pero entonces me surgió una curiosidad. ¿De dónde sale la privacidad? ¿Los romanos tenían privacidad? ¿Por qué en la historia de la humanidad es un concepto que parece inexistente?

Seguir leyendo

Ponencia Linux y Tapas 2019: "Web 3 0: redes descentralizadas"

El pasado 19 de octubre, tuvo lugar en la ciudad de León el evento Linux y Tapas 2019. Era mi primera vez en este evento y encima, además decidí dar una ponencia. El evento en sí me gustó mucho. Primero se queda en la catedral de León y luego nos dirigimos todos juntos al barrio húmedo a comer a base de tapas. Nunca había estado en el barrio húmedo y me sorprendió muy gratamente. Durante este tiempo puedes hablar con el resto de asistentes. Conocí a mucha gente interesante y pudimos hablar de gran cantidad de temas diferentes, eso sí, en su mayoría temas que no podrías sacar en conversaciones con tus amigos no técnicos.

Seguir leyendo

Crónica Neuronal: matrices de expresión genética para leucemia

Bienvenidos a un nuevo episodio de la serie Crónica Neuronal. Hoy vamos a tocar un problema del campo de la bioinformática. En concreto, vamos a usar matrices de expresión genética para identificar si un paciente de leucemia la tiene de tipo ALL o de tipo AML. Ambas leucemias tienen síntomas muy parecidos y es interesante poder encontrar un modelo de aprendizaje automático que pueda distinguirlas.

Seguir leyendo