Как стать автором
Обновить
49
0

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

Отправить сообщение

Пишем плагин для Unity правильно. Часть 2: Android

Время на прочтение10 мин
Количество просмотров17K


В предыдущей части мы рассмотрели основные проблемы написания нативных плагинов на Unity под iOS и Android, а также методы их решения для iOS. В этой статье я опишу основные рецепты по решению этих проблем для Android, стараясь сохранить схожую структуру взаимодействия и порядок их рассмотрения.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии4

Что накапать в глаз, чтобы не чесался

Время на прочтение9 мин
Количество просмотров19K

Аллергопробы. Ищем тот самый мятлик, на который аллергия

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

Все радуются. А я страдаю в предвкушении всех радостей аллергии на пыльцу, когда хочется выходить на улицу исключительно в скафандре. Мне почему-то кажется, что на Хабре найдётся немало собратьев по несчастью, и им будет интересно разобраться, что это за гадость и как с ней жить. А ещё я расскажу, зачем в моей дамской сумочке лежит коробка Преднизолона и Блефарогель.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+51
Комментарии37

Тестирование «переплетением» – в 100 раз быстрее АБ теста

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

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

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

  • Почему переплетение быстрее A/B теста
  • Когда можно применять тест переплетением
  • В чем отличие результатов A/B теста и переплетения
  • Как комбинировать сильные стороны переплетения и A/B теста
Читать дальше →
Всего голосов 19: ↑18 и ↓1+23
Комментарии26

«I’ll be back!»: как изменился английский Арнольда Шварценеггера за 50 лет в США

Время на прочтение5 мин
Количество просмотров28K
Имя Арнольда Шварценеггера знают во всем мире. Он — живой пример американской мечты. Многократный мистер Олимпия и мистер Вселенная, легендарный Терминатор, губернатор штата Калифорния — Арни достиг всего, чего только можно было желать.

Но мало кто знает, что именно жесткий немецкий акцент мог похоронить всю его карьеру еще в самом начале. Давайте разберемся, насколько сильно Арни смог улучшить свой английский за 50 лет в США. Спойлер: обалдеть как сильно. Поехали!


Всего голосов 22: ↑14 и ↓8+11
Комментарии33

Распознавание объектов на android с помощью TensorFlow: от подготовки данных до запуска на устройстве

Время на прочтение10 мин
Количество просмотров22K

Обучение нейросети распознаванию образов — долгий и ресурсоемкий процесс. Особенно когда под рукой есть только недорогой ноут, а не компьютер с мощной видеокартой. В этом случае на помощь придёт Google Colaboratory, которая предлагает совершенно бесплатно воспользоваться GPU уровня Tesla K80 (подробнее).


В этой статье описан процесс подготовки данных, обучения модели tensorflow в Google Colaboratory и её запуск на android устройстве.


Подготовка данных


В качестве примера попробуем обучить нейросеть распознавать белые игральные кости на черном фоне. Соответственно, для начала, надо создать набор данных, достаточный для обучения (пока остановимся на ~100 фото).


Всего голосов 18: ↑18 и ↓0+18
Комментарии3

Почему так важно сообщать соискателю, что пошло не так на собеседовании (и как это сделать правильно)

Время на прочтение10 мин
Количество просмотров23K
Одна из самых отстойных вещей в технических собеседованиях — то, что это чёрный ящик. Кандидатам сообщают лишь то, прошли ли они на следующий этап без каких-либо подробностей, почему так вышло.

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


Читать дальше →
Всего голосов 17: ↑15 и ↓2+21
Комментарии44

Дизеринг 2: ряд золотого сечения, синий шум и highpass-and-remap

Время на прочтение7 мин
Количество просмотров4K
image

В предыдущей части я рассмотрел определение дизеринга и объяснил, как он изменяет характеристики погрешностей простой 1D-дискретизации и функций.

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

Ноутбук Mathematica для ряда золотого сечения находится здесь, а его pdf-версия — здесь.

Ноутбук для второй части поста можно найти здесь, а его pdf-версию — здесь.

Ряд золотого сечения


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

FractionalPart[N*GoldenRatio]

Идею его использования я нашёл в статье “Golden Ratio Sequences For Low-Discrepancy Sampling” авторов Colas Schretter и Leif Kobbelt.

Это невероятно потрясающий ряд, потому что он распределяет следующие значения очень хорошо и на достаточно далёком расстоянии:

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Коронавирус 2019-nCoV. FAQ по защите органов дыхания и дезинфекции

