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

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Forwarded from Sysadmin Tools 🇺🇦
​​Многие в курсе что такое Zabbix, и тоже многие говорят, что он днище. Согласен, в некоторых моментах да, в некоторых нет. Для провайдеров очень полезная штука. Так вот - есть форк https://glaber.io , при этом с допилом/перепилом/кластеризацией из коробки.

https://gitlab.com/mikler/glaber

Уже собраны пакеты, можно тестировать.

https://gitlab.com/mikler/glaber/tree/master/releases

Issues - приветствуються.

Чат в Telegram: https://xn--r1a.website/glaber_group
Уже почти 3 года с этого куска кода прошло, но до сих пор болит. Не надо так делать. Краткость была проиграна в пользу комментария, улучшение перф все равно не появилось.
класс, половина фции это проверка, что никто не ошибся в типах

UPD да, это путон2, живешь с тем, с чем живешь
Отлично, теперь можно смотреть нетфликс в хенгаутсе.

https://netflixhangouts.com/
Понадобилось сделат "дифф" 2х списков питона, из разных кластеров Zookeeper, что-то типа:
xs = [1, 2, 5, 6]
ys = [2, 3, 4, 5]
print list(pairs(xs, ys))
# [(1, None), (2, 2), (None, 3), (None, 4), (5, 5), (6, None)]

И нагуглил красивое (как по мне) решение:

from collections import deque

def pairs(xs, ys, cmp):
xs = deque(sorted(xs))
ys = deque(sorted(ys))

while xs and ys:
c = cmp(xs[0], ys[0])
if c == 0:
yield xs.popleft(), ys.popleft()
elif c < 0:
yield xs.popleft(), None
else: # c > 0:
yield None, ys.popleft()

for x in xs: yield x, None
for y in ys: yield None, y

3й параметр cmp конечно можно выкинуть и подправить if-elif на обычное сравнение.

Сурс: https://stackoverflow.com/a/11426702/433041
Прикрутил @discussbot к постам, по совету @golang_for_two
Как-то эта новость от 31 мая прошла мимо, посмотри как пойдет.

Вот эти коменты можете расценивать, как коменты к посту про питон выше
vvv
Короч, еще одна новость с полей проффесиональных погромистов.

Есть план сделать DC-off, то есть убить один ДЦ(из двух) и посмотреть, что развалится. Конечно же надо начать с теста/стейджа, перед тем как ломать прод.

Как вы думаете, кто-то предупредил людей, что в 12 часов дня 2 ДЦ (то есть все ДЦ фирмы) на тестовом окружении будут обрублены?

Ответ: нет. С афигенной аргументацией: АВАРИЯ НЕ БУДЕТ ЖДАТЬ, ЧТО ТЫ НА ОБЕДЕ.

Гениально, вот только это человек вырубает сеть и он решает, что, когда и как сделать.
Ну это уже реально идиотизм.
I hate overtime
Снимаете бизнес-метрики с приложения?
Dummy post, чтобы появилась кнопка коментов к опросу выше (оказывается к форвардам не прикручивает, хотя логично)
АХАХАХАХАХА, это один из самых сложных мемов Профанктора. Социальная ачивка тому, кто в курсе :D
(мем ниже, про RSA)
∏ρ؃uñçτØρ Øπτµç∑ | 👁‍🗨››››
Photo
Такс, раз уж мне начали угрожать в лс, вот объяснение.

Этот чувак справа, это стартупер и организатор Fyre Festival. Такого огромного концерта-парти на Багамах, с кучей моделей, богемных особ и свэга.

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

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

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

Don't roll out your own crypto, как говоря спецы.
Вторник - время накинуть на убер-фп код (с) Стивен Кинг

Вчера мне скинули этот знаменитый манускрипт ФПшников (только за период весны мне его в лс кидали 8 раз)

Вот оно, Emulating Higher-Kinded Types in Rust aka
Манускрипт Войнича Rust Translited

Вещь написана сильно. Даже талантливо. Только зачем? Возьмем этот великий HKT/GAT и спросим - зачем оно? Отбросим спортивный и академический интересы, с ними вопросов нет.

Как бы мы не абстрагировались, мы все равно работаем с языком. Языком схожим с тем, которым мы общаемся с себе подобными, в частности машинами. Зачем закапываться в абстракциях над абстракциями? К примеру, я в каждом предложении, при упоминании слова "ноутбук", не даю его описание, что это такое, как оно выглядит и что оно умеет делать. Зачем? Абстракция уже есть, "ноутбук".

Абстракции нужны, но все зависит от их глубины и/или вложенности. Есть такая (хайповая) вещь, как когнитивная нагрузка. И мы ограничены планкой сверху, в наших умственных свособностях и держании чего-то в короткой памяти.

Есть (мало)известная вещь - Miller's law. Что кол-во объектов, которые человек может держать в голове = 7. Это идёт из исследования 1956года, я уверен, что за полвека люди стали держать в уме больше, из-за взрывного развития телекомуникации. Но число не увеличилось больше чем в 2-3 раза, в среднем, а айтишники не гении, давайте чсв усмирим :)

Это чем-то напоминает доклад Guy Steele (вот он https://xn--r1a.website/oleg_log/948 much советую). Он по мере рассказа давал определения новым словам, чтобы потом их (пере)использовать, приводя пример, как это непросто. Так зачем же усложнять себе жизнь, постоянно давая определения обыденных вещей?

Выходит, что сверхабстракции усложняют понимание вещей, заставляя отвлекаться на рудиментарные вещи, которые в подавляющем большинстве можно опустить. В удивительное время живем. Я все.

(толстота и переход на личности в коментах будет вынесен)
Ссылки на профили из коментов телеги почему-то идут на (очередное зеркало) https://telega.one

А еще не хватает автоматической подписки на коменты к своим постам. И самое главное - просмотра в моб. приложении, а не в браузере.

Все это смотрится как пет-прож кого-то из телеграм. Но неплохой.
A vulnerability in the Mac Zoom Client allows any malicious website to enable your camera without your permission. The flaw potentially exposes up to 750,000 companies around the world that use Zoom to conduct day-to-day business.

Фикс:
lsof -i :19421
kill -9 [process number]
rm -rf ~/.zoomus
touch ~/.zoomus

https://medium.com/@jonathan.leitschuh/zoom-zero-day-4-million-webcams-maybe-an-rce-just-get-them-to-visit-your-website-ac75c83f4ef5
#словодня ифология (от англ. ifology) - попытка решить задачу при помощи правильного if-а, с заранее неизвестным условием
Мои любимые асинхронные конфиги.

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

Чтобы понять, что я где поправил, пришлось вести отдельную бумажку с табличкой.

One-click deployment? ага, щас
Человек tonsky дошел до понятия Mechanical Sympathy. Отрадно.