Український науковець – про експерименти CERN, роботу з суперкомп’ютерами та дослідницькі виклики

За плечима в postdoctoral researcher Павла Свіріна досвід роботи в CERN у Женеві, а також в Брукхевенській національній лабораторії в США. Нині він займається інтеграцією суперкомп’ютерів в обчислювальне середовище ATLAS. Павло детально розповів нам про свій шлях у науці, експерименти в CERN, роботу з суперкомп’ютерами, а також про роль України в розвитку комп’ютерної галузі.

Я і суперкомп’ютер Titan

Навчання в КПІ: математична підготовка та широкий кругозір у комп’ютерних науках

З дитинства я цікавився програмуванням. Моїм першим комп’ютером був радянський клон ZX Spectrum, який зібрав мій старший брат. На ньому можна було грати в ігри, що завантажувались з магнітної плівки на бобинах. Думаю, знавці пригадають такі назви, як Elite або Highway Encounter, і звук, з яким відбувався процес завантаження протягом декількох хвилин. Інтернет-доступ з’явився 1996 року з модемного з’єднання на швидкості 19,2 Кб/сек через вже забутого тепер провайдера IP Telecom.

Під час навчання в технічному ліцеї КПІ (зараз він називається Політехнічний ліцей НТУУ КПІ) ми користувались на заняттях з інформатики персональними комп’ютерами ЕС1841. На них ми програмували на Pascal. В 10-му класі у нас весь рік був курс «Бази даних». Практикувались на тому, що було — DOS-версії FoxPro 2.0. Під час лекцій нам розповіли про основні об’єкти в базах даних, а також показали, як записувати синтаксис виклику команд SQL . Конспект з цього предмету я й досі зберігаю як пам’ять.

Після закінчення ліцею у 1998 році я вступив до КПІ на факультет електроніки, де свого часу навчався Всеволод Волков — автор дуже відомого файлового менеджера Volkov Commander. Коли я побачив це на агітаційному плакаті в приймальній комісії, лише впевнився в тому, що варто вступати на цей факультет. Навчався на кафедрі «Системи автоматизованого проектування».

В КПІ вчився ще мій прапрадід, а також брат. Мати працювала на радіотехнічному факультеті, а я сам ще застав мейнфрейм — високопродуктивну систему централізованої обробки даних з доступом для користувачів з терміналів — на четвертому поверсі 17-го корпусу. На той час (кінець 1990-х) виш був чудово технічно обладнаний, було все необхідне для навчання: від комп’ютерів, які тоді були не в кожного вдома, до комп’ютерних мереж і навіть доступу в інтернет.

В одному з корпусів була інсталяція системи проектування CATIA на якійсь RISC-архітектурі. Це давало нам зрозуміти, що світ живе не лише в вимірі ПК з x86. Кафедра теж не відставала. Деякі з сокурсників сиділи до вечора, досліджуючи обробку переривань в DOS, інші грались в MUD або King’s Bounty, коли ніхто з адміністраторів не бачив. З другого курсу нам дозволили відвідувати більш сучасні лабораторії, де після пар можна було отримати доступ не тільки до університетського інтранету, а й до інтернету, і, наприклад, початитись з іншими людьми в IRC. Одного разу системні адміністратори знайшли робочу станцію з архітектурою DEC Alpha і операційною системою Tru64 UNIX, оживили її — і, наскільки я знаю, вона досі функціонує в якості FTP-сервера. Такий собі пам’ятник епохи. Отже, вибір місця навчання був цілком свідомий.

Що дало мені навчання? Гарну математичну підготовку, яку, можливо, я не цілком використовую навіть зараз, а також широкий кругозір у комп’ютерних науках. Предмет «Моделювання складних об’єктів та систем» — а ми займались моделюванням електронних схем — дав зрозуміти, що в світі немає нічого «безкоштовного»: закрутиш в одному місці для покращення одного ефекту, щось трапиться в іншому місці, і це питання до тебе — чи влаштовують тебе рівні отриманого цільового ефекту і побічних. Я досі пригадую студентські часи, коли, виконуючи лабораторні роботи, ми бригадами сиділи в корпусі аж до сьомої години вечора.

У фізичному корпусі університету Техасу в Арлінґтоні завжди можна відчути себе космонавтом

Перша робота та викладання у виші