Время на прочтение16 мин
Количество просмотров583K
Китайский коронавирус, он же «пневмония Уханя» на неделе стал одной из самых горячих тем. В классической «кто виноват и что делать» меня, традиционно, волнует только вторая часть. Сегодня под катом — статья про дезинфекцию, маски и обеззараживание помещений. Объединил в одной статье несколько заметок из своего телеграм-канала. Кладем в закладки и шлем друзьям!


Стоп! 2019-nCoV
Всего голосов 79: ↑72 и ↓7+89
Комментарии409

Вступление в работу с возвратом пользователя: советы для Hooked-модели

Время на прочтение8 мин
Количество просмотров4.5K
image

Всем привет! Я — Сергей, R&D officer в Genesis. В этом тексте хочу поделиться своими знаниями и опытом по созданию привычки использования продукта, рассказать о том, как это влияет на прибыльность бизнеса и почему предпринимателей встречают по возврату.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

Ученые уточняют, насколько быстро расширяется Вселенная

Время на прочтение5 мин
Количество просмотров15K
image
Анализ, проведенный группой, открывает путь к более качественным измерениям в будущем с помощью телескопов из массива черенковских телескопов.

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

Ученые Клемсона Марко Аджелло, Абхишек Десаи, Леа Маркотулли и Дитер Хартманн совместно с шестью другими учеными по всему миру разработали новое измерение постоянной Хаббла — единицы измерения, используемой для описания скорости расширения Вселенной.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+20
Комментарии44

Локализация приложений: как мы подружили перевод и разработку

Время на прочтение14 мин
Количество просмотров28K


Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений имеет свою аудиторию, свои рынки, свой стиль общения с пользователями, версии для веба и для мобильных платформ.


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


Статья написана по мотивам моего доклада на конференции Highload++ в ноябре.

Читать дальше →
Всего голосов 48: ↑46 и ↓2+61
Комментарии26

Освободи свой Android

Время на прочтение12 мин
Количество просмотров148K


Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android.

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

Вашему вниманию предлагается отчёт об эксперименте, проведённым мной по мотивам инструкций из вышеозначенной статьи и о том, что из всего этого может получиться.
Читать дальше →
Всего голосов 93: ↑85 и ↓8+107
Комментарии192

Mask R-CNN от новичка до профессионала

Время на прочтение7 мин
Количество просмотров31K


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

Читать дальше →
Всего голосов 12: ↑11 и ↓1+20
Комментарии15

gReebok detected. Сам себе дерматовенеролог

Время на прочтение16 мин
Количество просмотров78K
Около года назад я опубликовал свою статью Как спастись от «зайцев». Инструкция по борьбе с ультрафиолетом в которой достаточно подробно рассказал про ультрафиолет, его воздействие на ткани человека и способы лучевой защиты. Однажды на досуге я задумался над тем, в какой форме чаще всего приходится сталкиваться с «рукотворным» (т.е. не из спектра Солнца) ультрафиолетом. Вышло, что наиболее популярный УФ — это мягкий УФ и флуоресценция, которую он способен вызывать. Наиболее популярный вариант у моих дружков — это просвечивать друг друга и потом спрашивать у меня, что значит тот или иной цвет пятна на коже, и не грибок ли это. Чтобы раз и навсегда этот вопрос закрыть представляю очередной туториал. На этот раз, по диагностике кожных заболеваний ультрафиолетом лампы Вуда. Так что если интересно, как с помощью «дискотечного ультрафиолета» можно определить наличие чесотки/грибка на ногах/лишая (в том числе у любимого котика), а также про то, как лампа с aliexpress за 5$ может помочь диагностировать рак кожи и бороться с борщевиком — читаем под катом. Только наукоёмкое самоделие, с пожеланием крепкого здоровья в Наступающем 2020 году!
Закинь в закладки, %username% :)


Проверить себя и того парня лампой Вуда!
Всего голосов 69: ↑66 и ↓3+92
Комментарии43

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

Время на прочтение7 мин
Количество просмотров33K
image

Введение


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

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

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


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

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

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

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

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

Зачем учить Java и как делать это эффективно. Доклад Яндекса

Время на прочтение11 мин
Количество просмотров58K
Чем Java отличается от других популярных языков? Почему именно Java может быть первым языком для изучения? Давайте составим план, который поможет выучить Java как с нуля, так и с применением навыков программирования на других языках. Перечислим отличия между созданием продакшен-кода на Java и разработкой на других языках. Михаил Затепякин прочитал этот доклад на встрече для будущих участников стажировки Яндекса и других начинающих разработчиков — Java Junior meetup.


