Search
Write a publication
Pull to refresh
-22
0
Send message

Ждали, ждали и дождались! OpenMP 4.0

Reading time5 min
Views23K


Каждая новая спецификация OpenMP вводит очень полезные и необходимые дополнения к уже существующему функционалу. Например, в версии 3.0 были добавлены так ожидаемые задачи (tasks), позволившие решать ещё больший спектр задач по распараллеливанию приложений. В 3.1 целый ряд улучшений по работе с задачами и редукциями.

Но по сравнению с тем, что нам теперь даёт стандарт 4.0, предыдущие нововведения кажутся какими-то мелкими. Последняя версия расширила типы поддерживаемого параллелизма, чего раньше никогда не замечалось.
Поясню, что я хочу сказать.

Потоки — это Goto параллельного программирования

Reading time6 min
Views39K
Сразу раскрою мысль, вынесенную в заголовок. Использование потоков (также именуемых нити, треды, англ. threads) и средств прямой манипуляции ими (создание, уничтожение, синхронизация) для написания параллельных приложений оказывает столь же пагубное влияние на сложность алгоритмов, качество кода и скорость его отладки, какое вносило использование оператора Goto в последовательных программах.
Как когда-то программисты отказались от неструктурированных переходов, нам необходимо отказаться от прямого использования потоков сейчас и в будущем. И так же, как каждый из нас использует структурные блоки вместо Goto, вместо потоков должны использоваться структуры, построенные поверх них. Благо, все инструменты для этого появились во вполне традиционных языках.
Автор фото: Rainer Zenz
Читать дальше →

Ассембли 2013

Reading time2 min
Views26K
На этих выходных в Финляндии проходил легендарный компьютерный фестиваль Assembly 2013. Во время 76-часовой онлайн трансляции AssemblyTV мы могли наблюдать за одним из самых больших компьютерных фестивалей в мире, который ежегодно посещают более 5.000 участников, а также более 200 волонтеров работают над его организацей.

Ассембли это мероприятие для геймеров, демосценеров и любого кто интересуется цифровой культурой.

Трансляция открыта для всего интернета. С её помощью мы можем в живую следить за событиями в Hartwall Areena, виртуально присутствовать на интересных семинарах, смотреть конкурсы на лучшее демо и интро, наблюдать за графическими и музыкальными соревнованиями, участвовать в обсуждении демок в студии AssemblyTV с известными личностями демосцены, смотреть интервью со спонсорами и живые концерты.

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

Рад представить вам несколько демо из номинантов этого года:

1k — intro


Участвуют демки с максимальным размером до 1 килобайта(!).



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

Принципы организации портфолио дизайнера

Reading time5 min
Views108K

Рисунок найден в сети (автор неизвестен) и доработан напильником...

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

Можно ли как-то повлиять на мнение заказчика? – Да, можно, и даже более того – необходимо!

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

12 правил плохого менеджера

Reading time4 min
Views125K


Никогда не планируйте


Проект, как правило, делается сам собой, вырастает, как дерево: главное — вовремя посадить семена и удобрить почву. Разве вы когда-нибудь встречали чудака, который будет прикидывать, насколько вырастет за год дерево, которое он посадил? Правда в том, что планирование никогда еще никому не помогло сделать хороший проект. Точные сроки — это лишняя ответственность и ненужная головная боль. Диаграммы Ганта — для слабаков. Забудьте о них.

Еще 11 практических советов

Введение в теорию магии

Reading time8 min
Views57K
Первая статья из цикла «Теория магии» носит обзорный характер. Ее цель — сформулировать основные вопросы рассматриваемой дисциплины преимущественно на качественном уровне, а так же разъяснить, какие принято выделять субдисциплины, и как аспекты, находящиеся в центре их внимания, связаны между собой.
Читать дальше →

История создания торрент-рендера для 3ds max

Reading time5 min
Views62K


Всем привет, хочу поведать хабру об одном необычном сетевом сервисе и процессе его разработки. Но сперва пару слов непосредственно обо мне — я прикладной программист MAXScript (это встроенный в 3ds max скриптовый язык), а 3ds max это один из популярнейших пакетов для создания разнообразной 3d-графики и в нем, естественно, есть такая штука как рендеринг, из-за которой собственно все ниженаписанное и делалось.

Идея


Начался процесс с одной идеи, которая пришла мне в голову совершенно внезапно поздней ночью 30 ноября 2010 года и вылилась на следующий день вот в такой пост на форуме 3dcenter.ru:
01/12/2010, 12:49
Пришла эта мысль в голову и не вылазит. Хочу обсудить с сообществом полезность и целесообразность. Основную часть технических подробностей пока опускаю, но сделать сие вполне реально либо в качестве плагина (SDK), либо даже скрипта (MAXScript).
Итак, смысл в том, чтобы бесплатно (или не очень) использовать чужие компы для рендера своих сцен. Есть система рейтинга, т.е. нельзя долго рендерить свое («качать»), но не рендерить чужое («раздавать»). Для тех, кто боится, что его сцены или текстуры будут использовать чужие нехорошие люди, предусмотрена защита — координаты всех объектов сцены изначально обнуляются, правильные координаты шифруются и передаются на рендер отдельным файлом, текстуры бьются на маленькие квадратики и собираются в одну тоже только перед рендером. Показ самой визуализации (VFB) можно отключить, т.е. человек даже не видит, что он рендерит. Аналогичные действия происходят и после рендера — изображение автоматически разбивается на кусочки (либо просто перемешиваются пиксели по какому-то закону) и собрать его правильно можно только на стороне автора сцены. Для альтруистов есть возможность отключения защиты, т.е. сцена с барахлом передается в свободном доступе. Защита может быть и другая, и вообще все что я пишу еще до конца не обдумано — только варианты.

