About
With over a year of experience as a Firmware Engineer at Axon, I focus on developing…
Activity
8K followers
Experience & Education
View Diego’s full experience
See their title, tenure and more.
or
Publications
-
Cross-platform C++ library project template
GitHub (Open Source repo)
A cookiecutter-based project template to easily create cross-platform C++ library projects.
Among its features:
* Android and iOS sample apps that integrate the cross-platform library stencil.
* Unit test integration via Catch/2 with a canary test built-in.
* Lint style checking via Cppcheck.
* API documentation generation via Doxygen. -
Bitset Iterator (C++ library)
GitHub (Open Source repo)
A longtime needed iterator for C++ STL std::bitset<N>.
An STL std::bitset could be seen as a set of integers. For example, consider an instance of std::bitset<8> like 0b01001011. Such instance can be seen as the set of integers { 0, 1, 3, 6 } corresponding to all its set bits. Yet, why not, it could be also seen as the set of integers { 2, 4, 5, 7 }; these are the indices of all unset bits.
Using std::bitset to model a set of integers could be a matter of convenience…
A longtime needed iterator for C++ STL std::bitset<N>.
An STL std::bitset could be seen as a set of integers. For example, consider an instance of std::bitset<8> like 0b01001011. Such instance can be seen as the set of integers { 0, 1, 3, 6 } corresponding to all its set bits. Yet, why not, it could be also seen as the set of integers { 2, 4, 5, 7 }; these are the indices of all unset bits.
Using std::bitset to model a set of integers could be a matter of convenience given its compact runtime footprint. Also, the ability to load it from, unload it to an unsigned number.
Unfortunately, for those scenarios where std::bitset is a smart choice to represent sets of integers, the type provides no iterators. There's no convenience way to retrieve just the bits that are on (or, conversely, the ones off) other than just visit all bits and test their statuses.
This header-only template library closes such gap.
-
C++ In the Post-PC Era
Youtube
Smartphones and tablets made personal computing more personal than ever. This post-PC era, with its new platforms and technologies, disrupted how developers design, build and deliver software. Moreover the fact the traditional PC renewal / replacement cycle is now longer confirms the notion that attention has shifted to the new form factors.
What role do C++ and C++ developers play in this new scenario?
In this talk, Diego reviews aspects that make C++ unique for ARM-based…
Smartphones and tablets made personal computing more personal than ever. This post-PC era, with its new platforms and technologies, disrupted how developers design, build and deliver software. Moreover the fact the traditional PC renewal / replacement cycle is now longer confirms the notion that attention has shifted to the new form factors.
What role do C++ and C++ developers play in this new scenario?
In this talk, Diego reviews aspects that make C++ unique for ARM-based development, together with the many challenges and overlooked costs that C++ developers face when jumping in. Diego shows how the leading platforms enable C++ through technologies and tools. He also discusses the state-of-the art in cross-platform approaches with their pros and cons.
You'll leave this talk with a panorama of the many ways to use C++ in the post-PC world, what's already achieved and what still needs to be done.
-
New Age C++
Visual Studio Magazine
This is a column I wrote during 2012 and 2013, to divulge the evolution of C++ in its version C++11, aimed for Java and .NET developers who are looking to incorporate unmanaged code to their projects, given the uncontested performance benefits that native code delivers.
-
Architecting for Highly Available, Scalable, and Reliable Mission-Critical Applications
Software Engineering Institute (Carnegie Mellon University)
Mission-critical applications are vital for the normal flow of operations in any organization. This range of applications is characterized by a series of attributes, such as scalability, fault-tolerance, resiliency, and performance. While it’s pretty easy to get any of these attributes in isolation, meeting all them together is not a straightforward process. It typically happens that, when applying techniques intended to maximize—let’s say—scalability, performance might be eroded; performance…
Mission-critical applications are vital for the normal flow of operations in any organization. This range of applications is characterized by a series of attributes, such as scalability, fault-tolerance, resiliency, and performance. While it’s pretty easy to get any of these attributes in isolation, meeting all them together is not a straightforward process. It typically happens that, when applying techniques intended to maximize—let’s say—scalability, performance might be eroded; performance enhancement may cut graceful degradation capabilities, and so forth. This session explores all those tradeoffs, offering effective guidance to deal with mission-critical attributes altogether. After attending this session, the attendee will be able to identify those friction points, applying integral techniques in order to maximize the fulfillment of those attributes at once. This session also offers health checking techniques for diagnostics, to guarantee that quality-of-service agreements are being fulfilled.
Courses
Honors & Awards
-
Google DevFest Hackathon
Seattle Google Developer Group (GDG
Together with other partners I met in the venue, I won the Google TV Hackathon (whose prize was a Google TV player).
We did an Android application for Google TV that allowed to share fragments of YouTube videos (from-to, fragments, not entire videos) between Twitter followers.
While we couldn't code it at the venue, the ultimate idea of this application was to arrange playlists of YouTube fragments, shareable to followers.
Languages
Recommendations received
Other similar profiles
Explore top content on LinkedIn
Find curated posts and insights for relevant topics all in one place.
View top content