Petrushenko
رفتن به کانال در Telegram
Founder CS Osvita, Engineering Lead. Все про програмування, освіту та науку. https://www.csosvita.com/ https://www.linkedin.com/in/ivanpetrushenko
نمایش بیشتر1 112
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+27 روز
+1130 روز
آرشیو پست ها
1 112
Круто, що українські школярі перемагають!
https://dou.ua/lenta/interviews/first-european-artificial-intelligence-olympiad/
1 112
Apple представила M5 Ultra. Новий Mac Studio отримав до 512 ГБ об’єднаної пам’яті з пропускною здатністю 1,2 ТБ/с. Для порівняння, у моєї RTX 3090 — 24 ГБ і 936 ГБ/с. Звісно, сама пропускна здатність ще не означає вищу швидкість у всіх задачах, особливо порівняно з CUDA. Але можливість запускати локально величезні моделі, які просто не помістяться у звичайну відеокарту, виглядає дуже цікаво. Ціна Mac Studio з M5 Ultra стартує від $5 499. Дорого, але для локального інференсу великих моделей це вже схоже не просто на комп’ютер, а на компактну AI-станцію.
1 112
З Днем Незалежності 🇺🇦
Колись Андрій Малишко написав старанно "зашифровані" рядки:
"Я люблю дороги, стигле жито
Із блакитним небом пополам.
Рідну, славну, у крові умиту -
Я тебе нікому не віддам!"
І два останні рядки сьогодні кожен (крім, хіба, ждунів) може промовити від себе - і про себе. Не віддам. Нікому. І доземний уклін, і довічна дяка всім, хто за Неї воював і воює, живим і мертвим, - за те, що ніколи більше ми не муситимемо таїтись і шифруватися зі своєю любов'ю.
1 112
Завтра стартує C++ in Depth. Так, це курс про C++. Але значно більше - про інженерію та системне мислення. Ще можна приєднатися до групи. Реєстрація на https://www.csosvita.com/courses/c-plus-plus-in-depth
1 112
дуже цікава стаття про те, як GitHub оптимізував case folding, приведення тексту до форми для case-insensitive порівняння, у своєму пошуковику Blackbird, який індексує сотні терабайтів коду, треба буде додати її розбір в курс про перформенс
https://github.blog/engineering/architecture-optimization/dont-stop-early-case-folding-source-code-at-memory-speed/
1 112
Колись ще в універі я думав, що більшість дивних речей у 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
1 112
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/
1 112
Дуже крута книга! Давно мріяв і ось отримав в подарунок від студента 🫂
https://www.amazon.com/Art-Doing-Science-Engineering-Learning/dp/1732265178
1 112
CS188: Introduction to Artificial Intelligence from UC Berkeley 2026
https://inst.eecs.berkeley.edu/~cs188/su26/
1 112
what every programmer should know about memory
https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
1 112
Сьогодні стартує оновлений курс Algorithms in Practice https://www.csosvita.com/courses/algorithms-in-practice
Якщо хотіли доєднатися, залишилося 2 вільних місця. Будуть питання пишіть, з радістю відповім)
1 112
Відверто про те, як проходило моє навчання програмуванню в університеті і що з таким підходом не так у 2026 році? Частина 2
Настала сесія першого курсу. На одному з іспитів із програмування потрібно було написати програму. Я щось таки написав, але точно знав, що розв’язав його зовсім не так, як було на лекції. Тому коли підійшла моя черга захищати роботу, я сів перед викладачем уже не в настрої. Він подивився на мене і запитав: "чи все ок?", а я так і сказав, що "не впевнений в рішенні". Він почав читати мій код, а потім несподівано похвалив мене. Так, моє рішення відрізнялося від того, яке він показував на лекціях, і, так, я набажав, але сама ідея була оригінальною. Зрештою, я отримав нормальну оцінку.
А тоді він сказав фразу, яку я запам’ятав назавжди:
Поганий викладач створює копії самого себе. Хороший викладач допомагає студентові стати самостійною людиною.З часом я все більше почав переконуватися в тому, що мета освіти — не слухняність і не механічний copy-paste слів в конспект. Її мета — розвивати здатність самостійно мислити, досліджувати, творити, ставити запитання та діяти. Мені особливо подобається акцент на останньому дієслові - діяти. Get your dopamine from action. Dopamine from information gathering is a dangerous drug. Справжня освіта проявляється не в тому, скільки готових відповідей людина запам’ятала, а в тому, чи здатна вона шукати власні: активно мислити, сумніватися, експериментувати і проникати дедалі глибше в предмет. Ну і звичайно, такого роду освіту може дати лише сформований викладач, який сам є особистістю. Який сфокусований не лише на передачі знань, а і цінностей. Який може і пожартувати і показати своїм прикладом нормальне ставлення до людей і світу. Який визнає власні помилки. Який демонструє чесність і відповідальність. Який донатить/волонтерить/воює. Якому не байдуже. Який справді любить предмет і процес пізнання.
1 112
Відверто про те, як проходило моє навчання програмуванню в університеті і що з таким підходом не так у 2026 році? Частина 1.
На першому курсі я зазвичай приходив на лекцію, сідав за першу парту, слухав, сприймав слова, намагався зрозуміти логіку та зміст, а потім майже дослівно переносив усе почуте в зошит. Перед сесією я перечитував це все, намагався завчити і здати іспит.
Чи ефективний такий підхід в епоху ШІ? Ні. При такому навчанні зміст лекцій не ставав частиною моєї власної системи мислення, не розширював і не збагачував її. Я лише перетворював почуті слова на записи, які певний час зберігав, а потім викинув і забув. Я і, наприклад, зміст лекцій з функціонального аналізу так і залишилися чужими одне одному. Що саме я робив не так? Що поганого в тому, щоб записати матеріал і завчити його?
Проблема в тому, що за сліпого копіювання головною метою непомітно стає не розуміння, а бажання якомога міцніше втримати те, що ти нібито «вивчив». Я не намагався створювати чи вигадувати щось нове. Не ставив під сумнів записане. Не грався з ідеями і не експериментував. Навпаки. Мене лякали свіжі думки або ідеї (бо їх не було у мене в конспекті). Я боявся, що на іспиті викладач дасть трохи інший приклад, ніж той, розвязання якого я завчив. Навіть невелике відхилення від знайомого шаблону руйнувало впевненість у тій фіксованій сумі знань, яку я намагався втримати. Я відчував, що будь-які ідеї, зміст яких важко засвоїти і зафіксувати в конспекті, лякають, як і все, що розвивається і змінюється, тобто не піддається контролю.
У результаті я вчився не мислити, а відтворювати, і все це тривало, доки не зустрів викладача, який показав мені, яким насправді має бути навчання.
1 112
З ким сьогодні не побачилися на мітингу під театром Франка — побачимося ввечері о 18:30 :)
Презентую оновлений курс Algorithms in Practice: розповім про програму, нові теми та формат навчання. Познайомимося, поспілкуємося і відповім на всі запитання.
Приходьте — буде цікаво і без нудних слайдів 🙂
