[
  {
    "num": 183,
    "datetime": "2024-11-27T19:00:00+02:00",
    "season": 2024,
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [""], "photo": [""]},
    "photo": ["https://photos.app.goo.gl/2AbTtFFeCdTYhwYV6"],
    "event": "https://www.eventbrite.com/e/devclubeu-183-tickets-1085971362579",
    "speeches": [
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["wrSOUDnhQ9g"],
        "speakers": [
          {
            "names": {"*": "Vladimir Ovodenko", "ru": "Владимир Оводенко"},
            "titles": {"*": "Test Automation Lead @ Inbank"},
            "url": "https://www.linkedin.com/in/ovodenko/",
            "image": "vovodenko.jpg"
          }
        ],
        "titles": {"ru": "Пирамида тестирования с Playwright"},
        "descr": {
          "ru": [
            "В этом докладе я расскажу о нашем пути в Inbank по улучшению опыта разработчиков и повышения их продуктивности с помощью автоматизации тестирования. Мы подробно остановимся на процессах, которые позволили нам разработать надежную стратегию автоматизации тестирования, с акцентом на сквозное (E2E) и компонентное тестирование, оба реализованных с использованием фреймворка Playwright. На практических примерах я покажу, как реализовать оба типа тестов. Также я поделюсь стратегиями, которые помогают поддерживать тестовый набор надежным и свести к минимуму нестабильность тестов."
          ]
        }
      },
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["kWlZ6lNQfmI"],
        "speakers": [
          {
            "names": {"*": "Grigori Parfjonov", "ru": "Григорий Парфёнов"},
            "titles": {"*": "Инженер транспортного планирования"},
            "url": "https://www.linkedin.com/in/grigori-parfjonov-a6a59125b/",
            "image": "gparfjonov.png"
          }
        ],
        "titles": {"ru": "Идеальный город для людей: иллюзии комфорта и реальность компромиссов"},
        "descr": {
          "ru": [
            "Все хотят «город для людей» — звучит мило, пока не приходится превращать мечты в реальность. Как будто скамейка и газончик посреди 3+3 полос магически превратят магистраль в райское место для прогулок — но попробуй ещё объясни, куда девать транспортные потоки. В этом докладе я расскажу, как микромоделирование транспортных потребностей превращается в головоломку, когда инженер пытается угодить всем, лавируя между амбициями одних и реальностью движения других. PHP для транспортного инженера: как балансировать на грани комфорта и здравого смысла ради идеала, который то и дело разъезжается с логикой."
          ]
        },
        "top": {"season": 2024, "place": 3}
      }
    ]
  },
  {
    "num": 182,
    "datetime": "2024-10-30T19:00:00+02:00",
    "season": 2024,
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [""], "photo": [""]},
    "photo": ["https://photos.app.goo.gl/fXbUvBqFrtGGTFgg7"],
    "event": "https://www.eventbrite.com/e/devclubeu-182-tickets-1052834164327",
    "speeches": [
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["1-CSN6w-4zQ"],
        "speakers": [
          {
            "names": {"*": "Julia Jolkin", "ru": "Юлия Ёлкин"},
            "titles": {"*": "Fullstack IT Recruiter @ IT Talent"},
            "url": "https://www.linkedin.com/in/juliajolkin/",
            "image": "jjolkin_2024.jpg"
          }
        ],
        "titles": {"ru": "Секреты LinkedIn, которые упростят поиск работы"},
        "descr": {
          "ru": [
            "Секреты LinkedIn, которые упростят поиск работы. Поговорим о том, как искать работу в IT в 100 раз быстрее и никогда не бояться ее потерять. Обсудим новые правила игры на рынке ИТ-вакансий и кто теперь побеждает в этой карьерной гонке. Исправим типичные ошибки, которые делают вас невидимкой для потенциальных работодателей и мешают им пригласить вас на собеседование. "
          ]
        },
        "top": {"season": 2024, "place": 2}
      },
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["0V_dsuBG8HE"],
        "speakers": [
          {
            "names": {"*": "Pavel Grigorenko", "ru": "Павел Григоренко"},
            "titles": {"*": "Lead Software Engineer @ Guardtime"},
            "url": "https://www.linkedin.com/in/pavelgrigorenko/",
            "image": "pgrigorenko.jpg"
          }
        ],
        "titles": {"ru": "Релокация айтишника в Нидерланды"},
        "descr": {
          "ru": [
            "Поделюсь личным опытом переезда в Нидерланды. Расскажу про местный рынок ИТ, а также бытовые нюансы. Налоги и пособия, аренда и покупка недвижимости, владение автомобилем и др."
          ]
        }
      }
    ]
  },
  {
    "num": 181,
    "datetime": "2024-10-02T19:00:00+03:00",
    "season": 2024,
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [""], "photo": [""]},
    "photo": ["https://photos.app.goo.gl/Gze58Mz3xVL2p4Pg6"],
    "event": "https://www.eventbrite.com/e/devclubeu-181-tickets-1026005930357",
    "speeches": [
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["whWwEVZVdvo"],
        "speakers": [
          {
            "names": {"*": "Vladimir Ivanov", "ru": "Владимир Иванов"},
            "titles": {"*": "Senior Engineering Manager @ Bolt"},
            "url": "https://www.linkedin.com/in/%F0%9F%93%9A-vladimir-ivanov-a4440226/",
            "image": "vivanov.jpg"
          }
        ],
        "titles": {"ru": "API Gateways: что, зачем и как"},
        "descr": {
          "ru": [
            "Представьте, что вы управляете SaaS-бизнесом, который предоставляет свои услуги через API: он может продавать курсы валют, данные о погоде, предлагать платежные или аутентификационные/авторизационные сервисы. Тогда вам нужно решить несколько проблем: контроль доступа, балансировка нагрузки, маршрутизация, мониторинг и т.д. Давайте поговорим об этих проблемах и о том, как API-шлюзы (на примере AWS API Gateway) могут помочь их решить."
          ]
        }
      },
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["kEgaf7tketU"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Software developer @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev.jpg"
          }
        ],
        "titles": {"ru": "TDD: балласт или помощник"},
        "descr": {
          "ru": [
            "Давненько мы не говорили про TDD. Большинству из нас не до тестов - и без них проблем хватает. Есть горстка энтузиастов, которые агитируют нас тесты и обещают райскую жизнь. Но не лукавят ли они? Можно ли писать тесты и при этом успевать делать фичи?"
          ]
        }
      }
    ]
  },
  {
    "num": 180,
    "datetime": "2024-08-28T19:00:00+03:00",
    "season": 2024,
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [""], "photo": [""]},
    "photo": ["https://photos.app.goo.gl/5Ss5BGMugpC94Ezm6"],
    "event": "https://www.eventbrite.com/e/devclubeu-180-tickets-1001132453117",
    "speeches": [
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["FXFacJYxJh0"],
        "speakers": [
          {
            "names": {"*": "Juri Bogdanov", "ru": "Юрий Богданов"},
            "titles": {"*": "Java Developer"},
            "url": "https://www.linkedin.com/in/juri-bogdanov/",
            "image": "jbogdanov.jpg"
          }
        ],
        "titles": {"ru": "Как найти работу программисту после сокращения"},
        "descr": {
          "ru": [
            "Что делать, если тебя сократили. Как прокачать свои скиллы и своё CV. Что говорить на собеседованиях. Личный опыт из 6и месечного поиска работы после сокращения."
          ]
        }
      },
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["KZ6bVaTeviA"],
        "speakers": [
          {
            "names": {"*": "Anton Arhipov", "ru": "Антон Архипов"},
            "titles": {"*": "Developer Advocate @ JetBrains"},
            "url": "https://www.linkedin.com/in/antonarhipov",
            "image": "aarhipov2.jpg"
          }
        ],
        "titles": {"ru": "K(onstruc)tor: есть ли жизнь за пределами Spring Boot?"},
        "descr": {
          "ru": [
            "Ktor - это фреймворк для разработки веб-приложений на Kotlin. В этом докладе мы увидим, что Ktor предлагает 'из коробки', какие библиотеки часто используются в проектах с Ktor (Exposed, Koin). Обсудим, как структурировать приложения с Ktor, и как применить знания которые у нас уже есть из Spring Boot."
          ]
        }
      }
    ]
  },
  {
    "num": 179,
    "datetime": "2024-07-30T19:00:00+03:00",
    "season": 2024,
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [""], "photo": [""]},
    "photo": ["https://photos.app.goo.gl/PcqcrueCRuvKDtC29"],
    "event": "https://www.eventbrite.com/e/devclubeu-179-tickets-950936415417",
    "speeches": [
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["gBvc8VJGpVI"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Software developer @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev.jpg"
          }
        ],
        "titles": {"ru": "Одноразовое изделие № 0000"},
        "descr": {
          "ru": [
            "Авторизация при помощи одноразового кодика - типичная функция. Сгенерировать несколько случайных цифр, послать СМСкой и заставить юзера их ввести - казалось бы, тривиально.",
            "В этом докладе мы рассмотрим тысячу и один способ, как тут можно накосячить. Дело не такое простое, как кажется на первый взгляд."
          ]
        }
      },
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["Vkz0f-PddZM"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "QA @ Swedbank"},
            "url": "https://www.linkedin.com/in/andrei-solntsev-6352a3211",
            "image": "asolntsev_cosplay.jpg"
          }
        ],
        "titles": {"ru": "Jsoln: долой NullPointer!"},
        "descr": {
          "ru": [
            "Есть миллион библиотек для десериализации JSON в Java. И все они позволяют полям быть nullable. Хотя класс Optional существует давно, и почему-то никто им не пользуется по назначению.",
            "Благо, теперь есть Jsoln (aka JSON Стетхем), который раскидает поля на nullable и non-nullable и наваляет люлей мутабельным листам."
          ]
        }
      }
    ]
  },
  {
    "num": 178,
    "datetime": "2024-05-29T19:00:00+03:00",
    "season": 2024,
    "place": {
      "name": "Wisercat Estonia OÜ", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [""], "photo": [""]},
    "photo": ["https://photos.app.goo.gl/rxg5YepSSi2SLHi89"],
    "event": "https://www.eventbrite.com/e/devclubeu-178-tickets-910006803847",
    "speeches": [
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["W2V6JwJ_tnc"],
        "speakers": [
          {
            "names": {"*": "Jaroslav Judin", "ru": "Ярослав Юдин"},
            "titles": {"*": "SWE @ Bolt"},
            "url": "https://www.linkedin.com/in/jaroslavjudin/",
            "image": "jjudin.jpg"
          }
        ],
        "titles": {"ru": "Эволюция графа социальной сети"},
        "descr": {
          "ru": [
            "Доклад про техническое развитие графа социальной сети. Больше пойдет речь про архитектурные трейд-оффы (решения) ну и немного про сами используемые технологии: MySQL, Neo4j, Redis"
          ]
        }
      },
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["15wDcaIrQPw"],
        "speakers": [
          {
            "names": {"*": "Juri Bogdanov", "ru": "Юрий Богданов"},
            "titles": {"*": "Java Developer"},
            "url": "https://www.linkedin.com/in/juri-bogdanov/",
            "image": "jbogdanov.jpg"
          }
        ],
        "titles": {"ru": "Telecom Fraud"},
        "descr": {
          "ru": [
            "О деньгах в телекоме. На чём телеком зарабатывает деньги. Как телеком теряет деньги. Pre-paid billing vs post-paid billing. Виды мошенничеств. Немного про портирование номеров, возможно немного про SIP протокол и caller id спецификацию. Личный опыт и немного статистики"
          ]
        }
      }
    ]
  },
  {
    "num": 177,
    "datetime": "2024-04-24T19:00:00+03:00",
    "season": 2024,
    "place": {
      "name": "Wisercat Estonia OÜ", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [""], "photo": [""]},
    "photo": ["https://photos.app.goo.gl/qYNdLoYZPdwNAwtW8"],
    "event": "https://www.eventbrite.com/e/devclubeu-177-tickets-885105453237",
    "speeches": [
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["k1LcDEwuNO8"],
        "speakers": [
          {
            "names": {"*": "Jevgeni Marenkov", "ru": "Евгений Маренков"},
            "titles": {"*": "Software Engineer @ Microsoft"},
            "url": "https://www.linkedin.com/in/jevgeni-marenkov-97a59b47/",
            "image": "jmarenkov.jpg"
          }
        ],
        "titles": {"ru": "Distributed Tracing - оно того стоит?"},
        "descr": {
          "ru": [
            "Я долгие годы очень тесно работал с внедрением distributed tracing в организацию и команды. На первый взгляд, это очень крутая штука, которую очень сложно правильно приготовить. В этом докладе я покажу, демо на сколько tracing хорош и так же покажу как получить ценность от этого инструмента. Это не просто и надо понимать, что хочешь получить."
          ]
        }
      },
      {
        "org": {"cam": [""], "edit": [""]},
        "lang": "ru",
        "labels": [],
        "youtube": ["q-EDLi1YXk"],
        "speakers": [
          {
            "names": {"*": "Mikhail Dunaev", "ru": "Михаил Дунаев"},
            "titles": {"*": "Chief AI Officer"},
            "url": "https://www.linkedin.com/in/mikhail-dunaev/",
            "image": "mdunajev.jpg"
          }
        ],
        "titles": {"ru": "Создание игровых миров с помощью ИИ"},
        "descr": {
          "ru": [
            "На примере моего экспериментального проекта я расскажу как создавать бесконечные миры для казуальных игр с помощью таких инструментов как Stable Diffusion, Deforum и тд."
          ]
        }
      }
    ]
  },
  {
    "num": 176,
    "datetime": "2024-03-27T19:00:00+02:00",
    "season": 2024,
    "place": {
      "name": "Wisercat Estonia OÜ", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": ["asolntsev"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/hZt9fYgCLWxjzfbc8"],
    "event": "https://www.eventbrite.com/e/devclubeu-176-tickets-863034347967",
    "speeches": [
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["0hCWK0G1wyI"],
        "speakers": [
          {
            "names": {"*": "Mariia Antropova", "ru": "Мария Антропова"},
            "titles": {"*": "Research Lead @ JetBrains"},
            "url": "https://www.linkedin.com/in/maria-antropova-65535324b/",
            "image": "mantropova.jpg"
          }
        ],
        "titles": {"ru": "От опросов к ответам: Зачем продуктовой компании проводить свой собственный опрос?"},
        "descr": {
          "ru": [
            "Мы в JetBrains уже почти 10 лет проводим большое количество опросов разработчиков, и что более интересно - публикуем в открытом доступе результаты и сырые данные наших ключевых исследований.На примере нашего флагманского проекта Developer Ecosystem Survey, я расскажу о том: 1) зачем и как мы проводим такие исследования; 2) как ценности компании влияют на проведение опроса и публикацию результата; 3) как мы используем результаты при принятии маркетинговых и продуктовых решений; 4) что важно учитывать, когда вы смотрите на результаты индустриальных опросов, и почему они часто могут противоречить друг другу."
          ]
        }
      },
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["tK4haX0M0IE"],
        "speakers": [
          {
            "names": {"*": "Vladimir Ivanov", "ru": "Владимир Иванов"},
            "titles": {"*": "Senior Engineering Manager @ Bolt"},
            "url": "https://www.linkedin.com/in/%F0%9F%93%9A-vladimir-ivanov-a4440226/",
            "image": "vivanov.jpg"
          }
        ],
        "titles": {"ru": "Правильная линейка для команд"},
        "descr": {
          "ru": [
            "В этом докладе мы поговорим о разных аспектах измерения производительности команды разработки ПО. Обсудим показатели, которые отражают истинную производительность и сплоченность команды, а также выявляют распространенные ошибки и то, что не следует измерять. Узнайте, как точно оценивать производительность вашей команды, обеспечивая баланс между количественными и качественными показателями, и узнайте, почему некоторые показатели могут принести больше вреда, чем пользы. Эта презентация нацелена на профессионалов, которые хотят улучшить свои навыки управления и создать более эффективные, совместные и успешные команды."
          ]
        }
      }
    ]
  },
  {
    "num": 175,
    "datetime": "2024-02-22T19:00:00+02:00",
    "season": 2024,
    "place": {
      "name": "Wisercat Estonia OÜ", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": ["klinnik"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/orFQ7SJKCKTsKL89A"],
    "event": "https://www.eventbrite.com/e/devclubeu-175-tickets-830125075447",
    "speeches": [
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["2JvqByh3ZlY"],
        "speakers": [
          {
            "names": {"*": "Aleksei Jašin", "ru": "Алексей Яшин"},
            "titles": {"*": "Советник министра экономики и ИТ"},
            "url": "https://www.linkedin.com/in/aleksei-jašin-27b503140/",
            "image": "ajashin.jpg"
          }
        ],
        "titles": {"ru": "Почему государство хочет быть в ваших смартфонах? История приложения mRiik."},
        "descr": {
          "ru": [
            "Все меньше жителей Эстонии использует повседневно настольные компьютеры и лаптопы. Для взаимодействия с государственным и частным сектором все чаще отдается предпочтение мобильным устройствам. В сзязи с этим государтсво переходит со своими услугами на мобильные платформы. Прототип приложения mRiik был готов уже в прошлом году, однако публичный запуск был отложен. Первоначальная версия была разработана в сотрудничестве с украинскими партнерами, которые запустили государственное приложение Diia в Украине уже в 2020 году. Эстонский прототип был протестирован 2000 пользователями. На основе обратной связи было принято решение продолжить техническую, дизайнерскую, а также законотворческую разработку. Спустя год государство в лице министерства экономики и коммуникаций, а также государственного агентства информационных систем (RIA) приняло решение представить приложение для общественного пользования в июне текущего года. Какова история создания приложения? Какие услуги и возможности будут представлены в первоначальной версии? Каким будет будущее государственного приложения? Почему был отложен первоначальный запуск и что поменялось с этих пор? Обо всем этом поговорим на нашей встрече."
          ]
        }
      },
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["pr8ub97tbdA"],
        "speakers": [
          {
            "names": {"*": "Ilja Zverev", "ru": "Илья Зверев"},
            "titles": {"*": "Владелец свича / Switch owner"},
            "url": "https://www.linkedin.com/in/ilja-zverev/",
            "image": "izverev.jpg"
          }
        ],
        "titles": {"ru": "Как работают транспортные приложения."},
        "descr": {
          "ru": [
            "Sõiduplaanid, Google Maps, Citymapper, Moovit, Easy Transit... Приложений для планирования поездок на общественном транспорте тьма. Как так получилось, неужели их действительно просто писать? Короткий ответ — да, все данные открыты и схемы просты. А длинный ответ можно послушать вживую: что такое GTFS и Siri, на какие ухищрения идут авторы,  чтобы не качать десятки мегабайт, как выдержать баланс между клиентом и сервером, почему модель открытых исходников здесь не всегда помогает, и почему бы не сделать, наконец, единое приложение, чтобы всем было хорошо?"
          ]
        }
      }
    ]
  },
  {
    "num": 174,
    "datetime": "2024-01-30T19:00:00+02:00",
    "season": 2024,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["izverev"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/Yad4BViAvsoaPKcW9"],
    "event": "https://www.eventbrite.com/e/devclubeu-174-tickets-800218865167",
    "speeches": [
      {
        "org": {"cam": [""], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["dei3zqTtPuQ"],
        "speakers": [
          {
            "names": {"*": "Evgeniya Slinko", "ru": "Евгения Слинько"},
            "titles": {"*": "Биохакер и генератор идей"},
            "url": "https://www.linkedin.com/in/slinko/",
            "image": "eslinko.jpg"
          },
          {
            "names": {"*": "Denis Vinogradov", "ru": "Денис Виноградов"},
            "titles": {"*": "Digital creator"},
            "url": "https://www.facebook.com/tapecut",
            "image": "dvinogradov.jpg"
          }
        ],
        "titles": {"ru": "Биохакинг, как способ оживить свой мозг и работоспособность"},
        "descr": {
          "ru": [
            "Что такое биохакинг мозга и как можно используя неинвазивные средства (такие как электричество и ток) и природные безопасные пищевые добавки, а также мягкий переход на более эффективное питание и в целом более здоровый образ жизни, повысить творческие возможности мозга необходимые для решения сложных задач и поиска инновационных решений. Также этот набор инструментов, помогает в целом повысить качество эмоционального фона и эмпатии, что так важно для плодотворной коллаборации в командах. Цель — донести до людей возможности решать проблемы выгорания, плохого сна и просто отсутствия сил на поиск решения проблемы безопасными инструментами"
          ]
        }
      },
      {
        "org": {"cam": [""], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": ["tests", "java", "experience"],
        "youtube": ["4Kh5yppP8zY"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Разработчик @ Selenide"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "titles": {"ru": "Как дебажить автотесты"},
        "descr": {
          "ru": [
            "Как решать типичные проблемы: включать дебаг логи, ставить брейкпойнты, читать треддампы, разруливать зависимости и т.п. Казалось бы, базовые вещи, но очень много народу всего этого не знает и не использует."
          ]
        }
      }
    ]
  },
  {
    "num": 173,
    "datetime": "2023-12-20T19:00:00+02:00",
    "season": 2024,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["jgoloborodko"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/S3qMBk2y3B6hg9jV8"],
    "event": "https://www.eventbrite.com/e/devclubeu-173-tickets-773937236107",
    "speeches": [
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": ["AI", "Machine learning"],
        "youtube": ["Olw3TABTOmw"],
        "speakers": [
          {
            "names": {"*": "Kirill Linnik", "ru": "Кирилл Линник"},
            "titles": {"*": "Principal Group Engineering Manager @ Microsoft"},
            "url": "https://www.linkedin.com/in/kirill-linnik/",
            "image": "klinnik.jpg"
          }
        ],
        "titles": {"ru": "ИИ — практический способ создания крутых вещей и понимания того, когда вам все еще нужен человек"},
        "descr": {
          "ru": [
            "В условиях, когда ИИ является отличительной чертой инноваций, мы понимаем, что проекты без него могут показаться тусклыми. Поэкспериментировав с передовыми инструментами, такими как ChatGPT и Midjourney, вы, вероятно, обдумываете оптимальный способ их беспрепятственного внедрения. Давайте проясним этот процесс, кульминацией которого станет практическое программирование с использованием мощных возможностей Azure OpenAI. Этот доклад обещает снабдить вас всем необходимым и доказать, что все, что вам нужно для внедрения ИИ в ваши предприятия, находится прямо здесь. И да, описание было создано с помощью ChatGPT. Давайте встретимся и посмотрим, насколько это соответствует реальности"
          ]
        }
      },
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": ["AI", "Machine learning"],
        "youtube": ["f6splQuiLkY"],
        "speakers": [
          {
            "names": {"*": "Artem Kurapov", "ru": "Артём Курапов"},
            "titles": {"*": "Founder @ Gratheon, Engineer @ Clarifai"},
            "url": "https://www.linkedin.com/in/kurapov/",
            "image": "akurapov2.jpg"
          }
        ],
        "titles": {"ru": "Пчеловодство и AI"},
        "descr": {
          "ru": [
            "Привет! Я люблю пчёл и AI, о чём и вам расскажу. Пилю стартап, ищу единомышленников. Расскажу о тех стеке - благо все opensource. А ещё буду рад послушать ваши советы."
          ]
        }
      },
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": ["offtopic"],
        "youtube": ["0XziRDFSzZk"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Разработчик @ Selenide"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "titles": {"ru": "Почему у нас 7 нот"},
        "descr": {
          "ru": [
            "Оффтопик на новый год. Будет и чутка музыки, и чутка программирования."
          ]
        },
        "top": {"season": 2024, "place": 1}
      }
    ]
  },
  {
    "num": 172,
    "datetime": "2023-11-28T19:00:00+02:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["izverev"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/Wjm1VZEgnQGuC4au6"],
    "event": "https://www.eventbrite.com/e/devclubeu-172-tickets-761074392997?aff=oddtdtcreator",
    "speeches": [
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["aJXU2Z7HS3Y"],
        "speakers": [
          {
            "names": {"*": "Erwin Weber", "ru": "Эрвин Вебер"},
            "titles": {"*": "PACTUM"},
            "url": "https://www.linkedin.com/in/webervin",
            "image": "eweber_2023.jpg"
          }
        ],
        "titles": {"ru": "SLSA 1.0: Полный билдец!"},
        "descr": {
          "ru": [
            "SLSA (Software Supply Chain Security Levels) - это новый подход к обеспечению безопасности ПО, который фокусируется на защите программного обеспечения на всех этапах его жизненного цикла. В версии 1.0 SLSA фокусируется на трех уровнях безопасности: L1, L2 и L3. Каждый уровень имеет свои собственные требования к безопасности, которые повышаются по мере увеличения уровня. Давайте обсудим в клубной обстановке какого мы до этого дошли и зачем это все."
          ]
        }
      },
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["79uu8kS9i8Q"],
        "speakers": [
          {
            "names": {"*": "Sergey Zubovich", "ru": "Сергей Зубович"},
            "titles": {"*": "CTO @ Bamboo Group"},
            "url": "https://www.linkedin.com/in/sergey-zubovich/",
            "image": "szubovich.jpg"
          }
        ],
        "titles": {"ru": "KPI-метрики для команд разработки"},
        "descr": {
          "ru": [
            "Когда-то задумывались ли вы о настоящей ценности KPI в вашей команде разработки? За десятилетия KPI прошли через много трансформаций, иногда кажется, что они очень субъективны. В своем выступлении я расскажу о практическом опыте команд разработки в Bamboo Group, прояснив истинное значение KPI и их эволюцию внутри компании. Мое выступление выходит за пределы чистой теории; это честный отчет о собственных испытаниях, победах и уроках команды на пути к улучшенной производительности и мотивации. Вы узнаете причины неудач определенных гипотез, подходы, которые сработали для разработчиков и сотрудников не в разработке, а также то, как Bamboo Group автоматизировала отчетность по ежемесячным KPI для синхронизации данных с другими отделами."
          ]
        }
      }
    ]
  },
  {
    "num": 171,
    "datetime": "2023-10-24T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": [""], "photo": ["lskorinskaya"]},
    "photo": ["https://photos.app.goo.gl/DfjvTu7DH9ADtWSg8"],
    "event": "https://www.eventbrite.com/e/devclubeu-171-tickets-737035010557",
    "speeches": [
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["W3YyjR_pWHI"],
        "speakers": [
          {
            "names": {"*": "Руставиль Нуркаев", "ru": "Руставиль Нуркаев"},
            "titles": {"*": "Swedbank"},
            "url": "https://www.linkedin.com/in/rustavil-nurkaev-a33495150/",
            "image": "rnurkaev.jpg"
          }
        ],
        "titles": {"ru": "Multi-module clean architecture"},
        "descr": {
          "ru": [
            "Руставиль поделится своим опытом применения Clean architecture для Java/Kotlin проектов используя Gradle multi-modules для определения архитектуры проекта."
          ]
        }
      },
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["ljDquLrqNEk"],
        "speakers": [
          {
            "names": {"*": "Yuri Karnilaev", "ru": "Юрий Карнилаев"},
            "titles": {"*": "Stiltsoft"},
            "url": "https://www.linkedin.com/in/karnilaev/",
            "image": "ykarnilaev.jpg"
          }
        ],
        "titles": {"ru": "Из разработчика на 1С в Fullstack разработчика для платформы Atlassian"},
        "descr": {
          "ru": [
            "Ранее я работал 10 лет разработчиком 1С и тимлидом команды разработчиков 1С, сейчас работаю Full stack разработчиком приложений для платформы Atlassian. В текущем докладе хочу поделиться опытом перехода и неочевидными моментами, которые при этом возникали."
          ]
        }
      }
    ]
  },
  {
    "num": 170,
    "datetime": "2023-09-28T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["asolntsev"], "photo": ["lskorinskaya", "azaugarova"]},
    "photo": ["https://photos.app.goo.gl/XfvU853x52SgFrJ96"],
    "event": "https://www.eventbrite.com/e/devclubeu-170-tickets-723403668847?aff=oddtdtcreator",
    "speeches": [
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": ["self-improvement"],
        "youtube": ["TvJwopF_QtY"],
        "speakers": [
          {
            "names": {"*": "Yana Malykhina", "ru": "Яна Малыхина"},
            "titles": {"*": "QA manager, Parallels"},
            "url": "",
            "image": "ymalykhina.jpg"
          }
        ],
        "titles": {"ru": "Таймтрекинг: польза и вред"},
        "descr": {
          "ru": [
            "Рассказ будет о том, как Яна 'изобрела' и использовала тайм-трекинг. По результатам опроса, проведённого среди коллег, любви к таймтрекингу не наблюдается. Давайте обсудим, какие ошибки менеджмента приводят к такому негативному отношению сотрудников и для чего на самом деле нужен тайм-трекинг."
          ]
        }
      },
      {
        "org": {"cam": ["eweber"], "edit": ["jgoloborodko"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["ZsEyCWu1S7c"],
        "speakers": [
          {
            "names": {"*": "Jevgeni Goloborodko", "ru": "Евгений Голобородько"},
            "titles": {"*": "Software Architect & Founder @ Digital Magic Ltd"},
            "url": "https://ee.linkedin.com/in/jevgeni-goloborodko-65a048a",
            "image": "jgoloborodko_2023.jpg"
          }
        ],
        "titles": {"ru": "Превосходство React в 2023"},
        "descr": {
          "ru": [
            "Мотивацией для выбора данной темы послужил доклад Антона Кекса о Svelte, в котором он представил React в негативном свете, называя его устаревшим и неудачным инструментом, который уступает Svelte во всех аспектах. В своем выступлении я намерен представить более объективную картину и рассказать о современном состоянии React, обосновав, почему он по-прежнему остается самым востребованным, актуальным и надежным. Я также планирую развенчать несколько мифов, о которых упомянул Антон, и пожурить его за использование своего авторитета для несения вкусовщины в массы. Svelte тоже немного достанется, потому что ответных сравнений не избежать"
          ]
        }
      }
    ]
  },
  {
    "num": 169,
    "datetime": "2023-08-29T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["izverev"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/NNraXYhjxAJkSUmd9"],
    "event": "https://www.eventbrite.com/e/",
    "speeches": [
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["mwBcsBpTTjo"],
        "speakers": [
          {
            "names": {"*": "Julia Jolkin", "ru": "Юлия Ёлкин"},
            "titles": {"*": "Fullstack IT Recruiter @ IT Talent"},
            "url": "https://www.linkedin.com/in/juliajolkin/",
            "image": "jjolkin.jpg"
          }
        ],
        "titles": {"ru": "Что, опять? Ретроградный Меркурий эстонского IT рынка труда. Update 2023."},
        "descr": {
          "ru": [
            "В 2022 - 2023 годах по рынку прошла волна серьезных сокращений, приток иностранных специалистов значительно сократился, список привычных стран-доноров изменился. Количество предложений работы сократилось. Рост зарплат замедлился, конкуренция возросла, но глобальный рынок стал более доступным. Давайте обсудим, как кризис 2022/2023 отличается от кризиса во время COVID 2020 года и чего ожидать далее. За последние 2 года я проконсультировала большое количество потерявших работу специалистов IT, с интересом анализируя, по какой причине их поиски новой работы затягиваются. Буду рада подсказать вам, что стоит предпринять, чтобы не бояться потерять работу и как без проблем и максимально быстро найти работу. "
          ]
        }
      },
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["-lK_37FdpSw"],
        "speakers": [
          {
            "names": {"*": "Mihhail Dunajev", "ru": "Михаил Дунаев"},
            "titles": {"*": "Co-founder @ prfct.ee"},
            "url": "https://www.linkedin.com/in/mikhail-dunaev-ab6b6a68",
            "image": "mdunajev.jpg"
          }
        ],
        "titles": {"ru": "Hейроиллюстрации и Промпт-инжиниринг"},
        "descr": {
          "ru": [
            "Генерация эффектных иллюстраций и фотографий без таланта и опыта. Midjourney, DALL·E 2, Stable Diffusion, NSFW."
          ]
        }
      }
    ]
  },
  {
    "num": 168,
    "datetime": "2023-07-25T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["izverev"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/8sgdgmc9ru1hmzPU6"],
    "event": "https://www.eventbrite.com/e/devclubeu-168-tickets-677959353677",
    "speeches": [
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["aarhipov"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["aHrVdN1nId0"],
        "speakers": [
          {
            "names": {"*": "Andrey Mukamolov", "ru": "Андрей Мукамолов"},
            "titles": {"*": "Embedded Developer @ BambooApps"},
            "url": "https://www.linkedin.com/in/andrei-mukamolau/",
            "image": "amukamolov.jpg"
          }
        ],
        "titles": {"ru": "Автомобиль в твоём Arduino"},
        "descr": {
          "ru": [
            "Современные машины напичканы электроникой и эту электронику надо программировать. А если надо программировать то надо и тестировать. Есть придумка, как тестировать приложения для автомобилей без автомобилей. Что будет в докладе: Qt, FreeRTOS, CAN, Arduino"
          ]
        }
      },
      {
        "org": {"cam": ["lskorinskaya"], "edit": ["aarhipov"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["4sKpx2F30r8"],
        "speakers": [
          {
            "names": {"*": "Anton Arhipov", "ru": "Антон Архипов"},
            "titles": {"*": "Developer Advocate @ JetBrains"},
            "url": "https://www.linkedin.com/in/antonarhipov/",
            "image": "aarhipov.jpg"
          }
        ],
        "titles": {"ru": "Полезняшки отладчика в IntelliJ IDEA"},
        "descr": {
          "ru": [
            "Демонстрация всевозможных трюков которые можно сделать для отладки Java-приложений: нюансы HotSwap-a, лямбда-брейкпойнты, отслеживание цепочек вызовов Stream API, настройки точек останова, и ещё много чего."
          ]
        },
        "top": {"season": 2023, "place": 3}
      }
    ]
  },
  {
    "num": 167,
    "datetime": "2023-06-27T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["aarhipov"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/WWna6sLnFBJAYgaLA"],
    "event": "https://www.eventbrite.com/e/devclubeu-167-tickets-660291839667",
    "speeches": [
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["uweOD-OdZVo"],
        "speakers": [
          {
            "names": {"*": "Ivan Ponomarjov", "ru": "Иван Пономарёв"},
            "titles": {"*": "Staff Engineer @ Synthesized.io"},
            "url": "https://inponomarev.ru",
            "image": "iponomarjov.jpg"
          }
        ],
        "titles": {"ru": "Celesta: создание бизнес-логики в Java-экосистеме"},
        "descr": {
          "ru": [
            "Открытый проект Celesta, разрабатываемый на GitHub, невелик, но уже набрал неплохое портфолио из успешных внедрений. Я расскажу о некоторых идеях, делающих его непохожим на другие системы такого класса: как была достигнута простота миграции структуры базы данных через идемпотентный DDL, возможность прозрачного тестирования процедур, изменяющих данные в базе, и т. п."
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["XPV5Jt7UdMk"],
        "speakers": [
          {
            "names": {"*": "Александр Малиновский", "ru": "Александр Малиновский"},
            "titles": {"*": "Technical Lead at Twilio"},
            "url": "https://www.linkedin.com/in/alex-malinovskiy-183854110/",
            "image": "amalinovsky.jpg"
          }
        ],
        "titles": {"ru": "Эволюция микросервисной архитектуры Twilio Conversations API"},
        "descr": {
          "ru": [
            "Поговорим об эволюции микросервисной архитектуры продукта Twilio под названием Conversations API. Мы коснемся основных причин и драйверов изменения архитектуры, подходов, которые мы использовали для разделения сервисов, а также ситуаций, в которых мы решили объединить несколько сервисов в один. Также рассмотрим конечный результат новой архитектуры, как она решает поставленные задачи и как ее можно использовать для реализации новых функций продукта."
          ]
        }
      }
    ]
  },
  {
    "num": 166,
    "datetime": "2023-05-31T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["izverev"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/Xk5PcxakhP3Pu9qv6"],
    "event": "https://www.eventbrite.com/e/637528132807",
    "speeches": [
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["8OnDLyG2XMQ"],
        "speakers": [
          {
            "names": {"*": "Ilia Chernetskii", "ru": "Илья Чернецкий"},
            "titles": {"*": "JavaScript Engineer @ Evolution"},
            "url": "https://www.linkedin.com/in/ichernetskii/",
            "image": "ichernetskii.jpg"
          }
        ],
        "titles": {"ru": "Оптимизация в JavaScript: решение проблем с производительностью в React и за его пределами"},
        "descr": {
          "ru": [
            "Существует миллион способов написать медленный JavaScript код. Рассмотрим на практике самые популярные из них! Изучим инструменты поиска проблем с производительностью и способы их решения на примере медленной работы React приложения. Коснёмся также проблем менеджеров состояния и отрисовки в браузере."
          ]
        }
      },
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["iXIgGIBAb_Y"],
        "speakers": [
          {
            "names": {"*": "Ivan Ponomarjov", "ru": "Иван Пономарёв"},
            "titles": {"*": "Staff Engineer @ Synthesized.io"},
            "url": "https://inponomarev.ru",
            "image": "iponomarjov.jpg"
          }
        ],
        "titles": {"ru": "Как генерировать данные для интеграционных тестов"},
        "descr": {
          "ru": [
            "В 2017 году TestContainers навсегда изменили то, как мы работаем с интеграционными тестами: теперь мы выполняем их повсюду, где есть Docker. Настало время сделать ещё один шаг вперёд и упростить интеграционные тесты, связанные с реляционными БД. От фабрик тестовых данных и инициализационных скриптов можно отказаться, заменив их синтезированными данными. А чем тесты короче и проще в написании, тем больше мы их можем написать, и повысить качество."
          ]
        }
      }
    ]
  },
  {
    "num": 165,
    "datetime": "2023-04-25T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["aarhipov"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/TrUPp6nQMFYXybpY9"],
    "event": "https://www.eventbrite.com/e/165-tickets-618144024417",
    "speeches": [
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["tBkf_cEGpzE"],
        "speakers": [
          {
            "names": {"*": "Ilja Zverev", "ru": "Илья Зверев"},
            "titles": {"*": "Владелец свича / Switch owner"},
            "url": "https://www.linkedin.com/in/ilja-zverev/",
            "image": "izverev.jpg"
          }
        ],
        "titles": {"ru": "Игры как самовыражение, для каждого"},
        "descr": {
          "ru": [
            "Мы привыкли, что игры все большие, с графикой и музыкой, требуют большой команды и многих месяцев работы. При этом игры — это искусство, сродни картинам, фильмам, книгам. Но картину, фильм или книгу может сделать любой, у кого есть инструменты, даже в отсутствие умений. Можно ли сделать игру, не умея программировать или моделировать? Конечно! Я покажу, где брать инструменты, и сделаю пару игр сразу во время рассказа."
          ]
        }
      },
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["TsnqS2iu5Xw"],
        "speakers": [
          {
            "names": {"*": "Григорий Парфенов", "ru": "Григорий Парфенов"},
            "titles": {"*": "Эксперт департамента транспорта"},
            "url": "",
            "image": "gparfjonov.png"
          }
        ],
        "titles": {"ru": "От Хаоса к удобству: Искусство и наука Проектирования транспорта общего пользования"},
        "descr": {
          "ru": [
            "Вы когда-нибудь задавались вопросом, как проектируются общественные транспортные системы, чтобы они были эффективными, удобными и надежными? В этой презентации мы исследуем сложное взаимодействие между градостроительством, технологией и человеческим поведением, которое лежит в основе создания безупречного транспортного опыта для тысяч пассажиров каждый день. Бонус тема: разбор на примере строящегося трамвая в порт."
          ]
        },
        "top": {"season": 2023, "place": 2}
      }
    ]
  },
  {
    "num": 164,
    "datetime": "2023-03-28T19:00:00+03:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["lskorinskaya"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/q3DoLaMtW3xvMH3dA"],
    "event": "https://www.eventbrite.com/e/devclubeu164-tickets-591302540817",
    "speeches": [
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["evDn0AvTDSQ"],
        "speakers": [
          {
            "names": {"*": "Michael Raer", "ru": "Михаил Раер"},
            "titles": {"*": "Principal Software Engineering Manager @ Microsoft"},
            "url": "https://www.linkedin.com/in/mraer/",
            "image": "mraer.jpg"
          }
        ],
        "titles": {"ru": "Testing in Production"},
        "descr": {
          "ru": [
            "Достаточно ли отдельных энвайрментов, или нужно тестировать в продакшене, и как это делать безопасно"
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["R6M7uiKSfvo"],
        "speakers": [
          {
            "names": {"*": "Eugene Mirotin", "ru": "Евгений Миротин"},
            "titles": {"*": "Lead Software Engineer @ Moon Rocket"},
            "url": "https://www.linkedin.com/in/guard/",
            "image": "emirotin.jpeg"
          }
        ],
        "titles": {"ru": "Эволюция JS"},
        "descr": {
          "ru": [
            "Как возник и развивался язык. Ошибки дизайна. Новый процесс стандартизации. Актуальные тренды и значимые изменения в языке."
          ]
        }
      }
    ]
  },
  {
    "num": 163,
    "datetime": "2023-02-28T19:00:00+02:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["izverev"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/JJFrk2t7RPZqQTcQ9"],
    "event": "https://www.eventbrite.com/e/163-tickets-549578793967",
    "speeches": [
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["nFgZWz6Cmkk"],
        "speakers": [
          {
            "names": {"*": "Vladimir Ivanov", "ru": "Владимир Иванов"},
            "titles": {"*": "Senior Engineering Manager @ Bolt"},
            "url": "https://vvsevolodovich.dev/",
            "image": "vivanov.png"
          }
        ],
        "titles": {"ru": "Архитектор ПО - роль или должность?"},
        "descr": {
          "ru": [
            "В некоторых компаниях вы встретите формальные должности Архитекторов ПО, Архитекторов решений или Архитекторов Данных. В других нет архитекторов - зато там часто можно найти Стафф или Принципал инженеров. Мы поговорим, что за обязанностей у архитекторов и нужна ли такая должность в современной технологической компании."
          ]
        }
      },
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["fCYu_xjg_qc"],
        "speakers": [
          {
            "names": {"*": "Oleg Shelajev", "ru": "Олег Шелаев"},
            "titles": {"*": "Developer Advocate @ AtomicJar"},
            "url": "linkedin.com/in/shelajev",
            "image": "oshelaev.jpg"
          }
        ],
        "titles": {"ru": "Mastering Testcontainers for better integration tests"},
        "descr": {
          "ru": [
            "Testcontainers — отличный способ создать надежную тестовую среду. Эта библиотека позволяет создавать программируемые одноразовые контейнеры которые отлично подходят для интеграционных тестов. Мы подробно рассмотрим Testcontainers и узнаем как лучше всего отлаживать то, что происходит в контейнере, как строить более сложные топологии сервисов, и как можно использовать Testcontainers для локальной разработки в дополнение к интеграционным тестам."
          ]
        }
      }
    ]
  },
  {
    "num": 162,
    "datetime": "2023-01-31T19:00:00+02:00",
    "season": 2023,
    "place": {
      "name": "The von Stackelberg Hotel Tallinn", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "addr": "Toompuiestee 23, Tallinn 10137", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["izverev"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/DdyVSFeUXbUcc2hQ6"],
    "event": "https://www.eventbrite.com/e/devclubeu-162-tickets-517364038767",
    "speeches": [
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["f9DvfW48oBU"],
        "speakers": [
          {
            "names": {"*": "Sergey Kibish", "ru": "Сергей Кибиш"},
            "titles": {"*": "Senior Solutions Architect @ C.T.Co"},
            "url": "https://sergeykibish.com/",
            "image": "skibish.jpg"
          }
        ],
        "titles": {"ru": "Кто такой этот ваш Фулл-Стек разработчик?"},
        "descr": {
          "ru": [
            "В мире разработки очень много разных специализаций. Те кто сзади (backend), спереди (frontend), управляющие (managers) и другие. Более-менее им всем можно дать определение которое опишет, чем же они занимаются. Но есть один вид разработчиков, которых все хотят, но с ними не так всё просто — это Фулл-Стек. Кто они? Чем они занимаются? Зачем они? Это элита или просто тот в кого всё кидают и он делает? Давайте попробуем разобраться и наконец поймём кто это."
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["Ni3QSus__Tk"],
        "speakers": [
          {
            "names": {"*": "Sergey Grinev", "ru": "Сергей Гринев"},
            "titles": {"*": "Managing Director Azul Estonia"},
            "url": "https://www.linkedin.com/in/sergeigrinev/",
            "image": "sgrinev.jpg"
          }
        ],
        "titles": {"ru": "Brewing OpenJDK: what's behind your morning Java"},
        "descr": {
          "ru": [
            "Язык программирования Java когда-то был связан только с компанией Sun Microsystems, однако сейчас существует множество компаний, которые занимаются разработкой open-source продукта OpenJDK. Многие из этих компаний выпускают собственные билды OpenJDK. В данном докладе с помощью компании Azul я расскажу, почему важно наличие разнообразие вендоров OpenJDK, в чём тут коммерческая выгода, кто может эти заниматься, и зачем для выпуска билдов OpenJDK мы гоняем миллионы тестов в день"
          ]
        }
      }
    ]
  },
  {
    "num": 161,
    "datetime": "2022-12-15T19:00:00+02:00",
    "season": 2023,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/aLe6uKd3Yr8Fx3S37"],
    "event": "https://www.eventbrite.com/e/devclubeu-161-tickets-483696839267",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["-c8iQNe7yRE"],
        "speakers": [
          {
            "names": {"*": "Ernest Bondarenko", "ru": "Эрнест Бондаренко"},
            "titles": {"*": "Founder @ Food Filter"},
            "url": "https://www.linkedin.com/in/ernest-bondarenko-a8ab12120",
            "image": "ebondarenko.jpg"
          }
        ],
        "presentations": ["20221215_ebondarenko_foodfilter.pdf"],
        "titles": {"ru": "Food Filter: стартап как челлендж"},
        "descr": {
          "ru": [
            "(25-30 минут) О том, как мне не везло и как я лажал в попытках создать мобильное приложение."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["Iu5xOWq2WNA"],
        "speakers": [
          {
            "names": {"*": "Ivan Ponomarjov", "ru": "Иван Пономарёв"},
            "titles": {"*": "Staff Engineer @ Synthesized.io / Преподаватель @ Eesti Ettevõtluskõrgkool Mainor"},
            "url": "https://inponomarev.ru",
            "image": "iponomarjov.jpg"
          }
        ],
        "titles": {"ru": "Презентация как код"},
        "descr": {
          "ru": [
            "(15-20 минут) В коротком докладе я попытаюсь убедить слушателей, что программировать ваши презентации гораздо удобнее, быстрее и эффективнее, чем рисовать их в Powerpoint и иных WYSIWYG-редакторах."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["4F6Qrvk5XTQ"],
        "speakers": [
          {
            "names": {"*": "Jevgeni Goloborodko", "ru": "Евгений Голобородько"},
            "titles": {"*": "Software Architect & Founder @ Digital Magic Ltd"},
            "url": "https://ee.linkedin.com/in/jevgeni-goloborodko-65a048a",
            "image": "jgoloborodko_2020.jpg"
          }
        ],
        "presentations": ["20221215_jgoloborodko_quality.pdf"],
        "titles": {"ru": "Рукожопство как образ жизни"},
        "descr": {
          "ru": [
            "(15-20 минут) Краткий рассказ о том, куда делось качество в софтверной индустрии или почему Скайнет нас не победит."
          ]
        },
        "top": {"season": 2023, "place": 1}
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["jyPQzygMpoo"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Software developer @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "presentations": ["20221215_asolntsev_pr.pdf"],
        "titles": {"ru": "Думай как пиарщик"},
        "descr": {
          "ru": [
            "(15-20 минут) Пиар - это давно не ругательное слово. Пиар - это обязательное умение для современного разработчика."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["9FMiekLfvOw"],
        "speakers": [
          {
            "names": {"*": "Ilja Zverev", "ru": "Илья Зверев"},
            "url": "http://ilya.zverev.info/",
            "titles": {"ru": "Редактор блога про OpenStreetMap"},
            "image": "izverev.jpg"
          }
        ],
        "presentations": ["20221215_izverev_licenses.pdf"],
        "titles": {"ru": "Открывай как боженька"},
        "descr": {
          "ru": [
            "(15-20 минут) Нехватка или избыток пользователей — не единственная проблема проектов с открытым исходным кодом. Трудности начинаются прямо с самого начала, с публикации. Открытые лицензии — это боль. Накосячить можно на каждом шаге, и из опенсорца проект превратится в личный бесполезный скриптик. Я не юрист, но опишу свой опыт в использовании открытых лицензий для данных и кода с точек зрения разработчика и компании."
          ]
        }
      }
    ]
  },
  {
    "num": 160,
    "datetime": "2022-11-17T19:00:00+02:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["astalnuhhin"]},
    "photo": ["https://photos.app.goo.gl/qEXvsZjKQNCQun8b7"],
    "event": "https://www.eventbrite.com/e/devclubeu-160-tickets-464919856807",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["Smt2mwLsSKs"],
        "speakers": [
          {
            "names": {"*": "Vyacheslav Tyutyunkov", "ru": "Вячеслав Тютюньков"},
            "titles": {"*": "Backend Tech Lead @ Wrike"},
            "url": "https://www.linkedin.com/in/tyutyunkovve",
            "image": "vtyutyunkov.jpg"
          }
        ],
        "presentations": ["20221117_vtyutyunkov_microservices.pdf"],
        "titles": {"ru": "К микросервисам через reverse engineering и кодогенерацию", "*": "Through reverse engineering and code generation to microservices"},
        "descr": {
          "ru": [
            "Разрабатывая информационную систему с нуля, мы можем выбрать практически любой из множества вариантов как технологий, так и архитектур в целом, в том числе принципов взаимодействия частей системы. Но что же делать, если система уже есть и у неё довольно богатая история? Как большую энтерпрайз систему, исторически развивающуюся в режиме «монолита», разделить на микросервисы и организовать взаимодействие между ними? В большей степени проблема тут даже не столько в выборе архитектуры и построении взаимодействия, сколько в сложности поддержать имеющийся и постоянно изменяющийся под продуктовые нужны код «монолита», параллельно внедряя новые принципы и подходы. В докладе я расскажу как мы в Wrike, используя reverse engineering и немного «кодогенерации», реализовали первые шаги по выделению отдельных микросервисов и запустили первый «почти настоящий» BFF сервис в рамках нашего монолита."
          ],
          "*": [
            "When developing an information system from scratch, we can choose almost any technology and architecture option in general, including the principle of interaction between system parts. But what if we already have a system with a large monolithic code base? How can such a large enterprise system be divided into microservices properly organized to interact with each other?",
            "The main difficulty often lies in the fact that it is necessary to simultaneously maintain the existing monolithic code base and introduce new principles and approaches. In this article, I will tell you how we used reverse engineering and a dash of code generation to launch the first “almost real” BFF service as part of Wrike's monolithic system by taking first steps in isolating individual microservices."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["91dQuZdwPF0"],
        "speakers": [
          {
            "names": {"*": "Yan Khonski", "ru": "Ян Хонский"},
            "titles": {"*": "Backend software engineer @ Wrike"},
            "url": "https://www.linkedin.com/in/yan-khonski",
            "image": "ykhonski.jpg"
          }
        ],
        "presentations": ["20221117_yhonski_db.pdf"],
        "titles": {"ru": "Блокировки и многоверсионность данных в PostgreSQL", "*": "Locks and versioning in the database transactions"},
        "descr": {
          "ru": [
            "Как достичь различных уровней изоляции транзакций в базе данных? Какую выгоду нам принесёт тот или иной уровень изоляции, и чем мы за это пожертвуем? Как позволить другим клиентам читать данные, когда их кто-то изменяет в этот же момент?",
            "Уровни изоляции транзакций определялись на основе запрета для разных уровней. Блокировка и многоверсионность данных позволяли клиентам одновременно работать с данными, при этом их доступ был изолирован.",
            "Каждый из этих подходов - балансирование между пропускной способностью и согласованностью (consistency). Понимание обоих подходов поможет вам принять решение по масштабированию вашей базы данных.",
            "Поиграемся на примерах в PostgreSQL. Посмотрим, как в PostgreSQL реализована изоляция транзакций и проверяется версия строки. Рассмотрим последствия многоверсионности данных и очистку базы от ненужных (удалённых) записей (VACUUM)."
          ],
          "*": [
            "How transaction isolation is achieved in the databases? What trade-offs should we consider? Can we allow clients to read data, while someone is modifying the same data at the same time?",
            "Transaction isolation levels were defined based on phenomena which are prohibited for different levels. Locking and versioning are used to isolate concurrent access to the same data by multiple clients. Each of these approaches will trade off with throughput and consistency. Understanding of both approaches will help you to make decisions when it comes to scaling your database.",
            "We will play with PostgreSQL to see different phenomena for different transaction isolation level. We will try to understand how PostgreSQL implemented transaction isolation. We will look under the hood how the row version is checked. We will see the implications of versioning and how to deal with them (VACUUM)."
          ]
        }
      }
    ]
  },
  {
    "num": 159,
    "datetime": "2022-10-27T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/LSkRDM4bZuQULxhq8"],
    "event": "https://www.eventbrite.com/e/devclubeu-159-tickets-445056625347",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["JKxzELiwO_o"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Software developer @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "titles": {"ru": "WTF Thread Pools"},
        "descr": {
          "ru": [
            "Что в джаве легко - это многопоточном программирование.",
            "Что в джаве ещё легче - это многопоточно накосячить.",
            "Рассмотрим типичные ошибки и реальный кейсы, приводившие к подвисанию продакшина.",
            "И выясним, правда ли корутины котлина и новые виртуальные потоки из джавы 19 спасают ситуацию?",
            "Всё как мы любим!"
          ]
        },
        "top": {"season": 2022, "place": 1}
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["VtX7IpCHMS8"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Software developer @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "titles": {"ru": "Как законтрибьютить в опенсорс, чтобы не сгореть со стыда"},
        "descr": {
          "ru": [
            "Мы все используем опенсорсные продукты. Но очень мало тех, кто решается туда законтрибьютить. Помимо банальной лени, есть и более серьёзные причины:",
            "* Сложность/корявость самих проектов. С чего начать? Где лежат исходники? Как их скомпилировать? Почему всё красное?",
            "* Боязнь показать свой код миру. А вдруг засмеют? А вдруг мой код покажется всем корявым?",
            "Я покажу, как справиться с техническими и психологическими трудностями. Прямо во время доклада сделаем изменения в каких-нибудь опенсорсных проектах.",
            "Сделаем Сову центром принятия опенсорсных решений!"
          ]
        },
        "top": {"season": 2022, "place": 1}
      }
    ]
  },
  {
    "num": 158,
    "datetime": "2022-09-29T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/AvB9YSv2V7p2NhnP7"],
    "event": "https://www.eventbrite.com/e/devclubeu-158-tickets-425179231527",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["aPEU-HaNcJE"],
        "speakers": [
          {
            "names": {"*": "Aleksei Shulga", "ru": "Алексей Шульга"},
            "titles": {"*": "Game Director @ Into The Radius VR"},
            "url": "https://www.linkedin.com/in/aleksei-shulga-976b03100",
            "image": "ashulga.png"
          }
        ],
        "titles": {"ru": "Разработка игр для VR"},
        "presentations": ["20220929_ashulga_vr.pdf"],
        "descr": {
          "ru": [
            "В 2018 году Алексеем началась разработка VR-игры. Из хобби деятельность переросла в полноценный VR-проект с большой командой и далёкими планами. Речь пойдёт обо всём этом, а также технологиях, проблемах и особенностях разработки VR-игр."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["K_eQUcLPB58"],
        "speakers": [
          {
            "names": {"*": "Anton Keks", "ru": "Антон Кекс"},
            "titles": {"*": "Developer @ Codeborne"},
            "url": "https://www.linkedin.com/in/antonkeks",
            "image": "akeks.jpg"
          }
        ],
        "titles": {"ru": "Klite — как Kotlin позволяет создавать небольшие, легкие, неблокирующие серверные приложения с нулевыми зависимостями"},
        "descr": {
          "ru": [
            "Попробовав Kotlin много лет назад, Антон быстро понял, что можно сделать гораздо больше меньшим количеством кода. Kotlin обеспечивает правильный баланс языковых возможностей и сложности, так что многого можно добиться вообще без каких-либо фреймворков или библиотек. Однако из-за хорошего взаимодействия с Java люди по-прежнему используют множество серверных фреймворков и библиотек, написанных на Java для Java. Они содержат сложный код, множество зависимостей с уязвимостями (см. log4j) и другие ненужные навороты. Более того, система типов Kotlin сильнее, чем в Java, и поэтому многие современные шаблоны, которые используют Java-разработчики, кажутся ненужными при использовании Kotlin.",
            "Итак, в 2021 году появился Klite, чтобы доказать, что удобная, производительная и неблокирующая серверная структура также может быть очень маленькой и простой в написании и отладке. Klite расширяемый — то есть фреймворк никогда не будет мешать вам — вы можете легко изменить всё, что он делает. Основные вещи выполняются правильно по умолчанию: ведение журнала и даже обработка транзакций для асинхронных запросов с использованием сопрограмм. И никаких зависимостей!"
          ]
        },
        "top": {"season": 2022, "place": 4}
      }
    ]
  },
  {
    "num": 157,
    "datetime": "2022-08-25T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/7JJv6B5842CUJDjL6"],
    "event": "https://www.eventbrite.com/e/devclubeu-157-tickets-404723247127",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["01J5coi5jew"],
        "speakers": [
          {
            "names": {"*": "Grigori Parfjonov", "ru": "Григорий Парфенов"},
            "titles": {"ru": "Инженер транспортного планирования @ Таллинн"},
            "url": "https://www.facebook.com/grigori.parfjonov",
            "image": "gparfjonov.png"
          }
        ],
        "titles": {"ru": "Транспортное планирование простыми словами с реальными примерами"},
        "presentations": ["20220825_gparfjonov_city.pdf"],
        "descr": {
          "ru": [
            "Чем уникален Таллинн, и почему он никогда не станет Амстердамом? Зачем инженер лезет в \"чужой карман\"? Как математика спасёт город? Попробуем ответить на эти вопросы, а также рассмотрим транспортное планирование как инструмент социальной инженерии."
          ]
        },
        "top": {"season": 2022, "place": 5}
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["gfJuDsALJiU"],
        "speakers": [
          {
            "names": {"*": "Hanna Katargina", "ru": "Ханна Катаргина"},
            "titles": {"*": "Vulnerability Process Manager @ Swedbank"},
            "url": "https://www.facebook.com/juzci",
            "image": "hkatargina.png"
          }
        ],
        "titles": {"ru": "Мэйнфреймы и их удивительный мир"},
        "presentations": ["20220825_hkatargina_mainframes.pdf"],
        "descr": {
          "ru": [
            "Нет, не устарели. Нет, не бесполезны. Нет, не легаси. Нет, не только кобол и терминал. Нет, не обойдетесь. Об этом и поговорим."
          ]
        }
      }
    ]
  },
  {
    "num": 156,
    "datetime": "2022-07-21T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/V1nSt8HWPYVbXMa98"],
    "event": "https://www.eventbrite.com/e/devclubeu-156-tickets-384161857457",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["NVxz_2KksT0"],
        "speakers": [
          {
            "names": {"*": "Ilya Ber", "ru": "Илья Бер"},
            "titles": {"*": "Founder @ Provereno.Media", "ru": "Основатель @ Проверено.Медиа"},
            "url": "https://www.facebook.com/ilya.ber.5",
            "image": "iber.png"
          }
        ],
        "titles": {"ru": "Проверено.Медиа: создание независимого интернет-СМИ в России с нуля"},
        "descr": {
          "ru": [
            "Создание независимого интернет-СМИ в России с нуля, без инвестиций с географически распределённой командой в условиях высоких политических рисков."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["EUJjKGlWuOk"],
        "speakers": [
          {
            "names": {"*": "Andrei Arlou", "ru": "Андрей Орлов"},
            "titles": {"*": "Software Engineer @ Stiltsoft"},
            "url": "https://www.linkedin.com/in/andrey-orlov-7a2167120",
            "image": "aarlou.png"
          }
        ],
        "titles": {"ru": "Поиск и устранение security-уязвимостей в веб-приложениях на реальных примерах"},
        "presentations": ["20220721_aarlou_security.pdf"],
        "descr": {
          "ru": [
            "Доклад о накопленном опыте поиска и устранения security-уязвимостей в веб-приложениях на примере продуктов компании Stiltsoft",
            "Разберём XSS, проблемы авторизации/аутентификации, проблемы кросстенантного доступа к данным - как искать, как исправлять, как избежать проблем в будущем. Покажу security-уязвимости, которые мы нашли в своих продуктах. Опишу командные практики и подходы (STRIDE, Bug Bounty, RLS и т.п.), которые позволяют эффективнее решать такие проблемы, а также расскажу про наш опыт их применения."
          ]
        },
        "top": {"season": 2022, "place": 2}
      }
    ]
  },
  {
    "num": 155,
    "datetime": "2022-06-30T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["astalnuhhin"]},
    "photo": ["https://photos.app.goo.gl/SpivCFsRVc8Pv9Gx5"],
    "event": "https://www.eventbrite.com/e/devclubeu-155-tickets-372203670197",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["eyKiyo-uyJ4"],
        "speakers": [
          {
            "names": {"*": "Anton Arhipov", "ru": "Антон Архипов"},
            "titles": {"*": "Developer Advocate @ JetBrains"},
            "url": "https://ee.linkedin.com/in/antonarhipov",
            "image": "aarhipov.jpg"
          }
        ],
        "titles": {"ru": "«Kotlin DSL - это фикция!» или всё зависит от контекста"},
        "descr": {
          "ru": [
            "Немного поговорим об основных элементах для создания т.н. DSL-ей в Kotlin и рассмотрим новую эксперементальную возможность, context receivers, которая, возможно, улучшит возможности Kotlin в этой области."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["p94r0fFEmWc"],
        "speakers": [
          {
            "names": {"*": "Ervin Weber", "ru": "Эрвин Вебер"},
            "titles": {"*": "Infrastructure Lead @ Pactum AI"},
            "url": "https://ee.linkedin.com/in/webervin",
            "image": "eweber.jpg"
          }
        ],
        "titles": {"*": "Terraform. But why? But how?"},
        "presentations": ["20220630_eweber_terraform.pdf"],
        "descr": {
          "ru": [
            "Почему мне нечем заменить terraform, что в нём нового, и зачем это всё. Вместе посмотрим пару неочевидных решений, которые пришлось наложить в продакшн."
          ]
        }
      }
    ]
  },
  {
    "num": 154,
    "datetime": "2022-05-19T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["astalnuhhin"]},
    "photo": ["https://photos.app.goo.gl/TsRZS5xN6iWdn2sv5"],
    "event": "https://www.eventbrite.com/e/devclubeu-154-tickets-338815956647",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["ZeCpNFL5EpA"],
        "speakers": [
          {
            "names": {"*": "Aleksander Solts", "ru": "Александр Сольц"},
            "url": "https://www.linkedin.com/in/aleksander-solts-86641b4",
            "titles": {"*": "Business Analyst @ Nortal"},
            "image": "asolts.png"
          }
        ],
        "titles": {"ru": "Аналитик для девелоперов — друг, враг или как"},
        "descr": {
          "ru": [
            "Александр Сольц (Нортал) расскажет о роли бизнес-аналитика, взаимодействии внутри команд, работающих в разных странах и опыте проектов в экзотических местах."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["vmPZ0ZT7AEU"],
        "speakers": [
          {
            "names": {"*": "Ilja Zverev", "ru": "Илья Зверев"},
            "url": "http://ilya.zverev.info/",
            "titles": {"ru": "Редактор блога про OpenStreetMap"},
            "image": "izverev.jpg"
          }
        ],
        "titles": {"ru": "Что и как OpenStreetMap"},
        "presentations": ["20220519_izverev_osm.pdf"],
        "descr": {
          "ru": [
            "Проект открытых карт OpenStreetMap не раз упоминали в других докладах DevClub — но мало кто знает, что это такое на самом деле. Рисунки? Карты? Геоданные? Гора XML? Первое правило OSM — ты рассказываешь об OSM налево и направо. Поэтому давайте узнаем, чем этот проект приколен, почему даже после 11 лет в нём нескучно участвовать, и как забрать карты к себе."
          ]
        }
      }
    ]
  },
  {
    "num": 153,
    "datetime": "2022-04-21T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/sY11GtHK2Qe3Gs1F9"],
    "event": "https://www.eventbrite.com/e/devclubeu-153-tickets-321132675477",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["9Y32VbdsAkA"],
        "speakers": [
          {
            "names": {"*": "Eugene Mirotin", "ru": "Евгений Миротин"},
            "titles": {"*": "Principal Full Stack Developer @ Cosuno"},
            "url": "https://www.linkedin.com/in/guard",
            "image": "emirotin.jpeg"
          }
        ],
        "titles": {"*": "Recruiting and Tech interviews: the good, the bad and the ugly"},
        "descr": {
          "ru": [
            "Что не так с наймом и техническими интервью во многих компаниях, и как можно сделать лучше."
          ]
        },
        "top": {"season": 2022, "place": 3}
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["OKLA9xwrJ7M"],
        "speakers": [
          {
            "names": {"*": "Andrei Skopenko", "ru": "Андрей Скопенко"},
            "url": "https://www.linkedin.com/in/andrei-skopenko-78284379",
            "titles": {"*": "Vice President of Infrastructure & Data Engineering"},
            "image": "askopenko.jpg"
          }
        ],
        "titles": {"*": "Hire or die!"},
        "descr": {
          "ru": [
            "Андрей не является хедхантером или работником HR, и последние 4 года он сам ищет людей в свою команду. В докладе Андрей поделится своим опытом поиска и найма работников на эстонском рынке, а также даст советы, как это сделать с минимальными затратами по времени без агентств по трудоустройству."
          ]
        }
      }
    ]
  },
  {
    "num": 152,
    "datetime": "2022-03-31T19:00:00+03:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/C5JSk4FfBknSyytB9"],
    "event": "https://www.eventbrite.com/e/devclubeu-152-tickets-305423819867",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["QGQPPOj-fV0"],
        "speakers": [
          {
            "names": {"*": "Ivan Ponomarjov", "ru": "Иван Пономарёв"},
            "titles": {"*": "Staff Engineer @ Synthesized.io / Преподаватель @ Eesti Ettevõtluskõrgkool Mainor"},
            "url": "https://inponomarev.ru",
            "image": "iponomarjov.jpg"
          }
        ],
        "titles": {"*": "Mocks vs. Testcontainers"},
        "descr": {
          "ru": [
            "Нужны ли вообще моки, когда есть TestContainers? Если мок не работает так же, как \"настоящая\" система, в чём его польза? Можно ли избежать flakyness в интеграционных тестах? Правда ли, что TestContainers решат все проблемы интеграционных тестов и пора ли списывать со счетов базу данных H2? Доклад для разработчиков, создающих интеграционные тесты для программ, работающих с базами данных, кэшами, системами потоковой и пакетной обработки данных."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": ["java", "plugin", "selenide", "mockito", "liquibase", "junit"],
        "youtube": ["iIIsZRHya-w"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
            "titles": {"*": "Software developer @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "titles": {"ru": "Плагины в Java-библиотеках"},
        "descr": {
          "ru": [
            "Как позволить пользователям кастомизировать поведение твой библиотеки? Можно намонстрячить кучу настроек, можно вынести их в properties или YAML файлы. А можно сделать систему расширений (плагинов). Когда я попытался сделать плагины в Selenide, я обнаружил, что материалов по этой теме особо-то и нет. Как реализовать плагины? Как сделать их легко настраиваемыми? Какие есть хорошие практики и типичные грабли? Обо всём об этом мы и поговорим с примерами из Selenide, Mockito, LiquiBase и JUnit. Аудитория: Разработчики Java"
          ]
        }
      }
    ]
  },
  {
    "num": 151,
    "datetime": "2022-02-28T19:00:00+02:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/fUGvcWwqLMW9HXWy7"],
    "event": "https://www.eventbrite.com/e/devclubeu-151-tickets-274080872267",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["VNIFXAUPzmg"],
        "speakers": [
          {
            "names": {"*": "Katariina Vainonen", "ru": "Катарина Вайнонен"},
            "url": "https://www.facebook.com/katariina.vainonen",
            "titles": {"*": "Тимлид @ Harno"},
            "image": "kvainonen.jpg"
          }
        ],
        "titles": {"ru": "50 женщин, 1 программист, 100500 госэкзаменов"},
        "descr": {
          "ru": [
            "Катарина из Департамента по делам образования и молодёжи (www.harno.ee) расскажет, как устроено электронное оценивание в Эстонии, о развитии системы EIS (Eksamite infosüsteem). О забавных ошибках как системы, так и самих пользователей. О возможностях, которые находят специалисты по оцениванию для создания тестов и заданий. И как она работает в условиях, когда на всю команду из 50+ человек только 1 программист."
          ]
        }
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": [],
        "youtube": ["FR6Z52vsf0M"],
        "speakers": [
          {
            "names": {"*": "Misha Beshkin", "ru": "Миша Бешкин"},
            "url": "https://ee.linkedin.com/in/mihailsb",
            "image": "mbeskin.jpg"
          }
        ],
        "titles": {"ru": "Автоматизация дома"},
        "descr": {
          "ru": [
            "Что может ожидать человека, если он вдруг решил внедрить дома автоматические системы управления устройствами. Опыт трех лет с разными устройствами, собственная система управления, доступные решения."
          ]
        }
      }
    ]
  },
  {
    "num": 150,
    "datetime": "2022-01-27T19:00:00+02:00",
    "season": 2022,
    "place": {
      "name": "Põhja Öökull", "loc": "https://www.google.com/maps/@59.4348549,24.7420298,3a,19.2y,231.35h,86.23t/data=!3m7!1e1!3m5!1sk0QGDJlOEDHOfv3dHPKeKw!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3Dk0QGDJlOEDHOfv3dHPKeKw%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D286.97736%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656",
      "addr": "Rüütli 28, 10130 Tallinn", "url": "https://www.facebook.com/pohjaookull"
    },
    "org": {"mod": ["astalnuhhin"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/jJ8a7duCk81jvxhw5"],
    "event": "https://www.eventbrite.com/e/devclubeu-150-tickets-252491347417",
    "speeches": [
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": ["self-improvement"],
        "youtube": ["l4l53tqhScU"],
        "speakers": [
          {
            "names": {"*": "Jelena Solomina", "ru": "Елена Соломина"},
            "titles": {"*": "Тележурналист"},
            "url": "https://spikernapike.ee",
            "image": "jsolomina.jpg"
          }
        ],
        "titles": {"ru": "Как выступать интроверту"},
        "descr": {
          "ru": [
            "Разберемся в сути интровертности, найдем в этом плюсы, делающие выступление эффектным. Изучим и опробуем реальные техники для снятия чрезмерного волнения, разберемся со страхами. Получим инструменты для импровизации, попробуем заменить тремор и панику на кайф и удовольствие."
          ]
        },
        "top": {"season": 2022, "place": 5}
      },
      {
        "org": {"cam": ["astalnuhhin"], "edit": ["astalnuhhin"]},
        "lang": "ru",
        "labels": ["AI", "Machine learning"],
        "youtube": ["QOp6YV0ksrA"],
        "speakers": [
          {
            "names": {"*": "Dmitry Balabka", "ru": "Дмитрий Балабка"},
            "titles": {"*": "Data Scientist & Software Architect @ Ecentria Group"},
            "url": "https://www.linkedin.com/in/dmitrybalabka",
            "image": "dbalabka.jpg"
          }
        ],
        "titles": {"ru": "Практический обзор AutoML для табличных данных"},
        "descr": {
          "ru": [
            "Автоматизированное машинное обучение (AutoML) стало популярным в последние годы, сфокусировавшись на снижении затрат при создании моделей машинного обучения. Многие повседневные задачи могут быть частично или полностью автоматизированы: подготовка данных, конструирование признаков, обучение и оценка моделей. Мы кратко рассмотрим существующие решения AutoML, а также практический пример, основанный на решении, победившем для Sussex-Huawei Locomotion Challenge 2021. В частности, мы обсудим, как эффективно и с минимальными усилиями обучить модель с помощью Google AutoML Tables."
          ]
        }
      }
    ]
  }
]
