Generic Talks

Generic Talks

Душевные беседы о программировании и смежных темах. Говорим о коде: высоко-

и низкоуровневых вещах, правильном использовании технологий и, конечно, производительности.

All Episodes

В гостях у нас Алексей Палажченко. 1. Проект над которым работает Алексей - https://www.talos.dev 2. Generics в следующей версии Go 3. Стоит ли менять стандартную библиотеку и как это делать Новые темы заносите сюда: https://github.com/generictalks/nextepisode/issues Наш чат в Telegram: https://t.me/generictalkschat Patreon: www.patreon.com/generictalks

Oct 12

1 hr 32 min

1. Организация нового сезона 2. Roman Khavronenko: Open-source strategy at VictoriaMetrics 3. Big product companies not using Go 4. Разумно ли разрабатывать гибридное приложение с использованием Go и PHP? Почему компании делают так? Новые темы заносите сюда: https://github.com/generictalks/nextepisode/issues Наш чат в Telegram: https://t.me/generictalkschat Patreon: www.patreon.com/generictalks

Sep 27

1 hr 13 min

Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Apr 24

1 hr 18 min

Ведущие: Олег и Богдан Teмы: 1. Java 16 2. Нахождение багов в конкурентном коде Go 3. Реквест хеджинг 4. https://thenewstack.io/rust-vs-go-why-theyre-better-together/ 5. Dart and Flutter Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Mar 23

2 hr 21 min

Ведущие: Олег и Богдан Teмы: Транзакции и по книге и без. Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Mar 16

1 hr 29 min

Ведущие: Олег и Богдан Teмы: Разговаривали о выборе рантаймов, бенчмаркак и производительности. Отвечали на вопросы слушателей. Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Feb 16

1 hr 24 min

Ведущие: Олег и Богдан Teмы: Разговаривали просто о всяких интересностях. "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 5 - Replication (Leaderless Replication) Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Feb 10

1 hr 21 min

Ведущие: Олег и Богдан Teмы: Разговариваем про Kubernetes и о том что наболело. Есть ли способы все упростить. "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 5 - Replication. Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Feb 10

1 hr 53 min

Ведущие: Олег и Богдан Teмы: Обсудили язык программирования Vale и их интересный подход к управлению памятью на основе регионов и поколенческих ссылок. - https://vale.dev - https://vale.dev/blog/generational-references - https://vale.dev/blog/hybrid-generational-memory Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jan 29

1 hr 39 min

Ведущие: Олег и Богдан Teмы: Обсудили почему рантаймам с продвинутыми сборщиками мусора надо намного больше памяти а также обсудили зачем делать GC в Rust) Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jan 12

1 hr 20 min

Ведущие: Олег и Богдан Teмы: Обсудили релиз ноуты Go 1.16 и темы из нашего огненного GenericTalks чата о том нужны ли код аннотации в Go и тд. Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jan 12

1 hr 50 min

Generic Talks S02E11 "Go Systems Conf" Ведущие: Олег и Богдан Teмы: Обсудили лучшие доклады этой конференции https://www.youtube.com/watch?v=inrqE0Grgk0 1. High Performance Manual Memory Management in Go 2. Floating-point number parsing with perfect accuracy at a gigabyte per second 3. Serializing Data in Go 4. The Dark Side of Go: Go’s Runtime Related Problems in TiDB Production Environment 5. Can We Panic Yet? Error Handling in Go Дополнительные ссылки: - https://github.com/microsoft/snmalloc - https://youtu.be/XRAP3lBivYM - https://github.com/tinylib/msgp Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Dec 2020

1 hr 28 min

Ведущие: Олег и Богдан Гость: Юрий Насерединов Темы: 1. Новий инструмент от Олега для проверки и созданий правил структуры проекта - https://speakerdeck.com/olegkovalov/impguard-protect-your-project-structure 2. Идея и опыт имплементации ускорения пакетов, которые используют reflection в Go 3. Сведенья очевидцев работавших с M1 от Apple 4. "Книжный клуб" читаем и обсуждаем Titus Winters, Tom Manshreck, and Hyrum Wright / Software Engineering at Google: Lessons Learned from Programming Over Time (2020) CHAPTER 4 - "Engineering for Equity" Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Nov 2020

2 hr

Гость: Вячеслав Егоров Ведущие: Олег и Богдан Темы: 1. История самого языка и как он сейчас развивается. 2. JIT компилятор и сборщик мусора. 3. Создание AOT компилятора и жизнь без спекуляций. 4. Опыт отказа от ассемблера в пользу своего IL для некоторых специализаций. 5. Поддержка дженериков в AOT компиляторе без взрыва количества сгенерированного кода. 6. Многопоточность в Dart, isolates, раздельные хипы и как это упростило/усложнило рантайм и сборку мусора. Полезные материалы: 1. Доклад "10 years of Dart" - https://mrale.ph/talks/vmil2020 2. Подкаст "TLB HIT" - https://tlbh.it/ Конференция "Dart UP" - https://dartup.ru/eng/ Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Nov 2020

1 hr 54 min

Состав: Олег и Богдан Темы: 1. Обязан ли мейнтейнер проекта с открытым кодом фиксить баги и не просить за это деньги? - https://news.ycombinator.com/item?id=25099862 2. О структурировании проектов, архитектуре и переусложнении 3. Software engineering vs. config editing 4. "Книжный клуб" читаем и обсуждаем Titus Winters, Tom Manshreck, and Hyrum Wright / Software Engineering at Google: Lessons Learned from Programming Over Time (2020) CHAPTER 2 and 3 - "How to Work Well on Teams" and "Knowledge sharing" Мы не успели ответить на все ваши вапросы поэтому постараемся обсудить их в одном из следующих выпусков. Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Nov 2020

1 hr 32 min

Состав: Олег и Богдан и гость Сергей Бронников Темы: - Тестирование операционных систем, БД и другого низкоуровневого и системного ПО. Как искать баги там где их никто не ждет? - Тестирование распределенных систем. Проверка коректности и отказоустойчивости. - Мутационное тестирование системного и прикладного ПО. - Аналитика и метрики в тестировании. - Эффективность автоматического тестирования. Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Nov 2020

1 hr 59 min

Состав: Олег и Богдан. Темы: 1. Timeouts and cancellation for humans - https://vorpus.org/blog/timeouts-and-cancellation-for-humans/ 2. Adaptive Radix Tree и The ART of Practical Synchronization - https://15721.courses.cs.cmu.edu/spring2016/papers/leis-icde2013.pdf - https://db.in.tum.de/~leis/papers/artsync.pdf 3. Go 1.16 - early devirtualization pass и другие предложения по улучшению Go - https://github.com/golang/go/issues/33160 - https://github.com/golang/go/issues/33502 4. "Книжный клуб" читаем и обсуждаем Titus Winters, Tom Manshreck, and Hyrum Wright / Software Engineering at Google: Lessons Learned from Programming Over Time (2020) CHAPTER 1 - What Is Software Engineering? Если Вы хотели бы послушать наше интервью с кем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Nov 2020

1 hr 42 min

Состав: Олег и Богдан. Темы: 1. Domain-Oriented Microservice Architecture - https://eng.uber.com/microservice-architecture 2. Bw-Tree - http://www.cs.cmu.edu/~huanche1/publications/open_bwtree.pdf - https://sled.rs 3. "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 4 - Encoding and Evolution Если Вы хотели бы послушать наше интервью с какем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Oct 2020

1 hr 52 min

У нас в гостях Артем Хвастунов и Марат Хабибуллин - разработчики GoLand из JetBrains. И разговаривали мы об внутреностях и особеностях этой самой продвинутой IDE для Go. Вопросы которые мы обсудили: - История. Как вообще родилась IDEA (первая IDE от JetBrains), почему написана на Java? - Как устроен отказоустойчивый и самовосстанавливающийся при сломаном коде парсинг? - Как выглядит внутреннее представление кода какие структуры данных используются внутри? - Зачем вам своя виртуальная файловая система? - Что делает GoLand когда долго что-то индексирует или делает начальную индексацию? - Как вообще живется на JVM не напрягает ли GC? - Как устроены плагины и почему иногда надо перегружать IDE для их установки? - Language Server Protocol, есть ли планы по поддержке? - Как тестировать такую сложную и гибкую систему с сотнями разных конфигураций и молудей? - Как начался GoLand как плагин и как потом переделался в самостоятельную IDE? - Переиспользуете ли какие-то части тулинга Go? - Специфичные инспекции и смарт комплиты. - Статистика - какими комплитами и постфиксами люди пользуются, какие ошибки вы чаще всего допускают. - Интеграция с дебагером. - Поддержка модулей. - Пропоузал по дженерикам. Насколько сложно их будет поддержать в IDE? Ссылочки: - Доклад "Алексей Кудрявцев — Computer Science еще жива" https://bit.ly/3kkixoH - GoLand - https://www.jetbrains.com/go/ Если Вы хотели бы послушать наше интервью с какем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Oct 2020

2 hr 13 min

Оригинальный состав Олег, Искандер и Богдан. Темы: 1. Github Codespaces - https://github.com/features/codespaces 2. О причинах появления языков: - https://nim-lang.org - https://ziglang.org - https://www.beeflang.org - https://www.red-lang.org 3. Locking in WebKit: - https://webkit.org/blog/6161/locking-in-webkit/ - https://aspenuwu.me/posts/rust-optimization.html - https://github.com/Amanieu/parking_lot 4. Type filters & Ruleguard - https://twitter.com/dgryski/status/1317245210041012224 - Что такое фильтры типов в ruleguard - Фильтры структурных типов в ruleguard (type matching) - Underlying types - Что означает “contains?” - Как выразить фильтр для подвыражения фильтра https://bit.ly/2FEfEjq 5. "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 3 - Storage and Retrieval На следующий раз в "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 4 - Encoding and Evolution Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с какем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Oct 2020

1 hr 52 min

Оригинальный состав Олег, Искандер и Богдан. Темы: 1. Как будут имплементировать generics в Go? Осуждаем возможные варианты, их преимущества и недостатки. - обусждение: https://groups.google.com/g/golang-dev/c/OcW0ATRS4oM - имплементация в Swift: https://www.youtube.com/watch?v=ctS8FzqcRug 2. Пишем БД на языках с рантаймом, чего не хватает? - крутой оптимизирующий компилятор - доступ к векторизированым операциям - отсутствие глобального хипа по дефолту - гранулярный контроль над скедулером - возможность работы с памятью мимо сборщика муссора - переписать стд либ чтобы она по дефолту меньше аллоцировала и давала контроль над аллокациями - дать возможность четко отслеживать размеры обьектов - сделать апи для фриза обьектов при шаринге между горутинами - персистентные структуры данных 3. "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 2 - Data Models and Query Languages 3.1. Обсуждаем вопросы к предыдущей главе. На следующий раз в "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 3 - Storage and Retrieval Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с какем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Oct 2020

2 hr 8 min

Старт второго сезона. Новые темы, рубрики, гости... В этом выпуске оригинальный состав Олег, Искандер и Богдан. Темы: 1. Энтерпрайз ли язык этот Go? - https://bit.ly/34jnabS 2. Challenges in Thread-per-core Implementations. & Vectorized.io blog. - https://bit.ly/3ivwYEL - https://vectorized.io/tpc-buffers/ - https://www.youtube.com/watch?v=p8d28t4qCTY 3. DigitalOcean's Hacktoberfest is Hurting Open Source. 4. Анонс новой рубрики. "Книжный клуб". Читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 1 - Reliable, Scalable, and Maintainable Applications. 5. Чем смыть горечь после интевью или "Коллеги, вы меня огорчаете." - https://bit.ly/3jvEj8p 6. Игрушка для программистов, кодинг на Go, yaegi внутри wasm для serverless исполнения кода на клиенте. - https://quasilyte.dev/gophers-and-dragons/ 7. Сжатия кода, а разжатие через gofmt; serverless шаринг кода через lz-compress для данных в URL. - https://github.com/quasilyte/minformat На следующий раз в "Книжный клуб" читаем и обсуждаем Martin Kleppmann / Designing Data-Intensive Applications (2017) CHAPTER 2 - Data Models and Query Languages. Свои вопросы и заметки по главе пишите сюда: @generictalks_bot Если Вы хотели бы послушать наше интервью с какем-то интересным или хотите сами прийти - присылайте предложения сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Oct 2020

