Skip to content

Без рубрики

Telegram опубликовал MTProxy

Война Telegram и РКН продолжается уже давно, но до сих пор нет явного победителя.

У РКН со своей стороны растет список IP адресов для блокировки, истерия в СМИ не стихает, принуждают Apple к удалению Telegram из App Store и отключить push уведомления для них.

Telegram же наращивает арсенал инструментов для обхода блокировок. Новым таким инструментом стал долгожданный MTProxy (о принципах работы которого можно ознакомиться здесь).

В лучших традициях сопротивления, код был опубликован на GitHub. Посмотрев на репозиторий, возникло ощущение, что ребята как-то в спешке публиковали код.

make просто так на Ubuntu 16.04 собрать проект не смог, так как требуется более свежая версия OpenSSL, которой в этой версии Ubuntu нет. Но есть PR, который решает эту проблему. Остальная же настройка по шагам описана в README файле.

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

Слухи о возможности встраивания рекламы Telegram каналов подтвердились, для этого нужно зарегистрировать свой прокси у @MTProxybot.

Заходите на канал в Telegram.

Визуализация связей процессов в Linux

lsofgraph python
Приходилось ли вам отслеживать зависимости системных процессов, «кто чей папка», найти императора и убить его, чтобы рабы не респаунились? Можно ps’ать и grep’ать, можно lsof погонять, ведь это так увлекательно 😉 Но любые связи, как мне кажется, всегда проще анализировать в визуальной форме, консольные утилиты рисуют хорошие таблички, но из них не всегда можно быстро понять, что с чем связано и в какой последовательности, а для диагностики это очень важно.

Read More →

Запуск канала в Telegram

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

Присоединяйтесь в Telegram

Новый TLS DNS резолвер от Cloudflare

Безопасность DNS становится все более актуальной темой, поэтому появляется все больше DNS резолверов с шифрованием (TLS), которые позволяют предотвратить перехват DNS запросов.

Когда я узнал о запуске резолвера quad9.net, то сначала даже нормально не смог зайти на их сайт (да и сейчас порой ощущение, что он лагает), пинги до резолвера были не значительно лучше чем у гугловых…

Но вот когда Cloudflare объявил о запуске нового публичного DNS резолвера, то они сразу правильно расставили акценты и приложили интересующие бенчмарки.

Read More →

pipenv: python packaging tool

pipenv demo
pipenv призван упростить управление виртуальным окружением и зависимостями для python проектов.

Больше не нужно вручную собирать requirements.txt, все нужные библиотеки после установки, автоматически добавляются Pipfile, который содержит настройки всего проекта. При необходимости можно легко и удобно лочить, конкретные версии библиотек.

Те кто много работал со связкой pip + virtualenv должны оценить pipenv по достоинству.

sshportal: удобный доступ в DMZ

Не знаю как вам, а мне часто приходилось пробираться внутрь DMZ сети, через разные публично доступные серверы. Причины для этого могут быть разные, не работает VPN, фильтруется трафик в отеле и т.д. Обычно всё решалось в итоге через SSH туннели или SSH с одной машину на другую.

sshportal представляет собой простой способ организации доступа по SSH внутрь DMZ сети. По сути это всё те же самые ssh туннели, но централизованные и более удобные в управлении.
Более подробную доку можно посмотреть на гитхабе.

Мысли о подходе к изучению/обучению

