Bartosz Szurgot


Bartek ‘BaSz’ Szurgot is a veteran of many server-side and embedded projects. Majority of his professional career focused on the world of C++, Linux and DevOps. While he spends most of his time programming, his interests also cover other things, including: electronics, 3D printing, security, computer networks, vision systems and artificial intelligence.

After hours BaSz contributes to open-source world on a daily basis. He's also (co-)author of multiple articles in magazines: “Programista” and “Software Developer Journal”. He has been a speaker at many conferences and geek-gatherings, including: NDC Oslo, code::dive, emBO++, Wrocław's first C++ users group and TEDx.

home page:




Structured logging (2017)

Presentation focuses on a subject of logging system activity, from programmers' perspective. It turns out that such a “simple and obvious” activity is often done in a way, that does not fit well into big-data-scale of systems we're developing nowadays. During the talk, an alternative approach for gathering logs will be discussed - one that allows not only having an intuitive API, but also usable logs at the end. Both concept (generally applicable) and an actual implementation (C++) will be presented.

The goal of the presentation is to trigger a change in how developers think about logging and processing logged data.


The Taming Of The Software: C++, Embedded... And More (2016)

creating software is a tricky thing. there are a lot of decisions to be made. what should be tested? which tests are beneficial? how to organize software components? where to put abstractions? how to make millions of lines of code understandable? these are everyday questions of every developer. making software for embedded platform brings one more challenge, namely different hardware platforms. how to make your embedded software easily debuggable? how to avoid complexities when multiple platforms need to be supported by the same code base? all of these problems seem to be well known, yet practice shows the wheel is being constantly reinvented... and usually turns out to be square. during the presentation battle-tested solutions for these common issues will be presented. while the main focus will be on C++ projects for embedded platforms, many ideas can be applied to different languages and project types as well. no in-depth knowledge of C++ or embedded development is required to understand the talk.


C++ vs. C: The Embedded Perspective (2015)

C is commonly known to be “the best choice for embedded”. Many embedded developers consider C++ to be generally slower and generating larger binaries… but is it really so? In this lecture, series of case studies are presented and measured in order to check out how things really are. Knowing how tools work allows to understand our software better. Even though presentation is focused on embedded software, most of the gained knowledge can be applied to desktop development equally well. Target audience are C and C++ developers. In-depth knowledge of embedded development is not required to understand the content


Threading: Dos And Don'ts (2014)

Writing concurrent software for modern architectures is a difficult task. There are cache memories, buffers, coherence models, and constantly increasing cores count. During the presentation a set of threading pitfalls will be shown, along with proper countermeasures - all in the context of multicore processors we have today and may expect in a near future. the whole presentation will be held in a spirit of modern C++, including the memory model.