Pull to refresh
44
0
Igor Demyanov @DisDis

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

Send message

Изменение библиотеки libdc1394 для поддержки нужной камеры

Reading time3 min
Views2K
Когда разговор заходит о свободном программном обеспечении, то одним из аргументов «за» является возможность самому вносить изменения в код. Мне лично кажется, что конечного пользователя такая возможность волнует мало. И дело может быть не только в отсутсвии навыков программирования, но и просто в непонимании, что это возможно.

В этой статье я кратко опишу свой опыт «допиливания» библиотеки libdc1394 под себя, а вернее под ту камеру, с которой я работаю. Предполагаю, что статья может быть интересна тем людям, которые еще сами никогда ничего не подправляли в сторонних библиотеках и тем, кому приходится иметь дело с firewire камерами в линуксе.
Поехали
Total votes 54: ↑48 and ↓6+42
Comments15

Ample SDK — Javascript GUI библиотека. Обзор

Reading time5 min
Views6K
Ample SDK logo Доброго времени суток, %username%.
Представляю твоему вниманию анонс Ample SDK, новой кросс-браузерной библиотеки интерфейса пользователя.

Познакомиться с проектом Ample SDK тебе будет интересно по следующим причинам:
  • упрощает создание клиентских веб-приложений
  • реализует стандартные веб технологии и API кросс-браузерно
  • повторяет архитектуру веб-браузера (ничего нового учить не надо!)
  • позволяет использовать SVG в HTML (также в Internet Explorer, хм!?)
  • позволяет использовать XUL в любом современном браузере
  • позволяет легко определять новые доменно-зависимые UI технологии
  • проект с открытым (MIT/GPL) исходным кодом (на GitHub)

Для затравки, один и тот-же SVG Tiger документ отображенный в Internet Explorer 6 и Google Chrome 3:

SVG Tiger в Internet Explorer SVG Tiger в Google Chrome

Интересно?
Читать дальше →
Total votes 97: ↑93 and ↓4+89
Comments45

Повышение качества javascript кода. JSLint

Reading time6 min
Views31K

Случилось так, что в последнее время мне пришлось читать и рефакторить очень много ужасного javascript-кода. Работа с таким кодом стоит очень многих нервов при сопровождении, да и писать/отлаживать такой код не приятно. Мысли о том, что заставляет людей писать плохой код и как с этим можно бороться заставили меня писать эту статью. Не претендую на сколь-нибудь полное раскрытие темы борьбы за качество кода, хочу рассмотреть лишь некоторые аспекты, доставляющие наибольшее количество проблем. В качестве основного инструмента оптимизации качества кода предлагаю использовать JSLint, который несмотря на все плюсы, не является панацеей и может служить лишь отправной точкой для дальнейшего улучшения кода.

Всех у кого хоть раз болела голова при написании/чтении javascript кода прошу под кат.
Читать дальше →
Total votes 94: ↑90 and ↓4+86
Comments107

Очередная порция расширений для Google Chrome

Reading time2 min
Views3.3K
Очередная порция расширений для браузера Google Chrome.

— Google Tasks
— Gmail Checker
— Google Reader Checker
— Vkontakte Toolbar
— Cleeki




UPD. Спасибо за карму. Перенес в соответствующий блог
UPD2. Сайт с расширениями постиг хабраэффект
UPD3.Все кроме Reader Checker залил сюда slil.ru/28124675. Распаковывать в C:\Users\*Имя пользователя*\AppData\Local\Google\Chrome\User Data\Default\Extensions\ не канает %(

Подробнее
Total votes 99: ↑90 and ↓9+81
Comments107

Поддержка HTML 5 DOM Storage

Reading time4 min
Views17K
Одним из значительных нововведений в Internet Explorer 8 является поддержка технологии DOM Storage, которая представляет собой часть новых технологий грядущего стандарта HTML 5. Dom Storage (или как его еще называют Web Storage) – это механизм, который призван предоставить разработчику возможность хранить набор данных значительного объема на стороне клиента и получать к ним доступ с помощью специального API. На данный момент, полная поддержка DOM Storage реализована в браузерах Firefox 3.5 (с 2.0 существует частичная поддержка), Safari 4.0 и Internet Explorer 8, в котором эта поддержка появилась с версии beta2. Рассмотрим, что представляет собой эта технология, для чего она нужна и как работает.
Читать дальше →
Total votes 68: ↑58 and ↓10+48
Comments70

Последние расширения Chrome

Reading time2 min
Views16K
image

В своём первом топике, решил привести описания интересных расширений, вышедших за последнее время. Быть может именно их не хватает тем, кто не решается перейти до сих пор на Google Chrome :) Кто знает…
Читать дальше →
Total votes 92: ↑81 and ↓11+70
Comments180