Паралельно з навчанням у 2000 році розпочав кар’єру. Перша робота — системний адміністратор в інтернет-кафе. Саме з неї починало трудову біографію багато людей з нашої галузі. Потім влаштувався системним адміністратором в одній з невеликих торгових компаній Києва з декількома офісами. Стек технологій таких офісів того часу був скрізь приблизно однаковий: сервер на базі Windows 2000, робочі станції з Windows 98, «1C-Предприятие»-сервер та клієнти, Microsoft Office — ось і все.

В одному з офісів під час прокладання нової мережі на базі витої пари також демонтував попередню мережу із тонким коаксіалом. Доступ в інтернет для офісу вирішився через діал-ап: виявилось, що Golden Telecom — оператор, абонентом якого була компанія — в наявному пакеті послуг тарифікував цю опцію за копійки. Швидкість 57600 Кбіт/cек розподілялась практично на весь офіс, але за умови трафіку початку 2000-х і кешування даних це було не так жахливо, як здається зараз.

Надалі працював у багатьох компаніях, продуктових і аутсорсингових, академічних проектах, інколи фрилансером. Розробляв ПЗ із використанням C++, C#, PHP, PERL, MS SQL Server та MySQL. У деякі компанії мене не брали, бо «це ж аспірант (я на той час закінчував навчання в аспірантурі), його ще примусять лекції читати», хоч я і успішно проходив співбесіду. Що ж, їх можна зрозуміти. Ще в одній компанії пройшов всі етапи співбесід, мене попросили зачекати декілька тижнів, бо з’явились певні проблеми. Потім мені зателефонували і повідомили, що, на жаль, вони закривають вакансію і нікого не беруть через кризу, яка якраз настала в 2008 році.

Також викладав у виші програмування, переважно — вів практичні заняття, і керував дипломними роботами. Серед предметів, які я викладав, були бази даних, комп’ютерні мережі, об’єктно-орієнтоване програмування. З деяких предметів навіть доводилось приймати іспити. В принципі, навчальне навантаження займало декілька днів на тиждень. Часто траплялося, що проводив першу пару, їхав до офісу, повертався на четверту пару, проводив її, і знову повертався до офісу. В останній рік перед захистом дисертації (на тему розподілених обчислень) вирішив зосередитись на науці, але все одно трохи паралельно працював в індустрії.

Стажування в CERN та експеримент ALICE

Після зміни в контрольному центрі ALICE

В академічній сфері міграція людей є нормальним явищем. Хтось працює у своїй країні, з моєї робочої групи декілька британців працюють у німецьких і норвезьких університетах, лабораторіях; німці, французи, нідерландці і японці — в американських, німецьких і португальських; італійців і китайців можна зустріти скрізь. Головне для власного розвитку — працювати разом з найкращими представниками галузі. Під час написання дисертації я звернувся до наукового керівника з метою пошуку місця, де можна було впровадити її результати. Мені вказали на Інститут теоретичної фізики ім. Боголюбова, з якими було налагоджено наукові контакти. Своєю чергою, цей інститут мав зв’язки з Європейським центром ядерних досліджень (CERN). У 2011 році я з’їздив до їхньої літньої школи CSC (CERN School of Computing), яка відбувалася того року у Копенгагені в інституті Нільса Бора. Навчатись і просто перебувати в лабораторіях, де працювали нобелівські лауреати — це незабутнє враження.

2014 року я завдяки інституту ім. Боголюбова вирушив до Женеви, до CERN, на тримісячне стажування в експерименті ALICE (A Large Ion Collider Experiment). Це спеціалізований експеримент на Великому адронному колайдері. Там досліджують умови існування матерії в перші частки секунди після Великого вибуху.

Моїм першим завданням була інтеграція в обчислювальне середовище одного з типів ресурсів. Якщо детальніше — треба було зробити так, щоб обчислення ALICE виконувались в тому числі на кластерах із методом доступу через систему ARC (Advanced Resource Connector). Це дозволило б доєднати до середовища великий кластер лабораторії Rutherford-Appleton (RAL), кластери скандинавських країн тощо. Я виконав завдання набагато швидше, ніж очікувалось, і наступні два місяці просто допомагав з іншими задачами. В кінці стажування я отримав пропозицію доєднатись до команди ALICE в Женеві з метою інтеграції суперкомп’ютера Titan, що знаходився в американській лабораторії Oak Ridge.

Сам Titan — це один з колишніх лідерів рейтингу суперкомп’ютерів Top-500, з листопада 2012 по червень 2013 він очолював список. На той час вже було розроблено багато алгоритмів, які використовували графічні прискорювачі. Це був перший суперкомп’ютер, який можна було масово використовувати в академічних дослідженнях. Ще одна деталь — його не було збудовано з нуля, це лише оновлення більш ранньої системи Jaguar, яка була в дії з 2005 року. Але продуманість архітектури і якісна підтримка користувачів дозволили йому протриматись аж до серпня 2019 року.

Складнощі інтеграції суперкомп’ютера Titan

Інтеграція відбувалася не так швидко, як хотілося б. Передусім заважала дуже складна процедура отримання доступу до суперкомп’ютера. Інші складнощі полягали у принципових відмінностях програмної моделі ALICE. Задачі ALICE планувалось запускати в режимі «backfill». Його суть можна пояснити такою аналогією: якщо в скляну банку насипати доверху камінців — чи буде вона насправді повна? Відповідь — ні, адже між камінцями є достатньо порожнього місця, і щоб повністю заповнити банку — в неї можна засипати пісок.

Titan був орієнтований на масивно-паралельні задачі, але для оптимального планування запуску було неможливо взяти, наприклад, 10 обчислювальних вузлів на 15 годин. Для цього потрібно було подати «заявку» щонайменше на декілька тисяч вузлів, тому дослідники мали групувати свої задачі, щоб дотримуватися правил. Не можеш знайти достатньо задач — розбивай їх на стадії по 2 години з проміжним збереженням результатів. Отже, коли задача декілька годин очікує на появу вільних 300 вузлів, а в наявності є лише 50, і тому вона не може розпочатись — у цей період суперкомп’ютер лише споживає електрику і не може виконувати корисне навантаження. Рішення — знайти достатню кількість маленьких і нетривалих задач, щоб заповнити ці «дірки», а в експериментах фізики високої енергії таких задач може бути чимало.

Крім того, були складнощі з інтеграцією програмної моделі. Оскільки задачі ALICE вимагали вихідного мережевого доступу з робочих вузлів, а на Titan він існував лише для зв’язку вузлів між собою для взаємодії по інтерфейсу MPI (ніщо не має відволікати від високопродуктивних обчислень!), отже — не працювала передача вхідних і вихідних даних. Для виходу з такої ситуації довелось розробити спеціальний сервіс, який робив обмін даними, а також передавав на центральний сервер стан задач.

Паралельно з роботою в офісі я встиг навіть побувати на реальних змінах для фізиків у центрі керування ALICE. Моєю роллю була ECS (Experiment Control System), де я мав контролювати стан детекторних систем, у разі проблем — зв’язуватись з експертом (на кожну детекторну систему є свій експерт або декілька) і проводити маніпуляції над ними — вимкнути, увімкнути або згрупувати їх на вимогу начальника зміни.

Робота в Brookhaven National Laboratory в США та експеримент ATLAS

По закінченні контракту мені запропонували подальші роботи з суперкомп’ютерами вже у складі команди з Брукхевенської національної лабораторії (Brookhaven National Laboratory, BNL) в США. BNL було засновано в 1947 році (мені щастить на ювілеї, в CERN я прибув на 60-річчя, в BNL — на 70-річчя).

Це ідеальна локація, якщо потрібно сконцентруватись на дослідженнях і навчанні — нічого не відволікає, а в бібліотеці лабораторії можна знайти практично будь-які матеріали, потрібні для роботи. Це лабораторія з університетським духом — серед її засновників були випускники MIT, Гарварду, Прінстону та інших вишів. За часи свого існування лабораторія дала світу сімох нобелівських лауреатів — п’ятьох з фізики і двох з хімії. А ще тут у відділі вимірювальної техніки для виставки 1958 року була створена Tennis for two — одна з перших відеоігор на осцилографі, метою якої були саме розваги, і жодного дослідження.

Я в своєму офісі в BNL

Отже, з березня 2017 до лютого 2019 я займався адаптацією системи виконання задач PanDA, яка використовується для експерименту ATLAS, до сторонніх експериментів і проектів, таких як LSST/DESC (колаборація досліджень темної енергії на телескопі LSST), IceCube та інші.

