• Релиз неофициального MTProto прокси на Python, особенности протокола

      image

      Недавно разработчики Telegram выложили исходные тексты прокси-сервера, работающего по протоколу MTProto. На хабре вышли статьи об особенностях его сборки и перепаковке докер-контейнера с ним. Официальный прокси сервер, написанный на С, удивляет объемом кода — примерно 23 тысячи строк. Одновременно с этим, а иногда и чуть раньше, вышло несколько альтернативных реализаций, но ни одна из них не поддерживала возможность рекламы своего канала.

      В данной статье хотелось бы, во-первых, рассказать о малоизвестных особенностях протокола общения прокси-сервера с внешними серверами и, во-вторых, рассказать о собственной разработке — реализации прокси-сервера на Python, которая только что достигла релиза и доступна всем желающим под свободной лицензией MIT.
      Читать дальше →
    • Данные из Google Таблиц на вашем сайте

      • Tutorial


      Привет!

      Для тех, кто пользуется Google Таблицами, есть хорошая новость — ниже описано решение, которое позволит импортировать данные из таблицы на ваш сайт.

      Поехали.

      1. Открываем Таблицу Google


      Для примера, я возьму таблицу, в которую падают результаты из Google Формы.
      Читать дальше →
    • Редизайн сайта хостинг-провайдера: ошибки и решения

        image

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

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

        Дизайн и создание интерфейсов продуктов являются одной из областей, в которых молодые проекты подчас вынуждены идти на компромиссы. И отказываться от них в дальнейшем совсем нелегко. Сегодня мы расскажем о том, как создавали сайт проекта хостинг-провайдера 1cloud и как, вскоре после запуска, работали над его редизайном.
        Читать дальше →
      • Очень быстрый и эффективный способ расслабления глаз

          Предисловие


          imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
          Обещаю, что эффект почувствуете сразу!
          Читать дальше →
        • Почему онлайн консультант не приносит денег, а только портит мой сайт

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

            Не работают они, потому что (один пункт или комбинация из этого списка):
            1. Мы не умеем ими пользоваться и, соответственно, пользуемся ими не правильно.
            2. Мы не умеем разговаривать и, соответственно, делаем это ужасно.
            3. Мы не дисциплинированы и, соответственно, см. п.2
            4. Мы бы рады пользоваться и разговаривать правильно, но эта чертова поделка только делает вид, что работает и что в ней есть нужные нам функции.
            С 4-м пунктом, боюсь, мы ничего сделать не можем, кроме как пойти и найти что-нибудь человеческое. А над остальными, пожалуй, поразмышляем.

            Что такое система онлайн консультирования? — Это чат с посетителями сайта в режиме реального времени. Это инструмент продаж. И, самое важное – это часть вашего сайта. Именно это и отличает подобную штуку от Skype, ICQ, ….

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

            Оговорюсь, есть сайты, использующие такие системы для поддержки существующих клиентов. Эта статья не для них и не про них. Ну, разве что, убедитесь, что онлайн консультант действительно в вашем случае способен только на поддержку.
            Читать дальше →
          • Возможности роутера ZyXEL Keenetic на прошивке второго поколения NDMS v2.00

              Некоторое время назад на сайте ZyXEL в разделе загрузок для интернет-центра Keenetic появилась бета-версия прошивки под названием NDMS 2.0. Приглашение погонять ее получили также зарегистрированно-заинтересованные владельцы обычных «Кинетиков». В аннотации говорится, что это не очередное обновление, а второе поколение программной платформы, кардинально отличающееся от предыдущего и адресованное продвинутым пользователям. Наиболее интересное из заявленного (по сравнению с микропрограммами первого поколения):
              • Полнофункциональный механизм трансляции адресов (Full feature NAT) с поддержкой нескольких внешних IP-адресов; перенаправление портов с возможностью выбора порта назначения в локальной сети; переназначение ролей сетевых интерфейсов.
              • Поддержка множественных PPP-туннелей для доступа в Интернет и подключения к виртуальным частным сетям (VPN).
              • Возможность назначения нескольких дополнительных физических WAN-интерфейсов на порты встроенного коммутатора Ethernet.
              • Резервирование подключения к интернету через USB-модемы 3G/4G и дополнительно назначаемые WAN-интерфейсы.
              • Профессиональный интерфейс настройки через командную строку (Cisco like CLI). Все функции могут быть настроены с командной строки и сохранены в виде текстового файла.
              • Пакетная сборка прошивки «по требованию». Функциональность устройства выбирается пользователем в веб-интерфейсе устройства и прошивается автоматически.
              Читать дальше →
            • Фулвью ор нот фулвью: о пользе и вреде полной BGP-таблицы

                На любом околосетевом форуме легко найти с десяток веток о выборе оборудования для BGP-пиринга с возможностью «держать две, три, пять, двадцать пять фулвью». Большинство таких веток выливается в холивары на тему Cisco vs. Juniper или еще чего похуже. Офлайновое же их развитие нередко напоминает мультфильм о шести шапках из одной овичины. В общем, бывает смешно.


                И крайне редко обсуждается вопрос о необходимости этого самого фулвью.

                Давайте попробуем разобраться.
              • Облако selectel — не помеха для запуска Gentoo

                  Сегодня ночью попробовал установить Gentoo в виртуальной машине selectel.ru.

                  Для начала надо зарегистрироваться и создать виртуалку с какой-нибудь осью.
                  Для тестов выбрал Debian mini.
                  После создания, подключаю еще один жесткий диск, размером как минимум 2Gb.
                  Создаем на нем разделы, форматируем.
                  При форматировании необходимо учесть, что в стандартной конфигурации (stage3+portage) очень много мелких файлов, по этому inode могут закончиться быстрее, чем место на диске. По дефолту, на 1.9 gb их получается 125568, этого не хватит, что бы распаковать stage3 и portage.

                  Форматируем раздел размером 1.9 gb:
                  mkfs.ext3 -i 8192 /dev/xvda1 — получаем 251136 inode
                  mkfs.ext3 -i 4096 /dev/xvda1 — получаем 502272 inode

                  Читать дальше →
                • Эффективная поисковая оптимизация сайтов для Веб-дизайнеров

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

                  Учитывая то, что Веб-дизайн и SEO тесно связаны друг с другом, этот топик можно назвать «Часто Задаваемые Вопросы» для дизайнеров, но зачастую остаются непонятными моменты, связанные с ответственностью веб-дизайнера и с тем, что в его силах для улучшения SEO. Большинство заказчиков именно от дизайнера требуют создания хорошо индексируемого сайта, который бы привлекал целевую аудиторию, однако, SEO – это непрерывный процесс, включающий в себя далеко не только дизайн и код сайта. Такие моменты как: анализ ключевых слов, разработка информационного наполнения, перелинковка и многие другие – безусловно, являются критическими моментами в оптимизации сайта для поисковых систем и, как правило, они представляют непрерывный процесс.

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

                  В этой статье мы проведем детальный анализ темы «Веб-дизайнеры и SEO». Многие другие темы, связанные с SEO, будут так же затронуты.
                  Читать дальше →
                • Использование скрытых Марковских моделей для снятия морфологической омонимии

                    В предыдущем посте я писал о том, что такое морфологическая омонимия (пример со словом «стали») и упоминал о том, что для её разрешения используют скрытые Марковские модели (Hidden Markov Model, HMM).
                    Вначале немного о разметке теста (в английской литературе этот процесс называется «part-of-speech tagging» (POST)) – это ручной или автоматический процесс, в результате которого каждому слову текста приписывает атрибутивная информация (тэг), которая определяет какой частью речи является это слово: существительное, глагол, прилагательное, наречие, местоимение, частица, союз, междометие и т.д. Именно тут мы и наткнёмся на проблему «стали».
                    Читать дальше →