Skip to content
View PabloSoage's full-sized avatar

Highlights

  • Pro

Block or report PabloSoage

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
PabloSoage/README.md

Hi, I'm Pablo Soage

Computer Engineer | Systems Architecture | Bare-Metal Problem Solver

C C++ Rust Python Kotlin Java Verilog OCaml Julia

Linux Docker Kubernetes Kafka Spring Boot AMD Xilinx Ghidra KiCad CUDA

I am a Computer Engineering graduate focused on low-level architecture, systems programming, and high-performance computing. I enjoy bridging the gap between hardware and software, from reverse-engineering automotive ECUs and compiling C parsers, to managing bare-metal hyper-compute clusters and rebuilding internal combustion engines.

Currently working as a Core Software Developer at Ágata Technology (Emetel Group), building smart multisystem integration platforms. Alongside my professional work, I am expanding my focus towards Embedded Systems, Electronic Warfare, Defense Tech, and high-performance systems programming (C/C++, Rust).

Hardware, Infrastructure & Code

My technical background extends beyond standard software development. I approach engineering as a continuous puzzle across multiple disciplines:

  • Systems Architecture & AI Infrastructure: Designing and maintaining self-hosted homelab environments. I manage a custom bare-metal Gigabyte T181-G20 server (Dual Xeon Platinum, 4x Nvidia Tesla V100 SXM2 via NVLink) deploying local LLMs (Open-WebUI, vLLM...) and a Docker swarm (Gitea, Minio...). Alongside it, an AMD Kria KV260 (K26 SOM, Zynq UltraScale+ ZU5EV) as the FPGA/SDR bench. Both are driven from the terminal by tools I wrote for the purpose — redfishctl, a Rust TUI that controls and monitors the server's BMC over Redfish (sensors, charts, power, event log) without ipmitool or the BMC web interface.
    • Hardware Hacks: Built a remote PSU trigger bridging PS_ON to GND using a Raspberry Pi GPIO and a MOSFET via Home Assistant. Modified the MegaRAC SP-X BMC JSON configurations to optimize fan curves for idle/load acoustics without thermal throttling.
  • Low-Level OS Troubleshooting: Experienced in disaster recovery techniques. Examples include using sethc.exe backdoor exploitation for NT AUTHORITY\SYSTEM privilege escalation to rebuild a corrupted WinSxS directory, and forcing Tesla V100s into WDDM mode on Windows Server 2025, which NVIDIA does not expose for these cards at all — nvidia-smi offers only TCC — by writing the display driver keys directly in the registry, and hot-swapping back without a reboot. That unlocked the GPUs for WSL2 and for graphical workloads (Blender, games) while compute tooling such as LM Studio still detects them under TCC.
  • Automotive Mechanics & ECU Engineering: Practical knowledge of engine mechanics (rebuilding engines, timing belt replacements, and resurrecting seized motors). Working knowledge of ECU calibration parameters (WinOLS, GDS2, SOI advanced timing, torque capping for gearbox protection) and of the diagnostic layer beneath them — reverse-engineering an adapter's undocumented protocol down to its CRC, and reading a factory tool's own 89 MB vehicle database by decompiling the loader that reads it. This led to my Denso-ECU-Toolkit and opendash.
  • Hardware & Fabrication: Hands-on experience with 3D printing (Resin/FDM), micro-soldering, PCB assembly, and drone piloting.

📜 Academic Excellence & Endorsements

Throughout my degree (GPA: 8.7/10), I have achieved a record of excellence, receiving 7 Honors (Matrículas de Honor) in computer science and engineering subjects:

  • Core Systems & Logic: Computer Structure, Programming Paradigms, and Language Processing (Flex/Bison).
  • Data & Infrastructure: Databases, Computer Networks, and Information Retrieval.
  • Research & Development: My Bachelor's Thesis (Framework for Data Capture and Synchronization for Brain-Computer Interfaces).

I have been endorsed by 6 University Professors and PhDs, five of them specifically for the Vulcanus in Japan international program. These recommendations, along with my official transcript, highlight my technical rigor, ability to solve low-level architectural puzzles, and dedication to high-complexity projects.

🔗 View Transcript & Recommendation Letters Here

