C++ Developer in Seattle, WA, United States
Member since September 21, 2013
Daniel has a proven talent for creating high performance applications in C++ for large companies such as Dreamworks Animation SKG. He has developed C++ applications with the Intel Threading Building Blocks framework, Boost C++ libraries, and Qt libraries. He also excels with C and ASM (x86).
Software Development Engineer II2017 - PRESENTAmazon Web Services
- Contracted to develop software.
Qt Developer2015 - 2017MBLSFT
Technologies: C++, Qt, Blackberry
- Ported an Android Secure Messenger application to BlackBerry native.
- Ported the crypto library from Java to C++.
C++ Developer2015 - 2015PulsePerfect
Technologies: C++, GiNaC, Linux
- Integrated the GiNaC library into a Qt project.
- Integrated the Cuba library into a Qt project.
- Created different callback functions for the Cuba integration function.
- Created a parser for a Scene Definition File.
- Created images from mathematical equations.
C++ Developer2014 - 2015MiddleMatter
Technologies: C++, Qt, OpenGL, Android, Android NDK
- Created a project in C++ using Qt OpenGL support.
- Developed a whistle recognition C++ library using Qt.
- Removed the Qt dependencies from the whistle lib and compiled it with Android NDK.
- Created an Android app that used the whistle lib as the back-end sound processing.
- Implemented a fast SMQT (Successive Mean Transformation Transform) algorithm for the whistle processing which performs in O(N) instead of O(N*L), reducing processing time to 3% to 19% of the original time (depending on the number of samples).
C++ Desktop Programmer2014 - 2014Slimware Utilities
Technologies: C++, MFC, Networking, Multithreading
- Improved the existing Stub Installer.
- Created a multithreaded background process to manage downloads.
- Created unit tests for the product.
- Managed overlayed data inserted into the application image.
- Fixed bugs.
Senior C++ Developer2013 - 2014Arris (formerly Motorola Mobility)
Technologies: C++, ObjectStore, Linux, Windows, Git, CMake
- Used the ObjectStore object oriented database.
- Used CMake as the build system.
- Developed new features and fixed bugs for a VideoFlow application.
- Created a logging system to automatically log files, lines, functions, etc. using a preprocessor macro.
- Fixed numerous C++ bugs.
Senior C++ Developer2012 - 2013Dreamworks Animation SKG
Technologies: C++, Intel TBB, Boost C++, Qt, Linux
- Used parallel computing techniques with Intel TBB.
- Created a unit test using googletest.
- Fixed several Python-C++ interfaces.
- Created mesh compare operators (one for each different kind of mesh) at the request of an artist.
- Fixed bugs and made improvements to Dreamworks's proprietary software for creating 3D movies.
C++ Developer2012 - 2012Motorola Solutions
Technologies: Windows Mobile 6.5, Qt, Boost C++
- Found the source of bizarre errors that turned out to be related to template linking issues.
- Created a lock screen UI (password prompt UI) for Windows Mobile 6.5 that interfaced with a data encryption card.
- Suggested various improvements to the adopted system of generating log information.
- Developed an asynchronous finite state machine using boost::statechart.
- Used the Qt framework for the lock plugin UI.
Firmware Developer2011 - 2011Controlnet S.A.
Technologies: C and C++ for Microcontrollers, Real-time Operating Systems, USB Interface, Smart Contactless Cards
- Worked to allow different USB modes (mass storage, virtual serial port, input device, etc.) to work on an ARM7 development board.
- Proposed, installed, and evaluated two different real-time operating systems (RTOS's) on an ARM7 development board.
- Tested an ATM to find bugs.
- Modified the firmware of an old Buss card system to add new functionality.
- Worked under the ISO 9001 quality standard.
- Codility Silver Award for the Carbo 2013 Challenge (Other amazing things)http://codility.com/cert/view/certC89A6K-H6JMRM23QQPUFZGJ/
My successful solution to the Carbo 2013 Challenge.
- How C++ Works: Understanding Compilation (Publication)Compilation and linking are two very fundamental processes that happen all the time during C++ software development. However, what happens during these processes? How does the compiler go from your neatly organized source code to a binary file that the machine understands? In this article, Toptal Freelance Software Engineer Daniel Trejo explains how a C++ compiler works with some of the basic language constructs to answer some common questions that are related to these processes.
- Optimized Successive Mean Quantization Transform (Publication)Image processing algorithms are often very resource intensive due to fact that they process pixels on an image one at a time and often requires multiple passes. Successive Mean Quantization Transform (SMQT) is one such resource intensive algorithm that can process images taken in low-light conditions and reveal details from dark regions of the image. In this article, Toptal engineer Daniel Angel Munoz Trejo gives us some insight into how the SMQT algorithm works and walks us through a clever optimization technique to make the algorithm a viable option for handheld devices.
- After All These Years, the World is Still Powered by C Programming (Publication)Despite the prevalence of higher-level languages, the C programming language continues to empower the world. There are plenty of reasons to believe that C programming will remain active for a long time. Here are some reasons that C is unbeatable, and almost mandatory, for certain applications.
LanguagesC, C++, Python, Assembler x86, Java
ToolsGit, Android NDK, CMake
ParadigmsConcurrent Programming, Object-oriented Programming (OOP)
PlatformsLinux, BlackBerry, Windows, Android, Windows Mobile
OtherAlgorithms, Data Structures, Cryptography
- Bachelor of Engineering degree in Electronic Engineering2004 - 2015Universidad Tecnologica Nacional - Cordoba, Argentina