Search
Write a publication
Pull to refresh
25
0

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

Send message

Простые причины неизбежности технического долга

Reading time5 min
Views9.2K

image


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

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

Как работают квантовые компьютеры. Собираем паззл

Reading time33 min
Views276K


Квантовые компьютеры и квантовые вычисления — новый баззворд, который добавился в наше информационное пространство наряду с искусственным интеллектом, машинным обучением и прочими высокотехнологическими терминами. При этом мне так и не удалось найти в интернете материал, который бы сложил у меня в голове пазл под названием “как работают квантовые компьютеры”. Да, есть много прекрасных работ, в том числе и на хабре (см. Список ресурсов), комментарии к которым, как это обычно и бывает, еще более информативны и полезны, но картинка в голове, что называется, не складывалась.


А недавно ко мне подошли коллеги и спросили “Ты понимаешь как работает квантовый компьютер? Можешь нам рассказать?” И тут я понял, что проблема со складыванием в голове целостной картинки есть не только у меня.


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

Получилось или нет - решать, как обычно, вам.

Чему я научился за 10 лет на Stack Overflow

Reading time13 min
Views22K

Близится десятая годовщина моего присутствия на Stack Overflow. За эти годы мой подход к использованию сайта и его восприятие сильно изменилось, и я хочу поделиться с вами своим опытом. И пишу я об этом с точки зрения среднестатистического пользователя, который не сильно вовлечён в жизнь сообщества сайта или его культуру. В последние дни я отвечаю лишь на вопросы, относящиеся к VS Code — продукту, над которым я работаю. Однако раньше я активно участвовал в обсуждении широкого набора тем. За 10 лет я задал около 50 вопросов и дал 575 ответов, просмотрел несметное количество чужих комментариев.

Джон Скит описал культуру Stack Overflow гораздо лучше и авторитетнее, чем я когда-либо смогу сделать. Его публикация повлияла на некоторые главы этой статьи, хотя в целом это мои собственные откровенные размышления о моём опыте пребывания на Stack Overflow, что на этом сайте хорошо и что плохо, и как его можно сегодня использовать. Это обсуждение будет довольно поверхностным, без глубокого погружения в работу сайта или его историю.

Итак, вот чему я научился за 10 лет использования Stack Overflow.
Читать дальше →

Как Программисту 1С стать Java developer'ом

Reading time8 min
Views29K
Несколько лет назад, когда я искал пути из программистов 1С в Java developer'ы — я бродил впотьмах, пытаясь нащупать дверь, в существовании которой был не уверен. Я пытался найти истории успеха, но кроме пары комментариев ничего не нагуглил. Мир Java выглядел огромным, а количество фрэймворков бесконечным. Было совершенно непонятно: что учить, что не учить, что нужно в работе, а что никто не использует. Если ты хочешь в Джаву, теряешься в бесконечных названиях технологий и фрэймворков и хочешь узнать какие же из них надо изучать, а на какие не обращать внимания — эта статья для тебя!


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

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

Reading time17 min
Views129K

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



Хотя люди обычно признают удобства ФП фич, ведь намного приятнее писать:


int Factorial(int n)
{
    Log.Info($"Computing factorial of {n}");
    return Enumerable.Range(1, n).Aggregate((x, y) => x * y);
}

чем ужасные императивные программы вроде


int Factorial(int n)
{
    int result = 1;
    for (int i = 2; i <= n; i++)
    {
        result *= i;
    }
    return result;
}

Так ведь? С одной стороны да. А с другой именно вторая программа в отличие от первой является функциональной.


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

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

В самом популярном фрагменте кода за всю историю StackOverflow ошибка! 

Reading time7 min
Views70K
Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг.

Давным-давно…


Еще в 2010 году я сидел в своём офисе и занимался ерундой: развлекался код-гольфингом и накручивал рейтинг на Stack Overflow.

Моё внимание привлёк следующий вопрос: как вывести количество байт в удобочитаемом формате? То есть как преобразовать что-то вроде 123456789 байт в «123,5 МБ».


