Wednesday, February 17, 2010

Прогресс развития

 Миникс - расширяет базу пользователей - похоже решили пойти по пути linux, созданного позже и рожденного с его помощью, уже получившего значительное распространение по сравнению с хоть не родным, но все же отцом.
 Но он реально нужен, так как хоть и медленно развивается в академических кругах в основном, позволяет протестировать идеи выноса на пользовательский уровень вещей выполняемых обычно в ядре - 20 лет назад это мало кого интересовало кроме людей науки, а теперь почти все ос в той или иной степени реализует ее:
  1. Seven, Vista - вынесли графику в пользовательский уровень.
  2. Linux - потихоньку движемся к случаю, когда в ядре остаются только задачи контроля и управления доступом к устройствам, и полностью пользовательского уровня генератор понятных абстрактному интерфейсу, общему для всех, команд вывода графики и файловые системы не критичные для системы в  FUSE.
Также он получил пакетный менеджер и уже почти готов для использования в повседневной жизни(много портировано, графика работает, а что еще в общем то нужно).

Беос - доказательство, что иногда хорошая идея бессмертна - не хватило денег, не повезло с популярностью - но идея жива и энтузиазм жив - и вполне позволяет получить: компьютер для человека без ненужных украшательство, а не человек для компьютера - раб новых требований и пожирателей ресурсов. Приятно иметь унифицированный неизменный интерфейс для всех операции. Под эту ос не программировал, но работает быстро даже без дров и многие вещи работаю гораздо комфортнее и до сих пор не устарели. По общему впечатлению очень должна быть похожа творение Джобса(хотя им опять таки мне попользоваться не удалось только чтение описаний и особенностей - но по стилю очень похоже). Правда это вполне логично: так как создатель этой ос тоже был связан с Apple. В общем война не проиграна, проиграна лишь битва, а и идея жива.

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

ReactOs - тоже сильно продвинулись, решились обьеденить свои наработки по реализации win32 и проекта wine, а не переписывать все как в windows. Надеюсь вскоре ее можно будет использовать как запускалку Windows игр, там где Wine не подходит.

Sunday, February 7, 2010

Прогресс с поддержкой 3d в linux

Или до обновлялся теперь 3d работает быстрее, но появились очень интересные особенности: в QuakeII мигает отображение, в кубе втором отсутствуют стены и пол. В общем еще немного подождать и все будет работать. Надеюсь ждать осталось недолго.
P.S.S.: При отключении эффектов рабочего стола QuakeII не мигает и нагрузка не процессор значительно меньше(сейчас любое 3d приложение сильно нагружает процессор).

Hybrid graphics on linux

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

Если судить по информации, что я имею:
  • эта технология нормально работает только в Vistе - есть нормальные драйвера и поддержка производителей ноутбуков;
  • для XP отсутствует поддержка в графической системе переключения;
  • Seven - есть только сентябрьский драйвер находящийся в вечной бете - хотя вполне рабочий, но вечно удаляемый системой, так она считает его устаревшим и без вопросов удаляет. И работает только самая слабая видеокарта и на второй стоит отметина проблемы инициализации. И если в биосе переключить нельзя - то никак уже не подключишь.
P.S. Hybrid graphics(оно же: PowerXpress(ATI), HybridPower(Nvidia)) - это когда системе присутствует более одной видеокарты и при смене нагрузки или питания происходит переключение видеокарты: при низкой нагрузке работает интегрированная видеокарта с низким потреблении энергии, если нужна большая производительность или дополнительные выходы(HDMI например, хотя для основных они могут кросится и сами, работает мощная, но вывод идет через выходы более слабой) включается более мощная.

symfony

  • Получить в форме значение поля - работает в обоих случаях для нового объекта установили значение по умолчанию (через setDefault) и в случае редактирования существующего объекта: $form['имя поля']->getValue();
  • Если нужно получить значение от select с установленным multiple нужно чтобы имя заканчивалось [] иначе получим только первое значение вместо списка. 

Thursday, January 14, 2010

Особенности WebKit

Обнаружил интересную особенность браузеров удостоенных на WebKit: если js функции вызываются не в порядке объявления, то возникает исключение при попытке их вызвать на обработку события(Uncaught ReferenceError: somefunc is not defined). В ff все работает нормально он может вызывать функции, если они объявлены в другом порядке(хотя бы в одном файле).

Причиной по моему мнению является: (хотя бы для Chrome звучит правдоподобно) попытка браузера перед выполнением(на этапе парсинга) перевести весь js во внутренний байт код - в результате чего он может сразу выявить и заменить вызовы функций на их адреса и проверить корректность кода с проверкой корректности использования свойств объектов. (Выдать ошибку, если у объекта не какого-то свойства к которому обращаются - то есть: есть проверка типов для объектов с однозначно определяемым типом).

Пояснение об изначальных данных - была страница на которой не срабатывали нажатия на кнопки в Safari, при однозначном возврате из функции(alert('A');return;) до вызова функции идущего ниже по коду все работает, без возврата исключение при вызове функции(сообщается что функции не определена).

P.S.: В обычном состоянии исключения не показываются нужно открыть окно отладки(инспектор элементов).

Sunday, December 13, 2009

3D ускорение на radeon3200

Включение 3d ускорения на r600 для ubuntu 9.10 Karmic Koala.

Добавляем в дополнительный источник в репозиторий:
  • xorg-edgers. Это позволит установить последнюю версию mesa.
    Версия установленная по умолчанию имеет одну неприятную особенность отсутствует библиотека поддержки r600, хоть версия mesa 7.6 уже содержит поддержку. Но установка полной версии, в моем случае ничего не дала - только отключила поддержку программного рендеренга и выдавала ошибку рендеренга - неправильный порядок пакетов. В новой версии эта проблема решена.
  • и установить новое ядро отсюда:
    2.6.32, для 64 битной платформы нужно установить пакеты:


    • linux-headers-2.6.32-020632-generic_2.6.32-020632_amd64.deb
    • linux-headers-2.6.32-020632_2.6.32-020632_all.deb
    • linux-image-2.6.32-020632-generic_2.6.32-020632_amd64.deb



Как результат 1432.709 FPS в glxgears, и glxinfo:
direct rendering: Yes
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RS780 9612) 20090101  TCL
OpenGL version string: 1.5 Mesa 7.7-rc2. 


Но пока в quake2 играть с opengl нельзя достаточно чувствительно притормаживает. Но прогресс очевиден:-)

Sunday, November 29, 2009

Иcправление DTD

Некоторые пакеты генерируются документацию через xmlto которая в свою очередь проверяет xml на валидность, иногда там прописаны более новые файлы чем установленные в дистрибутиве, чтобы исправить это мелкое неудобство можно использовать такой скриптик:
list=`grep 'OASIS//DTD DocBook XML V4.4' * -r | sed 's/:/ /' | awk '{print $1}'| grep '.xml'`
for file in $list
do
    sed -i 's/DTD DocBook XML V4.4/DTD DocBook XML V4.2/' $file
    sed -i 's/http\:\/\/www.oasis-open.org\/docbook\/xml\/4.4\/docbookx.dtd/http\:\/\/www.oasis-open.org\/docbook\/xml\/4.2\/docbookx.dtd/' $file
    echo 'fix for '$file'done'
done