— Всем привет, меня зовут Миша. Я разработчик из Яндекс.Маркета, и сегодня я расскажу вам, зачем учить Java и как делать это эффективно. Вы можете задать резонный вопрос: почему это буду рассказывать я, а не какой-нибудь сильный разработчик с кучей лет стажа? Дело в том, что я сам изучал Java недавно, года полтора назад, поэтому еще помню, как это примерно было и какие есть подводные камни.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+18
Комментарии21

Хабрарейтинг 2019: статистика и рейтинг лучших статей за 2019 год

Время на прочтение8 мин
Количество просмотров10K
Привет, Хабр.

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



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

Продолжение и результаты под катом.
Читать дальше →
Всего голосов 31: ↑26 и ↓5+33
Комментарии8

Простой классификатор P300 на открытых данных

Время на прочтение11 мин
Количество просмотров11K

Мой коллега Рафаэль Григорян eegdude недавно написал статью о том, зачем человечеству потребовалась ЭЭГ и какие значимые явления могут быть зарегистрированы в ней. Сегодня в продолжение темы нейроинтерфейсов мы используем один из открытых датасетов, записанных на игре, использующей механику P300, чтобы визуализировать сигнал ЭЭГ, посмотреть структуру вызванных потеницалов, построить основные классификаторы, оценить качество, с которым мы можем предсказать наличие такого вызыванного потенциала.


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



Для того, чтобы заняться классификацией ЭЭГ, можно позвать друзей, написать игру про Енотов и Демонов в VR, записать собственные реакции и написать научную статью (об этом я расскажу как-нибудь в другой раз), но по счастью, учёные со всего мира уже провели некоторые эксперименты за нас и осталось только скачать данные.


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

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии3

Простыми словами о преобразовании Фурье

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.1M
Я полагаю что все в общих чертах знают о существовании такого замечательного математического инструмента как преобразование Фурье. Однако в ВУЗах его почему-то преподают настолько плохо, что понимают как это преобразование работает и как им правильно следует пользоваться сравнительно немного людей. Между тем математика данного преобразования на удивление красива, проста и изящна. Я предлагаю всем желающим узнать немного больше о преобразовании Фурье и близкой ему теме того как аналоговые сигналы удается эффективно превращать для вычислительной обработки в цифровые.

image (с) xkcd

Без использования сложных формул и матлаба я постараюсь ответить на следующие вопросы:
  • FT, DTF, DTFT — в чем отличия и как совершенно разные казалось бы формулы дают столь концептуально похожие результаты?
  • Как правильно интерпретировать результаты быстрого преобразования Фурье (FFT)
  • Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки
  • Почему при попытке получить с помощью Фурье спектр синусоиды вместо ожидаемой одиночной “палки” на графике вылезает странная загогулина и что с этим можно сделать
  • Зачем перед АЦП и после ЦАП ставят аналоговые фильтры
  • Можно ли оцифровать АЦП сигнал с частотой выше половины частоты дискретизации (школьный ответ неверен, правильный ответ — можно)
  • Как по цифровой последовательности восстанавливают исходный сигнал


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

Итак, приступим?
Всего голосов 203: ↑192 и ↓11+181
Комментарии190

Как слепоглухой профессор в шлемофоне покорил Хакатон-2019

Время на прочтение8 мин
Количество просмотров8.9K
Два дня и одна ночь потребовалась разработчикам, чтобы не имея ничего, кроме идеи, создать первое в мире виброслуховое средство реабилитации – шлемофон для слепоглухого профессора психологии Александра Суворова. Но победой москвичам пришлось поделиться с разработчиками мобильной игры для детей-инвалидов. Команда из Пензы создала уникальный прецедент, когда главный приз достался сразу двум проектам.



36-часовой марафон разработчиков в этом году собрал более 100 участников – 15 команд из семи регионов России: Санкт-Петербург, Новосибирск, Пенза, Липецк, Великий Новгород, Самара и Москва. Десятки менторов и экспертов в области социального бизнеса и реабилитационной индустрии. Такого размаха Хакатон не знал никогда.

3D-принтеры заработали сразу после старта и не прекращали печать до самого финала, создавая прототипы уникальных продуктов и смелых решений. Каждый участник был настроен решительно и искренне работал на победу, что поддерживало состязательную атмосферу творчества на протяжении всего Хакатона.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+17
Комментарии10

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность