Хабрахабр:
Привет. Мы решили выложить тридцать четвертый выпуск Macspoon Podcast на Хабр, не побоявшись мифической нелюбви многих читателей Хабра 1) к подкастам и 2) компании Apple. Мы надеемся на ваше хорошее настроение перед предстоящими длинными праздниками и отсутствие иррационального желания нажать на минус любому подкасту. Немного истории: Macspoon Podcast начал свое существование в сентябре 2007 года вместе с блогом macspoon.ru, но потом у него был довольно продолжительный период молчания. 22 декабря 2010 года у подкаста началась новая жизнь. С тех пор мы с Максом записали семь выпусков и останавливаться пока не собираемся. Если вам интересны подкасты в принципе и вы любите компанию Apple, Macspoon Podcast имеет все шансы вам понравиться. Если вы фанат Android, то мы вас, скорее всего, будем бесить. Тема выпуска ?37 ? презентация iPad 2. Также мы обсудили судьбу iOS, Android и Microsoft. Тема весьма опасная для Хабра, но мы объяснили, почему, с нашей точки зрения, будущее Android весьма туманно. Оно есть, но совсем не такое, как у iOS. Если вы не согласны, приглашаем вас выразить свое мнение в комментарии, а не голосовать минусом. Спасибо! Всякие ссылки: RSS подкастa. Раздел подкаста на блоге. Твиттер: @macspoon.
В первой части нашей темы мы рассмотрели решение задачи static RMQ за (O(nlogn), O(1)). Теперь мы разберёмся со структурой данных, называемой дерево отрезков, или интервалов (в англоязычной литературе ? segment tree или interval tree). С помощью неё можно решать dynamic RMQ за (O(n), O(logn)). Определение Введём понятие дерева отрезков. Для удобства дополним длину массива до степени двойки. В добавленные элементы массива допишем бесконечности (за бесконечностью стоит понимать, например, число, больше которого в данных ничего не появится). Итак, дерево отрезков это двоичное дерево, в каждой вершине которого написано значение заданной функции на некотором отрезке. Функция в нашем случае ? это минимум. Каждому листу будет соответствовать элемент массива с номером, равным порядковому номеру листа в дереве. А каждой вершине, не являющейся листом, будет соответствовать отрезок из элементов массива соответствующих листам-потомкам этой вершины. Читать дальше →
Тот браузер, который поставляется с системою Android, показывает системную строку статуса (в которой часы, индикаторы батареи и будильника, значки соединений и уведомлений) только на время закачки очередной страницы, а в остальное время развёртывает читаемую страницу на весь экран, чтобы ничего не мешало чтению. А вот браузер Firefox не обладает этим немаловажным достоинством. И чем меньше разрешение экрана по высоте (особенно в альбомном положении), тем досаднее выглядит строка статуса, тем сильнее мешает она чтению. К счастью, как только в каком-то другом браузере обнаруживается полезная особенность, которой недостаёт Файерфоксу, так сразу и появляется предприимчивый программист да выпускает такое расширение для Файерфокса, установкою которого можно невозбранно достигнуть желаемого. Так вышло и на сей раз: Matt Brubeck выпустил расширение Full Screen, переводящее мобильный Firefox в полноэкранный режим. В меню предусмотрен переключатель, включающий и отключающий полноэкранность (см. скриншот). У этого расширения я подметил два достоинства: во-первых, оно весит всего ничего (5 килобайтов с небольшим), а во-вторых, оно применяется мгновенно (не требует перезагрузки мобильного Файерфокса). Так что всем вам его рекомендую.
Заменил я недавно свою XP на Windows 7. Установил, порадовался и решил послушать музыку и посмотреть видео. И тут начались странные вещи. Звук стал каким-то грубым. Звук стал иногда подтормаживать. Звук стал выдавать короткие пшики при прокрутке фильма на другое время. Далее. Я обычно сижу в наушниках, аудиокарта у меня Sound Blaster X-Fi и я очень люблю ее фичу ? CMSS 3D, которая очень хорошо создает объемный звук в наушниках, причем создает везде ? в играх, в фильмах ? не важно в чем. А тут объемность не то что пропала, но как-то сплющилась, звуков из-за спины вообще не стало слышно. Начал я разбираться. И выяснил просто потрясающие факты. Есть такая вещь, DirectSound ? часть мультмедийного фреймворка DirectX. Это звуковой интерфейс, которым пользуются 90% игр и 100% медиаплееров. Именно на этом интерфейсе работают EAX, CMSS-3D и вообще все фичи современных аудиопроцессоров. И, как выясняется, в Windows Vista/7 переписали аудиостек так, что DirectSound по сути просто перестал работать. То есть, он больше не поддерживает никаких фич аудиокарт, а эмулируется процессором. Дамы и господа, это просто замечательно ? Майкрософт одним махом убила свой собственный DirectX, а также всю эволюцию аудиокарт вроде Creative SoundBlaster. Эволюция EAX от 1 до 5 версии, CMSS-3D, звуковой процессор EMU20K1 с 51 миллионом транзисторов ? все это стало бесполезными кусками железяк и байтов. В результате Creative вынуждена выпускать дикие костыли вроде Creative Alchemy, которая поддерживают ограниченное число игр и кое-как переводят DirectSound-запросы на OpenAL (новый мультиплатформенный аудиоинтерфейс). Креатива надеется, что в будущем все перейдут на OpenAL, но я, например, не знаю ни одного медаплеера, который работает на OpenAL, хотя Виста была выпущена 4 года назад. Порадуемся же за операционные системы Майкрософт, одним из достоинств которых была совместимость. Теперь этого достоинства больше нет. UPD: Как выяснилось, CMSS-3D в плеерах можно вернуть, если вместо DirectSound-вывода поставить WaveOut. Ну, хоть что-то.
Сегодня я попробую без nVidia 3D Vision, специальных очков и 120Hz монитора добиться настоящего 3D картинки. Работа будет произведена с помощью графической библиотеки GLScene для Delphi/Lazarus/Borland C++ на ПЭВМ с посредственными характеристиками. Вы можете повторить указанные действия, используя фотоаппарат, программы с функцией моделирования 3D изображения (например, MathCAD, Maya, etc) или любым GAPI. В конце статьи мы должны получить объемное изображение вне монитора, к которому можно будет ?прикоснуться?. Это не революция в технологиях, а простой стереоскопический эффект, который в быту является небольшой, но полезной для зрения забавой. Читать дальше →
Disclaimer: Данный пост написан мною как частным лицом. Этот пост не имеет никакого отношения к моему текущему месту работы. Игры достаточно важная часть моей жизни, но не слишком значимая. Очень много времени я посвятил разработке игр. Сейчас я мало отвожу времени играм и желаю употреблять лучшее. Конечно я не стесняюсь платить за то, что мне приносит удовольствие. За последние 5 лет я просмотрел много игр, но те, за которые мне захотелось бы заплатить были в меньшинстве. Платить за игру, которая надоедает через 10 минут ? бессмысленно. Такие разработчики надеяться только на рекламу и неосведомленных покупателей. Поэтому я выделил определенный список разработчиков, которым я готов платить деньги за их труд. Потому, что он доставляет мне удовольствие. В их число входила компания Valve. Half-Life был шедевром. А Half-Life 2 тоже очень хорошим продуктом. Как только выходила новая игра от Valve я знал, что её надо покупать. Дело не в том, что я не мог скачать игру с торентов. Я мог. Но я хотел поддержать компанию. И все ровно, что большинство знакомых играет в пиратки ? мне игра нравится ? я за неё плачу. И буду надеятся что они выпустат версию под линух;) Читать дальше →
Привет всем хабровчанам! Сразу хочу сказать, что, хотя тема не ?Hello world?, но рассматриваемая задача довольно проста и приведена здесь на Хабре скорее в качестве средства экономии времени для разработчиков, которым, возможно, надо будет поработать с XML-ответами от web-сервисов. Для XML-разбора я использовал DOMparser (я знаю и про SAXParser, конечно) как это привычно для меня в PHP. У Приватбанка (Украина) имеется API, с которым можно ознакомиться здесь. После изучения его становится ясно, что сервис достаточно информативный и было бы удобно иметь на мобильном устройстве средство общения с ним. Посмотрим как можно опросить этот сервис и получить такую избитую, но иногда полезную информацию как актуальный курс валют. После прочтения топика, в принципе, не составит труда написать и другие полезные функции. Читать дальше →

Отписаться от этой рассылки