Pull to refresh
49
0
Денис Исламов @DisaDisa

User

Send message

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

Reading time 6 min
Views 8.1K


Современное естественнонаучное образование в большей части российских школ служит одной цели: отбить у ученика интерес к предмету. Имея почти десятилетний опыт создания графики для ведущих издательств научной литературы, иллюстраций, публикуемых в The New York Times и The Washington Post и даже изображений для презентаций нобелевских лауреатов, мы решительно настроены на борьбу с этой проблемой. В этом и следующем посте изложен рассказ о том, как мы помогали единомышленникам из лабораторий Политехнического музея развивать привычный для школ формат образовательного плаката, предоставив ученикам приложение с дополненной реальностью. В процессе мы получили детальную трехмерную модель препарированной лягушки на основе данных компьютерной томографии, визуализировали ген и соответствующий ему белок в одном масштабе, а также смоделировали интерактивный атом, позволяющий увидеть орбитали разных форм и размеров.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 10

Распознавание лиц человеческим мозгом: 19 фактов, о которых должны знать исследователи компьютерного зрения

Reading time 13 min
Views 62K
Важной целью исследователей в области компьютерного зрения является создание автоматизированной системы, способной сравняться или превзойти способности человеческого мозга по распознаванию лиц. Результаты психофизических исследований процесса распознавания лиц предоставляют специалистам по компьютерному зрению ценнейшие факты, которые помогут улучшить системы искусственного интеллекта.

Как обычно, предлагаю сокращенный перевод, полный текст доступен в оригинале.

Читать дальше →
Total votes 185: ↑181 and ↓4 +177
Comments 66

Некоторые возможности использования Intent'ов

Reading time 6 min
Views 67K

Введение


Объекты типа Intent могут быть использованы для общения между отдельными частями Android приложения, либо между различными приложениями системы. Мощь механизма интентов заключается в том, что с его помощью можно обращаться к любому установленному в системе приложению. Это позволяет повторно использовать некоторые компоненты и значительно сократить время на разработку.

В этой статье я покажу некоторые возможности использования класса Intent для обращения к системным приложениям.
Читать дальше →
Total votes 76: ↑73 and ↓3 +70
Comments 18

Программирование под Android. Для профессионалов

Reading time 1 min
Views 27K
Как я и обещал сегодня наконец вышла книга "Программирование под Android. Для профессионалов".
Чем интересно это издание?

image Эта книга научит вас всем тонкостям разработки приложений для мобильных устройств, работающих на популярной операционной системе Android. Основанное на учебном курсе известного образовательного IT-проекта Big Nerd Ranch, это издание содержит ключевые концепции программирования в Android, разъяснение API и множество примеров кода и упражнений. В процессе работы с книгой читатель самостоятельно разработает восемь Android-приложений разной сложности и тематики, включая клиент для загрузки фотографий из базы Flickr, приложение, имитирующее телевизионный пульт дистанционного управления, а также сервис геолокации, отслеживающий перемещения пользователя по всему свету и отображающий их на карте. Все учебные приложения были спроектированы таким образом, чтобы продемонстрировать важные концепции и приемы программирования под Android и дать опыт их практического применения.
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 25

Скачиваем Youtube плейлист в формате mp3 одним bash-скриптом

Reading time 2 min
Views 34K
Так сложилось, что в данный момент мой рабочий ноутбук оснащен лишь 2GB оперативной памяти. В связи с этим возникла необходимость оптимизации браузера, т.к. при большом количестве открытых вкладок памяти становится недостаточно и используется swap-раздел, что ведет к тормозам.

В работе мне помогает музыка, обычно это открытый таб с плейлистом Youtube. Так вот этот таб в просессе работы съедает до 500MB (!) и даже больше (Google Chrome).

Такое положение дел вынудило написать bash-скрипт, который на входе получает ID плейлиста, на выходе – mp3 файлы, которые можно слушать в любимом плеере, например, в MOC:
MOC
Читать дальше →
Total votes 70: ↑61 and ↓9 +52
Comments 48