2 hr 9 min

В гостях у нас Данила Кутенин и Артемий Рябинков. Мы говорим про конкурс Телеграма по созданию агрегатора новостей: общая архитектура, распожнавания языка, категоризация, создание тематической ленты и оптимизации. Также упомянули несколько других тем)

Aug 2020

1 hr 41 min

В гостях Иван Присяжный из Scylla. Поговорили про такие базы как Sled, Aerospike, LMDB. Про языки Rust, Go, Java. Немножко про транзации и процы.

Aug 2020

2 hr 32 min

В гостях Иван Углянский. Мы поговорили про: - cборщики мусора: двигающие и недвигающие, поколенчиские и нет, консервативные и точные - cэйфпойнты, кооперативная и принудительная остановка потоков выполнения - как дружить толстый рантайм с нативными вызовами: JNI, Panama - немножко затронули другие большие проекты в Java мире: Valhala, Loom 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jul 2020

1 hr 59 min

Вместе с Егором мы обсудили последние новости про Jai и Zig, а также ответили на вопросы слушателей. 🎙Наш канал в YouTube - bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jul 2020

2 hr 26 min

Небольшой выпуск в котором мы обсудили найм, собеседования, задачки, отзывы и просто случаи из жизни. 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jul 2020

2 hr 22 min

В гостях Александр Валялкин автор FastHttp и VictoriaMetrics. Мы поговорили про то как команда VictoriaMetrics пилит супер быструю и оптимизированую базу данных для временых рядов с упором на мониторинг и совместимую по протоколу с Prometheus. Обсудили: - как устроена архитектура - внутренние структры данных - менеджмент памяти - лейаут данных на диске - работу с кешами - ужатие точек - всякие оптимизации которые применяются - отказоустойчевости и востановление после падений - будущие планы и развитие Еще на закуску мы с Олегом обсудили новый пропоузал про дженерики в Go. https://victoriametrics.com

Jun 2020

2 hr 53 min

Что Нового В Go 1.15. Новый Линкер. Аллокатор на передаче сообщений. Конец записи у нас немного повредился поэтому без прощаний) https://tip.golang.org/doc/go1.15 https://docs.google.com/document/d/1D13QhciikbdLtaI67U6Ble5d_1nsI4befEd6_k1z91U/view https://github.com/microsoft/snmalloc

Jun 2020

1 hr 39 min

Мы говорили об вызовах написания рекламного серверсайда, Go, базах данных Aerospike, Postgres, Casandra, Druid и многом другом. Приходите к нам в https://bit.ly/3bpP7QL тут можно обсудить выпуски, задать вопросы ведущим и предложить темы для следующих выпусков. Если хотите прийти в гости пишите или оставить анонимный отзыв пишите сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jun 2020

3 hr 24 min

Выпуск в котором: - мы травили басни из прода - поясняли за рективщину - обсуждали статью об том что компилятору Go пора становится более умным - ну и ГУЛАГ, рабов и расстрельные списки Приходите к нам в https://bit.ly/3bpP7QL тут можно обсудить выпуски, задать вопросы ведущим и предложить темы для следующих выпусков. Если хотите прийти в гости пишите или оставить анонимный отзыв пишите сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Jun 2020

2 hr 18 min

У нас в гостях Слава Бахмутов из GolangShow. Мы говорили про то как был устроен бекенд в Dropbox: - как были устроены сервисы и как они развивались со временем - какие языки использовались, какие прижились и как проходили перезды с одних технологий на другие - монорепозиторий, инфраструктура сборки и разработки - как устроена интроспекция: логеры, мониторинг, обнаружение ошибок - и самое вкусное 😀: масштабирование баз данных, шардирование, умные прокси сервисы, отказоустойчивость и управление трафиком... Eще поговорили об стартапе над которым сейчас работает Слава: в чем идея, как все устроено внутри, на чем написано, как планируете масштабировать и делать большие ивенты... В конце немного про переезды и жизнь в разных странах 🛤 Полезные материалы: - протоколы для коммуникации: https://dropbox.tech/infrastructure/courier-dropbox-migration-to-grpc - графовая база edgestore с бекендом на mysql: https://dropbox.tech/infrastructure/reintroducing-edgestore - инцидент менеджмент и какие-то веселые истории из прода: https://medium.com/life-inside-dropbox/kelsey-fix-shares-the-story-behind-dropboxs-largest-outage-ever-3d5e2d502062 - небольшой подкаст про потоковые кодеки и всякие сетевые штуки, который мы обещали найти слушателям на стриме в Youtube. ☣️☣️☣️ Но будте осторожны авторы подкаста хардкорные последователи FP 👹: https://www.youtube.com/watch?v=5UNbZzOA-70 Приходите к нам в https://bit.ly/3bpP7QL тут можно обсудить выпуски, задать вопросы ведущим и предложить темы для следующих выпусков. Если хотите прийти в гости пишите или оставить анонимный отзыв пишите сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

May 2020

3 hr 20 min

Всем привет, мы на этой неделе не записывались, но приготовили вам сюрприз из нашего архива: офигенный выпуск с Yuriy Nasretdinov. Тем временем приходите к нам в https://bit.ly/3bpP7QL тут можно обсудить выпуски, задать вопросы ведущим и предложить темы для следующих выпусков. Если хотите прийти в гости пишите или оставить анонимный отзыв пишите сюда: @generictalks_bot 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

May 2020

2 hr 40 min

Мы поговорили об GolangCI-Lint, WebRTC на Go, а также про новые языки и их адопшен в больших компаниях. 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

May 2020

4 hr 4 min

У нас в гостях Илья Токарь и мы поговорили о дикататуре в Open Source, монополии в браузерах, будущем Go и еще о всяких вещах. 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Apr 2020

2 hr 41 min

Этот выпуск был записан в разслабленом режиме после Stay homе и GOnline митапа. Мы разговаривали об самом митапе, докладах, немного о базах и всякой всячине. 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Apr 2020

1 hr 54 min

У нас в гостях разработчики PVS-Studio Филипп Хандельянц и Юрий Минаев. Поговорили про внутренности их статического анализатора, необычные и хардкорные фичи: 1) На каком представлении работают? 🌲🌳🌴 2) Как это все умещают в память? 💾 3) Как сделали однопроходный анализатор? 🚀 4) Как кэшируют, работают с разными языками, обходят препроцессоры/макросы/темплейты и многое другое. 📣 Еще PVS-Studio стали нашими спонсорами. 📣 Здесь вы можете скачать PVS-Studio: https://www.viva64.com/ru/pvs-studio-download/?promo=generictalks ✅ и если ввести промокод #generictalks в поле "Сообщение" на странице скачивания, можно получить бесплатную лицензию на месяц, вместо 7 дней. Заранее спасибо! 🎙Наш канал в YouTube - https://bit.ly/3cwXsmI 📹 Шоу с код ревью и кучей интересных советов - https://bit.ly/2zc2w1j (и Телеграм @good_bad_reviewer) 💵 Patreon - www.patreon.com/generictalks

Apr 2020

2 hr 25 min

В Гостях Алексей Акулович. Мы поговорили про разработку игр как хобби, ограничение потребления памяти для процессов Go и о том как неправильно сравнивать программистов. Парочка ссылок: Go heap limits - https://go-review.googlesource.com/c/go/+/227767/ Ludum dare 2020 - https://ldjam.com/ Блоги про разработку игр: https://www.youtube.com/user/handmadeheroarchive/videos https://www.youtube.com/user/jblow888/videos https://www.youtube.com/channel/UCUmLRMERmJrmUtgnbFfknAg/videos https://www.youtube.com/user/ThinMatrix 🎙Наш канал в YouTube - https://www.youtube.com/channel/UCLW_8skJ-sIHXACL7HZqchA 📹 Шоу с код ревью и кучей интересных советов - https://www.youtube.com/channel/UC8_A5W8g7UV0pk0uL66iQAQ (и Телеграм @good_bad_reviewer) 💵 Patreon - https://www.patreon.com/generictalks

Apr 2020

2 hr 58 min

Говорим Про GPU. Гость Георгий Евтушенко (Georgy Evtushenko) Twitter: @g_evtushenko Blog: https://medium.com/@evtushenko.georgy 1. Источники ускорения при использовании GPU. 2. Специфика разработки под множественные GPU 3. JIT компиляция как источник оптимизации 4. HIP как способ поддержания единого кода для GPU от AMD и NVIDIA 5. Подходы к поддержанию единого кода для GPU и CPU.

Apr 2020

2 hr 5 min

Разговариваем про LLVM 10, Zig CC, Lazy Values в Go, парсеры Прата.

Mar 2020

2 hr 38 min

15й выпуск Generic Talks, к нам пришел супер-гость Илья Токарь, и выпуск получился крутой. 00:00:00 - Илья из Гугла и его перформанс ремесло. 00:05:00 - Говорим об ProtocolBuffers и отличиях от FlatBuffers. 00:13:30 - Пример прикладной оптимизации: сериализация float. 00:35:54 - Как собеседовать перформанс инженера? На что обращать внимание? 00:21:40 - Насколько часто мы сваливаемся в асемблер кода оптимизируем последние процентики? 00:40:27 - Как мы следим за прогресом Go и сколько мы будем оптимизировать всего когда появятся generics. 01:02:44 - Костыли для C++ которые делают его немного безопасние vs костыли которые делают Java быстрее. 01:25:00 - Можно ли изменить сalling convention для Go? 01:42:27 - Закон Мура умер? Что теперь делать? Можем ли мы передвинуть примитивные структуры данных в камень? Говорим про FPGA. 02:16:40 - Сколько оверхеда вносит виртуализация. Почему между скоростью и безопасностью мы выбираем скорость? JavaScript vs C++ vs Rust - кто к кому заходит на поляну?

Mar 2020

2 hr 48 min

Новый выпуск Generic Talks про GolangCI-Lint, как настраивать линтеры на CI, дизайнить API под батчинг по дефолту, делать кеширование и другие вещи. А еще к нам зашел Юра, наш друг и гость. Это запись live-подкаста которая также доступна в Youtube https://www.youtube.com/watch?v=RUVEewnD5ww В Телеграме помимо канала есть и чат, там можно все обсудить t.me/generictalks

Mar 2020

2 hr 11 min

Стабильная, как Go 1, тройка Generic Talks снова на связи. К нам зашел Александр Морозов, напомнить о GopherCon Russia 2020 и поговорить о таймерах. В Телеграме помимо канала есть и чат, там можно все обсудить https://t.me/generictalks 00:00:00 - Гость Александр и его карьерный путь за руку с Go к C++ 00:06:52 - Как Гугл делает так, чтобы инженеры придерживались одного стиля написания кода. Анонс 2х докладов на GopherCon Russia от Александра и Елены Морозовы. 00:08:25 - Говорим про таймеры в Go и вообще) Связь таймеров со scheduler. Структуры данных для хранения таймеров плюсы и минусы разных подходов. 00:31:05 - Менеджмент сложности в языке и runtime. Гибкость и скорость экспериментов в разных языках. 00:50:43 - Статья про то, как какой-то человек потратил целую жизнь зря из-за того, что начал работать с Go вместо Rust. 01:17:09 - Spanner, и n00b intro в newSQL от Богдана :)

Mar 2020

1 hr 39 min

Богдан, Олег и Александр (наш крутой гость) собрались поговорить про язык К и базу данных kdb. Александр еще ведёт 2 канала в Телеграме https://t.me/linkstream и https://t.me/notatky А еще напомним о нашем Патреоне https://www.patreon.com/generictalks 00:00:00 - Гость Александр и его биржевые будни) 00:18:40 - Что такое kdb и язык K? Как его придумали на что это похоже, зачем применяется? 00:31:59 - Автовекторизация кода, встроеные типы языка, data-driven design. Сколько это стоит и как скейлится? 00:43:34 - Как деплоить, мониторить и эксплуатировать такие системы? Как устроена репликация и отказоустойчивость? 00:56:52 - А чем это отличается от NumPy или обычной библиотеки для векторных вычислений? 01:06:00 - Какие есть проблемы чего хотелось бы добавить этой среде и языку? Завершающие мысли и обсуждение применимости этой технологии вне узкоспециализированных кейсов. Можно ли загонять все эти вычисления в GPU?