OpenGL ES: Перемещение в 3D

Reading time9 min
Views33K
В Сидней практически пришла зима — и я умудрился подхватить грипп (простой, не свиной). А тут еще работа, день Матери и пр. и пр. Одним словом, ввиду недостатка времени двигаться будем быстро. Но прежде чем приступать к созданию «уникального» трехмерного мира, освоим концепции перемещения в 3D пространстве.

Нам предстоит освоить код обработки событий, который позволит ходить «по полу». С помощью касаний мы будем поворачивать влево, вправо, перемещаться вперед и назад. Обойдемся без бега, поворотов головы и наведения резкости, хотя добавить их легко. Подобные ограничения объясняются как желанием упростить изложение, так и возможностью для не располагающих iPod Touch или iPhone добиваться аналогичных результатов в симуляторе.

Для начала загрузим основу проекта здесь.

Кода там не много — в основном объяснения, что и как происходит.

Мифическая камера


Большинство воспринимает 3D миры как пространство, на которое смотришь через камеру, но в OpenGL камеры как таковой нет. Для иллюзии движения по сцене относительно начальной точки (0, 0, 0) перемещаются объекты, а не камера, как в кино.

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

Чтобы немного упростить работу, к уроку я приложил удобную игрушку от «большого брата» OpenGL ES — библиотеки GLU: я имею в виду функцию "gluLookAt()".
Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments21

Основы работы с OpenGL ES 2.0 на iPhone 3G S

Reading time7 min
Views17K
Одно из самых приятных нововведений в iPhone 3GS — более быстрая и мощная графическая платформа с поддержкой OpenGL ES 2.0. К сожалению, информации от Apple о том, как именно задействовать открывшиеся возможности, крайне мало. Практически для всех API у них есть отличная документация с образцами кодов, но проблема в том, что в случае с OpenGL примеры всегда оставляли, мягко говоря, желать лучшего.

Более того, начинающим работу с OpenGL ES 2.0 не предлагается ни базовых примеров, ни шаблона XCode. Чтобы воспользоваться расширенными графическими возможностями, придется осваивать их самостоятельно. Не стоит ошибочно полагать, что OpenGL ES 2.0 — незначительно доработанная версия OpenGL ES 1.1 с парочкой новых функций. Отличия между ними кардинальные! Конвейер с фиксированными функциями исчез, и теперь для отображения на экране обычного треугольника понадобится более глубокое знакомство с основами компьютерной графики, включая шейдеры.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments28

Виртуальные функции и деструктор

Reading time6 min
Views168K
Когда-то давным давно я собирался и даже обещал написать про механизм виртуальных функций относительно деструкторов. Теперь у меня наконец появилось свободное время и я решил воплотить эту затею в жизнь. На самом деле эта мини-статья служит «прологом» к моей следующей статье. Но я постарался изложить доходчиво и понятно основные моменты по текущей теме. Если вы чувствуете, что еще недостаточно разобрались в механизме виртуальных вызовов, то, возможно, вам следует для начала прочитать мою предыдущую статью.

Сразу же, как обычно, оговорюсь, что: 1) статья моя не претендует на полноту изложения материала; 2) мегапрограммеры ничего нового здесь не узнают; 3) материал не новый и давно описан во многих книгах, но если явно об этом не прочитать и самому специально не задумываться, то можно о некоторых моментах даже не подозревать (до поры, до времени). Также прошу прощения за надуманные примеры :)

Все-таки интересно?
Total votes 48: ↑40 and ↓8+32
Comments66

Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

Reading time2 min
Views7.6K
Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

Итак, что же мы имеем: чистый CSS, без единой картинки, без JavaScript (хотя и с ним, для демонстрации, тоже сделаем), с анти-аллиасингом (то есть плавные переходы), прозрачные углы (то есть в фоне может быть что угодно), тянущийся по высоте и ширине и, конечно же, кроссбраузерный метод.

Не томи
Total votes 123: ↑116 and ↓7+109
Comments75

GIT для пользователей subversion (и др scm)

Reading time4 min
Views6.1K
Git это еще одна системы для управления исходным кодом, аналогичная subversion, cvs и другим. Почему аналогичная, а не «новая», «быстрая» и тп? SCM (source code management) прежде всего инструмент, который позволяет выполнять операции необходимые для одного разработчика и команды в целом. При каждый инструмент имеет свои достоинства и недостатки.

В этой статье мы сосредоточимся на основных функциях, без сравнительного анализа (чтобы не повторять миллионы заметок в web). И покажем пример, как применять git при работе с subversion.
Читать дальше →
Total votes 76: ↑71 and ↓5+66
Comments53

TuxOnIce в *ubuntu 9.04

Reading time3 min
Views4.7K
Что такое TuxOnIce? Это проект, ранее называвшийся suspend2, пытающийся сделать быстрый и стабильный hibernate для Linux.
Что такое hibernate? Если вы не знаете, что это, то hibernate = спящий режим (Win XP) = гибернация (гыгы) (Vista). Это запись содержимого физической памяти на жесткий диск и полное выключение компьютера, после которого можно запустить систему и продолжить работу.
Подробнее о Tux On Ice можно почитать на официальном сайте

В этой статье я хочу рассказать, как заставить работать TuxOnIce на популярном ныне дистрибутиве Ubuntu (с его модификациями, естественно).
Надо заметить, что из коробки в Убунте работает hibernate (просто suspend-to-disk), при том достаточно стабильно. Тут описано, как вместо него начать использовать более фичастый TuxOnIce, основной профит от которого — ускорение процесса и возможность наблюдения за происходящим.

Читать дальше →
Total votes 36: ↑30 and ↓6+24
Comments63

ECMAscript 5: Обьекты и Свойства

Reading time8 min
Views12K
ECMAScript 5 идёт по своему пути. Воскреснув из пепла ECMAScript 4, который был ужат обратно к ECMAScript 3.1, который далее был вновь назван ECMAScript 5 (подробнее) — он приходит с новым слоем функциональности, построенным на базе нашего любимого ECMAScript 3.

Анонсировано несколько новых API, включённых в спецификацию, но самая интересная функциональность заключена в коде обьектов и свойств. Этот новый код дает возможность существенно влиять на то, как пользователи смогут взаимодействовать с объектами, позволяя обеспечить геттеры и сеттеры, предотвратить перечисление, манипуляции, или удаление, и даже предотвратить добавление новых свойств. Короче говоря: Вы будете иметь возможность повторить и расширить существующий набор API для JavaScript (например, DOM), с помощью JavaScript (не используя более ничего).
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments12

Q4wine — установка Windows-игры в Wine в картинках

Reading time2 min
Views26K
В этой статье я опишу установку Windows-игры в Wine через Q4Wine.
Для примера я возьму TrackMania Nations Forever.

Я думаю, что Q4Wine у вас уже установлен. Если нет, посетите страничку программы, или возьмите из GIT-репозитория.
Ебилды для Gentoo доступны в оверлее qting-edge.

Итак,
Читать дальше →
Total votes 67: ↑63 and ↓4+59
Comments51

Архитектура REST

Reading time4 min
Views903K

Введение


В русскоязычной части Интернета присутствует большое количество статей, посвященных веб-службам на основе SOAP и XML-RPC, но почему-то почти ничего нет про вполне заслуживающую внимания (но менее распространенную) архитектуру RESТ.

В данной статье описываются основы этой архитектуры, возможности и примеры её использования.

Читать дальше →
Total votes 85: ↑78 and ↓7+71
Comments75

Как конвертировать файловую систему из ext3 в ext4

Reading time2 min
Views10K
Теперь у всех есть новая Убунту с поддержкой ext4, и в моём прошлом посте о его релизе было несколько комментариев с вопросами о том, как переделать файловую систему в этот самый ext4. По этому отличному поводу я решил перевести топик с wiki.kernel.org, где как раз про это написано. Перевод совсем вольный, разбавленный моими собственными мыслями. Кстати, про все новые плюшки ext4 можно почитать по-английски теперь по-русски здесь, а еще в новой статье yktoo вот здесь!
О, там интересно!
Total votes 63: ↑54 and ↓9+45
Comments55

Jabber WebCam Bot

Reading time4 min
Views2.4K
Эта идея пришла мне как-то случайно. Получить снимок с вэб камеры, которая находится дома, находясь на работе или в другом городе и при этом не расшаривать камеру через вэб… И не коннектиться по ssh… Забавно… Что, если получить его одним запросом в джаббере! Звучит бредово, но я занялся реализацией этого бреда!
Читать дальше →
Total votes 69: ↑68 and ↓1+67
Comments30

CUDA: Начало

Reading time4 min
Views72K

Это первая публикация из цикла статей об использовании GPGPU и nVidia CUDA. Планирую писать не очень объемно, чтобы не слишком утомлять читателей, но достаточно часто.
Читать далее...
Total votes 53: ↑44 and ↓9+35
Comments62

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity