Generic Talks
869 subscribers
11 photos
130 links
Душевные беседы о программировании и смежных темах. Говорим о коде: высоко- и низкоуровневых вещах, правильном

Web: https://generictalks.com

Feedback: @generictalks_bot

Halp: @olegkovalov
Download Telegram
Audio
Интересна ли вам тема статического анализа кода?
Anonymous Poll
79%
Да, очень хочу послушать
20%
Неоч, разве что кратенько
1%
Пойду предложу свою в чате
На связи Олег и Богдан в 8м выпуске.

https://soundcloud.com/generictalks/0008-gc-na-serverakh-i-trudnostyakh-razrabotki-s-concurrency

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. Что делать и как быть, стоит ли писать свои велосипеды или тащить за собой монструозные проекты с открытым кодом.
0045:45 - Изучение Go, такой ли это простой язык как его позиционируют? Почему с concurrency никогда не бывает просто?
00:59:40 - Можно ли скомпилировать TensorFlow врукопашную за 48 часов? AOT vs JIT и гибридные решения.
01:14:48 - Сплетни о новой архитектуре процов от Apple
01:25:34 - Ломаем базы с помощью генератора произвольных запросов. Сколько еще багов можно найти в коде которому 20 лет. Почему писать базы очень сложно и как строить архитектуру приложения для максимально эффективного тестирования
Audio
Foundation DB: Autonomous Testing and the Future of Software Development - Will Wilson
https://youtu.be/fFSPwJFXVlw

Valhalla Update with Brian Goetz
https://youtu.be/1H4vmT-Va4o

The Case for Writing Network Drivers in
High-Level Programming Languages
https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/the-case-for-writing-network-drivers-in-high-level-languages.pdf

Тестирование БД https://arxiv.org/abs/2001.04174

Блог* @dereference_pointer_there :)
О! а у нас новость, мы теперь в Google Podcasts. По новой засабмитились, если использовали раньше, то проверьте, что вот по этой ссылке теперь слушаете.

В 2019 гугл обещал завезти подкасты на web и ios, так что подождем.

https://podcasts.google.com/?feed=aHR0cDovL2ZlZWRzLnNvdW5kY2xvdWQuY29tL3VzZXJzL3NvdW5kY2xvdWQ6dXNlcnM6NzAyMDE4Njc3L3NvdW5kcy5yc3M
🎉
А вам интересна текстовая версия подкаста? к примеру автоматической тулзой выдать все в виде текста (с небольшой ручкой доработкой)
Anonymous Poll
67%
Да!!!
31%
Неоч
2%
В чате скажу
Богдан, Олег и специальный гость Роман Хавроненко из Cloudflare.

https://soundcloud.com/generictalks/0009-kogda-servisu-khvatit-nasypat-v-gostyakh-roman-khavronenko

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 - Экзотические техники работы с перегрузками: батчинг, агрегация, сэмплирование.
Audio
А еще у нас появился Патреон, где Вы (дада, именно Вы) можете поддержать подкаст "чеканной монетой" (и тут эта шутка)

https://www.patreon.com/generictalks
Возник вопрос - а нет ли у вас идей для какой-то рубрики в подкасте?

К примеру:
Кого опять обматерил Линус?
Какие дыры безопастности пофиксил syzkaller?
Есть ли новый роутер на го?
Почему нет вакансий на раст?

Будем рады видеть ваши предложения в чате, может в боте @generictalks_bot, можно просто мне в лс @olegkovalov
3k 🎉
Что-то тут тихо....

Так вот, новость, мы теперь на Яндекс.Музыка. Выпуск за прошлую неделю почтииии закончен и будет опубликован. Соряньте за паузу, буду стараться так не делать впредь.

https://music.yandex.ru/album/9937786
Audio
И вот Богдан, Искандер и Олег собрались поговорить о таких темах.

https://soundcloud.com/generictalks/0010-paru-slov-o-staticheskom-analize-koda

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 и новый линкер.
Generic Talks
И вот Богдан, Искандер и Олег собрались поговорить о таких темах. https://soundcloud.com/generictalks/0010-paru-slov-o-staticheskom-analize-koda 00:00:00 - Discord переписывает что-то с Go на Rust. Ну и что тут такого? В чем проблема то? Разбираемся в том…
00:56:12 - Статический анализ в Bash, Go и вообще.
Сколько мы еще будем автоматизировать рутинные задачи на продакшене с помощью небезопасных интерпретируемых языков?
01:07:32 - Учим машины понимать нашу бредятину и подсказывать по возможности. GoGrep, Ruleguard, шаблоны поиска кода и написание кастомных правил для вашего проекта или команды. Прямая интерпритация AST. Супер фича: мы можем не просто ткнуть носом в ошибку, но и предложить как исправить.
01:43:46 - Почему бы машинам самим не научится проверять код и ломать его полностью, в целях общего блага.

Ссылки:

0. https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f

1. https://www.vidarholen.net/contents/blog/?p=746 человек писал // как комментарий в баше, что в итоге интерпретировалось как / и rm -rf удалил больше, чем хотелось.

2. https://habr.com/ru/company/pvs-studio/blog/484208 ML и статический анализ (статья от PVS Studio).

3. структурный поиск кода: gogrep, phpgrep, Intellij SSR (AST patterns).

4. https://github.com/quasilyte/go-ruleguard кастомные правила на основе AST patterns.

5. https://godoc.org/golang.org/x/tools/go/analysis Немного про то, что из себя представляет go/analysis и кому на него стоит обратить внимание + его интеграция с gopls.

6. https://help.semmle.com/ CodeQL и его переход в руки GitHub.

7. https://code2vec.org/ https://code2seq.org/