Pull to refresh
18
0
Алексей Свешников @mahoro

User

Send message

Печать и воспроизведение звука на бумаге

Reading time3 min
Views102K
Можно ли закодировать звук в виде изображения, которое считывается камерой и проигрывается в реальном времени?

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

Что, если кодировать звук не в цифровом, а в аналоговом формате? То есть, допустить возможность больших потерь информации с сохранением основных «очертаний» звукового послания. Например, такие потери возникнут при плохом освещении, плохой камере, маленькой картинке, мятой или рваной бумаге с кодом. Пусть со страшными артефактами, но картинка должна звучать.


Читать дальше →
Total votes 207: ↑204 and ↓3+201
Comments124

Цифровые SSL сертификаты. Разновидности, как выбрать?

Reading time13 min
Views477K
Существует достаточно много цифровых сертификатов, каждый из которых служит для своих целей. Самые распространенный тип сертификатов это естественно SSL сертификаты, которые также имеют несколько подвидов. Также существуют Code Signing сертификаты, Website Anti Malware Scanner сертификаты и Unified Communications сертификаты.

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

Так что если у вас стоит задача поднять защищенное https соединение для вашего сайта, то в этом посте я постараюсь раскрыть все тонкости и особенности SSL сертификатов, чтобы сделать правильный выбор было проще.
Как выбрать SSL сертификат
Total votes 109: ↑103 and ↓6+97
Comments146

С камерой в облака. Часть 2

Reading time26 min
Views252K
Тренировки

Спасибо каждому, кто читал и комментировал первую часть. Благодаря вам, продолжение будет еще интереснее. Если еще не читали — рекомендую это сделать. Там мало текста, и есть классные видео.

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

  • Тренировки. Вырабатывание летных навыков.
  • Выбор модели: самолет, вертолет или мультикоптер?
  • Выбор конкретной конструкции и размера
  • Моторы и ESC
  • Полетный контроллер


Как обычно, сразу к делу.
Читать дальше →
Total votes 175: ↑173 and ↓2+171
Comments170

Разработка «браузерки» — уровень представления

Reading time11 min
Views31K
Единственный участник проекта, который аналогично остальным выполнял большой объем работ, но про работу которого я могу сказать настолько мало – художник. Точнее, за несколько месяцев до старта у нас оказалось уже два художника, но мое понимание их принципов работ от этого не увеличилось.

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

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

Пернатск
Читать дальше →
Total votes 67: ↑63 and ↓4+59
Comments20

Python на Хабре

Reading time7 min
Views452K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →
Total votes 182: ↑162 and ↓20+142
Comments65

Chef за 21 день. Часть первая. Введение

Reading time5 min
Views45K
Привет, Хабраюзеры! На улице противная погода, ангина не дает покоя моему воспаленному горлу, почему бы не написать статью? Это моя первая проба пера на Хабре, поэтому не судите строго. Название ее навеяно огромным количеством книг, имеющих схожее название. В этой статье я постараюсь описать путь воина-автоматизатора для юных падованов, коим в некоторой мере являюсь сам. Речь пойдет о подходе, который при определенном старании, поможет в краткие сроки познакомиться с таким инструментом кроссплатформенной автоматизации, как CHEF. А также, при сильном старании – овладеть ним в достаточной мере для первых серьезных опытов. Эта статья – некий “guiding way” для людей, мало знакомых с процессом автоматизации.
Начнем?
Total votes 41: ↑30 and ↓11+19
Comments23

О гипотезе Пуанкаре. Лекция в Яндексе

Reading time6 min
Views106K
Еще в XIX веке было известно, что если любую замкнутую петлю, лежащую на двумерной поверхности, можно стянуть в одну точку, то такую поверхность легко превратить в сферу. Так, поверхность воздушного шарика удастся трансформировать в сферу, а поверхность бублика – нет (легко вообразить себе петлю, которая в случае с бубликом не стянется в одну точку). Гипотеза, высказанная французским математиком Анри Пуанкаре в 1904 году, гласит, что аналогичное утверждение верно и для трехмерных многообразий.

Доказать гипотезу Пуанкаре удалось только в 2003 году. Доказательство принадлежит нашему соотечественнику Григорию Перельману. Эта лекция проливает свет на объекты, необходимые для формулировки гипотезы, историю поиска доказательства и его основные идеи.



