Eduardo Gonzalez

../../_images/eduardo-gonzalez.png

Role: Embedded Software Engineer

Location: Trieste, Italy

Education: PhD in Statistical Physics, SISSA (Scuola Internazionale Superiore di Studi Avanzati)


Eduardo studied Physics for most of his life before transitioning to embedded software engineering through self-learning and hands-on projects. With a PhD in Statistical Physics from SISSA, he brings a rigorous analytical mindset to embedded systems development.

At Amarula, he specializes in cross-platform C++ application development using CMake build systems and C++/QML for embedded interfaces. He is the primary maintainer of libcppconnman, Amarula’s open-source C++ wrapper for the ConnMan network manager, where he leads CI/CD workflows, testing infrastructure, and API design. He is actively growing his expertise in Yocto, embedded Linux, and team collaboration practices.



Open Source Focus

libcppconnman (Primary Maintainer)

Eduardo is the lead developer and maintainer of libcppconnman, a C++ wrapper library for the ConnMan network management daemon used in embedded Linux systems. He has driven significant architectural improvements: migrating to GLib main loop integration with g_main_context_invoke, implementing thread-safe non-blocking proxy and agent APIs, and eliminating memory leaks in the GDBus interface layer. He established the CMake-based build system with proper version and SOVERSION handling, enforced static linking for Google Test, and added comprehensive unit and integration tests.

CI/CD & Developer Experience

Created GitHub Actions workflows for code formatting checks, build-and-test automation (conf-build-test.yml), and post-build result reporting. He fixed Clang compilation warnings and improved logging throughout the codebase, making the library easier to debug and integrate.

ConnMan Integration

Extended ConnMan’s C++ API surface with tethering test support, ConnMan service property accessors, and readline-based interactive control (connmanctl). His work on non-blocking agent registration and D-Bus thread safety ensures libcppconnman is safe for use in multi-threaded embedded applications.

Embedded Linux

Currently expanding into Yocto-based BSP development and embedded Linux system integration, complementing his C++ and build-system expertise.



Selected Contributions (2025–2026)

Contribution

Project / Area

GLib main loop integration via g_main_context_invoke

libcppconnman

Non-blocking agent registration (gagent + gproxy)

libcppconnman

Thread-safe GDBus proxy and service manager

libcppconnman

CMake VERSION + SOVERSION for library releases

libcppconnman

Google Test static linking and CI test infrastructure

libcppconnman

Memory leak fix in GConnMan D-Bus proxy

libcppconnman

ConnMan tethering test suite (gconnman_tech_test)

libcppconnman

Clang compilation warning cleanup

libcppconnman

GitHub Actions: conf-build-test.yml and code-format.yml

CI/CD

ConnMan service property accessors and readline connmanctl

ConnMan / libcppconnman


Beyond the Code

When not debugging D-Bus threading issues or writing CMake rules, Eduardo enjoys swimming, running, and playing guitar. His physics background gives him a distinct perspective on system-level debugging — approaching complex embedded problems with the same analytical rigor he applied to statistical physics at SISSA.


Note

This profile is part of the Open Source Team directory. Amarula is a larger team; this directory covers only members with public upstream contributions.

Tip

Need a C++ library for ConnMan integration or embedded networking support? Amarula Solutions provides custom library development, CMake/CI pipeline design, and ConnMan/Yocto integration. Contact us