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
Что-то мне тут подумалось...а зачем вообще iTerm2 ?

https://github.com/vercel/hyper vs https://github.com/Eugeny/tabby vs https://github.com/alacritty/alacritty смотрятся слишком похоже, хотя TypeScript напрягает (Electron выходит, да?...), последний хоть на Rust, но мне казалось с ним какие-то проблемы были (с прогой, не растом).

Вот был бы SublimeTerminal...Короч, что кроме iTerm посоветуете? я оч отстал от жизни и пару лет провёл в терминали VSCode :(

PS: да, речь про macOS
> did you know? It takes $420k per year to run Lichess. We publish the detailed costs at http://lichess.org/costs

Какие делаем выводы из таблицы?

https://twitter.com/ornicar/status/1482671675489632257
Мне даже как-то это нравится. Люди допускают одни и те же типы ошибок. Это прям радует, возможно мы живём в детерминированном мире и через 5 лет все возможные ошибки (не смейтесь) будут иметь свой тег в CVE DB и все можно будет покрыть линтером или какой-то более умной верификацией. Хотя кого я обманываю...

https://blog.rust-lang.org/2022/01/20/cve-2022-21658.html

https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use
ок
Сделал мем по мотивам https://t.me/oleg_log/5319
This media is not supported in your browser
VIEW IN TELEGRAM
Оказывается достаточно нажать Cmd и тягать иконки как надо. Джва года ленился найти как менять порядок.
Нашел красивую тулзу у одного из подписчиков.

> Run mock server based on API contract with one command. Written in Go

Полезное, жаль приходилось такое летом ручками делать, сам хз чего я не додумался загуглить генератор.

Лайк, репост, колокольчик https://github.com/go-dummy/dummy
Attribute Macro you_can::turn_off_the_borrow_checker

The macro looks for references created in the code by use of the & or &mut operators or the ref and ref mut bindings, and wraps them with ::unbounded::reference() to unbind their lifetimes, causing the borrow checker to effectively ignore them.

https://docs.rs/you-can/latest/you_can/attr.turn_off_the_borrow_checker.html

А ведь прикольно.
Сидел в шаббат прокрастинировал и решил чутьчуть поправить Github Actions, в итоге дошел до такого:

1 Checkout code
2 Install Go
3 Go Format
4 Go Tidy
5 Go Mod
6 Go Generate
7 Go Build
8 Go Test
9 Upload Coverage

https://github.com/cristalhq/.github/blob/main/.github/workflows/build.yml

Кроме как релиза (соседний файл) и линтера (соседний файл через пару коммитов) я даже хз, что можно добавить или убрать. Есть ли варианты у вас? Речь о Go, конечно же.
Еще одна красивая история багов, от Pagerduty о Zookeeper. Статья за 2015, но это мало что меняет, разве что пофикшено уже.

https://www.pagerduty.com/blog/the-discovery-of-apache-zookeepers-poison-packet/
Хах, сейчас словил забавную вещь.

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

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

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

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

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

Только написав это я заметил опцию в Google Authenticator, которая генерит QR который ты считываешь другим телефоном и все сразу переносишь. Афигенно скажу я вам.
oleg_log
Сидел в шаббат прокрастинировал и решил чутьчуть поправить Github Actions, в итоге дошел до такого: 1 Checkout code 2 Install Go 3 Go Format 4 Go Tidy 5 Go Mod 6 Go Generate 7 Go Build 8 Go Test 9 Upload Coverage https://github.com/cristalhq/.github/blo…
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
как дед подписывается на ишью)
Очень крутой постмортем 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
Photo
Считайте апдейт за +- полгода. Не уверен, что это именно рост, а не просто про/доиндексированные репы, но даже без этого виден объем коммюнетей.

Такое ощущение, что чего-то не хватает, к примеру PHP и Ruby.
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/

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

Если человеку интересны байты, то зачем ему работать с жсоном на уровне "отдай в видет ответа", и наоборот. Вот только жаль, мало кто из руководителей это понимает, но так же часто не имеет ресурсов формировать тимы таким образом.
Forwarded from Linkstream
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).