Pull to refresh
406
0
Send message

Цензура в исходном коде .NET Framework

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



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

Как научить телефон видеть красоту

Reading time10 min
Views17K
image

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

Независимые браузеры более не конкурентоспособны

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

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

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

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

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет

Reading time7 min
Views205K


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


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


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


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

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

Добавляем в Jupyter Notebooks красоту и интерактивность

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

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

Повышение продуктивности при работе с Jupyter Notebook за 5 минут

Reading time2 min
Views45K

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


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


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

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


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


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

Что такое *args и **kwargs в Python?

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



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

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

Нейросети. Куда это все движется

Reading time7 min
Views41K

Статья состоит из двух частей:


  1. Краткое описание некоторых архитектур сетей по обнаружению объектов на изображении и сегментации изображений с самыми понятными для меня ссылками на ресурсы. Старался выбирать видео пояснения и желательно на русском языке.
  2. Вторая часть состоит в попытке осознать направление развития архитектур нейронных сетей. И технологий на их основе.

Понимать архитектуры нейросетей непросто


Рисунок 1 – Понимать архитектуры нейросетей непросто


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


  • Back-end demo, когда данные обрабатываются на сервере и передаются на телефон. Классификация изображений (image classification) трех типов медведей: бурого, черного и плюшевого.
  • Front-end demo, когда данные обрабатываются на самом телефоне. Обнаружение объектов (object detection) трех типов: фундук, инжир и финик.
Читать дальше →

Прионы — страх и ужас будущего

Reading time16 min
Views91K

Введение


«Предрассветная дымка нехотя отступала по оврагам, проступали стебли ржи, переливающиеся под взмахами ветра. Птицы уже успели обрадоваться утру и ненавязчиво щебетали над ухом. Последние капли сна упали в чашку ароматного кофе. Приятно встречать диск солнца, растягивая заиндевевшие суставы и вглядываясь в даль. Кто это? Застыла мысль, когда взгляд скользнул на тропинку, бегущую из леса. Широкая улыбка озарила лицо. С первых движений он узнал ее. Только она могла двигаться с такой грацией и изяществом лани. Рука замерла на полпути к столу. Продолжая улыбаться, он вдруг резко повернулся и зашагал на кухню. Появились на столе еще одна чашка и поднос с ягодами. Аромат лавандового сиропа заполонил веранду. Хороший будет день, подумалось ему, приятный завтрак – уж точно.
Ознакомиться

Дизеринг: зашумляем сигнал, чтобы улучшить его

Reading time7 min
Views34K
image

Введение


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

Блокнот Mathematica для воспроизведения результатов можно найти здесь, а pdf-версия находится здесь.

Что такое дизеринг?


Дизеринг (Dithering) можно описать как намеренное/осознанное внесение в сигнал шума для предотвращения ошибок большого масштаба/низкого разрешения, возникающих вследствие дискретизации или субдискретизации.

Если вы когда-нибудь работали с:

  • Аудиосигналами,
  • Палитровыми форматами изображений 90-х

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

Однако я обнаружил в Википедии довольно удивительный факт о том, как впервые был определён и использован дизеринг:
Читать дальше →

Китайский мозг, или в защиту Яровой

Reading time4 min
Views25K
(не политика). В качестве эпиграфа хочется выбрать строфу “Видит горы и леса, Облака и небеса. Но не видит ничего, Что под носом у него” – впервые я ее прочитал у Стругацких в “Волны гасят ветер”. Ее говорил колдун с планеты Саракш, который понял, что земляне не видят кое-что важного у них самих на Земле. Стругацкие это вроде скопипастили у Хармса. Возможно это перевод. Но дело не в этом.

Мы часто обсуждаем, когда у нас будет полноценный ИИ. И пока до него довольно далеко. Разницу между “ребята готовы к обеду” и “цыплята готовы к обеду” ИИ еще плохо видит, потому что мало данных из внешнего мира. Это меняется, хоть и небыстро. Однако я утверждаю, что ИИ уже существует (хотя первая буква И — не верна). Мы просто смотрим не туда.


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

Фрактальное сжатие изображений

Reading time7 min
Views13K
image

Пару лет назад я написал очень простую реализацию фрактального сжатия изображений для студенческой работы и выложил код на github.

К моему удивлению, репозиторий оказался довольно популярным, поэтому я решил обновить код и написать статью, объясняющую его и теорию.
Читать дальше →

Как сделать из нейросети журналиста, или «Секреты сокращения текста на Хабре без лишних слов»

Reading time10 min
Views14K
Только не удивляйтесь, но второй заголовок к этому посту сгенерировала нейросеть, а точнее алгоритм саммаризации. А что такое саммаризация?

Это одна из ключевых и классических задач Natural Language Processing (NLP). Она заключается в создании алгоритма, который принимает на вход текст и на выходе выдаёт его сокращённую версию. Причем в ней сохраняется корректная структура (соответствующая нормам языка) и правильно передается основная мысль текста.

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

К моему удивлению, на Хабре оказалось совсем немного статей о саммаризации, поэтому я решил поделиться своими исследованиями и результатами в этом направлении. В этом году я участвовал в соревновательной дорожке на конференции «Диалог» и ставил эксперименты над генераторами заголовков для новостных заметок и для стихов с помощью нейронных сетей. В этом посте я вначале вкратце пробегусь по теоретической части саммаризации, а затем приведу примеры с генерацией заголовков, расскажу, какие трудности возникают у моделей при сокращении текста и как можно эти модели улучшить, чтобы добиться выдачи более качественных заголовков.
Читать дальше →

Открытые данные. Роскосмос. Догоним Америку

Reading time3 min
Views31K
Если спросить сегодня российского школьника или студента о том, что он знает об истории космонавтики, то уверен, ничего кроме имени Юрия Гагарина мы не услышим. Несколько человек, вполне возможно, вспомнят о Королеве, Международной космической станции или произнесут «Поехали» и «Мы первые!», и на этом все, знания закончатся.
Читать дальше →

Официальная позиция Программных комитетов Highload++ и других IT-конференций на претензии к Игорю Сысоеву…

Reading time4 min
Views66K
Вручение премии HighLoad++ Игорю Сысоеву в 2018 году

Официальная позиция Программных комитетов Highload++ и других IT-конференций на претензии к Игорю Сысоеву и Максиму Коновалову


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


Мы выражаем свою поддержку Игорю, и хотим особо отметить его вклад в развитие отрасли, Игорь заложил фундамент для качественной работы более 80% всех высоконагруженных ресурсов Рунета. Он и его продукт стали тем катализатором, который позволил российским сервисам быть конкурентоспособными на мировом рынке и занимать лидирующие позиции в вопросах разработки проектов, выдерживающих большую нагрузку.


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


Также хотим отметить, что претензии к open source продуктам в целом, и к nginx, в частности, ставят под сомнение экономическую безопасность крупнейших российских и мировых сервисов, использующих nginx и другие open source-продукты. К тому же, подобные действия негативно повлияют на инвестиционный климат в IT-отрасли России и могут привести к деградации самой отрасли.


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


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

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

Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты

Reading time7 min
Views273K


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

Ко дню рождения Юрия Кнорозова: изучаем основы письменности Майя

Reading time11 min
Views44K

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

Архитектурная шизофрения Facebook Libra

Reading time10 min
Views13K
Спустя два года я вернулся к блогу ради поста, который отличается от обычных занудных лекций о Haskell и математике. Последние несколько лет я занимался финансовыми технологиями в ЕС, и, кажется, пришло время написать на тему, которой технические СМИ уделили мало внимания.

Недавно Facebook выпустил то, что именует «новой платформой финансовых сервисов» под названием Libra. Она позиционируется как цифровая расчётная система, основанная на корзине международных валют, которые управляются на «блокчейне» и хранятся в денежном пуле, управляемом из Швейцарии. Цели проекта амбициозны и влекут масштабные геополитические последствия.

В Financial Times и New York Times много разумных статей о необоснованных денежных и экономических предположениях в основе предлагаемой финансовой системы. Но не хватает специалистов, способных на анализ с технической точки зрения. Не так много людей работают над финансовой инфраструктурой и публично говорят о своей работе, поэтому данный проект не слишком освещён в технических СМИ, хотя его внутренности открыты для всего мира. Я имею в виду открытые исходники в репозиториях Libra и Calibra Organisation.

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

Как работает FaceID в iPhone X: алгоритм на Python

Level of difficultyMedium
Reading time5 min
Views40K
Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.

Одна из самых крутых фишек iPhone X – это метод разблокировки: FaceID. В этой статье разобран принцип работы данной технологии.

image

Изображение лица пользователя снимается с помощью инфракрасной камеры, которая более устойчива к изменениям света и цвета окружающей среды. Используя глубокое обучение, смартфон способен распознать лицо пользователя в мельчайших деталях, тем самым “узнавая” владельца каждый раз, когда тот подхватывает свой телефон. Удивительно, но Apple заявила, что этот метод даже безопаснее, чем TouchID: частота ошибок 1:1 000 000.

В этой статье разобран принцип алгоритма, подобного FaceID, с использованием Keras. Также представлены некоторые окончательные наработки, созданные с помощью Kinect.

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

Свистать всех на Linux, гром и молния

Reading time10 min
Views67K
Привет, Хабр! Сегодня я хочу рассказать о собственном опыте перевода рабочего места на Linux. Статья не претендует на 100% охват всех проблем и их решений, но кое-какие рецепты, позволяющие сделать жизнь лучше, тут все же будут. Также в статье будет некоторое количество флешбеков, и если вы хотите окунуться в воспоминания вместе со мной, то прошу под кат.

Вообще этот рассказ (а может и цикл статей, если получится) я сначала хотел озаглавить как «похождения айтишника в недружественной среде».
Читать дальше →

Information

Rating
Does not participate
Registered
Activity