Как стать автором
Обновить
35
0
Konstantin Coocheenin @coocheenin

Пользователь

Github — без командной строки

Время на прочтение 2 мин
Количество просмотров 68K

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

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

Здесь я собрал несколько рецептов, используя которые, вы сможете без единой команды git, скопировать себе репозиторий, создать там вспомогательную ветку, в ней что-то отредактировать, добавить/удалить файлы/папки, сделать пулл-реквест в оригинальный репозиторий. А по истечению какого-то времени, когда в оригинальном репозитории накопятся изменения не отраженные в нашей копии — синхронизировать эти два репозитория — причем тоже без единой git-команды.

Читать дальше →
Всего голосов 67: ↑45 и ↓22 +23
Комментарии 33

aptitude vs apt. 5 причин, почему я использую aptitude

Время на прочтение 2 мин
Количество просмотров 73K
Пять параметров, по которым aptitude превосходит (по четвертому параметру не уступает) apt:

1. Логичность синтаксиса. И единство управления.
2. Гибкость поиска.
3. Проставление меток пакетов.
4. Разрешение зависимостей.
5. Интерфейс.

наглядно и с картинками
Всего голосов 137: ↑118 и ↓19 +99
Комментарии 92

Коротко о Shadowsocks, или OpenVPN не нужен (в каждом доме)

Время на прочтение 6 мин
Количество просмотров 260K
В наши дни, когда всякие нехорошие элементы так и норовят влезть в ваш трафик и как-то там напакостить, стало модным шифрование трафика. Начинание это благое и полезное, вот только делают его зачастую избыточно. Если шифрование трафика до доверенного сервера, типа своего VPS, — ваша единственная цель, то OpenVPN для такой цели слишком наворочен. Его долго настраивать, легко обнаружить, а главное — есть подводные камни, не зная которых можно получить такую ситуацию, что VPN стоит, а трафик идёт в обход. Всё это потому, что OpenVPN задумывался больше как средство доступа к маленькой сети через Интернет, а не для доступа ко всему Интернету.
Читать дальше →
Всего голосов 56: ↑55 и ↓1 +54
Комментарии 77

Game Boy Pocket: краткий обзор + потрошки

Время на прочтение 2 мин
Количество просмотров 58K
Сложно найти человека, который не знает о портативных консолях Nintendo. Еще сложнее найти того, чье детство/юношество пришлось на 90-е, и который не мечтал заиметь одну из них. В статье пойдет речь о втором поколении консолей Nintendo Gameboy: Gameboy Pocket.


Читать дальше →
Всего голосов 33: ↑29 и ↓4 +25
Комментарии 24

Game Boy Original: Обзор, разборка, особенности

Время на прочтение 4 мин
Количество просмотров 93K
В то время как мы с вами довольствовались игрой, где волк ловит яица, на аккуратно склонированной приставке компании Nintendo Game&Watch, японцы уже шагали семимильными шагами, и в далёком 1989 году на свет появилась портативная игровая консоль нового поколения Game Boy. В отличие от России и стран СНГ, где она была непопулярна из-за своей дороговизны (и, видимо, проблемы её клонирования пиратами), а вот в США, Японии, Англии и других странах она была сверхпопулярна. Игровых приставок Game Boy и Game Boy Color было продано порядка 118 миллионов штук! А хорошо знакомая нам игра Тетрис была продана для данной консоли тиражом 30 миллионов картриджей! Для сравнения, копий игры Battlefield 3 было продано окало 15 миллионов штук. Что же послужило такой колоссальной популярностью Game Boy? Всё очень просто. Nintendo не стала делать самую технологически продвинутую платформу, наоборот, ставка была сделана на доступность и простоту. И простота в ней была не только для пользователей, но и для разработчиков. В основе устройства лежал упрощённый и доработанный процессор Zilog Z80, имелись 2 модуля памяти по 64Кбита и… и всё. На плате Game Boy можно насчитать ровно 4 микросхемы и практически больше никаких элементов с поверхностным монтажом. Если вам интересно, что же из себя представляет внутреннее устройство Game Boy Original, вам прямая дорога под кат.


Читать дальше →
Всего голосов 86: ↑84 и ↓2 +82
Комментарии 50

Встречаем сервис от Cloudflare на адресах 1.1.1.1 и 1.0.0.1, или «полку публичных DNS прибыло!»

Время на прочтение 7 мин
Количество просмотров 221K

1.1.1.1


Компания Cloudflare представила публичные ДНС на адресах:


  • 1.1.1.1
  • 1.0.0.1
  • 2606:4700:4700::1111
  • 2606:4700:4700::1001

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


Сервис интересен тем, что кроме обычного DNS предоставляет возможность использовать технологий DNS-over-TLS и DNS-over-HTTPS, что здорово помешает провайдерам по пути запросов подслушивать ваши запросы — и собирать статистику, следить, управлять рекламой. Cloudflare утверждает, что дата анонса (1 апреля 2018, или 04/01 в американской нотации) была выбрана не случайно: в какой еще день года представить "четыре единицы"?

подробнее
Всего голосов 39: ↑39 и ↓0 +39
Комментарии 130

Популярные бюджетные носимые радиостанции

Время на прочтение 4 мин
Количество просмотров 43K
В подборке речь пойдет про разрешенные носимые (маломощные) радиостанции разрешенного диапазона (LPD433/PMR446).

Это недорогие китайские рации типа Baofeng и Xiaomi, а также аксессуары к ним.


Читать дальше →
Всего голосов 41: ↑32 и ↓9 +23
Комментарии 82

Нейровоспаление

Время на прочтение 18 мин
Количество просмотров 29K
Исследователи склонны всё больше и больше внимания обращать на воспалительные процессы в мозгу при дегенеративных заболеваниях, как в роли первопричины, так и в роли вторичного фактора, вызванного повреждением нервной ткани. Нейровоспаление может оказаться центральным процессов в старении организма.

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

С патологиями, включающими в себя болезнь Альцгеймера, которую вы вероятно знаете по состоянию писателя Терри Пратчетта перед его смертью, болезнь Паркинсона, от которой в последние годы своей жизни страдал художник Сальвадор Дали, боковой амиотрофический склероз, который стал известен в связи с состоянием физика Стивена Хокинга, описание ведётся по реакции, выраженной в изменении формы и структуры глиальных клеток – астроцитов и микроглии. Многие из подобных заболеваний проявляются в старшем возрасте, они связаны со старением и возможно вызваны им. Понимание нейровоспаления, его причин и последствий, может потенциально улучшить терапию многих заболеваний, некоторые из которых сейчас лечатся только симптоматически.

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

Что такое воспаление?


Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 5

Смарт-антенна для сетей LTE

Время на прочтение 5 мин
Количество просмотров 19K
В настоящее время многие пользуются интернетом LTE. Однако, если в крупных городах уже нет проблем с покрытием сети и скоростью интернета, то в пригородах абоненты сталкиваются с проблемой слабого приема. Причиной этого является не только непосредственно слабый сигнал, но и возникновение множества переотражений сигнала по пути от базовой станции (БС) к абоненту. В данной статье описывается разработка смарт-антенны, которая адаптируется к условиям приема сигнала.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 17

Юридические аспекты операций с криптовалютами для резидентов РФ

Время на прочтение 8 мин
Количество просмотров 49K

image


Являются ли криптовалюты объектом гражданских прав в РФ


Да, являются.


Список объектов гражданских прав указан в ст. 128 ГК РФ:


“К объектам гражданских прав относятся вещи, включая наличные деньги и документарные ценные бумаги, иное имущество, в том числе безналичные денежные средства, бездокументарные ценные бумаги, имущественные права; результаты работ и оказание услуг; охраняемые результаты интеллектуальной деятельности и приравненные к ним средства индивидуализации (интеллектуальная собственность); нематериальные блага”

Как видно из текста закона, этот список не исключительный, и туда входят любые имущественные права, результаты работ и оказание услуг, и даже нематериальные блага (пример: "вы мне споете, а я вам станцую" — это обмен нематериальными благами)


Часто встречаемые высказывания о том, что де "нет определения криптовалюты в законодательстве РФ и поэтому операции с ними незаконны" — неграмотны.

Читать дальше →
Всего голосов 46: ↑43 и ↓3 +40
Комментарии 167

Раковые клетки получают энергию для бурного роста при расщеплении сахара

Время на прочтение 3 мин
Количество просмотров 49K


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

Варбург, исследуя клетки раковых опухолей, обнаружил, что уровень гликолиза в них может быть в 200 раз выше, чем в обычных, здоровых тканях. Именно поэтому ученый решил, что причиной рака является нарушение обмена веществ в клетках. Спустя некоторое время было доказано, что это вовсе не так, рак вызывают мутации в различных генов. Но какую роль во всем этом играет сахар и причем здесь молочная кислота?
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 45

Путешествие на Байкал или, Как я собрал солнечную электростанцию на берегу

Время на прочтение 6 мин
Количество просмотров 17K
Если данный текст о солнечной электростанции своими руками покажется интересным, то я продолжу цикл об электростанциях в разных уголках страны

