Pull to refresh
3
0
Максим Коллегин @maxdm

User

Send message

Соседи не затопят: о страховании жилья и автоматике для перекрытия кранов

Reading time7 min
Views13K
Двенадцать лет назад я впервые переехал в мегаполис, а ещё два года спустя я перебрался из студенческой общаги в съемное жилье. С тех пор менялись города, количество комнат, сами квартиры — не менялась только привычка проверять, не течёт ли фильтр для воды и туго ли закручены все краны перед выходом из дома. Я не знаю, почему — я никогда ещё не заливал соседей, и соседи пока ни разу не заливали меня — но меня никогда не покидала тревога насчет затопления. Особенно стрёмно оставлять работающей стиральную машинку, когда уходишь из дома или просто уезжать надолго — до сих пор ничего страшного не случалось, но каждый раз думаешь: «А вдруг?»


Когда забыл перекрыть стояк

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

Диагностика старения 1.0

Reading time14 min
Views30K
image

Представьте, что вам за 40 и вы приходите к врачу узнать про себя. Врач вас обследует и говорит, что никаких особых патологий нет: «все показатели в пределах возрастной нормы, а что вы хотите, стареете, не девочка уже». То есть врач не видит проблемы в том, что у вас начинают медленно появляться признаки возрастзависимых заболеваний.

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

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

У старения нет одного запускающего механизма, старение постепенно — и поначалу незаметно — захватывает весь организм, последовательно выводя из строя органы и системы. В конечном итоге приводя к смерти.

Что же в первую очередь нам надо понять перед лицом старения?

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

Сигнальные пути старения

Быстрое восстановление данных. Схема бабочки для регенерирующих кодов

Reading time7 min
Views4.9K


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

Предположим, что система хранения состоит из n узлов. Рассмотрим файл, состоящий из B символов поля GF(q), который кодируется в nα символов над GF(q) и распределяется по узлам, так, что каждый узел хранит α символов. Код построен таким образом, что данные могут быть целиком восстановлены по информации с k узлов. При этом для восстановления данных одного узла достаточно получить β ≤ α информации с d узлов [1,2], см. рис. 1. Величина γ = dβ называется диапазоном восстановления (repair bandwidth).
Читать дальше →

Яндекс открывает технологию машинного обучения CatBoost

Reading time6 min
Views103K
Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже опубликованы на GitHub под лицензией Apache 2.0.



CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.

7 лучших ферм устройств для тестирования мобильных приложений

Reading time6 min
Views59K

Еще в далекие времена, когда балом смартфонов заправляли Nokia и Microsoft, возникла одна характерная особенность мобильной разработки — разношерстность устройств по характеристикам и модификациям операционок. Приходилось тестировать приложение не только на разных версиях ОС, но и на разных физических устройствах. После выхода iOS самих моделей телефонов всегда было мало, поэтому с ними проблем не возникало. А вот в мире Android проблема фрагментации встала во весь рост. Моделей на рынке тысячи, и все время появляются новые, и твое приложение или игра должны гарантированно работать на каждой из них. Добавим еще разные версии прошивок на этих моделях… И поймем, что вручную потребуется куча человеко-часов для проверки каждого релиза.


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

С/С++ на Linux в Visual Studio Code для начинающих

Reading time4 min
Views201K
Давайте начистоту, мало кто использует отладчик GDB на Linux в консольном варианте. Но что, если добавить в него красивый интерфейс? Под катом вы найдёте пошаговую инструкцию отладки кода С/С++ на Linux в Visual Studio Code.


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

Постквантовая криптография и закат RSA — реальная угроза или мнимое будущее?

Reading time14 min
Views40K
RSA, эллиптические кривые, квантовый компьютер, изогении… На первый взгляд, эти слова напоминают какие-то заклинания, но все куда проще сложнее, чем кажется!

Необходимость перехода к криптографии, устойчивой к атаке на квантовом компьютере, уже официально анонсирована NIST и NSA, из чего вывод довольно-таки простой: пора вылезать из зоны комфорта!

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

Чтобы разобраться в тонкостях криптографии на эллиптических кривых, проследить новомодные веяния постквантовой криптографии и даже прикоснуться к ней с помощью библиотеки Microsoft SIDH, добро пожаловать под кат, %username%!
Читать дальше →

Постквантовая реинкарнация алгоритма Диффи-Хеллмана: вероятное будущее (изогении)

Reading time9 min
Views17K


