In addition to the “Joker numbers 2016” listed by us in advance , now we can name one more thing: at the conference, our photographers took more than 5000 pictures. Not surprisingly, the processing took a lot of time, and Habré already had a feedback from the eyes of the participant from dbelob - and now we publish our own.
The sharp differences between the Joker 2016 and the previous “Jokers” were immediately apparent. What were they, what did they talk about at the conference this time, and which reports on the audience ratings were the best?
First day
Sometimes it is not even necessary to wait for the opening of the conference to feel its difference from last year’s: in the case of Joker 2015, it was enough just to come to the site. This time, having gathered more than 1,000 people, the St. Petersburg conference overgrown the size of the Park Inn Pulkovskaya and was held at the ExpoForum. Once under his tall ceilings, it was difficult not to be impressed with the scale. We can say that the conference had a vertical scaling in all senses.
')
At times, the area has increased. This allowed us to swing as it should, placing a lot of new things: from retro computers and photo booths to a separate mini-track for IT directors and the iCanCode competition. The virtual reality helmet VFX1 from the 90s, and the HTC Vive, which appeared in 2016, was present at the same event, so that you could personally assess the path VR has taken in twenty years. And finally, the main thing with the area has increased: the number of tracks has increased from four to as many as six.
Another difference arose with the opening of the conference, and it mattered not for those who were present at ExpoForum, but for everyone else: for the first time in Joker history, the video broadcast of one of the tracks was free. But in this case, besides new opportunities, new difficulties have appeared. There were technical problems with the broadcast (the provided channel for upload turned out to be less than it should have been), which caused quite a few people to run around in the soap. Later, the situation was corrected, but for a while everything felt as if on this our tweet.
In the meantime, the official opening was followed by a keyout from Alexey Shipilev on performance. Since the keyout format does not imply hellish hardcore, the performance was less technical and more overview than its regular reports. So, it gave an excellent opportunity to all who have long wanted to listen to Shipilev alive, but he was afraid.
As for the content of the report, its key slide was the “Curve of It. Sh. Dividing the work on optimization into several different “zones”, Shipilev decisively stated that at first we are talking “just about what part of the shit-code to rewrite in the first place”. This means that any profiler will be useful, and all the words about “premature optimization as the root of all evils” are no more than a mental trap. Later, when obvious mistakes are eliminated and the project has already moved from the “green zone” to the “yellow”, everything becomes more complicated.
And after the keyout it was time to disperse through the halls, and there was another difficulty there. Since there were as many as six tracks on this Joker, the choice became much richer, and as a result it became harder to make it: wherever you go, you miss something interesting. And in this text, too, only a small number of reports are mentioned, otherwise it would simply have been difficult to read it. But everyone would have such difficulties as “too much interesting”! In the end, all participants will be able to see the missing in the record.
So a lot of curious things happened in parallel: while Andrey Apangin Pangin (Odnoklassniki) developed the topic of performance in one of the halls, Baruch’s jbaruch Sadogursky (JFrog) and Viktor gAmUssA Gamow (Hazelcast) also echoed keynote in another room, but very differently. Their previous performances with Groovy puzzlers were so warmly received that now they were performing with the third batch of puzzlers, and in one of them they offered to determine which speaker would choose such groovy code for keynote:
Interesting facts about Kotlin could be found even before the beginning of the report of Andrey abreslav Breslav (JetBrains), who was in charge of the development of this language: while waiting for the start time, Andrey willingly answered questions from the audience. Therefore, viewers learned curious details not only about the korutinas to which the report was devoted (the language will be acquired by them in 2017 with the release of version 1.1), but also about the other. For example, that work on JavaScript in Kotlin is progressing at full speed, but the goal is not to add pattern matching to the language: “At the dawn of the project, they tried to do it, but then they refused to do it, and now we don’t suffer without it, and people in general . The need for high-grade pattern matching is mainly among those who used Haskell or Scala and now thinks that this is a must have. ”
When it was lunch time, there were no queues, but at the same time in the hall for lunch and coffee breaks, the podcast “Debriefing” was equipped with a podcast - so, waiting for your turn, you could listen to the cheerful dialogues of the residents and guests of “Razbor”. Videos of these dialogues are already available to Joker viewers, and the special issue of the podcast itself recorded at the conference is available to everyone.
Tagir Lany Valeev (JetBrains) has a full meeting room on the “freaks of the Stream API”, showing how many counterintuitive situations there are in this API. This caused a reaction “I thought the use of streams was safe, as I was naive”, a funny result was obtained: the report of one of the world's main enthusiasts of streams frightened people away from them. Moreover: in YouTrack you can find a ticket , which turns out that with the help of Tagir IntelliJ IDEA will help people remove streams from the code. What's next, Martin Oderski will start helping people migrate with Scala?
The story about invokedynamic was from Charles Nutter (Red Hat). It is clear that this topic is close to a person who has been working on JRuby for many years (“before the invokedynamic JVM appeared, it was built around Java, and other languages had to resort to dirty tricks”). But it was curious to find out from his slide that he tweeted “this will change the face of the platform” back in 2011, making a fairly accurate prediction: five years later, invokedynamic is called the “secret weapon” of Java, which led the way to lambdas.
And the closing keyout of the first day went organically to the party. At first, Sam Aaron explained why he created the music audio coding tool Sonic Pi : "Using programming languages only for enterprise tasks is like using Russian or English only for legal documents." Then he demonstrated the basic principles of working with him and encouraged those who wish to help with the translation of the tutorial into Russian (the project is also oriented towards children, so there is not enough English here).
Then, having moved to another room, he began to live live coding, playing a two-hour set. The code was heavily displayed on the screen, and at times Aaron addressed the audience with comments in it. Nutter, who was standing in the front row during a set, took a fragment of the telephone performance in 4K resolution:
Second day
The big stage next morning was taken by the same Charles Nutter, opening the day with a keyout from “From Java to Assembly: Down the Rabbit Hole”. On the second day there were student tracks, so there were many beginners among the audience - and the report corresponded to this, starting with an explanation of key terms like "baytkod". But as the adults dug into the rabbit hole, there was also something to hear about: how many people use PrintAssembly?
It was expected that further the paths of students and "adults" will completely disperse along different tracks. However, life has made its own adjustments: it turned out that experienced developers are eager to listen to Vladimir vlkrasil Dyer, even when his report is aimed at beginners. As a result, in his speech “Anti-introduction to Big Data” was a full house: there were both beginners and professionals.
The performance of Alexey Shipilev on the Java Memory Model sharply contrasted with this: since there was no time to chew the basics, the report immediately demanded from the audience a certain level of understanding of the JMM, and there was nothing for beginners to do. Meanwhile, Shipilev’s previous performance continued to respond in hearts. For example, Alexey zaleslaw Zinoviev, in his report on Spark 2.0, explained: “After the keyout, everyone only talks about who has optimization in which zone. So, you will be lucky in the bigdate if you find yourself in any zone! ”
And between presentations, viewers used long coffee breaks for two things. First of all, it was possible to study everything that is in a large area: go to the sponsors' stands, and take pictures with “superhero speakers”. And secondly, how to ask around the speakers themselves in the discussion areas, not late for the next report.
Later, among these “next reports”, there was a presentation by Sander Mac about Java 9 modules, and few in the world know so much about them: Mac now writes a book about them, and has long been confronted with OSGi, anticipating Jigsaw. Based on his experience, he explained: “Why did Jigsaw ever have to do with the existence of OSGi? Because without Jigsaw, you cannot modularize the JDK directly. Why not use it only for the JDK, leaving OSGi for everything else? The good question is, in fact, it could have been done this way, but the fact is that OSGi is not very popular. ”
Oleg m0nstermind Anastasyev from “Odnoklassniki” could be seen in this report on the first row, and he just recently told us “the transition to modules in our case will not give the advantages justifying it”. There was no refraining from asking, “Well, hasn't Mac convinced this?” Oleg’s answer was something like this:
Lovers of Gradle on this Joker, and so it was something to listen to (it came up about him many times), but the report on the innovations of the 3.x branch was special: the member of the Gradle team Rene Groschka told directly. To begin with, he clarified why version 3.0 received such a number, if it doesn’t burst with new features: “We have a major release not being made in connection with new features, but in connection with the discontinuation of support for a deprecated-feature. Therefore, version 2.0 at one time angered many! ”
If the slides about composite builds from the recent version 3.1 didn’t cause anyone to ask, the image below showed Groschka with the words “This is the first conference where I expect people to recognize the image”. Do you know or not? Why do St. Petersburg Joker visitors know this better than others?
Learn the truth
The picture shows a part of the island of Kotlin, located in St. Petersburg and gave the name of the language Kotlin. This year, Gradle began using Kotlin for build scripts.
In the meantime, the conference came to an end, and its keinout Gil Tene (Azul Systems) concluded on a “pragmatic performance”. Tene urged to break away from the milliseconds and think about what we need at all: “It’s stupid to compare speed apart from practical tasks. Take a sports car and a moped - which one is faster? Now let's compare them in a traffic jam: what is the real way to get to work faster? With the performance is the same. How many requests per second a system can handle is a theoretical approach. Pragmatic is this: “Should all her answers be one and the same?” "
It remains to take stock - these are the reports of the conference that were the best for the audience:
Close JMM Degree Contacts - Alexey Shipilyov (Red Hat)
Fads Stream API - Tagir Valeev (JetBrains)
Anti-introduction to Big Data - Vladimir Krasilshchik (Yandex)
Advanced Search for your legacy application - David Pilato (elastic)
Asynchronously, but understandable: coroutines in Kotlin - Andrey Breslav (JetBrains)
In general, the scaling happened successfully: it was not without difficulties, but in this case we should expect them, and in the end they were overcome. Now we will wait for Java developers in the spring in Moscow and Novosibirsk: the reception of reports at both the JPoint and JBreak is already open. And finally - an interesting touch: Speaker Rafael Winterhalter (Scienta) on Twitter shared what the conference gave him. You can't buy that kind of money, yes.