Born in Granada, Spain, I found my passion about software development and start self-learning programming. After completing a bachelor in Electrical Engineering, I jumped into software development positions in Granada and then I moved to Switzerland where I currently live.
During my career I’ve worked in projects related to: distributed systems with pub/sub protocol DDS; sport timing and live TV production; DevOps projects; backend frameworks; and collaboration workflows, quality assurance and release management.
Apart from software development, I was able to grow on operational skills by having the role of senior technical operator of timing and scoring systems in the Olympic Games at Tokyo 2020 and Winter Olympic Games Beijing 2022. I did setup of network infrastructure, hardware and software and operation of software during sport competitions. I was the last level of support engineer helping teams to troubleshoot network protocols and software issues in critical moments.
As a hobby I maintain several open-source projects and frameworks for game reverse engineering (ROM hacking) and fan-translations. I study and analyze low-level details of game consoles and debug and write assembly code (ARM). I help teams to translate video-games acting in a role usually known as Localization Engineer. I make programs to edit proprietary formats of text, image, font and audio files.
I also love to give technical talks at conferences and online.
February 2019 - June 2023, Corgémont, Bern, Switzerland
World leading sports timekeepers. They build, deploy and operate sport timekeeping hardware and software and TV graphic production for major sport events like Olympic Games.
January 2022 - June 2023
February 2019 - January 2022
October 2015 - January 2019, Granada, Andalusia, Spain
Expertise in RTI Connext DDDS: a technology for the Industrial Internet of Things (IIoT).
March 2017 - January 2019
October 2015 - February 2017
2011-2015 B.Sc. in Electrical Engineering - Telematics (networks) specialtyGrade: 8.0 out of 10PublicationsTaken Courses
Extracurricular Activities
|
Framework to implement and convert file formats. It provides a virtual file system, format conversion APIs, full featured binary IO and plugin support to support common formats.
Website Library part of the SceneGate framework that provides support for Nintendo DS and DSi file formats.
Library part of the SceneGate framework that provides support for Nintendo 3DS file formats.
Proof-of-Concept of an extensible image file formats API for SceneGate.
Nintendo DS anti-piracy and flashcard kernel research.
Program to see, convert, and edit the files of Nintendo DS games. It supports images, texts, music, fonts and textures.
Tool to help to translate images with GNU gettext PO files in Weblate.
Modding tools and assembly fixes for the Japanese to Spanish fan-translation of the game “Ni no kuni: Shikkoku no Madoshi” for Nintendo DS.
Modding tools for the English to Spanish fan-translation of the game “Attack of the Friday Monsters” for Nintendo 3DS.
Modding tools to translate “Professor Layton” games for Nintendo DS.
(Private code until translation release) Modding tools for the English to Spanish fan-translation of the game “Pokémon Conquest” for Nintendo DS.
DevOps pipeline (build and release) based on Cake for C# projects in GitHub.
Prototype apps to monitor glucose levels of FreeStyle Libre sensors from Garmin sport watches, desktop and phones.
Decompressor for binary delta encoding VCDIFF (RFC-3284). xdelta3 compatible
.NET tool to generate third-party notice files from all the transitive dependencies of a .NET project.
Atom IDE plugin to have autocompletion of XML files from XSD schemas.
ICSP Arduino programmer for PIC and ZigBee chips.
Remote GDB protocol client and UI for ARM
C# API for RTI Connector to communicate applications via DDS pub/sub.
Enhances RTI Connext DDS log messages to troubleshoot network protocol issues.
University challenge project - Multi-agent distributed video system using DDS.
Implementation of a custom pub/sub protocol.
Talk at the DevFest 2018 organized by the GDG Jaén (Google Developer Group). The presentation is about a Twitter thread I did on July. For a week I was figuring out how the game Pokémon Mistery Dungeon Explorers of Sky from Nintendo DS generate and validate a kind of password for rescue missions, special events and object sharing. It almost a study of the assembly code of the game with some notes about the implementation. Code repository
Live streaming from Twitch requested by the TraduSquare community. This time I talked about the file format of the images, sprites and textures in video-games and all the kind of compression and techniques used in the Nintendo DS. Slides
Live streaming from the virtual reality platform AltspaceVR. The talk explains different topics and concept related to text formats like encodings, tables, fonts and compression. Slides
Talk at the JASyP (Jornadas de Anonimato, Seguridad y Privacidad). Organized by the group Interferencias in the University of Granada. I talked about the security mechanisms like encryption that we can find inside of the video-games with the goal to obfuscate their files to avoid hacks, mods and fan-translations.
Talk at the IEEE Developer Days organized by the association IEEE Student Branch of Elche. I talked about the Industrial Internet of Things (IIoT) and the main network protocols and framework in the market. I gave details on how one of them, DDS, works with a demo.