Archivo
- [17/09/2024] Instalando Gentoo en una Orange Pi
- [28/06/2024] Nuevas charlas en ppt.adrianistan.eu
- [28/03/2024] Ejecutar una máquina virtual RISC-V, MIPS, PowerPC, SPARC,... desde AMD64
- [08/02/2024] Los blogs cada vez son más importantes, no menos
- [07/02/2024] Pascal. Un homenaje a Niklaus Wirth
- [30/01/2024] Curva de Hilbert en Prolog
- [18/01/2024] Diversión con shaders en WGSL
- [28/12/2023] Videojuegos en 2023
- [18/12/2023] Vídeo de mi charla de Strand
- [27/11/2023] Introducción a Apache Spark con datos de la Fórmula 1
- [14/11/2023] Scryer Prolog Meetup 2023 Notes (day 2)
- [14/11/2023] Scryer Prolog Meetup 2023 Notes
- [22/07/2023] Can we lose technology?
- [22/07/2023] ¿Podemos perder tecnología?
- [14/06/2023] ¿Qué necesita tener un buen protector de pantalla de móvil?
- [28/05/2023] Sustituyendo Google Photos por mi propia solución local
- [23/04/2023] Just, un sustituto de Make polivalente
- [22/04/2023] "¿Las inteligencias artificiales tienen derechos?" transcripción de Ernesto Castro
- [16/04/2023] BQN: programación basada en arrays
- [06/03/2023] Usando NixOS como servidor en una Raspberry Pi
- [15/01/2023] Strand, un lenguaje extremadamente paralelo
- [02/01/2023] El camino a Prolog: parser y juntarlo todo (parte III)
- [02/01/2023] El camino a Prolog: obtener soluciones y no determinismo (parte II)
- [27/12/2022] El camino a Prolog: unificación (parte I)
- [22/11/2022] Optimizar una mudanza (o un proyecto de software) en Prolog
- [19/11/2022] Comando wc en Prolog
- [06/11/2022] El acertijo de la cebra
- [27/10/2022] CLIPS: el motor de reglas de la NASA
- [23/08/2022] Un paseo por el ensamblador de RISC-V
- [20/08/2022] Planificar una inmersión SCUBA con Prolog
- [14/08/2022] Usando el lenguaje mejor pagado del mundo: Clojure
- [19/06/2022] Resolviendo el problema de las 3 jarras usando automaton y clpz
- [11/06/2022] El famoso problema del 15-puzzle en Prolog
- [17/04/2022] Mercury: cuando Prolog y Haskell tuvieron un bebé
- [03/04/2022] Teletexto #012
- [11/03/2022] Código Morse en Prolog
- [17/02/2022] Logtalk, Prolog orientado a objetos
- [28/01/2022] Alien fingers en Prolog
- [30/12/2021] Sorteo 2022: ¿Qué has aprendido en el blog?
- [29/12/2021] Introducción a Z3, el demostrador de teoremas de Microsoft
- [21/12/2021] htmx, o como sería HTML si se tomase el hipertexto en serio
- [13/12/2021] El problema del Hello World
- [30/11/2021] Herramientas para empezar con Big Data
- [08/11/2021] Ruta x ruta x Castilla y León
- [02/11/2021] Teletexto #011
- [05/09/2021] Reinforcement Learning (Aprendizaje por refuerzo): DQN, OpenAI Gym, Stable Baselines (parte 4)
- [18/08/2021] Reinforcement Learning (Aprendizaje por refuerzo): Q-Learning (parte 3)
- [05/08/2021] Reinforcement Learning (Aprendizaje por refuerzo): MDPs y ecuación de Bellman
- [04/08/2021] Reinforcement Learning (Aprendizaje por refuerzo): ¿Qué es y cómo funciona? (parte 1)
- [13/06/2021] Soccerdoku en Prolog (usando clpz)
- [01/06/2021] Teletexto #010
- [31/05/2021] Llamar a Rust desde Prolog: swipl-rs
- [07/04/2021] Buscando en los datos del leak de Facebook con ElasticSearch
- [28/02/2021] Teletexto #009
- [06/02/2021] El formato RON: Rusty Object Notation
- [10/01/2021] ¿Qué son los tipos suma? Explicación en TypeScript y Rust
- [10/01/2021] Easter eggs en Python
- [01/01/2021] Estadísticas y felicitaciones de 2020
- [28/12/2020] Nuevos horizontes (Pfizer)
- [22/11/2020] Space Pipes
- [18/11/2020] Tutorial de CHR (Constraint Handling Rules)
- [07/11/2020] Teletexto #008
- [30/10/2020] Mapaquiz, ¿y si la respuesta estuviera sobre el mapa?
- [27/09/2020] ¿Qué es Idris y por qué es un lenguaje de programación tan interesante?
- [12/09/2020] El Algoritmo Simplex
- [29/08/2020] Supertutorial de Prolog: aprende Prolog en español
- [15/08/2020] Teletexto #007
- [26/07/2020] Regex para torpes
- [29/06/2020] Un nuevo comienzo
- [26/05/2020] Agregador de enlaces en la nube con AWS Lambda y Terraform
- [13/05/2020] Teletexto #006
- [30/04/2020] El Universo Prolog
- [25/04/2020] Construye un Renault 4
- [16/04/2020] Debug gráfico en Prolog
- [12/04/2020] Sudoku en Prolog
- [30/03/2020] Teletexto #005
- [17/03/2020] Estadística en Python
- [17/03/2020] Rustizando tu Linux
- [03/03/2020] Teletexto #004
- [20/02/2020] Testing en lenguaje natural con Gherkin y Behave
- [09/02/2020] Teletexto #003
- [31/01/2020] Desplegar una página estática con GitHub Actions y Netlify
- [31/01/2020] Problemas de Nix
- [25/01/2020] Primeros pasos con Nix: un Linux más funcional
- [19/01/2020] Teletexto #002
- [14/01/2020] Prolog DCG: gramáticas de clausula definida
- [08/01/2020] Teletexto #001
- [03/01/2020] Diesel, un ORM para Rust
- [31/12/2019] ¡Feliz año 2020!
- [27/12/2019] Yield, generadores y corrutinas en Python
- [25/11/2019] Ley de Zipf en el blog
- [24/11/2019] Historia de la privacidad
- [01/11/2019] Ponencia Linux y Tapas 2019: "Web 3 0: redes descentralizadas"
- [21/10/2019] Crónica Neuronal: matrices de expresión genética para leucemia
- [25/09/2019] Tu código va a morir
- [17/09/2019] Terraform, infraestructura como código declarativo
- [19/08/2019] Podcast sobre Docker
- [17/08/2019] Re: Rust no es un buen reemplazo de C
- [12/08/2019] jq, el sed del siglo XXI
- [10/08/2019] Videojuegos de ordenador para el verano
- [08/08/2019] Servidor WebDAV con nginx
- [06/08/2019] Crónica Neuronal: Indian Liver Patients Record
- [04/08/2019] Crónica Neuronal: House Prices
- [22/07/2019] Web Semántica desde cero: Linked Data y SOLID
- [19/07/2019] Web Semántica desde cero: SPARQL
- [18/07/2019] Web Semántica desde cero: RDF Schema
- [16/07/2019] Web Semántica desde cero: RDF
- [14/06/2019] miniKanren, programación lógica diminuta
- [09/06/2019] Cosas que (probablemente) no sabías de Python
- [25/04/2019] Programación web en Prolog
- [24/04/2019] Bosque, el nuevo lenguaje de programación de Microsoft
- [18/04/2019] Miri: una máquina virtual para Rust
- [14/04/2019] Programación lineal: alcanzando la perfección
- [08/04/2019] Agromapa de Castilla y León
- [10/03/2019] ¿Qué pasó con la Web Semántica?
- [13/02/2019] API de Adrianistán
- [11/02/2019] Año nuevo, blog nuevo
- [25/12/2018] Feliz Navidad 2018
- [18/12/2018] Algoritmos genéticos: un caso práctico
- [16/12/2018] Advent of Code 2018: segunda semana
- [15/12/2018] Las mejores librerías gratuitas para gráficas en PHP
- [07/12/2018] Advent of Code 2018: primera semana
- [04/12/2018] Conclusiones de la visita de Richard Stallman a Valladolid
- [24/09/2018] Alojando una web en IPFS
- [19/09/2018] IPFS, el futuro de la web descentralizada
- [17/07/2018] Computación cuántica para torpes: introducción para programadores
- [15/07/2018] Usar AVA para tests en una API hecha en Node.js y Express
- [10/07/2018] La perlificación de Python
- [14/06/2018] ¿Cómo funcionan los sistemas basados en inodos?
- [11/06/2018] ¿Cómo funcionan los sistemas de archivos basados en FAT?
- [07/06/2018] Bindings entre Rust y C/C++ con bindgen
- [26/05/2018] Ayuda a la ciencia desde tu casa con BOINC
- [19/05/2018] Fabric, automatiza tareas en remoto
- [17/04/2018] Natural Language Understanding con Snips NLU en Python
- [12/04/2018] Introducción a Prolog, tutorial en español
- [09/04/2018] Mónada ST en Haskell: STRef, STArray
- [04/04/2018] Un muro en Cuzco
- [11/03/2018] Programación dinámica: el problema de knapsack
- [23/02/2018] Futures y Tokio: programar de forma asíncrona en Rust
- [21/02/2018] Te espero en la feria Espacios de Ingenio
- [18/02/2018] Lenguajes de programación que todo buen programador debe conocer
- [02/02/2018] ¿Cómo recuperar archivos borrados?
- [30/01/2018] Tutorial de introducción a Godot 3.0. Juego de Snake en C#
- [25/01/2018] Generar frases con cadenas de Markov. Machine Learning en Python
- [20/01/2018] Juego de la Vida de Conway en C# con interfaz gráfica
- [19/01/2018] Cheatsheet de Pandas
- [17/01/2018] Estadística en Python: ajustar datos a una distribución (parte VII)
- [05/01/2018] ¿Cómo funcionan Meltdown y Spectre? Explicado con InstaStories
- [01/01/2018] Yew, crea webapps al estilo Angular/React en Rust
- [30/12/2017] Leer y escribir JSON en Rust con Serde
- [28/12/2017] Gana dos entradas dobles para "Bugs" en el Museo Reina Sofía
- [22/12/2017] ¡Feliz navidad y próspero 2018! (con fractales)
- [10/12/2017] Estadísticas del blog, versión 2017
- [08/12/2017] Estadística en Python: distribución binomial, normal y de Poisson (Parte VI)
- [03/12/2017] Estadística en Python: cálculo de probabilidades (Parte V)
- [24/11/2017] Curve, una tarjeta para dominarlas a todas
- [21/11/2017] Easter egg en el comando man de GNU/Linux
- [15/11/2017] Estadística en Python: análisis de datos multidimensionales y regresión lineal (Parte IV)
- [12/11/2017] Crónica de la 62 SEMINCI
- [04/11/2017] Estadística en Python: media, mediana, varianza, percentiles (Parte III)
- [02/11/2017] ¿Cómo aumenté las visitas a mi blog?
- [01/11/2017] Estadística en Python: manipulando datos en Pandas (Parte II)
- [31/10/2017] Estadística en Python: Pandas, NumPy, SciPy (Parte I)
- [20/10/2017] ¡Comienza la SEMINCI!
- [13/10/2017] Interfaces gráficas multiplataforma en C# con .NET Core y Avalonia
- [12/10/2017] Diversión con punteros en Rust: bloques unsafe
- [10/10/2017] Cheatsheet de contenedores de Rust
- [01/10/2017] Premio Nobel de Medicina
- [29/09/2017] Crear ventanas y botones en Rust con GTK
- [25/09/2017] Y sigo sin entender nada pero da igual
- [15/09/2017] ¿Por qué ha estado Adrianistán 10 días offline?
- [15/09/2017] Leer de teclado en Rust
- [28/08/2017] Autómatas celulares unidimensionales en Python
- [27/07/2017] Todo lo que debes sobre las tarjetas de crédito, débito y prepago
- [25/07/2017] Timers en systemd, reemplazo a cron
- [15/07/2017] Formulario de registro en Elm
- [07/07/2017] ¿Qué hacer si pierdes o te roban el móvil?
- [03/07/2017] Cargo y módulos en Rust
- [03/07/2017] Box, Rc y RefCell, punteros inteligentes en Rust
- [03/07/2017] Variables y tipos de datos en Rust
- [03/07/2017] Documentación con rustdoc
- [03/07/2017] Tests en Rust
- [03/07/2017] Referencias y préstamos en Rust
- [03/07/2017] Gestión de errores en Rust, Option y Result
- [03/07/2017] Structs, traits y POO en Rust
- [03/07/2017] Estructuras de control en Rust
- [03/07/2017] Rust 101, tutorial de Rust en español
- [03/07/2017] Concurrencia en Rust
- [03/07/2017] Funciones y closures en Rust
- [28/06/2017] Compra ordenadores seminuevos y ayuda al medio ambiente
- [20/06/2017] Cuando 'bad_style' se convierte en algo ofensivo
- [15/06/2017] Tutorial de CouchDB
- [02/06/2017] WebAssembly para tontos (usando Rust)
- [24/05/2017] Triángulo de Sierpinski en JavaScript
- [22/05/2017] ¿Nos vemos en la LechazoConf?
- [15/05/2017] Anrokku, un videojuego tipo puzzle
- [10/05/2017] Mandando paquetes ICMP ECHO personalizados con Python
- [03/05/2017] La belleza de MIPS
- [30/04/2017] ¿Qué pasa con Elixir?
- [26/04/2017] Polvo
- [19/04/2017] Novedades de C++17
- [15/04/2017] Tutorial de Rocket, echa a volar tus webapps con Rust
- [28/03/2017] Rust en 5 minutos - #PicnicCode2017
- [17/02/2017] The Pitts Circus, la primera película financiada con Ethereum
- [16/02/2017] ¿Está usted de broma Sr. Feynman?
- [15/02/2017] ¿Cómo borrar el historial?
- [31/01/2017] Tutorial de Maud, motor de plantillas HTML para Rust
- [27/01/2017] Tutorial de Neon - Combina Node.js con Rust
- [17/01/2017] Tutorial de Piston, programa juegos en Rust
- [16/01/2017] 9front, un fork de Plan9 desarrollado por dementes
- [08/01/2017] Un nuevo lenguaje de programación para juegos
- [31/12/2016] Feliz añ... ¡Dame los datos!
- [28/12/2016] Mozilla desiste, Rust será sustituido por Jai
- [21/12/2016] Fundamentalismo ateo
- [18/12/2016] Crónica de un vídeo de citas célebres
- [13/12/2016] Las 12 Uvas Game Jam
- [05/12/2016] Nace el foro Gamedev Hispano
- [24/11/2016] Viernes de Complot en Adrianistán
- [20/11/2016] Usando Iron, un web framework para Rust
- [05/11/2016] Usar la vulnerabilidad DirtyCoW para convertirse en root en Linux
- [03/11/2016] Tutorial de WebExtensions (II) - Popup y Tabs
- [01/10/2016] Tutorial de WebExtensions (I) - manifest.json y conceptos
- [01/09/2016] Phaser.js Hispano, aprende a hacer videojuegos en HTML5
- [30/08/2016] La Criptonovela del verano: una historia en tres capítulos (Capítulo 3)
- [28/08/2016] La Criptonovela del verano: una historia en tres capítulos (Capítulo 2)
- [27/08/2016] La Criptonovela del verano: una historia en tres capítulos (Capítulo 1)
- [17/08/2016] Programando para Haiku - Barras de menús - Parte III
- [15/08/2016] Beta privada de TucTum, la red social que te paga
- [04/08/2016] ShortKin.gq, un acortador de enlaces anónimo
- [26/07/2016] Crear credenciales OAuth2 para Google
- [26/07/2016] Subir APK a Google Play automáticamente
- [13/07/2016] Tutorial de GnuCash en castellano
- [04/06/2016] Programando para Haiku - File panel - Parte II
- [26/05/2016] Tutorial de Hugo en español, generador de sitios estáticos
- [18/05/2016] Programando para Haiku - BApplication, BWindow y BButton - Parte I
- [11/05/2016] Valladolid Hyperlapse
- [10/05/2016] El Universo Mecánico
- [09/05/2016] The Everything Building
- [07/05/2016] ¿Qué ocurrirá con Bitcoin y los ordenadores cuánticos?
- [14/04/2016] Sobre la Física - Parte 2 - ¿Qué es la luz?
- [02/04/2016] Programando el Chromecast desde JavaScript
- [27/03/2016] Sobre la Física - Parte 1
- [25/03/2016] Análisis de The Witness
- [12/03/2016] Enebro, un robot automático para FOREX en JavaScript
- [06/03/2016] Mapas interactivos en HTML5 con SnapSVG
- [02/03/2016] Ethereum y SmartContracts
- [10/01/2016] ¿Cómo programar en C (en 2016)?
- [09/01/2016] Kovel 1.0, diseña modelos en 3D usando vóxeles
- [08/01/2016] Bienvenido 2016, bienvenido kaizen
- [28/12/2015] Ya he logrado dominar el mundo
- [23/12/2015] El pájaro que nunca deja de beber
- [04/12/2015] Mi primer debug. Primeros pasos con gdb, Valgrind y strace.
- [03/12/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (VIII)
- [02/12/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (VII)
- [01/12/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (VI)
- [30/11/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (V)
- [29/11/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (IV)
- [28/11/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (III)
- [27/11/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (II)
- [26/11/2015] Emulando a Linus Torvalds: Crea tu propio sistema operativo desde 0 (I)
- [21/11/2015] Hercólubus o planeta rojo
- [01/11/2015] Redox, el sistema operativo escrito en Rust
- [31/10/2015] Acortar enlaces en Node.js
- [20/10/2015] Usar GNU Parallel para aumentar el rendimiento de tus scripts
- [04/10/2015] La gran lista de BitCoins gratis
- [20/09/2015] js13k y Miss City (postmortem)
- [16/09/2015] eurocookie-js
- [03/09/2015] Tutorial de WiX (Windows Installer MSI)
- [15/08/2015] Lista de sponsors para juegos HTML5
- [14/08/2015] Probando OpenIndiana
- [04/08/2015] ¡Haz scripts!
- [02/08/2015] ¿Qué hacer ante la falta de espacio en Android?
- [17/07/2015] Rust Essentials, reseña del libro
- [13/07/2015] NexCono, tu sitio viral preferido
- [11/07/2015] Easter egg en Linux: la syscall reboot
- [01/07/2015] Un repaso por las aplicaciones de Haiku
- [22/06/2015] Tutorial de CMake
- [14/06/2015] Literatura Adrianistaní, un libro ligero de relatos cortos
- [04/06/2015] Proyecto Ceres
- [22/05/2015] La gestión de la memoria en Rust
- [13/05/2015] Crea tu propio lenguaje de programación
- [08/04/2015] Aprobar consiste en entrar en el juego
- [06/04/2015] Fliuva, o como crear un servicio de analíticas
- [05/04/2015] La información es poder
- [03/04/2015] Crea tu primer paquete para Haiku
- [02/04/2015] Instala programas en Haiku con HaikuPorts y HaikuPorter
- [08/03/2015] Secta Sectarium, documentación e investigación
- [06/03/2015] Secta Sectarium, JavaScript vs Rust
- [28/02/2015] Introducción a D-Bus
- [24/02/2015] Usando Node con XULRunner y Gecko
- [31/01/2015] Convertir a Haiku en rolling release
- [23/01/2015] La experiencia GCI 2014 con Haiku
- [22/01/2015] Post Mortem de Torre Utopía
- [26/12/2014] Prosperidad
- [17/11/2014] ¿Qué nos espera en Haiku Beta?
- [26/10/2014] Esqueleto de juegos NPM
- [13/10/2014] SmartOS, una introducción
- [08/10/2014] La mística relación entre el 9N y Firefox
- [25/09/2014] Lumtumo ya es open source
- [30/08/2014] La Odisea de una aplicación comercial hecha en Ogre y CEGUI
- [05/08/2014] Probando Jekyll
- [28/07/2014] GAJSE, una carta de presentación
- [02/07/2014] Mis predicciones para el futuro (en lenguajes de programación) I
- [17/06/2014] La Semana en Adrianistán (IV)
- [09/06/2014] La Semana en Adrianistán III
- [02/06/2014] La semana en Adrianistán II
- [26/05/2014] La semana en Adrianistán I
- [15/12/2013] Introducción a la orientación
- [10/10/2013] Territorios españoles olvidados
- [07/10/2013] Esperanto, Interlengua y cía.
- [07/10/2013] Algunos proyectos open-source con los que colaboro
- [03/10/2013] Inicio del nuevo curso. Novedades interesantes
- [25/09/2013] Azpazeta 2.0 Juno. Disponible a partir de hoy.
- [04/09/2013] PortAudio + libsndfile. Reproducir Ogg Vorbis, FLAC y WAV en C++
- [26/08/2013] Preparando el nuevo curso
- [28/05/2013] Calculadora de 4 Bits
- [16/05/2013] La Fuente Q y el problema sinóptico
- [19/04/2013] Intercambio con Francia
- [14/03/2013] OpenGL y su gran futuro
- [11/03/2013] Los números aleatorios
- [06/02/2013] Hablando sobre Google Code-in 2012 y proyectos
- [29/12/2012] Los navegadores del 2012
- [20/11/2012] Consejo Escolar
- [25/10/2012] Presentación
- [01/01/2000] FAQs