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

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
На этой неделе заканчивается квартал, а у меня незакончен OKR. В итоге делаю все под напрягом, в попытках не оставить ничего на пятницу (короч последний день Помпеи).

И вот я опять мигрирую виртуалки и зукиперы. Лезу в великий Terraform, чтобы пересоздать кластер и почему-то вижу результат:

<instance_name>
power_state: "active" => "shutoff"


Естественно возникает вопрос: что такого увидел ТФ, что решил убить мои инстансы? Они работают, все ок, совсем не понимаю. Но через пару минут догадываюсь глянуть в конфиг и вижу power_state: "shutoff" А зачем? а просто, ведь есть разные проекты, в одном эти машины уже не нужны, а в моём таки требуются.

Но это было сделано не через переменные (чтобы как-то все изменить), а прибито гвоздями тут и здесь. В гитблейм не я, четсно.

Урок на будущее: если в терраформе есть разные кластеры/проекты, то запускать план нужно на все проекты(!!) и смотреть, что изменилось.

И отдельный лайк Терраформу, я не так часто с ним работаю, но каждый раз как-то круто, когда можно создавать вещи в клауде через конфиг. Описал что надо, нажал план, проверил на вменяемость, нажал apply. Жаль версия 0.х и ломают совместимость временами :(
sic!
Я не фан этого шаблона, но вот этот жизненный и интересный. Помню ток 1 место, где было дерево отрезков. Остальное чисто олимпиады и практика.
Последние дни много кто обсуждал MeiliSearch, альтернативу ElasticSearch на Rust. Есть сомнения, что альтернатива, скорее просто движок для поиска, которых оч много.

Забрёл я в тред на ХН и увидел интересный комментарий от Andrew Gallant (BurntSushi), автора крутых либ на расте (советуб глянуть, там много чего крутого).

Так вот его комент, ответ на наезд, что там раст, который с Си и который не такой safe как хотелось бы (LMDB используется):

> and if you expect the certainty that Rust provides w.r.t to security, race conditions and leaks
Rust's safety story covers neither race conditions nor leaks.

Data races and race conditions are orthogonal, according to some: https://blog.regehr.org/archives/490

Как раз эту статью и советую прочитать, где рассказывается, что такое data race и что такое race condition.

ХН https://news.ycombinator.com/item?id=22685831
Сидишь такой, подчищаешь вещи, и узнаешь, что уже 8 месяцев в системе мониторинга и алёрта проверяются те метрики, которые не существуют. Да, оно просто каждую минуту, в течении 8 месяцев пишет, что такой метрики нет.

Кроме как быть внимательнее, наверное и нечего добавить (ах да, эт я их делал 8 мес назад). Но есть одна вещь, которая всегда мне неприятно резала глаза.

Это я о разъезде в наименовании. Не раз в разных проектах и фирмах встречал подобное:

stats.<domain>.<project>.4xx
stats.<domain>.<project>-stag.4xx
stats.<domain>.<project>-dev.4xx

Собственно вопрос - какое вероисповидание и воспитание, заставило запретить в 1м варианте написать -prod ? Если уж быть консистентным, то на все 100%

Самое приятное, что такие вещи в скриптах (в зависимости от окружения prod/stag/test/dev/etc) становятся простыми как палка. У вас корее какой-то dict, и в зависимости от окружения выбирается вариант.

А парсится как приятно! Люди, не мудрите 🙌
Там другие шуточки в треде оригинального твита есть.

https://twitter.com/QuinnyPig/status/1243319088853553152
Давно пора было
нашёл в треде про самую дорогую апишку AWS (https://xn--r1a.website/oleg_log/2970) дикую вещь под названием AWS Ground Station. Это реальная наземная спутниковая станция, которую можно использовать как uplink/downlink для спутников и рулить ими через авс

Спутниковая
Станция
Как
Сервис
https://aws.amazon.com/ground-station/
Forwarded from Generic Talks (Oleg Kovalov)
Generic Talks опять Live, подключайтесь :)

https://www.youtube.com/watch?v=WLo3SDFiEZQ
Красота
Media is too big
VIEW IN TELEGRAM
Одно из самых доступных объяснений процедурной анимации, которое можно найти в интернете.

via Reddit
Прикольная вещь. Не более чем сахар с отбрасыванием " != nil " в ифе.

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

Брэд еще подкинул мысль, что это потом можно преобразовать в if err { return ..., err } для более краткого кода.

Вспоминаются еще другое предложение: давайтре разрешим писать if в одну строку, тогда все проблемы boilerplate сожмутся в однострочники. Чаще это + чем -.
Узнал о прикольном проекте RediSQL https://redisql.com/

Как можно догадаться: RediSQL is the Fast, in-memory, SQL engine with batteries included.

Не уверен, зачем бы я его брал в прод, но прикольно.

Написан на Rust с любовью https://github.com/RedBeardLab/rediSQL