“Diego and I worked on some of the same development teams at DoubleDown Interactive, where we helped build the company's flagship product DoubleDown Casino, as well as the company's newest Unity mobile app DoubleDown Fort Knox. I found Diego to be a knowledgeable and versatile programmer whose work was critical to the success of our products. The products are ambitious, and we leaned heavily on Diego to help them realize their full potential. Diego always found ways to make our products better than expected, and to function more efficiently. He has a great mind, and is truly skilled at his craft. Besides being a great Developer, Diego is a super nice guy and a real pleasure to work with. During our time working together we became good friends. It's been a couple of years now since we've worked together, but he and I are still friends and still in touch. Diego has my highest recommendation, and I truly hope we work together again in the future!”
About
Highly experienced senior freelance developer for mobile and embedded devices, with over…
Activity
-
Hace algunos años, Google solía poner anuncios en vallas publicitarias como el que ven en la imagen. No era un aviso de empleo tradicional, sino un…
Hace algunos años, Google solía poner anuncios en vallas publicitarias como el que ven en la imagen. No era un aviso de empleo tradicional, sino un…
Liked by Diego Dagum
-
🔍 Book Review: C++ in Embedded Systems by Amar Mahmutbegović If you work in embedded software and want to embrace modern C++, this book is a gem…
🔍 Book Review: C++ in Embedded Systems by Amar Mahmutbegović If you work in embedded software and want to embrace modern C++, this book is a gem…
Liked by Diego Dagum
Experience
-
(Stay tuned for details)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Education
Publications
-
Cross-platform C++ library project template
GitHub (Open Source repo)
See publicationA 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)
See publicationA 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. -
Shapes Puzzle (Educational app for PreSchool Kids in English)
Amazon Kindle
See publicationI helped KidZone Studios port their learning game GuruCool Playshool to the Amazon Kindle Store.
-
GuruCool Playschool
Google Play
See publicationI helped KidZone Studios port their learning game GuruCool Playshool to the Android platform.
-
C++ In the Post-PC Era
Youtube
See publicationSmartphones 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
See publicationThis 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.
-
Porting Desktop Applications to the Windows Runtime
MSDN Magazine - Windows 8 Special Edition
See publicationDiego Dagum discusses how to port C++ desktop applications to the Windows Runtime Library, using a sample calculator application as a practical example.
-
Architecting for Highly Available, Scalable, and Reliable Mission-Critical Applications
Software Engineering Institute (Carnegie Mellon University)
See publicationMission-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
-
Adopting an Inclusion Mindset at Work
bs_apd39_a04_enus
-
Agile Principles and Methodologies
bs_apj13_a01_enus
-
Be Liked and Respected in the Workplace
bs_apd29_a01_enus
-
Be Productive by Working Efficiently
bs_apd52_a03_enus
-
Becoming a Successful Collaborator
bs_apd31_a01_enus
-
Becoming an Effective Cross-functional Team Member
bs_atm05_a01_enus
-
Being a Fair and Caring Manager
bs_amg02_a04_enus
-
Being an Effective Team Member
bs_atm02_a01_enus
-
Building Resilience in Your Personal and Professional Life
-
-
Building Up Your Emotional Intelligence
bs_acm34_a01_enus
-
Business Execution: How Things Get Done
bs_ald17_a01_enus
-
ChatGPT & Its Practical Use Cases
it_aipebsdj_01_enus
-
ChatGPT Prompt Engineering Examples & Use Cases
it_aicpeidj_01_enus
-
Creating a Solid Support Base through Peer Relationships
bs_apd40_a01_enus
-
Data Literacy for All Bootcamp
it_lbcdlfaon23_01_enus
-
Developing Emotional Intelligence
bs_ald14_a04_enus
-
Developing a Mindset of Growth and Learning
bs_apd50_a02_enus
-
Effective Stakeholder Communications for Technology Professionals
bs_acm23_a01_enus
-
Embracing Risk and Learning from Setbacks with AI Projects
bs_agt05_a04_enus
-
Encouraging Innovation and Experimentation with AI
bs_agt04_a03_enus
-
Engaging the Power of a Multigenerational Workforce
bs_amg16_a01_enus
-
Enhancing Communication through Listening
bs_acm37_a03_enus
-
Expanding Your Communication Skill Set
bs_acm37_a02_enus
-
Expert Insights on Communication Essentials
-
-
Expert Insights on Difficult Conversations
-
-
Fostering a Growth Mindset in the Age of AI
bs_agt05_a02_enus
-
Generative AI and Its Impact to Everyday Business
bs_agt01_a01_enus
-
Harnessing the Disruption of Generative AI
bs_agt01_a02_enus
-
Leadership Insights on Leading Innovation
bs_ldcldp_14_enus
-
Leading in the Age of Generative AI
bs_agt04_a01_enus
-
Leading through the AI Disruption with Empathy
bs_agt04_a02_enus
-
Learning from Failure and Success
bs_apd50_a01_enus
-
Leveraging AI as a Team Member
bs_agt05_a01_enus
-
Leveraging Analytical and Critical Thinking to Implement AI
bs_agt05_a03_enus
-
Listening to Engage, Empower, and Influence
bs_acm35_a02_enus
-
Making Difficult Conversations Meaningful
bs_amg19_a01_enus
-
Managing in a Crisis
bs_ald09_a01_enus
-
Navigating AI Ethical Challenges and Risks
bs_agt02_a01_enus
-
Optimizing Your Workplace Well-being
bs_apd47_a01_enus
-
Overcoming Barriers to Effective Listening
bs_acm35_a01_enus
-
Recognizing Hallucinations, Inaccuracies, and Bias in AI
bs_agt02_a02_enus
-
Set Your Workspace Up For Success
bs_apd52_a01_enus
-
The Role of ChatGPT in Shaping Our Future
it_aiciepvdj_03_enus
-
Thrive at Work: Mind, Body, Emotion, and Relationships
-
-
Thriving with High-pressure Work
bs_apd47_a02_enus
-
Transforming the Workplace Using Artificial Intelligence
bs_dgt14_a01_enus
-
Unleashing Personal and Team Creativity
bs_apd02_a01_enus
-
Viewing the Big Picture Strategically
bs_ast06_a02_enus
-
Working Well with Others
bs_acm32_a01_enus
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
-
English
-
-
Spanish
-
Recommendations received
45 people have recommended Diego
Join now to viewOther similar profiles
Explore top content on LinkedIn
Find curated posts and insights for relevant topics all in one place.
View top contentOthers named Diego Dagum
2 others named Diego Dagum are on LinkedIn
See others named Diego Dagum