Читают лекцию доценты механико-математического факультета МГУ к. ф-м. н. Александр Жеглов и к. ф.-м. н. Федор Попеленский.
Конспект лекции
Total votes 139: ↑131 and ↓8+123
Comments14

Список литературы для менеджера продукта 80 уровня

Reading time4 min
Views123K
Менеджер продукта – все еще редкий зверь в российских и украинских IT компаниях. И если внутри команд, где менеджер продукта существует, его роль вопросов не вызывает (если он, конечно, занимается делом), то знакомые в других компаниях, на конференциях, друзья, от разработчиков до менеджеров проектов задают массу любопытствующих вопросов. Вопросы очень разномастные – от того, о чем собственно работа, и как устроен процесс работы над продуктом в нашей команде, до того, где поучиться, что почитать, и где вообще берут на работу продакт менеджеров.

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

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

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

Итак, мой список рекомендованной литературы для всех, кто хочет хочет проливать кровь, пот и слезы работать продакт менеджером или уже работает им.
Читать дальше →
Total votes 84: ↑75 and ↓9+66
Comments20

SELinux – описание и особенности работы с системой. Часть 1

Reading time11 min
Views278K


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

Читать дальше →
Total votes 76: ↑74 and ↓2+72
Comments13

Камера Эйнштейна: как один фотограф изображает время

Reading time20 min
Views169K
Адам Мадьяр — компьютерный гик, бросивший университет, фотограф-самоучка, Руб Голдберг высоких технологий, путешественник по миру и художник-концептуалист с растущим мировым признанием. Но никто не мог предположить, что он может быть еще и террористом, до того утра, пока он не спустился на станцию метро Юнион-Сквер в Нью-Йорке.

В то время Мадьяр был погружен в долговременный проект на стыке технологий и искусства под названием Stainless («Безупречные»), создавая изображения высокого разрешения из проезжающих поездов и пассажиров, используя сложное, написанное им самим программное обеспечение и доработанную промышленную фотокамеру. Техника сканирования, которую он разработал — объединение тысяч кадров шириной в пиксель в одно изображение — позволяет ему заставать пассажиров врасплох, пока они с шумом и лязгом летят сквозь темные тоннели метро, фиксируя их в призрачных изображениях, наполненных деталями, которые не может запечатлеть ни одна обычная камера.

image
Читать дальше →
Total votes 214: ↑189 and ↓25+164
Comments40

Фантастические сериалы

Reading time5 min
Views122K
Любите ли вы сериалы? Точнее, любите ли вы хорошие сериалы? Конечно, понятие «хорошо/плохо» в искусстве полностью субъективно, поэтому ещё больше уточню свой вопрос: любите ли вы хорошие фантастические сериалы? Полагаю, что подавляющее большинство хабражителей ответят утвердительно. Сегодня я хотел бы рассказать вам о нескольких сериалах, которые стоит посмотреть каждому любителю фантастики.

Светлячок





Если вы ещё не смотрели классику приключенческих фантастических сериалов, «Светлячок», то самое время это сделать. На протяжении 14 (формально — 15) серий мы наслаждались приключениями команды космических наёмников-авантюристов во главе с обаятельным капитаном Рейнольдсом, роль которого исполнил Натан Филлион.
Читать дальше →
Total votes 125: ↑74 and ↓51+23
Comments245

Лекции от Яндекса для тех, кто хочет провести каникулы с пользой. Дискретный анализ и теория вероятностей

Reading time3 min
Views143K
Для тех, кому одного курса на праздники мало и кто хочет больше, продолжаем нашу серию курсов от Школы анализа данных Яндекса. Сегодня подошла очередь курса «Дискретный анализ и теория вероятностей» – даже более фундаментального, чем предыдущий. Но без него нельзя представить ещё большую часть современной обработки данных.

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



Читает курс Андрей Райгородский. Доктор физико-математических наук. Профессор кафедры математической статистики и случайных процессов механико-математического факультета МГУ им. М. В. Ломоносова. Заведующий кафедрой Дискретной математики ФИВТ МФТИ. Профессор и научный руководитель бакалавриата кафедры «Анализ данных» факультета инноваций и высоких технологий МФТИ. Руководитель отдела теоретических и прикладных исследований компании «Яндекс». (Ещё больше можно узнать в статье о нём на Википедии).

Содержание курса и тезисы лекций
Total votes 121: ↑115 and ↓6+109
Comments21

Machine Learning. Курс от Яндекса для тех, кто хочет провести новогодние каникулы с пользой

Reading time8 min
Views265K
Новогодние каникулы – хорошее время не только для отдыха, но и для самообразования. Можно отвлечься от повседневных задач и посвятить несколько дней тому, чтобы научиться чему-нибудь новому, что будет помогать вам весь год (а может и не один). Поэтому мы решили в эти выходные опубликовать серию постов с лекциями курсов первого семестра Школы анализа данных.

Сегодня — о самом важном. Современный анализ данных без него представить невозможно. В рамках курса рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.



Читает курс лекций Константин Вячеславович Воронцов, старший научный сотрудник Вычислительного центра РАН. Заместитель директора по науке ЗАО «Форексис». Заместитель заведующего кафедрой «Интеллектуальные системы» ФУПМ МФТИ. Доцент кафедры «Математические методы прогнозирования» ВМиК МГУ. Эксперт компании «Яндекс». Доктор физико-математических наук.
Содержание и видео всех лекций курса
Total votes 172: ↑166 and ↓6+160
Comments47

Изобретаем JPEG

Reading time28 min
Views175K

Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

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

Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
Читать дальше →
Total votes 356: ↑354 and ↓2+352
Comments70

Задача изменения голоса. Часть 1. Что такое голос?

Reading time12 min
Views55K
Этим постом мы хотели бы начать цикл статей, посвященных задаче изменения голоса. В зарубежной литературе данную задачу часто именуют термином voice morphing, в отечественной литературе данная задача ещё не получила достаточного освещения как в научных, так и в инженерных кругах. Тема является достаточно обширной и во многом творческой. В результате работы в данном направлении у нас накопился определенный опыт, который мы планируем систематизировать и изложить, а также передать основную суть некоторых алгоритмов.

image

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

P.S.
Добавил дополнительные ссылки на первоисточники

Читать дальше →
Total votes 94: ↑93 and ↓1+92
Comments31

Профилирование и отладка Python, инструменты

Reading time14 min
Views110K
В предыдущей статье мы на практике разобрались, где и в каких случаях можно использовать ручное профилирование, а так же познакомились со статистическими профайлерами.

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

Приступим!
Total votes 72: ↑69 and ↓3+66
Comments9

«Lisp in Small Pieces» на русском

Reading time3 min
Views34K
( Parentheses ) – Elegant weapons, for a more civilized ageЭта книга французского профессора Кристиана Кеннека об интерпретаторах Лиспа и Scheme довольно хорошо известна в англоязычном мире. Даже пару раз проскакивала на Хабре. Но в русскоязычном сообществе Scheme чаще всего ассоциируется со «Структурой и интерпретацией компьютерных программ» (aka SICP). Это хороший учебник для новичков, где целых две главы посвящены реализации используемого языка, однако в нём не рассматривается реализация довольно интересных и важных для Лиспа вещей вроде макросов, продолжений, динамических вычислений.

Однажды «Lisp in Small Pieces» попался мне в руки, и через несколько десятков страниц я осознал, что подобному бриллианту негоже пропадать в безвестности. А так как лучший способ получить больше адептов в секту популяризовать иностранную книгу — это перевести её на родной язык целевой аудитории, то этим я и занялся вместо того, чтобы нормально читать. Наконец, перевод, вёрстка и вычитка были завершены; результаты усилий представляются вашему вниманию.

Внутри читателя ожидают:
  • более 37000 скобок!
  • разбор по косточкам семантики всех конструкций Scheme, а также его родственников;
  • в том числе разбор его денотационной семантики — формального математического описания языка в терминах лямбда-исчисления;
  • 11 интерпретаторов и 2 компилятора (в машинный код описываемой там же VM и транслятор в код на Си);
  • объяснение сути рекурсии, замыканий и окружений, продолжений и стека вызовов, реализации макросов и метаязыков, а также чуть рефлексии и самомодифицирующегося кода;
  • множество экскурсов в историю Лиспа и причины принятых решений в дизайне языка;
  • собственная CLOS-подобная объектная система автора (и её реализация, разумеется);
  • время от времени возникающее чувство: «Да это же X из языка Y»;
  • список литературы по теме на 230 наименований.
