oleg_log
1.77K subscribers
1.86K photos
130 videos
9 files
2.77K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Вчера по несчастью я засел за net/http в го, он очень сильно написан 1 человеком. Хоть и человек из кор-тима, но стайлгайды го просраны, код...не особо-то и читаем (я о хттп2), ну и пачка прочих неприятностей, которые уже озвучил Брэд. Работает круто, но гофер в душе плачет :(
Нашел какой-то сервис у нас, последний билд апрель 2016, живет в проде и что-то даже мониторит. Cтарожилы, собственно авторы, понятия не имееют что эт. Микросервисная археология ass is прям. А еще там и ci мертвый, без него мержить нельзя. кек
За эту осень я видел 3 публичных и 2 приватных инцидента, связанные с переполнением int32 как id в rdbms. Не могу понять, что движет создателями экономить на колонке id и потом разгребать этот факап (этож еще надо инцидент-репорт писать, что само по себе больше фикса занимает). Что движет этими людьми? теряюсь в догадках. ZLAVA UUID \0
github merge 2019, найди одного лишнего спонсора.
Кстати, если тут внезапно оказались успешные люди, живущие гитхабом, советую: https://octobox.io/
аппликативный функтор ковалёва - апплаится ко всем и всему, и говорит, что на го проще бы было сделать, а еще мемы шлет.
Обожаю этим ламповые деплои в пятницу, или перед/после корпоратива (да еще и в пятницу) и конечно же перед праздниками.
И на мой удивленный вопрос: серьезно?
У большинства появляется неподдельное недоразумение: а что не так?
Действительно /shrug
An evolving system increases its complexity unless work is done to reduce it.
(c) Meir Lehman
What Happened?
PagerDuty historically ran on a cluster of three Galera Master databases. It was a good architectural choice for small volumes of traffic. As our traffic grew <...> we would need to move away from that database topology to enable PagerDuty to scale.

> Galera Master databases
> The world's most advanced open source database cluster

хмхмхмхмхмхмхмхмххмхмхм
https://status.pagerduty.com/incidents/nw33wnq4748w
Заметил, что меня выбешивают твиты вида
>>> 0.1 + 0.1 + 0.1 == 0.3
False
>>> 0.1 + 0.1 + 0.1
0.30000000000000004

Может сначала теорию читнем, а потом полезем в твитор плакаться?
This media is not supported in your browser
VIEW IN TELEGRAM
Погоняли сегодня тесты на одном сервисе. По сути прокси к бд, логики почти нет.
1к запросов.
Медиана 400мс.
75мс это couchbase, а остальное...
(барабанная дробь)
...спринг фреймворк!
Славься котлин и дутые абстракции.
Не читал этот высе...блогпост, но уже видна рука неосилятора, что нормально и реально (notroll).
Но! мне доставил профиль автора: "архитектор".
Еще 1 гвоздь в лычку на бэйджике.
То в котлин результат "не с той стороны" (с)
То "скобки египетские" (с)
https://habr.com/post/421259/ #go
One of the more curious facts about human beings is that they can spend a day of introspection without discovering what is obvious to anyone who has spent a half hour in their company.
(c) Dee Hock
В очередной раз забыл, что у руби есть своя жизнь, без рельс :(
наконец-то я понял термины S1 & S2 в контексте G1GC
https://plumbr.io/handbook/gc-tuning-in-practice
- I was told by a colleague that in X is the most expensive operation you could perform.
- Your most expensive operation would be listening to them.
(c)
Вчера спалил коллегу, что он читает о массивах пхп в порно-моде хрома. Рофл был на 3 комнаты в офисе. Естественно он читал из-за проблем с открытием сайта, но мы-то все знаем 😏
Только-что напоролся на красивый баг, мною же и написанный. Проверяется хедер, если нет - кидаем эксепшон. Все просто.
Добавляем тест, на пустой хедер (под капотом хелпер делает headers.add('Api-Key', null) ± норм смотрится).
Естественно все зеленое и красивое.
Смотрим coverage - проверка не была вызвана, надо было:
if (apiKey != null) headers.add('Api-Key', apiKey)
Поэтому юзайте дети кавередж.
(кстати некоторые тесты до меня были зафакаплены из-за этого же, хех)