Ранжирование в Яндексе: как поставить машинное обучение на поток (пост #1)

Reading time 6 min
Views 51K
Сегодня мы начинаем публиковать серию постов о машинном обучении и его месте в Яндексе, а также инструментах, которые избавили разработчиков поисковой системы от рутинных действий и помогли сфокусироваться на главном — изобретении новых подходов к улучшению поиска. Основное внимание мы уделим применению этих средств для улучшения формулы релевантности, и более широко — для качества ранжирования.

image
Читать дальше →
Total votes 63: ↑56 and ↓7 +49
Comments 53

Ранжирование в Яндексе: как поставить машинное обучение на поток (пост #2)

Reading time 8 min
Views 24K
Мы продолжаем серию публикаций о нашем фреймворке FML, который автоматизировал работу с машинным обучением и позволил разработчикам Яндекса использовать его в своих задачах проще и чаще. Предыдущий пост рассказывал о том, что такое функция ранжирования и как мы научились строить её, имея на входе лишь достаточно большое число оценок от асессоров и достаточно разнообразный набор признаков (факторов) документов по большому количеству запросов.

Из этого поста вы узнаете:
  1. Почему нам нужно подбирать новую формулу ранжирования очень часто, и как именно нам в этом помогает FML;
  2. Как мы разрабатываем новые факторы и оцениваем их эффективность.

image
Читать дальше →
Total votes 55: ↑52 and ↓3 +49
Comments 14

Ранжирование в Яндексе: как поставить машинное обучение на поток (пост #3)

Reading time 8 min
Views 18K
Сегодня мы завершаем серию публикаций о фреймворке FML, в которых рассказываем о том, как и для чего автоматизировали в Яндексе применение технологий машинного обучения. В сегодняшнем посте мы расскажем:
  • почему нужно следить за качеством факторов и как мы это делаем;
  • как FML помогает в задачах распределённых вычислений над поисковым индексом;
  • каким образом и для чего наши технологии машинного обучения уже применяются и могут быть применены как в Яндексе, так и вне его;
  • какую литературу можно посоветовать для более глубокого погружения в затронутую проблематику.

image
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Comments 3

Как Яндекс распознаёт музыку с микрофона

Reading time 10 min
Views 159K
Поиск по каталогу музыки — это задача, которую можно решать разными путями, как с точки зрения пользователя, так и технологически. Яндекс уже довольно давно научился искать и по названиям композиций, и по текстам песен. На сказанные голосом запросы про музыку мы тоже умеем отвечать в Яндекс.Поиске под iOS и Android, сегодня же речь пойдёт о поиске по аудиосигналу, а если конкретно — по записанному с микрофона фрагменту музыкального произведения. Именно такая функция встроена в мобильное приложение Яндекс.Музыки:

image

В мире есть всего несколько специализированных компаний, которые профессионально занимаются распознаванием музыкальных треков. Насколько нам известно, из поисковых компаний Яндекс стал первым, кто стал помогать российскому пользователю в решении этой задачи. Несмотря на то, что нам предстоит ещё немало сделать, качество распознавания уже сопоставимо с лидерами в этой области. К тому же поиск музыки по аудиофрагменту не самая тривиальная и освещённая в Рунете тема; надеемся, что многим будет любопытно узнать подробности.
Читать дальше →
Total votes 321: ↑313 and ↓8 +305
Comments 113

Теория цвета

Reading time 2 min
Views 297K
Первое впечатление — это все. Пословица «По одежке встречают, по уму провожают» актуальна не только в жизни, но и в дизайне. Впечатление от дизайна состоит из множества факторов, и один из важнейших — это цвет.

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

Основные цвета (Primary Colors)




Основные цвета палитры — красный, желтый и синий. Если говорить об основных цветах на экранах различных устройств — это RGB, красный, зеленый и синий.
Читать дальше →
Total votes 186: ↑160 and ↓26 +134
Comments 84

Как создать ТЗ для программиста

Reading time 6 min
Views 106K
Рекомендации геймдизайнеру от программиста (архитектора).


Вступление

Компьютерные игры — относительно молодая отрасль, которая в перспективе сменит киноиндустрию, так-же как кинофильмы заменили театр. Создание игры — это коллективное творчество, во многом напоминающее создание кинофильма. Кроме того, создание компьютерных игр — одна из самых сложных IT задач, поскольку она включает все себя практические все IT области.

Все слышали про pre poduction, но мало кто знает как именно это происходит. И если про стадию разработки написано много, а про стадию издания — еще больше, то про стадию планирования известно очень мало. В лучшем случае вам посчастливится ознакомится с результатами планирования. А вот как были достигнуты эти результаты? — загадка во тьме.

Этот документ является результатом «разбора полетов» после написания игры Звездная арена для социальных сетей. В этом документе я попытался упорядочить список проблем и решений к которым я и Александр пришли в процессе совместной работы над игрою. Кроме того этот документ является частью большой работы по выстраиванию рабочего процесса создания компьютерных игр.

Я намеренно оставил за кадром другие документы: концепцию, экономическое обоснование и ТЗ для других исполнителей. Это позволило сфокусироваться на одной теме и осветить ее и только ее достаточно подробно.

Читать дальше →
Total votes 70: ↑64 and ↓6 +58
Comments 50

Реализация пула объектов на языке C#

Reading time 8 min
Views 54K
Доброго времени суток!
В этой статье я расскажу, как повысить производительность многопоточного (и не только) C#-приложения, в котором часто создаются объекты для «одноразовой» работы.
Немного про многопоточность, неблокирующую синхронизацию, использование встроенного в VS2012 профилировщика и небольшой бенчмарк.
Читать дальше →
Total votes 68: ↑63 and ↓5 +58
Comments 16

Фильтр Калмана

Reading time 10 min
Views 416K


В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
Читать дальше →
Total votes 178: ↑173 and ↓5 +168
Comments 84

Хватит неправильно использовать выпадающие списки

Reading time 4 min
Views 132K
Формы состоят из самых разных элементов интерфейса. Если вы не знаете, как правильно с ними обращаться, вы можете сильно усложнить заполнение форм. Чаще всего ошибаются, применяя выпадающие списки (select menu).

Когда использовать


Иногда можно встретить выпадающие списки с 2 вариантами, иногда — с более чем 20. В обоих случаях это неправильно. Если у пользователя есть менее 5 вариантов выбора, следует использовать радиокнопки. Так выбор будет проще и быстрее, потому что пользователю нужно лишь взглянуть на варианты и один раз кликнуть. С выпадающим списком ему нужно нажать на него, найти подходящий вариант и кликнуть снова. Также другие варианты не видны, пока вы не нажмёте на выпадающий список. Если их меньше 5, лучше наглядно показать их в форме в виде радиокнопок — пользователи смогут быстро их просмотреть.



Читать дальше →
Total votes 135: ↑128 and ↓7 +121
Comments 103

Использование подключений к СУБД в многопоточных приложениях на Qt

Reading time 8 min
Views 4.6K
При написании много-сервисной системы в корой каждый сервис должен быть многопоточен, столкнулись с проблемой использования подключения к базе данных. Сервисы разрабатываются на QT, поэтому использовали модуль QtSql для взаимодействие с БД.

Проблемы


  1. Для каждого потока необходимо свое собственное подключение к БД (QSqlDatabase). При использовании одного подключения из разных потоков возникаем ошибка сегментирования.
  2. Т.к. в текущий момент времени возможно держать открытыми ограниченное число подключений к БД, необходимо реализовать захват, освобождение и ожидание подключения потоками.
  3. В контексте потока, для правильной работы с транзакциями необходимо работать только с одним подключением. Например: Сущность заказ содержит в себе сущности Товар. При сохранении Заказа должны сохранится все товары. Если при сохранении товара возникает исключительная ситуация, то вся транзакция по сохранению заказ должна отменится.
  4. Библиотека должна уметь работать с несколькими БД одновременно, причем разных типов (Mysql,PostgreSQL)


Решение


В итоге у нас получилось 3 класса:
  • Connection — класс обертка отвечающий за работу с БД: Подключение, выполнение и обработка результатов запросов.
  • ConnectionManager — синглтон хоронящий в себе подключени и отвечает за выдачу и освобождение подключений.
  • ManagedConnection — класс обертка для автоматизации захвата и освобождения подключения.

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 4

Linux Mint 14 Nadia

Reading time 1 min
Views 125K


Новая версия Mint поставляется с двумя графическими оболочками на выбор — Mate 1.4 (форк GNOME 2, поддерживающий все его функции), и Cinnamon 1.6 (форк GNOME 3), делающий упор на 3D-ускорение. Как видите, причины многих холиваров (unity) тут нет.
Читать дальше →
Total votes 98: ↑90 and ↓8 +82
Comments 98

Распознавание плоских объектов OpenCV 2.4

Reading time 6 min
Views 106K
Привет всем. Я хотел бы рассказать о принципах, лежащих в основе распознавания объектов с использованием OpenCV. Благо какое-то время мне довелось поработать в лаборатории компьютерного зрения ВМК МГУ, и я немного вник в премудрости этой ветви computer science. Задача, которую я буду рассматривать здесь, предлагалась на Microsoft Computer Vision School Moscow 2011 на семинарах Виктора Ерухимова, одного из разработчиков программного комплекса OpenCV. Почти в таком же виде рассматриваемый код можно найти в демках OpenCV 2.4.
Читать дальше →
Total votes 33: ↑29 and ↓4 +25
Comments 17

Ремейк игры Karateka

Reading time 1 min
Views 32K


Знаменитый гейм-дизайнер Джордан Мехнер (тот самый, который недавно нашёл за шкафом дискеты с исходным кодом Prince of Persia), является автором ещё одной известной игры Karateka. Он разработал её в одиночку в начале 80-х на своём компьютере Apple II, будучи студентом, а в 1984 году отправил дискету по почте в Brøderbund.



Файтинг Karateka считается очень продвинутым для своего времени, отличается реалистичной анимацией и затягивающей атмосферой. К апрелю 1985 года Karateka стала самой продаваемой игрой в США, а после выхода версий для Commodore 64, Atari, Nintendo NES и Game Boy общие продажи превысили 500 тыс. копий. Успех убедил Мехнера, что разработкой игр можно зарабатывать на жизнь, и он приступил к созданию Prince of Persia.
Читать дальше →
Total votes 60: ↑50 and ↓10 +40
Comments 31

Утилита FileCorrupter для тестирования продуктов на «битых» входных данных

Reading time 2 min
Views 5.9K
Ломать — не строить? На самом деле, это не совсем так. Когда ваша задача — проверить работоспособность программы на некорректных данных, возникает необходимость внести намеренные повреждения в файлы.

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

Пример использования


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

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

Чтобы убедиться в правильной отработке ошибок вашим приложением, можно предложить ему открыть файл, предварительно испорченный при помощи FileCorrupter.
Скриншот, подробности и ссылка для скачивания
Total votes 13: ↑10 and ↓3 +7
Comments 8

Рендер Diablo3. Как это работает

Reading time 7 min
Views 116K
Как устроены графические движки популярных игр с мировым именем? Какие технологии применяют разработчики в самых крупных игровых компаниях? Действительно ли, чтобы сделать красивую игровую графику необходимо применять самые передовые технологии современной 3D графики? На эти вопросы мы попробуем ответить на примере рендер части игры Diablo3, от компании Blizzard Entertainment.
Читать дальше →
Total votes 283: ↑276 and ↓7 +269
Comments 130

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity