• Как воссоздать изображение всего по нескольким пикселям

    • Translation
    • Tutorial
    Эта статья дает возможность познакомиться с такой методикой получения и восстановления сигнала, как Compressive Sensing.

    image
    Множество всех возможных изображений 2 на 2 с цветами, закодированными одним битом

    Пространство изображений огромно, невероятно огромно, но при этом очень мало. Задумайтесь об этом на минуту. Из сетки размером всего 8 на 8 пикселей можно создать 18 446 744 073 709 551 616 различных чёрно-белых изображений. Однако из этих 18 квинтиллионов изображений очень немногие покажутся осмысленными человеческому взгляду. Большинство изображений, по сути, выглядит как QR-коды. Те, которые покажутся человеку осмысленными, принадлежат к тому множеству, которое я называю естественными изображениями. Они представляют крошечную долю пространства изображений 8 на 8. Если мы рассмотрим мегапиксельные изображения, то доля естественных изображений становится ещё меньше, почти ничтожной, однако содержит любое изображение, которое можно придумать. Так чем же эти естественные изображения так уникальны? И можем ли мы использовать эту фундаментальную разницу в собственных интересах?
    Читать дальше →
  • Самый маленький офисный пакет в мире

    • Translation


    Всем нам знаком традиционный офисный пакет — текстовый редактор, электронные таблицы, программа для создания презентаций, возможно, приложение для создания диаграмм или заметок. Всё это мы видим в Microsoft Office и в Google Docs. Все эти программы мощны и объёмны. Но каким будет минимальное количество кода, требуемое для создания офисного пакета?
    Читать дальше →
  • Что происходит в «Пиковой даме» Пушкина и во что они играют?



      Если коротко — Пушкин открыл жанр «киберспортивной фантастики». Только до появления фантастики и киберспорта. Его одно из самых известных произведений — «Пиковая дама» — это рассказ про мегапопулярную в свете игру в карты с элементами философских вопросов. Попадание в тогдашнюю аудиторию стопроцентное благодаря невероятно простому порогу входа (31 страница текста итого), очень узнаваемым персонажам, невероятной куче пасхалок, сарказму и актуальной теме.

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

      Поэтому мы сейчас поговорим про пасхалки «Пиковой дамы», как Пушкин вьехал сапогом в зубы понтёру и немного про математику. Кстати, Александр Сергеевич был тем ещё кутилой, что не совсем вяжется с образом, который дают на литературе в школе. И поскольку вы сейчас, скорее всего, дома, предлагаю прикоснуться к прекрасному.
      Читать дальше →
    • Звезды Вольфа-Райе — монстры под вуалью

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


        Эти сверхмассивные голубоватые светила, часто окруженные флуоресцирующими газовыми туманностями, крайне редки — в нашей Галактике их зафиксировано всего около 500.
        Одни из самых немногочисленных звезд Вселенной — звезды класса Вольфа-Райе (WR).

        Центральная звезда Вольфа-Райе (WR 136), окруженная своей туманностью NGC 6888.
        Протяженность туманности — 25 св. лет. Она состоит преимущественно из водорода (красным) и кислорода (голубым), ионизированных мощным УФ-излучением звезды.

        Читать дальше →
      • Тестирование «переплетением» – в 100 раз быстрее АБ теста

          А/Б тестирование – один из основных инструментов продакт менеджмента, пока еще не придумали более надежного и дешевого способа достоверно оценить влияние одного конкретного изменения на бизнес-метрики продукта, изолировав его от всех остальных факторов.

          В этой статье я хочу рассказать об альтернативном методе тестирования изменений в продукте: тестировании переплетением, в англоязычной литературе – interleaving testing. Чтобы раскрыть его достоинства и недостатки, мы будем частно сравнивать его с традиционным A/B тестом, но не потому что это какой-то новый более совершенный способ, который быстрее и точнее, и должен заменить собой A/B тесты. Это дополнительный инструмент для менеджера продукта с другой областью применения и отвечающий на другой вопрос, сравнение просто позволяет легко показать, в чем отличия и сильные стороны тестов переплетением.

          Краткое содержание:

          • Почему переплетение быстрее A/B теста
          • Когда можно применять тест переплетением
          • В чем отличие результатов A/B теста и переплетения
          • Как комбинировать сильные стороны переплетения и A/B теста
          Читать дальше →
        • Коронавирус: Фиаско века в процессе творения? Как мы принимаем решения без достоверных данных

          • Translation
          Перевод статьи для профильного медицинского издания "STAT" в разделе "Мнения". Автор, Джон П.А. Иоаннидис (John P.A. Ioannidis) — профессор медицины, эпидемиологии и здоровья населения, биомедицинской науки и статистики Стэнфордского университета, со-директор Стэнфордского инновационного центра метаисследований.


          COVID-19, уже называется «пандемией века». Но так же, может быть, это и самое масштабное «фиаско века».
          Читать дальше →
        • 5 малоизвестных секретов Pandas

          • Translation

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

          Для новичков: Pandas — это высокопроизводительный набор инструментов для анализа данных на Python с простыми и удобными структурами данных. Название произошло от понятия «panel data», эконометрического термина, которым называют данные о наблюдениях одних и тех же субъектов в течение разных периодов времени.

          Здесь можно скачать Jupyter Notebook с примерами из статьи.
          Читать дальше →
          • +45
          • 12.6k
          • 1
        • Коронавирус: филогения, курение, летальность и снижение рисков заболеть



            Есть ощущение, что про эпидемию COVID-19 сейчас вещают из каждого утюга. В этом плане Хабр радует хорошими постами с нормальными источниками и конструктивным обсуждением. Я тоже решила поделиться свежими препринтами на тему экспрессии ACE2 у укуренных мышей, особенностями генетики и эволюции вируса, а также рекомендациями о снижении рисков заболеть. И ещё поскольку мы занимаемся средствами для глаз в лаборатории, меня просто достали вопросами, что помогает. Если коротко — лучше всего помогает пакет на голову.
            Читать дальше →
          • Почему женщины живут дольше

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

              image

              Читать дальше →
            • Полиграфистки сходят с ума по одной

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

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

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

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

                Короче, всё один к одному. Радостно потираю руки, а тётки улыбаются и говорят: тока надо полиграф пройти еще.
                Читать дальше →
              • Монады как паттерн переиспользования кода


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


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


                  Но ведь в интернете буквально сотни статей про ФП и монады, зачем писать еще одну?


                  Дело в том, что все их (по крайней мере те что я читал) можно поделить условно на две категории: с одной стороны это статьи где вам объяснят что монада это моноид в категории эндофункторов, и что если монада T над неким топосом имеет правый сопряжённый, то категория T-алгебр над этой монадой — топос. На другой стороне располагаются статьи, где вам рассказывают, что монады — это коробки, в которых живут собачки, кошечки, и вот они из одних коробок перепрыгивают в другие, размножаются, исчезают… В итоге за горой аналогий понять что-то содержательное решительно невозможно.


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


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

                  Читать дальше →
                • Когда я слышу слова «нейросеть восстановила», я лезу проверять бэкапы

                  Кроме того что я айтишник, я ещё и историк техники, и именно этим обусловлена моя реакция на новости об очередных достижениях в области цифровых технологий. Месяц назад я принял решение начать писать книжку для людей далёких от IT и близких к историческим исследованиям и источникам («Цифровое источниковедение — специфические проблемы» — пишется на сайтах книжных черновиков ), в которой расскажу им о том, чем для них обернулось развитие цифровых технологий.

                  Через пару дней после этого по интернету пронеслась новость « «Прибытие поезда» улучшили с помощью нейросетей — фильм 1896 года теперь можно посмотреть в 4K и 60 кадрах в секунду », и это хороший повод рассказать айтишникам о том же самом.

                  Исходного фильма «Прибытие поезда» у меня нет, поэтому в качестве тестовых образцов я использовал современные фотографии (уменьшенные или обесцвеченные) + фото из 1930-х (предположительно)

                  Когда я слышу слова «нейросеть восстановила», я лезу проверять бэкапы
                  Читать дальше →
                • Монополизм сервисов и Net Neutrality — ягодки будут впереди

                    Года два или три назад в Штатах было много разговоров про net neutrality — принцип, согласно которому провайдер связи обязан предоставлять равный доступ ко всем ресурсам Интернета (в противоположность ограничению скорости к нелюбимым — читай, чужим и не занесшим бабла — ресурсам). Манифестации, демонстрации, требования к FCC оставить сеть нейтральной (это было определено законодательно) и так далее — в общем, довольно много шума.

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

                    И если какой-нибудь Comcast вся Америка просто не любила, то, похоже, Google и Facebook стоит бояться не меньше, чем коронавируса. Ну или, если в наших реалиях, внезапно не Роскомнадзор может оказаться главной угрозой.

                    Издание The Markup провело эксперимент: они завели чистый ящик в Gmail, подписались на рассылки американских кандидатов в президенты и посмотрели, куда эти рассылки падают.

                    Читать дальше →
                  • Цензура в исходном коде .NET Framework

                      Пятничным вечером, проглядывая исходники с Reference Source, случайно наткнулся на подозрительно выглядящий комментарий:



                      Некоторые слова заменены на 4 тире. Ну ладно, иногда разработчики действительно бывают весьма экспрессивны и не стесняются резких выражений… Но при всем желании я не смог вспомнить ни одного ругательства, которое бы подошло здесь по смыслу. Откуда же оно взялось?
                      Читать дальше →
                    • Как научить телефон видеть красоту

                        image

                        Недавно я читал книгу о математике и о красоте людей и задумался о том, что еще десятилетие назад представление о том, как понять, что такое красота человека были достаточно примитивными. Рассуждения о том, какое лицо считается красивым с точки зрения математики сводились к тому, что оно должно быть симметричным. Также со времен эпохи возрождения были попытки описать красивые лица при помощи соотношений между расстояниями в каких-то точках на лице и показать, например, что у красивых лиц какое-то отношение близко к золотому сечению. Подобные идеи о расположении точек сейчас используются как один из способов идентификации лиц (face landmarks search). Однако как показывает опыт, если не ограничивать набор признаков положением специфичных точек на лице, можно добиться лучших результатов в целом ряде задач, включая определение возраста, пола или даже сексуальной ориентации. Уже тут видно, что острым может стоять вопрос этики публикации результатов таких исследований.
                        Читать дальше →
                      • Независимые браузеры более не конкурентоспособны

                        • Translation
                        В 2017 году консорциум W3C принял стандарт Encrypted Media Extensions (EME), тем самым положив конец конкуренции со стороны независимых браузеров.

                        Теперь невозможно выпустить свой браузер, который будет воспроизводить некоторые из самых популярных материалов в интернете. Сайты вроде Netflix, Hulu, HBO и др. требуют защиты лицензионного контента. Доступ к ним возможен только по лицензионному соглашению с крупными корпорациями.

                        Во время разработки своего браузера Metastream я упёрся в стену, когда Google отклонил мою заявку на использование их DRM-движка Widevine для воспроизведения зашифрованного медиа. Эта проблема затрагивает и других разработчиков, и обойти её невозможно.

                        Подобные технологические блокировки введены в первую очередь для того, чтобы успокоить медиаиндустрию.
                        Читать дальше →
                      • [Конспект админа] Что делать, если программа хочет прав администратора, а вы нет


                          (с) Вася Ложкин.


                          К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.


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


                          Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.

                          Читать дальше →
                        • Добавляем в Jupyter Notebooks красоту и интерактивность

                            Многие используют в своей работе Jupyter Notebooks. Но с ростом сложности проекта появляются проблемы. В блокноте появляются ячейки с красными пометками для самого себя «перед запуском укажи число...» или «задай количество итераций исходя из...». Какой-то откат к командной строке получается.

                            Да и вывод данных на экран не всегда воспринимается без пояснений сторонним человеком, который привык к красивым таблицам, картинкам и прочим современным элементам интерфейса.
                            Читать дальше →
                          • Повышение продуктивности при работе с Jupyter Notebook за 5 минут

                            • Translation
                            • Tutorial

                            Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.


                            0. Основные горячие клавиши


                            • Esc: Переключение между режимом выполнения и редактирования
                            • A: Добавление пустой ячейки сверху
                            • B: Добавление пустой ячейки снизу
                            • DD: Удаления ячейки
                            • C: Копирование ячеек
                            • X: Вырезание ячеек
                            • V: Вставка ячеек

                            1. Перезапуск блокнота


                            Для рестарта просто нажмите ESC + 00.


                            Читать дальше →
                          • Что такое *args и **kwargs в Python?

                            • Translation
                            Функции — это жизнь. Правда? Если вы только начали осваивать Python, неважно — первый ли это ваш язык программирования, или вы пришли в Python из другого языка, то вы уже знаете о том, что количество параметров в объявлении функции соответствует количеству аргументов, которые передают функции при вызове.



                            Это — основы. Это то, что помогает людям понимать окружающий мир. Но утверждение «количество параметров равно количеству аргументов» закладывает в голову новичка бомбу замедленного действия, которая срабатывает после того, как он увидит в объявлении функции таинственные конструкции *args или **kwargs.

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