For the average user, the programs we write are magic. Front, back - it does not matter. A person presses a button in the browser, and suddenly a miracle happens. But we know that this is not a miracle, but the result of hard work.
When you come to the conference, it seems that everything works by itself. There is always an interesting report. There are specific places in it that can be used at work right now, which should be discussed with friends and colleagues, or which for some reason just catch you personally.
It happens by itself, just according to statistics? If you collect a sufficient number of reports, everything will turn out to be automagic? As if not so. Everything is tweaked. As the JS program is designed by architects, so behind each conference is a team of excellent engineers who design it in a special way. They design not only the structure, but also together with the speakers, “debug” each report, line by line, time after time. Conduct a cross-review, assessment, repair of bugs. Special tools are written and laid out on GitHub . And so on until a well-functioning, bezbazhny conference is compiled.
Probably, everyone sometimes wanted to talk with the developers of the tools that we all use. For example, who would like to say a couple of gentle creators of React or Node.js? And who would like to learn from them a couple of secrets about the project’s internal kitchen?
This interview is with the developers of the conference HolyJS 2017 Moscow , with its Program Committee. We will discuss:
Oleg : Getting started! Gentlemen, the whole Habr is reading us now, so let's get acquainted and tell a few words about ourselves and the work of the Program Committee.
Vadim Gorbachev : I participate with Mikhail Poluboyarinov in the organization of PiterJS , where he invited me. I am a member of the Program Committee of HolyJS Moscow. I work in the OpenWay company, we make a product for payment systems WAY4. I deal with its front part. In the Program Committee, I spend most of my time talking with the speakers, and also analyzing the topics of the reports. You need to understand what is being said, to have some kind of background of what the speaker is talking about.
Dmitry Makhnev : I work in Odnoklassniki, I make a mobile web version. Most recently work related to payments. For the first time in the Program Committee, Lesha 23derevo Fedorov invited me because I complained to him about the reports, and he said: “Go and choose a normal one”.
Mikhail Poluboyarinov : Hi, my name is Misha, I work at Health Samurai. Engaged in the organization PiterJS. Unfortunately, the first HolyJS missed, and the second visited as a participant, and then I realized that I wanted to help move such a large conference as HolyJS. In general, the work of the PC comes down to drawing up the program, and then combing it :)
Oleg : Everything is clear about me and Andrey. I am conducting this interview, and Andrei Dmitriev is our program director at the JUG.ru Group.
Evgeny Gusev : And my name is Zhenya, I work in the company of Wrike. Together with HolyJS from the first day, first as a speaker, and then as a member of the Program Committee. PC work, on the one hand, is very interesting: you will probably not see so many new people and information anywhere. On the other hand, it is very difficult. For example, almost 90 applications were submitted for this HolyJS (for 28 places), which is almost 3 applications for a place. And all this must be disassembled, evaluated, phoned with each speaker, and then choose the best. I even once wrote a post on this topic .
But at the same time, when applications are selected, the work does not end. Begin listening and training. With almost every speaker, we run the report more than once to make a better presentation. Last year Igor Alekseenko was the record holder for the runs. And it should be noted that the very first time the report was already good, but Igor (with the help of a PC) just brought it to cosmic heights.
Mikhail : Being in the PC is fun, as Zhenya said earlier, a lot of new acquaintances, interesting reports, but there is one drawback: you don’t know which report to go to at the conference, because you have heard everything at least 1-2 times .
Oleg : Zhenya, do you have free time left? How is it possible to combine work in the PC with everyday life?
Zhenya : It is quite possible. It’s really hard to speak as a speaker on HolyJS, colleagues from the PC are painfully strict. But it takes me a lot of time. There are such bursts that there is no time for anything. For example, on the last day of Call For Papers, we received almost 30 applications!
Usually, on average, every two days, phoned with someone. We are parallel, but it still takes a lot of power. All in order to keep the level of the conference. Well, it's hard to call it "work." When you say "work", then immediately comes through some kind of obyazalovka. We are doing this at the call of the soul and heart.
Oleg : By the way, what is the difference between HolyJS and other conferences on similar topics?
Zhenya : There are not so many big conferences. Purely on the front end (and on JS) all the more! And secondly, HolyJS always relies on quality. As speakers, whom we regularly train, and equipment and environment. Projectors - their own, audio - their own, broadcast - HD. After all, the higher the quality of the conference, the higher the chance that more and more cool speakers will come to us. And they come.
Michael : If my memory serves me, HolyJS is the only JS conference in Russia. Especially not to compare with anything. This time there were a large number of applications, now it lasts two days and so on, but everyone already knows this. We also updated the Program Committee (now there are four of us).
Zhenya : An amazing thing, but every year there are more and more English-language applications (and, accordingly, reports). And these are people we did not call - they contacted us themselves. This means that the conference is slowly entering the international level. For the most part, word of mouth works. English speakers often travel to Russia with prejudice and apprehension, but, having been with us, they are happy to share with friends that we are cool here, ride here!
Oleg : Were there such reports when your expertise was not enough to even understand what the speaker is saying? Or something new or unusual?
Vadim : I had this, I can even list these guys, because they created such a “wow” effect: Lobov , Matvienko , Udalov , who do very hardcore things. Not every specificity will lead to digging in such an environment. They are lucky, they can share such experience, for such a few who have enough expertise.
Oleg : Can you give any example?
Vadim : Lobov is a person from JetBrains who does support TypeScript in their products. In Matvienko (Grid Dynamics) Node on the production, they debug her, and very deep. As for Udalov (Deutsche Bank), they have interesting cases in that they do not always have a backend available, so they learned to communicate between applications that are installed on the client without backends, using the communication between tabs, etc.
Dmitry : No need to offend the guys, they are fine with the backend. Michael explained that they just want to do it that way. Firstly, this is according to the UX workflow, and secondly, they consciously want to save. This is not from superproblems, not from the fact that something does not work. And because I want to do everything a little differently. They have a bunch of applications that need to interact with each other. And here is just all the variations of interaction on the web, which can only be between tabs, frames, and even other applications.
Vadim : Who are listening to something on the local port, somehow it is thrown over. Magic. I believe that very few people had to work with such. I advise everyone to go to this report.
Oleg : Are there any other favorite reports? Let everyone choose their own.
Zhenya : It’s hard to choose, all the reports are good, because otherwise they wouldn’t get into the program :-) If you always wanted to understand GraphQL, but didn’t know how - I advise you to go to Pavel Chertorogov. He is well versed in this subject and understands how it all works. The difficulty of such topics is simply to explain difficult things. Therefore, we tried to find a middle ground between hardcore and "digestibility."
I recommend to go to Alexey Zolotykh , he definitely has his own style, and I really like it (and not because Lyosha works at Wrike). There is Vova Dashukevich , who will squeeze out all the juice from WebAssembly. It would seem that the topic is quite jaded, but this report will be present ... a quantum computer! Suddenly, so I advise you to go.
An interesting fact is that the Program Committee argued among themselves: everyone chose a speaker for himself, and in the end, the one who won the speaker according to the votes of the audience would get the best mark. Let's see whose will take.
As for keynouders: well, what can I say, the composition of the stars, and if there is nothing to add about Crockford, I can say a few words about Minko Gechev. If you are from the world of Angular, you must know it. He is the author of Angular Performance-Checklist and the “Switching to Angular - Third Edition” superbook. In general, I would probably even recommend him to change his last name to ng-echev
:-)
Dmitry : I strongly recommend going to Lobova . On the one hand, he seems to be talking about TypeScript, supporting it and all that. But the report turns out, at least for me, the best TypeScript anti-advertising. Anton reveals the true dynamic essence of TypeScript, although he tries to be so static. It will be useful not only to front-vendors, but in general to everyone. From reports of favorites - Yegor Malkevich with a report on data theft. He tells how using Puppeteer and other tools it is possible to extract data from the Internet if there is no API. Due to the fact that I listened to him, I have already applied my knowledge in a recent internal hackathon on Data Science in Odnoklassniki. I suggested a simple thing: let's spars Kassir.ru and KudaGo. Naturally, they have no public APIs. We will try to recommend to colleagues concerts, to which they can go, given that they are listening to us in Odnoklassniki. It turned out pretty cool. Just without the Puppeteer and the schemes of Egor, I myself, probably, would not have reached this. But Puppeteer allows you to get everything you need very well, even if there is some kind of complex JS interaction, in particular, lists that you can open, if you need to press a button and wait for some actions. If you wanted to automate yourself some things, if your podcasts go out without RSS, you often check something or want to get a bunch of concerts and stupidly match them with your playlist in iTunes, or you need to get data for something very easy to mine and so on, I advise you to go on this report. Well, and Yegor's feed is good.
Oleg : And what was your speed of this decision about tickets? There is also time to pull the pages to parse.
Dmitry : I wrote so that I did not drive for a while. Roughly speaking, I set the data for several months, I quit smoking. My task was to get the data, not to get it quickly. For Data Science and Big Data, the volumes are funny. I parsit Peter and Moscow, and, if roughly rounded, about a thousand events fall on Peter, and about one and a half on Moscow. Therefore, it quickly got to, and I had no strong hitches. Even with absolute ignorance of the instrument such a thing is written in a day.
Oleg : By the way, does Odnoklassniki make sense at all? Is there any sane API?
Dmitry : If the sane API, then something can and parse, if you really want. And I will also name Mikhail Udalov and his “Inter Windows Communication, or How to build a full-fledged RPC in the browser.” I also really want to see Pasha Chertorogov . He has a GraphQL report, and he really uses it. Of all the people I know, this is the only living person who uses GraphQL in the sale, so he is unique in his own way, like the guys from Wrike with Dart . Therefore, if you are interested in GraphQL, Pasha needs to catch and talk to him.
Mikhail : Vitaly Slobodin report "Headless browsers: what, how and why . " Vitaly has been a PhantomJS mantel for a long time. He mantels all the second version of PhantomJS, will talk about headless browsers and how to parse data and the like with their help.
Oleg : I understand correctly that PhantomJS does not have support now?
Michael : No more support.
Dmitry : Vitali is the man who closed the Phantom. Headless Chrome came out, what Puppeteer is written over. Chrome is supported by Google, and Vitaly, as I understand it, there was already one left.
Mikhail : Yes, recently there was one. There, some minor trifles threw in a pull request. Also, quite an interesting report from Denis Radin , he will talk about WebGL and how to work with him at the front, about shaders, how to use them, show how to write the first shader, and how to do a spinner on WebGL shaders.
Oleg : It seems that the graphics are very difficult, and then an ordinary person can take and write a shader for the web?
Michael : Exactly. And Emil Bay has a great report about hash functions .
Dmitry : He talks about how to use hash functions for any tricky things, like a unique document imprint, and so on. I also remembered one interesting report for me. I got interested in programming because of the games, and we will have Alexander Korotayev , who wrote down his third heroes in the browser, tells about many interesting things. In principle, what are the main parts of the game in general, how did it improve something, what to do, so that the characters work normally. There really are very interesting things that happen with the map, with the drawing, with the storage of the drawing data, the worlds where the OOP is bad, and the worlds where the OOP is bad are joined. He also promised to show something funny for the JavaScript community: the reasonable use of sly operators for Boolean algebra, why we need any bitwise shifts, how to make some interesting data structures with which to work well based on this. What is very important: his examples are not academic, which the men wrote in the book, and, okay, tomorrow I will go to introduce to the production. He explains why this is, and shows a really finished work item. It seems to me that this is a qualitatively different approach to the explanation of such pieces. Naturally, this is very dangerous for hipsters - they can then pull it apart and apply where necessary and where not. I recommend the hipsters to go for something else to keep their production code normal.
Vadim : I also wanted to note, according to Korotayev, that you can go to this report at least for the sake of feeling as if you were at school again, skipping the last lesson, and you and your friends go to play “Heroes” ... And then the parents come for dinner, and you You receive lyuley for the fact that the monitor is still warm.
Oleg : By the way, can these heroes be seen somewhere live, or is this his little personal project?
Dmitry : They are posted on his website, there will be a link in his presentation, so let's save the intrigue and find out everything on the report. To look at them, not just “Oh, he drew something here, something a little bit different here,” but to understand the materiel, and after looking from the inside to see how it is there, outside.
Mikhail : I would also like to mention the report of Roman Dvornov . We will not disclose the details yet, but I think it will be cool.
Vadim : Roman himself noticed that he would never have thought that he would talk about React.
Mikhail : And also Alexey Bogachuk’s report on security.
Dmitry : Alexey’s security topic is well developed, comprehensively worked out, there will be very good examples that can make you think and demolish all extensions in the browser.
Vadim : Alexey works in EPAM, they work with different code - their own, others, and so on. All this needs to be brought under one security frame. They introduce Continuous Integration and Pentester software into production, which automatically checks sites and applications for vulnerabilities, and commercially checks for security.
Oleg : So, delete all extensions in Chrome or not?
Michael : I do not use Chrome, I have Safari.
Oleg : By the way, did you notice that Firefox is already a clone of Chrome, all the old extensions have fallen off, only web extentions left?
Michael : Is it Firefox Quantum? This is entirely their new engine, as I recall.
Vadim : Due to the fact that they have everything from scratch, they demolished everything old, rewritten to Rust. Rust was just written so that you can safely run as many tabs as you want and monitor it with fewer errors.
Dmitry : It's a pity that he looked like Ubuntu. So funny: you sit on a Mac, you open it, but Ubuntu shows it to you. Very cozy.
Mikhail : Continuing about the reports, I will also highlight Andrei Melikhov , who talks about a very interesting thing in React Native, and this will not be a success story .
Dmitry : We have not touched keynauders yet. And although they all go on like this, let's say a few words. As I understand it, for the first time, Vitaly Friedman , the creator of Smashing Magazine , and the creator of JSON Douglas Crockford will be brought to Moscow.
Mikhail : There will also be Lea Vera and Azat .
Vadim : Azat writes books on Node, and, as I understand it, in the West he is popular both as a speaker and as a person on whose books they study.
Oleg : I studied the book “The Good Parts” by Douglas Crockford.
Dmitry : Yes, so far this is one of the best books on JavaScript, despite the fact that so many years have passed.
Oleg : Is Leah the girl who wrote the frameworks more than some people even know the words?
Michael : It’s next to JS, but not tightly in there.
Dmitry : She recently had some interesting thing, how to clean TodoMVC with some extensions on pure HTML. A lot has been written about it, but something hasn't happened yet.
Oleg : Yes, its last framework Mavo . The site says: "HTML-based language for creating web applications."
Michael : I do not follow these trends, instead I work in the PC :)
Oleg : You still say that you do not rewrite your front four times a year when releasing new versions of frameworks.
Dmitry : No
Oleg : Wow. And what are you writing on, by the way?
Michael : On ClojureScript .
Oleg : This is naked ClojureScript, is there anything on top of it?
Michael : Reagent . Type React, a wrapper for implementing React.
Oleg : Do you, incidentally, have no report on this?
Mikhail : Yes, I am cooking one. Next year.
Oleg : It would be interesting to listen. And if you make a report, do you really have time to work on the Program Committee?
Michael : I think it is extremely difficult.
Oleg : And what part of your day does this job take in the PC?
Michael : Different. It happens, an hour, sometimes more, sometimes, there is no time left on the PC.
Vadim : Someone had a record, it seems, four hours. There were four calls a day, if I'm not mistaken.
Dmitry : I don’t remember the four, but I once had a day that I sat on Sunday and celebrated statuses. The tiniest thing is when applications start to arrive, usually right before closing. Call up quite a lot. We need some Puppeteer to parse our slak, but I think we looked at man 90. And there were reports that we tried to work through, but, unfortunately, they did not get into the program, because they could not reach what they would like. Many thanks for the work I want to give Maxim Schepelin from Wargaming. He worked a lot, and we very much hope that next time he will finish everything, because his topic is interesting - embedding Chromium into native clients. He talked about World of Tanks, how they use the web part there. I myself, playing World of Tanks, did not know that there was some HTML there.
Vadim : I think you can still give thanks to Kalinina Alexandra.
Dmitry : Yes. They also worked very hard, perhaps even more than anyone. She shoveled everything, there were three or four calls, sometimes for more than an hour. She had a very interesting topic about nodes in working with big data. But she, before dividing the report into parts and talking about each part separately (for example, parsing validation), had to be told about the project as a whole. And, unfortunately, for HolyJS such a story about the project takes about an hour to understand all the parts before at least some code begins. I very much hope that Alexandra will talk about this during the year, because this cannot be concealed. And it will come to us already with the elaboration of a particular part, it will not fit because it tells out of context, it will be able to give a link to the main description of the project so that it can be viewed in advance.
Vadim : And when will the series of the Drinkcast podcast from SPB Frontend come out with you?
Michael : First of December.
Vadim : There, Misha and Zhenya talked about HolyJS, communicated with SPB Frontend. SPB Frontend is a St. Petersburg front-end community, local meetings are organized, they have their own Drinkcast , they have a mailing list . This is a community, they gather every Thursday for breakfast and often go to a bar to drink beer and chat. We also participate in the neighboring friendly community PiterJS , but no one participates directly in the organization of the frontend. Here before, as I understand it, before HolyJS 2017 Moscow SPB Frontend were engaged in the Program Committee of HolyJS.
Oleg : The PC question is: is this your first time participating in the Program Committee, or is it a long story? If this is not the first time, tell us what is the difference with the previous HolyJS, how was the conference evolved, if you somehow see it?
Michael : Last time there were four of us too. There was me, Zhenya, Denis Mishunov and Anton Voskobovich. We listened to about 70 applications, but last time we listened to everyone non-stop, we chased everything. Three months before the conference, if you look at the calendar, every day, on weekdays from seven in the evening, two or three calls were always there. And we always sat on these calls. Now we have already shared, the work was more optimized, so it was easier.
Vadim : It seems to me, if we compare the data of last year (dragging in Jira and so on) and reviews of Eugene, he says that this year there was a boom of speakers and a big enough competition, which was why many had to refuse, which is a great pity because the speakers are all good. In any case, the application for the report itself, phoned is already a job. And this work needs to be done to see that people are interested. And so did not want to refuse. At one moment, Zhenya suggested making four streams to accommodate more people.
Michael : But four streams are too much, people will be confused, there will be confusion. In general, when we started, we complained about two streams. It seems to me that three are too many.
Andrei : If we return to the question of how this conference differs from previous HolyJS, I would note that our speakers themselves began to recommend their buddy friends. Maybe I'm wrong, but it seemed to me that we have a lot of people, because someone showed them, advised them. The effect of an abandoned stone began to work - the waves went.
Oleg : So we are forming such a community of speakers.
Andrew : Community of fans of HolyJS.
Michael : That's right, I really recommend speaking to speaker friends.
Andrei : I do not know how interesting this is to people, but I would say the following. Why did we call up all at once before? The guys from SPB Frontend did this: they divided all people into three parts and said that this is your part, and this is yours. And each led his own. And then just everyone came to the syncap and said who they liked and who did not. There was no expressed committee. There were just many, many opinions, and they did not overlap with each other. Now I see the toolkit. The guys came up with their rating system in Google Docs, and this has greatly simplified life, because people look at other people's ratings, and already have something to talk about. Plus, they became more involved in cross-review. That is, there is no such that one looked, and the other - no. It's different now, and I like it a lot.
Oleg : Do reviews of past conferences take into account the choice of reports?
Andrei : When we started, we wanted to do more hardcore. But for other conferences we did differently. Right? Maybe the guys will fix it. We looked at how many reports of various degrees of complexity were last time and tried to increase the complexity of these reports. That is, if it was 10 + 10 + 10, relatively speaking, "smoothie" + "bearded" + "hardcore", then we tried to make 8 + 8 + 14. Here in this direction thought. We need to look at the statistics, I'm not sure that this is true.
Dmitry : We tried to find the most informative reports, especially tried to pull out such reports, where a person has a really cool topic, and he can do some kind of hardcore. The report should also be good as a show, and if a hardcore report has to modify this show part, we have invested heavily to help make everything good. Choosing between a more interesting and more spectacular report - it is better to choose a more interesting one. In particular, I had problems with defense from colleagues of some speakers!
Michael : Do you think you did it?
Dmitry : No I am terribly displeased. I want more, more tin!
Michael : How to be junami and midlam? Suddenly they will understand nothing.
Dmitry : Let them see what is completely incomprehensible, but really inspiring. At least, I was always impressed when you didn’t understand something in the report, but at the same time realized how cool and cool it was. And in my opinion, the conference, in addition to communication, should provide an opportunity to improve your skill. At least a few reports should be such that you will recommend them for years.
Zhenya : Oh yes, we have Dima - responsible for hardcore. But we are trying to make it so that everyone is interested, both experienced architects, and those who, maybe, just come to the profession.
Vadim : In fact, it is good that there are a sufficient number of syncaps and discussions in the Program Committee, which cause controversy and manifest different points of view. Due to this, we ourselves understand our priorities, and this allows us to send a report in a more correct direction. There is no voice to voice, and the result is a very good job.
Andrei : Vadim, I would add to your words that two years ago we did not have weekly syncaps, there were no regular meetings. And that was a very big problem. We often did not understand how many reports we have, in what status. People forgot something, did not have time, and so on. Syncaps really accelerated the work and increased efficiency.
Oleg : By the way, I just looked - we have reports on completely different topics. Even, suddenly, there is a report on Security, even though we have a front. Was there any qualification regarding the volume of reports for referral? , 100500 React .
: , , , — .
: , -, , JavaScript. JS — . , , , , . JavaScript , . : , React — React. . . . , , , — .
: , N React Angular. , , , . , . , , React, , . , ! , IDE. , . , . , . , ++ headless-. JSON. , . .
: Node.js . , . , - . .
: - , , -?
: , . .
: , HolyJS Moscow 2017 — .
: , — . HolyJS, :) , , . .
. , , : «, , , , , , , ». : . , .
: , , , . — . . , . — , , . , , , .
: , , - JS, , . . , , , .
: , , , , , , , , . .
: , . , . , ?
: , .
: , , — , , :-)
: : . : - — . , . , - . , .
: . Call For Papers!
, : , , . : ! HolyJS — 28 , , , !
: ! HolyJS 2017 Moscow !
Source: https://habr.com/ru/post/343454/
All Articles