Когда работаешь в команде, то очень важно чтобы вся команда находилась в одном контексте. Часто бывает, что когда кто-то один из команды прочитает новую книгу о какой-нибудь новой методологии, то он волей не волей начинает мыслить её канонами, но, к сожалению, остальная часть команды этого может не понимать и применение методологии никак не помогает «новоиспеченному адепту» понять необходимость её использования или соответствия собственным задачам.
В моем опыте было очень много примеров, когда одну и ту же книгу члены команды читали в разные периоды времени, им не удавалось погрузиться в единый контекст и использовать новые знания. Но когда все в команде прочитывали книгу до конца и имели одинаковое понимание контекста, то исчезало недопонимание в восприятии идей других членов команды. При наличии схожих знаний и общего контекста гораздо легче понять мотивацию других участников и воспринимать такие идеи становится гораздо легче и они выглядят более понятными. В современном мире мы обрабатываем так много различной информации из различных источников, что всего и не упомнишь.
Если ты руководишь несколькими разными командами с различной функциональностью, например, UX и программисты, то всегда хочется понимать в каком состоянии находится тот или иной контекст, синхронизированы ли знания ребят, в какую сторону перевес, почему это происходит. Вы как руководитель сами формируете контекст для отдела, саморазвитие отдела очень важное и ответственное дело. Чем лучше и правильнее вы сформируете процесс самообучения, тем быстрее вы сможете адаптировать новых специалистов, а главное меньше тратить на это времени.
Очень важно определять последовательность изучения материалов по той или иной теме, от введения, до глубоких деталей. Предоставив просто список литературы, человек может отранжировать его по заголовкам или любым другим субъективным параметрам, тем самым увеличив время изучения и погружения в контекст.
Структурный и последовательный подход к обучению всегда был самым эффективным, дома ведь тоже строятся с фундамента. Для определения жесткой последовательности изучения материалов необходимо проводить глубокий анализ на как можно большем количестве людей для наиболее объективного определения последовательности изучения материалов

Хак при добавлении Canvas URL в Facebook

Для оптимизации и ускорения работы приложение в социальное сети Facebook хорошей практикой является размещение приложения на CDN, но возникает небольшая проблема при добавлении такого приложения. Для проверки приложения Facebook отправляет POST запрос на указанный Canvas URL, но мало какие CDN правильно отрабатывают такие запросы, я даже не знаю какие обрабатывают их правильно. Ведь для статики по логике не нужны POST запросы. Кто-то для решения этой проблемы размещает индексный файл Canvas URL отдельно от всей статики, где POST запрос без проблем обрабатывается. Впринципе решение, но приходится отслеживать и синхронизировать два независимых хранилища. Как показала практика эту проблему можно решить при помощи 301 редиректа.
Отправная точка есть, а тут уж каждый может решать как хочет:
1) Использовать сокращатель ссылок, например, bit.ly, который делает 301 редирект на нужную ссылку + помимо этого bit.ly поддерживает SSL, что позволяет нам указывать его и как Secure Canvas URL. Итоговая ссылка, которую пропускает Facebook выглядит так: https://bit.ly:443/shortenhash
2) Ваше приложение не на все 100% состоит из статики, а значит есть сервер где есть какой-нибудь web-server, можно на базе этого сервер реализовать такую же схему как и в первом пункте

Пять причин, которые тормозят развитие стартапа

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

1. Ожидание того, что всё будет идеально
Иногда очень трудно сдвинуться с места из-за ожидания того, что всё должно быть сразу идеально.
Вся сложность в том, что идеально быть не может, этому всегда будет что-то мешать. А ведь стартап на то и стартап, что он будет развиваться из идеи и совершенствоваться в процессе развития.

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

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

4. Становиться слишком серьезным
Принимая всё больше серьезных и даже критических решений, старайтесь оставаться открытым. Это добавит легкости в ваш коллектив.

5. Бояться поражений
Ошибиться можно всегда и не надо за это себя осуждать. Надо быть готовым к поражениям, они неизбежны. Принимая поражения слишком близко, можно перестать принимать решения вновь, так как это заранее будет вас пугать.

Пост по материлам статьи 

Цитата о распределенных вычислениях

Цитата к первой главе третьего издания руководства о Hadoop.

Первопроходцы перевозили тяжести на быках. И если бык не мог сдвинуть бревно, они не пытались вырастить быка побольше. Мы должны стремиться не к повышению мощности отдельных компьютеров, а к повышению численности компьютерных систем. (с) Грейс Хоппер