Feb 2020

1 hr 23 min

Выпуск о новой версии Go, а еще и Java и как же весь runtime работает. С вами Олег, Богдан и Искандер. Ждем в нашем Телеграме @generictalks 00:00:00 - Вводная. Go 1.14 00:01:00 - Изменения в языке и тулинге. 00:07:34 - Новая оптимизация defer. Как это работало, как теперь будет работать. Хендлинг паник. Использование defer в performance-critical коде. 00:22:52 - RISCV как новый экспериментальный таргет. 00:29:24 - Некооперативная многозадачность. Изменения в скедулере чтобы поддержать асинхронный goroutine preemption. Говорим об общем устройстве многозадачности в текущем runtime и как оно изменится в 1.14. Консервативная сборка мусора. 01:20:10 - Оптимизация аллокатора в 1.14. Общее устройство текущего аллокатора, как и почему его поменяли. 01:53:04 - Оптимизация таймеров в рантайме

Feb 2020

2 hr 3 min

И вот Богдан, Искандер и Олег собрались поговорить о таких темах (а ссылки на материалы доступны в нашем Телеграме): 00:00:00 - Discord переписывает что-то с Go на Rust. Ну и что тут такого? В чем проблема то? Разбираемся в том что именно они переписывали, какая именно была архитектура. 00:06:50 - Какую проблему они решали, как они ее решили, как можно было решать по другому. В чем проблема LRU кэшей внутри управляемых рантаймов. 00:14:05 - Они использовали старый Go. Можно ли сравнивать новую реализацию на расте и старую на старой версии компилятора? 00:17:45 - Что можно было сделать и какой результат они бы получили и почему В ИХ КОНКРЕТНОМ случае выбор Rust вполне оправдан. 00:32:52 - Странный кусок про кривую Шипилева🙃 Низкоуровневость, производительность, безопасность. Применение слабых ссылок и коллекторов с поколениями. 00:42:01 - Rust и сила эксперимента. Текущий прогресс языка от Джонатана Блоу. Параллелизация компилятора Go и новый линкер. 00:56:12 - Статический анализ в Bash, Go и вообще. Сколько мы еще будем автоматизировать рутинные задачи на продакшене с помощью небезопасных интерпретируемых языков? 01:07:32 - Учим машины понимать нашу бредятину и подсказывать по возможности. GoGrep, Ruleguard, шаблоны поиска кода и написание кастомных правил для вашего проекта или команды. Прямая интерпретация AST. Супер фича: мы можем не просто ткнуть носом в ошибку, но и предложить как исправить. 01:43:46 - Почему бы машинам самим не научится проверять код и ломать его полностью, в целях общего блага.

Feb 2020

2 hr 3 min

Богдан, Олег и специальный гость Роман Хавроненко из Cloudflare. 00:00:00 - Вводная. Патроны. Гость Роман из Cloudflare. 00:02:21 - С места в карьер. Есть ли замена ClickHouse? Druid, Redshift и ручные поделки. Как работать с большим количеством выборок в ClickHouse. 00:13:55 - Отказоустойчивость. Минутка SRE. Graceful degradation. Планирование и внедрение SLA и SLO. Зачем нужен Error Budget. Травим байки. 00:29:51 - Обузданый хаос. Как заставить своих программистов правильно обрабатывать ошибки и не падать по первому чиху. Поможет ли нам service mesh? 00:37:25 - Где предел паранойи? Можно ли отхендлить какую угодно ошибку? Когда пора остановится? 00:46:44 - Пытаемся разобрать конкретный пример и паттерны которые можно использовать. 00:55:45 - Графиков так много что глаза разбегаются. Автоматический корреляционный анализ. Metrics Driven Development. 01:07:58 - Adaptive capacity limiting и smart load balancing. Как косвенно или напрямую измерять загруженность сервера и почему мерять CPU load не всегда правильно. 01:18:08 - Приоритизация трафика и load shedding. Как работать с запросами произвольной сложности. Event sourcing and CQRS. 01:34:10 - Экзотические техники работы с перегрузками: батчинг, агрегация, сэмплирование.

