Diego Dagum

Diego Dagum

Kirkland, Washington, United States
8K followers 500+ connections

About

Highly experienced senior freelance developer for mobile and embedded devices, with over…

Activity

Experience

  • (Stay tuned for details)

    Kirkland, Washington, United States

  • -

    United States

  • -

    United States

  • -

    Kirkland, Washington, United States

  • -

    Bellevue, Washington, United States

  • -

    United States

  • -

    Bellevue, Washington, United States

  • -

    Bellevue, Washington, United States

  • -

    Seattle, Washington

  • -

    Seattle, WA

  • -

    Seattle, WA

  • -

    Kirkland, Greater Seattle

  • -

  • -

    Seattle

  • -

    Redmond, WA

  • -

    Redmond, WA

  • -

    Redmond, WA

  • -

  • -

  • -

  • -

  • -

Education

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.

    See publication
  • 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.

    See publication
  • Shapes Puzzle (Educational app for PreSchool Kids in English)

    Amazon Kindle

    I helped KidZone Studios port their learning game GuruCool Playshool to the Amazon Kindle Store.

    See publication
  • GuruCool Playschool

    Google Play

    I helped KidZone Studios port their learning game GuruCool Playshool to the Android platform.

    See publication
  • 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.

    See publication
  • 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.

    See publication
  • Porting Desktop Applications to the Windows Runtime

    MSDN Magazine - Windows 8 Special Edition

    Diego Dagum discusses how to port C++ desktop applications to the Windows Runtime Library, using a sample calculator application as a practical example.

    See publication
  • 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.

    See publication

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 view

View Diego’s full profile

  • See who you know in common
  • Get introduced
  • Contact Diego directly
Join to view full profile

Other similar profiles

Explore top content on LinkedIn

Find curated posts and insights for relevant topics all in one place.

View top content

Others named Diego Dagum

Add new skills with these courses