• Использование таймеров systemd вместо заданий cron

    • Translation
    Сейчас я занимаюсь заменой моих cron-заданий на таймеры systemd. Я пользовался таймерами несколько лет, но обычно в тонкости их применения особо не углублялся, разбираясь лишь с тем, что нужно было для выполнения интересующей меня задачи. Недавно я работал над серией материалов про systemd и узнал о том, что systemd-таймеры обладают некоторыми очень интересными возможностями.



    Эти таймеры, как и задания cron, могут, в заданное время, вызывать выполнение различных действий в системе. Например — запуск скриптов командной оболочки или программ. Таймеры могут срабатывать, например, раз в день, причём — только по понедельникам. Ещё один пример — срабатывание таймера каждые 15 минут в рабочее время (с 8 утра до 6 вечера). Но таймеры systemd могут кое-что такое, что недоступно заданиям cron. Например, таймер может вызвать скрипт или программу через заданное время после некоего события. Таким событием может быть загрузка системы или запуск systemd, завершение предыдущей задачи или даже завершение работы сервиса, вызванного ранее по таймеру.
    Читать дальше →
  • Город засыпает, просыпаются хабровчане

      Если количество комментариев под статьёй стремительным домкратом приближается к 1000, будьте уверены — независимо от заявленной автором темы внутри бушует срач: очаги возгорания политоты, окружённые диванными экспертами по всем вопросам, психиатрические диагнозы на расстоянии по аватарке и никнейму, переходы на личности, саркастические выпады, едкость которых превышает таковую у крови ксеноморфов, и, конечно же, обязательное в таких случаях блюдо — взаимные обвинения в том, что ваш визави с вами дискутирует исключительно за вознаграждение и\или по долгу службы. Которая, видимо, и опасна и трудна, и на первый взгляд как будто не видна, а тридцать серебренников на дороге не валяются.

      Самое забавное в такой ситуации это то,
      Читать дальше →
    • «Особенности» Тиндера


      Informative


      Бывают такие баги, которые, вроде как и угрозу безопасности не несут, но вред все-таки могут причинить. Интереснее всего, когда их и править никто не хочет, но и открыто о них нам не говорят. Часто в таких случаях разработчики утверждают, что это не баг, а фича. Именно о двух таких фичах в Тиндере и пойдет речь в посте.


      Внимание! Перед тем, как рассказать аудитории Хабра об этих проблемах, мной были предприняты попытки сообщить о них разработчикам через платформу HackerOne. Разработчики посчитали это все “не багами”, а репорты были закрыты в статусе “informative”, дважды!



      Читать дальше →
    • Что нового ожидается в Python 3.9

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

        Во-первых, нам напоминают, что слои, поддерживающие обратную совместимость с версией 2.7, потихоньку удаляют и просят обратить внимание на DeprecationWarning и устранить их. Несколько предупреждений еще останутся в 3.9, но лучше избавляться и от них.
        Читать дальше →
      • Что будет с вашей кожей от постоянного ношения перчаток


          Нитриловые перчатки. Бывают всех цветов радуги, но очень редко белые, чтобы отличаться от латексных

          В некоторых регионах России помимо обязательного ношения масок нужно будет носить ещё и перчатки. За отсутствие обещали штрафовать.

          В этом месте мне бы радоваться, что наработки нашей уютной лаборатории как раз пригодятся, но нет. Мы и так по уши загружены производством медиагелей для всей страны, а теперь ещё добавятся дерматиты. Да, к сожалению, если носить перчатки долго, то примерно каждый четвёртый из вас получит контактный или аллергический дерматит от их ношения, а где-то 20 % получит аллергию на латекс и различные компоненты полимеров.

          Поэтому посмотрим, как правильно их выбирать, как носить и чем мазать руки, если что. Латекс, например, довольно проблемный вариант. А ещё, скорее всего, перчатки не так сильно помогают, как может показаться, и я расскажу про это тоже. ВОЗ, например, не рекомендует.
          Читать дальше →
        • Распространение сферического коня в вакууме по территории РФ


            Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом.


            Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно с точки зрения математических методов и работы с интересным набором данных. Прежде, чем вы увидите под катом красивые картинки и графики, я обязан сказать несколько вещей:


            • любое моделирование — это очень сложный процесс, внутри которого невероятное количество ЕСЛИ и ПРЕДПОЛОЖИМ. Мы о них расскажем.
            • те, кто работал над этой статьей — не эпидемиологи или вирусологи. Мы просто группа любителей теории графов, практикующих методы моделирования сложных систем. Забавно, но именно в биоинформатике сейчас происходит наиболее существенный прогресс этой узкой области математики. Поэтому мы понимаем язык биологов, хоть и не умеем правильно обосновывать эпидемиологические модели и делать медицинские заключения.
            • наша симуляция всего лишь распространение сферического коня в вакууме по территории РФ. Не стоит относиться к этому серьезно, но стоит задуматься об общей картине. Она определенно интересная.
            • эта статья не существовала бы без датасета tutu.ru, за что им огромное спасибо.
            • мы хотим пригласить других заинтересованных исследователей в ODS.ai и под инициативой ML for Social Good (канал #ml4sg в ODS) вместе улучшать эту модель, чтобы получить опыт и возможность применять ее в будущем. Все интересные задачи, которые мы еще не решили, будут помечены в статье как TODO.

            Под катом — результаты нашего марш-броска на датасет.

            Читать дальше →
          • Моделируем вселенную: небесная механика наглядно



            Давайте представим, что нам нужно запустить футбольный мяч на орбиту Земли. Никакие ракеты не нужны! Хватит горы, высотой 100 километров и недюжинной силы. Но насколько сильно нужно пнуть мяч, чтобы он никогда больше не вернулся на Землю? Как отправить мяч в путешествие к звёздам, имея только грубую силу и знание небесной механики?

            Сегодня в программе:

            • Бесконечные возможности одной формулы
            • Как взять энергию у Юпитера
            • Откуда у планет берутся кольца
            • Как математика помогла открыть Нептун

            Благо, мы живём в век компьютерных технологий. Нам не нужно забираться на высокую гору и пинать мяч со всей силы, всё можно смоделировать! Давайте приступим.
            Читать дальше →
          • DeepL объявила о прорыве в переводе текста при помощи ИИ

              image

              Компания DeepL сообщила о том, что она запускает новую систему перевода при помощи искусственного интеллекта, которая дает гораздо более качественный результат. Ее можно бесплатно протестировать.

              DeepL Переводчик вышел в 2017 году. Как отметили в компании, сейчас сервис используют более полумиллиарда человек. Версия DeepL Translator для Windows и Mac вышла в 2019 году. Сервис подписки DeepL Pro доступен для частных лиц, команд и разработчиков, а тарифные планы начинаются с €5,99.
              Читать дальше →
            • Реверс-инжиниринг домашнего роутера с помощью binwalk. Доверяете софту своего роутера?

              • Translation
              • Tutorial


              Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk.


              Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает.


              Каждый раз когда я покупаю новый роутер, я устанавливаю OpenWRT. Зачем? Как правило производители не сильно заботятся о поддержке своих роутеров и со временем софт устаревает, появляются уязвимости и так далее, в общем вы поняли. Поэтому я предпочитаю хорошо поддерживаемую сообществом open-source прошивку OpenWRT.


              Скачав себе OpenWRT, я так же скачал последний образ прошивки под мой новый Archer C7 с официального сайта и решил проанализировать его. Чисто ради фана и рассказать о binwalk.

              Читать дальше →
            • [кейс Locomizer] Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей

                Данная статья является частью серии «Кейс Locomizer», см. также

                Здравствуйте.

                КДПВ: Тепловая карта, построенная алгоритмами Locomizer для KFC

                Недавно издание The New York Times опубликовало претендующую на сенсационность статью о том, как отследить пользователей по коммерчески доступным анонимизированным датасетам с координатами их перемещений, и здесь, на Хабре её вольный перевод с дополнениями от неизвестного корпоративного копирайтера собрал большое количество комментариев разной степени обеспокоенности.

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

                Но есть и доля истины по ту сторону чёрного зеркала, возможно, куда большая. Или интересная.
                Узнать всю правду о пользаках и поях
              • Генеалогические исследования — метрические книги, переписи, архивы, открытые базы

                  Не один год я увлекаюсь генеалогией. Практической пользы в этом хобби нет, но интересного очень много. Здесь я хотел поделиться накопленным опытом, частью интересных сведений, не сильно погружаясь в персональные истории. Чтобы текст сильно не распухал, расскажу всего 2 кейса: поиск в военных архивах на основе данных онлайн-баз и продолжительный просмотр и анализ метрических книг одного села периода конца XIX — начала XX вв. вплоть до конца революции и гражданской войны.

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

                  Осознаю, что некоторым тема публикации может показаться далекой от IT, но в процессе у меня было и программирование, VBA-скриптинг, SQL, и впереди, надеюсь, ML\DS\AI.


                  Страница метрической книги, рождения в 1898 г. Еще в книгах записывались браки и смерти — до появления ЗАГСов в начале 1920х
                  Читать дальше →
                • Московская история профессионального выгорания — от 1996 до 2017. Путь из топ-менеджера госкорпорации в исследователи

                    У тебя есть всё — высокая должность, зарплата в несколько сотен тысяч рублей, надёжность и стабильность государственной корпорации, ранговые корпоративные игры. У тебя малиновые штаны — и подчинённые разве что не приседают и не делают «Ку».


                    Но ты не чувствуешь себя счастливым. У тебя проблемы в семье. Проблемы с алкоголем. Натянутые отношения с персоналом. Акульи улыбки на совещаниях с такими же топ-менеджерами. Бессонница. Резкие перепады настроения и короткие депрессивные эпизоды. Работа надоела давным давно — с утра ты мрачно осознаёшь, что впереди ещё один бессмысленный день. С друзьями общаться не хочется да и незачем. Ты понимаешь, что в плену социальных условностей — ты IT-директор с высокой зарплатой и завидным положением в обществе — но это как камень на шее. И конфликты, конфликты, конфликты. Уже не только на работе, но и в семье.


                    Ты не заметил, как попал в воронку профессионального выгорания, хотя внешне вроде бы жизнь удалась. И ты однажды понимаешь, что пошёл не по тому пути, и занимаешься совсем не тем, что для тебя важно и ценно.


                    С этого осознания начинается долгий путь к самому себе.


                    Мне повезло взять интервью у человека, который проделал «путь в тысячу ли» из топ-менеджера государственной корпорации, полностью изучил изнутри систему и смог вырваться, отказаться от социальных условностей и выйти из-под давления общества. Ему понадобилось три года, чтобы найти себя и справиться с последствиями профессионального выгорания.


                    Мой сегодняшний собеседник останется анонимным. Когда ты работаешь в топ-менеджменте, ты уже не можешь говорить от своего лица, в тебе всегда будут видеть представителя компании. Приходится или анонимно говорить неприкрытую правду, или визировать интервью в пиар-отделе.


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



                    Читать дальше →
                  • Как работает видеокодек. Часть 2. Что, для чего, как

                    • Translation

                    Первая часть: Основы работы с видео и изображениями




                    Kodek's History

                    Что? Видеокодек — это часть программного/аппаратного обеспечения, сжимающая и/или распаковывающая цифровое видео.

                    Для чего? Невзирая на определённые ограничения как по пропускной способности так
                    и по количеству места для хранения данных, рынок требует всё более качественного видео. Припоминаете, как в прошлом посте мы подсчитали необходимый минимум для 30 кадров в секунду, 24 бита на пиксель, с разрешение 480x240? Получили 82,944 Мбит/с без сжатия. Сжатие — это пока единственный способ вообще передавать HD/FullHD/4K на телевизионные экраны и в Интернет. Как это достигается? Сейчас кратко рассмотрим основные методы.
                    Читать дальше →
                  • Как работает видеокодек. Часть 1. Основы

                    • Translation

                    Вторая часть: Принципы работы видеокодека




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

                    Если рассматривать итоговый цвет как комбинацию т.н. основных цветов (красного, зеленого и синего), в нашей трёхмерной матрице определяем три плоскости: первая для красного цвета, вторая для зеленого и последняя для синего.
                    3D матрица RGB

                    Будем называть каждую точку в этой матрице пикселем (элементом изображения). Каждый пиксель содержит информацию об интенсивности (обычно в виде числового значение) каждого цвета. Например, красный пиксель означает, что в нём 0 зеленого цвета, 0 синего и максимум красного. Пиксель розового цвета может быть сформирован с помощью комбинации трех цветов. Используя числовой диапазон от 0 до 255, розовый пиксель определяется как Красный = 255, Зелёный = 192 и Синий = 203.
                    Читать дальше →
                  • 52 датасета для тренировочных проектов

                    • Translation
                    1. Mall Customers Dataset — данные посетителей магазина: id, пол, возраст, доход, рейтинг трат. (Вариант применения: Customer Segmentation Project with Machine Learning)
                    2. Iris Dataset — датасет для новичков, содержащий размеры чашелистиков и лепестков для различных цветков.
                    3. MNIST Dataset — датасет рукописных цифр. 60 000 тренировочных изображений и 10 000 тестовых изображений.
                    4. The Boston Housing Dataset — популярный датасет для распознавания паттернов. Содержит информацию о домах в Бостоне: количество квартир, стоимость аренды, индекс преступлений.
                    5. Fake News Detection Dataset — содержит 7796 записей с разметкой новостей: правда или ложь. (Вариант применения с исходником на Python: Fake News Detection Python Project )
                    6. Wine quality dataset — содержит информацию о вине: 4898 записей с 14 параметрами.

                    Читать дальше →
                    • +30
                    • 16.6k
                    • 8
                  • Простые числа — насколько велико наше бессилие?

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

                      image

                      Эту метафору будет проще понять, если провести аналогию с черной дырой: мы не знаем, что находится под ее горизонтом событий, и чтобы это узнать нам нужно придумать способ, как туда добраться. Нечто подобное существует в мире математики. Данное уравнение — это настоящая «формула» простого числа, но чтобы ею пользоваться, нам нужно придумать, как искать подходящие {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, w, v, x, y, z}.

                      Черная дыра и данное уравнение — это предельные состояния чего-то реального и абстрактного. И, если о первом существует достаточно догадок и представлений, то о втором, практически ничего не известно. Но, что если это действительно «математическая» черная дыра? Разве вам не интересно что может произойти, если мы попадем под горизонт?
                      Под горизонт.
                    • Выявляем процессы с дисковой активностью в Linux

                        TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
                        В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

                        Введение

                        «Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
                        Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

                        После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
                        19.7 ТБ.
                        Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
                        Читать дальше →
                      • Пишем USB-драйверы для заброшенных устройств

                        • Translation


                        Недавно на eBay мне попалась партия интересных USB-девайсов (Epiphan VGA2USB LR), которые принимают на вход VGA и отдают видео на USB как веб-камера. Меня настолько обрадовала идея, что больше никогда не придётся возиться с VGA-мониторами, и учитывая заявленную поддержку Linux, я рискнул и купил всю партию примерно за 20 фунтов (25 долларов США).

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

                        Я изучил сайт производителя и обнаружил, что для работы требуется специальный драйвер. Для меня это была новая концепция, ведь в ядре моего дистрибутива Linux обычно есть драйверы для всех устройств.
                        Читать дальше →
                      • Как быстро делать прототипы устройств и почему это важно. Доклад Яндекс.Такси

                          Любой технически сложный hardware-проект — всегда уравнение с множеством неизвестных: платформа, компоненты, технологии, производство, функциональность, реализуемость. «Пощупать», что получается, можно, когда пройдены дорогостоящие этапы: R&D, выбор комплектующих, разработка программ и поиск фабрики для производства.



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

                          Читать дальше →