FOSDEM-2025
В начале февраля съездил в Брюссель на FOSDEM — ежегодную бесплатную конференцию, посвящённую опенсорсу во всех его проявлениях. Мне очень понравилось, но не по тем причинам, что я предполагал.
Конференция была очень оживлённая: 2 дня, тысячи людей, 1055 докладов (по 30 штук одновременно), под конференцию оккупировали почти целый кампус университета. Темы докладов варьировались от компиляции Си до EU Legislation, действительно супер широкий спектр интересов.
Изначально мы составили довольно плотное расписание, планировали посетить пару десятков докладов за два дня. Но наш план не сработал. Некоторые аудитории оказались в разных концах кампуса, и дорога между ними занимала минут 10. Поэтому на back-to-back доклады успеть было физически невозможно, пришлось прореживать расписание, оставляя промежутки между докладами. Плюс на особо интересные доклады даже выстраивалась очередь перед аудиторией, и на пару из них мы вообще не попали, так как закончились места.
Но не докладами едиными живёт фосдем. Вторая, не менее крутая, часть конференции — стенды. Это такие брендированные уголочки, организованные компаниями или просто проектами. На них стоят амбассадоры, у которых можно спросить что-то про проект или просто ухватить мерча. Стендов было 88 штук, я уверен, что до некоторых мы просто не добрались. Были стенды дистрибутивов линукса (Fedora, Debian, Canonical), СУБД (MySQL, PostgreSQL, FerretDB), опенсорс приложений (VLC, Joplin, Matrix, Mastodon), CERN, OpenStreetMap, каких-то опенсорсных космических спутников и кучи других. Но особенно мне понравилась зона, посвящённая AOSP и линуксу на мобилках. Там были стенды CalyxOS, SailfishOS, AsteroidOS и в частности postmarketOS.
postmarketOS — это один из проектов, посвящённый запуску полноценного линукса на телефонах и планшетах. Сама ОС — это «ядро», поверх него устанавливается графическая оболочка, например phosh, Ubuntu Touch или Gnome. У ребят был очень прикольный стенд, они выставили с десяток девайсов, все на postmarketOS, которые можно было взять и потыкать. Это было моё первое знакомство с такими системами, и это было очень круто! Заодно позадалбывал ребят вопросами, что это вообще и как оно работает. Теперь мне даже захотелось поиграться с этим у себя! И это, наверное, главный хайлайт всей конференции.
В общем, было круто. Добраться из Нидерландов в Брюссель оказалось на удивление легко, всего около 4 часов в одну сторону на поезде или автобусе и ~40€ с человека. Ночевали мы в очень уютном хостеле всего за ~33€ с человека. То есть получилось ещё и гораздо бюджетнее, чем я предполагал. Вообще ощущения от расстояний в Европе совсем другие. От Девентера до Брюсселя аккурат 200км, что всего лишь почти равно расстоянию от Москвы до Владимира, Рязани или Тулы, хотя ощущается масштабнее.
В начале февраля съездил в Брюссель на FOSDEM — ежегодную бесплатную конференцию, посвящённую опенсорсу во всех его проявлениях. Мне очень понравилось, но не по тем причинам, что я предполагал.
Конференция была очень оживлённая: 2 дня, тысячи людей, 1055 докладов (по 30 штук одновременно), под конференцию оккупировали почти целый кампус университета. Темы докладов варьировались от компиляции Си до EU Legislation, действительно супер широкий спектр интересов.
Изначально мы составили довольно плотное расписание, планировали посетить пару десятков докладов за два дня. Но наш план не сработал. Некоторые аудитории оказались в разных концах кампуса, и дорога между ними занимала минут 10. Поэтому на back-to-back доклады успеть было физически невозможно, пришлось прореживать расписание, оставляя промежутки между докладами. Плюс на особо интересные доклады даже выстраивалась очередь перед аудиторией, и на пару из них мы вообще не попали, так как закончились места.
Но не докладами едиными живёт фосдем. Вторая, не менее крутая, часть конференции — стенды. Это такие брендированные уголочки, организованные компаниями или просто проектами. На них стоят амбассадоры, у которых можно спросить что-то про проект или просто ухватить мерча. Стендов было 88 штук, я уверен, что до некоторых мы просто не добрались. Были стенды дистрибутивов линукса (Fedora, Debian, Canonical), СУБД (MySQL, PostgreSQL, FerretDB), опенсорс приложений (VLC, Joplin, Matrix, Mastodon), CERN, OpenStreetMap, каких-то опенсорсных космических спутников и кучи других. Но особенно мне понравилась зона, посвящённая AOSP и линуксу на мобилках. Там были стенды CalyxOS, SailfishOS, AsteroidOS и в частности postmarketOS.
postmarketOS — это один из проектов, посвящённый запуску полноценного линукса на телефонах и планшетах. Сама ОС — это «ядро», поверх него устанавливается графическая оболочка, например phosh, Ubuntu Touch или Gnome. У ребят был очень прикольный стенд, они выставили с десяток девайсов, все на postmarketOS, которые можно было взять и потыкать. Это было моё первое знакомство с такими системами, и это было очень круто! Заодно позадалбывал ребят вопросами, что это вообще и как оно работает. Теперь мне даже захотелось поиграться с этим у себя! И это, наверное, главный хайлайт всей конференции.
В общем, было круто. Добраться из Нидерландов в Брюссель оказалось на удивление легко, всего около 4 часов в одну сторону на поезде или автобусе и ~40€ с человека. Ночевали мы в очень уютном хостеле всего за ~33€ с человека. То есть получилось ещё и гораздо бюджетнее, чем я предполагал. Вообще ощущения от расстояний в Европе совсем другие. От Девентера до Брюсселя аккурат 200км, что всего лишь почти равно расстоянию от Москвы до Владимира, Рязани или Тулы, хотя ощущается масштабнее.
Graphite — Github на максималках
Когда я работал в Яндексе, у нас была своя система контроля версий, которая включала в себя и Арканум — веб-интерфейс для просмотра кода и взаимодействия с пулл-реквестами. Это была in-house система, заточенная под нужды компании, и это было удобно. На текущей же работе мне пришлось использовать Github, и у меня почти сразу стало подгорать от его недостатков.
Github — весьма неплохой кусок софта, у меня нет каких-то предубеждений к нему в целом. Но проблема в том, что спектр его применения слишком широкий. Им пользуются и небольшие пет-проекты, и корпорации, и большие опенсорс-проекты с кучей регламентов. И у него просто не получается угодить всем и сразу, потому что воркфлоу у разных проектов кардинально отличаются.
У гитхаба очень быстро обнаружилась большая проблема с glanceability: большое количество информации спрятано по разным вкладкам, нужно тратить дополнительное время, чтобы её узнать. В частности, мне интересны три вещи:
- Статус CI. На гитхабе его можно увидеть либо во вкладке Checks, либо напротив последнего коммита в самом низу страницы
- Статус незакрытых комментов в ревью. В процессе ревью пр-а обычно пишут комментарии к проблемным участкам кода, которые нужно пофиксить. После фикса ветку можно отметить как resolved, и тогда она должна перестать мозолить глаза. Иногда в ветке может завязаться какая-то дискуссия, в таком случае ее тоже лучше иметь где-то в быстром доступе. На гитхабе эти ветки показываются на вкладке с кодом (но удачи скроллить через 100 файлов) и на главной вкладке Conversation (но они перемешаны с сообщениями о коммитах и прочими уведомлениями, а закрытые ветки всё ещё занимают кучу места)
- Статус самого пулл-реквеста. И я говорю не про «открыт-закрыт», а более гранулярно. Требует ли он моего внимания? Накидали ли мне в панамку? Возник ли конфликт с транком? Или мне всё ещё ждать ревью? На гитхабе такого просто нет
Graphite на самом деле не только веб-интерфейс для гитхаба, а целый инструмент, реализующий одну определенную философию работы с гитом, но об этом уже как-нибудь в другом посте. Сейчас поговорим конкретно про веб-интерфейс. Как можно видеть на втором скриншоте, плотность информации просто удивительная. Всё нужное прямо перед глазами, всё ненужное — спрятано подальше. Статус CI, незакрытые ветки, статус пр-а.
Стоит упомянуть, что Graphite — это проприетарный и весьма коммерциализированный инструмент, явно нацеленный на зажиточные компании. Но разница в UX с обычным гитхабом настолько значительная, что, даже если бы нам пришлось за него платить, свои $25 в месяц он бы отбивал (тратил бы я лишние 3 минуты в день на навигацию по гитхабу? скорее да, чем нет)
А почему я начал этот пост с рассказа про яндекс? Потому что я понял, что в аркануме все эти фичи уже были. Не уверен, кто у кого подсматривал, скорее арканум у графита, но на контрасте с гитхабом арканум был супер удобным.
Когда я работал в Яндексе, у нас была своя система контроля версий, которая включала в себя и Арканум — веб-интерфейс для просмотра кода и взаимодействия с пулл-реквестами. Это была in-house система, заточенная под нужды компании, и это было удобно. На текущей же работе мне пришлось использовать Github, и у меня почти сразу стало подгорать от его недостатков.
Github — весьма неплохой кусок софта, у меня нет каких-то предубеждений к нему в целом. Но проблема в том, что спектр его применения слишком широкий. Им пользуются и небольшие пет-проекты, и корпорации, и большие опенсорс-проекты с кучей регламентов. И у него просто не получается угодить всем и сразу, потому что воркфлоу у разных проектов кардинально отличаются.
У гитхаба очень быстро обнаружилась большая проблема с glanceability: большое количество информации спрятано по разным вкладкам, нужно тратить дополнительное время, чтобы её узнать. В частности, мне интересны три вещи:
- Статус CI. На гитхабе его можно увидеть либо во вкладке Checks, либо напротив последнего коммита в самом низу страницы
- Статус незакрытых комментов в ревью. В процессе ревью пр-а обычно пишут комментарии к проблемным участкам кода, которые нужно пофиксить. После фикса ветку можно отметить как resolved, и тогда она должна перестать мозолить глаза. Иногда в ветке может завязаться какая-то дискуссия, в таком случае ее тоже лучше иметь где-то в быстром доступе. На гитхабе эти ветки показываются на вкладке с кодом (но удачи скроллить через 100 файлов) и на главной вкладке Conversation (но они перемешаны с сообщениями о коммитах и прочими уведомлениями, а закрытые ветки всё ещё занимают кучу места)
- Статус самого пулл-реквеста. И я говорю не про «открыт-закрыт», а более гранулярно. Требует ли он моего внимания? Накидали ли мне в панамку? Возник ли конфликт с транком? Или мне всё ещё ждать ревью? На гитхабе такого просто нет
Graphite на самом деле не только веб-интерфейс для гитхаба, а целый инструмент, реализующий одну определенную философию работы с гитом, но об этом уже как-нибудь в другом посте. Сейчас поговорим конкретно про веб-интерфейс. Как можно видеть на втором скриншоте, плотность информации просто удивительная. Всё нужное прямо перед глазами, всё ненужное — спрятано подальше. Статус CI, незакрытые ветки, статус пр-а.
Стоит упомянуть, что Graphite — это проприетарный и весьма коммерциализированный инструмент, явно нацеленный на зажиточные компании. Но разница в UX с обычным гитхабом настолько значительная, что, даже если бы нам пришлось за него платить, свои $25 в месяц он бы отбивал (тратил бы я лишние 3 минуты в день на навигацию по гитхабу? скорее да, чем нет)
🗺️ Выгрузил все GPS-треки своих перемещений, которые собирал с декабря 2023
Пока что сделал только самые примитивные визуализации, но результаты всё равно завораживают. По порядку:
1. Нечто напоминающее heatmap хождений по моему городу. Несмотря на то, что я выбрал самую маленькую толщину, самые частые пути всё равно превратились в шоссе.
2. То же самое, только для Амстердама. Видно, что в львиной доле районов я даже не появлялся. Разные цвета — это разные месяцы, если что. Оно так по дефолту, мне лень было менять.
3. Трек с поездки на Большое Алматинское озеро прошлым летом. Нашёл кнопку сделать 3д и просто понравился ракурс.
4. Занятная зона под Пушкино, куда периодически улетал сигнал GPS. Причём даже не из центра Москвы, а прямо из дома в Королёве
Данные я выгрузил в формате GPX, а потом запихнул их в gpx.studio. Технические детали постараюсь рассказать на днях, пока быстропост «зацените че сделал»
Пока что сделал только самые примитивные визуализации, но результаты всё равно завораживают. По порядку:
1. Нечто напоминающее heatmap хождений по моему городу. Несмотря на то, что я выбрал самую маленькую толщину, самые частые пути всё равно превратились в шоссе.
2. То же самое, только для Амстердама. Видно, что в львиной доле районов я даже не появлялся. Разные цвета — это разные месяцы, если что. Оно так по дефолту, мне лень было менять.
3. Трек с поездки на Большое Алматинское озеро прошлым летом. Нашёл кнопку сделать 3д и просто понравился ракурс.
4. Занятная зона под Пушкино, куда периодически улетал сигнал GPS. Причём даже не из центра Москвы, а прямо из дома в Королёве
Данные я выгрузил в формате GPX, а потом запихнул их в gpx.studio. Технические детали постараюсь рассказать на днях, пока быстропост «зацените че сделал»
🗺️ Как и обещал, более технический follow-up к моему посту про визуализацию GPS-треков. Получилось немного рандомно, потому что правда не знаю, как такую широкую тему структурировать.
Сначала пару слов про Arc. Это iOS-only приложение (а точнее, два приложения: бесплатный Arc Mini и его «старший брат» Arc Timeline, который требует подписку), которое записывает gps-треки и анализирует их. Встроенный анализ нас сейчас не очень интересует, а вот запись — ещё как. Я не перестаю поражаться, насколько качественно он записывает геопозицию. Он способен трекать локацию в фоновом режиме с точностью до десятка метров (можно понять, по какой стороне дороги я иду!) и при этом съедает от силы 15% заряда в день. Все варианты, что я пробовал на андроиде, либо плохо трекают, либо жрут батарейку, либо и то и то. Главная причина, почему я до сих пор беру с собой айфон, хотя пользуюсь андроидом как основным устройством несколько месяцев как.
Из минусов — вытащить из него юзабельные данные — это большая боль. Хоть он и хранит их в iCloud в каком-то собственном формате, не очень понятно как их преобразовать во что-то юзабельное типа GPX (скорее всего в теории возможно, но я не копался). Arc Mini умеет экспортировать GPX только за один день, повторять это 400+ раз мне не хотелось. Поэтому мне пришлось взять триал подписки на Arc Timeline и заставить его сделать помесячные экспорты. Такой вот неприятный вендор-лок.
Теперь про визуализацию. Сначала я просто взял GPX данные и загрузил их в gpx.studio. Я боялся, что мне придётся ставить что-то типа Google Earth, но в итоге был приятно удивлён, что нашёлся такой удобный, лёгкий и красивый инструмент. Но сырые данные оказались немного шумными: например, если в поезде пропадал сигнал и точка оказывалась в 500 метрах от предыдущей, на визуализации они просто соединялись прямой линией. Мне это не понравилось, и я навайбкодил препроцесс-скриптик на питоне, который проходился по точкам, и, если они расположены больше чем в N метрах друг от друга, разрезал сегмент в этом месте на два. Да, буквально такую задачу я поставил Cursor, и на удивление он с первого раза написал годную имплементацию. Это помогло избавиться от большей части рандомных лазеров, стреляющих во все стороны.
Мне очень хочется построить по этим данным scratch-map / «туман войны»: такую карту, на которой отмечены области, которые ты когда-либо посетил. Чтобы такое сделать, в принципе достаточно взять какую-нибудь систему разделения поверхности Земли на ячейки (например, H3 или S2), замапить все точки на ячейки определенного размера (я бы наверное выбрал поменьше, не больше 100м) и зарендерить эти ячейки. А если ещё посчитать количество точек в каждой ячейке, то получится heatmap — ещё одна визуализация, которую мне хотелось бы реализовать. Она позволит более точно и наглядно сравнить, по каким улицам я всё-таки чаще ходил.
Ещё одно направление мысли — замапить точки на OSM-фичи. Хоть треки и довольно точные, на самых посещаемых участках заметно, что их бросает туда-сюда. Если «снапнуть» каждую точку к ближайшей дороге на OpenStreetMap, можно будет гораздо точнее судить о том, сколько раз я ходил по какой улице. Но это ещё сложнее: надо выкачивать датасет OSM, писать скрипт, обрабатывать миллион корнер кейсов. Я никогда с таким не работал, но однажды хочется попробовать.
Ещё можно попробовать проанализировать данные по способу перемещения: разделить прогулки, поездки на велосипеде, машине, поезде и самолете. Это позволит посчитать всякую интересную статистику: например, сколько километров я прошёл пешком. Это не совсем тривиальная задача, но если натравить на неё какую-нибудь нейронку, мне кажется, может получиться что-то дельное.
Как-то так. Данные очень любопытные, меня правда завораживает бродить по карте и вспоминать истории, связанные с тем или иным местом. Идей, что можно сделать ещё — тоже хоть отбавляй. Но только где найти время и мотивацию их реализовывать? Если будут какие-то подвижки, которые ещё не тянут на собственный пост в этот канал, буду рассказывать в лайв-канале, подписывайтесь
Сначала пару слов про Arc. Это iOS-only приложение (а точнее, два приложения: бесплатный Arc Mini и его «старший брат» Arc Timeline, который требует подписку), которое записывает gps-треки и анализирует их. Встроенный анализ нас сейчас не очень интересует, а вот запись — ещё как. Я не перестаю поражаться, насколько качественно он записывает геопозицию. Он способен трекать локацию в фоновом режиме с точностью до десятка метров (можно понять, по какой стороне дороги я иду!) и при этом съедает от силы 15% заряда в день. Все варианты, что я пробовал на андроиде, либо плохо трекают, либо жрут батарейку, либо и то и то. Главная причина, почему я до сих пор беру с собой айфон, хотя пользуюсь андроидом как основным устройством несколько месяцев как.
Из минусов — вытащить из него юзабельные данные — это большая боль. Хоть он и хранит их в iCloud в каком-то собственном формате, не очень понятно как их преобразовать во что-то юзабельное типа GPX (скорее всего в теории возможно, но я не копался). Arc Mini умеет экспортировать GPX только за один день, повторять это 400+ раз мне не хотелось. Поэтому мне пришлось взять триал подписки на Arc Timeline и заставить его сделать помесячные экспорты. Такой вот неприятный вендор-лок.
Теперь про визуализацию. Сначала я просто взял GPX данные и загрузил их в gpx.studio. Я боялся, что мне придётся ставить что-то типа Google Earth, но в итоге был приятно удивлён, что нашёлся такой удобный, лёгкий и красивый инструмент. Но сырые данные оказались немного шумными: например, если в поезде пропадал сигнал и точка оказывалась в 500 метрах от предыдущей, на визуализации они просто соединялись прямой линией. Мне это не понравилось, и я навайбкодил препроцесс-скриптик на питоне, который проходился по точкам, и, если они расположены больше чем в N метрах друг от друга, разрезал сегмент в этом месте на два. Да, буквально такую задачу я поставил Cursor, и на удивление он с первого раза написал годную имплементацию. Это помогло избавиться от большей части рандомных лазеров, стреляющих во все стороны.
Мне очень хочется построить по этим данным scratch-map / «туман войны»: такую карту, на которой отмечены области, которые ты когда-либо посетил. Чтобы такое сделать, в принципе достаточно взять какую-нибудь систему разделения поверхности Земли на ячейки (например, H3 или S2), замапить все точки на ячейки определенного размера (я бы наверное выбрал поменьше, не больше 100м) и зарендерить эти ячейки. А если ещё посчитать количество точек в каждой ячейке, то получится heatmap — ещё одна визуализация, которую мне хотелось бы реализовать. Она позволит более точно и наглядно сравнить, по каким улицам я всё-таки чаще ходил.
Ещё одно направление мысли — замапить точки на OSM-фичи. Хоть треки и довольно точные, на самых посещаемых участках заметно, что их бросает туда-сюда. Если «снапнуть» каждую точку к ближайшей дороге на OpenStreetMap, можно будет гораздо точнее судить о том, сколько раз я ходил по какой улице. Но это ещё сложнее: надо выкачивать датасет OSM, писать скрипт, обрабатывать миллион корнер кейсов. Я никогда с таким не работал, но однажды хочется попробовать.
Ещё можно попробовать проанализировать данные по способу перемещения: разделить прогулки, поездки на велосипеде, машине, поезде и самолете. Это позволит посчитать всякую интересную статистику: например, сколько километров я прошёл пешком. Это не совсем тривиальная задача, но если натравить на неё какую-нибудь нейронку, мне кажется, может получиться что-то дельное.
Как-то так. Данные очень любопытные, меня правда завораживает бродить по карте и вспоминать истории, связанные с тем или иным местом. Идей, что можно сделать ещё — тоже хоть отбавляй. Но только где найти время и мотивацию их реализовывать? Если будут какие-то подвижки, которые ещё не тянут на собственный пост в этот канал, буду рассказывать в лайв-канале, подписывайтесь
✈️ Тем, кто в Европе (или рядом), должно быть интересно!
Хочу рассказать про сообщество Alumni on Tour. Оно состоит в основном из выпускников Вышки и занимается организацией поездок по Европе.
Прошлой осенью я уже ездил с ними в Болгарию, и мне очень понравилось: собралось больше 20 человек из разных стран и вышел идеальный баланс активностей и нетворкинга.
Следующая поездка будет в Италию и состоится она уже совсем скоро, с 20 по 25 мая. Программа очень насыщенная: собственная вилла (целых две!), больше 35 участников, поездки в Пизу и Флоренцию, рафтинг, поход, дегустация вина и уютные вечерние разговоры.
Я сразу же забронировал место — очень хотел поехать. Но, к сожалению, учебный график неудачно совпал, и поехать у меня не получается. Поэтому ищу того, кто мог бы поехать вместо меня (остальные места разобрали в первые несколько недель!). Кому интересно, подробную программу можно посмотреть вот тут. Цена — €640 за 5 ночей и все активности. По поводу бронирования писать @victoriagermany.
А если в Италию поехать не выходит, есть и другие варианты: например, в августе планируется слёт в Амстердаме.
Хочу рассказать про сообщество Alumni on Tour. Оно состоит в основном из выпускников Вышки и занимается организацией поездок по Европе.
Прошлой осенью я уже ездил с ними в Болгарию, и мне очень понравилось: собралось больше 20 человек из разных стран и вышел идеальный баланс активностей и нетворкинга.
Следующая поездка будет в Италию и состоится она уже совсем скоро, с 20 по 25 мая. Программа очень насыщенная: собственная вилла (целых две!), больше 35 участников, поездки в Пизу и Флоренцию, рафтинг, поход, дегустация вина и уютные вечерние разговоры.
Я сразу же забронировал место — очень хотел поехать. Но, к сожалению, учебный график неудачно совпал, и поехать у меня не получается. Поэтому ищу того, кто мог бы поехать вместо меня (остальные места разобрали в первые несколько недель!). Кому интересно, подробную программу можно посмотреть вот тут. Цена — €640 за 5 ночей и все активности. По поводу бронирования писать @victoriagermany.
А если в Италию поехать не выходит, есть и другие варианты: например, в августе планируется слёт в Амстердаме.
🎓 Обзор на учёбу: DevOps
Недавно закончил курс по DevOps в универе – очень прикольно! Один из самых полезных курсов, что у нас были.
Он не был сфокусирован на какой-то одной теме, вместо этого он состоял из небольших кусочков на разные темы с одним большим заданием в конце, где надо было применить все полученные знания. Темы были следующие:
- Bash-скрипты. Прошлись по основным концепциям bash (pipes, перенаправление ввода и вывода, status codes, переменные и всё такое) и частым утилитам (cat, read, sed, curl и так далее).
- Docker. Научились собирать образы, коснулись multi-stage билдов, научились публиковать образы в GitLab Registry. Заодно получили практический опыт докеризации php с использованием php-fpm (надеюсь, что это мне не пригодится)
- Docker Compose. Научились дружить контейнеры друг с другом, прокидывать env-переменные и volumes, настраивать health checks и порядок запуска контейнеров.
- nginx. Использовали в качестве reverse proxy, ничего сложного не делали.
- GitLab CI. Настраивали пайплайн с запуском тестов, сборкой образов и деплоем новой версии. Познакомились с кешированием, артефактами, триггерами запуска пайплайнов
- AWS. Учились разворачивать highly available and scalable инфраструктуру. Познакомились с концептами VPC, subnet, security group, EC2, load balancer, auto-scaling group. Поднимали базу данных на RDS. Хостили статический сайт на S3.
- Terraform. Примерно то же самое, что в предыдущем пункте, только декларативно.
Насыщенный и интересный курс. С докером я уже был предварительно знаком, с GitLab CI — тоже, но в гораздо меньшей степени, а вот AWS и Terraform стали для меня абсолютно новым опытом. Сначала было сложновато разобраться в сущностях, которые они нагородили, но постепенно проникся этим уровнем абстракции, когда серверы и сети не воспринимаются чем-то железобетонным, а могут быть созданы и убраны по щелчку пальцев. Короче, мне понравилось.
Недавно закончил курс по DevOps в универе – очень прикольно! Один из самых полезных курсов, что у нас были.
Он не был сфокусирован на какой-то одной теме, вместо этого он состоял из небольших кусочков на разные темы с одним большим заданием в конце, где надо было применить все полученные знания. Темы были следующие:
- Bash-скрипты. Прошлись по основным концепциям bash (pipes, перенаправление ввода и вывода, status codes, переменные и всё такое) и частым утилитам (cat, read, sed, curl и так далее).
- Docker. Научились собирать образы, коснулись multi-stage билдов, научились публиковать образы в GitLab Registry. Заодно получили практический опыт докеризации php с использованием php-fpm (надеюсь, что это мне не пригодится)
- Docker Compose. Научились дружить контейнеры друг с другом, прокидывать env-переменные и volumes, настраивать health checks и порядок запуска контейнеров.
- nginx. Использовали в качестве reverse proxy, ничего сложного не делали.
- GitLab CI. Настраивали пайплайн с запуском тестов, сборкой образов и деплоем новой версии. Познакомились с кешированием, артефактами, триггерами запуска пайплайнов
- AWS. Учились разворачивать highly available and scalable инфраструктуру. Познакомились с концептами VPC, subnet, security group, EC2, load balancer, auto-scaling group. Поднимали базу данных на RDS. Хостили статический сайт на S3.
- Terraform. Примерно то же самое, что в предыдущем пункте, только декларативно.
Насыщенный и интересный курс. С докером я уже был предварительно знаком, с GitLab CI — тоже, но в гораздо меньшей степени, а вот AWS и Terraform стали для меня абсолютно новым опытом. Сначала было сложновато разобраться в сущностях, которые они нагородили, но постепенно проникся этим уровнем абстракции, когда серверы и сети не воспринимаются чем-то железобетонным, а могут быть созданы и убраны по щелчку пальцев. Короче, мне понравилось.
🎓 Обзор на учёбу: Embedded programming
Параллельно с курсом девопса у меня был курс Embedded programming. Задумка такая: нам выдали Arduino (точнее, STMicroelectronics Nucleo), всякие экранчики-светодиодики-кнопочки, и нашим итоговым заданием было придумать и собрать что-то похожее на квест-комнату, несколько мини-игр с использованием этих инструментов. Этот курс мне тоже очень понравился, но не благодаря практической полезности (которой здесь не очень много), а именно благодаря интересности самого задания.
Во время курса у нас были лекции, на которых объясняли основы работы с ардуино, а потом и с разными дополнительными компонентами. Плюс были небольшие задания на каждую тему для закрепления материала. Но эти задания не оценивались, поэтому их я даже не открывал, а 90% пар проскипал. Первый раз я открыл Arduino IDE за два дня до дедлайна, и это был самый интересный кодинг-спидран за долгое время! Не так часто получается ловить это состояние потока, когда порой забываешь даже пойти пообедать, настолько погружаешься в проект. А в этом случае сверху добавляется ещё и приятный код, и мгновенная отдача.
Признаюсь сразу: большую часть бойлерплейта за меня написал курсор. Я же в основном занимался бизнес-логикой (эйаю я это не доверял) и разгребанием багов, которые он нагенерил (например, минут 30 потратил на раскапывание того, что у меня не работал экранчик, потому что курсор перепутал порядок аргументов при передаче их в библитеку). Думал, что идеи для самих игр будет сложно придумать, но в итоге вышло несложно и даже, мне кажется, прикольно. Особенно мне понравилось использовать аналоговый ввод (крутилка-потенциометр).
В общем, что я сделал:
- 4 мини-игры: 2 спокойные, 2 на время. Постепенно увеличивающийся уровень сложности, система жизней.
- Таймер, визуализация (точнее, сонификация) оставшегося времени с помощью баззера. Была ещё визуализация на экранчике, но я её так нигде и не использовал.
- Система набора очков.
- Простенькая FSM для переключения состояний (начало, победа, поражение, плюс по состоянию для каждой игры). Классовая структура кода, где каждая игра изолирована в свой файлик. Плюс классы-обёртки для работы с периферией.
В комменты запихну дополнительные материалы: мануал по играм, мини-репорт по реализации и видео с демонстрацией, которое от нас требовалось записать для сдачи проекта (на нём плохо что-то слышно и видно, но мне было лень записывать ещё раз).
Параллельно с курсом девопса у меня был курс Embedded programming. Задумка такая: нам выдали Arduino (точнее, STMicroelectronics Nucleo), всякие экранчики-светодиодики-кнопочки, и нашим итоговым заданием было придумать и собрать что-то похожее на квест-комнату, несколько мини-игр с использованием этих инструментов. Этот курс мне тоже очень понравился, но не благодаря практической полезности (которой здесь не очень много), а именно благодаря интересности самого задания.
Во время курса у нас были лекции, на которых объясняли основы работы с ардуино, а потом и с разными дополнительными компонентами. Плюс были небольшие задания на каждую тему для закрепления материала. Но эти задания не оценивались, поэтому их я даже не открывал, а 90% пар проскипал. Первый раз я открыл Arduino IDE за два дня до дедлайна, и это был самый интересный кодинг-спидран за долгое время! Не так часто получается ловить это состояние потока, когда порой забываешь даже пойти пообедать, настолько погружаешься в проект. А в этом случае сверху добавляется ещё и приятный код, и мгновенная отдача.
Признаюсь сразу: большую часть бойлерплейта за меня написал курсор. Я же в основном занимался бизнес-логикой (эйаю я это не доверял) и разгребанием багов, которые он нагенерил (например, минут 30 потратил на раскапывание того, что у меня не работал экранчик, потому что курсор перепутал порядок аргументов при передаче их в библитеку). Думал, что идеи для самих игр будет сложно придумать, но в итоге вышло несложно и даже, мне кажется, прикольно. Особенно мне понравилось использовать аналоговый ввод (крутилка-потенциометр).
В общем, что я сделал:
- 4 мини-игры: 2 спокойные, 2 на время. Постепенно увеличивающийся уровень сложности, система жизней.
- Таймер, визуализация (точнее, сонификация) оставшегося времени с помощью баззера. Была ещё визуализация на экранчике, но я её так нигде и не использовал.
- Система набора очков.
- Простенькая FSM для переключения состояний (начало, победа, поражение, плюс по состоянию для каждой игры). Классовая структура кода, где каждая игра изолирована в свой файлик. Плюс классы-обёртки для работы с периферией.
В комменты запихну дополнительные материалы: мануал по играм, мини-репорт по реализации и видео с демонстрацией, которое от нас требовалось записать для сдачи проекта (на нём плохо что-то слышно и видно, но мне было лень записывать ещё раз).
🎓 Сейчас у нас в универе есть групповой проект, и во второй четверти этого года у нас тоже был групповой проект. Оба должны быть похожи на работу с реальным клиентом, но есть нюансы.
- В первом проекте у нас был «искусственный» клиент в виде одного из преподавателей, во втором — люди из реальной компании, которые нас даже к себе в офис пригласили
- В первом проекте мы пилили очень обособленный и изолированный продукт, во втором — не столько важна сама функциональность продукта, сколько интеграция с существующими системами
- В первом проекте «клиент» строил из себя такого человека-загадку, «я всё знаю, но не скажу, пока вы меня не спросите». Во втором — люди из компании не хотят ничего скрывать, просто по ним видно, что они сами не до конца разобрались, что и как им надо.
Текущий проект мне пока что нравится гораздо больше, гораздо приятнее осознавать реальную проблему и вместе пытаться прийти к адекватному решению, чем топтаться на месте, пытаясь понять, почему клиенту захотелось именно так.
В принципе, текущий проект очень даже похож на реальные рабочие задачи. Может быть, даже чуть сложнее, потому что на работе у меня есть неограниченные ресурсы коллег и менеджмента, чтобы разобраться в проблеме, а тут от нас ожидается, что мы будем более автономны как команда.
Но особенно я был удивлён тому, насколько в таких проектах идёт упор на организацию работы. От нас сейчас ожидается, что мы распределим роли в команде, узнаем от клиента ТЗ, разобьём его на задачки и запланируем спринты, поресерчим реализацию и согласуем её с клиентом, напишем MVP, а потом добавим остальные фичи. В российских универах меня точно такому не учили, довольно долго я работал по принципу «сейчас что-нибудь попробую написать, если не получится — приду спрошу». А тут прямо очень большой упор на это, кажется это наш четвёртый командный проект за два года.
- В первом проекте у нас был «искусственный» клиент в виде одного из преподавателей, во втором — люди из реальной компании, которые нас даже к себе в офис пригласили
- В первом проекте мы пилили очень обособленный и изолированный продукт, во втором — не столько важна сама функциональность продукта, сколько интеграция с существующими системами
- В первом проекте «клиент» строил из себя такого человека-загадку, «я всё знаю, но не скажу, пока вы меня не спросите». Во втором — люди из компании не хотят ничего скрывать, просто по ним видно, что они сами не до конца разобрались, что и как им надо.
Текущий проект мне пока что нравится гораздо больше, гораздо приятнее осознавать реальную проблему и вместе пытаться прийти к адекватному решению, чем топтаться на месте, пытаясь понять, почему клиенту захотелось именно так.
В принципе, текущий проект очень даже похож на реальные рабочие задачи. Может быть, даже чуть сложнее, потому что на работе у меня есть неограниченные ресурсы коллег и менеджмента, чтобы разобраться в проблеме, а тут от нас ожидается, что мы будем более автономны как команда.
Но особенно я был удивлён тому, насколько в таких проектах идёт упор на организацию работы. От нас сейчас ожидается, что мы распределим роли в команде, узнаем от клиента ТЗ, разобьём его на задачки и запланируем спринты, поресерчим реализацию и согласуем её с клиентом, напишем MVP, а потом добавим остальные фичи. В российских универах меня точно такому не учили, довольно долго я работал по принципу «сейчас что-нибудь попробую написать, если не получится — приду спрошу». А тут прямо очень большой упор на это, кажется это наш четвёртый командный проект за два года.
🗓️ Решил попробовать Timestripe
Это такой трекер задач/планов/целей с упором на долгосрочное планирование. Пока что пользовался очень недолго, но вот какие фичи меня зацепили:
- Максимально широкий спектр временных интервалов. Можно поставить задачку и на завтра после обеда, и на следующую неделю, и на следующий год. Удобно вносить и краткосрочные планы, и долгосрочные цели.
- Задачи можно бесконечно дробить на подзадачи. И у каждой подзадачи может быть своя цель по времени. То есть к задаче «выучить нидерландский до B1» на 2025 год можно привязать подзадачу «выбрать репетитора» на завтра. И это помогает связать долгосрок и короткосрок. Становится проще следить, а для чего я вообще это делаю. Оказывается, важный элемент в моей мотивации.
Но, конечно, не всё идеально. В частности, напрягает UX в мобильном приложении: каким-то образом не смогли сделать нормальный дашборд, где видно все задачи на этот день/неделю/месяц. И в целом интерфейс не очень отполированный: навигация, анимации, менюшки. Не в укор разработчикам, просто заметно, что Linear или Notion, наверное, вложили в это раз в 10 больше усилий.
В общем, первые впечатления — восторг. Очень давно искал что-то такое. Пробовал Notion, он вполне ок для долгосрочного планирования, но совершенно непригоден для краткосрочного. Пробовал Apple Reminders / Google Tasks — наоборот, краткосрочно ок, но для долгосрочного полная каша. Осталось понять, стоит ли этот восторг $10 в месяц...
Это такой трекер задач/планов/целей с упором на долгосрочное планирование. Пока что пользовался очень недолго, но вот какие фичи меня зацепили:
- Максимально широкий спектр временных интервалов. Можно поставить задачку и на завтра после обеда, и на следующую неделю, и на следующий год. Удобно вносить и краткосрочные планы, и долгосрочные цели.
- Задачи можно бесконечно дробить на подзадачи. И у каждой подзадачи может быть своя цель по времени. То есть к задаче «выучить нидерландский до B1» на 2025 год можно привязать подзадачу «выбрать репетитора» на завтра. И это помогает связать долгосрок и короткосрок. Становится проще следить, а для чего я вообще это делаю. Оказывается, важный элемент в моей мотивации.
Но, конечно, не всё идеально. В частности, напрягает UX в мобильном приложении: каким-то образом не смогли сделать нормальный дашборд, где видно все задачи на этот день/неделю/месяц. И в целом интерфейс не очень отполированный: навигация, анимации, менюшки. Не в укор разработчикам, просто заметно, что Linear или Notion, наверное, вложили в это раз в 10 больше усилий.
В общем, первые впечатления — восторг. Очень давно искал что-то такое. Пробовал Notion, он вполне ок для долгосрочного планирования, но совершенно непригоден для краткосрочного. Пробовал Apple Reminders / Google Tasks — наоборот, краткосрочно ок, но для долгосрочного полная каша. Осталось понять, стоит ли этот восторг $10 в месяц...
Timestripe
Timestripe — Goal manager for teams and personal use
Connect daily tasks to long-term milestones and skyrocket your productivity. Manage all your tasks, knowledge and time with a beautiful, all-in-one tool. Great for teams and personal use.
🎧 Обзор на Sennheiser Momentum 4
Последние пару лет я пользовался исключительно AirPods — сначала Pro, а потом Pro 2. Они хорошо покрывали мои нужды: звук, шумодав, переключение между девайсами (на удивление хорошо работает даже с не-яблочными устройствами). Но недавно мне в голову засела мысль: «Я хочу полноразмерные наушники с ANC». И я сел выбирать. Моими опциями оказались:
- Sony WH-1000XM4. Их я не захотел брать по одной простой причине: у меня уже были XM4 до подсов, и ну не офигели ли продавать одни и те же наушники 4 года подряд?
- Sony WH-1000XM5. Судя по обзорам и отзывам владельцев, по некоторым параметрам даже даунгрейд по сравнению с XM4.
- Bose QuietComfort Ultra. Судя по обзорам — неплохие, но ценник заметно выше — ~€300+ по сравнению с ~€200+.
- Apple AirPods Max. Какая-то оверпрайс игрушка за 500 евро.
В общем, все варианты были так себе, поэтому я остановился на Sennheiser Momentum 4, несмотря на то, что им тоже уже 2.5+ года. Купил их я за €230.
🔊 Звук
Дисклеймер: я вообще не эксперт по звуку и слово «эквалайзер» до последнего времени вызывало у меня страх. Но звук вообще не впечатлил, я бы даже сказал разочаровал. Я ожидал заметного улучшения по сравнению с подсами, но получил лютейший бассбуст, который буквально мешает слушать музыку. Покопавшись пару часиков в эквалайзере, я смог довести звук до приемлемого уровня (по большей части это значило «урезать басы»), но осадочек всё равно остался. Как минимум потому, что мне хотелось, чтобы хорошо звучало из коробки.
📱 Приложение
Я не был особо удивлён, но приложение — прямо отстой. Пользоваться почти невозможно, да и не очень-то и нужно.
🛜 Мульти-девайс
Я понимаю, что это не самый частый юзкейс, но мне очень важно, чтобы наушники могли адекватно работать с 3+ девайсами. Потому что этих девайсов у меня хоть отбавляй: как минимум 2 телефона, 2 ноутбука, ПК, планшет и стимдек. Понятно, что не всем сразу нужны наушники, но двумя ограничиваться не хочется.
Так вот, сенхи умеют подключаться только к двум девайсам одновременно. Бесшовное переключение с одного на другое работает в принципе неплохо, но суть не в этом. Для того, чтобы подключить третье устройство, надо сначала отключить наушники от одного из двух подключенных. Или зайти в приложение, но это ещё хуже. Но я в целом не удивлён, XM4 работали точно так же. Для сравнения, AirPods Pro можно привязать к любому количеству девайсов и переключаться между ними буквально одной кнопкой: новый девайс «утягивает» наушники от предыдущего в одностороннем порядке. И это дико удобно.
🙉 Шумодав
Ну тут в принципе не прикопаться, шумодав хорош. В самолете лететь приятно. Прозрачность супер искусственная, как и у XM4, но я ей в любом случае не пользуюсь.
В общем, я скорее пал жертвой своих ожиданий. Если бы это были мои единственные наушники, я бы наверное и не особо жаловался. Но по сравнению с AirPods Pro 2 получился даунгрейд почти по всем фронтам. А самое главное, я разочаровался во всём форм-факторе полноразмерных наушников: я думал, что они комфортнее внутриканальных, а в итоге оказалось, что никаких плюсов я не заметил, но зато в них потеют уши. Короче, сенхи я скорее всего верну обратно в магазин и ещё годик не буду задумываться об апгрейде наушников. Ну может только проводные затычки погоняю, без удовольствия.
Последние пару лет я пользовался исключительно AirPods — сначала Pro, а потом Pro 2. Они хорошо покрывали мои нужды: звук, шумодав, переключение между девайсами (на удивление хорошо работает даже с не-яблочными устройствами). Но недавно мне в голову засела мысль: «Я хочу полноразмерные наушники с ANC». И я сел выбирать. Моими опциями оказались:
- Sony WH-1000XM4. Их я не захотел брать по одной простой причине: у меня уже были XM4 до подсов, и ну не офигели ли продавать одни и те же наушники 4 года подряд?
- Sony WH-1000XM5. Судя по обзорам и отзывам владельцев, по некоторым параметрам даже даунгрейд по сравнению с XM4.
- Bose QuietComfort Ultra. Судя по обзорам — неплохие, но ценник заметно выше — ~€300+ по сравнению с ~€200+.
- Apple AirPods Max. Какая-то оверпрайс игрушка за 500 евро.
В общем, все варианты были так себе, поэтому я остановился на Sennheiser Momentum 4, несмотря на то, что им тоже уже 2.5+ года. Купил их я за €230.
🔊 Звук
Дисклеймер: я вообще не эксперт по звуку и слово «эквалайзер» до последнего времени вызывало у меня страх. Но звук вообще не впечатлил, я бы даже сказал разочаровал. Я ожидал заметного улучшения по сравнению с подсами, но получил лютейший бассбуст, который буквально мешает слушать музыку. Покопавшись пару часиков в эквалайзере, я смог довести звук до приемлемого уровня (по большей части это значило «урезать басы»), но осадочек всё равно остался. Как минимум потому, что мне хотелось, чтобы хорошо звучало из коробки.
📱 Приложение
Я не был особо удивлён, но приложение — прямо отстой. Пользоваться почти невозможно, да и не очень-то и нужно.
🛜 Мульти-девайс
Я понимаю, что это не самый частый юзкейс, но мне очень важно, чтобы наушники могли адекватно работать с 3+ девайсами. Потому что этих девайсов у меня хоть отбавляй: как минимум 2 телефона, 2 ноутбука, ПК, планшет и стимдек. Понятно, что не всем сразу нужны наушники, но двумя ограничиваться не хочется.
Так вот, сенхи умеют подключаться только к двум девайсам одновременно. Бесшовное переключение с одного на другое работает в принципе неплохо, но суть не в этом. Для того, чтобы подключить третье устройство, надо сначала отключить наушники от одного из двух подключенных. Или зайти в приложение, но это ещё хуже. Но я в целом не удивлён, XM4 работали точно так же. Для сравнения, AirPods Pro можно привязать к любому количеству девайсов и переключаться между ними буквально одной кнопкой: новый девайс «утягивает» наушники от предыдущего в одностороннем порядке. И это дико удобно.
🙉 Шумодав
Ну тут в принципе не прикопаться, шумодав хорош. В самолете лететь приятно. Прозрачность супер искусственная, как и у XM4, но я ей в любом случае не пользуюсь.
В общем, я скорее пал жертвой своих ожиданий. Если бы это были мои единственные наушники, я бы наверное и не особо жаловался. Но по сравнению с AirPods Pro 2 получился даунгрейд почти по всем фронтам. А самое главное, я разочаровался во всём форм-факторе полноразмерных наушников: я думал, что они комфортнее внутриканальных, а в итоге оказалось, что никаких плюсов я не заметил, но зато в них потеют уши. Короче, сенхи я скорее всего верну обратно в магазин и ещё годик не буду задумываться об апгрейде наушников. Ну может только проводные затычки погоняю, без удовольствия.
Ценой невероятных усилий смог опустить количество супергрупп+каналов в своем аккаунте ниже 500
Регулярно упирался в этот лимит ещё лет пять назад, поэтому купил телеграм премиум сразу же как только он вышел. Но недавно он у меня закончился, и я обнаружил себя с 750+ группами+каналами и невозможностью вступать в новые. Покупать премиум опять — как-то лень, да и моветон уже.
Пришлось безжалостно пройтись по старым каналам и группам и ливнуть из лишних. Причём клиенты телеги регулярно «теряли» чаты, просто не показывали их в списке, а при поиске по названию таки прогружали с сотней непрочитанных постов. Я так и не понял, что это за приколы такие. Наиболее стабильным источником правды оказался самописный скрипт на https://play.mtcute.dev/, который итерируется по всем чатам и фильтрует их по типу (supergroup + channel)
Регулярно упирался в этот лимит ещё лет пять назад, поэтому купил телеграм премиум сразу же как только он вышел. Но недавно он у меня закончился, и я обнаружил себя с 750+ группами+каналами и невозможностью вступать в новые. Покупать премиум опять — как-то лень, да и моветон уже.
Пришлось безжалостно пройтись по старым каналам и группам и ливнуть из лишних. Причём клиенты телеги регулярно «теряли» чаты, просто не показывали их в списке, а при поиске по названию таки прогружали с сотней непрочитанных постов. Я так и не понял, что это за приколы такие. Наиболее стабильным источником правды оказался самописный скрипт на https://play.mtcute.dev/, который итерируется по всем чатам и фильтрует их по типу (supergroup + channel)
Каждый раз поражаюсь этому челу. Что ни видео — творит какую-то абсолютную магию с iOS, иногда используя приватные апишки и декомпиля всё подряд по пути. Причём заставляя это выглядеть таким увлекательным и простым, что мне самому хочется полезть играться в XCode
https://youtube.com/watch?v=NdJ_y1c_j_I
https://youtube.com/watch?v=NdJ_y1c_j_I
YouTube
Apple’s Widget Backdoor
https://github.com/brycebostwick/WidgetAnimation/
This was an incredibly fun one to make. There's a lot more detail that I didn't get to cover here, and a lot of directions that only partially worked that were still interesting — maybe for the future!
Shoutout…
This was an incredibly fun one to make. There's a lot more detail that I didn't get to cover here, and a lot of directions that only partially worked that were still interesting — maybe for the future!
Shoutout…
📐 Measure Everything
Недавно нашёл прикольное расширение для веб-разработчиков, которое позволяет в пару кликов померить размеры элементов на страничке и расстояния между ними. Что-то типа линейки в фигме, но каким-то образом в 10 раз приятнее для использования. Очень полезно для pixel perfect верстки.
Вот ссылки для установки: Firefox, Chrome
Недавно нашёл прикольное расширение для веб-разработчиков, которое позволяет в пару кликов померить размеры элементов на страничке и расстояния между ними. Что-то типа линейки в фигме, но каким-то образом в 10 раз приятнее для использования. Очень полезно для pixel perfect верстки.
Вот ссылки для установки: Firefox, Chrome
🔥 Вастрик.Кэмп 2025 — это было легендарно
Только что вернулся с Вастрик.Кэмпа и до сих пор не могу прийти в себя — эмоций столько, что сложно подобрать слова. Если коротко, Кэмп — это полузакрытый 4-дневный офлайн-ивент от и для участников Вастрик.Клуба. Но на самом деле это намного, намного больше!
Больше всего мне понравилось такое описание: «Кэмп — это как детский лагерь, только для взрослых». Хоть я и ни разу не ездил в лагерь в детстве, я всё равно прочувствовал этот вайб. Несмотря на то, что нас было целых 150 человек, я никогда прежде не ощущал такой сильной атмосферы общности и взаимовыручки. А организаторы — вообще лапочки: добрые, заботливые, внимательные к каждой мелочи.
🌟 Активности
Как и полагается в настоящем лагере, активностей было выше крыши. И почти все они были организованы волонтёрами — такими же клубчанами, как и я. Кто-то разливал напитки на баре, кто-то заваривал чаи, кто-то привёз всякие интересные железки и рассказывал о них. Активностей было столько, что попасть на все было физически невозможно. Вот мои хайлайты:
🏴 Основал страну
Кэмп проходил всего в нескольких километрах от Либерлэнда — непризнанного микрогосударства на острове между Сербией и Хорватией, который не хочет признавать своим (в силу особенностей территориальных споров) ни одна из стран.
Высаживаться туда незаконно, но мы увидели его берега с борта катера. Зато мы высадились на другой ничейный остров и провозгласили там Вастриклэнд! Теперь там гордо стоит наш самодельный флаг из палки, листа бумаги и наклейки с лого Клуба. Мне посчастливилось участвовать в этой экспедиции.
Позже мы даже заключили официальное торговое соглашение с Либерлэндом, в рамках которого обменяли 1 (один) костюм со светящимися крыльями на 1 (одну) плескавицу.
🗺 Поучаствовал в пивном ориентировании (спортивное ориентирование + пиво) и занял первое место. Получил за это набор отверток от ifixit, которые потом отобрали в аэропорту :(
💃 Танцевал на воркшопе по парным танцам — особенно круто было делать то, чего я бы в обычное время даже не попробовал
🪩 Круто пофлексил на рэйве под диджей-сеты от клубчан
🗣 Занетворкался с десятками людей из разных стран
🏕 Поспал в палатке — как в настоящем лагере
📡 А ещё были...
• мини-CTF
• чайный клуб
• кальянная
• турниры по настольному футболу и покеру
• баня
• квест, вместо которого я поехал основывать Вастриклэнд
• что-где-когда
• собственная радиостанция на 100.7FM
• официальные сербские почтовые марки с символикой кэмпа
• ещё с десяток лекций, воркшопов и мастерклассов на самые разные темы
Но все эти активности не принесли бы и десятой части эмоций, если бы не общий вайб.
💙 Итог
Как вы уже поняли, я в полном восторге.
За билет я отдал €650 — и это стоило каждой копейки.
Теперь с нетерпением жду следующего Кэмпа и других ивентов от Клуба.
В комменты кину пару фоток. На самом деле их гораздо больше, но пока не успели собрать все в одном месте. А поделиться впечатлениями уже не терпится.
Только что вернулся с Вастрик.Кэмпа и до сих пор не могу прийти в себя — эмоций столько, что сложно подобрать слова. Если коротко, Кэмп — это полузакрытый 4-дневный офлайн-ивент от и для участников Вастрик.Клуба. Но на самом деле это намного, намного больше!
Больше всего мне понравилось такое описание: «Кэмп — это как детский лагерь, только для взрослых». Хоть я и ни разу не ездил в лагерь в детстве, я всё равно прочувствовал этот вайб. Несмотря на то, что нас было целых 150 человек, я никогда прежде не ощущал такой сильной атмосферы общности и взаимовыручки. А организаторы — вообще лапочки: добрые, заботливые, внимательные к каждой мелочи.
🌟 Активности
Как и полагается в настоящем лагере, активностей было выше крыши. И почти все они были организованы волонтёрами — такими же клубчанами, как и я. Кто-то разливал напитки на баре, кто-то заваривал чаи, кто-то привёз всякие интересные железки и рассказывал о них. Активностей было столько, что попасть на все было физически невозможно. Вот мои хайлайты:
🏴 Основал страну
Кэмп проходил всего в нескольких километрах от Либерлэнда — непризнанного микрогосударства на острове между Сербией и Хорватией, который не хочет признавать своим (в силу особенностей территориальных споров) ни одна из стран.
Высаживаться туда незаконно, но мы увидели его берега с борта катера. Зато мы высадились на другой ничейный остров и провозгласили там Вастриклэнд! Теперь там гордо стоит наш самодельный флаг из палки, листа бумаги и наклейки с лого Клуба. Мне посчастливилось участвовать в этой экспедиции.
Позже мы даже заключили официальное торговое соглашение с Либерлэндом, в рамках которого обменяли 1 (один) костюм со светящимися крыльями на 1 (одну) плескавицу.
🗺 Поучаствовал в пивном ориентировании (спортивное ориентирование + пиво) и занял первое место. Получил за это набор отверток от ifixit, которые потом отобрали в аэропорту :(
💃 Танцевал на воркшопе по парным танцам — особенно круто было делать то, чего я бы в обычное время даже не попробовал
🪩 Круто пофлексил на рэйве под диджей-сеты от клубчан
🗣 Занетворкался с десятками людей из разных стран
🏕 Поспал в палатке — как в настоящем лагере
📡 А ещё были...
• мини-CTF
• чайный клуб
• кальянная
• турниры по настольному футболу и покеру
• баня
• квест, вместо которого я поехал основывать Вастриклэнд
• что-где-когда
• собственная радиостанция на 100.7FM
• официальные сербские почтовые марки с символикой кэмпа
• ещё с десяток лекций, воркшопов и мастерклассов на самые разные темы
Но все эти активности не принесли бы и десятой части эмоций, если бы не общий вайб.
💙 Итог
Как вы уже поняли, я в полном восторге.
За билет я отдал €650 — и это стоило каждой копейки.
Теперь с нетерпением жду следующего Кэмпа и других ивентов от Клуба.
В комменты кину пару фоток. На самом деле их гораздо больше, но пока не успели собрать все в одном месте. А поделиться впечатлениями уже не терпится.
🌊 Не знаю, зачем вам эта информация, но сегодня я узнал, что Ниагарский водопад отключают на ночь!
Ну, не совсем так. Большая часть потока реки Ниагара (от 50% до 75%), на которой и находятся водопады, используется для генерации электроэнергии. Чтобы водопады совсем не обмелели, в 1950 году США и Канада подписали соглашение, в рамках которого было установлено, что через водопады должно протекать минимум 100000 ft³/s (2800 м³/с) воды. А по ночам и вне туристического сезона — вдвое меньше (50к)!
Очень забавно, как даже самую настоящую природную достопримечательность переводят в экономный режим, чтобы извлечь побольше пользы.
Подсмотрел в косвенно связанном видео «What if you funneled Niagara Falls through a straw?» от What If
Ну, не совсем так. Большая часть потока реки Ниагара (от 50% до 75%), на которой и находятся водопады, используется для генерации электроэнергии. Чтобы водопады совсем не обмелели, в 1950 году США и Канада подписали соглашение, в рамках которого было установлено, что через водопады должно протекать минимум 100000 ft³/s (2800 м³/с) воды. А по ночам и вне туристического сезона — вдвое меньше (50к)!
Очень забавно, как даже самую настоящую природную достопримечательность переводят в экономный режим, чтобы извлечь побольше пользы.
Подсмотрел в косвенно связанном видео «What if you funneled Niagara Falls through a straw?» от What If