Feb 2020

1 hr 46 min

На связи Олег и Богдан, ссылки на озвученные вещи в Телеграме @generictalks 00:00:00 - IBM прекращает инвестировать в серверный Swift. Почему так получилось? 00:05:41 - GC в Swift, специфика использования и оптимизации. 00:14:00 - Имплементация сетевых драйверов в userspace, сравнение рантаймов языков. 00:18:29 - Продолжаем рассмотрение статей и результатов. Сравнения разных GC в Java. Зачем добавили Epsilon GC в JVM. Догадка почему латенси колектора который ничего не делает выше, чем у Shenandoah. 00:24:15 - Почему у Swift получились плохие результаты. Думаем как обходить эти проблемы. 00:28:20 - C# молодец ибо позволяет умным человекам сделать как им хочется. Java пока не дотягивает и что сейчас делается чтобы улучшить эту ситуацию. 00:31:50 - Блеск и нищета open source. Что делать и как быть, стоит ли писать свои велосипеды или тащить за собой монструозные проекты с открытым кодом. 00:45:45 - Изучение Go, такой ли это простой язык как его позиционируют? Почему с concurrency никогда не бывает просто? 00:59:40 - Можно ли скомпилировать TensorFlow врукопашную за 48 часов? AOT vs JIT и гибридные решения. 01:14:48 - Сплетни о новой архитектуре процов от Apple 01:25:34 - Ломаем базы с помощью генератора произвольных запросов. Сколько еще багов можно найти в коде которому 20 лет. Почему писать базы очень сложно и как строить архитектуру приложения для максимально эффективного тестирования

Jan 2020

1 hr 31 min

Богдан, Олег и Искандер опять собрались поговорить. Хотим напомнить, что лента подкаста находится в Телеграме, как и чат, где можно добавить вопросы и набросы: https://t.me/generictalks (инвайт в чат в описании) 00:00:00 - Посчитать размер объекта в Go. Что может быть проще? Зачем вообще это делать? 00:12:22 - Как ограничивают память другие известные проекты на Go. Разбираем подходы. 00:17:00 - Как понять что мы достигли предела по оптимизациям и пора внедрять другие подходы. Шипилев и его график) 00:20:22 - В бар заходит Искандер. Unsafe.Sizeof и отдельный пропозал. 00:29:40 - Рекурсивный обход структур в хипе для расчета размера, потенциальные использования рантайма и сборщика мусора. 00:33:46 - Как возможность расчета размеров в рантайме может открыть возможность для других оптимизаций. 00:47:11 - Pluggable GC в Go стоит ли форкать стандартный компилятор и рантайм? 00:50:11 - Говяжий язык. Beef - шаг вперед или очередной велосипед? 01:02:30 - Actix-web - open source, восприятие критики и мнения которые ничего не значат. 01:13:03 - Spinlock vs Mutex почему все так получилось? Почему так сложно правильно бенчмаркать? 01:24:00 - Erlang vs Go vs Java vs NodeJS бенчмарк серверов который не смог. Как сделать adaptive capacity limiter вручную для того чтобы выровнять latency. Говорим о том как анализировать результаты бенчмарков, делать выводы и проверять гипотезы. 01:37:25 - Затравочка будущих выпусков

Jan 2020

1 hr 41 min

С вами Богдан и Олег, вещи упомянутые в выпуске можно найти в нашем Телеграме https://t.me/generictalks 00:00 - Начнём с очереди 10:00 - Capacity planing, metrics 23:25 - Когда работать асинхронно, как правильно? Архитектура SEDA 42:28 - Твит Кармака о Python, C++, C# и Java и что уже железо 47:40 - Не С++ единым, Rust no_std 56:28 - И снова вернёмся к очередям 1:02:05 - Классический race condition, о котором не все знают.

Jan 2020

1 hr 15 min