Featured Engineering Projects

  • scanner64: A 64-channel real-time DDC bank in Verilog for the AMD Kria KV260's programmable logic: one sample per cycle, fixed latency, dropped samples impossible by construction. Verified in hardware and benchmarked bit-exact against C, CUDA and Xeon builds — 11x a Tesla V100 and 40x a dual Xeon per watt.
  • C-Flex-Bison-HTML-Parser: A custom HTML DOM parser built from scratch. Uses Flex/Bison for lexical/syntactic analysis in C, compiled into a shared library, and bound to Python via FFI (ctypes). Valgrind-verified with zero memory leaks.
  • Denso-ECU-Toolkit: A modular toolchain for extracting, mapping, and visualizing calibration parameters from Denso ECUs. Uses custom Ghidra (Jython) scripts for heuristic memory scanning.
  • NeuroSync-Framework: A synchronized pipeline for real-time EEG neurophysiological signal processing. Implements multiprocessing for isolated CPU-intensive tasks (FastICA) alongside a multi-interface architecture (GUI, CLI, FastAPI).
  • Rustify: A high-performance Android music player combining a native Rust core with a Kotlin/Jetpack Compose frontend. Utilizes custom JNI bindings for dynamic GraphQL scraping, heuristic track matching, and zero-latency loopback HTTP stream proxying to Media3 ExoPlayer.
  • opendash: An Android diagnostic app for the Scanmatik SM3, built on an undocumented Wi-Fi protocol recovered from packet captures and confirmed against a live vehicle. Identifying the frame signature as a CRC turned replaying captures into constructing messages — real CAN filters, live data at ~100 frames/s, and an ELM327 bridge so any existing OBD app can drive the device.
  • OCaml-Lambda-Interpreter: An interpreter for a statically typed extended lambda calculus. ocamllex/ocamlyacc front end feeding a type checker with type aliases and structural subtyping over records and functions; recursion via a fixed-point combinator (letrec), algebraic structures (lists, tuples, records, tagged variants with case-of), and a REPL holding a persistent global context.
  • ASP-Constraint-Solvers: Declarative logical models built with Answer Set Programming (clingo / telingo) to solve NP-Hard multi-agent spatio-temporal planning and graph topology problems.
  • Fabric2D: A procedural 2D engine built on pygame with no commercial framework underneath. Features multithreaded Jump Point Search (JPS) pathfinding, graph-based procedural generation, and the native FMOD audio engine driven through its Python bindings (in collaboration with roiniti and Mateo-RR).

Tech Stack & Tooling

  • Languages: C, Rust, Python, Julia, Java, OCaml, SQL, Kotlin, Clingo/Telingo, Bash/PowerShell (currently expanding into C++ & Verilog/SystemVerilog).
  • Systems & Low-Level: Concurrency (threads, mutex/locks, multiprocessing), C-FFI and JNI, asynchronous and socket I/O, fixed-point DSP, binary formats and wire protocols, bare-metal deployment.
  • Reverse Engineering: Ghidra, Wireshark and packet capture, CFR/JADX decompilation, CAN/ISO-TP and J2534 diagnostics, WinOLS/GDS2.
  • Hardware & FPGA: Vivado/Vitis, XSim, KiCad, AMD Kria KV260 (Zynq UltraScale+), micro-soldering.
  • Infrastructure & Services: Docker & Colima, Kubernetes, Kafka, MongoDB, Neo4j, OpenSearch, Valkey/Redis, Testcontainers, Nginx, Wireguard, Prometheus, MinIO, Redfish/BMC, Windows Server 2025, Ubuntu Server.
  • How I Work: Git and GitHub Actions with CI gates; empirical debugging — measure first, change one thing at a time; the measurements behind a claim published with it, and writing down what is not verified as carefully as what is.

🌲 Beyond Engineering

I tend to approach most challenges as logical puzzles, but I also know when to completely unplug:

  • 🎻 Music: Violinist (9 years of professional conservatory training).
  • 🇯🇵 Languages & Culture: Self-taught Japanese (memorized ~2,000 kanjis by visually deconstructing them into radical puzzles) and long-time anime enthusiast. Native Spanish/Galician, C1 English, basic German (A1), and currently exploring Russian.
  • 🏹 Focus: Traditional archery, mechanical restoration, and spatial puzzles (e.g., Megaminx).
  • 🌿 Outdoors: Hiking and exploring fervenzas (traditional Galician waterfalls) and the deep green natural landscapes of my homeland to disconnect from the grid.

"If a system has logic, it can be understood. If it can be understood, it can be optimized."Personal Engineering Motto
"逃げたら一つ、進めば二つ" (If you run, you gain one; if you move forward, you gain two.)Mobile Suit Gundam: The Witch from Mercury
"ちりも積もれば山となる" (Even dust, when piled up, becomes a mountain.)Japanese Proverb

Pinned Loading

  1. Rustify Rustify Public

    Android music player integrating Spotify libraries with modular audio backends over a high-performance native Rust core

    Kotlin 6

  2. opendash opendash Public

    Android diagnostics app and ELM327 bridge for Scanmatik SM3 J2534 adapters over Wi-Fi, featuring live OBD-II telemetry and GM diagnostic decoding

    Kotlin

  3. scanner64 scanner64 Public

    Real-time multichannel Digital Down-Converter (DDC) bank in Verilog for AMD Kria KV260 FPGA programmable logic

    Verilog

  4. Denso-ECU-Toolkit Denso-ECU-Toolkit Public

    Reverse-engineering toolchain for Denso SH705x ECUs featuring Ghidra scripts for calibration map extraction and a standalone PyQt6 viewer

    Python 3

  5. NeuroSync-Framework NeuroSync-Framework Public

    Modular framework for real-time synchronization, digital filtering, and acquisition of EEG neural signals (BrainFlow) and human interface inputs

    Python 3

  6. nvidia-pstated nvidia-pstated Public

    Forked from sasha0552/nvidia-pstated

    Fork adding clock mode for GPUs without P-states (V100, P100, pre-Volta) — upstream PR #10. A daemon that automatically manages the performance states of NVIDIA GPUs.

    C 7 1