Joker 2015: News August 1-18, 2015 - new speakers and reports
Over the three weeks since the previous publication about Joker, we announced several new speakers and reports, which I will talk about in this post.

Details - as always under the cut.

Andrei Solntsev is known to many readers as one of the organizers of Tallinn Devclub, as an excellent speaker and as a developer of the Selenide framework for automatic testing of UI on the web. In addition, Andrei is a developer of Codeborne, in which he and his colleagues over the past 4 years have made several large projects on the Play Framework (versions 1.2-1.3, they decided not to switch to the Scala version), including the well-known Internet banking . Andrey’s report about the pros and cons of a RoR-like Play he and his colleagues managed to discover.

Vladimir Sitnikov , the most experienced Performance Engineer from NetCracker, will talk about what to do if you stumble upon a nontrivial OutOfMemoryError. The report will consider examples of insidious OOM and approaches to the analysis of the causes of their occurrence. The knowledge gained will allow students to learn how to confidently parse memory dumps and avoid code patterns that lead to leaks.

Nicolas Frankel will tell us about mutation testing. Usually, when talking about the quality of automatic testing in a project, it comes to metrics such as Code Coverage in the most diverse senses of this term. However, if there is another approach based on bytecode modification. Relatively speaking, let's take and hack a couple of instructions in the bytecode of the tested class: replace the plus with the minus, more with less, 5 by 6, etc. If after that our tests start to fail, then ok, the tests probably really check something. But if not, then we have a problem. At the end of the talk, Nicholas will show a demo on PIT .
By the way, a couple of years ago Gleb gvsmirnov Smirnov spoke about PIT on Joker . It will be very interesting to compare these two reports.

Tagir Valeev , known on the hub as lany , debuts on Joker with a story about performance testing. Yes, benchmarks, where without them. As experimental rabbits, examples of the use of the new-fangled Stream API will be taken, which will be chased against similar examples on the classic API (Collections). As we love, there will be many guts, JIT optimizations, inlining and all that. The report will teach you to avoid some mistakes when writing benchmarks, use and interpret the diagnostic options of HotSpot JVM and better understand how your code is executed.

Anton Keks and Andrei Solntsev have been working for many years atCodeborne how they can practice a bunch of the most up-to-date practices of modern development: Agile, XP, TDD, Pair Programming and many other bizvords . One fun trick is ping-pong - a method where two developers (Pair Programming) throw pieces of code. First I write a new test (TDD) and ask you to modify our code so that this test starts to pass. Then we change roles, and you write a new falling test for me, and my task is to make it work. All in all, really ping pong! Naturally, the guys will show Live Demo and talk about the pros and cons of this approach.
In general, not a single hardcore. Have fun too!
All other information about the conference is on its website .
As always, I am waiting for your questions in the comments.

- Andrey Solntsev aka asolntsev will talk about the pros and cons of the Play Framework (we will talk about the 1.3 branch);
- Vladimir Sitnikov aka vladimirsitnikov will show what to do if an OutOfMemory error pops up;
- Nicolas Frankel will add mutation testing to Spring Boot for DevOps;
- Anton Keks aka antonkeks and Andrey Solntsev aka asolntsev will show us the Ping-pong Programming technique - a hybrid of pair programming and TDD;
- finally, our debutant Tagir Valeev aka lany will show some of the things HotSpot does by comparing the performance of the Stream API and Collections API.
Details - as always under the cut.

Andrei Solntsev is known to many readers as one of the organizers of Tallinn Devclub, as an excellent speaker and as a developer of the Selenide framework for automatic testing of UI on the web. In addition, Andrei is a developer of Codeborne, in which he and his colleagues over the past 4 years have made several large projects on the Play Framework (versions 1.2-1.3, they decided not to switch to the Scala version), including the well-known Internet banking . Andrey’s report about the pros and cons of a RoR-like Play he and his colleagues managed to discover.

Vladimir Sitnikov , the most experienced Performance Engineer from NetCracker, will talk about what to do if you stumble upon a nontrivial OutOfMemoryError. The report will consider examples of insidious OOM and approaches to the analysis of the causes of their occurrence. The knowledge gained will allow students to learn how to confidently parse memory dumps and avoid code patterns that lead to leaks.

Nicolas Frankel will tell us about mutation testing. Usually, when talking about the quality of automatic testing in a project, it comes to metrics such as Code Coverage in the most diverse senses of this term. However, if there is another approach based on bytecode modification. Relatively speaking, let's take and hack a couple of instructions in the bytecode of the tested class: replace the plus with the minus, more with less, 5 by 6, etc. If after that our tests start to fail, then ok, the tests probably really check something. But if not, then we have a problem. At the end of the talk, Nicholas will show a demo on PIT .
By the way, a couple of years ago Gleb gvsmirnov Smirnov spoke about PIT on Joker . It will be very interesting to compare these two reports.

Tagir Valeev , known on the hub as lany , debuts on Joker with a story about performance testing. Yes, benchmarks, where without them. As experimental rabbits, examples of the use of the new-fangled Stream API will be taken, which will be chased against similar examples on the classic API (Collections). As we love, there will be many guts, JIT optimizations, inlining and all that. The report will teach you to avoid some mistakes when writing benchmarks, use and interpret the diagnostic options of HotSpot JVM and better understand how your code is executed.

Anton Keks and Andrei Solntsev have been working for many years at
In general, not a single hardcore. Have fun too!
All other information about the conference is on its website .
As always, I am waiting for your questions in the comments.