В общем, отличный учебник по основам реализации языков программирования, с которым стоит ознакомиться не только любителям скобочек.
Ещё чуть-чуть и ссылки на PDF и EPUB
Total votes 55: ↑52 and ↓3+49
Comments18

Взгляд на аудит сквозь призму стандарта PCI DSS

Reading time21 min
Views31K
Взгляд на аудит сквозь призму стандарта PCI DSS

Стремительно растет количество операций с использованием пластиковых карт: онлайн-платежи, безналичный расчет в торгово-сервисных предприятиях, манипуляции с банковским счетом в системах онлайн-банкинга и прочие платежные приложения от поставщиков услуг. Соответственно, расширяется инфраструктура, в которой циркулируют информация о держателях карт и критичные аутентификационные данные. В случае попадания этой информации или ее части в руки к злоумышленникам финансовые потери несут как банки-эмитенты, так и конечные пользователи.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments14

Делаем приставку — счётчик Гейгера к iPhone за 2 часа

Reading time3 min
Views202K
image

UPD: Кто уже читал пост — пожалуйста зайдите и поучаствуйте в опросе. Спасибо большое!

Примерно полтора года назад на нескольких сетевых ресурсах, в том числе и на хабре, начали пиарить проект «До-ра» — приставку к iPhone, позволяющую измерять радиационный фон и делать много всего вкусного на основании получаемой со счётчика Гейгера информации. Статьи в новостях проекта упоминают несколько многомиллионных грантов, выделенных на разработку приборчика фондом «Сколково». Шли месяцы, «До-ра» всё никак не получалась, покупатели ждали, конкуренты не дремали. Так ли сложна «До-ра» как её малюют и как собрать за пару часов из подручных деталей в десять раз более чувствительный аналог я расскажу тем кто нажмёт на
кнопку
Total votes 186: ↑185 and ↓1+184
Comments133

«WebGL Beginner's Guide» Глава 1: Начиная работать с WebGL

Reading time13 min
Views49K
Всем привет!

Хочу начать вольный перевод отличной книги «WebGL Beginner's Guide», которая, на мой взгляд, будет интересна не только новичкам, но и более продвинутым разработчикам.

Содержание:
  • Глава 1: Начиная работать с WebGL
  • Глава 2: Рендеринг геометрии
  • Глава 3: Освещение
  • Глава 4: Камера
  • Глава 5: Движение
  • Глава 6: Цвет, глубина и альфа-смешение
  • Глава 7: Текстуры
  • Глава 8: Выбор
  • Глава 9: Собираем все вместе
  • Глава 10: Дополнительные методы


WebGL первоначально была основана на OpenGL ES 2.0 (ES означает Embedded Systems), версии спецификации OpenGL для таких устройств как iPhone от Apple и iPad. Но спецификация развивалась, стала независимой, ее основная цель это обеспечение переносимости между различными операционными системами и устройствами. Идея веб-интерфейса, рендеринг в реальном времени открыли новую вселенную возможностей для веб-3D сред, таких как видеоигры, научная и медицинская визуализация. Кроме того, из-за широкого распространения веб-браузеров, эти и другие виды 3D-приложений могут быть запущены на мобильных устройствах, таких как смартфоны и планшеты. Если вы хотите создать свою первую веб-видеоигру, 3D арт-проект для виртуальной галереи, визуализацию данных ваших экспериментов или любое другое 3D-приложение, вы должны иметь ввиду, что первым шагом должно быть то, что вы должны убедиться, что у вас есть подходящая среда.
В этой главе вы сможете:
  • Понять структуру WebGL-приложения
  • Создавать свои области рисования (canvas)
  • Проверить WebGL-возможности вашего браузера
  • Понять, как устроена машина состояний WebGL
  • Изменять переменные WebGL, которые влияют на вашу сцену
  • Загружать и исследовать полнофункциональные сцены


Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments7

Information

Rating
Does not participate
Registered
Activity