Полагаю, мало кто из путешественников не мечтал побывать на Байкале. Многочисленные попытки подогнать отпуск под такое путешествие разбивались о суровую правду: дистанция пути на автомобиле в одну сторону более 5000 километров – это очень серьезное препятствие. Мало того, что надо пересечь половину страны, так еще и времени такое путешествие занимает немало. А ведь захочется и по пути все республики посмотреть, да на горы Уральские полюбоваться. В общем, не складывалось.

Разменяв третий десяток лет от роду, случилось у меня счастье – оказалось, что нужно лететь на Байкал. И пусть путешествие планировалось служебным, но все-таки это путешествие на самое большое озеро на Земле.

Начинаем!


Всего голосов 45: ↑34 и ↓11 +23
Комментарии 102

Разбираем WeChat — второй по популярности мессенджер в мире

Время на прочтение 5 мин
Количество просмотров 37K


  • Небольшой экскурс в WeChat;
  • О платформе, версии приложения, используемых утилитах и расшифровке исполняемого файла;
  • О двух протоколах (старом и новом);
  • О сериализации объектов;
  • Используемая криптография и обмен ключами;
  • О заголовках и хэш-функциях;
  • О найденных уязвимостях.

Читать дальше →
Всего голосов 34: ↑34 и ↓0 +34
Комментарии 18

В России обложат пошлиной все интернет-покупки дороже €20

Время на прочтение 4 мин
Количество просмотров 86K
Правительство решило взимать с россиян пошлину при ввозе в страну любых товаров дороже €20. Об этом сообщает РБК, ссылаясь на проект федерального бюджета. Ограничения для покупок будут снижены в 50 раз: сейчас порог для беспошлинного ввоза составляет €1000. Новым законом Россию фактически хотят уровнять с Белоруссией, где порог для посылок из-за рубежа установлен на уровне €22. Зарубежные покупки – хлеб и соль мейлфорвардеров, и новое резкое закручивание гаек нас, мягко говоря, не радует. Но даже обычные покупатели, которые никогда ничего не заказывали из зарубежных интернет-магазинов, от новых сборов могут сильно пострадать.


Читать дальше →
Всего голосов 38: ↑31 и ↓7 +24
Комментарии 277

Изолируем демоны с systemd или «вам не нужен Docker для этого!»

Время на прочтение 9 мин
Количество просмотров 49K
В последнее время я вижу, как довольно большое количество людей применяет контейнерную виртуализацию только для того, чтобы запереть потенциально небезопасное приложение внутри контейнера. Как правило, используют для этого Docker из-за его распространенности, и не знают ничего лучше. Действительно, многие демоны первоначально запускаются от имени root, а далее либо понижают свои привилегии, либо master-процесс порождает обрабатывающие процессы с пониженными привилегиями. А есть и такие, которые работают исключительно от root. Если в демоне обнаружат уязвимость, которая позволяет получить доступ с максимальными привилегиями, будет не очень приятно обнаружить злоумышленников, уже успевших скачать все данные и оставить вирусов.
Контейнеризация, предоставляемая Docker и другим подобным ПО, действительно спасает от этой проблемы, но также и привносит новые: необходимо создавать контейнер для каждого демона, заботиться о сохранности измененных файлов, обновлять базовый образ, да и сами контейнеры часто основаны на разных ОС, которые необходимо хранить на диске, хотя они вам, в общем-то, и не особо нужны. Что делать, если вам не нужны контейнеры как таковые, в Docker Hub приложение собрано не так, как нужно вам, да и версия устарела, SELinux и AppArmor кажутся вам слишком сложными, а вам бы хотелось запускать его в вашем окружении, но используя такую же изоляцию, которую использует Docker?

Capabilities

В чем отличие обычного пользователя от root? Почему root может управлять сетью, загружать модули ядра, монтировать файловые системы, убивать процессы любых пользователей, а обычный пользователь лишен таких возможностей? Все дело в capabilities — средстве для управления привилегиями. Все эти привилегии даются пользователю с UID 0 (т.е. root) по умолчанию, а у обычного пользователя нет ни одного из них. Привилегии можно как дать, так и отобрать. Так, например, привычная команда ping требует создания RAW-сокета, что невозможно сделать от имени обычного пользователя. Исторически, на ping ставили SUID-флаг, который просто запускал программу от имени суперпользователя, но сейчас все современные дистрибутивы выставляют CAP_NET_RAW capability, которая позволяет запускать ping из-под любого аккаунта.
Получить список установленных capabilities файла можно командой getcap из состава libcap.
% getcap $(which ping)
/usr/bin/ping = cap_net_raw+ep

