Электроника. Своими руками.

Быстрое вычисление факториала — PrimeSwing

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

The Sexy Brutale — герой в маске. Рецензия

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

Security Week 17: DoublePulsar вырвался на волю, в сотне тысяч Linksys нашли дыры, SMSVova изгнан из Google Play

Пока безопасники охали и ахали над архивом хакерских инструментов АНБ, который слили в Сеть ShadowBrokers, серьезные дяди с темной стороны запустили новые госэксплойты в дело. И, как выяснилось, не только эксплойты – поверхностное сканирование Интернета выявило большое число машин, зараженных свежеслитым бэкдором DoublePulsar.

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

Проверяем деньги и собираем скворечник c RPi NoIR camera

Кого-то кусают радиоактивные пауки, кто-то попадает под излучение ядерного взрыва. Чтобы получить свою супер-способность, камера Raspberry NoIR лишилась ИК-фильтра. И (о, чудо!) начала видеть в темноте. Посмотрим на что она теперь способна! Проверим банкноты в ИК-излучении и соберём ночную систему видеонаблюдения за скворцами. Управлять камерой будем по VNC Вконтакте Facebook Twitter

Как мы на FPGA AES ускоряли: разработка драйвера

Недавно мы применили плату Ethond в качестве мини-роутера и запустили на нём OpenVPN.

Но обнаружилось, что процессор часто нагружается на 100%, а скорость не поднимается выше 15-16 Мбит/с. На канале связи 100 мегабит это очень мало, поэтому мы решили ускорить процесс аппаратно.

Ребята из группы FPGA-разработчиков сделали прошивку на базе открытого IP-core для Altera CycloneV с реализацией шифра AES-128, которая умеет шифровать 8 Гбит/сек и дешифровать 700 Мбит/сек. Для сравнения, программа openssl на CPU (ARM Cortex A9) того же CycloneV может обрабатывать лишь около 160 Мбит/сек.

Эта статья посвящена нашему исследованию по применению аппаратного шифрования AES. Мы сжато представим описание криптографической инфраструктуры в Linux и опишем драйвер (исходный код открыт и доступен на github), который осуществляет обмен между FPGA и ядром. Реализация шифрования на FPGA не является темой статьи — мы описываем лишь интерфейс, с которым происходит взаимодействие c акселератором со стороны процессора.

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

Что Mobius 2017 рассказал о мобильной разработке

Слушая доклады на IT-конференции, можно не только узнать много конкретной информации из каждого, но и увидеть более общую картину: вместе доклады говорят о том, чем в данный момент живёт и интересуется индустрия.

В Петербурге на прошлой неделе состоялся Mobius 2017 — как прошло мероприятие, и какие общие выводы о мобильной разработке в 2017-м можно сделать по рассказанному там?

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

Gixy — open source от Яндекса, который сделает конфигурирование Nginx безопасным

Nginx, однозначно, один из крутейших веб-серверов. Однако, будучи в меру простым, довольно расширяемым и производительным, он требует уважительного отношения к себе. Впрочем, это относится к почти любому ПО, от которого зависит безопасность и работоспособность сервиса. Признаюсь, нам нравится Nginx. В Яндексе он представлен огромным количеством инсталляций с разнообразной конфигурацией: от простых reverse proxy до полноценных приложений. Благодаря такому разнообразию у нас накопился некий опыт его [не]безопасного конфигурирования, которым мы хотим поделиться.

Но обо всем по порядку. Нас давно терзал вопрос безопасного конфигурирования Nginx, ведь он — полноправный кубик веб-приложения, а значит, и его конфигурация требует не меньшего контроля с нашей стороны, чем код самого приложения. В прошлом году нам стало очевидно, что этот процесс требует серьезной автоматизации. Так начался in-house проект Gixy, требования к которому мы обозначили следующим образом:

— быть простым;
— но расширяемым;
— с возможностью удобного встраивания в процессы тестирования;
— неплохо бы уметь резолвить инклюды;
— и работать с переменными;
— и про регулярные выражения не забыть.
Читать дальше →

Дерзкий telegram бот

Недавно, в попытках разобраться с nlp, мне пришла идея написать простого telegram бота, который будет разговаривать, как дерзкий гопник. То есть:

  • давать ответ по слову-триггеру, как "хочу", "короче", "нет" и т.д.;
  • отвечать дерзким вопросом на вопрос;
  • отвечать нецензурной рифмой;
  • если ничего не подходит и бот в замешательстве, отвечать злой фразой.

Для имплементации был выбран JavaScript с ES6 и Flow. Возможно, Python подошёл бы лучше, так как под него существует больше стабильных и проверенных библиотек для nlp. Но для JS есть Az.js, которого вполне хватило.

Для работы с Telegram API был использован node-telegram-bot-api.

TLDR: бот, исходный код

Осторожно, под катом присутствует нецензурная речь и детали реализации!

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

Отчет с Go meetup 14 апреля

Спустя полгода сообщество Go-разработчиков снова воссоединилось в нашем московском офисе 14 апреля. И теперь у нас есть возможность ознакомиться с тем, как проходила эта встреча. Пять докладов и прочие подробности ищите под катом.
Читать дальше →