oleg_log
1.73K subscribers
1.88K photos
131 videos
9 files
2.82K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
JUG Ru Group возвращаются с новым сезоном конференций 🔥

А еще предлагают вам попробовать себя в качестве спикера. Если вы хотели поделиться знаниями, но сомневались, стеснялись или просто ждали удачного момента — это он.
Конференции:
•DotNext (.NET) — 7-8 апреля, прием заявок до 3 февраля;
•Heisenbug (тестирование) — 12-14 апреля, прием заявок до 10 февраля;
•HolyJS (JavaScript) — 18-21 апреля, прием заявок до 14 февраля;
•JPoint (Java) — 25-28 апреля, прием заявок до 22 февраля;
•Mobius (мобильная разработка) — 23-26 мая, прием заявок до 21 марта;
•Hydra (распределенные вычисления) — 1-3 июня, прием заявок до 1 марта;
•C++ Russia (C++) — 6-9 июня, прием заявок до 21 марта.

От вас требуется только идея доклада. Если нужно, вам помогут подготовиться от и до. А онлайн позволяет выступить откуда угодно, но можно и из их студии в Питере.
Чтобы узнать больше и заполнить анкету, переходите сюда.

Кстати, билеты уже в продаже — найти их можно на сайтах конференций.
Мне даже чутьчуть стыдно за этот вопрос, но...посоветуйте тему для IDE))))

Светлую и темную, пожалуйста. Хоть мне и интересен VSCode сейчас, думаю каждый найдет или подредачит под свой Fleet, ST4 и даже Notepad++

чмок 🙌
oleg_log
Очень крутой постмортем Roblox после 3х суток афк. https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/ Объясните только одно - почему не ревертнули деплой, когда все стало плохо и латенси скакнуло за 2 секунды? Ресайз машин в такой…
BoltDB author here. Yes, it is a bad design. The project was never intended to go to production but rather it was a port of LMDB so I could understand the internals. I simplified the freelist handling since it was a toy project. At Shopify, we had some serious issues at the time (~2014) with either LMDB or the Go driver that we couldn't resolve after several months so we swapped out for Bolt. And alas, my poor design stuck around.

https://news.ycombinator.com/item?id=30015913

Теперь вспоминаем, что Bolt и в etcd тоже живёт. Ой-ой...
Жаль люди не оценили мем. Скорее от незнания игры Wordle и как по ней все угорают. На самом деле это старая игра про угадывание слова, зная только какие буквы в попытке на правильном месте, а какие просто присутствуют в слове.

Вон даже Robert Griesemer в твиттере постит. Вещь прикольная, но все таки надо знать больше слов, чем const, class, mutex (у вас кстати еще нет канала на слаке про игру? а пора бы).

Еще пасхалка от гугла - загуглите wordle и получит анимацию в лого.
Интересная аргументация про переписывание tsc (TypeScript Type Checker) на Go, а не Rust.

tsc uses a lot of shared mutability and many parts depend on garbage collection. Even though I’m an advocate and believer in Rust, it doesn’t feel like the right tool for the job here. Using Rust required me to use unsafe too much for this specific project.

tsc depends on shared mutability and has a cyclical mutable reference. Rust is designed to prevent this behavior. Having two references to the same data (shared mutability) is undefined behavior in Rust.

Если чуть другими словами - между переписыванием и портированием есть разница и это стоит учитывать. Во делааааа.

https://kdy1.dev/posts/2022/1/tsc-go

Кстати, я в декабре как-то один жс/тс код на го переводил и получалось довольно вменяемо. Конечно некоторые вещи с типами пришлось чутьчуть подумать, как это внятно перенести без interface{} но вышло даже приятно.
proposal: constraints: move to x/exp for Go 1.18

Нежданчик, если честно, хотя можно найти больше пользы, чем вреда - 1.х остаётся на месте ВОТ ПРЯМ 100% и только дженерик-озабоченные полезут в x/exp пакеты. +6 месяцев спокойствия для коммюнити.

https://github.com/golang/go/issues/50792

For all these reasons, it probably makes sense to move constraints to x/exp along with slices and maps for Go 1.18 and then revisit it in the Go 1.19 or maybe Go 1.20 cycle. (Realistically, we may not know much more for Go 1.19 than we do now.)
oleg_log
Мда, палево. https://t.me/golangdigest/2281 Короч просто Grafana Tempo и Loki начали юзать (1е давно, 2е на неделе) и подумал, а почему бы не пиарнуться? Вот и запостил на Reddit. Tempo себе p99 почти в 2 раза меньше сделали https://twitter.com/actuall…
Ващета я еще и https://github.com/cristalhq/hedgedgrpc наклацал в рамках #hq, но вот до тестов не дошел, потому что как-то не сталкивался для грпц с 0 писать, так, дописывать скорее.

Поэтому обращусь к вам: кто готов написать тесты для репы кто-то мог бы подкинуть пример хорошего теста на grpc? естественно интересен Github, чтобы это можно было увидеть, ну или что-то личное в лс/gist чтобы глянуть.

(про зачеркнутое не шутка, смержится сильнейший)
Вам правда стектрейсы привязанные к ошибкам нужны? Вот я не про nice-to-have, а когда без них нельзя понять как такая ошибка вышла. Еще раз подчеркну - стектрейсы, когда каждая фция с соотв линией в коде в ошибку засовывается. В скобках речь о языке, кэп
Anonymous Poll
29%
Да (go)
16%
Не (go)
44%
Да (не go)
6%
Не (не go)
5%
Другое
А потом люди умудряются себя сравнивать с инженерами и мол как трудно писать код 🙈
Ну это, всё 🤷

https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python

> Finally! I’m a big fan of Python, but I hope they remove ALL Python from the OS itself. I’ve spent many hours over the years messing with setups to resolve bugs caused by python scripts picking up the Mac OS python install rather than the user-installed version. They really shouldn’t be bundling any Python version with the OS - the user should choose the versions installed. It’s much cleaner that way.

HN как всегда радует
Помянем Effective Go. Чутьчуть. https://go-review.googlesource.com/c/website/+/380634/
Блин, Google (Chrome), это уже как-то слишком. Забавно, что он сперва открыл страницу, а потом эту штуку показал.

Даже как-то стремно стало, ведь 95% не айти пользователей правда подумали бы, что это кидалово и не перешли. Ну есть такой шанс.

(вообще там статья о GDPR и передачи пользователя гугл для получения шрифта от Google Fonts, звучит даже как-то тупо, выходит нельзя делать никаких запросов из браузера польователя в 3rd party сервисы? в этом что-то есть, но попахивает тем, что теперь каждому сайту ЕС может вкатить штраф https://rewis.io/urteile/urteil/lhm-20-01-2022-3-o-1749320/ + https://news.ycombinator.com/item?id=30135264)
Красиво про монорепы https://monorepo.tools/

С одним мааааааленьким замечанием: авторы сайта это авторы Nx, билд тулзы для монореп (да и на их сайте крутится девелопь как ФААНГ)

Поэтому аргументация про полирепы чуть однобокая, монорепу можно тоже из 💩 и 🎋собрать.
Go 1.18 beta2 вышла, ну точнее просто тегнута была https://github.com/golang/go/compare/go1.18beta1...go1.18beta2

На скрине аргумент для тех, кто не хочет видеть дженерики в проекте, но не знает как коллег по проекту. Вот отговаривайте офиц словами го тим.

Спасибо @teamerlin, прям быстрее офиц твиттера запостил.

Коммит со скрина https://github.com/golang/go/commit/1540239f48f6beaa1cae6b34d00d74860366da7d