Petrushenko
رفتن به کانال در Telegram
Founder CS Osvita, Engineering Lead. Все про програмування, освіту та науку. https://www.csosvita.com/ https://www.linkedin.com/in/ivanpetrushenko
نمایش بیشتر1 112
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-37 روز
+330 روز
در حال بارگیری داده...
کانالهای مشابه
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
سپتامبر '26
سپتامبر '26
+6
در 0 کانالها
اوت '26
+17
در 0 کانالها
Get PRO
ژوئیه '26
+30
در 1 کانالها
Get PRO
ژوئن '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 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 16 سپتامبر | +1 | |||
| 15 سپتامبر | 0 | |||
| 14 سپتامبر | 0 | |||
| 13 سپتامبر | 0 | |||
| 12 سپتامبر | 0 | |||
| 11 سپتامبر | 0 | |||
| 10 سپتامبر | 0 | |||
| 09 سپتامبر | 0 | |||
| 08 سپتامبر | 0 | |||
| 07 سپتامبر | 0 | |||
| 06 سپتامبر | +2 | |||
| 05 سپتامبر | 0 | |||
| 04 سپتامبر | 0 | |||
| 03 سپتامبر | +1 | |||
| 02 سپتامبر | +1 | |||
| 01 سپتامبر | +1 |
پستهای کانال
Цікавий графік від levels.fyi: компенсація Senior SWE vs те, як компанії змінювали кількість інженерів за останні 24 місяці. Кілька спостережень, які добре перетинаються з тим, що ми бачимо в CS Osvita по оферам студентів:
- Anthropic, Ramp, Snowflake та NVIDIA, здається, зараз виглядають одним із найгарячіших місць для сильних інженерів
- Google і Uber залишаються дуже сильними варіантами, особливо якщо розглядати релокейт і подальший переїзд у США
- Швидкозростаючі стартапи — хороший вибір, якщо хочеться більше ownership
| 2 | Вийшов розбір рішень:
https://mummanajagadeesh.github.io/blogs/janestreet-asic-puzzle/ | 751 |
| 3 | “To be is to do” — Socrates.
“To do is to be” — Jean-Paul Sartre.
“Do be do be do” — Frank Sinatra. | 856 |
| 4 | Всім кого цікавить біохакінг
https://www.amazon.com/Protocols-Operating-Manual-Human-Body/dp/1668032147/ | 1 395 |
| 5 | Підтримую. Є дуже якісний український переклад:
https://x.com/dhh/status/2095802713707602044 | 1 200 |
| 6 | Python dict lookup — O(1)? Не завжди.
Класичне питання на співбесіді: яка складність пошуку в dict? Класична відповідь: O(1). Формально правильно. Але ця відповідь мовчки припускає, що обчислення хешу теж коштує O(1). Для int - так. Для короткого ідентифікатора - практично так. А якщо ключ це повний шлях у файловій системі, довгий URL, query signature чи serialized JSON payload - то d[key] перетворюється на O(k), де k це довжина ключа в байтах, а не розмір словника.
Чому тоді Python не помирає на довгих ключах
Через immutability. Рядок у CPython не можна змінити після створення, тому хеш рахується один раз і кешується прямо в об'єкті - поле hash у структурі рядка. Кожен наступний lookup по тому самому об'єкту це просто читання цього поля. Більше того: коли хеші збіглися і вказівники ідентичні, CPython взагалі пропускає посимвольне порівняння. Тому lookup по закешованому ключу справді ~O(1).
Java свого часу пішла іншим шляхом. У 1.0/1.1 String.hashCode() семплив лише кожен (len/8) символ для рядків, довших за 15, щоб зробити хешування константним. Результат - URL і шляхи зі спільним префіксом масово давали колізії, lookup деградував до O(N). У 1.2 семплінг прибрали і прийняли чесний O(k). Python семплінгу не робив ніколи: з 3.4 (PEP 456) це SipHash-2-4 по всьому рядку з рандомізованим seed — заодно захист від HashDoS.
Де пастка
Кеш працює тільки для того самого об'єкта. Щойно ключ створюється заново:
key = f"{tenant_id}:{user_id}:{path}"
value = d[key]
або приходить з json.loads(), зі slicing, з парсингу логів — це новий об'єкт. І ми платимо повне O(k) хешування, а потім ще O(k) memcmp на кожному lookup.
на Python 3.11, ключ 64 KB:
- закешований ключ — 18.4 ns
- свіжостворений — 16 497 ns
Майже 900× на тому самому словнику і тому самому значенні ключа. З них ~11.5 µs це саме хешування, ще ~1.5 µs — memcmp.
Саме такого роду, речі ми розбираємо на Python Advanced: memory model, internals, concurrency, performance та оптимізації. Не «як писати на Python», а як він реально працює під капотом. Потік стартує 4 вересня: https://www.csosvita.com/courses/python-advanced | 1 156 |
| 7 | Ще ніколи на пам'яті живих не було легко - ростити в Україні українських дітей, - і не буде, доки існуватиме росія в її нинішньому вигляді. Щоразу, коли бачу на різних культурних подіях батьків із маленькими дітьми, хочу їм сказати: ви все правильно робите - дитина не запам'ятає, "про що", але назавжди запам'ятає, "як", - і цього їй не одбере ніхто й ніколи: це й є те, що зветься - культурна прошивка.
На фото - перший дзвоник в УФМЛ - ці діти точно її мають. | 932 |
| 8 | Читати. Читати. І ще раз читати.
Товариство, йбнрсн системно атакує українські книжки. Тому пропозиція проста:
Купуйте книжки українських видавництв, скидайте квитанцію з датою від сьогодні — і отримуйте знижку на найближчі курси Python Advanced або Performance Engineering.
Обидва стартують у вересні. Обидва хардкорні. Обидва цікаві.
1 книжка — 5%
2 книжки — 10%
донат на АЗОВ від 5 000 грн — 15%
І так, частину прибутку з цих курсів ми теж задонатимо — як робимо завжди. Тому купуйте українські книжки. Вчіться. Донатьте.
Ми 100% переможемо. А вони традиційно підуть за кораблем 💩🤡🪦 | 1 367 |
| 9 | Думав, що знаю все про бін.пошук, але ні | 1 225 |
| 10 | Мій новий підхід, не дякуйте :) | 1 258 |
| 11 | Круто, що українські школярі перемагають!
https://dou.ua/lenta/interviews/first-european-artificial-intelligence-olympiad/ | 1 232 |
| 12 | Apple представила M5 Ultra. Новий Mac Studio отримав до 512 ГБ об’єднаної пам’яті з пропускною здатністю 1,2 ТБ/с. Для порівняння, у моєї RTX 3090 — 24 ГБ і 936 ГБ/с. Звісно, сама пропускна здатність ще не означає вищу швидкість у всіх задачах, особливо порівняно з CUDA. Але можливість запускати локально величезні моделі, які просто не помістяться у звичайну відеокарту, виглядає дуже цікаво. Ціна Mac Studio з M5 Ultra стартує від $5 499. Дорого, але для локального інференсу великих моделей це вже схоже не просто на комп’ютер, а на компактну AI-станцію. | 1 179 |
| 13 | З Днем Незалежності 🇺🇦
Колись Андрій Малишко написав старанно "зашифровані" рядки:
"Я люблю дороги, стигле жито
Із блакитним небом пополам.
Рідну, славну, у крові умиту -
Я тебе нікому не віддам!"
І два останні рядки сьогодні кожен (крім, хіба, ждунів) може промовити від себе - і про себе. Не віддам. Нікому. І доземний уклін, і довічна дяка всім, хто за Неї воював і воює, живим і мертвим, - за те, що ніколи більше ми не муситимемо таїтись і шифруватися зі своєю любов'ю. | 1 227 |
| 14 | Завтра стартує C++ in Depth. Так, це курс про C++. Але значно більше - про інженерію та системне мислення. Ще можна приєднатися до групи. Реєстрація на https://www.csosvita.com/courses/c-plus-plus-in-depth | 1 659 |
| 15 | дуже цікава стаття про те, як GitHub оптимізував case folding, приведення тексту до форми для case-insensitive порівняння, у своєму пошуковику Blackbird, який індексує сотні терабайтів коду, треба буде додати її розбір в курс про перформенс
https://github.blog/engineering/architecture-optimization/dont-stop-early-case-folding-source-code-at-memory-speed/ | 1 514 |
| 16 | https://arxiv.org/abs/1912.06680 | 1 703 |
| 17 | Колись ще в універі я думав, що більшість дивних речей у 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 267 |
| 18 | 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 795 |
| 19 | Хороша команда вийшла :)
https://x.com/JeffDean/status/2085034604172603724 | 1 405 |
| 20 | https://john.fun/elevators | 1 425 |
