Joker 2016 Java Conference: Bigger, Stronger, More Interesting

    The Joker 2016 conference , held October 14-15, 2016 in St. Petersburg, was perhaps the largest Russian-language Java conference in history. 2 days, 52 reports, 6 parallel tracks, more than 40 speakers, over 1000 participants.



    The period immediately preceding the conference was very eventful and eventful:


    The real pearls from the above, in my opinion, were interviews with Baruch Sadogursky and Vladimir Krasilshchik (both are speakers of Joker 2016 ).

    Compared to previous years, the conference has grown up - one and a half times more parallel tracks (six instead of four). The choice of reports to view from several almost equivalent options has become even more difficult. Often there was a feeling of being a child in a candy store - bright, tasty and hard to choose.

    A new platform for the conference was mastered - St. Petersburg Expoforum . Great scenery ( one , two ) and speakers with organizersdecorating the conference with their presence.

    Conference opening


    The organizers of the conference (Alexei Fedorov, Andrey Dmitriev) and its speakers (Oleg Anastasiev, Andrey Pangin, Dmitry Bugaychenko) at the opening.



    First day reports


    The reports of the first day were as good as the reports of the second day. The choice was facilitated by the thought that all reports were recorded and later everything else could be viewed.

    What's in a name?
    Aleksey Shipilev, Red Hat



    The first report setting the general mood of the conference (the so-called keynote ) was started by Aleksey Shipilev. By “warming up”, any report by Alexey simply cannot be by definition. Even the topic, slightly lightened for keynote, was replete with technical details, formulas and, of course, traditional aphorisms (“curve them.”, “Don't be afraid to look at your application”, “play a little bit with members”).

    In a relaxed way, step-by-step recommendations were made to achieve “sufficient and satisfying” performance. On the second day, Alexey continued with a more complex report, “Close Contacts of the JMM degree”.

    Shortly before the conference, Alexey moved from Oracle to Red Hat , so the red color of the jacket (with the inscription "Oracle" on the chest) was quite appropriate here.

    Groovy Puzzlers S03 - Groove So Groove!
    Baruch Sadogursky and Victor Gamov



    Baruch and Victor incendiaryly presented the third season of Groovy Puzzlers (after the first season at Joker 2015 and the second season at JPoint 2015 ).

    The rules are the same - try to guess (without looking for clues), actively vote, correctly explain your answer. By the middle of the report, the audience was able to stir. I think that the resulting result was equally liked by the audience and speakers.

    Native code, Off-heap data and Java
    Vladimir Ivanov, Oracle



    I am following with interest the fate of the Panama project , the results of which will be available no earlier than Java 10 . Vladimir is one of the most respected experts in this field. A detailed comparison was made with the Java Native Interface ( JNI ) and Java Native Runtime ( JNR ), showing the advantages and disadvantages of each solution.

    To some extent, what was told (except Panama was also about VarHandles ) was supplemented by Alexey Shipilev 's report on VarHandles with JPoint 2016.

    Stream API quirks
    Tagir Valeev, JetBrains



    Another regular speaker at Java conferences (and part-time star of the Java hub on Khabr lany ), who changed jobs from the last conference (April JPoint ). Recently Tagir has been working for JetBrains , which is good news for all fans of this company's products.

    The report continued the theme of the Stream API , which began in reports at JBreak 2016 and JPoint 2016.. It was in this report that the talk was about bizarre, strange, illogical, at first glance, behavior in some cases when working with streams. In the second photo, Tagir demonstrates a random number generator in the form of cubes, as an auxiliary props to "Fad No. 3". I think that the audience did not regret the choice of the dock, the hall was full.

    Riding on jet streams
    Viktor Gamov, Hazelcast



    The topic of using streams was picked up in the next report by Victor Gamov, co-founder and co-host of the podcast Debriefing , who is also an employee of Hazelcast .

    The traditional (on one computer) application of the streams has been replaced by distributed using Hazelcast and Hazelcast Jet. In the code shown, data manipulations were performed with the English text “War and Peace”, if desired, examples can be viewed and run.

    Beating Threads - live coding music
    Sam Aaron, University of Cambridge



    A very curious and informative talk by Sam Aaron concluded the first day of the conference. Sam demonstrated his Sonic Pi program (a very beautiful and convenient program site) designed for live music coding.

    In addition to entertaining use (DJ at a disco) Sam also positions it as an auxiliary tool for learning programming (the site even has a lesson plan ). Distributions available for Raspberry Pi , macOS, Windows , Linux . The source code is on GitHub .

    The report was, rather, academic in nature, really Sam came off at a party on the first day of the conference (see video ). More videos on Sam’s official YouTube channel .

    Debriefing guests on day one


    The conference’s innovation was the podcast site Debriefing . Residents of the podcast interviewed the organizers, speakers and participants.

    Alexey Fedorov surrounded by leading podcasts (Anton Arkhipov, Victor Gamov, Alexey Abashev, Barukh Sadogursky). Interviews with Crossover representatives .



    Conversation with Ivan Krylov, Alexei Shipilev, Andrey Dmitriev. Interview with Gleb Smirnov.



    First day closing


    Presentation of gifts to the participants of the program committee - Andrei Kogun ( jug.msk.ru , first shot), Vladimir Sitnikov and Vladimir Krasilshchik (second shot). Tagir Valeev, receiving the gift (third shot).



    Second day reports


    The first three reports of related topics simply ideally formed a sequence for viewing: “From Java to Assembly: Down the Rabbit Hole”, “Life cycle of the JIT code” and “Bytecode for the curious”.

    From Java to Assembly: Down the Rabbit Hole
    Charles Nutter, Red Hat



    Charles is one of the leaders of the JRuby project . The title of the report coincides with the title of the first chapter of Alice's Adventures in Wonderland ( Alice in Wonderland ). The presentation used classic illustrations by John Tenniel from the first editions of both books by Carroll about Alice.

    The analogy between Wonderland and JVMquite successful, the presentation style and the construction of the report are also very original. In an entertaining form, the path from the Java source code to the native code was shown - compilation into bytecode, interpretation of bytecode, JIT compilation into native code. In addition, the implementation features of final- fields, synchronized , volatile , switch statements for strings, lambda expressions were disclosed .

    Life cycle of the JIT code
    Ivan Krylov, Azul Systems The



    logical continuation of the previous report was the report of Ivan Krylov about Just-in-time ( JIT) -compilation. In addition to code transformation, profiles and cases of deoptimization, 5 compilation levels (with possible transitions between them) and 4 available APIs for tuning compilation were mentioned .

    An interesting story was about ReadyNow , a technology specific to the Azul Zing virtual machine . Mentioned also of Oracle ’s even greater interest in static Ahead-in-time ( AOT ) compilation , see JEP 295 .

    Bytecode for the curious
    Anton Arkhipov, ZeroTurnaround



    Anton Arkhipov perfectly completed a series of the first three reports of the second day, telling about Java bytecode: a set and types of instructions, features of working with the stack and table of local variables, an overview of the available tools.

    Of the tools mentioned were Java Bytecode Editor , ASM Bytecode Outline plugin for IntelliJ IDEA and ObjectWeb ASM . The example shown is available on GitHub .

    Java 9 Modularity in Action
    Sander Mak, Luminis Technologies A



    burning topic that everyone will inevitably have to face soon (or not soon if Java 9 is delayed again) - modularity ( Jigsaw project) Sander is a co-author of O'Reilly’s Java 9 Modularity book , which is why he is well versed in this matter. In addition to general questions (the goals of modularity, the history of modularity within the Java ecosystem ), the current state ( Java 9 has not yet been released) is shown with code examples. Evolutionary Design by Kirill Tolkachev and Alexander Tarasov, Alpha Laboratory








    The brilliant duet of Kirill Tolkachev and Alexander Tarasov this time was interested in the theme of evolutionary design. The fast-paced and lively narrative (189 slides per hour of the report) demonstrated the evolution of architecture and technology stack under the influence of changing requirements, accumulating experience and emerging new tools and methodologies.

    Particularly interested in the grandiose “technology table”, which was formed during the report.

    Pragmatic Performance
    Gil Tene, Azul Systems



    Gil is co-founder and CTO of Azul Systems . His talk echoed the first talk by Alexei Shipilev, who also called for a more pragmatic approach to application performance.

    Various metrics and approaches for evaluating performance were presented. Recommendations are given for understanding the true needs of product design and implementation.

    As the final report of the conference, not overloaded with technical details, it was more than appropriate and easy to understand.

    Debriefing guests on the second day


    Communication with Alexander Tarasov. Tagir Valeev and Andrey Kogun.



    Sergey Egorov and Dmitry Chuyko. Anton Arkhipov and Alexei Fedorov, summing up.



    Conference closing


    General photo of all those involved in the preparation of the conference - organizers, volunteers and speakers.



    Andrey Dmitriev, Alexey Fedorov, Gil Tene. Ekaterina Kurilova surrounded by volunteers.



    Summary


    The usefulness of any conference is:

    • the value of the information contained in the reports;
    • convenience of perception of this very information.

    To achieve these goals at this conference:

    • significantly increased the number of reports (there are almost six times more reports than in this review);
    • there are more speakers, both Russian-speaking and English-speaking;
    • discussion zones were organized in which, due to the increased breaks between reports, communication with speakers can be continued;
    • experimentally appeared and recommended itself the site of the podcast "Debriefing";
    • for the first time given the opportunity to view the main track of the conference for free .

    Alas, on the first day there were some broadcast problems that were successfully resolved by the beginning of the second day (a self-critical tweet about it). Minor inconvenience caused a forced transfer to a later time on the first day of the report of Anton Arkhipov. All other technical and administrative issues were resolved as they arose and were hardly noticed by the participants.

    Presentation files are available on the conference website , a link to the video of all reports has already been sent to the participants who filled out the review.



    What are your impressions of the conference?

    UPD: The news, voiced by Andrei Dmitriev at the conference, finally received documentary evidence - Alexei Fedorov was officially named the new Java Champion. Congratulations to Alexei with a well-deserved award !!!

    Also popular now: