fa
Feedback
Petrushenko

Petrushenko

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

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

نمایش بیشتر
1 112
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+27 روز
+1130 روز
آرشیو پست ها
Круто, що українські школярі перемагають! https://dou.ua/lenta/interviews/first-european-artificial-intelligence-olympiad/

Apple представила M5 Ultra. Новий Mac Studio отримав до 512 ГБ об’єднаної пам’яті з пропускною здатністю 1,2 ТБ/с. Для порівняння, у моєї RTX 3090 — 24 ГБ і 936 ГБ/с. Звісно, сама пропускна здатність ще не означає вищу швидкість у всіх задачах, особливо порівняно з CUDA. Але можливість запускати локально величезні моделі, які просто не помістяться у звичайну відеокарту, виглядає дуже цікаво. Ціна Mac Studio з M5 Ultra стартує від $5 499. Дорого, але для локального інференсу великих моделей це вже схоже не просто на комп’ютер, а на компактну AI-станцію.

З Днем Незалежності 🇺🇦 Колись Андрій Малишко написав старанно "зашифровані" рядки: "Я люблю дороги, стигле жито Із блакитним небом пополам. Рідну, славну, у крові умиту - Я тебе нікому не віддам!" І два останні рядки сьогодні кожен (крім, хіба, ждунів) може промовити від себе - і про себе. Не віддам. Нікому. І доземний уклін, і довічна дяка всім, хто за Неї воював і воює, живим і мертвим, - за те, що ніколи більше ми не муситимемо таїтись і шифруватися зі своєю любов'ю.

Завтра стартує C++ in Depth. Так, це курс про C++. Але значно більше - про інженерію та системне мислення. Ще можна приєднатися до групи. Реєстрація на https://www.csosvita.com/courses/c-plus-plus-in-depth

дуже цікава стаття про те, як GitHub оптимізував case folding, приведення тексту до форми для case-insensitive порівняння, у своєму пошуковику Blackbird, який індексує сотні терабайтів коду, треба буде додати її розбір в курс про перформенс https://github.blog/engineering/architecture-optimization/dont-stop-early-case-folding-source-code-at-memory-speed/

Колись ще в універі я думав, що більшість дивних речей у C++ - це просто особливості мови, які треба запамʼятати. А потім, на своїй першій роботі, треба було починати дивитися глибше. Ми шукали, чому шматок коду так погано поводиться під навантаженням, і я був майже впевнений, що проблема десь в алгоритмі. Відкрили profiler - а значну частину часу зʼїдали звичайні allocations і непотрібні copies. Кілька змін у lifetime та ownership обʼєктів дали більше, ніж усі спроби «оптимізувати алгоритм». Ось після таких речей C++ сприймається зовсім інакше. Не як набір складного синтаксису, а як спосіб дуже близько підійти до того, що реально робить компʼютер. Мені давно хотілося, щоб у CS Osvita був саме такий курс і ось 19 серпня стартує C++ in Depth. Викладає Костя Вергун — Principal Software Engineer @ Logitech, 12 років працює з C++ у desktop, SDK та embedded. За 3 місяці й 25 live-занять будемо поступово спускатися «під капот»: розбирати memory, RAII, move semantics, дивитися, що робить compiler, ловити проблеми через sanitizers і profiler, доходити до assembly і multithreading. А потім застосовувати все це вже в реальній інженерії — CMake, SDK development, Qt, Raspberry Pi. Група невелика, і коду руками буде багато. https://www.csosvita.com/courses/c-plus-plus-in-depth

Jane Street викотили дуже прикольний engineering challenge — reverse engineer ASIC. Якщо коротко, ASIC — це спеціалізований чіп, спроєктований під конкретну задачу. Зазвичай процес його створення виглядає приблизно так: Verilog / HDL → logic gates → netlist → place & route → GDS → silicon Тобто спочатку інженери описують логіку кодом, потім synthesis перетворює її на NAND/XOR/flip-flop та інші елементи, після чого EDA-інструменти фізично розміщують усе це на кристалі та прокладають між ними з’єднання. На виході отримуємо GDS — фактично геометричний blueprint чіпа: транзистори, metal layers, vias, routing тощо. Саме за цим файлом фабрика вже може виготовити silicon. І Jane Street зробили цікаву річ: вони не дали вам Verilog. Не дали netlist. Не сказали, що взагалі робить цей чіп. Дали тільки фінальний GDS layout і декілька прикладів input/output. Треба рухатися у зворотному напрямку: відновити логіку, зрозуміти, що робить схема, і знайти input, який активує success. Тобто буквально: silicon layout → gates → logic → behavior Дуже нетипова задача на стику hardware, algorithms, reverse engineering та systems. Jane Street взагалі цим і відома: це одна з найсильніших quant-компаній, де програмісти працюють не лише над trading algorithms, а й над compilers, low-level systems, FPGA/ASIC, networking і навіть OCaml ecosystem. Через складний відбір, дуже сильну engineering culture і величезні компенсації компанія стала майже культовою серед CS/Math людей. Сам challenge виглядає як чудовий спосіб на пару вечорів зникнути з життя 😄 Can you reverse engineer an ASIC? https://blog.janestreet.com/can-you-reverse-engineer-an-asic/

Хороша команда вийшла :) https://x.com/JeffDean/status/2085034604172603724

Дуже крута книга! Давно мріяв і ось отримав в подарунок від студента 🫂 https://www.amazon.com/Art-Doing-Science-Engineering-Learning/dp/1732265178

CS188: Introduction to Artificial Intelligence from UC Berkeley 2026 https://inst.eecs.berkeley.edu/~cs188/su26/

Хто вболіває за Арсенал? https://careers.arsenal.com/jobs/8083296-research-engineer

what every programmer should know about memory https://people.freebsd.org/~lstewart/articles/cpumemory.pdf

what every programmer should know about memory https://t.me/tenfoundation/4851

Сьогодні стартує оновлений курс Algorithms in Practice https://www.csosvita.com/courses/algorithms-in-practice Якщо хотіли доєднатися, залишилося 2 вільних місця. Будуть питання пишіть, з радістю відповім)

Відверто про те, як проходило моє навчання програмуванню в університеті і що з таким підходом не так у 2026 році? Частина 2 Настала сесія першого курсу. На одному з іспитів із програмування потрібно було написати програму. Я щось таки написав, але точно знав, що розв’язав його зовсім не так, як було на лекції. Тому коли підійшла моя черга захищати роботу, я сів перед викладачем уже не в настрої. Він подивився на мене і запитав: "чи все ок?", а я так і сказав, що "не впевнений в рішенні". Він почав читати мій код, а потім несподівано похвалив мене. Так, моє рішення відрізнялося від того, яке він показував на лекціях, і, так, я набажав, але сама ідея була оригінальною. Зрештою, я отримав нормальну оцінку. А тоді він сказав фразу, яку я запам’ятав назавжди:
Поганий викладач створює копії самого себе. Хороший викладач допомагає студентові стати самостійною людиною.
З часом я все більше почав переконуватися в тому, що мета освіти — не слухняність і не механічний copy-paste слів в конспект. Її мета — розвивати здатність самостійно мислити, досліджувати, творити, ставити запитання та діяти. Мені особливо подобається акцент на останньому дієслові - діяти. Get your dopamine from action. Dopamine from information gathering is a dangerous drug. Справжня освіта проявляється не в тому, скільки готових відповідей людина запам’ятала, а в тому, чи здатна вона шукати власні: активно мислити, сумніватися, експериментувати і проникати дедалі глибше в предмет. Ну і звичайно, такого роду освіту може дати лише сформований викладач, який сам є особистістю. Який сфокусований не лише на передачі знань, а і цінностей. Який може і пожартувати і показати своїм прикладом нормальне ставлення до людей і світу. Який визнає власні помилки. Який демонструє чесність і відповідальність. Який донатить/волонтерить/воює. Якому не байдуже. Який справді любить предмет і процес пізнання.

Відверто про те, як проходило моє навчання програмуванню в університеті і що з таким підходом не так у 2026 році? Частина 1. На першому курсі я зазвичай приходив на лекцію, сідав за першу парту, слухав, сприймав слова, намагався зрозуміти логіку та зміст, а потім майже дослівно переносив усе почуте в зошит. Перед сесією я перечитував це все, намагався завчити і здати іспит. Чи ефективний такий підхід в епоху ШІ? Ні. При такому навчанні зміст лекцій не ставав частиною моєї власної системи мислення, не розширював і не збагачував її. Я лише перетворював почуті слова на записи, які певний час зберігав, а потім викинув і забув. Я і, наприклад, зміст лекцій з функціонального аналізу так і залишилися чужими одне одному. Що саме я робив не так? Що поганого в тому, щоб записати матеріал і завчити його? Проблема в тому, що за сліпого копіювання головною метою непомітно стає не розуміння, а бажання якомога міцніше втримати те, що ти нібито «вивчив». Я не намагався створювати чи вигадувати щось нове. Не ставив під сумнів записане. Не грався з ідеями і не експериментував. Навпаки. Мене лякали свіжі думки або ідеї (бо їх не було у мене в конспекті). Я боявся, що на іспиті викладач дасть трохи інший приклад, ніж той, розвязання якого я завчив. Навіть невелике відхилення від знайомого шаблону руйнувало впевненість у тій фіксованій сумі знань, яку я намагався втримати. Я відчував, що будь-які ідеї, зміст яких важко засвоїти і зафіксувати в конспекті, лякають, як і все, що розвивається і змінюється, тобто не піддається контролю. У результаті я вчився не мислити, а відтворювати, і все це тривало, доки не зустрів викладача, який показав мені, яким насправді має бути навчання.

З ким сьогодні не побачилися на мітингу під театром Франка — побачимося ввечері о 18:30 :) Презентую оновлений курс Algorithm
З ким сьогодні не побачилися на мітингу під театром Франка — побачимося ввечері о 18:30 :) Презентую оновлений курс Algorithms in Practice: розповім про програму, нові теми та формат навчання. Познайомимося, поспілкуємося і відповім на всі запитання. Приходьте — буде цікаво і без нудних слайдів 🙂