Sunday, November 6, 2011

Мелочи о Radeon и не только

В автоматическом режиме никогда не устанавливается минимальный уровень потребления по умолчанию, если судить по сообщению на сайте freedescktop причина прозаична некоторые карты после этого не работают.

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

Разработчикам MESA и Gnome удалось достигнуть интересного прогресса в разработке программного рендеринга, теперь его можно будет использовать для стандартной верии третьего гнома требующего поддержки OpenGL обещают еще проработать и ускорить его чтобы при подключении програмного рендеренга использовался немного упращенные эфекты когда видеокарта не тянет. Также собитаються создать упрощенную программую реализацию DRI модуля для случая когда нет реальной видокарты или поддердки 3d ускорения на уровне видокарты чтобы через нее выполнять простейшие операции копировани проецирования областей памяти для вывода изображения и избежать лишнего копирования данных. 

Разработчики Ubuntu обсуждают возможность создания абстрактого интерфейса скрывающего реальный вариант интерфейса OpenGL (OpenGL 2.0 vs  OpenGL ES) и подключающего нужный вариант или эмулируя нужный вариант на уровне этого интерфейса - это позвоит использовать упрошенную версию когда полная реализация не нужна или не возможна. 

Android Air Scanner

Создал маленькое приложение под Android. Основной смысл его это получить уровни сигналов и видимость передатчиков для все доступных для Android видов источников. Интерфейс у приложения отсутствует - есть только большое текстовое поле - с которого нельзя копировать.
  • Для мобильных вышек, WiFi получить оказалось не очень сложно, пришлось конечно по разбираться в документации, но все же. 
  • Для общей статистики по подключениям тоже удалось получить какую-то информации - вообщем-то сомнительной ценности, что там нужно мне пока не понятно - вывожу чтобы было. GPS почему не хочет выдавать видимые спутники и включаться.
  • Bluetooth,NFC- я пока решил не трогать они уж очень близкого действия.
  • FMRadio - непосредственно в классическом андроиде поддержки нет. Есть сторонние реализации с интерфейсом которых я не разбирался - GPS интереснее пока. 
Жаль только что в эмуляторе работает только общая информация о сети - WiFi не включается и сеть(точнее не полная эмуляция сети, можно получить только оператора) никаким образом не эмулируеться.

Saturday, October 29, 2011

ScriptCoverage

Гугл открыл код нового расширения для своего браузера показывающего какой код вызывался, правда в необычной манере. На главной странице проекта нет ссылки на загрузку дополнения и инструкции как установить, сразу идет ссылка на загрузку кода. Но в вики проекта есть описание как его запустить и в коде есть скрипт с примечательным названием build.py. Краткая инструкция как его запустить:

  • Грузим исходник:
    $ git clone https://code.google.com/p/script-cover/
    Cloning into script-cover...
    remote: Counting objects: 47, done.
    remote: Finding sources: 100% (47/47), done.
    remote: Total 47 (delta 12)
    Unpacking objects: 100% (47/47), done.
    
  • Запускаем сборку, подгружаются не достающее исходники(используется closure compiler), и все собирается:
    $ cd script-cover/
    $  python build.py 
    Running command: svn checkout http://closure-library.googlecode.com/svn/trunk/ closure-library
    Running command: java -jar SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --outputPathFormat build_gen/src/coverage_report.soy.js src/coverage_report.soy
    Running command: java -jar SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --outputPathFormat build_gen/src/popup.soy.js src/popup.soy
    Running command: closure-library/closure/bin/build/closurebuilder.py --root=src --root=closure-library --root=build_gen --output_mode=compiled --output_file=build/content_compiled.js --compiler_jar=compiler.jar --input=src/scriptLoader.js --input=src/instrumentation.js --input=src/startTool.js
    Running command: closure-library/closure/bin/build/closurebuilder.py --root=src --root=closure-library --root=build_gen --output_mode=compiled --output_file=build/background_compiled.js --compiler_jar=compiler.jar --input=src/showCoverageHelper.js --input=src/background.js
    Running command: closure-library/closure/bin/build/closurebuilder.py --root=src --root=closure-library --root=build_gen --output_mode=compiled --output_file=build/inject_compiled.js --compiler_jar=compiler.jar --input=src/backgroundInteraction.js
    Running command: closure-library/closure/bin/build/closurebuilder.py --root=src --root=closure-library --root=build_gen --output_mode=compiled --output_file=build/popup_compiled.js --compiler_jar=compiler.jar --input=src/popup.js --input=src/background.js
    
  • В хроме выбираем Tools->Extensions(или chrome://extensions/) , включаем Developer Mode и выбираем загрузку не упакованных расширений и выбираем папочку build.
  • После этого расширения появляется в toolbar-е и мы немного ждем результатов анализа - и радуемся:-)
  • И выключаем его после теста чтобы не занимался не нужным анализом.

ADSL все еще не opensource

​Как много изменилось с предыдущего поста на эту тему. К этому модему уже научились припаивать второй USB порт, вторую антенн, COM и WAN порт. Жаль только что ADSL все нет, хотя частично есть спецификации и есть часть не GPL исходного кода c прошивок других устройств(об этом можно почитать на форуме OpenWrt).

Monday, October 24, 2011

Графики на html таблицах

Маленький js код для показа графиков как html таблиц(чтобы выглядело как обычная картинка). Реализация рисования на canvas не столь интересна - так она работает не во всех броузерах - а так любой браузер может показать график с выключенной погрузкой картинок и возможно даже так мы экономим для простых картинок трафик:-)

Инструкция по установке Selenium на Windows

  • Скачать с http://seleniumhq.org/download/ Selenium Server и запустить 'java -jar selenium-server-standalone-2.8.0.jar' и запустить, должно написать что-то вида:
    18.10.2011 12:00:46 org.openqa.grid.selenium.GridLauncher main
    INFO: Launching a standalone server
    12:00:46.970 INFO - Java: Sun Microsystems Inc. 20.1-b02
    12:00:46.980 INFO - OS: Windows XP 5.1 x86
    12:00:47.020 INFO - v2.8.0, with Core v2.8.0. Built from revision 14056
    12:00:47.440 INFO - RemoteWebDriver instances should connect to: http://127.0.0.
    1:4444/wd/hub
    12:00:47.440 INFO - Version Jetty/5.1.x
    12:00:47.450 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
    /driver]
    12:00:47.450 INFO - Started HttpContext[/selenium-server,/selenium-server]
    12:00:47.450 INFO - Started HttpContext[/,/]
    12:00:47.571 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@110b05
    3
    12:00:47.581 INFO - Started HttpContext[/wd,/wd]
    12:00:47.631 INFO - Started SocketListener on 0.0.0.0:4444
    12:00:47.631 INFO - Started org.openqa.jetty.jetty.Server@1027b4d
    
  • Установить python http://www.python.org/download/ Python 2.7.2 Windows Installer
  • Установить PIP. Нужно запустить http://python-distribute.org/distribute_setup.py затем https://raw.github.com/pypa/pip/master/contrib/get-pip.py . И запустить  
    C:\Python27>python.exe get-pip.py
    Downloading/unpacking pip
      Downloading pip-1.0.2.tar.gz (105Kb): 105Kb downloaded
      Running setup.py egg_info for package pip
    
        warning: no files found matching '*.html' under directory 'docs'
        warning: no previously-included files matching '*.txt' found under directory
     'docs\_build'
        no previously-included directories found matching 'docs\_build\_sources'
    Installing collected packages: pip
      Running setup.py install for pip
    
        warning: no files found matching '*.html' under directory 'docs'
        warning: no previously-included files matching '*.txt' found under directory
     'docs\_build'
        no previously-included directories found matching 'docs\_build\_sources'
        Installing pip-script.py script to C:\Python27\Scripts
        Installing pip.exe script to C:\Python27\Scripts
        Installing pip-2.7-script.py script to C:\Python27\Scripts
        Installing pip-2.7.exe script to C:\Python27\Scripts
    Successfully installed pip
    Cleaning up...
    
  • Установить Selenium:
    C:\Python27>Scripts\pip.exe install -U selenium
    Downloading/unpacking selenium
      Downloading selenium-2.8.1.tar.gz (2.9Mb): 2.9Mb downloaded
      Running setup.py egg_info for package selenium
    
    Downloading/unpacking rdflib==3.1.0 (from selenium)
      Downloading rdflib-3.1.0.tar.gz (249Kb): 249Kb downloaded
      Running setup.py egg_info for package rdflib
    
    Installing collected packages: selenium, rdflib
      Running setup.py install for selenium
    
      Running setup.py install for rdflib
    
    Successfully installed selenium rdflib
    Cleaning up...
    
  • Проверить работоспособность скрипта http://pypi.python.org/pypi/selenium#example
  • Соединение между сервером тестирования (jar апплет) и скриптом тестирования(python) идет по обычному http так что запуск браузера можно проверить и без скриптов.

Thursday, October 13, 2011

yac2011

Интересные доклады (http://yac2011.yandex.ru/archive2011/video1/):

  1. http://video.yandex.ru/users/ya-events/view/375/#hq Зачем обычному программисту знать языки, на которых почти никто не пишет. Алексей Воинов, Яндекс
  2. http://video.yandex.ru/users/ya-events/view/377/#hq Разработка приложений для Android на С++. Юрий Береза, Shturmann
  3. http://video.yandex.ua/users/ya-events/view/380/#hq Beyond HTML5. Charles McCathieNevile, Opera Software