Here are examples of previous assignments:

  • C++ development
    For performance critical projects, C++ is a good choice. See the C++ page for more information.
  • Fuzzing
    Not many code bases survive fuzzing for long. I have successfully used libFuzzer and afl to uncover bugs. I have found (and fixed some) bugs in curl, libfmt, simdjson and tnef.
  • Programming in Octave and Matlab
    I use Octave for investigating and prototyping mathematical problems. The prototype can sometimes be used as a reference during implementation in another language such as C++.
  • Machine learning
    Some problems can be efficiently solved by applying machine learning techniques. See the track condition analyzer page for an example.
  • Probability analysis
    In many areas, reasoning about uncertainty is important.
  • Equivalent conicity calculations (railway)
    See the equivalent conicity page.
  • Kalman filtering
    Being invented in the 60’s, the Kalman filter is still one of the most important methods for estimation and signal fusion. It is used to estimate unknown properties based on noisy measurements.
  • Particle filtering
    Some estimation problems are not possible to fit in to the model used by the Kalman filter. The particle filter is a general method to solve estimation problems, but is computationally expensive compared to the Kalman filter. Problems where the system evolves according to a nonlinear model and/or is subject to non-Gaussian noise are preferably approached with a particle filter.