#CoreHardBy

C++ CoreHard Autumn 2016 Сonference
October 22, Minsk

The C++ CoreHard Summer 2016 Conf is a conference dedicated to C++ and related hardcore technologies.

The conference is being organized by the CoreHard.by community that unites not only C++ engineers, but also those 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 actor models for C++ and binary compatibility, discuss GMock framework and best practices of unit testing. Together with Antony Polukhin (Moscow, Russia), Boost contributor and "Boost C++ Application Development Cookbook" author, we'll discuss how to build a basic reflection mechanism for C++ 14. We will also discuss how engineering works at Microsoft and talk about development of Bing, the Microsoft search engine together with Yegor Kishilov (Redmond, USA).

Participation in the conference is free thanks to our partners.

Stream 1 online:

Stream 2 online:

Feedback form. Tell us what you think about the conference.

#CoreHardBy

Speakers

Schedule

  • 11:00 - 11:10

    Opening

  • 11:10 - 12:00

    Actors model and C++: what, how and why?

    Yauheni Akhotnikau

    Actor model which is currently trending in software development is a popular design approach when it comes to complex applications. Many systems written in Erlang (Akka framework) are designed with actor model in their core. But Erlang and Akka are managed environments and safe programming languages. Is it worth using actor model in C++? If yes, where to look and what to use? What "underwater rocks" can you meet in this path? The talk will cover all these topics.

  • 12:10 - 13:00

    GMock Framework

    Ivan Sidarau

    Usage of GMock for flawless developer's life. Overview of "tip of the iceberg" and deep parts of GMock. Exploring GMock features on real-life examples.

  • 13:10 - 14:00

    Compile-time reflection in C++14 without macro and additional markup

    Antony Polukhin

    Several metaprogramming techniques that allow using an "out-of-box" reflection in C++ have been discovered lately. The talk will cover these techniques and will show usage examples. We will discuss how the techniques may be applied in C++17. You can experiment with reflection using https://github.com/apolukhin/magic_get library.

  • 14:00 - 15:00

    Coffee Break

  • 15:00 - 15:50

    What was tested and what we found out while building a Linux version of PVS-Studio

    Svyatoslav Razmyslov

    Most programmers are not aware of what it takes to create PVS-Studio for Linux. Some think that most of work is to just port the code but it is far from the truth: it's really easy to port the code, but it's just 5% of work. The rest of work is hidden from the observer and is related to solving a lot of infrastructure questions. Let's look at the kitchen of PVS-Studio development and find out interesting facts about their job.

  • 16:00 - 16:50

    Getting Visitor, Builder, Composite, Decorator and Iterator together: build architecture on a real example

    Anton Semenchenko

    In the presentation we’re going to speak about architectural solutions, including ones for making software of high quality with minimum work effort. The domain of data protection is chosen as a cross-cutting example in order to better understand the technical, QA and general process-parts of the approach. Right now it’s OK to talk about technical details without violating NDA, and the suggested variant based on metrics was chosen as the best architectural solution of the company – one IT industry leaders, received Microsoft award and was multiplied for the adjacent fields of study. Let’s begin: Builder, Decorator, Composite, Iterator and Visitor - how those patterns helped us to solve a non-trivial C++ task.

  • 17:00 - 17:50

    About Bing search engine and good programmers

    Yegor Kishilov

    I will talk about development of a Bing search engine and about how 5 thousand people from all over the world make web search better, about role and evolution of C++ inside Bing, about personal observations of best programmers I worked with.

  • 11:00 - 11:10

    Opening

  • 11:10 - 12:00

    C++ unit testing best practices

    Yury Yafimachau

    Unit testing is an inherent part of a modern development process. In my talk I want to discuss how to develop C++ unit tests to maximize the profit for the project.

  • 12:10 - 13:00

    Easy transfer from JSON to C++ structures and back

    Nicolai Grodzitski

    In C++ applications that are making use of JSON for some reasons there's always a demand for data transformation from JSON into C++ structures and back. We will talk about one small header-only library that allows to make this routine piece of work easily (https://bitbucket.org/sobjectizerteam/json_dto-0.1).

  • 13:10 - 14:00

    Using crash analysis systems

    Artem Lapitski

    Application termination is a very unpleasant situation. It is even more unpleasant when it happens on user's device where there is no possibility to launch a debugger and find a problem. Crash reporting and analysis systems and postmortem debugging techniques help to deal with such kind of situations. We will talk about existing crash analysis systems and their usage in C++ world.

  • 14:00 - 15:00

    Coffee Break

  • 15:00 - 15:50

    C++ type deduction tips and tricks

    Maxim Lyskov

    The talk will try to answer the following questions: what type is behind auto, why T&& is not always rvalue and why move sometimes doesn't move anything.

  • 16:00 - 16:50

    Binary compatibility in C++

    Sergey Gomon

    When developing in C++, it's sometimes unclear how to interact with the outside world. These questions are not really easy to answer, and the reason of that is the lack of ABI description in C++ Standard. In this talk we will learn what is ABI and how C++ engineers live and work without ABI standardized.

  • 17:00 - 17:50

    Oxygine.2d: Low-level cross-platform game engine for A-projects

    Egor Chebotarev

    We will discuss how to build a game for PC or a mobile device. Discuss game design patterns and C++ features relevant for game development.

Organizers

  • Corehard.by
  • DPI Solutions
  • EPAM

Partners

  • DPI Solutions
  • Awem Games
  • SolarWinds
  • EPAM
  • Wargaming
  • eventspace.by
  • JetBrains
  • C++ User Group Russia
  • PVS-Studio

Infopartners

  • dev.by
  • Imaguru
  • IBA Institute
  • comaqa.by
  • itstep.by
  • gamedev.by
  • javaday.by
  • conf.cocoaheads.by/