Нужно больше разных Blur-ов

Размытие изображение посредством фильтра Gaussian Blur широко используется в самых разных задачах. Но иногда хочется чуть большего разнообразия, чем просто один фильтр на все случаи жизни, в котором регулировке поддаётся только один параметр — его размер. В этой статье мы рассмотрим несколько других реализаций размытия.

Читать дальше →
Нужно больше разных Blur-ов
Source: habrahabr

Трехмерный движок на формулах Excel для чайников

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

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

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

Осторожно: 19 картинок и 3 анимации под катом.
Читать дальше →
Трехмерный движок на формулах Excel для чайников
Source: habrahabr

Security Week 50: прогнозы на 2019 год

В конце года «Лаборатория Касперского» выпускает традиционный набор отчетов, подводя итоги уходящего года и прогнозируя развитие киберугроз на следующий. Сегодня — краткая выжимка из документов, полные версии которых можно почитать по ссылкам:

Выделим основные темы: эволюция целевых атак, появление новых APT-группировок с достаточно простым (но действенным) вредоносным арсеналом; использование IoT и для таргетированных атак, и для массовых; снижение количества атак с целью майнинга криптовалют вслед за падением обменного курса. Направления развития киберугроз: сложные для обнаружения атаки на «железо» с получением максимально широкого доступа, эволюция фишинга с применением персональных данных жертв, попытки скомпрометировать систему защиты мобильных устройств.
Читать дальше →
Security Week 50: прогнозы на 2019 год
Source: habrahabr

Agile — это не процесс разработки, а подход к созданию продукта

Мы в Промсвязьбанке активно переходим от вотерфол-канальных команд к эджайл-продуктовым. Где-то обошлось парой шишек, где-то уже можно менять грабли… но в результате мы накопили немало опыта, связанного c эджайл-трансформацией. В этом посте мы хотим поделиться опытом — вдруг вы откроете для себя что-нибудь новое.


Читать дальше →
Agile — это не процесс разработки, а подход к созданию продукта
Source: habrahabr

WireGuard — прекрасный VPN будущего?

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

Проблема текущих VPN решений в том, что их тяжело правильно настроить, дорого обслуживать, а так же в них полно legacy кода сомнительного качества.

Несколько лет назад канадский специалист по информационной безопасности Jason A. Donenfeld решил, что хватит это терпеть, и начал работу над WireGuard. Сейчас WireGuard готовится к включению в состав ядра Linux, он даже получил похвалы от Линуса Торвальдса и в американском сенате.

Заявленные преимущества WireGuard над другими VPN решениями:

  • Простой в использовании.
  • Использует современную криптографию: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF и т.д.
  • Компактный читаемый код, проще исследовать на уязвимости.
  • Высокая производительность.
  • Четкая и проработанная спецификация.

Неужели найдена серебрянная пуля? OpenVPN и IPSec пора закапывать? Я решил с этим разобраться, а заодно сделал скрипт для автоматической установки личного VPN сервера.

Читать дальше →
WireGuard — прекрасный VPN будущего?
Source: habrahabr

[Перевод] Секреты сборки и пересылка SSH в Docker 18.09

image

Используя Dockerfile, всегда было сложно получить доступ к частным ресурсам. Хорошего решения просто не было. Использовать переменные среды или просто удалять секретные файлы после использования не годится: они остаются в метаданных образа. Пользователи порой шли на ухищрения: создавали многоступенчатые сборки, однако все равно приходилось соблюдать крайнюю осторожность, чтобы на финальном этапе не было секретных значений, а секретные файлы до отсечения хранились в локальном кэше сборки.

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

Читать дальше →
[Перевод] Секреты сборки и пересылка SSH в Docker 18.09
Source: habrahabr

Дорожная карта математических дисциплин для машинного обучения, часть 1

Вместо предисловия

Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
Читать дальше →
Дорожная карта математических дисциплин для машинного обучения, часть 1
Source: habrahabr

PVS-Studio: поддержка стандартов кодирования MISRA C и MISRA C++

PVS-Studio, MISRA C, MISRA C++

Начиная с версии 6.27 статический анализатор кода PVS-Studio может классифицировать свои предупреждения согласно стандартам MISRA C и MISRA C++. Благодаря поддержке этих стандартов анализатор стало возможным эффективно использовать для улучшения безопасности, переносимости и надежности программ для встраиваемых систем.
Читать дальше →
PVS-Studio: поддержка стандартов кодирования MISRA C и MISRA C++
Source: habrahabr

[Перевод] Выпуск Rust 1.31 и Rust 2018

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.31.0, а также «Rust 2018». Rust — это язык программирования, который дает возможность каждому создавать надежное и эффективное программное обеспечение.

Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.31.0 вам достаточно выполнить:

$ rustup update stable

Если у вас еще не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.31.0 можно ознакомиться на GitHub.

Что вошло в стабильную версию 1.31.0

Rust 1.31, возможно, самый значительный выпуск со времен Rust 1.0! В данный выпуск включена первая итерация «Rust 2018», но это не единственное нововведение! Обзор улучшений будет длинный, поэтому вот оглавление:

  • Rust 2018
    • Нелексические времена жизни
    • Изменения системы модулей
  • Дополнительные правила вывода времен жизни
  • const fn
  • Новые инструменты
  • Инструментальные проверки качества кода
  • Документация
  • Предметные рабочие группы
  • Новый веб-сайт
  • Стабилизация стандартной библиотеки
  • Улучшения в Cargo
  • Разработчики выпуска

Читать дальше →
[Перевод] Выпуск Rust 1.31 и Rust 2018
Source: habrahabr

Перевезти дата-центр за 14 400 секунд

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

Читать дальше →
Перевезти дата-центр за 14 400 секунд
Source: habrahabr