Size: a a a

2022 January 23
oleg_log
Хах, сейчас словил забавную вещь.

Я недавно пересел с iPhone 7 на 11, но любимый 2FA не перерегал и фиг с ним, залогинился в важное и забил.

Но вот, пришел ноут и как можно догадаться пришлось логиниться в Github и что-то там еще ненужное, достал старый телефон и давай 6 цифр переписывать.

Но вот, блин, незадача, НИ ОДИН ИЗ КОДОВ 2FA НЕ ПОДХОДИТ. ВАЩЕ.

После 2х мин вбивания кодов по разным сервисам стало понятно, что проблема глобальная и что-то тут не так.

И все оказалось просто - время на телефоне съехало на пару десятков дней и на пару часов почему-то. В итоге локально коды генерировались не те, что надо. Изи.

Только написав это я заметил опцию в Google Authenticator, которая генерит QR который ты считываешь другим телефоном и все сразу переносишь. Афигенно скажу я вам.
источник
oleg_log
The workflow is not valid. .github/workflows/build.yml (Line: 20, Col: 3): Error calling workflow 'cristalhq/.github/.github/workflows/release.yml@96edb7a4323a57e1971a3fbb778417aed97d92da'. The workflow 'cristalhq/.github/.github/workflows/release.yml@96edb7a4323a57e1971a3fbb778417aed97d92da' is requesting 'actions: read, checks: read, deployments: read, discussions: read, issues: read, packages: read, pages: read, pull_requests: read, repository_projects: read, statuses: read, security_events: read, id_token: read', but [...]


but [...] 👍

Вообще Github немного страдает с полноценностью, то у них не было scopes (может и до сих пор нет) для oauth2 и приложение требовало больше, чем надо (что не супер важно, но хочется быть более дружественным к пользователю), так теперь нет пермишонов для релизов.

Ну вот какая проблема сделать permissions: releases: write ? хз, тож самое с permissions: read-all|write-all красиво, но как дать всему рид и тольком одному врайт? хз.

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

И кстати https://t.me/oleg_log/4704
источник
2022 January 24
oleg_log
как дед подписывается на ишью)
источник
oleg_log
Очень крутой постмортем Roblox после 3х суток афк.

https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/

Объясните только одно - почему не ревертнули деплой, когда все стало плохо и латенси скакнуло за 2 секунды? Ресайз машин в такой момент кажется оч дурным решением, даже если бы это помогло, то как-то не особо бы объяснило почему перформанс фича требует в 2 раза больше ресурсов.

Шото смотрится неоч как по мне, ошибки все допускают, но можно было лучше к такому переезду подойти + стриминг можно накатить постепенно, этож не leader election фича (или хотя бы не каждая нода должна её сразу использовать).

> We have reviewed how our services use Consul’s KV store and health checks, and have split some critical services into their own dedicated clusters, reducing load on our central Consul cluster to a safer level.

Люблю такое, жаль делается это после инцидентов. Привет, Google (отсылка к падению всего год назад из-за диска и общих аккаунтов между ютюбом и гцп, мечта просто жить в 1й корзине со всем миром).

UPD: спасибо Евгению, фича у них была врублена раньше, но не для сервисов с трафиком.
источник
oleg_log
Считайте апдейт за +- полгода. Не уверен, что это именно рост, а не просто про/доиндексированные репы, но даже без этого виден объем коммюнетей.

Такое ощущение, что чего-то не хватает, к примеру PHP и Ruby.
источник
2022 January 25
oleg_log
Inside the pyramid there is a hierarchy where things using software are build on top of others, in layers. The higher up you go, the more you stand on the shoulders of open source components below you.

https://daniel.haxx.se/blog/2022/01/17/enforcing-the-pyramid-of-open-source/

Эта пирамида, хотя скорее модель, отлично описывает и виды разработчиков и то, как должны формироваться команды.

Если человеку интересны байты, то зачем ему работать с жсоном на уровне "отдай в видет ответа", и наоборот. Вот только жаль, мало кто из руководителей это понимает, но так же часто не имеет ресурсов формировать тимы таким образом.
источник
oleg_log
Gentle reminder: A cloud is a someone else's computer.
Google Drive flags file only containing “1” for copyright infringement
https://wz.ax/hn/30060405/gdrive-copyright
> Turns out Google also hates 500, 174, 833, 285 and 302 (from generating files from -1000 to 1000).
источник
oleg_log
Критика C++ FAQ: https://yosefk.com/c++fqa/ (fqa = frequently questioned answers)

> [6.1] Is C++ a practical language?
> FAQ: Sure - not perfect, but mature and well-supported, which is good for business.
> FQA: C++ is not "mature" in the sense that different compilers will interpret it differently, and C++ modules built by different vendors will not work with each other. C++ is not "well-supported" in the sense that development tools for C++ lack features and are unreliable compared to other languages. These things make one ask "Am I the first one trying to do this?" all the time.
> This situation is not likely to change, because it follows from the C++ definition. C++ is very complicated for programs (or people) to understand. C++ specification leaves out most aspects crucial for interoperability, such as modules and calling conventions. C++ has a huge installed base, and since solving these problems backward-compatibly is impossible, they won't be solved.
источник
oleg_log
Шел 2022, а при этом все протекало до самого кернела. Хороший аргумент, что нужно и за сесурити в/из контейнера следить.

https://blog.aquasec.com/cve-2022-0185-linux-kernel-container-escape-in-kubernetes
источник
2022 January 26
oleg_log
Мечта кодген-маньяков https://twitter.com/belbaoverhill/status/1485980493183164425
источник
oleg_log
А...а почему не хватило fn(req) -> resp ?

Ну уважение Rust, что можно типами описать 12 параметров в хендлер, но какой в этом смысл в контексте хендлера?

Смотрится как фича ради фичи. Если это, о ужас, http запрос, то наверное нам нужно уметь его обработать, зачем сверху накидывать +11 потенциальных параметров - хз. Разве что супер умные мидлвари...Надеюсь я с такими не столкнусь.

https://actix.rs/actix-web/actix_web/trait.Handler.html
источник
oleg_log
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 марта.

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

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

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

чмок 🙌
источник
oleg_log
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 тоже живёт. Ой-ой...
источник
oleg_log
Жаль люди не оценили мем. Скорее от незнания игры Wordle и как по ней все угорают. На самом деле это старая игра про угадывание слова, зная только какие буквы в попытке на правильном месте, а какие просто присутствуют в слове.

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

Еще пасхалка от гугла - загуглите wordle и получит анимацию в лого.
источник
oleg_log
источник
oleg_log
Интересная аргументация про переписывание 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{} но вышло даже приятно.
источник
oleg_log
источник
oleg_log
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.)
источник
2022 January 28
oleg_log
Ващета я еще и https://github.com/cristalhq/hedgedgrpc наклацал в рамках #hq, но вот до тестов не дошел, потому что как-то не сталкивался для грпц с 0 писать, так, дописывать скорее.

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

(про зачеркнутое не шутка, смержится сильнейший)
источник