Ну вот в общем как-то так, прошу не кидаться помидорами, и, если велосипед я не изобрел, то обсудим, насколько вообще жизнеспособна эта идея.
Читать дальше →

Хэл Финни: Биткоин и я

Reading time4 min
Views34K
Я тут подумал, что стоит написать о последних четырех годах, полных событий как для меня, так и для Биткоина.

Для тех, кто меня не знает, я — Хэл Финни. Я начал свой путь в криптографии с работы над ранней версии PGP, бок о бок с Филом Циммерманом. Когда Фил решил основать PGP Corporation, я был среди первых нанятых. Я бы и работал над PGP до самой пенсии. В то же время я связался с криптопанками (Cypherpunks). Я держал первый анонимный ремейлер с шифрованием, среди прочего.
Читать дальше →

Boids — простой алгоритм перемещения групп юнитов

Reading time3 min
Views33K
Во время разработки клона одной игрушки мне понадобилось перемещать группы юнитов от одной планеты к другой. Первое что пришло в голову — заспавнить юниты один за другим и двигать их по прямой. Но это выглядело не очень весело, кроме того — нужно было как-то обходить планеты. После беглого ознакомления с алгоритмами группового перемещения я решил попробовать Boids. В итоге получилось такое:



Под катом описание алгоритма с примерами кода.

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

BitTorrent выпустит мобильное приложение для организации peer-to-peer видеотрансляций

Reading time1 min
Views21K


Не так давно Брэм Коэн объявил о создании новой версии протокола BitTorrent. На Хабре уже писали, что эта технология получила название BitTorrent Live и предназначена для организации видеотрансляций через пиринговые сети.

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

История запуска игры в социальных сетях

Reading time5 min
Views34K

Под конец весны 2013 года, я описывал историю плохого старта на Google Play. Пока с iOS заминки, решили закинуть игру в ВК и ОК. В статье я хочу поделиться особенностями запуска приложения под соц-сети, и расскажу про возникшие проблемы до и после релиза.
Читать дальше →

Пару слов о распознавании образов

Reading time13 min
Views314K
Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
image

Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.
Распознать

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

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

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

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

Обучение OpenCV каскада Хаара

Reading time8 min
Views199K
На хабре уже есть несколько статей и про то, что такое каскад Хаара (раз, два, три). Есть даже одна, где затронут процесс обучения, но в отношении описанной задачи. На тему обучения есть пара неплохих статей на английском (первая, вторая, третья), но, на мой взгляд, они путанные: либо рассказывают очень мало, либо слишком много и обо всём — выделить нужную мысль сложно.
image
В этой статье я попробую показать, как обучить каскад с нуля за несколько часов, натренировав на поиск простого предмета в видеопотоке (примером будет очаровательная сова с фотографии). Все обучающие выборки и программы будут приложены.
Зачем всё это нужно? Каскад Хаара это один из простейших способов распознавания классов объектов с большой скоростью работы. К ним относятся лица и руки людей, номера автомобилей, пешеходы. Детектором Хаара просто находить животных в кадре (кстати, удивительно, что я не видел ещё ни одной автоматической кормушки для синиц на raspberry pi). К тому же, готовые реализации OpenCV есть под большинство существующих систем (даже для blackfin'a встречал). Всё это делает Хаара одним из самых удобных методов, позволяющих решать задачи видеообработки даже людям, которые никогда не работали с обработкой видео.
Читать дальше →

Восстановление лиц по отражению в зрачке

Reading time2 min
Views59K


Учёные из университета Глазго и университета Йорка (Великобритания) опубликовали работу с описанием техники поиска «скрытых» лиц на фотографиях по отражениям в зрачке. Авторы исследования считают, что этот метод можно использовать для криминалистической экспертизы. Например, в зрачках на фотографии жертвы может оказаться лицо преступника. Кадры с фотоаппарата, изъятого в процессе расследования, тоже можно изучать для восстановления картины произошедшего.
Читать дальше →

Программу NameTag для распознавания лиц правозащитники назвали «жуткой»

Reading time2 min
Views166K


Новое приложение для смартфонов NameTag позволит проверить любого прохожего в социальных сетях и на сайтах знакомств. Увидели девушку в баре, навели камеру — и узнали имя и фамилию, возраст и где учится. Ещё удобнее, если у вас очки Google Glass, тогда проверять профили ещё проще.
Читать дальше →

Мозг обрабатывает изображения за 13 миллисекунд

Reading time2 min
Views72K


Нейробиологи из Массачусетского технологического института установили минимальное время, в течение которого человеку нужно показывать изображение, чтобы мозг сумел его обработать. Показатель равен 13 миллисекундам. Это значительно меньше, чем предполагалось. Раньше учёные оценивали время обработки информации примерно в 100 миллисекунд.

Во время эксперимента испытуемым предлагалось сигнализировать, если они увидят определённый тип картинки, такой как «пикник» или «улыбающаяся пара», при этом им демонстрировали серию из 6 или 12 изображений с промежутком 13-80 миллисекунд. На иллюстрации выше показан образец такой последовательности кадров.
Читать дальше →

Изобретаем JPEG

Reading time28 min
Views178K

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

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

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

Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
Читать дальше →

USB-«свисток» на 2.4Ггц своими руками

Reading time3 min
Views92K

Пока первые посылки с нашими модулями едут к своим покупателям, мы подготовили статью, которая поможет им их собрать (если приобретался набор для самостоятельной сборки) или же снять вопросы по схемотехнике (если приобретены модули в сборе). На фото — наш USB-адаптер, который можно приобрести как в виде конструктора, так и полностью собранным и готовым к работе.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity