fa
Feedback
Petrushenko

Petrushenko

رفتن به کانال در Telegram

Founder CS Osvita, Engineering Lead. Все про програмування, освіту та науку. https://www.csosvita.com/ https://www.linkedin.com/in/ivanpetrushenko

نمایش بیشتر
1 087
مشترکین
+224 ساعت
+77 روز
+3030 روز

در حال بارگیری داده...

کانال‌های مشابه
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
ژوئیه '26
ژوئیه '26
+7
در 0 کانال‌ها
ژوئن '26
+37
در 0 کانال‌ها
Get PRO
مه '26
+93
در 3 کانال‌ها
Get PRO
آوریل '26
+19
در 0 کانال‌ها
Get PRO
مارس '26
+22
در 0 کانال‌ها
Get PRO
فوریه '26
+43
در 0 کانال‌ها
Get PRO
ژانویه '26
+26
در 0 کانال‌ها
Get PRO
دسامبر '25
+80
در 0 کانال‌ها
Get PRO
نوامبر '25
+21
در 0 کانال‌ها
Get PRO
اکتبر '25
+52
در 0 کانال‌ها
Get PRO
سپتامبر '25
+750
در 0 کانال‌ها
Get PRO
اوت '250
در 1 کانال‌ها
Get PRO
ژوئیه '25
+2
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
04 ژوئیه+2
03 ژوئیه+1
02 ژوئیه+1
01 ژوئیه+3
پست‌های کانال
https://x.com/ID_AA_Carmack/status/2072320234619355572 Колись, років 7 тому, я читав курс з алгоритмів та структур даних разом із Дімою Кордубаном (ex OpenAI, now Tech Lead у Google DeepMind) і на одній з лекцій він розповів про Володю Агафонкіна, а потім я розбирав його виступ Fast by Default: Algorithmic Performance Optimization in Practice. Там дуже добре видно, що алгоритми - це інструмент, який напряму впливає на те, наскільки швидко працює реальний софт для мільйонів людей. Хто не знає, Володя Агафонкін бере популярні JavaScript-бібліотеки і робить їх найшвидшими у світі (Leaflet, Mapbox, Earcut та інші open-source проєкти, гляньте на його гітхаб) І ось Джон Кармак відзначає його роботу. Для мене це дуже красивий момент: один із найвідоміших програмістів у світі звертає увагу не на хайповий AI-стартап, не на черговий фреймворк, а на якісну алгоритмічну оптимізацію open-source бібліотеки від українця.

2
"I hate benchmarks...this should take 10ms in napkin math". Мені дуже імпонує цей скіл, і саме його ми тренуємо на всіх курса
"I hate benchmarks...this should take 10ms in napkin math". Мені дуже імпонує цей скіл, і саме його ми тренуємо на всіх курсах CS Osvita. Послухайте :)
709
3
Перед стартом курсу з алгоритмів я даю студентам невеликий гайд з порадами щодо навчання. І одна з моїх улюблених ідей там —
Перед стартом курсу з алгоритмів я даю студентам невеликий гайд з порадами щодо навчання. І одна з моїх улюблених ідей там — ставати на 1% кращим щодня. На дистанції це працює як складний відсоток. Якщо щодня ставати хоча б на 1% кращим, то за рік це дає майже x37. Цей графік добре передає саму ідею: експоненційне зростання спочатку майже непомітне, але на дистанції маленькі регулярні покращення накопичуються дуже сильно.
1 356
4
Що вчити програмісту, щоб потрапити в топову AI-компанію — DeepMind, OpenAI, Anthropic? Або просто працювати над цікавими задачами? Послухав свіже інтерв'ю з Владом Файнбергом з Google DeepMind. І відповідь там не “навчись промптити агентів”. А старий, добрий, дуже хардкорний computer science. Що він прямо називає важливим? OS і low-level performance. У топових AI-компаніях на це шалений попит. Бо кожна зміна в LLM проходить через дуже практичне питання: як зробити так, щоб абстрактна ідея крутилася швидко — з high throughput і low latency. Backend і distributed systems. Сучасний LLM-сервіс — це величезна distributed system: KV-cache, шардинг, балансування, черги запитів, inference pipeline. Плюс інфраструктура. Алгоритми, математика. У претрейнінгу недостатньо просто “знати ML”. Треба вміти мислити системно: бачити задачу як набір обмежень, trade-offів і оптимізацій. Як зміниться loss, якщо збільшити модель? Де вигідніше витратити FLOPs — на дані, параметри чи довше тренування? Як передбачити фінальний результат до того, як ти спалиш мільйони доларів на експеримент? А ще — здатність взяти ідею з paper, зрозуміти її по-справжньому і самому заімплементити. Не переказати абстрактно, а довести до working code. Оптимізація під залізо. Тут теж багато не про хайп, а про дуже конкретну інженерію: quantization, inference co-design, shapes матриць, attention heads, MFU, memory bandwidth, HBM, communication overhead. Як спроєктувати модель так, щоб вона не просто була якісною, а реально ефективно працювала на конкретному залізі. Окремо він згадує kernel development і DSL на кшталт ThunderKittens та CuTe, RL після RLHF, distributed training, asynchronicity, staleness градієнтів і pipelining. Тобто це не “просто ML”. Це місце, де ML, системне програмування, distributed systems і hardware awareness зʼїжджаються в одну точку. Іронія часу в тому, що чим потужнішими стають AI-агенти, тим ціннішими стають люди, які розуміють, що відбувається під капотом. Бо саме під капотом зараз іде головна робота.
1 556
5
Обожнюю такі YouTube-канали - вони для мене максимально залипальні. Дівчина відкрила The Art of Computer Programming Кнута і просто вирішує задачі з книжки одну за одною: https://www.youtube.com/@K4YL4CK І найцікавіше навіть не сам факт, що хтось це робить, а формат: вона може стрімити по 2–6 годин підряд, спокійно розбираючи задачі, думаючи вголос, помиляючись, перевіряючи і рухаючись далі. Тепер думаю: може, і собі завести YouTube - розповідати про всякі хардкорні computer science топіки? 🤔
1 439
6
Мітчелл Хашимото - засновник HashiCorp і автор Ghostty написав класний пост про агентне програмування. Він добре підсвічує проблему, про яку зараз часто говорять: якщо використання AI-агентів не підкріплене розумінням того, що саме вони роблять, результатом буде не “прискорення розробки”, а повільний і багатий на баги софт https://x.com/mitchellh/status/2060088112257372610
1 376
7
https://x.com/bigaiguy/status/2063903532575752211
1 381
8
Бачили інтервʼю Віталія Портникова на DOU Day? Усі обговорюють «скандал». Мені дуже хочеться, щоб в українському ІТ зʼявлялися свої Портникови. Люди, які не просто красиво говорять, а тримають планку. Які повертають розмову до фактів, історії, теорії, практики й відповідальності за слова. І тут виникає питання: чи є в українському ІТ такі люди? Не просто медійні люди з мікрофоном. Не просто популярні блогери. Не просто ті, хто добре говорить про “ринок”, “лідерство” і “майбутнє професії”. А люди, які знають історію нашої інженерної традиції — від Глушкова й Катерини Ющенко до світової компʼютерної науки. Які розуміють не лише фреймворки, а й ідеї під ними. Які можуть говорити про формальні системи не на рівні “Гедель щось там довів”, а більш глибоко. Люди, які власноруч писали складні системи й знають, що таке хороша декомпозиція. Які читали класичні тексти, а не лише перекази в блогах. Які користуються AI-агентами, але не називають кожен промпт “новою інженерією”, бо хоча б приблизно уявляють, що відбувається всередині. І головне — люди, які здатні сказати вголос: “це неправда”, “це слабкий аргумент”, “це поверхневе розуміння”, “ти зараз несеш ахінею” — і після цього спокійно пояснити, чому саме. Якщо ви знаєте таких людей в українському ІТ — поділіться, будь ласка. Залюбки підпишуся.
1 476
9
https://isaiprofitable.com/
1 987
10
“I can bear any pain as long as it has meaning.” — Haruki Murakami “We suffer more in imagination than in reality.” — Seneca “When a person cannot find a deep sense of meaning, they distract themselves with pleasure.” — Viktor Frankl Іноді дивує, як людина може гранично точно підібрати слова.
1 568
11
Мій перший тімлід був жосткий. У перший день сказав: за кожен баг плачу пальцем. Щотижня заставляв здавати 10+ задач на літкоді, потім перевіряв на 1:1, а коли ходили разом на конфи, ми під його поглядом мали ставити питання доповідачу. Я не жартую, така була ай-тішка в районі 2015-го. Ми з моїм товаришем, зелені випускники, боялися його. Але і поважали як "батю". А, забув додати, він відтискав від грудей 100+ кг і нас заставляв качатися. Так от, народ. Завтра стартує Книжковий Арсенал. Я не знаю, де зараз мій тімлід - але точно знаю, що він би сказав прийти і скинути фото книжок, які ми купили. Тому передаю естафету далі: йдіть, купуйте і читайте художню літературу. Тільки художка може зробити з айтівця людину.
2 447
12
https://geohot.github.io/blog/jekyll/update/2026/05/24/the-eternal-sloptember.html Цікаві думки про АІ від одного з найвідоміших хакерів у світі, який у 17 років зламав захист iPhone, а потім Sony PlayStation 3
1 758
13
Andrej Karpathy доєднується до Anthropic: https://x.com/karpathy/status/2056753169888334312 А хто не знав: у Karpathy є легендарний курс CS231n: Deep Learning for Computer Vision від Stanford. Лекції доступні на YouTube, а на сайті Stanford можна знайти матеріали курсу та лабораторні роботи.
2 073
14
MIT кілька годин тому виклав всі лекції нового курсу 6.566: Computer Systems Security, Spring 2026. https://css.csail.mit.edu/6.566/2026/ Курс виглядає як крутий матеріал для тих, хто хоче глибше розібратися в computer systems security: як будуються захищені системи і де вони ламаються
7 573
15
Класна штука — DeepWiki (https://deepwiki.com/) Сайт, де лежить код популярних опенсорс-проєктів, і про нього можна питати AI. Наче чат з кодом, тільки він реально розуміє, що де лежить і як він працює. Два режими: — deep — показує конкретні шматки коду з поясненнями — codemap — візуалізує структуру всього проєкту Наприклад, можна подивитись як імплементований binary search у різних мовах і порівняти підходи: chat → https://deepwiki.com/search/find-and-explain-binary-search_50038924-10a3-4609-a931-dfc83e469357?mode=deep codemap → https://deepwiki.com/search/show-me-binarysearch-implement_e7948a6c-a72f-4748-a53f-a8c1b48135d3?mode=codemap Або копнути як у LLVM зроблений Registry Pattern для реєстрації таргетів: https://deepwiki.com/search/llvm-uses-a-registrar-the-targ_20014273-830e-4623-b832-24edd0fe6420?mode=fast Рекомендую затестити не тільки для алгоритмів, а взагалі для вивчення дизайн-патернів, архітектури, будь-якого коду, який хочеться зрозуміти глибше.
0
16
Чому O(n) іноді програє O(n²)? Чому HashMap на мільйон записів може бути повільнішим за sorted array + binary search? Чому два потоки інколи працюють повільніше за один? Як працюють корутини? Як написати власний GC та malloc? І до чого тут ядро ОС? Для middle/senior, без води. Кеш, pipeline, branch predictor, memory layout. Завтра стартує курс Performance Engineering від CS Osvita — саме про це. 👉 csosvita.com/courses/performance-engineering
0
17
Що питають на інтерв'ю у FAANG/HFT прямо зараз - дайджест за останні 2 місяці з реальних співбесід від випускників CS Osvita: HFT (High-frequency trading) - багато задач з математики, є класична зелена книга (про яку писав вище) для повторення цього; кодінг задачі на перформенс оптимізацію можна потренувати ось тут, і дуже багато питають теорію - все що є на сайті варто пройти (від пейдж таблиць та віртуальної памяті до потоків і роботи cpu) Стосовно кодінгу, то помітний тренд — розмиті умови, як новий стандарт: дають навмисно нечіткі задачі, щоб не можна було просто закинути в ai чи нагуглити. Під капотом це класичний алгоритм, але спочатку треба самому дійти до суті і саме так перевіряють, як ти уточнюєш, комунікуєш, думаєш вголос. наприклад, були такі питання, що зводилися до 1. https://leetcode.com/problems/swap-adjacent-in-lr-string/description/ 2. задизайнити snake game: які класи, структури даних, як би організував архітектуру 3. набір ренджів + запит "чи потрапляє число хоча б в один діапазон?", потім ускладнили - треба ще й вставку нових ренджів підтримувати. потім дійшли до цього: https://leetcode.com/problems/range-module/description/ 4. є n ядер, кожне тягне одну задачу. нова задача → вибираєш вільне ядро з найменшим сумарним навантаженням. задача завершилась → оновлюєш навантаження, звільняєш ядро. треба зробити це ефективно (так, хіп 😄) 5. chemical formula decomposition — дано рядок formula та масив хімічних елементів. визначити, чи можна розбити formula на послідовність елементів з масиву. під капотом це word break: https://leetcode.com/problems/word-break/description/ — dp знизу вгору або dfs з мемоізацією по індексу 6. дві задачі в одній: а) isValidId(str, alphabet, L, K) — перевірити, що рядок складається тільки з символів alphabet, має довжину рівно L, і жоден символ не повторюється більше K разів підряд. б) generateStrings(alphabet, L, K) — згенерувати всі рядки довжиною L з alphabet, де жоден символ не йде підряд більше K разів.
0
18
Midnight Code Cup 2026 — як AI змінив змагання Пройшов кваліфікаційний раунд MCC https://midnightcodecup.org/. Задачі можна подивитись на Codeforces (на жаль, мають відношення до русні 🤮), і вони справді цікаві. Але найцікавіше — спостерігати за роллю AI у змаганнях. Ще минулого літа на фіналі MCC команди вже використовували AI, але ближче до кінця контесту на топових місцях були ті, хто писав код руками — бо AI-код було складно підтримувати. Зараз ситуація кардинально змінилась: майже всі топові команди працювали через агентів, по суті кажучи їм, що робити, а не вирішуючи задачі самостійно. Ті, хто намагався все робити по-старому, витратили купу часу на бойлерплейт і не встигли реалізувати щось серйозне. Нагадує ситуацію в індустрії загалом: AI вже зараз дає величезне прискорення, але багато хто ігнорує це — і ризикує опинитися в програшній позиції. Окремо цікаве спостереження про оптимізаційну задачу C: більшість топових рішень набрали приблизно 70k балів, але одна команда отримала 90k. Вони використали принципово інший підхід. І це добре ілюструє обмеження сучасних агентів — вони схильні мікрооптимізувати поточне рішення, але їм важко зробити крок назад і знайти глобально кращу стратегію. Загалом, якщо ви ще не пробували розв'язувати задачі разом з AI-агентами — дуже раджу спробувати. Це незвичний процес, який потребує окремого навчання: треба розуміти, де агент допоможе, а де зашкодить, і як організувати роботу так, щоб легко знаходити баги, які він вносить у код.
0
19
Branch Predictor: скільки if-ів — це забагато? Нещодавно копався в hot path нашого коду і натрапив на класику: if (debug) { log("..."); } І задумався: ми ніколи не запускаємо з debug = true. Чи є якась ціна у цього if, який ніколи не спрацьовує? А якщо таких if-ів буде 10? 100? 1000? Старе правило каже: повністю передбачуваний branch — це ~0 тактів CPU. Але наскільки це правда? Почав розбиратися. Чому взагалі існує branch prediction? Сучасний CPU — це конвеєр. Поки одна інструкція виконується, наступна вже декодується, а та, що після — вже завантажується з пам'яті. Все летить паралельно. Але що відбувається, коли CPU натикається на jmp або if? BR label_a; X1 ; <- CPU може завантажити цю інструкцію "про всяк" ... label_a: Y1 ; <- а виконувати треба ось цю CPU ще не знає, куди стрибати — інструкція ще навіть не декодована. Але fetch unit вже хоче наступну! Якщо він вгадає неправильно — марно витрачені такти. Це називається frontend bubble. Саме тому існує Branch Predictor Unit (BPU) — спеціальний блок CPU, який намагається вгадати адресу наступної інструкції ще до того, як branch буде декодовано. У нього мінімум інформації: лише адреса поточної інструкції та історія попередніх переходів. І він вгадує з дуже високою точністю. Ключова структура всередині BPU — Branch Target Buffer (BTB). Це, по суті, кеш, де CPU запам'ятовує: "минулого разу ця інструкція стрибнула ось сюди". Далі вирішив провести експеримент: скільки branchів витримує BTB? І натрапив на такий блог пост від https://blog.cloudflare.com/branch-predictor/ Дуже раджу почитати. Практичні поради (TL;DR) 1. Never-taken branch — безкоштовний. Той if (debug) нічого не коштує, якщо він ніколи не true. Можете сміливо залишати — BTB про нього навіть не знає. 2. Always-taken branch коштує BTB-слот. Кожен jmp, кожен taken if, кожен call + ret — це запис у BTB. На x86 у вас є бюджет ~4096 слотів. 3. Hot loop краще тримати < 4096 taken branches. Інакше BTB переповнюється, і кожен branch стає у 3–7 разів дорожчим. 4. Функцій у hot path — менше ніж 2000. Бо call + ret = 2 BTB-записи. 5. На x86 тримайте hot code < 16 KB. На M1 — ідеально < 4 KB. 6. На Intel не вирівнюйте branch-і по 64 байти. Associativity BTB зіграє проти вас. Якщо пишете performance-critical код — рахуйте свої branch-і. CPU не всемогутній, навіть якщо дуже старається.
0
20
4 роки тому одне інтерв’ю змінило моє життя. Березень 2022-го. Війну я зустрів за кордоном. Постійно "на трубі" з друзями. Наш чат на трьох, де раніше були лише меми, перетворився на нескінченне "як ви?". Одного вечора, коли «Азов» уже був у повному оточенні, у чат прилетіло посилання. Інтерв’ю з Денисом Прокопенком. Відкрив автоматично, щоб відволіктися. І залип. Він говорив чітко, виважено, предметно. Про цивільних, про ситуацію в місті, про полк, що стримує навалу ворога. Сказати, що я був вражений, — це нічого не сказати. Я така людина, що завжди шукає коріння. Мені цікаво, як людина зростала, що на неї впливало. Тоді я ще не знав, хто такий Редіс. Тому почав вивчати. Ось просто сухі факти з мережі: ультрас «Динамо» та викладач англійської й німецької за освітою. 2014-й — доброволець, солдат. У 26 років — командир «Азову». Герой України. Сьогодні — бригадний генерал. Але якщо подивитися інтерв'ю про нього від людей, що з ним перетиналися, то всі як один пишуть про фанатичну працездатність. Він — приклад того, як гострий розум множиться на трудоголізм. Один епізод, який пояснює все: Неділя. 04:00 ранку. Єдиний вихідний за тиждень. Дзвінок: «Вибач, що розбудив. Є термінова задача». Це і є Редіс. "Моє серце, моя душа, моє тіло належать Азову". Це і є Редіс. До чого я це пишу? Після того інтерв’ю я невдовзі повернувся до Києва. Пройшло 4 роки. Сьогодні для мене честь повідомити: наша школа csosvita.com командою всього з трьох людей перетнула рубіж у 3 000 000 гривень допомоги Силам оборони. Понад 1 000 000 гривень ми спрямували саме на «Азов». І від сьогодні ми — їхні офіційні партнери. Так, я не військовий. Але це мій спосіб бути корисним у цій війні, поки без зброї в руках. Просто робити максимум там, де я є. Просто робити якісну computer science освіту. Дякую за приклад, командире. "Без бою немає слави" (с) Редіс.
0