Как стать автором
Обновить
0
0
Timur @chry

С++ cyber security software engineer

Отправить сообщение

Выгодоприобретатели блокировки Youtube

Время на прочтение18 мин
Количество просмотров165K

Недавно возникшая тема с блокировкой (замедлением) Youtube коснулась практически каждого жителя РФ. При этом до сих пор нет ни одного прямого официального заявления о причастности к этой блокировке. Ни одно государственное ведомство не созналось в блокировке, открестился Google, открестились провайдеры интернета. На этом фоне мне показалось важным не только выявить и указать всех причастных, прямых и косвенных, но и установить, кто и в каком отношении является выгодоприобретателем от этой блокировки. Выявить, о каких денежных потоках идет речь и куда они в конечном итоге идут.

Чтобы это установить, я попытался по крупицам собрать открытую информацию, добавил анализ используемых технических решений и технологических возможностей и на этой базе выявил те компании, которые являются прямыми и косвенными выгодоприобретатели от блокировки. Список оказался не такой уж и маленький, и в нем представлен как российский, так и зарубежный монополистический капитал. Как мы любим, в конце я приведу общую схему, визуализирующую всех основных актеров этой пьесы и все основные отношения между ними.

Читать далее
Всего голосов 400: ↑384 и ↓16+441
Комментарии444

О шаблонах в С++, чуть сложнее

Время на прочтение40 мин
Количество просмотров34K

После недавней статьи о шаблонах С++ для начинающих осталось жгучее желание показать что-нибудь похожее, но на практическом примере, да так, чтобы и порог входа был не высоким, и чтобы скучно не было. А так как в голове крутится задача перевода чего бы то ни было в строку, то этим и предлагаю заняться всем, кто хочет потрогать компилятор за шаблоны.

Потрогать здесь
Всего голосов 50: ↑50 и ↓0+50
Комментарии31

Совершенный цикл for

Время на прочтение6 мин
Количество просмотров54K

Сегодня необычный для меня формат статьи: я скорее задаю вопрос залу, нежели делюсь готовым рецептом. Впрочем, для инициирования дискуссии рецепт тоже предлагаю. Итак, сегодня мы поговорим о чувстве прекрасного.


Я довольно давно пишу код, и так вышло, что практически всегда на C++. Даже и не могу прикинуть, сколько раз я написал подобную конструкцию:


for (int i=0; i<size; i++) {
    [...]
}

Хотя почему не могу, очень даже могу:


find . \( -name \*.h -o -name \*.cpp \) -exec grep -H "for (" {} \; | wc -l
43641

Наш текущий проект содержит 43 тысячи циклов. Проект пилю не я один, но команда маленькая и проект у меня не первый (и, надеюсь, не последний), так что в качестве грубой оценки пойдёт. А насколько такая запись цикла for хороша? Ведь на самом деле, важно даже не то количество раз, когда я цикл написал, а то количество раз, когда я цикл прочитал (см. отладка и code review). А тут речь очевидно идёт уже о миллионах.


На КПДВ узел под названием «совершенная петля» (perfection loop).


image


Так каков он, совершенный цикл?

Читать дальше →
Всего голосов 67: ↑65 и ↓2+88
Комментарии173

Настраиваем Out-Of-Memory Killer в Linux для PostgreSQL

Время на прочтение5 мин
Количество просмотров56K


Когда в Linux сервер базы данных непредвиденно завершает работу, нужно найти причину. Причин может быть несколько. Например, SIGSEGV — сбой из-за бага в бэкенд-сервере. Но это редкость. Чаще всего просто заканчивается пространство на диске или память. Если закончилось пространство на диске, выход один — освободить место и перезапустить базу данных.


Out-Of-Memory Killer


Когда у сервера или процесса заканчивается память, Linux предлагает 2 пути решения: обрушить всю систему или завершить процесс (приложение), который съедает память. Лучше, конечно, завершить процесс и спасти ОС от аварийного завершения. В двух словах, Out-Of-Memory Killer — это процесс, который завершает приложение, чтобы спасти ядро от сбоя. Он жертвует приложением, чтобы сохранить работу ОС. Давайте сначала обсудим, как работает OOM и как его контролировать, а потом посмотрим, как OOM Killer решает, какое приложение завершить.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии3

Скрипт, обрабатывающий события системы с помощю DBus

Время на прочтение5 мин
Количество просмотров20K
Dbus — средство межпроцессного взаимодействия. Другими словами, средство позволяющее одной программе «отдавать приказы» другой программе.
В сети легко найти примеры, как из командной строки с помощью DBus управлять различными программами. Но слабо раскрыта тема, как отслеживать сигналы исходящие от других программ. В данной статье хочу исправить эту несправедливость и разобрать пример обработки событий получаемых от системы посредством Dbus.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии10

Информация

В рейтинге
Не участвует
Откуда
Королев, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность