
JPoint 2019: from dawn to dusk
Addition to the review with the summing up of the JPoint 2019 conference for Java developers, held on April 5-6, 2019 in Moscow. More reviews, more photos, more emotions and impressions.
Two days from morning to evening (almost literally “from dawn to dusk” ) 1,600 people (with speakers and the JUG.ru team

- all 1700) of close age with similar professional interests were held in the Congress Center of the World Trade Center. When moving around the venue and moving from room to room during breaks, it was felt that such a number of people was close to the limit at a given conference venue. We must pay tribute to all those involved in the preparation of the event - everything went almost perfectly. If you got into the hall in advance, there were places; in addition, the video was broadcast in the small fifth hall. Everyone was fed on time and not offended by the lack of reports for every taste ( “bread and circuses” ).

Of the sponsor stands, a lot of attention was attracted by companies whose software products are either used by the majority of the conference participants or potentially can be of interest to a significant part. Naturally, first of all, this is the stand of the JetBrains company (medium shot). Spending a good part of the day every day, using the latest version of IntelliJ IDEA , you feel the deepest respect and gratitude to the company's employees. At the conference, reports were made by its employees Tagir Valeev and Anton Arkhipov . A small company (its official name is “Program Verification Systems”), whose flagship product is the PVS-Studio static code analyzer

. The product recently introduced support for the Java language . The company is very active on Habré . A significant proportion of the articles were written by technical director Andrei Karpov (in the first photo he is on the company's stand). Another interesting company is BellSoft and their Liberica JDK . A distinctive feature of this distribution is the support of the ARM architecture . In the first photo - General Director Alexander Belokrylov, who managed to make a mini-report at the Demo Stage . In addition, Dmitry Chuiko talked additionally about Java in a container environment.


The community of Moscow Java developers jug.msk.ru acted as an information partner. Community meetings are held regularly , invariably gathering a large number of participants. The stand was installed on the ground floor; Andrey Kogun (leader of jug.msk.ru , part-time participant in the conference program committee) was almost always present at the stand . Over the two days of the stand's existence, the number of Twitter account subscribers has grown significantly.
Anton Chernousov ( podcast , conference organizer, just a good person) and Andrey Kogun (first photo). Andrey and conference participants who visited the stand (second photo). Speakers of past meetings jug.msk.ru: Ivan Ponomarev , Nikita Lipsky and Alexey Stukalov (third photo).

A popular place for short presentations. A very attractive form of reports, which allows you to join some new topics and get information from an area of interest to you when staying outside the main report rooms. As already noted, the only drawback is noisy, but these are the features of the site.

Andrei Dmitriev opens the conference, introducing the program committee. Andrei Kogun and Vladimir Sitnikov talk in detail about the conference program, focusing on possible types of reports.

Anton Keks in his report The world needs full-stack craftsmen promoted the idea of the greatest possible versatility of each team member. On the example of his company, Codeborne argued why this is important: the compactness of the team due to many knowledge and skills of everyone, the reduction of project risks (the notorious truck, under whose wheels, besides the employee, the product may die due to loss of knowledge), it’s just interesting to get more knowledge in different fields (it is difficult to disagree). The report inspired not only the audience, but also the speaker - Bruno Borges included in his presentation a slide with a quote from Anton: “Craftsman can be 5x even more efficient by knowing what not to do”. Vladislav Senin with a report

Logs: the more, the better - but how to live with it? made in a cozy fifth hall. Vlad is an active participant in the Moscow Java community, this is his debut as a speaker at JUG.ru conferences . The evolution of the use of tools for storing and searching logs was shown. Log sources are Java and Python applications . For search, Elasticsearch serves as the basis . After the report, additional fascinating details were heard (including a detective story searching for the reasons for the character to disappear in JSON ), which were not told due to time constraints, so we can expect a more detailed story by Vlad on this topic in the near future. Report

The Proxy fairy and the magic of Spring by Victor Rentea was devoted to designing the template magic the Proxy , is widely used in the Spring Framework . In the announcement of the report, there was a promise to introduce six ways to intercept method calls, two ways to use the Decorator template with Spring, and much more during a live coding session. A very lively performance, inspiring after him to experiment with Spring and delve into the code of the examples shown (they are here on GitHub ). If you like Spring , design patterns and live coding - definitely this is your report, you should watch.

Absolutely practical report by Bulletproof Java Enterprise applications for the hard production life from Sebastian Daschner about how important stability and resiliency are for enterprise applications, and how to achieve it. During the report, I found and opened the Microprofile Fault Tolerance project on GitHub , the speaker actively demonstrated the use of annotations from which (I remember @CircuitBreaker the most ). The only drawback of the presentation of the report is the hard to read headings (the first photo gives an idea of this, you can click on the picture to enlarge it). Us Spring Boot report , and we grow stronger: the unbearable ease of AOT compilation of Spring applications

by Nikita Lipsky became a kind of answer to the question about support for Spring Boot in GraalVM , which was given to Oleg Shelaeva in the previous day at the meeting (in GraalVM until the problems with support for both Spring Boot , and the operating system the Windows , that Oleg and said). In the product Excelsior JET , which represents Nikita, with the support of various operating systems, everything is fine. Additionally, Spring Boot’s AOT compilation was officially announced recently, which was the report. An additional interest in the static AOT compilation of Java applications is now related to the fact that applications (microservices) are especially important for a quick start. Most often, applications are built on the basis of Spring Boot . An interesting report, skillfully balancing on the verge of hardcore and comprehensible presentation. Joint reports by Kirill Tolkachev and Evgeny Borisov are traditionally very popular among listeners, Reactive or non-reactive, that’s the question

was no exception - in the first photo you can see the full room. The idea of the report was to show the usual implementation of a task (the interaction of the three systems in this case), so that later it could be redone in a reactive style. Inspired by watching Oleg Dokuki's report on the RSocket protocol on the same day , the speakers even managed to refine the examples . Everything turned out quite successfully and excitingly.

The BOF format has already been tested several times at several recent conferences and has become popular. Listening to reports is already difficult, but there is still the strength and desire for informal communication - the natural conclusion to the first day. Below is a photo from the BOF session of Microservices, cloud and where all this is going , taking place in the discussion zone.

A distinctive feature, the “highlight” of JUG.ru technical conferences is the presence in the program of one non-technical report. This time the report was the Game of God. Did science cross the border from Alexander Panchin ? Such reports broaden your horizons and allow you to tune in for the day (this time the report was the opening second day). Finally, they are mutually interesting to both the speaker (non-standard audience) and the listeners (unusual subject area). Naturally, the report was popular science, but very interesting. Changing the genetic code and correcting genetic defects, successes and modern approaches in the fight against HIV and cancer. Enumeration of the personalities of scientists involved in similar problems, and their achievement.

Lightweight (in a good sense of the word - easy to read and understand) report Local variable type inference: Friend or foe? was introduced by Simon Ritter . Topic - excretion ( inference ) types of local variables using the var (feature introduced in Java 10 ). Upon closer examination, it turned out that in such a simple, at first glance, the issue there are many nuances to which you need to pay attention. It is felt that the speaker has a great conference experience (in the track record there is work in Sun Microsystems , Oracle , Azul and the title of J ava Rockstar ,Java Champion ). The story was very easy to listen to and was well illustrated with slides. One example of reports with a clear practical focus. Performance Supercompilation, partial evaluation, Futamura projections and how GraalVM will save the world performed by Oleg Shelaev was a continuation of the GraalVM theme , the story of which he began on April 4 at the jug.msk.ru meeting . It was very useful to first listen to a detailed introductory three-hour story immediately before the conference, then go on the first day to a talk by Nikita Lipsky (about supporting Spring Boot with AOT ), and then return to GraalVM again

. The conversation concerned the theoretical foundations of the Graal compiler and GraalVM - Futamura projections . The second topic was a demonstration of the use of Truffle , a framework for creating programming languages based on GraalVM . Oleg also recommended listening to a talk by Thomas Wuerthinger on the previous day of the conference. A curious concept of atomic changes when performing code refactoring was introduced by Tagir Valeev in his report Atomic refactoring in IntelliJ IDEA: we bend the IDE for ourselves . The idea of atomic changes at every small step of modifying code lines was shown in the IntelliJ IDEA development environment

- Tagir represents JetBrains , personally participating in its development. In addition, the vast majority of those sitting in the hall (including me) use IntelliJ IDEA every day , so the story told and shown fell on fertile ground. Frankly, I never thought about whether my smallest step of changes was atomic, but now I’ll try to pay attention to it, perhaps by revising the video report. Another example of a report, the information after listening to which can be put into practice, is Java slows down: CodeCache edition by Vladimir Sitnikov . It was about CodeCache - the area in which the JVM stores bytecode compiled into

native code ( native , executable code of the target platform). The case discussed in the report occurred when using WebLogic Server , but the specific type of application server does not really matter. An interesting sequence of steps that should be performed with errors of this type, and knowledge of the default values of the CodeCache size in different versions of Java (or at least the fact that they are different, and you may need to manually specify a larger size). To some extent, How to unravel a ball of thread: analysis and debugging of applications in IntelliJ IDEA , a report by Anton Arkhipov , echoed the first part of his three-hour speech

last November. The information obtained at the aforementioned speech and at this specific report turned out to be useful. Code research techniques have been shown using the Spring Initializr example . Many people know about structural search in IntelliJ IDEA , but use it. Perhaps a demonstration of this feature by Anton will encourage someone to use it everyday. Bruno Borges final conference report Making sense out of serverless computing began with a message that, despite his work in the Microsoft , he never used the operating system, the Windows (the presentation was done with the MacBook

), having rich Java development experience and having previously worked at Oracle . He is now a developer advocate at Microsoft , and has been promoting cloud use. Details have been considered key features of "serverless" use: handling events ( event-driven ), flexibility in tariff ( a micro-billing ), there is no need to reattach anything and support ( the no server setup a or maintenance ) and samomasshtabiruemost ( the self-scaling ) infrastructure. A peculiar connecting thread at the beginning of the conference was, as already noted, the use of quotes from the presentation of Anton Keks.

Closing remarks by Andrei Dmitriev requesting a response to the letter with feedback. Traditional photographs of program committee members, JUG.ru team and speakers.

The conference quite unexpectedly grew in the number of participants. Having moved some time ago from the Radisson Slavyanskaya Hotel to the Congress Center of the World Trade Center, I now feel constrained at the current venue. Probably, while maintaining a growing trend of interest, you can wait in the near future to replace the site with even more spacious one.
The thoughts expressed by Baruch Sadogursky in an interview with Egor Bugaenko at Joker 2018 about the lack of a fair sex in IT were heard - there were noticeably more girls at the conference than at the previous ones.
Minor organizational and technical overlays were more likely associated with a large number of participants, and even that were promptly fixed. Video reports for conference participants are already available atYouTube , as well as publicly available presentation files on the conference site .

- all 1700) of close age with similar professional interests were held in the Congress Center of the World Trade Center. When moving around the venue and moving from room to room during breaks, it was felt that such a number of people was close to the limit at a given conference venue. We must pay tribute to all those involved in the preparation of the event - everything went almost perfectly. If you got into the hall in advance, there were places; in addition, the video was broadcast in the small fifth hall. Everyone was fed on time and not offended by the lack of reports for every taste ( “bread and circuses” ).

Company stands
Of the sponsor stands, a lot of attention was attracted by companies whose software products are either used by the majority of the conference participants or potentially can be of interest to a significant part. Naturally, first of all, this is the stand of the JetBrains company (medium shot). Spending a good part of the day every day, using the latest version of IntelliJ IDEA , you feel the deepest respect and gratitude to the company's employees. At the conference, reports were made by its employees Tagir Valeev and Anton Arkhipov . A small company (its official name is “Program Verification Systems”), whose flagship product is the PVS-Studio static code analyzer

. The product recently introduced support for the Java language . The company is very active on Habré . A significant proportion of the articles were written by technical director Andrei Karpov (in the first photo he is on the company's stand). Another interesting company is BellSoft and their Liberica JDK . A distinctive feature of this distribution is the support of the ARM architecture . In the first photo - General Director Alexander Belokrylov, who managed to make a mini-report at the Demo Stage . In addition, Dmitry Chuiko talked additionally about Java in a container environment.


Stand jug.msk.ru
The community of Moscow Java developers jug.msk.ru acted as an information partner. Community meetings are held regularly , invariably gathering a large number of participants. The stand was installed on the ground floor; Andrey Kogun (leader of jug.msk.ru , part-time participant in the conference program committee) was almost always present at the stand . Over the two days of the stand's existence, the number of Twitter account subscribers has grown significantly.
Anton Chernousov ( podcast , conference organizer, just a good person) and Andrey Kogun (first photo). Andrey and conference participants who visited the stand (second photo). Speakers of past meetings jug.msk.ru: Ivan Ponomarev , Nikita Lipsky and Alexey Stukalov (third photo).

Demo stage
A popular place for short presentations. A very attractive form of reports, which allows you to join some new topics and get information from an area of interest to you when staying outside the main report rooms. As already noted, the only drawback is noisy, but these are the features of the site.

Conference opening
Andrei Dmitriev opens the conference, introducing the program committee. Andrei Kogun and Vladimir Sitnikov talk in detail about the conference program, focusing on possible types of reports.

First day reports
Anton Keks in his report The world needs full-stack craftsmen promoted the idea of the greatest possible versatility of each team member. On the example of his company, Codeborne argued why this is important: the compactness of the team due to many knowledge and skills of everyone, the reduction of project risks (the notorious truck, under whose wheels, besides the employee, the product may die due to loss of knowledge), it’s just interesting to get more knowledge in different fields (it is difficult to disagree). The report inspired not only the audience, but also the speaker - Bruno Borges included in his presentation a slide with a quote from Anton: “Craftsman can be 5x even more efficient by knowing what not to do”. Vladislav Senin with a report

Logs: the more, the better - but how to live with it? made in a cozy fifth hall. Vlad is an active participant in the Moscow Java community, this is his debut as a speaker at JUG.ru conferences . The evolution of the use of tools for storing and searching logs was shown. Log sources are Java and Python applications . For search, Elasticsearch serves as the basis . After the report, additional fascinating details were heard (including a detective story searching for the reasons for the character to disappear in JSON ), which were not told due to time constraints, so we can expect a more detailed story by Vlad on this topic in the near future. Report

The Proxy fairy and the magic of Spring by Victor Rentea was devoted to designing the template magic the Proxy , is widely used in the Spring Framework . In the announcement of the report, there was a promise to introduce six ways to intercept method calls, two ways to use the Decorator template with Spring, and much more during a live coding session. A very lively performance, inspiring after him to experiment with Spring and delve into the code of the examples shown (they are here on GitHub ). If you like Spring , design patterns and live coding - definitely this is your report, you should watch.

Absolutely practical report by Bulletproof Java Enterprise applications for the hard production life from Sebastian Daschner about how important stability and resiliency are for enterprise applications, and how to achieve it. During the report, I found and opened the Microprofile Fault Tolerance project on GitHub , the speaker actively demonstrated the use of annotations from which (I remember @CircuitBreaker the most ). The only drawback of the presentation of the report is the hard to read headings (the first photo gives an idea of this, you can click on the picture to enlarge it). Us Spring Boot report , and we grow stronger: the unbearable ease of AOT compilation of Spring applications

by Nikita Lipsky became a kind of answer to the question about support for Spring Boot in GraalVM , which was given to Oleg Shelaeva in the previous day at the meeting (in GraalVM until the problems with support for both Spring Boot , and the operating system the Windows , that Oleg and said). In the product Excelsior JET , which represents Nikita, with the support of various operating systems, everything is fine. Additionally, Spring Boot’s AOT compilation was officially announced recently, which was the report. An additional interest in the static AOT compilation of Java applications is now related to the fact that applications (microservices) are especially important for a quick start. Most often, applications are built on the basis of Spring Boot . An interesting report, skillfully balancing on the verge of hardcore and comprehensible presentation. Joint reports by Kirill Tolkachev and Evgeny Borisov are traditionally very popular among listeners, Reactive or non-reactive, that’s the question

was no exception - in the first photo you can see the full room. The idea of the report was to show the usual implementation of a task (the interaction of the three systems in this case), so that later it could be redone in a reactive style. Inspired by watching Oleg Dokuki's report on the RSocket protocol on the same day , the speakers even managed to refine the examples . Everything turned out quite successfully and excitingly.

Bof sessions
The BOF format has already been tested several times at several recent conferences and has become popular. Listening to reports is already difficult, but there is still the strength and desire for informal communication - the natural conclusion to the first day. Below is a photo from the BOF session of Microservices, cloud and where all this is going , taking place in the discussion zone.

Second day reports
A distinctive feature, the “highlight” of JUG.ru technical conferences is the presence in the program of one non-technical report. This time the report was the Game of God. Did science cross the border from Alexander Panchin ? Such reports broaden your horizons and allow you to tune in for the day (this time the report was the opening second day). Finally, they are mutually interesting to both the speaker (non-standard audience) and the listeners (unusual subject area). Naturally, the report was popular science, but very interesting. Changing the genetic code and correcting genetic defects, successes and modern approaches in the fight against HIV and cancer. Enumeration of the personalities of scientists involved in similar problems, and their achievement.

Lightweight (in a good sense of the word - easy to read and understand) report Local variable type inference: Friend or foe? was introduced by Simon Ritter . Topic - excretion ( inference ) types of local variables using the var (feature introduced in Java 10 ). Upon closer examination, it turned out that in such a simple, at first glance, the issue there are many nuances to which you need to pay attention. It is felt that the speaker has a great conference experience (in the track record there is work in Sun Microsystems , Oracle , Azul and the title of J ava Rockstar ,Java Champion ). The story was very easy to listen to and was well illustrated with slides. One example of reports with a clear practical focus. Performance Supercompilation, partial evaluation, Futamura projections and how GraalVM will save the world performed by Oleg Shelaev was a continuation of the GraalVM theme , the story of which he began on April 4 at the jug.msk.ru meeting . It was very useful to first listen to a detailed introductory three-hour story immediately before the conference, then go on the first day to a talk by Nikita Lipsky (about supporting Spring Boot with AOT ), and then return to GraalVM again

. The conversation concerned the theoretical foundations of the Graal compiler and GraalVM - Futamura projections . The second topic was a demonstration of the use of Truffle , a framework for creating programming languages based on GraalVM . Oleg also recommended listening to a talk by Thomas Wuerthinger on the previous day of the conference. A curious concept of atomic changes when performing code refactoring was introduced by Tagir Valeev in his report Atomic refactoring in IntelliJ IDEA: we bend the IDE for ourselves . The idea of atomic changes at every small step of modifying code lines was shown in the IntelliJ IDEA development environment

- Tagir represents JetBrains , personally participating in its development. In addition, the vast majority of those sitting in the hall (including me) use IntelliJ IDEA every day , so the story told and shown fell on fertile ground. Frankly, I never thought about whether my smallest step of changes was atomic, but now I’ll try to pay attention to it, perhaps by revising the video report. Another example of a report, the information after listening to which can be put into practice, is Java slows down: CodeCache edition by Vladimir Sitnikov . It was about CodeCache - the area in which the JVM stores bytecode compiled into

native code ( native , executable code of the target platform). The case discussed in the report occurred when using WebLogic Server , but the specific type of application server does not really matter. An interesting sequence of steps that should be performed with errors of this type, and knowledge of the default values of the CodeCache size in different versions of Java (or at least the fact that they are different, and you may need to manually specify a larger size). To some extent, How to unravel a ball of thread: analysis and debugging of applications in IntelliJ IDEA , a report by Anton Arkhipov , echoed the first part of his three-hour speech

last November. The information obtained at the aforementioned speech and at this specific report turned out to be useful. Code research techniques have been shown using the Spring Initializr example . Many people know about structural search in IntelliJ IDEA , but use it. Perhaps a demonstration of this feature by Anton will encourage someone to use it everyday. Bruno Borges final conference report Making sense out of serverless computing began with a message that, despite his work in the Microsoft , he never used the operating system, the Windows (the presentation was done with the MacBook

), having rich Java development experience and having previously worked at Oracle . He is now a developer advocate at Microsoft , and has been promoting cloud use. Details have been considered key features of "serverless" use: handling events ( event-driven ), flexibility in tariff ( a micro-billing ), there is no need to reattach anything and support ( the no server setup a or maintenance ) and samomasshtabiruemost ( the self-scaling ) infrastructure. A peculiar connecting thread at the beginning of the conference was, as already noted, the use of quotes from the presentation of Anton Keks.

Closing
Closing remarks by Andrei Dmitriev requesting a response to the letter with feedback. Traditional photographs of program committee members, JUG.ru team and speakers.

Summary
The conference quite unexpectedly grew in the number of participants. Having moved some time ago from the Radisson Slavyanskaya Hotel to the Congress Center of the World Trade Center, I now feel constrained at the current venue. Probably, while maintaining a growing trend of interest, you can wait in the near future to replace the site with even more spacious one.
The thoughts expressed by Baruch Sadogursky in an interview with Egor Bugaenko at Joker 2018 about the lack of a fair sex in IT were heard - there were noticeably more girls at the conference than at the previous ones.
Minor organizational and technical overlays were more likely associated with a large number of participants, and even that were promptly fixed. Video reports for conference participants are already available atYouTube , as well as publicly available presentation files on the conference site .
On October 25-26, 2019, a conference for Java developers of Joker 2019 will be held in St. Petersburg , applications for reports are open and tickets can already be bought (at the lowest price until May 1).