Реальное (матрица) разрешение 640х480, видео до 30 к/с.
Kubuntu 7.10 распознал камеру сразу и подгрузил модуль gspca.
Камера замечательно работает в Skype и kopete.
Запись в avi через mencoder - отлично.
Вобщем доволен :)



Linux, Internet технологии, программирование на PHP, Python
VirtualBox 1.5.6 (released 2008-02-19)
Итак, как вы наверное знаете, большинство пользователей интернета не читают строчку за строчкой, а «сканируют» текст, перемещаясь от одной точки к другой. По этой причине, дизайнеры создают типографические контрасты, чтобы подчеркнуть определенный текст. Контраст важен по тому, что не всё содержание страницы имеет одинаковое значение, одно более важно, чем другое. Создавая контрасты, вы можете направить внимание читателя на важные сообщения и в тоже время повысить привлекательность внешнего вида страницы. Вот семь основных методов как добиться типографического контраста.Читать дальше...
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.Читать дальше...
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
- данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
- все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
- советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
- в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.
Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.Читать дальше...
Для успешного выполнения всех заданий необходимо иметь базовые знания python, однако, Qt знать не обязательно. Я использую linux в этих примерах и я предполагаю, что вы уже имеете работающий Python и PyQt.
function srvAdd($MethodName, $Params, $AppData)Любая функция, регистрируемая на xml-rpc сервере, должна принимать 3 параметра:
{
return $Params[0]+$Params[1];
}
2. Создаем XML-RPC сервер вызовом функции
function About($MethodName, $Params, $AppData)
{
$sAbout="ekXMLRPCServer Class v0.9.5\n (c) 2008 Klek\n Author: Eugene Klepikov\n Email: ";
return $sAbout;;
}
//-----------------------------------------------------------------------------
class ekXMLRPCServer
{
private $srvh=null;
private $xmlRequest="";
private $response="";
private $about="";
private $help="";
private $userData=null;
private $arOutOptions=array(
"output_type" => "xml",
"verbosity" => "pretty",
"escaping" => array("markup", "non-ascii", "non-print"),
"version" => "xmlrpc",
"encoding" => "iso-8859-1"
//"encoding" => "utf-8"
);
//-----------------------------------------------------------------------------
function __construct()
{
$this->srvh=xmlrpc_server_create();
$this->registerMethod("system.about", "About");
$this->registerMethod("help", "help");
}
//-----------------------------------------------------------------------------
function __destruct()
{
xmlrpc_server_destroy($this->srvh);
}
//-----------------------------------------------------------------------------
function registerMethod($methodName, $functionName)
{
xmlrpc_server_register_method($this->srvh, $methodName, $functionName);
}
//-----------------------------------------------------------------------------
function request($Request)
{
$this->xmlRequest=$Request;
}
//-----------------------------------------------------------------------------
function run()
{
$this->response=xmlrpc_server_call_method($this->srvh, $this->xmlRequest, $this->userData, $this->arOutOptions);
print $this->response;
}
//-----------------------------------------------------------------------------
}
>>> import xmlrpclib
>>> server = xmlrpclib.Server("https://www.mydomain.ru/xmlrpcserver.php")
>>> server.Add('10', '15')
>>> 25
>>>
>>> server.Array("Peter")
>>>['Peter', 'Hello, Peter. How are you today?']
>>> server.Dict("Peter")
>>>{'name': 'Peter', 'greeting': 'Hello, Peter. How are you today?'}
>>>server.system.listMethods()
>>>['system.listMethods', 'system.methodHelp', 'system.methodSignature', 'system.describeMethods', 'system.multiCall', 'system.getCapabilities', 'Uptime', 'Array', 'Dict', 'Add']
Под Linux существует множество довольно интересных игр, но что делать, если хочется поиграть во что-нить новенькое, 3D-ое, которое обычно выпускается только под ЗлоОС :(
Есть несколько вариантов выйти из положения:
1) Использовать нативные версии игр, выпущенные специально под Linux. К таким играм относятся, например, игры компании idSoftware (все помнят Quake4, Doom3, Enemy Territory: Quake Wars), за что им отдельное спасибо.
2) Использовать эмуляторы Wine или Cedega. Wine поддерживает множество виндовых программ и игр, но к сожалению не поддерживает DirectX 9, а ведь именно эту библиотеку используют многие современные игры. Cedega в этом плане немного опередила Wine - добавив у себя поддержку DirectX 9, но в плане юзабилити Cedega очень и очень придирчива к тому, что она запускает (реально запустить под Cedega у вас получится всего пару игр).
Ну что же, будем исправлять положение, установим поддержку DirectX 9 для Wine.
Устанавливаем последнюю версию wine. Для этого добавим себе официальный репозиторий Wine HQ для Ubuntu 7.10wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg-O- | sudo apt-key add -
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/winehq.list
и устанавливаем wine
sudo apt-get update
sudo apt-get install wine
Если у вас уже установлен wine, то для чистоты эксперимента, удалите папку с настройками wine (или перенесите ее в другое место):rm -dr ~/.wine
1. Для создания папки с настройками, в первый раз, запускаем конфигуратор wine:
winecfg
2. Теперь ищем в интернете или, если у вас установлен на компе ЗлоХП, копируем из папки windows\system32\ файлы mscoree.dll и streamci.dll в папку ~/.wine/drive_c/windows/system32/
3. Удаляем wine'ские файлы d3d:
cd ~/.wine/driver_c/windows/system32/
rm d3d8.dll d3d9.dll ddraw.dll dsound.dll dsound.vxd quartz.dll dxdiagn.dll
4. Редактируем файл user.reg:
gedit ~/.wine/user.reg
в конец файла вставляем:
[Software\\Wine\\DllOverrides] 1196330736
"d3d8"="native"
"d3d9"="native"
"d3dim"="native"
"d3dx8"="native"
"d3dxof"="native"
"dciman32"="native"
"ddrawex"="native"
"devenum"="native"
"dinput"="native"
"dinput8"="native"
"dmband"="native"
"dmcompos"="native"
"dmime"="native"
"dmloader"="native"
"dmscript"="native"
"dmstyle"="native"
"dmsynth"="native"
"dmusic"="native"
"dplay"="native"
"dplayx"="native"
"dpnaddr"="native"
"dpnet"="native"
"dpnhpast"="native"
"dswave"="native"
"dxdiagn"="native"
"mscoree"="native"
"quartz"="native"
"streamci"="native"
5. Распаковываем последнюю версию DirectX (скачать последнюю версию можно отсюда):
wine directx_nov2007_redist.exe
6. Выбираем папку куда распакуются файлы, после распаковки переходим в эту папку и запускаем установку:
wine DXSETUP.EXE
7. Снова запускаем конфигуратор wine:
winecfg
7.1. Переходим на вкладку 'Библиотеки', выбираем из ниже приведенного списка названия библиотек, нажимаем редактировать и выбираем пункт 'Встроенная (Wine)'d3d8, d3d9, ddrawex, dinput, dinput8
8. Запускаем диагностику DirectX:
wine dxdiag.exe
8.1. В окне диагностики переходим на вкладку 'Дисплей' и выполняем тест 'Проверка Direct3D'.
Если все тесты прошли успешно, то все отлично, теперь у вас в wine есть поддержка DirectX 9, с чем я вас и поздравляю!!! Теперь запускайте ваши любимые игры и наслаждайтесь, но учтите, даже с поддержкой dx9, многие игры до сих пор еще не работают в wine.
P.S. Различные нюансы по запуску нужной вам игры вы можете посмотреть в базе приложений Wine HQ.
Отсюда...Основной темой IT-изданий по-прежнему остается судьба интернет-гиганта Yahoo!. Microsoft объявила о намерении приобрести компанию за 44,6 миллиарда долларов, что на 62 процента выше рыночной стоимости портала. Казалось, что MS сделала предложение, от которого нельзя отказаться (сделка сулит выгоды обеим сторонам: объединенная компания будет контролировать почти треть американского поискового рынка, общая прибыль составит более 17 миллиардов долларов, а экономия от такого слияния оценивается в $1 млрд. ежегодно), однако в Yahoo взяли паузу.
Возможная покупка Yahoo! корпорацией Microsoft больше всего не по душе Google, который считает, что такая сделка поднимает «тревожные вопросы», связанные с «фундаментальными принципами Интернета — открытостью и новаторством». Защищать эти принципы Google намерен различными способами, в том числе и с помощью лоббистов в Вашингтоне.
В Yahoo! считают, что Microsoft недооценила компанию, сообщили два неназванных источника Reuters. Google в свою очередь пообещал Yahoo! любую помощь в попытках «отбиться» от Microsoft.