Two Java boots: how did JBreak and JPoint 2017 go
The Novosibirsk JBreak conference and the Moscow JPoint are two pair boots: both are held in the spring, both are held by JUG.ru, both are the main Java conferences in their region. And this year we even arranged them in one week (and even survived after this). Therefore, the stories “how it went” for JBreak and JPoint decided to merge into one, let's say, “breakpoint”. Under the cut - details about both Novosibirsk and Moscow.
The same event happened with both conferences this year: a change of venue. In Novosibirsk a year ago, it became clear that we had to look for a room more spacious, and they became a large-scale "Expocenter". And JPoint, which continues to grow, this time was held at the WTC Congress Center.
Designations have appeared in the programs of both conferences to help understand which audience the report is intended for: Introduction to Technology, For Practicing Engineers, Hardcore and Get Ready, It Will Burn. Of course, these designations immediately gave rise to a breakthrough in discussions and debates. Is the designation for each report correct? Is the classification as a whole correct? And which one would be more correct?
But although it is hardly possible to come up with a variant that suits everyone, and replicas “the report was marked incorrectly” are inevitable, in general the system helps to reduce the number of situations “I came to the report and didn’t understand anything” and “thirsted for hardcore, but told for beginners.”
Also in both cases, we decided to improve online support: quickly post high-quality pictures on Twitter and VKontakte, create via Telegram chatfor JPoint and for JBreak . And JPoint also got an “upgraded” online broadcast: in between reports, when usually the viewers had nothing to do, the interviews with speakers and reportage filming were demonstrated this time. Based on the results of all these online activities, one of the viewers wrote in the same Telegram chat “As if you were at the conference” - it turned out.
Due to the abundance of company stands at SJPoint (Sberbank-Technologies, GridGain, Odnoklassniki, Alfa-Laboratory, Deutsche Bank and not only), some kind of action was constantly taking place related to them: here Deutsche Bank holds its own mini-performances, but speakers Baruch Sadogursky and Yevgeny Borisov “fight” at the Zalando stand, where you can remove the gif.
And what about the main thing for which everyone gathered - reports? The programs of the two conferences partially overlapped, but both cities had “exclusives” (especially JPoint, where there were simply more reports due to two days). We won’t tell about all the speeches, let’s go through some memorable moments:
It’s even boring to write, but the new report by Aleksey Shipilev (Red Hat) about the Shenandoah garbage collector went off with a bang in both cities. No intrigue! But more often in our lives, the words “no intrigue” meant “everyone is ecstatic again.” After Shipilev referred to “The Garbage Collection Handbook” as the main book about GC, some of the listeners decided to take up it, including speaker Tagir lany Valeevand our own director Alexei 23derevo Fedorov .
In addition to the technical details of GC-algorithms, the report was remembered for many of the phrase "to find garbage, you need to think like garbage." And Alexey burned out the info-field so much during his slot that even in another room they remembered it (even with the comment “we are simple people, we don’t calculate the standard deviations”).
Sasha Goldstein(Sela Group), author of Pro .NET Performance, is no stranger to applause at .NET conferences. But now, unexpectedly for many, he spoke at JPoint - and he also received very high marks from the javists. How is it possible at the first attempt to conquer “alien territory”? It probably helped that the object of his attention was the Linux BPF tool that helps in monitoring Java applications: as Sasha told us in an interview, initially Linux tools interested him in themselves, and Java just became a convenient point of application, because with .NET on Linux is still sparse.
It is curious that right after his report, Sasha was even more deeply involved in Java. Interested in the performance of Andrei apangin Pangin and Vadim Tsesko (Classmates) about the intricacies of the work of Java profilers, he immediately began to smuggle him into the Pangin profiler on GitHub, without even waiting for the end of the conference:
In reviews of String Red’s Charles Nutter’s report, Novosibirsk complained that the introductory theoretical part about encodings was too long. Indeed, it may not be obvious to Nutter, who lives in a country with the Latin alphabet, that Russian programmers, because of the Cyrillic alphabet, already know firsthand about encodings. But this long introduction came in handy in Moscow, where problems with the projector arose on Charles's report. Theoretical part, he just could not talk and slide show, and then earned a technique exactly to the moment, when it passed to the libraries joni and jcodings , and it was necessary to show on the screen the code examples. As a result, the projector that earned it on time took so much applause, as if he were the speaker.
Tagir Valeev (JetBrains), who spoke about inspections in IDEA in both cities, began with a sincere admission “The benefits of my report are dubious” - but that did not stop many with great interest from listening to what is behind the opportunity to improve your code with one click in the IDE. If you don’t think about it, this may seem like a simple mechanical work to replace some structures with others, but the report showed how this is not so.
There can be many variations of the same design that must be able to be recognized (“even John Skeet would not have parched this with reg exp”). It is necessary to read the nuances of the documentation even when it seems redundant (“it turns out, in this case map.getOrDefault and map.putIfAbsent act differently, although both appeared in Java 8”). At the same time, the documentation may be incomplete (“well, on Stack Overflow I still found the answer about this, but about the interface, tomorrow there will be a new implementation, we will start to break the code with our IDEA, and that I’ll show in justification, a link to Stack Overflow ? "). And there are also many unobvious moments like the need to save and place comments in the “right place” when the code changes (“Where is the dust from the table? Important phones were recorded there!”)
And besides, practical benefit in this case could be gained thanks to the discussion zones, where the speakers, after their reports, answered those who wished to answer questions in detail. Surely, many developers have questions related to IDEA - and there was a convenient opportunity to ask many of them. As a result, it got to the point that after the conference Tagir began to work on fixing the bug, which he was shown directly to JPoint. Just in case, we’ll clarify: this does not mean that the conference is the official channel for receiving bugs, for this you still have YouTrack!
Nikita Lipsky(Excelsior) was present at both conferences, but with completely different topics: in Moscow, he talked about bytecode verification, and in his native Novosibirsk, he gathered a full audience room with the report “Java 9 Modules: Why Not OSGi?”.
It would seem that a report with such a title should be very short - just repeat the words of Mark Reinholdthat with the help of OSGi it is possible to divide a project into modules, but only with the help of Jigsaw it is possible to "saw through" the JDK itself. What can be added to this? It turned out a lot of things. “The OSGi bundle activation system is a time bomb: if the JVM starts to resolve links less lazily, OSGi applications simply stop working,” Nikita explained to his fellow countrymen, and the more he talked about OSGi, the more attractive Jigsaw started to look. And Lipsky can be given a separate achievement for the overall liveliness of the speech: a report where Kharms is quoted at the beginning, is performed with mantras in the middle, and at the end they say “Childbirth is inevitable”, it cannot be boring. Yegor yegor256 Bugaenko
became another speaker with different topics.: in Novosibirsk, he talked about Utility classes, and in Moscow about annotations. Knowing Yegor, it is easy to guess that he mercilessly criticized both phenomena, and, of course, both of his reports had the icons “Get ready, it will burn.” In the presentation on JPoint, he even managed to include feedback received from the audience of the report on JBreak: “The author is a maniac”, “Egor in his repertoire: all Honduras, and I am D'Artagnan”.
Last year, discussing with Yegor “OOP of the future”, Baruch jbaruch Sadogurskynoted that Bugaenko’s provocative speeches fit the “five slides, and now let's cut” format: since the listeners, in any case, start loudly protesting Yegor in the fifth minute of the report, it’s worth making a speech and immediately discussing it. In this case, this was done - and Baruch himself was the one who cut most actively on JPoint with Egor, defending the benefits of annotations. Alexei Shipilev, meanwhile, left the hall, then went back, changing regularly in his face. We do not undertake to accurately decipher his emotions about what was happening, but we feel that they were strong.
In Novosibirsk, Kirill Tolkachev (Alpha Laboratory) spoke about the Spring Boot Test rake alone, and in Moscow Evgeny Borisov joined him(Naya Technologies). Eugene also made a separate report on the nuances of Spring - and the largest conference hall was crowded with people. Perhaps the most striking audience review is: “After such reports, I get the feeling that the logic of Spring can be understood.”
From Sberbank Technologies, which became the general sponsor of both conferences, they had several speakers at once with completely different topics - from architectural decisions in working on the platform to creating a DSL language for charging. Which of the reports is more useful is to judge the audience, but the most liveliness in the hall was clearly caused by the performance of Oleg olegchir Chirukhin about DevOps. His wordings like “Since we are at a Java conference, everyone here understands how to get rid of the admin” clearly showed that working in a giant company does not automatically mean boredom and “fastening all the buttons”.
It was interesting with Kotlin : a few days before JPoint, a technical preview of Kotlin / Native was suddenly released, and as a result of the words of Andrei abreslav Breslavon the movement of the language towards multi-platform was reinforced by a fresh concrete step in this direction. Looking around the hall, Andrey noticed that there is probably a lot of “embedded in C” around - and this means a potential market for native solutions. And from the audience they asked about possible support for WebAssembly, and Breslav in response compared the current state of wasm with a bunker, from which there was nothing to be reached: they say that when the project has normal access to the DOM, then we can talk about its support.
In general, JPoint and JBreak lacked the usual “meat” at previous conferences. But was there something unique in the program of any of them that may never come in handy, but will be remembered forever? Perhaps, for viewers of JPoint, this was the keynote of the popularizer of mathematics Alexei Savvateev about game theory.
At JUG.ru conferences, keynotes often go far from the main topic, making it possible to “switch the brain” (for example, Evgenia Timonova , a well-known animal video blog, spoke at JPoint in the past ). But in this case, an interesting “intermediate” option was obtained: although the theme of Savvateev’s lectures does not apply to Java, it is close to many Javists - down to this:
As a result, we listened with great interest to examples of how to deal with violations using tricky rules. Finding out, for example, that even the situation “a bribe may be larger than the fine for it” is not so obviously losing for the inspectors, as it seems at first glance. It turns out that if you report that the checks will be only with large bribes and small ones “pass under the radar”, the second option may turn out to be more attractive for bribe takers, reducing the size of bribes at times.
That's all for us - but besides us, the participants also turned out to be active and wrote a lot themselves:
- JPoint 2017. Day 1
- JPoint 2017. Day 2
- jpoint in hot pursuit. Part 0 of N: the beginning.
- jpoint in hot pursuit. Part 1 of N: banquet and its continuation.
- Performance is a holiday (Habrapost vladimir_dolzhenko )
And finally - the photo “Baruch Sadogursky stroking a fluffy microphone”: