Obras
Tras estar ya más de un lustro programando de forma autodidacta he logrado cultivar un modesto programario del que esto algo orgulloso.
Mucho del código que he escrito ha sido con el afán de aprender, sin buscar crear una solución comercial. Debido a esto mi forja se ha vuelto un cementerio donde programas sin acabar y repetidos experimentos de motores de videojuegos descansan en paz, algo digno de Apache.
Solo mencionare proyectos que tengan un mínimo de relevancia.
Proyectos completos
Programas o sitios web los cuales considero de una calidad decente o relevantes por alguna razón concreta.
Amiga
El generador de páginas estáticas que da vida a <dobon.dev> y <pubnix.eu>, tiene como características:
- Recarga en caliente (Hot Reloading).
- Minimización de formatos de texto comunes (HTML y CSS).
- Optimización de imágenes.
- Generación de fuentes Atom.
Como punto negativo, Amiga no ha sido diseñado para un uso generalista y con ello carece de flexibilidad más allá de la necesaria para un desarrollo ergonómico de este sitio web.
Academia Let’s Play
Primera vez trabajando con un tercero para un producto comercial. Se hizo un despliegue tanto de una página web personalidad como de un Moodle a través de contenedores Docker, orquestados por Docker Swarm.
Se logro una reducción considerable de los costes gracias a la migración (sin pérdida de datos) de los servicios de AWS (servicio no apto para despliegues pequeños) a una VPS alojada en Hetzner.
Legado
Programas que aunque ya no considero representativos de mis habilidades actuales sirvieron de un gran valor educativo:
| Programa | Descripción |
|---|---|
| Knuckles | Librería auxiliar hecha en Python para la API REST (Open)Subsonic. |
| Nubosa | Configuraciones declarativas para NixOS y macOS usando nixpkgs. En desuso. |
| och8S | Implementación de la máquina virtual CHIP-8 en C23 con la librería SDL2. |
| Luminosa y Geofront | Antiguas configuraciones de mi servidor casero con Docker Compose. |
| Disopy | Bot de Discord capaz de reproducir música proveniente de un servidor compatible compatible con la API (Open)Subsonic. |
| Datafall | Gestor de descargas por HTTP simple hecho en Rust y GTK4. |
| Calicomp | Archivos de configuración de primera vez que le hice ricing a un sistema Linux. Remplazado por Nubosa. |
Experimentos
Proyectos esotéricos que estaban predestinados a nunca ser acabados:
| Programa | Descripción |
|---|---|
| Sol | Sistema de inyección de dependencias hecho en Rust destinado para un motor de videojuegos que nunca llego. |
| Bangs | Hecho en una tarde, replica simplificada de los DuckDuckGo Bangs. |
| hero | Concepto extremadamente básico de kernel para la arquitectura Intel/AMD x86_64. |
| Sonora | Interprete de archivos WAV, usado para aprender como interpretar archivos binarios. |
| TSCL | Implementación de algunas librerías básica para la GameBoy Advance, hecho en Rust con el atributo no_std activado. |
| Osmos | Motor de videojuegos basado en el patrón de diseño ECS. |
Fracasos
Programas que ya sea por exceso de ambición, malas decisiones técnicas o falta de motivación nunca llegaron a finalizarse:
| Programa | Descripción |
|---|---|
| Dorothy | Sistema de reproducción de música modular. Primera vez que sufrí las consecuencias de un diseño erróneo y no del desconocimiento de los fundamentos básicos. |
| x | Parser de copia cero para JSON siguiendo la especificación IETF RFC 8259, solo procesa número. |
| nove | Motor de videojuegos voxel que sufrió de problemas de rendimientos y de falta de conocimientos técnicos sobre programación gráfica. |
| rad | Configuración declarativa de un servidor al completo en nixlang, acabo siendo el último clavo en el ataúd de mi descontento con NixOS. |