Как стать автором
Обновить

Как программно управлять WiFi маршрутизатором TP-Link с помощью Python requests

Время на прочтение11 мин
Количество просмотров34K
Однажды передо мной встала задача реализации программного управления одним из распространенных домашних Wi-Fi маршрутизаторов TP-Link TL-WR841N, у которого, к сожалению, нет интерфейса управления через командную строку (telnet, SSH). Я хотел, чтобы мой Telegram бот, реализованный на Python на базе SBC в локальной домашней сети, на основе моих команд выполнял следующие функции управления маршрутизатором:

  • Перезагрузка маршрутизатора
  • Открытие/закрытие NAT Port Forwarding к внутренним WEB-сервисам
  • Открытие/закрытие удаленного доступа к маршрутизатору из WAN (интернет)
  • Определение устройств, зарегистрированных в локальной WiFi сети маршрутизатора
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии20

Инфраструктура открытых ключей на базе российской криптографии: GnuTLS как альтернатива OpenSSL

Время на прочтение25 мин
Количество просмотров6.5K
imageИнфраструктура открытых ключей (PKI/ИОК) включает в себя множество различных объектов и механизмов работы с ними, а также протоколы взаимодействия объектов друг с другом (например, протоколы TLS, OCSP). В число объектов ИОК входят запросы на сертификаты (PKCS#10) и сами сертификаты x509, ключевые пары (приватные и публичные ключи), подписанные и зашифрованные документы (PKCS#7, CMS), защищенные контейнеры для хранения приватных ключей (PKCS#8) и личных сертификатов с ключами (PKCS#12) и т.д. В число механизмов входят не только криптографические функции, которые позволяют шифровать и подписывать документы по различным алгоритмам, но и функции, формирующие конечные объекты ИОК в соответствии со стандартами (сертификаты, запросы, подписанные/зашифрованные документы, пакеты протоколов и т.д. и т.п.). Да и как не вспомнить центральный объект ИОК/PKI — УЦ.

Сегодня уже трудно представить деловую жизнь страны без ИОК, без сертификатов x509 (без квалифицированных сертификатов), без сервисов ГОСУСЛУГИ и ФНС, где документы принимаются в электронном виде с электронной подписью. И все больше документов возвращаются к гражданину тоже в электронном виде с электронной подписью. Судопроизводство уже также невозможно представить без электронной подписи.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии8

Генерация родословного дерева на основе данных Wikipedia

Время на прочтение22 мин
Количество просмотров6.3K
В этой статье я хочу показать, как с помощью фреймворка Selenium Webdriver можно, исходя из данных Wikipedia, составить генеалогическое древо заданной персоны (например, легендарного основателя первой династии русских правителей Рюрика).

В статье будет рассказано, как определить имя персоны, вычислить ссылки на страницы детей персоны, а также будет построен алгоритм генерации генеалогического древа.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии8

«Пишите письма…» или тренируемся работать с данными по обращениям граждан в правительство Москвы (DataScience)

Время на прочтение19 мин
Количество просмотров5.8K
Приветствую коллеги! Пришло время продолжить наш спонтанный мини цикл статей, посвящённый основам машинного обучения и анализа данных.

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

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

Напомню, что наша статья рассчитана в первую очередь на начинающих любителей Python и его распространённых библиотек из области DataScience. Готовы? Тогда, милости прошу под кат.


Читать дальше →
Всего голосов 17: ↑11 и ↓6+5
Комментарии5

Уменьшить использование оперативной памяти в Firefox 2.0 — проще простого!

Время на прочтение1 мин
Количество просмотров470
После выпуска второй версии Файрфокса, незадачи с использованием очень большого количества оперативной памяти стали более проблематичными. В среднем, Firefox не должен занимать более 80MB вашей RAM. Любое число выше этого означает что вы — жертва Firefox’ового глюка с памятью. Вы наверняка уже видели много статей о том как от этого избавиться, но я пишу эту статью потому что ни один из этих способов для меня по настоящему не сработал. Эта статья немного другая — в нее я добавил несколько моих собственных ингридиентов для решения этой проблемы.

Читать тут: ru.vistarewired.com/2007/05/03/%d1%83%d0%bc%d0%b5%d0%bd%d1%8c%d1%88%d0%b8%d1%82%d1%8c-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%b8%d0%b2%d0%bd%d0%be%d0%b9
Всего голосов 15: ↑3 и ↓12-9
Комментарии13

Голосование по проектам для микрокомпьютера VoCore (wi-fi, openwrt)

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


В первой нашей публикации про микрокомпьютер размером с монетку, с Wi-Fi и Linux — VoCore, мы объявили конкурс на бесплатное получение микрокомпьютера для развития своего проекта/идеи. Было получено свыше 40 заявок (всем участникам большое спасибо!), из них мы постарались выбрать 15 — для голосования.

Кстати, а что на фото?
На фото — вариант исполнения Dock VoCore — микрокомпьютер совместно с Ethernet, USB и micro-usb для питания. Напомню, что мы продолжаем сбор желающих приобрести себе VoCore, подробности — в конце статьи.

Ну что ж, устраивайтесь поудобнее, и выбирайте — какой проект применения VoCore вам будет самым интересным (представьте, что у вас 3 шт. VoCore — и кому бы вы их раздали — голосование после статьи).

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

Введение в сетевую часть облачной инфраструктуры

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


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

Сегодня поговорим о внутреннем мире облачной инфраструктуре, в частности разберем основы сетевой части.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии12

Кодирование с изъятием информации. Часть 2-я, математическая

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

Введение


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


image

Позвольте немного расскажу откуда вообще взялась эта тема. Давным-давно от одного хорошего человека- ivlad взял почитать и вот пока никак не отдам (прости пожалуйста) интересную книжку [1], где, написано: «в свою очередь криптография сама может быть разделена на два направления, известные как перестановка и замена».

Соответственно почти сразу появились следующий вопросы:


  • т.к. перестановка и замена сохраняют количество информации, то можно ли сделать так, чтобы обойти это ограничение, и передавать информации меньше чем есть в сообщении, — отсюда (из «а не слабо ли») родилась первая часть;
  • если задача выглядит решаемой, то есть ли само решение и хотя бы толика математического смысла в нём – этот вопрос и есть тема этой части;
  • есть ли во всём этом практический смысл – вопрос пока открыт.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии23

Секреты USA в Micro QR Code M4 (часть 1)

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров1K

Встроенные в Micro QR Code технологии насыщенны мифами и нереальностями. Программисты моделисты часто добавляют артефакты и/или cookies в свои наработки, которые интересно находить при расшифровке кодов и алгоритмов. А затем и самому кодировать и декодировать практически любую информацию. Рассмотрим этапы расшифровки микрокодов самого старшего микроуровня – М4 формата буквенно-цифрового кодирования на историческом примере.

Первый и, наверное, самый важный на фоне остальных мифов вопрос: почему максимальное количество смешанных символов для кодирования в микрокодах ровно 21 (цифро-кода – 35 символов, но для алфавита это не актуально)?

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Хранение мира в Snake Rattle'n'Roll

Время на прочтение34 мин
Количество просмотров7.3K
Много лет назад мне довелось поиграть на Dendy в игру Snake Rattle'n'Roll. Пройти её мне тогда так и не удалось, из-за широко известного в узких кругах бага с фонтанчиком на 7 уровне. Да, и на данный момент игра так и не пройдена. Прогресс пока остановился на последнем уровне из-за его сложности. Игра сама по себе для NES была достаточно нестандартна. Это был изометрический мир, в котором надо было карабкаться верх, по пути собирая бонусы, поедая ниблов (местная живность) и сражаясь с ногами, шашками и прочими грибами. Вроде бы ничего необычного, но продвигаясь дальше по уровням я замечал, что мир хоть и был разбит на уровни, но был единым целым, просто каждый из уровней происходил в другой ограниченной части этого мира. И вот однажды мне захотелось получить 3D модель данного мира, с целью распечатать себе сувенир на 3D принтере. Учитывая характеристики железа NES я представлял, что это будет не очень просто, как оно оказалось на самом деле судить вам. Итак, если вас заинтересовало исследование этого мира — добро пожаловать под кат.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии17

О судьбе отечественного оборудования для сетей 5G. Часть III Основные действующие лица

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

И снова здравствуйте!

Первая часть. Обзор Рынка

Вторая часть. Внешние и внутренние противоречия

Третья часть. Основные действующие лица

Четвертая часть. Что есть базовая станция 4G/5G?

В прошлый раз мы рассмотрели внешние и внутренние противоречия, которые, как мне кажется, и породили саму тематику создания отечественного оборудования для сетей 5G.

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

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии11

GrabDuck: интеграция со StackOverflow через StackExchange API

Время на прочтение10 мин
Количество просмотров5.7K
Приветствую читатель,
сегодня мы посмотрим как можно использовать StackExchange API для того, чтобы получать данные с сайтов этого семейства, например таких, как StackOverflow. Также, мы рассмотрим, какие возможности существуют для продвижения приложений/сайтов, использующих данное API на StackExchange и, в завершение, покажем как выглядит интеграция с SO у нас на GrabDuck.



Заинтересовало? Просим под кат.

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

Готовимся к собеседованию по PHP: Всё об итерации и немного про псевдотип «iterable»

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

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

image

Третья часть серии статей посвящена одному из самых объемных понятий в современном PHP — итерации, итераторам и итерируемым сущностям. Я постарался свести в один текст некий минимум знаний об этом вопросе, пригодный для самоподготовки к собеседованию на позицию разработчика на PHP.

Две предыдущие части:


Добро пожаловать под кат!
Всего голосов 27: ↑23 и ↓4+19
Комментарии21

Теория охотника и фермера

Время на прочтение6 мин
Количество просмотров12K
После очередной статьи на тему болезней 21ого века, кучи советов по тому как быть рационалом, как выстроить свое время, используя принципы и приемы GTD, как бороться с прокрастинацией, как иметь стопицот часов в сутках вместо 24, мне хочется высказать свою точку зрения, которая основана на очень редко встречающихся, но от этого не менее полезных, публикациях, плюс постоянных дискуссиях с моими коллегами по работе на эту животрепещущую тему.

Есть ли место в этом мире иррационалам? Нужно ли искать 25ый час в сутках? Так ли важно фиксировать свои задачи и четко следовать плану с мельчайшей детализацией на 5 лет вперед? Нужно ли бороться с ленью?

Выдохни…

image

Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии10

Как ЛЕГАЛЬНО продлить службу Висты после того как 30-дневный срок иссяк

Время на прочтение1 мин
Количество просмотров710
Многие знают как продлить активацию Виндоуза когда у вас иссяк срок действия, но это оставляет многих беспомощными, потому что вы не сможете больше пользоваться коммандной строкой. Не буду никого называть по именам, но по причинам того, что кое-какая компания сделала много ошибок (например, расширенный твик slmgr и множество крэков которые можно найти в сети), вам не придется спрашивать, возможно ли убрать лимитированую функциональность Vista после просроченной даты — да, возможно.

Дальше: ru.vistarewired.com/2007/04/17/%d0%ba%d0%b0%d0%ba-%d0%bb%d0%b5%d0%b3%d0%b0%d0%bb%d1%8c%d0%bd%d0%be-%d0%bf%d1%80%d0%be%d0%b4%d0%bb%d0%b8%d1%82%d1%8c-%d1%81%d0%bb%d1%83%d0%b6%d0%b1%d1%83-%d0%b2%d0%b8%d1%81%d1%82%d1%8b-%d0%bf%d0%be
Всего голосов 9: ↑1 и ↓8-7
Комментарии0

Разнообразие версий Microsoft SQL Server и какая из них последняя?

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

В свое время из-за немного громоздкой политики по выпуску обновлений для Microsoft SQL Server путался какой же из дистриубтивов нужно установить и откуда его скачать. Углубившись в данную тематику, в интернете нашел замечательные систематизирующие ресусры, которые отвечали на мои вопросы (они приведены в начале статьи).


Надеюсь собранная информация будет полезна не только мне.


Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии14

Разработка мобильной 2D-игры «Составь слова из слова»

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

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



Работа со словарями


Имея некоторый опыт работы с БД Oracle, решил что обработку словарей буду вести в ней (Oracle 11.2 XE). Накачал в интернете несколько словарей в виде текстовых файлов с разделителями и с помощью механизма External Table загрузил в БД. Из загруженных слов отобрал 700 существительных длиной 8-10 букв. Это как раз и будут те слова, из букв которых игроки будут вести составление. Далее необходимо для каждого из этих 700 слов подобрать набор слов, которые можно из него составить. Для этого нужно проиндексировать все слова, чтобы можно было делать поиск по вхождению букв.


Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии13

Искусство парсинга 2 или транслитерация собственной разметки

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

+БОНУС: взаимное включение классов друг в друга в C++


Привет, Хабр! Эта статья — прямое продолжение статьи Искусство парсинга или DOM собственными руками, где мы разобрали HTML-документ и построили на его основе абстрактное синтаксическое дерево (AST) с доступом к любому элементу через индексацию при помощи лишь стандартной библиотеки C++, проще говоря, научились самостоятельно парсить XML-подобные штуки. Напомню, что процесс парсинга, или синтаксического анализа/разбора состоит из двух этапов: лексического разбора (разбора текста на токены) и построения AST. Если первый мы рассмотрели очень подробно, с примерами и исходниками, то описание второго похоже на пустую куколку бабочки, у которой есть только оболочка, а прекрасное содержимое автор извлёк перед публикацией. На то была причина, для HTML построить дерево действительно просто, нужно всего 4 класса: пустой тег, блок, текстовый узел и корень документа, наследуемый от блока. Сегодня мы оставим такую простоту позади и построим дерево, где свойства элементов, и пустых, и блочных, будут содержаться не в атрибутах тегов, а непосредственно в классах, а для этого классов придётся создать много. Действительно много. Строить будем не из простых известных языков разметки, а создадим свой, с правилами, показанными на изображении под катом. Плюс в конце ещё переведём, или, говоря правильнее, транслитируем документ с предыдущей статьёй, размеченной нашим языком, в HTML, а в качестве бонуса я отвечу начинающим программистам C++ на тривиальный, но труднонаходимый вопрос: как включать классы «друг в друга»?
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии16

Иконки без текста в Windows

Время на прочтение1 мин
Количество просмотров880
Мне всегда нравилась идея иконок без текста, которую я впервые увидел на Dock в Mac OSX от компании Apple. Для многих програм, этот текст не нужен, и неналичие его действительно заставляет иконки выделяться из группы себе-подобных. Теперь вы можете сделать тот-же самый эффект для Виндоус XP, или даже Виста. Вот как: ru.vistarewired.com/2007/04/08/%d0%ba%d0%b0%d0%ba-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d1%82%d1%8c-%d0%b8%d0%ba%d0%be%d0%bd%d0%ba%d0%b8-%d0%b1%d0%b5%d0%b7-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%b0-%d0%b2-windows
Всего голосов 9: ↑4 и ↓5-1
Комментарии2

Cложности создания и издательства первого Android приложения

Время на прочтение6 мин
Количество просмотров26K
Какие трудности встретит молодой разработчик на этом пути?

Статья для начинающих, только свой опыт, свое мнение, наши знания и догадки.

В продолжении 7 подробных пунктов, на которые стоит обратить наибольшее внимание.
Читать дальше →
Всего голосов 24: ↑15 и ↓9+6
Комментарии15