• Торфон – мобильное приложение для анонимной телефонии

    image


    Сегодня я хотел бы рассказать о результатах моих семилетних исследований в области передачи голоса через сеть Tor. Общепринятым является мнение, что голосовая связь через Tor почти невозможна:

    • существующие транспортные протоколы для телефонии работают поверх UDP, а Tor обеспечивает лишь TCP соединения;
    • Tor маршрутизирует пакеты через множество узлов, шифруя данные, что является причиной значительной латентности и делает дуплексную телефонную связь невозможной или крайне некомфортной.

    Но так ли это на самом деле?
    Читать дальше →
  • Инкапсуляция в Python 3

    image


    Определение


    Значение термина «инкапсуляция» расплывчато и отличается от источника к источнику. Принято считать, что инкапсуляция — один из основополагающих принципов ООП, хотя некоторые научные статьи вовсе упускают инкапсуляцию из списка. К примеру, Джон Митчелл в книге «Концепты в языках программирования» при перечислении основных концептов в ООП упоминает только абстракцию — термин который принято считать близким к инкапсуляции по значению, но все-же более обширным и высокоуровневым. С другой стороны, Роберт Мартин в его книге «Чистая архитектура» явно говорит о том, что инкапсуляция, наследование и полиморфизм считается фундаментом ООП.


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


    • связь данных с методами которые этими данными управляют;
    • набор инструментов для управления доступом к данным или методам которые управляют этими данными.

    Инкапсуляция как связь

    Читать дальше →
  • Без единого «упс»: топ-10 докладов DevOops 2017



      Если вы не были на DevOops 2017, то, наверное, ваши мысли сейчас примерно такие: «При чём тут греческие тоги? Так выглядел лучший доклад девопс-конференции? Что это за доклад и почему он признан лучшим? А были ли там серьёзные выступления в обычной одежде?»

      Серьёзного было более чем достаточно: если вас интересуют нюансы работы с Kubernetes, Istio или Zipkin, в посте вы всё это найдёте, да и тоги не мешают говорить дельные вещи. Звание «лучшего» зависело от зрителей: мы составили этот топ-10 на основе их оценок. А ответ на первый вопрос — под катом.

      Читать дальше →
      • +16
      • 6.2k
      • 4
    • Английский язык: взгляд инженера

      ДИСКЛЕЙМЕР


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

      Здесь приводится опыт, который выдернул меня из состояния «читаю со словарем».




      Походу большинство учебников иностранного языка, по которым учат школьников, студентов основаны на чьих-то докторских. Даже в технических (точных) науках докторские бывают так себе, что уж творится в гуманитарных науках.

      Возьмем такой предмет, как английский язык. Там куча понятий: 12 времен глагола, страдательный залог, причастия и т.п. Кто их ввел? Видимо, некие ученые мужи, для которых английский язык был РОДНЫМ. Они жили себе в каком-нибудь Oxford’e или в Cambridg’e и вряд ли знали русский язык.

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

      Вспомните, как вы в школе изучали русский язык. Подлежащее, сказуемое, дополнение, определение… и штук 200 правил, из которых куча исключений, которые все благополучно забывают, кроме собственно учителей русского. И которые потом нужны – максимум – при разборках с бюрократическими документами («казнить нельзя помиловать»).

      Английская грамматика – туда же – что-то академическое и малополезное при изучении языка с нуля. Для человека, который более-менее свободно умеет стыковать из английских слов фразу, нужно просто учить новые слова.

      Но есть много людей, которые даже стыковать толком не умеют, у них уровень — «читаю и перевожу словарем», в смысле — «заглядываю в словарь за каждым словом из текста».
      При отсутствии языковой практики навык сложения английской фразы из слов у них практически отсутствует, что является серьезным барьером на пути к дальнейшему изучению.

      Статья ориентирована именно на таких.
      Читать дальше →
    • Открытый вебинар «Механизмы контейнеризации Linux»

        Всем привет!

        Делимся новым открытым уроком, который провёл Александр Румянцев — преподаватель курса «Администратор Linux». На вебинаре разбиралось современное состояние механизмов контейнеризации и контейнеризация cgroups и cgroups-based, как она реализована в ядре, что такое namespace и почему cgroups — это группы.


        Ждём комментарии и вопросы тут или можете задать их преподавателям сегодня на дне открытых дверей.
        • +19
        • 5.1k
        • 1
      • Памятки по искусственному интеллекту, машинному обучению, глубокому обучению и большим данным

        • Translation


        В течение нескольких месяцев мы собирали памятки по искусственному интеллекту, которыми периодически делились с друзьями и коллегами. В последнее время сложилась целая коллекция, и мы добавили к памяткам описания и/или цитаты, чтобы было интереснее читать. А в конце вас ждёт подборка по сложности «О большое» (Big-O). Наслаждайтесь.

        UPD. Многие картинки будут читабельнее, если открыть их в отдельных вкладках или сохранить на диск.
        Читать дальше →
        • +43
        • 25.9k
        • 9
      • Программа для удаленного управления рабочим столом — Aspia

          image Хочу представить общественности свою разработку – приложение для удаленного управления рабочим столом Aspia. Проект является полностью бесплатным и с открытым исходным кодом (GPL 3.0).

          На данный момент реализованы следующие возможности:

          • Удаленное управление рабочим столом
          • Удаленный просмотр рабочего стола
          • Передача файлов
          • Адресная книга с поддержкой шифрования и мастер-паролем (XChaCha20+Poly1305, 256-битный ключ)
          • Возможность создавать пользователей с индивидуальными правами
          • Шифрование всей передаваемой по сети информации (XSalsa20+Poly1305)
          Читать дальше →
        • Расширение процесса сборки с помощью MSBuild

          Цель статьи — рассказать немного о MSBuild, показать что такое таргеты и таски в MSBuild, научить работать с файлом .csproj, дать полезные ссылки. Если у вас будет более подходящее название для статьи, то буду рад обсудить в комментариях.

          Меню


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