ATLAS (A Toroidal LHC ApparatuS) — найбільший експеримент фізики високих енергій. Він об’єднує близько 3000 науковців з 183 інститутів в 38 країнах. України серед них поки немає, хоча це ні про що не свідчить: такі повні учасники CERN, як Болгарія, Угорщина і Фінляндія, теж не беруть у ньому офіційної участі. Цей експеримент найбільше знайомий туристам — саме на нього гіди водять екскурсії, адже його шахта знаходиться одразу біля центрального входу до CERN. Хоча, як на мене, туристичний центр ALICE Point2 куди кращий і дружній, тільки до нього потрібно їхати автобусом.

ATLAS — це експеримент загальної спеціалізації, його детектор проводить заміри сигналів в широкому діапазоні і будує загальну картину фізичного світу. Через це детектор ATLAS генерує під час запуску велику кількість даних — протягом другого запуску колайдера було зібрано 70 ПБ даних, на третій запуск прогнозується щонайменше подвоєння обсягів. Крім того, є велика кількість згенерованих даних, що дозволяють перевірити гіпотези, оптимізувати налаштування детекторів або потім робити порівняння з реальними даними. Очевидно, що з такими обсягами даних і їхньою складністю необхідно мати розвинений комп’ютинг. Середовище ATLAS Distributed Computing (ADC) складається зі 175 обчислювальних сайтів, які знаходяться від Японії і Австралії до Каліфорнії. За нормальних умов нам доступні 400-450 тисяч ядер, пікове значення — коли всі суперкомп’ютери і хмари працюють на повну потужність — може сягати 1 мільйона ядер. В якомусь сенсі це імперія, над якою практично ніколи не заходить сонце.

Під терміном «задача» мається на увазі опис, що включає програму, яку потрібно виконати, вхідні параметри, параметри середовища, назви вхідних та вихідних файлів. Спеціальна програма, що називається «pilot», завантажує опис задачі, конфігурує середовище, завантажує вхідні дані, виконує задачу і вивантажує вихідні дані. Навіть у разі помилки самої задачі діагностичні дані завантажуються в сховища даних, щоб провести аналіз збоїв. Все програмне забезпечення для самого аналізу фізичних даних розповсюджується через розподілену файлову систему CVMFS (CERN Virtual Machine File System), яка монтується на обчислювальні кластери.

CERN. В шахті експерименту ALICE

Робочий день та обов’язки дослідника в CERN

Не варто вважати, що академічний персонал замість роботи лежить на пляжах. Ранок в моїй основній групі DPA (Distributed Physics and Analysis) починається десь о 7 годині за середньоєвропейським часом. У цей час автоматично генерується огляд роботи з попередньої доби, який я переглядаю під час сніданку. О 9 годині щоранку у нас уже мітинг, зазвичай — з явкою в мітинг-рум, але зараз карантин (працівники, що не є критичними для функціонування організації, працюють віддалено), тож ранкові обговорення відбуваються онлайн протягом 30-40 хвилин.

Для проведення онлайн-мітингів ми використовуємо систему відеоконференцій Vidyo, але цього року почали користуватися Zoom. В США паралельно користуються системою, аналогічною Vidyo, за назвою BlueJeans. Щокварталу пишуться короткі звіти. За кожен вид діяльності, який виконував співробітник для ATLAS, домашньому університету нараховується певна кількість балів (OTP — operations task planner points). Потім сумарна кількість отриманих балів використовується для внутрішнього для ATLAS рейтингу університетів і лабораторій, а також для звітності цих академічних закладів перед органами фінансування. В BNL також є щорічний документ за назвою «Self-appraisal», в якому співробітник лабораторії в кінці року має перерахувати досягнення протягом цього періоду і плани на наступний.

Далі без перерви починаються тематичні мітинги, наприклад, у вівторок обговорюють деталі розподіленого керування даними (Distributed Data Management), а в четвер — девопс-операції для сервісів, це триває протягом 30-60 хвилин. Потім усі розходяться по офісах і працюють. Приблизно з 15 години починається нова хвиля мітингів, щонайменше — один. Це зроблено для того, щоб у них могли брати участь американські учасники, наприклад з Чикаго (відмінність у часі — 7 годин). Найпізніше прокидаються мешканці Каліфорнії і канадської Вікторії, тому перші електронні листи від них приходять, коли вже у нас теоретично кінець робочого дня. В перервах між мітингами і відбувається контроль станів обчислювальних систем, розробка програмних модулів тощо. В ATLAS є свій професійний гумор: «Як добре, що завтра вихідний, нарешті можна буде попрацювати».

Я відповідаю за виконання задач на кластері Sim@P1 — це обчислювальний елемент з близько 100 тисяч ядер. Він знаходиться прямо в шахті ATLAS Point1, і основне його призначення — TDAQ (Trigger and Data Acquisition system) — початкова обробка і збереження знятих з детекторів даних під час роботи колайдера. Зараз колайдер зупинено для оновлення, отже, ми активно користуємось кластером. Втім, щонайменше на один тиждень на місяць ми його втрачаємо — фізики тестують свої напрацювання.

CERN. Шахта експерименту ALICE

Особисто я роблю оновлення опису для віртуальних машин, в яких виконуються наші задачі, контролюю завантаженість кластерів і, в разі потреби, зв’язуюсь із адміністраторами для вирішення, наприклад, мережевих проблем. Також я займаюсь інтеграцією в обчислювальне середовище ATLAS суперкомп’ютерів. Згідно з сучасними трендами в академічному комп’ютингу, переважна кількість обчислень буде проводитись не на університетських кластерах середнього розміру, а в великих обчислювальних центрах і на суперкомп’ютерах. Зараз я працюю над американським Summit (№ 2 в світовому рейтингу) і німецьким SuperMUC-NG (№ 13 в світовому рейтингу). Особливостями таких систем є їхня орієнтація на дуже великі обчислювальні задачі, тоді як в нашій сфері переважна більшість — це сила-силенна невеликих завдань, для яких постійно потрібно підтягувати і забирати дані.

До того ж, на топових системах часто відсутній мережевий доступ з обчислювальних вузлів, існують підвищені вимоги до безпеки, що додає задачі додаткової специфіки. Наразі я проводжу дослідження для задачі автоматичної побудови образів для контейнерів, які будуть використовуватись на суперкомп’ютерах. Ми використовуємо безсервісні контейнери Singularity, інфраструктура для яких розробляється лабораторією Берклі. В принципі, такі контейнери можна згенерувати із Docker, але Summit, як і багато нових суперкомп’ютерних систем, має архітектуру Power9, зараз немає інфраструктури для зручної побудови образів, і ми не маємо на ньому адміністративних прав. Незважаючи на це, вихід завжди існує.

Я і блок суперкомп’ютеру Summit на виставці HPC’2018 в Далласі

Крім того, в мене є паралельний проект із ISI USC (Інститут інформаційних наук університету Південної Каліфорнії, він відомий тим, що мав один з найперших вузлів ARPANET, саме там проводилась розробка DNS і протоколу SMTP). Це проект з інтеграції Pegasus — їхньої системи управління потоками задач в PanDA. Раз на місяць я беру на себе обов’язки CRC (Computing Run Coordinator) Shifter. Головна задача — стежити за станом обчислювальних систем і виправляти збої особисто або інформувати відповідальних осіб.

Зміна починається у вівторок ввечері. Протягом цього тижня мій ранок стартує о 7:00. Я переглядаю автоматичний огляд доби і пишу звіт, що обговорюється під час ранкового мітингу. В разі суттєвих неполадок є час їх виправити або доповісти про них пізніше. Мені допомагають стежити за перебігом подій ще декілька колег — в європейській та тихоокеанській часових зонах. До звичайного переліку мітингів додаються ще декілька, на яких потрібно зробити повідомлення від експерименту в разі потреби. Втім, середовище ATLAS настільки велике, що завжди є про що поговорити. Зміна триває весь тиждень і закінчується наступного вівторка на щотижневому мітингу ADC великою презентацією про події і анонси тижня, що минув, і обговоренням.

Наприкінці контракту з BNL, який тривав два роки, я вирішив перебратись назад до CERN. Зараз я представляю університет Техасу в Арлінґтоні (UTA). Він має, можливо, найбільше представництво в комп’ютингу експерименту ATLAS. Що означає слово «представляти»? Для нашої сфери можна пояснити таким чином: ти номінально працюєш, наприклад, в університеті Stony Brook, і це твоя «home institution», але для виконання завдань, покладених на тебе, тобі потрібно бути в Женеві. Найближчим часом планую працювати в Женеві, далі подивимось.

Cуперкомп’ютерна галузь в Україні