Сегодня мы снова поговорим про протокол Диффи-Хеллмана, но уже построенный на более необычных конструкциях — изогениях, которые признаны устойчивыми к атакам на будущем квантовом компьютере. Квантовый компьютер, который сможет удержать в связанном состоянии порядка нескольких тысяч кубит, позволит находить закрытые ключи по открытым ключам у всех используемых сейчас асимметричных криптосистем. Число кубит для взлома RSA равно удвоенному числу бит в модуле (т.е. для разложения на множители модуля RSA длиной 2048 бит потребуется 4096 кубит). Для взлома эллиптических кривых необходимы более скромные мощности «квантового железа»: для решения задачи ECDLP для кривых над простым полем (такие кривые есть и в отечественном стандарте подписи ГОСТ Р 34.10-2012 и в американском ECDSS) c модулем кривой длиной n бит требуется 6n кубит (т. е. для модуля в 256 бит надо ~ 1536 кубит, а для 512 бит ~ 3072 кубит). На днях российско-американская группа ученых установила мировой рекорд, удержав в связанном состоянии 51 кубит. Так что у нас есть еще немного времени для изучения изогений (а также решеток, кодов, multivariate и подписей, основанных на хэшах).
Кстати, изогении считаются одним из наиболее вероятных кандидатов на победу на конкурсе NIST постквантовых алгоритмов для замены RSA и эллиптических кривых в ближайшие несколько лет.
Читать дальше →

Paradigm  —  дизайн-система Mail.Ru Group, часть 1: визуальный язык

Reading time12 min
Views38K
Авторы статьи: Юрий Ветров, Артём Гладков, Евгений Долгов и Андрей Сундиев

Несколько лет портальная дизайн-команда Mail.Ru Group занимается обновлением и унификацией продуктов. У нас сформировалась дизайн-система, на которой работают медиа-проекты, мобильный веб и частично productivity-сервисы (постепенно подключаются и другие продукты), сформировался стиль пиктограмм и иллюстраций, стандартизируются промо-письма и промо-сайты. Конечно, ещё не во всех сервисах всё хорошо, а где-то первый редизайн не решил всех проблем, но огромный рывок за прошедшие годы трудно не заметить. Чтобы ускорить процесс обновления и сделать нашу работу публичной, мы открываем наружу часть нашей дизайн-системы Paradigm.

Дизайн-система Mail.Ru Group Paradigm
Читать дальше →

24-ядерный CPU, а я не могу сдвинуть курсор

Reading time5 min
Views126K
Всё началось, как это часто бывает, когда моя машина стала подтормаживать. На рабочем компьютере Windows 10 c 24-ядерным процессором (48 потоков), который на 50% простаивал. Из 64 ГБ памяти использовалось меньше половины. Быстрый SSD тоже не особо использовался. И всё же, когда я двигал мышкой, курсор реагировал не сразу — иногда с задержкой в несколько секунд.

Так что я сделал то, что и всегда — записал и проанализировал трассировку событий с помощью ETW. В результате я обнаружил баг Windows 10, серьёзно влияющий на производительность завершения процессов.

Трассировка ETW показала, что UI зависает во многих программах. Я решил исследовать 1,125-секундное зависание в Диспетчере задач:


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

Burp Suite: швейцарский армейский нож для тестирования веб-приложений

Reading time6 min
Views121K

 
Burp Suite – это мультитул для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует магазин дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. Стоит отметить и появление в последнем релизе мобильного помощника для исследования безопасности мобильных приложений — MobileAssistant для платформы iOS.
Читать дальше →

Видео-инструкция по Check Point Security CheckUP R80.10. Аудит безопасности сети

Reading time1 min
Views9.4K

Как мы и обещали ранее, подготовлена подробная видео-инструкция по самостоятельному проведению аудита безопасности сети с помощью Check Point Security CheckUP R80.10. Ранее были опубликованы три части:


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

Задачи с собеседований. Три адекватные задачки на «подумать»

Reading time2 min
Views108K
И снова про собеседования. Некоторые простые задачи порой вызывают затруднение. В этом посте я хочу рассмотреть три задачки с собеседований, которые мне понравились, потому что к их решению можно прийти самим, но чуток подумать все равно придется.

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

Изучите все языки программирования

Reading time9 min
Views85K
Когда я был ещё первокурсником, то познакомился с другим студентом, который утверждал, что может писать код на любом языке программирования, который я смогу назвать. Я был несколько шокирован и ответил подначкой:

— Что, даже на том нечитаемом эзотерическом языке, где есть всего пара команд, которые едва-едва симулируют машину Тьюринга?
— Да, этот язык называется brainfuck. Я знаю brainfuck.

И это был не трюк — мы проверили. Я называл известный мне язык программирования, он тратил пару минут в Интернете на то, чтобы освежить свои знания по нему — и был способен писать на этом языке работающие алгоритмы. Я никак не мог понять этого. Ему, как и мне, было тогда около 18 лет — как он мог в этом возрасте знать все эти языки?

image
Интерпретатор brainfuck, написанный на brainfuck

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

Сегодня я советую своим студентам «постараться изучить все языки программирования». Подумайте сами — ведь эта идея лучше, чем все вот эти «В этом году я выучу Go! Ой, нет, теперь говорят что в моде Rust — выучу лучше Rust! Или Swift ...». Просто выучите все — не ошибётесь. А эта статья, возможно, вам в этом немного поможет.
Читать дальше →

Преимущества интерактивного прототипирования

Reading time9 min
Views18K


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

Так было раньше и это работало. Я сам прибегал к таким хитростям неоднократно. Однако, мир вокруг стремительно меняется. Современный продукт настолько сложен, что одна картинка не даст понимания и ответов на вопрос “Как это работает?”. Схематичное или wireframe прототипирование тоже постепенно угасает в закате, так как черно-белые линии и прямоугольники не дают клиенту полного понимания. Всё больше желающих сегодня видеть живой прототип, а не серию картинок…
Читать дальше →