Флаг p здесь означает permitted, т.е. у приложения есть возможность использовать заданную capability, e значит effective — приложение будет ее использовать, и есть еще флаг iinheritable, что дает возможность сохранять список capabilities при вызове функции execve().
Capabilities можно задать как на уровне ФС, так и просто у отдельного потока программы. Получить capability, которая не была доступна с момента запуска, нельзя, т.е. привилегии можно только понижать, но не повышать.
Также существуют биты безопасности (Secure Bits), их три: KEEP_CAPS позволяет сохранить capability при вызове setuid, NO_SETUID_FIXUP отключает перенастройку capability при вызове setuid, и NOROOT запрещает выдачу дополнительных привилегий при запуске suid-программ.
Читать дальше →
Всего голосов 72: ↑70 и ↓2 +68
Комментарии 34

Тестирование или парсинг сайтов с динамическим дом и многое другое. Nightmare.js — ему все равно

Время на прочтение 4 мин
Количество просмотров 21K
Эта статья не будет содержать много лирики, марали или вводных зачем и кому это может быть надо.

В двух словах:


1. Пакет можно использовать для тестирования сайтов.
2. Пакет можно использовать для парсинга данных.
3. Пакет можно использовать для автоматизации ввода данных на сайты.

Альтернативы:


Casper.js, phantom.js, watir и много кто еще, в гугле полно всех и вся. Почему я за nightmare.js:

  1. Простота использования.
  2. Полная поддержка html5, никаких конфликтов с сайтами.
  3. Расширяемый через экшены.

Структура библиотеки


Nightmare класс использует фреймворк electron, для каждой страницы создавая объект (BrowserWindow) который запускает браузер оболочку Chromium.

Принцип работы


  1. Nightmare инициализирует новое приложение electron с стартовой страницей, которую необходимо подвергнуть дальнейшей обработке.
  2. Перед загрузкой исследуемой страницы загружаются скрипты, которые позволяют поддерживать двустороннее взаимодействие программиста и страницы через серию эмиттеров.
  3. Nightmare предоставляет программисту набор апи (цепочки действий), позволяющие произвести любые манипуляции с сайтом и получить требуемые данные.
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 19

Агрегация несущих в LTE или на что обратить внимание при покупке следующего смартфона

Время на прочтение 4 мин
Количество просмотров 167K
Скорость мобильного интернета зависит как от оператора связи, так и от вашего устройства. Когда при описании сети оператора используются термины 4G+ или LTE-Advance, то речь идет о том, что на сети поддерживается технология агрегации несущих, она-то и обеспечивает более высокие скорости мобильного интернета. Что это такое, как это уже реализовано на сетях российских операторов мобильной связи, какие смартфоны ее поддерживают – об этом данная статья.
Читать дальше →
Всего голосов 39: ↑36 и ↓3 +33
Комментарии 39

Проблемы безопасности почты Mail.ru

Время на прочтение 1 мин
Количество просмотров 41K
Два года назад мной был написан несложный PHP-скрипт для формы обратной связи. Письма приходили на почту mail.ru. Как выяснил позднее, в скрипте была ошибка. В «From» я вставлял емэйл-адрес клиента (по сути, подделывал отправителя), однако письма приходили, и ладно.

Исходный код:

$email = $_POST['email'];
$headers .= "From: " . $email . "\r\n";

А не так давно заметил, что заявки перестали приходить… Проверил форму — не работает. Вызвало недоумение, ибо никто ничего не трогал, и два года всё работало нормально. По ходу экспериментов выяснилось, что если использовать такой код:

$email = "Сбербанк <help@sberbank.ru";
$headers .= "From: " . $email . ">>\r\n";

то можно совершенно спокойно подделывать любого отправителя (в данном случае Сбербанк).

image
Читать дальше →
Всего голосов 86: ↑57 и ↓29 +28
Комментарии 98

DKIM — это просто

Время на прочтение 3 мин
Количество просмотров 372K
Здравствуйте.

Хочу поделиться своим небольшим опытом прикручивания DKIM (DomainKeys Identified Mail) к своему домену и почтовому серверу.

Мы имеем:
Задача:
  • Разобраться в системе подписи сообщений DKIM, что бы gmail признал её валидной и выдал заветные: dkim=pass.

Читать дальше →
Всего голосов 35: ↑30 и ↓5 +25
Комментарии 34

Больше нет писем в папке Spam: настройка SMTP-сервера

Время на прочтение 3 мин
Количество просмотров 68K
Недавно мы настраивали SMTP-сервер для нашего проекта. Вопрос стоял так: что нужно сделать, чтобы письма, отправленные нашим пользователям, не попадали в папку со спамом или попадали туда как можно реже?

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

Приведенные советы актуальны только если вы используете свой собственный SMTP-сервер. При использовании, например, SMTP сервера Google всё уже сделано за нас. Как правило. В любом случае рекомендую проверить (см. подразделы Как проверить?).
Читать дальше →
Всего голосов 54: ↑50 и ↓4 +46
Комментарии 29

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность