В спорте есть выражение «after the game is before the game»: с того момента, когда заканчивается матч, игрокам уже пора готовиться к следующему. Цикл подготовки конференций выглядит похоже. Только на этих выходных отгремела HolyJS 2018 Moscow — а мы уже анонсируем майскую HolyJS 2019 Piter (и сейчас, на старте продаж, билеты дешевле всего).
Из-за этого мы решили совместить обе темы: расскажем вам, как прошла московская HolyJS, и по этому рассказу вы сможете понять, хочется ли вам на петербургскую. В чём были отличия этой HolyJS от предыдущих? Как прошли доклады, и что было интересного, помимо них? Наконец, за что на JS-конференции могли торжественно вручать футболку «ДЖАВА»? Все ответы — под катом.
Площадка
Два отличия от предыдущих HolyJS были известны ещё до начала. Во-первых, новая площадка, а во-вторых, впервые все билеты оказались распроданы, и нам пришлось остановить продажу. Ну то есть как «пришлось» — теоретически можно было бы продавать ещё, но участникам стало бы очень тесно.
А в итоге получилось многолюдно, но не до такой степени, чтобы это стало большой проблемой. Есть даже мнение, что такая плотность к лучшему: участники активнее социализировались, чем если бы все расселись по разным углам.
Сложность возникала разве что в тех случаях, когда на особо популярных докладах зал оказывался переполнен. В этом случае помогала ещё одна новинка этого сезона, demo stage: небольшая открытая сцена прямо в холле, выполнявшая сразу две значимые роли. Во время перерывов её использовали компании-спонсоры, чтобы выступить с небольшой технической презентацией или подвести итоги конкурса (с микрофонами это делать сподручнее, чем просто на стенде). А вот во время докладов стало можно вывести самый популярный из них на экраны этой сцены — и позволить зрителям, которым не нашлось места в зале, смотреть прямую трансляцию в холле, попивая кофе.
Среди стендов тоже была новинка: помимо компаний-спонсоров, в этот раз поучаствовало ещё и сообщество PiterJS. На их стенде, помимо уже традиционного для HolyJS состязания «Code in the Dark», можно было попробовать себя ещё в одном. Александр Коротаев, ранее нашумевший браузерной версией «Героев меча и магии», теперь сделал новую игру:
Как можно заметить, в ней тоже есть связь с «Героями». Но в этот раз на проект ушло заметно меньше двух лет.
Доклады
Тут есть сложность: конференция шла два дня, если начать как следует описывать доклады с неё, то никто не дочитает текст до конца. К тому же мы ещё не собрали полностью зрительский фидбэк, позволяющий определить лидеров. Так что вместо подробного освещения ограничимся отдельными фактами.
- Доклад Кирилла z6Dabrata Черкашина о работе с бинарными данными, несмотря на далеко не самую обычную тему, собрал кучу зрителей. Части из них не понравилось подробное объяснение перевода в двоичную систему счисления («это мы со школы знаем»), но вот «распотрошить» формат GIF, похоже, было интересно всем. Настолько, что позже в спикерской комнате Кирилл рассказывал свой доклад ещё раз: на английском языке для обступивших его англоговорящих спикеров.
- MPJ, известный YouTube-каналом Fun Fun Function, выступал с кейноутом, так что от него не требовалось хардкора — и вместо этого он призвал публику подискутировать о том, как нам не допускать bloatware. «В Photoshop есть даже инструменты редактирования видео, это можно ставить в словарях иллюстрацией к понятию feature creep!»
- А если MPJ показался кому-то слишком «лайтовым», ощущение легко было компенсировать многими другими докладами — например, у Lucas da Costa красивое название «There is a bluebird in my talk that wants to get out» (перефраз стихотворения Чарльза Буковски) сочеталось с мощной функциональщиной в содержании.
- На HolyJS можно было не только поиграть в упомянутую выше новую игру Александра Коротаева, но и всё о ней узнать: новый доклад Александра был ей и посвящён.
- Хотя слова «машинное обучение» и «JavaScript» сейчас редко оказываются рядом, Isa Silveira считает, что это временно — и говорила как раз об их пересечении.
- Никто не застрахован от форс-мажоров, и в последний момент заболел Алексей Козятинский (Chrome DevTools). Но тут-то и пригодилось решение программного комитета готовить «запасные доклады» (когда над докладом, не попавшим в программу, работа всё равно ведётся как над попавшим). Благодаря этому легко произошла замена на доклад Андрея AndreyNagih Нагих о реальном опыте использования WebAssembly, и получилось не «стихийное затыкание дыры чем придётся», а полноценное выступление на актуальную тему.
- Наконец, Роман lahmatiy Дворнов не только говорил в закрывающем кейноуте про data science, но и прямо в конце своего выступления опубликовал на GitHub новый проект, помогающий работать с данными.
Есть живописные зрительские конспекты некоторых докладов: мы не уверены, что они помогут не видевшим доклад, но полюбоваться можно в любом случае.
Прочее
А что было ценного, помимо докладов? Например, традиционно для HolyJS — дискуссионные зоны, где можно было как следует расспросить любого докладчика. Поскольку в этот раз была сделана ставка на авторов инструментов, эти зоны становились особенно актуальными: часто ли можно расспросить напрямую Michel Weststrate о тонкостях MobX? Дело доходило даже до того, что кто-то приносил ноутбук с конкретной проблемой в рабочем проекте, но обычно всё же спрашивали о более общих вещах.
И BoF-сессии, где тот же Weststrate рассуждал о стейте, а Tomas Watson и Ujjwal Sharma из команды Node.js Core — о Node, и можно было не просто благоговейно слушать их, как на докладах, а дискутировать с ними.
И вечеринка, где выступала группа «Научно-технический рэп». Чтобы описать, как публика принимала их ироничные айтишные песни, приведём только одну деталь: понравилось даже англоговорящему спикеру, который нагуглил тексты и переводил их на ходу.
Ещё на площадке присутствовали ведущие подкастов «Фронтенд Юность» и «Frontend Weekend». У первого подкаста активно появлялись твиты с места действия, для второго на HolyJS были записаны сразу несколько интервью — в общем, следите за их следующими выпусками.
Было и кое-что для людей, не присутствующих на площадке. Для зрителей онлайн-трансляций (и ограниченной бесплатной на YouTube, и платной с выбором из всех докладов) мы брали интервью у спикеров, чтобы в перерывах между докладами не висела по полчаса скучная заглушка. Мы уже делали подобное раньше, но теперь попробовали сменить короткий 15-минутный формат интервью на получасовой, а то часто получалось «ну вот, только дошли до самого интересного». Похоже, это было правильным решением — с такими людьми, как Ari Lerner или Илья Климов, есть о чём поговорить на протяжении получаса.
А «ДЖАВА»-то при чём?
Окей, рассказываем. Как и в прошлый раз, программный комитет проводил активность «TCXX»: можно было написать своё предложение по улучшению ECMAScript. Помимо основного приза за самое лучшее предложение, были номинации «дичь» и «баян». Футболку «ДЖАВА» дали в категории «дичь», но само предложенное решение было ещё более впечатляющим, чем эта футболка: «а давайте в циклах, кроме опции continue, появится ещё back, и тогда можно станет вернуться на предыдущую итерацию». Воистину дичь!
HolyJS 2019 Piter
Что мы можем сказать о следующей HolyJS?
- Во-первых, огласим даты: 24-25 мая 2019-го, Санкт-Петербург.
- Во-вторых, назовём первых спикеров. David Khourshid — создатель xstate, он не смог добраться до прошедшей HolyJS, но на следующей его рассчитываем увидеть-таки. А Basarat Ali Syed — автор опенсорсной книги по TypeScript, у которой больше 4000 звёзд на GitHub.
- В-третьих, идея «привозить авторов востребованных инструментов» зарекомендовала себя, и эту линию мы намерены продолжать.
- В-четвёртых, хотя программа следующего HolyJS станет известна позже, сам формат конференции вряд ли существенно изменится. А это значит, что если по описанию прошедшей конференции вы ощутили «мне интересно такое мероприятие», то стоит обратить внимание на в-пятых:
- Билеты уже в продаже, и прямо сейчас они дешевле всего, а в будущем постепенно будут дорожать, начиная уже с 1 декабря.
В общем, конференционный цикл продолжает исполняться, и мы переходим к следующей итерации! А этот пост тогда можно считать той самой опцией back: он позволяет пережить прошедшую итерацию ещё раз.
Автор: phillennium