Грех администратора или восстановление данных из стучащего HDD Western Digital WD5000AAKX

Reading time10 min
Views50K
В одной маленькой софтверной компании хранение данных было организовано следующим образом: сервер, в котором обыкновенные SATA накопители средствами linux (mdamd) организованы в несколько массивов RAID 1, каждый из которых являлся хранилищем для одного из направлений разработки. Данный вариант при минимальных затратах относительно надежен, если за ним подобающим образом присматривать. Но системный администратор решил, что нет нужды регулярно проверять состояние массивов, и занимался иными делами. В июне 2017, получив жалобы о невозможности прочитать данные от пользователей одного из массивов, обнаружил, что собственно массива уже давно нет, и что на один из накопителей запись прекратилась в августе 2015, а второй с актуальными данными при попытке монтирования подвешивает ОС. Резервная копия за пределы сервера последний раз была сделана в ноябре 2016 года.


рис. 1

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

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

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

ZFS on Linux: вести с полей 2017

Reading time6 min
Views62K
ZFS является одной из самых нафаршированных файловых систем (ФС), а главное — она заботится о сохранности нашей информации. Да, она не является «серебряной пулей», но в своей области показывает прекрасные результаты.
ZFS

Проект ZFS on Linux изначально был создан для портирования существующего кода из Solaris. После закрытия его исходного кода совместно с сообществом OpenZFS проект продолжил разработку ZFS для Linux. Код может быть собран как в составе ядра, так и в виде модуля.
image
Сейчас пользователь может создать пул с последней совместимой с Solaris версией 28, а также с приоритетной для OpenZFS версией 5000, после которого началось применение feature flags (функциональные флаги). Они позволяют создавать пулы, которые будут поддерживаться в FreeBSD, пост-Sun Solaris ОС, Linux и OSX вне зависимости от различий реализаций.

В 2016 году был преодолён последний рубеж, сдерживавший ZFS на Linux — многие дистрибутивы включили его в штатные репозитории, а проект Proxmox уже включает его в базовую поставку. Ура, товарищи!

Рассмотрим как наиболее важные отличия, так и подводные камни, которые есть в настоящее время в версии ZFS on Linux 0.6.5.10.
Читать дальше →

Вариант быстрой настройки системы управления оптовой компанией

Reading time3 min
Views2.7K
После настройки создания аналитического CRM на базе Vtiger 5.3 (1, 2) стал очевиден ее недостаток — необходимость создания модулей с привлечением программистов. Но поскольку Vtiger 5.3 выполнял свои функции, было решено оставить все как есть, следуя принципу — лучшее враг хорошего.



Спустя год выбирая программное обеспечение для управления проектным офисом (но совсем для другого проекта), я столкнулся с Адвантой.

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

Мне стало любопытно, возможно ли в ней воспроизвести CRM для оптовой компании. Оказалось можно, причем все настройки заняли у меня несколько часов.
Читать дальше →

Smart IDReader SDK — как добавить распознавание в iOS приложение за 5 минут — теперь и на Github

Reading time4 min
Views8.6K

Ранее мы, Smart Engines, уже писали про наши технологии распознавания (паспорта РФ, банковских карт и многих других). Основной ценностью SDK является "ядро" или "движок" распознавания Smart IDReader, который объединяет функциональность сканирования всего, что мы умеем сканировать, под единым интерфейсом.


Библиотека распознавания написана на С++ для достижения максимальной производительности, но для использования с различными языками программирования у нас есть версии интерфейсов библиотеки на C++, C, C#, Objective-C, Java и даже Visual Basic. Мы поддерживаем все популярные операционные системы: iOS, Android, Windows, Linux, MacOS, Solaris и, разумеется, Эльбрус и AstraLinux. Наши алгоритмы оптимизированы под такие архитектуры, как ARMv7-v8, AArch64, x86, x86_64, SPARC, E2K.


Мы решили выложить демо-версию нашего SDK на Github, чтобы вы могли ознакомиться с интерфейсом библиотеки (как Objective-C часть, так и C++), почитать документацию и попробовать встроить Smart IDReader в ваше приложение. Репозиторий с демо-версией Smart IDReader iOS SDK доступен по ссылке: https://github.com/SmartEngines/SmartIDReader-iOS-SDK


Чтобы посмотреть, как Smart IDReader выглядит в нашем исполнении после встраивания, вы можете скачать бесплатные полные версии приложений из App Store и Google Play.


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

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

Ускоряем работу WSUS

Reading time6 min
Views137K

Свежеустановленный сервер обновлений WSUS через несколько лет эксплуатации превращается в неповоротливое чудовище. Клиенты медленно обновляются и долго ищут обновления, журналы WindowsUpdate.log пестрят ошибками HTTP, а администратор впадает в депрессию.
Вот несколько советов, которые могут во многих случаях значительно ускорить сервер.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity