SOFTWARE
MATLAB | C++ | Javascript
PROJECTS
MY GOAL
I started developing software in 2014 in Matlab for modeling and data-analysis purposes. I later changed to python, C++, Arduino, and Javascript to develop software ranging from low-level algorithms and data structures to embedded software and web design. I have a keen eye for automating processes and modular coding especially in the data analytics field. As a result, I have developed various software tools such as done for the Impact-Aware Robotics database where various sensor data from diverse robotic setups is collected and structurally stored to guarantee reproducibility and interoperability of the data. Recently, my focus has shifted towards embedded software to control the circuitry of physical technology such as the EtherCAT interface to control I/O of a robotic setup. The work on this website is a combination of personal projects I developed in my spare time, as well as work-related projects where I was the main or lead developer. All code is publicly available on my personal Github page. I have a very entrepreneurial spirit and enjoy solving meaningful problems in a simplistic, modular, and lightweight approach.
TECHNICAL SKILLS
MATLAB
Matlab is my first programming language, which I started using in 2014 during my Bachelor Mechanical Engineering. Due to the simplicity of Matlab to do matrix multiplications, plotting of data and functions, and interfacing with programs written in other languages, I use Matlab for more mathematical problems, modeling purposes, data analysis, and dynamics simulations. As MATLAB is an interpret language, it takes longer to execute which motivated me to switch to C++ for real-time applications. However, for me, MATLAB remains an easy-to-use software language which I will continue to use for mainly offline purposes.
PYTHON
Python is a language I started using in 2020, when I discoverd the power of open source software. Python is a very accessible language, and in contrast to Matlab, does not require a license to run. For many people, this makes Python the favorable language to use, and many modules are shared in Python language online. I started using modules for object detection, as well as SDK's for robot control. Various software packages also come with a Python wrapper (such as PyBullet), which I have used in the past for simulation purposes. On Ubuntu I started writing my first Python scripts, and my goal is to get more proficient in the Python language.
EMBEDDED
My first encounter with embedded software was when I started playing with Arduino's. The simplicity of an arduino is amazing and helped me a lot in understanding the basics of electronics. I have used arduino's in various projects, such as an coffee alarm that provides fresh coffee in the morning.
c++
When it comes to real time applications, C++ is my go-to software language. I started using C++ in 2020, as many software packages I was using for the low-level control of robotic arms were written in C++. I only really started to use C++ once I worked on the EtherCAT interface to control the inputs and outputs of a robotic arm. I had to custom write the functions that could read from sensors and write data to various actuators that were connected to the setup I was using during my PhD. As the standard in industry was doing these tasks via Windows, creating an interface via the Simple Open EtherCAT Master (SOEM) was new for me. My general understanding of C++ is not high, but sufficient enough for me to play around with it.
JAVASCRIPT, CSS, HTML
Obviously, the easiest way to build a website nowadays is by the use of a Content Management System (CMS). However, I decided to build my website from scratch, to learn how to work with HTML, CSS, and Javascript. My philosophy of using Javascript is that this client-based software limits the request to the server that hosts my website, in the unlikely event that many people visit my website. I have some experience with Bootstrap, but decided to use custom CSS, to maintain full control over the design of my website, and to prevent the need of downloading huge css files. I have some experience with MySQL as well, but decided not to use this for my website, given the small size of the database I use. Instead, I am using JSON files together with Javascript to dynamically create HTML pages. My photography page is an example of that.