C++ CoreHard Summer 2016 Conf is a conference dedicated to C++ and related technologies.
The organizer of the conference is CoreHard.by community that unites not only C++ engineers, but also the ones who are interested in low-level development in C and assembler, programming of controllers, internet of things, highload server solutions and in any kind of “hardcore” development.
We’ll talk about quality assurance for C++ projects, discuss new features of C++ which were planned but were not released in C++ 17 standard. We'll discuss tips and tricks of multithreading programming and lock-free containers together with the author of Concurrent Data Structures library. We’ll dive deep into C++ Abstract Syntax Tree features and talk once again about generic programming and writing safe code for C++. And for dessert we’ll look at the trends of Internet of Things. Maxim Khizhinsky (St.Petersburg) and Anton Bikineev (Moscow) are joining us.
It’s free to take part in the conference thanks to our sponsors.
Lead developer at Zodiac Interactive (St. Petersburg). Develops Concurrent Data Structure (libcds) libcds since 2006. Interested in everything related to concurrent data structures, methods of development and testing.
Development Manager at LogicNow, in MAXBackup product. Specializes in low-level development, architecture, performance, debugging. COMAQA.BY community activist. Worked for Microsoft (Hyper-V product) in the past
Senior Software Developer in Low Level Programming Department at EPAM Systems. Right now he is a part of a development team of hierarchical storage management system. Has 15 years of development experience using C++ in various IT-companies in Minsk. Used to be a programming teacher at Applied Mathematics Faculty of Belarusian State University.
Lead developer/architect at LogicNow (MAXBackup product). Specializes in design and development of high-load failover systems in C++
Activist of COMAQA.BY and CoreHard.BY communities, co-founder of DPI.Solutions, manager at EPAM Systems. More than 13 years of experience in IT. Specializes in low-level development, QA automation, management, sales.
Developer at Parallels. Up until recent time Anton worked in the USA on portable serialization library that is used in HPX. Participant of Google Summer Of Code 2014 for Boost.Math library. Open-source enthusiast, Boost contributor, HPX and other projects
Researcher and developer at Regula. Spheres of interest: network development, information protection, image processing.
Works as a developer at mobile department of Wargaming. Currently takes part in development of a free-to-play action game. In past experience, worked on various projects in information protection domain.
Modern software development is a much more complex process than just regular coding. This process incudes such practices and artifacts as code reviews, continuous integration, unit testing, static code analysis, code coverage, coding standards etc. We will discuss how to integrate these process into your development cycle and what tools can be used for that in C++ universe.
We will take a look at the implementation of both lock-free and fine-grained lock-based set/map: hash tables, trees. We will find out what in STL may be implemented in lock-free manner and what may not. “Underwater rocks” of lock-free algorithms and how to neutralize them.
The talk covers the following questions: how business trends of mobile development and Internet of things will affect technical trends of development and quality assurance. What are the possible difficulties, what skills will be necessary and what types of testing will become more popular, and what tools will become actual. Numerous examples of projects from our country that you can take part in here in Belarus and Russia, here and now.
C++ memory models: Ordnung muss sein. Why “undercooked” thread may terminate the application and how to avoid this: recipies from masters of threads. How to come to the conclusion of shared resource usage and how to avoid side effects. The overview of multithreaded development tooling.
clang library family provides wides possibilities to implement various tools based on parsing and analysis of Abstract Syntax Tree (AST). Particularly, clang authors released a tool called clang-tidy, a powerful static code analyzer. The talk covers a way to make use of this tool in the process of C++ development and how to enrich this tool with your own checks. On a side note, we will take a deep look into C++ AST.
Generic programming is a development approach where the algorithm gets written without specifying concrete data types. Using this approach, one can dramatically increase the ratio of code reuse. In C++ this is achieved via template mechanism. The talk covers several possibilities that C++ presents. Real-world examples are given and we will take a look on how they can simplify our development life.
C++ gives too much freedom and power to the engineer who is in charge for the development. It’s easy to write code, but it’s complicated to debug and analyze crash reports. This power may be used by the wrong side: a malefactor may interrupt into your application flow and corrupt user’s data. The talk covers most popular vulnerabilities and errors in the application nowadays: from where they come from and how to get rid of them in C++ code.