Старый добрый интерфейс 2010 года, спасибо The Wayback Machine
Читать дальше →

JetQuad: Реактивный дрон с вертикальным взлетом и посадкой

Reading time7 min
Views29K
Представляем вашему вниманию перевод двух статей про турбореактивного дрона.

Источник: New Atlas

image

Прототип AB5 JetQuad способен развивать скорость до 402 km/h

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

Компания заявляет, что AB5 это “самый маленький и самый мощный реактивный дрон с возможностью вертикального взлета и посадки”.

Вместо привычных четырех электрических моторов и пропеллеров, у нынешнего прототипа установлены четыре дизельных микротурбинных реактивных двигателя, которые выдают 200 лошадиных сил (149 кВт) на полной мощности. Благодаря запатентованной системе управления вектором тяги, известной как H-Configuration, тяга этих двигателей может быть направлена либо на вертикальное перемещение при взлете и посадке, либо на горизонтальное перемещение при полете.

Flipper Zero — пацанский мультитул-тамагочи для пентестера

Reading time10 min
Views293K
Flipper Zero — Multi-tool Device for Hackers

Warning

Информация в статье устарела, Flipper Zero был полностью пеработан на другой платформе. Актуальная информация в нашем блоге blog.flipperzero.one


Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа, который я разрабатываю с друзьями. А еще это тамагочи, в котором живет кибер-дельфин.

Он будет уметь:

  • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
  • NFC — читать/записывать и эмулировать карты ISO-14443.
  • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
  • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
  • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
  • Bluetooth — поддерживается пакет bluez для Linux
  • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
  • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

Я с волнением представляю свой самый амбициозный проект, идею которого я вынашивал много лет. Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.
В данный момент проект находится на стадии R&D и утверждения функционала, и я приглашаю всех поучаствовать в обсуждении функций или даже принять участие в разработке. Под катом подробное описание проекта.
Читать дальше →

Почему Вы должны попробовать FastAPI?

Reading time4 min
Views108K

image Лого взято из Github репозитория FastAPI


FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hints), нативная асинхронность (asyncio). Помимо всего прочего, FastAPI плотно интегрируется с OpenAPI-schema и автоматически генерирует документацию для вашего API посредством Swagger и ReDoc


FastAPI построен на базе Starlette и Pydantic.
StarletteASGI микро-фреймворк для написания веб-приложений.
Pydantic — библиотека для парсинга и валидации данных основанная на Python type-hints.

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

Трансляция RTMP видеопотока из Live Encoder на WebRTC

Reading time7 min
Views34K

HTTP протоколы доставки видеоконтента, такие как HLS и DASH давно потеснили Flash в нише воспроизведения онлайн-видео контента в браузерах.

Тем не менее, изначально флэшовый протокол RTMP, остается одним из самых популярных способов доставки Live видео от источника видео до сервера ретранслятора. RTMP продолжают использовать такие сервисы, как Facebook Live, Youtube Live, и другие, где требуется вещать живое видео и проводить трансляции. Таким образом, несмотря на предсказания и констатации скорой кончины Flash, протокол RTMP все еще на коне и не уступает своих позиций в нише видеотрансляций.
Читать дальше →

Нейрофизиолог рассуждает о проекте Neuralink и рассказывает о работе мозга «на пальцах»

Reading time19 min
Views34K

Слева — нейрофизиолог Елена Белова, справа — робот-хирург Neuralink

Летом 2019 прошла презентация стартапа Neuralink, цель которого — создать интерфейс типа «мозг—машина». Илон Маск рассказал, что компании удалось наработать за несколько лет с момента основания. Представили робота-хирурга, гибкие нити для подключения чипов к мозгу и эффективные алгоритмы обработки сигналов. Мы встретились с нейрофизиологом, чтобы поговорить о том, что же такое Neuralink: бизнес и маркетинг или реальный научный прорыв?

На вопросы терпеливо отвечала Елена Белова — биохимик и биоинформатик по образованию, нейрофизиолог и иллюстратор по роду занятий, старший научный сотрудник Лаборатории клеточной нейрофизиологии человека Института химической физики.

Глупые вопросы задавал Иван Звягин, который прочитал несколько научно-популярных книг о работе мозга и эволюции.

Промышленные уран-графитовые реакторы для наработки плутония

Reading time10 min
Views38K
Говоря об атомных реакторах мы чаще всего представляем себе реактор атомной станции. Его задача вырабатывать из ядерного топлива тепло, которое затем преобразуется в электричество. Но существует и довольно большое число реакторов, работающих для других целей. Их используют для исследований, для наработки полезных изотопов, в т.ч. для медицинских целей, как источник энергии для гражданских судов и военных кораблей. Но самые первые мощные ядерные реакторы стали строить в 40-е годы для одной важной на тот момент задачи – наработки оружейного плутония, начинки атомного оружия. Именно они получили название промышленные. И именно их истории и нынешнему состоянию в нашей стране и посвящена эта статья.


Промышленный уран-графитовый реактор АДЭ-2
Читать дальше →

Pet-проекты — маленькая жизнь

Reading time6 min
Views23K


Я увлеченный человек. ИТ, несомненно, является основным увлечением. Но параллельно у меня появляются другие. Домашние животные, квартира, стройка. Везде я пытаюсь что-то заоверхедить. Одним из таких оверхедов стала разработка LED светильников для аквариума.

Казалось бы — что такого можно тут сотворить? Лампа лампой. Я тоже так думал. Но, как всегда, все гораздо сложнее, если мы этого захотим.
Читать дальше →

Превращаем скрипты в красивые инструменты для машинного обучения

Reading time6 min
Views16K

Создаём семантический поисковик с машинным обучением в реальном времени за 300 строк Python кода.

Мой опыт подсказывает, что любой более или менее сложный проект по машинному обучению рано или поздно превращается в набор сложных неподдерживаемых внутренних инструментов. Эти инструменты, как правило, мешанина из скриптов Jupyter Notebooks и Flask, которые сложно развёртывать и интегрировать с решениями типа GPU сессий Tensorflow.


Впервые я столкнулся с этим в университете Карнеги, затем в Беркли, в Google X, и, наконец, при создании автономных роботов в Zoox. Зарождались инструменты в виде небольших Jupyter notebooks: утилита калибровки сенсора, сервис моделирования, приложение LIDAR, утилита для сценариев и т.д.


С ростом важности инструментов появлялись менеджеры. Бюрократия росла. Требования повышались. Маленькие проекты превращались в огромные неуклюжие кошмары.


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

Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса

Reading time15 min
Views39K


Представьте задачу — в лесу пропали два человека. Один из них еще подвижен, другой лежит на месте и не может пошевелиться. Известна точка, где их видели последний раз. Радиус поиска вокруг нее — 10 километров. Получается территория площадью 314 км2. У вас есть десять часов на поиск с помощью новейших технологий.

Услышав условие в первый раз, я подумал: «пфф, подержите мое пиво». Но потом увидел, как передовые решения спотыкаются обо все, что возможно и невозможно учесть. Летом я писал, как около 20 инженерных команд пытались решить задачу в десятки раз проще, но делали это на пределе возможностей, и только четыре команды справились. Лес оказался территорией скрытых подвохов, где современные технологии бессильны.

Тогда это был лишь полуфинал конкурса «Одиссея», организованного благотворительным фондом «Система» — цель которого придумать, как модернизировать поиск пропавших в дикой природе людей. В начале октября в Вологодской области прошел его финал. Четыре команды столкнулись с той самой задачей. Я отправился на место, чтобы понаблюдать за одним из конкурсных дней. И в этот раз ехал с мыслью, что задача — нерешаемая. Но я никак не ждал увидеть «Настоящий детектив» для любителей DIY-электроники.

Убил ли Linux коммерческий Unix?

Reading time7 min
Views28K


Продажи коммерческого Unix падают, будто с обрыва. За этим драматическим спадом должно что-то стоять. Убил ли Linux своего предка, став прекрасной ему заменой, будто реализовав "Вторжение похитителей тел" в мире операционных систем?



Начало Unix


Первый выпуск Unix состоялся 50 лет назад, в 1969, в лабораториях Белла – принадлежащей AT&T компании, занимающейся исследованиями и разработками. С днём рождения, Unix. Правда, в то время он ещё назывался Unics, от UNIplexed Information and Computing Service. Никто не может вспомнить, когда cs сократилось до x. Написали его на компьютере DEC PDP/7 на DEC-ассемблере.

В лабораториях существовала необходимость в печатном наборе заявок на патенты. Команда разработки Unix восприняла это как возможность заграбастать себе новый мощный компьютер DEC PDP/11/20, поэтому они быстренько набросали программу для набора текстов, выдававшую заявки на патенты. После этого в компании популярность Unix постоянно росла.
Читать дальше →

«Тушить» ли сервера, если «загорелся» смоук тест датацентра?

Reading time9 min
Views32K
Что бы вы почувствовали, если в один прекрасный летний день дата-центр с вашим оборудованием стал бы выглядеть вот так?



Всем привет! Меня зовут Дмитрий Самсонов, я работаю ведущим системным администратором в «Одноклассниках». На фотографии один из четырёх дата-центров, где установлено оборудование, обслуживающее наш проект. За этими стенами находится около 4 тыс. единиц техники: серверы, система хранения данных, сетевое оборудование и т.д. — почти ⅓ всего нашего оборудования.
Большинство серверов — это Linux. Есть и несколько десятков серверов на Windows (MS SQL) — наше наследие, от которого мы на протяжении многих лет планомерно отказываемся.
Итак, 5 июня 2019 г. в 14:35 инженеры одного из наших дата-центров сообщили о пожарной тревоге.
Читать дальше →

Все, что вы хотели знать об обратном маятнике

Reading time5 min
Views39K
Статья служит шпаргалкой для тех, кто хочет сделать свой обратный маятник. Здесь описаны проблемы, из-за которых я все переделывал несколько раз, приведен краткий обзор теории, необходимый для понимания, как стабилизировать систему.

В Россию начали завозить радиоактивные отходы из Европы? Разбираемся

Reading time5 min
Views107K
Вчера по СМИ пошла волна публикаций, инициированных заявлениями Гринпис о возобновлении ввоза в Россию якобы радиоактивных отходов из Европы. Причем ввоза к нам, под Екатеринбург, в Новоуральск. Для меня вся эта история пахнула событиями десятилетней давности, поскольку именно тогда она была у нас в первый раз (ох я тогда по бурной и горячей молодости славно «рубился» на эту тему с гринписовцами и прочими экологами в жежешечке), и поэтому, собственно, сейчас и говорят, что ввоз не начался, а возобновился. И ввозит все та же европейская, англо-германо-нидерландская компания Urenco.

Но многое изменилось за 10 лет. Например, законодательство по обращению с РАО в России существенно улучшилось, а вот ситуация с независимыми общественными организациями, в т.ч. экологическими – ухудшилась, в силу общего давления на гражданские институты. При этом, что характерно, суть проблемы ввоза и переработки обедненного гексафторида урана и аргументация сторон практически не изменились.

В чем же суть? Давайте по пунктам.


Фото ввозимых «отходов». Источник — Znak.com.
Читать дальше →

Почему от 3D болит голова / Часть 3: Перепутанные ракурсы

Reading time15 min
Views26K

S3D: No pain IS gain




Эта третья статья в цикле “Почему от 3D болит голова”. В первой части речь шла про проблемы кино-оборудования, во второй — общий обзор проблем фильмов, и, наконец, здесь и далее будут разбираться конкретные проблемы. Начнем с самой простой для понимания и одной из самых болезненных для восприятия — перепутанных ракурсов, когда на правый глаз подается картинка для левого, а на левый — для правого. Сложно найти слова для того, чтобы передать ощущения, которые испытывают соответствующие участки нашего мозга, когда видят такую картинку… Но мы все же попытаемся. )
Читать дальше →

Information

Rating
Does not participate
Location
Montreal, Quebec, Канада
Date of birth
Registered
Activity