• Настоящее суммирование интернет-каналов — OpenMPTCPRouter



      Можно ли объединить несколько интернет-каналов в один? Вокруг этой темы куча заблуждений и мифов, даже сетевые инженеры с опытом часто не знают о том, что это возможно. В большинстве случаев, объединением каналов ошибочно называют балансировку на уровне NAT или failover. Но настоящее суммирование позволяет пустить одно единственное TCP-подключение одновременно по всем интернет-каналам, например видеотрансляцию так, чтобы при обрыве любого из интернет-каналов вещание не прерывалось.

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



      В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

      Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
      Читать дальше →
    • Самый беззащитный — уже не Сапсан. Всё оказалось куда хуже…

        {UPD 10.02.2021} Евгений Чаркин дал интервью на эту тему gudok.ru/newspaper/?ID=1552569
        Под катом мои комментарии на некоторые тезисы.
        {/UPD}

        Больше года назад хабравчанин keklick1337 опубликовал свой единственный пост «Самый беззащитный — это Сапсан» в котором рассказывает как он без серьёзных ухищрений получил доступ ко внутренней сети РЖД через WiFi Сапсана.

        В ОАО «РЖД» прокомментировали результаты этого расследования. «Есть результаты проверки. Почему удалось взломать? Наверное, потому, что злоумышленник. Наверное, из-за этого… Ну, он из „фана“. Юный натуралист. Там уязвимостей, которые бы влияли на утечку каких-то критических данных, нет. Мультимедийный портал „Сапсанов“ функционирует как положено и не нуждается в доработке», — заявил Евгений Чаркин.

        То есть вместо того, чтобы выразить благодарность за обнаруженную уязвимость, автора обозвали «злоумышленником» и «Юным натуралистом».

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

        И вот, год спустя я попал в сеть РЖД даже не садясь в Сапсан.



        Видимо, только этот котэ добросовестно охраняет вокзал.

        Как именно я попал в сеть РЖД с пруфами, чего не сделал директор по информационным технологиям ОАО «РЖД» Чаркин Евгений Игоревич и возможные последствия — под катом.
        Читать дальше →
      • Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

        • Tutorial

        Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


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


        Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

        Читать дальше →
      • Как не хранить секреты где придётся, или зачем нам Hashicorp Vault

        • Tutorial

        Vault header 


        Задайте себе вопрос — как правильно хранить пароль от базы данных, которая используется вашим сервисом? В отдельном репозитории с секретами? В репозитории приложения? В системе деплоя (Jenkins, Teamcity, etc)? В системе управления конфигурациями? Только на личном компьютере? Только на серверах, на которых работает ваш сервис? В некоем хранилище секретов?
        Зачем об этом думать? Чтобы минимизировать риски безопасности вашей инфраструктуры.
        Начнём исследование вопроса с определения требований к хранению секретов.


        Читать дальше →
      • Коронавирус 2019-nCoV. FAQ по защите органов дыхания и дезинфекции

        Китайский коронавирус, он же «пневмония Уханя» на неделе стал одной из самых горячих тем. В классической «кто виноват и что делать» меня, традиционно, волнует только вторая часть. Сегодня под катом — статья про дезинфекцию, маски и обеззараживание помещений. Объединил в одной статье несколько заметок из своего телеграм-канала. Кладем в закладки и шлем друзьям!


        Стоп! 2019-nCoV
      • Проектные нормы в микроэлектронике: где на самом деле 7 нанометров в технологии 7 нм?

          Современные микроэлектронные технологии — как «Десять негритят». Стоимость разработки и оборудования так велика, что с каждым новым шагом вперёд кто-то отваливается. После новости об отказе GlobalFoundries от разработки 7 нм их осталось трое: TSMC, Intel и Samsung. А что такое, собственно “проектные нормы” и где там тот самый заветный размер 7 нм? И есть ли он там вообще?


          Рисунок 1. Транзистор Fairchild FI-100, 1964 год.

          Самые первые серийные МОП-транзисторы вышли на рынок в 1964 году и, как могут увидеть из рисунка искушенные читатели, они почти ничем не отличались от более-менее современных — кроме размера (посмотрите на проволоку для масштаба).
          Читать дальше →
        • Не пельменем единым жив программист или история о том, как все успеть

          • Tutorial
          image

          По заявкам трудящихся и в связи с переносом — возвращаю пост, который многих порадовал. Надеюсь НЛО будет не против.

          На написание этого поста меня сподвиг замечательный пост «За что конкретно я ненавижу некоторых отдельно взятых маркетологов — или как айтишник по магазинам ходил». Сразу хочу извиниться за возможные опечатки — пишу с планшета, сидя в микроавтобусе и вытягивая сеть телефоном. Hacker's keyboard очень удобен для ssh-доступа, но большие тексты писать им не очень удобно.

          IT- специалисты — народ любопытный. То соберут на базе микроконтроллеров автоматическую систему полива и освещения для любимого фикуса, то пропатчат прошивку мультиварки для раздачи торрентов. Но, по непонятной и загадочной причине, когда дело доходит до еды, пресловутый принцип DIY дает сбой. И наш герой, способный часами переделывать кинескоп старого телевизора в Луч Смерти, идет на кухню утолить голод соевым текстуратом пополам с гидроцеллюлозой и «коллагеновым сырьем».

          В этом посте я хочу разрушить миф о том, что еда может быть либо быстрой и удобной, либо съедобной. Не секрет, что многим из нас приходится работать по 12 часов в сутки, что не способствует кулинарным подвигам с участием 28 приправ и перьев с зада дракона, омытых слезами единорога. Вы получите замечательную возможность посмотреть в глаза своей половинки на 8 марта после того, как она получит не контроллер для дистанционного управления шторой, а свежевыпеченный хлеб ручной работы рано утром. Если вам надоело есть синтетику — добро пожаловать под hubracut.
          Читать дальше →
        • Async/await в C#: концепция, внутреннее устройство, полезные приемы

            Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использовать асинхронность в большинстве случаев нужно лишь знание синтаксиса и никаких других подробностей. Но если лезть вглубь, тема довольно объемная и сложная. Ее излагали многие, каждый в своем стиле. Есть очень много классных статей по этой теме, но все равно существует масса заблуждений вокруг нее. Постараемся исправить положение и разжевать материал настолько, насколько это возможно, не жертвуя ни глубиной, ни пониманием.


            Читать дальше →
          • Метод дублирования. 11 примеров из конструкции ДВС


              Дублирование (от французского doubler удваивать) в системе это вид резервирования, имеющего минимальную избыточность.

              Статья эволюция развития автомобильных двигателей с начала 90-х годов вызвала интерес, и сильное обсуждение преобразований в двигателестроении. Эта статья будет ее продолжением без временных рамок, но с одним общим условием — все представленные примеры повысили надежность, и ряд других характеристик ДВС в лучшую сторону.
              Читать дальше →
            • Каково разрешение человеческого глаза (или сколько мегапикселей мы видим в каждый отдельный момент времени)

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

              Вопрос, казалось бы, простой на первый взгляд… можно погуглить, и всё станет ясно. Но практически все статейки в сети дают либо «космические» числа — вроде 400-600 мегапикселей (Мп), либо это и вовсе какие-то убогие рассуждения.

              Поэтому постараюсь кратко, но последовательно, чтобы никто ничего не упустил, раскрыть эту тему.

              Начнём с общей структуры зрительной системы


              1. Сетчатка
              2. Зрительный нерв.
              3. Таламус(ЛКТ).
              4. Зрительная кора.



              Сетчатка состоит из трёх типов рецепторов: палочки, колбочки, фоторецепторы(ipRGC).
              Читать дальше →
            • Копировщик RFID-меток стандарта EM-Marin

                Как известно, во многих системах доступа используются карты RFID стандарта EM-Marin с частотой 125 КГц. Не исключением стал и домофон моего дома. Одна проблема – неплохо бы научиться копировать такие карты, ибо ценники на их копирование не радуют. В сети, конечно, существует довольно много схем копировщиков (да и китайцы продают свои копировщики за копейки — правда, они часто при копировании ставят свой пароль на болванки), но почему бы не собрать свой собственный копировщик? Вот об этом и нижеприведённая статья.
                Читать дальше →
              • Двойной VPN в один клик. Как легко разделить IP-адрес точки входа и выхода



                  TL;DR В статье описывается самый простой способ настроить VPN-сервер, у которого IP-адрес для подключения VPN-клиентов отличается от IP-адреса, с которого клиенты выходят в интернет.

                  Используете VPN для защиты приватности в интернете и арендуете для этого свой личный сервер? При этом вы единственный клиент, который подключается к этому серверу во всем мире? Так ли сложно найти ваш реальный IP-адрес, как вам кажется? С вступлением в силу пакета Яровой, это становится намного проще.

                  Double VPN — популярная тема, вокруг которой много спекуляций. Часто этим термином называют совершенно разные технологии, но почти всегда это означает разнесенные на уровне IP-адресов точки подключения и выхода в интернет. Мы рассмотрим самый простой способ настройки VPN-сервера в таком режиме, который не требует дополнительной настройки на серверной стороне и позволяет получить максимальную скорость и самые низкие задержки.
                  Читать дальше →
                • Самые интересные металлы


                    Кто не слушает металл — тому бог ума не дал!

                    — Народное творчество

                    Привет, %username%.

                    gjf снова на связи. Сегодня буду совсем краток, потому что через шесть часов вставать и ехать.

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

                    Поскольку все участники хит-парада отличаются какими-то своими суперспособностями, то мест и победителей не будет. Будет — металлическая десятка! Так что порядковый номер ничего не означает.

                    Поехали.
                    Читать дальше →
                  • FAQ: что надо знать путешественнику-гику про прививки перед поездкой

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

                      Любая борьба организма с инфекционным заболеванием — это попытки распознать сигнатуру угрозы и выработать контрмеры. В общем случае этот процесс ведётся до полного результата, то есть до выздоровления. Однако могут быть инфекции, которые:

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

                      Поэтому в некоторых случаях лучше заранее устроить учения. Это и есть вакцины. Взрослый житель города привит от самых опасных инфекций в детстве. При вспышках инфекций или при помещении человека в опасную среду имеет смысл делать профилактические прививки. Путешествия относятся к таким ситуациям.

                      Давайте сначала разберёмся с ликбезом, потом перейдём к путешествиям и списку действий.

                      Почему путешествия опасны?


                      Предположим, вы летите в Африку. Там есть повышенный риск жёлтой лихорадки. Простая вакцина обойдётся вам примерно в 1 500 рублей вместе с приёмом терапевта и услугами процедурного кабинета, вакцина более высокого уровня — в 3 000 рублей. Вылечиться от жёлтой лихорадки специализированными медикаментами нельзя (то есть можно только поддерживать ресурсы организма, пока он сам не справится), заболеть легко, летальность — около 10%, основной вектор — комары. Побочных эффектов у вакцины почти нет. Стоит вакцинация того? Наверное, да. Но решать вам.
                      Читать дальше →
                    • Я у мамы не инженер

                        intro

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

                        Однажды я решил сделать небольшое устройство (“Security Access Tuner” из игры Alien: Isolation) — контроллер, экран, пара элементов управления, да упаковать это всё в небольшой корпус, который планировалось напечатать на 3d принтере. Тогда я ещё и подумать не мог, сколько же времени потребуется, чтобы все эти мелочи собрались в одно целое…
                        Читать дальше
                      • Сети кабельного телевидения для самых маленьких. Часть 4: Цифровая составляющая сигнала



                          Все мы прекрасно знаем, что мир техники вокруг — цифровой, либо стремится к этому. Цифровое телевещание — далеко не новость, однако если вы не интересовались этим специально, для вас могут быть неожиданными присущие ему технологии.
                          Читать дальше →
                        • Вейвлет – анализ. Основы

                          • Tutorial

                          Введение


                          Английское слово wavelet (от французского «ondelette») дословно переводится как «короткая (маленькая) волна». В различных переводах зарубежных статей на русский язык встречаются еще термины: «всплеск», «всплесковая функция», «маловолновая функция», «волночка» и др.

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

                          $\psi _{ab}(t)=\frac{1}{\sqrt{a}}\psi \left ( \frac{t-b}{a} \right ) $, (1)

                          сконструированных из материнского (исходного) вейвлета $\psi(t)$, обладающего определенными свойствами за счет операций сдвига во времени ( b ) и изменения временного масштаба (a).

                          Множитель $1/\sqrt{a}$ обеспечивает независимость нормы функций (1) от масштабирующего числа (a). Для заданных значений параметров a и b функция $\psi_{ab}(t)$ и есть вейвлет, порождаемый материнским вейвлетом $\psi(t)$.

                          В качестве примера приведём вейвлет «мексиканская шляпа» во временной и частотной областях:

                          Листинг вейвлета для временной области
                          from numpy import*
                          import matplotlib.pyplot as plt
                          x= arange(-4,30,0.01)
                          def w(a,b,t):    
                              f =(1/a**0.5)*exp(-0.5*((t-b)/a)**2)* (((t-b)/a)**2-1)
                              return f
                          plt.title("Вейвлет «Мексиканская шляпа»:\n$1/\sqrt{a}*exp(-0,5*t^{2}/a^{2})*(t^{2}-1)$")
                          y=[w(1,12,t) for t in x]
                          plt.plot(x,y,label="$\psi(t)$ a=1,b=12") 
                          y=[w(2,12,t) for t in x]
                          plt.plot(x,y,label="$\psi_{ab}(t)$ a=2 b=12")   
                          y=[w(4,12,t) for t in x]
                          plt.plot(x,y,label="$\psi_{ab}(t)$ a=4 b=12")   
                          plt.legend(loc='best')
                          plt.grid(True)
                          plt.show()



                          Читать дальше →
                        • Обзор рынка моноколес 2019

                            На большей части России еще лежит снег, но уже пора задуматься о том, как проводить лето. И сложно представить что-то более приятное, чем парить над тротуаром, усилием мысли перемещаясь, куда хочется. Конечно, не совсем «парить» и не совсем «усилием мысли», но ощущения от езды на моноколесе максимально близки именно к такой картине. А несколько недель, пока снег будет таять, можно потратить на выбор модели, которая порадует вас больше всего.


                            Фото Московского электроклуба, источник
                            Читать дальше →
                          • Debian + Postfix + Dovecot + Multidomain + SSL + IPv6 + OpenVPN + Multi-interfaces + SpamAssassin-learn + Bind

                              Данная статья о том как настроить современный почтовый сервер.
                              Postfix + Dovecot. SPF + DKIM + rDNS. С IPv6.
                              С шифрованием TLS. С поддержкой нескольких доменов — часть с настоящим SSL сертификатом.
                              С антиспам-защитой и высоким антиспам-рейтингом у других почтовых серверов.
                              С поддержкой нескольких физических интерфейсов.
                              С OpenVPN, подключение к которому через IPv4, и которое даёт IPv6.

                              Если вы не хотите изучать эти все технологии, но хотите настроить такой сервер — тогда эта статья для вас.

                              В статье отсутствуют попытки пояснить каждую деталь. Пояснение идёт к тому, что настроено не стандартно или важно с точки зрения потребителя.
                              Читать дальше →