Кот канарский полосатый толстый

VALID INFO! My crazy life!

Задержись в реальности!

Замена шрифта Times New Roman, Arial в Linux на отечественный бесплатный аналог
Ukfp
r3code
В Linux эти шрифты использовать нельзя без соответствующих лицензионных договоров, потому их там обычно и нет, а есть аналоги, которые не всегда точно совпадают.
В рамках разработки отечественной версии Linux для госнужд - Astra Linux были созданы новые шрифты повторяющие по параметрам эти.
Т.е. по виду мы имеем все тоже самое только нарисованное заново и выпущенное под лицензией SIL.
Посмотреть соответствие и скачать...Collapse )

Улучшенная навигация в Московском метро, два года спустя
Codded
r3code
В метро начали применять улучшенную навигацию с картой местностей и нумерацией выходов.

Стало:



Было:


Это удобно вышел на станции подошел к карте, нашел нужную улицу или остановку автобуса куда тебе выйти и сразу пошел.

Карта местности с нумерацией выходов (видно где стоишь и что сверху):


Не все станции еще преоборудованны, но процесс запущен. Я это уже видел на станции Митино. Два года назад я думал об этой проблеме, собрал все мысли по этому поводу у себя в дневнике http://r3code.livejournal.com/209145.html, а после отправил предложение в Московский Метрополитен. Надеюсь мое предложение было одним из тех, что привело к созданию этой системы навигации.
Однако они не реализовали мое предложение по языконезависимой навигации в названиях станций и переходов, надеюсь все таки примут на вооружение. Частично до этого уже дошли - в метро теперь названия станций диктор озвучивает и на английском, а на станциях перехода говорит "Переход на линии 4 и 5" (при этом на русском произносится полное название линии).

Книга: И. Бакласнов, Оправдание OSS, 2016
Codded
r3code
Прочитал книгу Игоря Бакланова "Оправдание OSS", книга небольшая с некоторыми опечатками и огрехами в оформлении текста и рисунков. Но содержание замечательное.
Я как и Игорь давно задумывался, почему я не слышу и не вижу у наших заказчиков большой работающей системы OSS. Многие из них пытались себе ее внедрить. Например Газпром пытался внедрять Cisco Prime, закупал и ПО и оборудование, но на местах в итоге она не используется, ведь работы по сшивке с большим числом разнородного оборудования делать очень долго. В итоге замах был на модную "зонтичную систему" которая покроет все. Но за три года работы с Газпром, мы так и не смогли от них добиться, что же они хотят. Они слушали предложения, но не уточняли чего хотят. После 2,5 лет работы с Газпром у них сменился директорский состав департамента и идеология построения сетей связи также сменилась. Постепенно мы перестали слышать от них об OSS и централизации управления.
Многие пытаются купить OSS, как решатель всех проблем, но этого не происходит. Когда заказчик не знает чего хочет конкретно он будет делать и требовать все что угодно. Попытка контролировать все и сразу обречена на провал.
Не нужно делать чтобы было все сразу хорошо, контролируй самое важное, а остальное приложится.
Игорь в книге приходит к выводу, что построение всеобъемлющей всеохватывающей эффективной OSS невозможно на данном этапе развития техники, он предлагает контролировать качество как главный параметр, а как приложение для уточнения места проблемы и ее решения использовать системы управления сетью производителей. Это точечный подход мне кажется прекрасно соответствует принципу Парето (20/80), небольшие усилия решают большую часть проблем. В книге есть примеры применения отечественной разработки для контроля качества в сети связи, которая действительно покупается операторами связи и дает результат в нужный срок.
Думаю, стоит перестать гнаться за зайцами и наконец стрелять уток за которыми пришли.

Работа с кодом: удалил обертку блока - не изменяй отступы оставшихся строк блока сразу
Серьёзно о главном
r3code
В языках без обязательного требования к форматированию кода можно делать его как душе хочется.
Но если удалил условие, например удалил блок if и его begin/end, то хочется выравнять оставшийся код.
Да так можно сделать его более красивым, но и изменений будет больше - все сдвиги будут учтены как изменения, хотя по факту смысл изменился не в этих строках.
Чтобы уменьшить объем работы code review (вычитка кода) лучше сначала не менять форматирование, а зафиксировать смысловые изменения, затем отдельной ревизией зафиксировать только форматирование кода.
Это упростит и проверку кода и дальнейшую работу с журналом ревизий.

Contao CMS: уязвимости, эксплоит на unserialize()
Серьёзно о главном
r3code
Contao CMS <= 3.2.4 неверно проверяет переданные значения в некоторых местах, где они прямо передаются PHP функции unserialize. Исправлено в Contao 3.2.5.
Пользовательский ввод переданный напрямую в unserialize(), возможно приводит к исполнению кода.
Источник: http://0day.today/exploit/21858

Определение источников DDOS атаки по логам - Logsalgia
Серьёзно о главном
r3code
Я никогда не сталкивался лично с DDOS атакой, но вот один из моих клиентов по веб-сайтам обратился ко мне.
С хостинга стали приходить письма об превышении допустимой нагрузки на виртуальный хостинг.
Я смотрел на хостинге в панели показывало аж 600 человек на сайте одновременно, когда обычно 30-40.
Тут явно что-то было не так.
Включил логи доступа.
Через 4 часа их скачал и посмотрел глазами. Увидел возможную проблему, у некоторых запросов поле агент было python-aiohttp.

У меня не было никакого опыта отбивания таких атак и анализа источников. Думал как-то нужно бы выделить тех кто чаще других долбит. Профессиональные администраторы серверов кончено знают методы, но у меня не было времени.
Начал искать средства анализа логов Apache, чтобы группировать запросы. Немного помог AWStats. Другие утилиты и приложения платные почти все. Я случайно наткнулся на запись про Logstalgia - средство визуализации работы сервера по логам доступа accesslog.

Каждое подключение отправляющее запросы представлено, как игрок в теннис который играет мячом об стену, а стена тут сервер. Посланный запрос отскакивает назад игроку, игрок может подавать подряд несколько запросов.
Вы видите как десятки игроков играют об одну стену. В том месте, где попадает много мячей от стены начинает отлетать много краски! Наведите мышку на мяч и узнаете чей он по IP адресу.

Посмотрите как это на видео:



Это мне и помогло. Я включил проигрывание сессии и смотрел как в кино, когда будет взрыв на экране. Помогло!
Я обнаружил несколько IP за границей, которые нас долбили! Запретил им доступ и DDOS прекратилась.

Думаю есть специальное ПО, которое само может определить источники максимальной интенсивности, но это для тех кто в этом постоянно работает.

Ушел с Python на NodeJS
Серьёзно о главном
r3code
Продолжение истории "Почему я перехожу с Python на NodeJS" ("Why I’m switching from Python to Node.js").
Почему после года переключение завершилось возвратом на Python.

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

NodeJS использую иногда - хорош для небольших задач, он мне этим нравится.

Python: распространение вредоносного кода через репозитарий пакетов pip, pypi
Серьёзно о главном
r3code
Человек провел простое исследование - напихал в хранилище кучу своих модулей с именами похожими на имена популярных пакетов (например вместо requets, reqeusts) поместил внутрь простой код для отправки себе данных об установке (IP, операционная система, права пользователя, время установки). И о боже! Урожай был потрясающий. Множество пользователей поставило модули с правами администратора, даже на доменах .gov (домены госорганизаций США).

О чем это говорит? Соблюдай осторожность! PyPI кажется безопасным, но это не так. Любой может положить туда свой модуль - его никто не проверит.

Узнал из статьи Тайпосквоттинг в репозиториях Python, Node.JS и Ruby

Timeweb: скрипт для подсчета занятого места по сайтам
Codded
r3code
На виртуальном хостинге в одном аккаунте может быть несколько сайтов, удобно знать сколько места занимает каждый из них.
Сделал для себя инструмент, позволяющий мне это сообщать. Я получаю письма раз в месяц и знаю, сколько на каком сайте места занято/свободно. Задание настроено в панели управления через cron.
Я считаю, что все сайты равноправны потому лимит для каждого вычисляется просто делением общего объема на максимальное число сайтов в тарифе.
Иногда мне надо посмотреть сейчас сколько места занимают сайта, тогда я захожу по служебной ссылке и смотрю отчет онлайн. Для ограничения доступа я положил скрипт в отдельный каталог и закрыл на пароль, чтобы не смотрели все подряд.

Вот ссылка на сам скрипт https://github.com/r3code/php-du-notifier, можно свободно его брать и использовать.

Python: отложенное исполнение, как в Haskell
Codded
r3code
Забавно, но на Python его можно тоже сделать )
Но тут от него пользы мало, т.к. оно становиться магией, которая в программировании ненужна и вредна. Не понимая как это работает невозможно его изменить!

Вот довольно старая статья 2011 года с размышлениями об этом Misunderstanding Laziness in Python

Вкратце мы можем создать функцию которая вернет функцию, потом придется полученный "указатель" на новую функцию разыменовывать через скобки (). В итоге вызов функции не произойдет сразу, а только при разыменовании. Это есть в Haskell и там это делает компилятор.

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

?

Log in