C++ Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Member since May 12, 2015
Adnan is an engineer with experience in desktop, embedded, and distributed systems. He has worked extensively in C++ (working at both low and high levels), Python, and in other languages. He is experienced in developing complex algorithms and intelligent systems, optimization, networking, and signal processing. He is very passionate about problems faced by robotics and mechatronics in general.
Researcher2012 - 2015University of Sarajevo, Faculty of Electrical Engineering
Technologies: C++, Python, Robot Operating System, C#
- Developed alternative algorithms for motion planning using different paradigms than the industry standard.
- Created a tuner based on a genetic algorithm to optimize performance of global space exploration for repetitive tasks.
- Explored ways to use volumetric data to get maximum information with minimum feedback, comparing it with standard planning algorithms.
- Implemented an unscented particle filter and metric map-based approximate localization algorithm that is efficient at searching space with noisy and/or non-invertable feedback.
- Integrated all of the above with ROS.
Software Engineering Intern2014 - 2014Google Switzerland
Technologies: C++, Python, AppEngine, WebApp2, Borg, MapReduce, BigTable
- Participated in the development of a pipeline used to provide real-time and historic data to search engines.
- Created generic reusable clients for overcoming drawbacks of the PubSubHubBub protocol.
- Performed load tests on Google's feed providing services to discover potential of future expansions.
- Developed all solutions to be infinitely scalable linearly with hardware availability.
- Analyzed possibilities of service deprecation and redesign.
Undergraduate Teaching Assistant2014 - 2014University of Sarajevo, Faculty of Electrical Engineering
Technologies: MATLAB, Numpy
- Prepared and performed laboratory works in modeling and simulating systems.
- Library for Motion Planning (Other amazing things)https://github.com/adnanademovic/bubbles-motion-planning
After working on research for developing new methods of motion planning, the codebase for development has been extended to implementing other methods of motion planning, with the research results used for optimizing various existing algorithms.
- 3D Graphics: A WebGL Tutorial (Publication)Whether you just want to create an interactive 3D logo, on the screen or design a fully fledged game, knowing the principles of 3D graphics rendering will help you achieve your goal. In this article, Toptal Freelance Software Engineer Adnan Ademovic gives us a step-by-step tutorial to rendering objects with textures and lighting, by breaking down abstract concepts like objects, lights, and cameras into simple WebGL procedures.
- An Introduction to Robot Operating System: The Ultimate Robot Application Framework (Publication)Robot Operating System, a framework for building robot applications, allows developers to assemble a complex system by connecting existing solutions for small problems. In this article, Toptal engineer Adnan Ademovic gives us a step-by-step tutorial to building software for an onboard computer that allows us to remotely control and monitor a robot and running it in a simulated world using Robot OS.
FrameworksRobot Operating System, AngularJS, .NET, Unity3D, Boost, webapp2, WebApp, Machine Learning, Django, Windows Presentation Foundation (WPF), Android SDK, Qt
ParadigmsParallel & Distributed Computing, Dynamic Programming, Design Patterns, Object-oriented Programming (OOP), Functional Programming, Test Automation, Unit Testing, Distributed Programming, REST, MapReduce
OtherRobotics, Embedded Systems, Applied Mathematics, Math, Game Development, Optimization, Evolutionary Algorithms, Modeling, Physics Simulation, AI Programming, Neural Networks, Regular Expressions
Libraries/APIsProtobuf, Standard Template Library (STL), jQuery, OpenCV, OpenGL, POSIX, WinForms, XNA
ToolsMATLAB, Make, CMake, Microsoft Visual Studio, Git, Qt Creator, Atom, Vim Text Editor, Jekyll, Android Studio, Eclipse IDE
PlatformsGoogle App Engine, Linux, Windows
- Master's of Electrical Engineering degree in Automatic Control and Electronics2013 - 2015University of Sarajevo; Faculty of Electrical Engineering - Sarajevo, Bosnia and Herzegovina
- Bachelor's of Electrical Engineering degree in Automatic Control and Electronics2010 - 2013University of Sarajevo; Faculty of Electrical Engineering - Sarajevo, Bosnia and Herzegovina