В Україні є давні традиції в комп’ютерній галузі. Ще у 1948-1950 роках саме в Києві на базі Академії наук УРСР під керівництвом академіка Сергія Лебедєва було розроблено першу в СРСР цифрову обчислювальну машину МЕОМ (Мала електронно-обчислювальна машина). Вона, своєю чергою, стала прообразом для першого радянського «суперкомп’ютера» БЭСМ (Большая электронная счетная машина), який тоді був найшвидшим європейським комп’ютером.

Наразі суперкомп’ютер є в Інституті кібернетики НАН Україні. Машина називається «СКІТ-4», має пікову продуктивність 30 TFLOPS і на момент відкриття в 2012 році навіть посідала високу позицію в рейтингу суперкомп’ютерів на території СНД. Його використовують для обчислень у таких галузях, як квантова хімія, молекулярна динаміка, геофізика тощо. Найшвидший суперкомп’ютер в Україні було відкрито в конструкторському бюро «Південне» наприкінці 2018 року, його продуктивність — 300 TFLOPS.

В принципі, для подальшого розвитку суперкомп’ютерної галузі в Україні критично необхідна наявність масштабних досліджень, які б вимагали для аналізу даних чи математичного моделювання великих обчислювальних потужностей. Без такої потреби будувати такі складні системи, які б простоювали, недоцільно.

CERN Globe of Science And Innovation вночі

На жаль, Україна наразі не надто цікавиться наукою. При цьому академічні дослідження — це не лише сфера, де студенти можуть випробувати свої сили, але і маркер престижу. В сучасному світі престижно бути країною, яка робить значний внесок у розвиток знань про Всесвіт. Якщо брати в якості прикладу CERN, то за останні 5 років повними учасниками стали Румунія і Сербія. Словенія і крихітний Кіпр — асоційовані члени в стадії підготовки до повного членства. Приєднались в якості асоційованих членів Литва, Хорватія, Пакистан, Індія. Готується до вступу Естонія. До речі, Словенія — великий гравець в європейській суперкомп’ютерній галузі, один з нових суперкомп’ютерів світового класу буде побудовано саме там. Також європейське фінансування для побудови нових суперкомп’ютерних систем отримали Люксембург, Чехія, Португалія і Болгарія. Навіть РФ минулого року організувала візит прем’єр-міністра до CERN для обговорення можливості переходу зі стану наглядача в стан повноцінного члена. І це при тому, що у них є власна організація ОІЯД (Об’єднаний інститут ядерних досліджень).

Україна стала асоційованим членом в жовтні 2016 року, але більше якихось позитивних зрушень не помітно. У 2019 році під час великої квартальної конференції нам повідомили, що до експерименту ATLAS приєднався Інститут інформаційних технологій... міста Алжир. Тобто, було би бажання, а можливість завжди знайдеться.

Особисто я, навіть не перебуваючи на території України, ніколи не відкидав зв’язків з Батьківщиною. Коли є час — допомагаю з програмним забезпеченням для ІТФ у КПІ, з навчальним процесом на рідній кафедрі. Також приблизно раз на рік проходить Ukrainian Teachers Visit — це програма CERN для українських вчителів, мета якої — поширення знань про діяльність цієї організації. В межах цієї програми я завжди читаю лекцію про наш комп’ютинг.

А взагалі — науці неважливо, з якої ти країни. В академічному середовищі цінуються спеціалісти будь-якої національності, які здатні подати нові ідеї, донести їхню перспективність і виконати завдання у потрібний термін.


Читайте також інші статті про роботу в науці:

«Цифровая экономика — это худшее, что случилось с человечеством за последние сто лет». Константин Петров о спекуляциях на теме AI и работе ученого в США и Европе

Физик-ядерщик — об адронном коллайдере в Германии и роли программирования в жизни ученого

Ігри розуму: український математик про красу науки, нелюбов до ІТ та безперспективність повернення

Опубліковано: 19/10/20 @ 07:00
Розділ Різне

Рекомендуємо:

Что спрашивают на behavioral и system design интервью, или Как я попал в Facebook
«Перекладаю кожне незнайоме слово у фільмі». IT-спеціалісти – про ефективні методи вивчення англійської
Как выбрать подход к созданию тестового AI-проекта
Путеводитель по синдрому самозванца. Корни, причины, симптомы и последствия. Часть 1
Геймдев-навчання в Естонії та релокація у Фінляндію. Історія українського програміста