Paul Dreik's personal homepage

About me


I was born in 1977 and live outside Stockholm, close to Nackareservatet (which is one of the best places to ride MTB in Sweden!) I am an engineer and have gradually slipped more and more into programming. Since 2006, I am self employed.

2010 change of last name: Sundvall→Dreik

I changed last name from Paul Sundvall to Paul Dreik 2010. Many people think it is a Dutch name, which it is not. It is pronounced almost like the English name Drake (and yes, I know about this guy).


Here are some relevant personal links. Note: I am not on facebook. Please beware of the fake page filled with spammy links, taken by someone after I stopped using that domain.


My email adress is firstname@thisdomainname.

My pgp key is 4CC8C397. You may get it from here or get it from a key server (like this one).


I enjoy giving presentations about stuff I find interesting. Newest first.

  • 2019-03-14 Fuzzing (slides, code, video)
  • 2018-11-22 My best debugging tip (slides, code, video)
  • 2017-10-26 What is this std::forward thing (slides, code, video)
  • 2017-02-16 Structured bindings FTW (slides, code, video)
  • 2016-12-15 Debian packaging (slides, code, video)


I am a big fan of C++, which in my opinion is a language with the perfect balance between abstraction and performance. I admit it is kind of complicated, but it is important to remember that C++ is a great language for library writers, and most users can piggyback on that. You do not need to know all about template metaprogramming to be productive.

Sometimes people complain about the difficulty of C++ leading to memory leaks, writing outside array bounds or maybe the very long syntax getting in the way. A lot has happened with C++ the last years, and I have some great news:

  • There are excellent, freely available tools for tracking down memory leaks and other problems (valgrind, adress sanitizer, static analysis) which help you track down a lot of memory errors easily
  • With the introduction (and common use) of smart pointers in boost and modern C++, memory leaks are mostly gone.
  • Many problems go away when using less of the c stuff and more of the C++ stuff, like using std::array instead of a raw c array.
  • Modern C++ is much shorter to read and write, and more to the point. It looks more like python than c, but is still statically typed

I present more of my philosophy on C++ here.

Some C++ quotes

  • C++, the second best language for anything (unknown)
  • C++ does not give you performance, it gives you control over performance (Chandler Carruth)
Here are three great links for a C++ developer:

I also maintain a list of relevant links on my company page: C++ resources on

About this page

This page should be served over https, otherwise there is a configuration error in my web server and I am happy if you would notify me about that.

It is based on html5 boilerplate code, licensed under the MIT license.

This page should be html5 compliant and be perfectly readable even with javascript disabled.

I am not a native English speaker, so I apologize for any language errors.