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.
Active developer of C++ Boost libraries (author of Boost.TypeIndex, Boost.DLL; maintainer of Boost.Any, Boost.LexicalCast, Boost.Variant), author of "Boost C++ Application Development Cookbook". A Russian representative in international C++ standardization committee.
I love programming and work for Bing for latest 8 years. Spent several years indexing Internet looking for identical documents there. I'm working on personalized UX 2 recent years.
Independent developer with more than 20 years experience. Took part in engineering of 24/7 systems in domains of Industrial Control System, Telecoms and payment systems.
Software developer having experience in different programming languages. Adept of maximum possible prototyping and test-driven development. Took part in a variety of project in positions of a developer as well as project tech lead.
C++ developer of server applications: telecom, multi-threaded applications, distributed applications, 24/7. Professional experience: more than 8 years.
Leads a department that is in charge of PVS-Studio core development for C/C++ source code analysis. Currently dedicates most of his time to creation of PVS-Studio for Linux. Svyatoslav is a co-author of many articles about open source projects verification: http://www.viva64.com/ru/b/a/svyatoslav-razmyslov/
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 SolarWinds (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.
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.
6 years in IT, 3 years in game industry. Games in C++, artificial intelligence, 2d/3d graphics, physics in games
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.
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.
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.
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.
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.
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).
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.
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.
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.